v1.2.0
BudgetOS v1.2.0
Card/check account consistency, transfer form improvements, and optimizations.
New Features
- Card/check account consistency validation: When selecting a credit card, the account is auto-selected to match the card's linked account. Selecting a check auto-switches to a checking account. Mismatch warnings are shown with tooltip icons, and form submission is blocked if inconsistencies remain.
Improvements
- Transfer form payee logic: Payee field is now enabled when at least one side of a transfer is external, and disabled for internal-only transfers. Both source and destination can no longer be set to "external" simultaneously.
- Dynamic locale sorting: Replaced hardcoded French locale in
localeComparecalls with dynamici18n.languageacross Transactions, PlannedTransactions, Categories, and Payees pages. - Tooltip-based warnings: Account mismatch warnings use compact tooltip icons instead of inline alert banners for a cleaner form layout.
Bug Fixes
- Transfer payee disabled incorrectly: Fixed payee field being disabled when only a destination account was selected (should only disable when both accounts are internal)
- Double parentheses in disabled label: Removed duplicate parentheses in the disabled payee field text
- Array mutation in PlannedTransactions: Fixed
payees?.sort()mutating React Query cached data by using a spread copy - Tooltip clipping: Positioned account mismatch tooltip above the icon to prevent clipping by container overflow
- Test fixes: Fixed Layout component hardcoded version assertion and SearchableSelect createLabel prop in tests
- Dependency vulnerabilities: Patched 9 Dependabot-reported vulnerabilities