Athena — roomy-mobile/changelog.md

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.

Unreleased

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

Nog geen reacties