Release 26.3.0
· 11 min read
This release contains an important security fix for all users of the sync server. We suggest you update as soon as feasible.
This release also includes several user-facing improvements and performance work, along with numerous other fixes:
-
Reports: now accessible via the command bar
-
Bank sync: UX improvements to the account linking flow, as well as API support for balance updates
-
Tags: Support for managing tags via the API
-
Performance and responsiveness improvements
-
Custom themes: bar/pie chart theming support, simpler custom-theme CSS variables, and a new high-contrast light theme.
Docker Tag: v26.3.0
Version: v26.3.0
Features
- #6702 Adds "Back" button to reports config pages — thanks aelxxs
- #6746 Adds API support to manage tags (
getTags,createTag,updateTag,deleteTag). — thanks pouwerkerk - #6909 add theme variables for bar/pie chart pieces for custom themes — thanks Karimkodera
- #7028 Adds Dominican Peso (DOP) currency — thanks csuriel
Enhancements
- #6629 Add ability to specify custom starting date and balance when linking new bank sync accounts — thanks StephenBrown2
- #6690 Implement missing logic for refill template type — thanks jfdoming
- #6692 Add limit/refill automation editors — thanks jfdoming
- #6748 Month-year dates are now correctly formatted without a comma, e.g., "January 2026" instead of "January, 2026" — thanks TDurrr1
- #6798 automatically sign out on token expiry — thanks saahiljaffer
- #6834 Add filter option for category groups — thanks bonroyage & ericparton
- #6844 Import nYNAB scheduled transactions into Actual schedules — thanks StephenBrown2
- #6846 Add South Korean Won to list of currencies — thanks jintakhan
- #6850 Add bank sync option to allow overwriting dates with the bank's value. — thanks kleinweby
- #6857 Add Catppuccin Themes to custom theme catalog — thanks noahjalex
- #6866 Apply tag colors to match YNAB flags when importing from nYNAB — thanks StephenBrown2
- #6880 Migrate payee and account state management from Redux to React Query for improved performance. — thanks joel-jeremy
- #6891 Add "You Need A Dark Mode" custom theme to the theme catalog — thanks distantvapor
- #6896 Add option to hide reconciled transactions using the mobile interface — thanks adastx
- #6900 Added Butterfly custom theme — thanks samekh248
- #6915 The Account API now allows
balance_currentto be set, making balances visible for reconciliation when using custom importers. — thanks totallynotjon - #6941 Migrate tag management from Redux to React Query for improved state handling and performance. — thanks joel-jeremy
- #6957 Refactor dashboard data fetching to use React Query for improved performance and maintainability. — thanks joel-jeremy
- #6958 Improve error handling in category server app and React Query mutations for better clarity. — thanks joel-jeremy
- #6960 Include category groups on transaction export — thanks yzAlvin
- #7002 Add reports to command bar — thanks bonroyage
- #7012 When covering overspending the initial focus should be on the category, not the amount. — thanks Dagur
- #7018 Custom themes: allow using simple CSS variables — thanks MatissJanis
- #7032 🎨 High-contrast (7.0:1 or higher) light theme. — thanks Juulz
Bugfixes
- #6346 Fix sync-server migrations to use ESM loader — thanks jgranick
- #6765 Simplified compact view handling for more consistent CashFlow behavior — thanks MatthiasBenaets
- #6812 The app now checks your preferred browser languages in order and uses the first one we support, otherwise English. — thanks elevennprime
- #6843 Fix double negative sign in budget summary amounts — thanks StephenBrown2
- #6845 Fixing Widget Delete button translation issue — thanks namos2502
- #6849 Fix report card tooltips from being obscured by adjacent widgets — thanks MatthiasBenaets
- #6858 Update DesktopLinkedNotes so links stay inline — thanks Juulz
- #6875 Budget Analysis Fix: correct date range calculation for card view — thanks tabedzki
- #6878 Avoid duplicate category import errors in YNAB5 importer — thanks StephenBrown2
- #6905 Fix crash when setting a rule date field and leaving it empty — thanks rznn7
- #6911 Fix Ctrl+Enter losing amount value when adding transaction — thanks xaviuzz
- #6914 Fix feedback link for budget analysis report experimental flag. — thanks diepala
- #6922 Fix template balance carryover handling in the tracking budget — thanks youngcw
- #6925 Prevent past missed schedule dates from being marked as upcoming — thanks rznn7
- #6942 Update
sendfunction to propagate any errors and fixcatchErrorsto return the error in result when an unknown command/method is sent to the browser server. — thanks joel-jeremy - #6945 Fix mobile budget amount inputs when hide decimal places is enabled — thanks piyush-1337
- #6953 Fix react query cache not being cleared when switching budgets — thanks joel-jeremy
- #6966 Prevent single-slash paths from being parsed as filepaths — thanks PratikSilwal5
- #6968 Correctly calculate the net worth change value on the first month of the report. — thanks PratikSilwal5
- #6983 Fix status bar color synchronization on iOS Safari by enhancing theme color management. — thanks MatissJanis
- #6993 Fix arithmetic expression parsing so operators with the same precedence (
*//,+/-) are evaluated left-to-right. — thanks HadiAyache - #7007 Fix redirect to accounts page when no accounts exist, improving user experience. — thanks joel-jeremy
- #7030 Hide selected accounts in the filter. — thanks mnil
- #7031 Fix missing tooltip on imported payee column in rule result window — thanks danielalanbates
- #7048 Change menuAutoCompleteTextHover color to green400 in Midnight theme. — thanks Juulz
- #7067 Validate file IDs for correctness — thanks jfdoming
- #7076 Fix server migrations when running on Windows — thanks MikesGlitch
- #7081 Mobile: adjust rules list for better alignment and full-width container display. — thanks MatissJanis
- #7084 API: fix module resolution — thanks MatissJanis
- #7103 Fix bugfix categorization in contributor points counting script — thanks matt-fidd
Maintenance
- #5977 Move redux state to react query - category states — thanks joel-jeremy
- #6140 Migrate account state management from Redux to React Query with updated hooks. — thanks joel-jeremy
- #6481 ci: update contributor point counting script to account for PR authors — thanks MatissJanis
- #6721 lint: fix low-hanging fruit violations — thanks MatissJanis
- #6757 Refactor useTransactions hook to utilize react-query for improved transaction data fetching. — thanks joel-jeremy
- #6784 Enhance bug report template with clearer structure and detailed reproduction requirements for users. — thanks MatissJanis
- #6796 lint: disallow importing theme files directly — thanks MatissJanis
- #6801 typescript: port arithmetic.ts to strict TS — thanks MatissJanis
- #6805 lint: add "import/consistent-type-specifier-style" rule — thanks MatissJanis
- #6820 Use consistent color variables for desktop budget pages, both envelope and tracking. — thanks Juulz
- #6840 Switch to node alpine docker image — thanks matt-fidd
- #6861 Generalize
findSortDownandfindSortUpfunctions to accept any type withid: string. — thanks joel-jeremy - #6862 Refactor modal closing behavior to improve code clarity and eliminate eslint disable patterns. — thanks joel-jeremy
- #6863 Fix react-hooks/exhaustive-deps in in PayeeTable — thanks joel-jeremy
- #6864 Fix react-hooks/exhaustive-deps in DateSelect — thanks joel-jeremy
- #6867 Fix type safety issues and react-hooks/exhaustive-deps errors in CustomReport — thanks joel-jeremy
- #6868 Fix react-hooks/exhaustive-deps in ImportTransactionsModal — thanks joel-jeremy
- #6874 Adding more components to the Storybook docs & improving storybook caching — thanks MikesGlitch
- #6882 Migrate category state management from Redux to React Query, updating hooks and components accordingly. — thanks joel-jeremy
- #6883 Add Electron build artifacts to TypeScript configuration excludes to improve compilation efficiency. — thanks joel-jeremy
- #6910 Automated the Flathub release PR to be draft until we publish the main release. — thanks MikesGlitch
- #6924 Styling updates to the design system, reorganization and additional component docs — thanks MikesGlitch
- #6928 Remove duplicate type definition for CrossoverData — thanks jonner
- #6936 Add refetchOnSync option to useTransactions hook to consolidate duplicate sync-event handling logic. — thanks joel-jeremy
- #6940 Add remaining component-library components to design system docs — thanks MikesGlitch
- #6943 Rename fetch module to connection, simplifying imports and reducing confusion with native fetch. — thanks joel-jeremy
- #6951 Refactor report data fetching to utilize React Query for improved performance and reliability. — thanks joel-jeremy
- #6955 Upgrade oxlint and oxfmt — thanks MatissJanis
- #6963 Add Claude Code Pro subscription benefit details for core contributors in documentation. — thanks MatissJanis
- #6964 Establish mandatory [AI] prefix for commit messages and PR titles in AGENTS.md documentation. — thanks MatissJanis
- #6965 Add Architecture Decision Records documentation page with bank sync credential storage example. — thanks MatissJanis
- #6969 Fix some low-hanging-fruit
@ts-strict-ignore— thanks jfdoming - #6970 lint: convert warnings to errors — thanks MatissJanis
- #6984 lint: introduce type-aware linting — thanks MatissJanis
- #6985 config: update how CodeRabbit handles 'suspect ai generated' labels — thanks MatissJanis
- #6987 lint: fix typescript/await-thenable and typescript/no-floating-promises issues — thanks MatissJanis
- #6989 Add structured sections to the pull request template for standardized submissions. — thanks MatissJanis
- #6992 Address some more low-hanging fruit for ts-strict-ignore — thanks jfdoming
- #7009 Refactor
useAccountsto return full query states, enhancing data handling across components. — thanks joel-jeremy - #7013 Mid-month dependency bump — thanks matt-fidd
- #7019 TypeScript: individual tsconfig files per package, running via lage — thanks MatissJanis
- #7020 Bump isaacs/brace-expansion — thanks matt-fidd
- #7021 Bump playwright/test — thanks matt-fidd
- #7022 Bump recharts — thanks matt-fidd
- #7033 Remove usage of 'web' file types — thanks MatissJanis
- #7052 Bump version number — thanks MatissJanis
- #7058 Rename 'Okabe Ito' theme to 'Color-blind (dark)'. — thanks Juulz
- #7087 Remove 'suspect ai generated' label and delete associated workflow for streamlined labeling system. — thanks Copilot
- #7088 Add Cursor Cloud setup instructions and troubleshooting tips to AGENTS.md documentation. — thanks MatissJanis
- #7094 Add 'unfreeze' label that can be used to unfreeze PRs during the merge freeze — thanks MatissJanis
