Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Added (Backend — Spring Boot migration #379)
POST /api/households/{householdId}/members/remove — replaces removeHouseholdMember Cloud Function; atomically removes member, clears initialHouseholdId on the user, and deletes the household when the last member leaves (fixes orphaned-ref bug #370)
household_members table (V9 Flyway migration) to track household membership in PostgreSQL
GET/POST /api/households, GET/PUT/DELETE /api/households/{id} — full household CRUD
GET/POST /api/users, GET/PUT/DELETE /api/users/{id} — full user account CRUD
GET/PUT /api/users/{userId}/settings — user settings (notifications, language, theme)
POST /api/households/invites, invite CRUD, and lifecycle actions (accept, decline, cancel) replacing Cloud Functions
- Pending invite list endpoints:
GET /api/households/{id}/invites/pending and GET /api/users/{id}/invites/pending
- 39 new controller + service tests; total backend test count: 152
Changed (Backend)
- Flutter
BackendApiService.removeHouseholdMember updated to call POST /api/households/{id}/members/remove (was incorrect DELETE with different URL shape)
Fixed
- Notification consent: tapping the disabled toggle now triggers the OS-permission sheet again (#428)
- Notification preferences: first-time consent creates the Firestore document instead of silently dropping the response (#428)
- Shopping REST APIs / image flow: pattern-match
Success<T> so dart2js can statically narrow TurboResponse.result, unblocking the Deploy Hosting to Staging web build
1.2.0 - 2026-01-05
Added
- Notification permission consent flow with home screen banner (RMY-159)
- Staging environment support with dedicated Firebase configuration
- PLX spec-driven development workflow with archived specifications
Changed
- iOS Firebase initialization uses programmatic configuration instead of script-based copying
- Xcode schemes implement proper iOS flavors replacing shell script workarounds
Fixed
- Firebase duplicate-app error on iOS hot restart
- Verify email page open mail and resend button functionality
- Physical device connection to Firebase emulators on iOS
- CocoaPods version conflicts in CI builds
Technical
- Firebase SDK updated to 12.6.0
- dSYM upload scripts use environment-specific Firebase configs
- Codemagic workflows include FlutterFire CLI install step
- Internal Testers beta group added to staging workflow
1.1.0 - 2025-12-31
Added
- Push notification system for shopping list activity (RMY-159)
- Per-screen Maestro flows for app store screenshot automation
- Maestro flows for app store and play store screenshots (RMY-151)
Changed
- Migrated CI/CD workflow triggers from branches to tags
- Upgraded AGP and Gradle for AndroidX compatibility
- Moved popover controller from static to viewmodel in payments module
Fixed
- Period selection reactivity and capitalized month name in payments module
- Expense widget reactivity and datepicker functionality in home view (RMY-349)
- Full widget tree rebuild on locale change for proper localization (RMY-348)
1.0.1 - 2025-12-29
Added
- Automatic system language detection on first app launch for seamless localization
- Smart feedback system with GitHub integration for submitting issues directly from the app
- Shake device gesture (replaced triple-tap) to send feedback from any screen
- Visual indicator banner when viewing payments in read-only mode
Changed
- Payment details view: "paid" replaced with "receives" for better clarity
- "and X more" text in payment history now clickable for easier navigation
- Buttons properly disabled in read-only payment mode
- Receipt sheet padding improved for better viewing experience
- Home view item preview limits centralized for consistency
- Household members view redesigned with modern card layouts
- Feedback system enhanced with device information included automatically
- Screenshot workflow and documentation optimized
Fixed
- Owed amounts not updating properly on payment details view
- Legacy household invite acceptance with improved safety
- White screen issue in cleaning task details view
- Receipt preview errors for pending uploads
- Paid/owes logic by correctly setting payment creator
- Expense card description not updating on graph selection
- Payment split UI/logic duplication issues
- Payment subject field not being saved correctly
- Payment amount validation error display
- Increment buttons not updating when typing in amount field
- Amount field not prefilled when editing existing payments
- Lock icon visibility in payment split rows
- Fade gradient visibility in payment views
- Icons and borders in payment management views
- Receipt upload timing and state management
- Payment tap behavior for non-owned payments
- Nested sheet navigation issues
- Decimal input in payment amount field
- Dutch translation issues throughout the app
- Account deletion button allowing multiple submissions
- Resolved all Dart analyzer warnings
Security
- Improved payment access control - users cannot edit others' payments
Technical
- Support for 16 KB memory page sizes for Google Play compliance
- Updated Android Gradle versions (8.7/8.6/2.1)
- Removed unused Flutter l10n.yaml localization system
- Improved CI/CD workflows with staging and production pipelines
- Enhanced Firebase plugin compatibility and iOS dependency resolution
- Optimized character activity images (trimmed and resized PNGs)
- Refactored project documentation and architecture
- Added comprehensive unit tests for household invite system
- Improved cloud function architecture with service-based separation
- Enhanced error tracking with Firebase Crashlytics and PostHog
- GitHub Actions workflows for automated deployments and code review
1.0.0 - 2025-11-04
Added
- Shake device gesture to quickly send feedback from any screen
Changed
- Modernized home screen with improved card designs for shopping lists, cleaning schedule, roomies, and payment summaries
- Enhanced cleaning task management interface with clearer sections for task details, assignments, size selection, subtasks, and recurrence settings
- Added helpful descriptions to guide users through each section
- Improved payment interface with dedicated amount card for easier input
- Split method selector moved to split section for better organization
- Added visual feedback for disabled adjustment buttons with reduced opacity
- Optimized character images for faster loading
- Added new icons throughout the app
Fixed
- Critical white screen issue when viewing cleaning task details
- Payment subject field not being saved correctly
- Payment amount not showing validation errors properly
- Payment amount not appearing when editing existing payments
- Increment buttons not updating when typing in amount field
- Payment split calculations in edge cases
- Icons and borders in payment views
- Visibility issues with fade gradients in payment screens
- Lock icon visibility in payment split rows
- Resolved all code analyzer warnings
0.3.0 - 2025-10-19
Added
- Payment tracking for shared household expenses
- Receipt photos from camera or gallery
- Payment history view
- Charts showing spending over time and per person
- Filter charts by week, month, or year
- Split payments equally or set custom amounts per person
- Lock specific split amounts while adjusting others
Changed
- Payment amount displayed in dedicated card for better visibility and easier input
- Improved payment amount input with centered placeholder and large text styling
- Enhanced payment management UI with prominent amount display and adjustment buttons
- Split method selector moved to Split card for better visual grouping
- Count split method icon changed from "123" to division symbol for better clarity
Fixed
- Dutch translations for payment strings
- Navigation crash when opening payments tab
- Receipt upload creating orphaned files
- iOS and Android build configuration issues
0.2.4 - 2025-08-11
Added
- Firebase Crashlytics and PostHog integration for comprehensive error monitoring and crash reporting
- Smart toast duration based on text length for better readability
Fixed
- Critical household invite bugs including acceptance logic and request handling introduced in v0.2.3
- Android app name displaying as "roomy_flutter" instead of "Roomy"
- Dutch localization not refreshing when switching languages without app restart
- Camera button in Settings not working for updating profile pictures
- Splash screen double-logo appearance on native splash screens
- Firestore emulator connection issues when using Firebase emulators
- Username input placeholder showing confusing @ symbol
Technical
- CI/CD Pipeline with GitHub Actions for automated Firebase Hosting deployment and code review workflows
- Website performance optimizations
- Claude Code integration with PR assistant and code review automation
- Improved deployment processes and monitoring capabilities
0.2.3 - 2025-07-30
Added
- Household invite codes (4-character codes) for joining households
- Join request system for new members with admin approval workflow
- Improved invite flow with clearer messaging and visual feedback
Fixed
- Dutch translations with untranslated English text
- iOS splash screen showing white background instead of dark purple theme
- Keyboard handling in shopping list using direct context.unfocus()
- Invite system cleanup when accepting invites (pending invites/requests cancelled)
- Household invite categorization logic for proper display in invite lists
- Square app icon on Android splash screen by separating app icon and splash icon
Technical
- Optimized invite code lookup performance with dedicated Firestore collection (O(1) instead of O(n))
- Enhanced cloud function architecture with service-based separation of concerns
- Improved form validation with localized error messages
- Updated cloud functions to use Firebase logging instead of console statements
- Improved layout consistency in cleaning tasks with proper crossAxisAlignment
- Refactored cloud functions to use constants instead of hardcoded strings
- Added Makefile commands for common development tasks
0.2.2 - 2025-07-14
Fixed
- Subtask updating in cleaning tasks with improved real-time synchronization
- Subtask ordering maintaining consecutive order values when removing items
- Logout white screen issue with proper service reset implementation
- Dutch translation issues with missing translations
0.2.1 - 2025-07-06
Fixed
- CRITICAL: Logout white screen issue caused by race condition preventing return to login page
- CRITICAL: Email verification blocking onboarding due to Firebase Auth synchronization issue
0.2.0 - 2025-03-30
Added
- Cleaning task management with T-shirt sizing (XS to XXL)
- Task assignment to specific household members
- Task overview with progress tracking
- Task deletion from manage task view with confirmation dialog
- Reusable progress bar widget for tracking completion
Fixed
- Progress bar calculation for accurate subtask completion status
- Form validation and user feedback
- Enhanced error handling
Technical
- Updated core dependencies
- Streamlined codebase architecture
0.1.0 - 2025-04-17
Fixed
- Image selection cancellation (camera/gallery) incorrectly displaying error message for shopping list items
0.1.0 - 2025-04-16
Added
- Household invitations displaying specific household name in inbox
0.1.0 - 2025-04-10
Added
- Dedicated screens for household invitations with personalized welcome messages
- Ability to uncheck all items at once in shopping lists
- Improved household invitation experience with clearer messaging
- Enhanced visibility of invitation status
Fixed
- Unchecking all items sometimes failing
- Error handling for invitation flows
Reacties