Prerelease 26.4.0
· 10 min read
Version: 26.4.0-pre
Features
- #6157 MVP for payee locations support, including YNAB5 import — thanks mannkind
- #6653 Add drag&drop reordering for transactions within the same day — thanks StephenBrown2
- #7188 Add a confirmation modal when users merge payees in /payees — thanks AsgerMogensen
- #7208 Actual-cli: tool for accessing your budget via the command line. Useful for AI agents — thanks MatissJanis
Enhancements
- #6414 Add the ability to use Formula Rules when setting the split amount. — thanks sjones512
- #6620 Add notes to monthly budget cell — thanks erwannc
- #6693 Display/save refill templates — thanks jfdoming
- #6903 Add a new budgeted type to the custom report widget. — thanks diepala
- #6972 Improve autocomplete sorting with tiered ranking for payee and category dropdowns — thanks J-LCRX
- #7005 Change Titlebar 'Sync' to syncing icon only to alleviate confusion with Bank Sync. Add disabled state and aria disabled label when offline. — thanks Juulz
- #7038 Introduce concentric donut chart for categories in custom reports — thanks karimkodera
- #7069 Converted Electron backups to zip with metadata.json for easy importing — thanks MikesGlitch
- #7071 Refactor account hooks to return full React Query states, enhancing data handling and component integration. — thanks joel-jeremy
- #7078 Add BUDGET_QUERY and QUERY_EXTRACT functions for formula-based budget analysis. — thanks sys044
- #7095 Add New Taiwan Dollar (TWD) to the list of available currencies. — thanks yhc0712
- #7101 Add an option to swap payee/memo when importing transaction from file. — thanks sylvercode
- #7111 Reload server version when visibility to the page changes — thanks MatissJanis
- #7139 Add "only import transactions since" to import dialog — thanks kivikakk
- #7144 Sort theme catalog items alphabetically by name for improved user interface organization. — thanks MatissJanis
- #7145 Custom Themes: separate light and dark theme options when selecting "system default" theme. — thanks MatissJanis
- #7151 Add "Notion-inspired Dark Mode" custom theme to the theme catalogue — thanks vcruzdesigns
- #7181 Enable strict linting for template expressions, ensuring better error handling and message clarity. — thanks MatissJanis
- #7194 Add light/dark mode specificity to custom themes — thanks MatissJanis
- #7207 Add admin and password authentication requirements for changing passwords in sessions. — thanks MatissJanis
- #7236 Custom Themes: allow adding custom overrides to themes via the textarea box — thanks MatissJanis
- #7239 Custom Themes: allow using a custom font — thanks MatissJanis
- #7240 cli: improved aql support — thanks MatissJanis
Bugfixes
- #6741 When filtering for accounts in e.g. the net worth graph the modal closes the filter tooltip so it's impossible to add e.g. accounts to the filter. — thanks mnil
- #6926 Import: added override option allowing users to control whether previously deleted (or merged) transactions are reimported. — thanks totallynotjon
- #7041 [Mobile] Show running balance on upcoming transactions when respective setting is toggled — thanks LeviBorodenko
- #7047 Make mobile account page colors more consistent — thanks Juulz
- #7057 Fix skipping schedules that move before weekend — thanks Triscal
- #7092 Stop font size fluctuations showing in summary cards — thanks matt-fidd
- #7118 Fix budget analysis report padding when the value is large. — thanks mnil
- #7125 Refactor error handling to isolate errors per account in SimpleFin batch synchronization. — thanks MatissJanis
- #7146 Fix migrations retrieval when running the docker images — thanks MikesGlitch
- #7149 Fix CSV import incorrectly parsing transaction amounts that contain trailing whitespace (e.g. amounts from Excel-saved CSV files). — thanks mibragimov
- #7152 Handle missing accounts in SimpleFin batch sync with localized error messaging for users. — thanks MatissJanis
- #7155 Fixed a privilege escalation issue affecting password changes — thanks MatissJanis
- #7166 Fixed a bug where selecting an item in autocomplete on mobile required two taps. — thanks Alieksieiev0
- #7172 Fix multi-tab sync by sharing a single backend via SharedWorker — thanks MikesGlitch
- #7177 Fix schedule link being lost when merging transactions — thanks okxint
- #7179 Number formatting: normalize apostrophe-dot thousands separator to U+2019 for consistency across Node/ICU versions. — thanks StephenBrown2
- #7185 Preserve explicitly provided transaction category when importing transactions with matching payee rules. — thanks api2062
- #7191 Fix Spending Analysis report to use tracking budgets when tracking budgeting is enabled — thanks pranayseela
- #7202 Fix navigator access error in Node.js environments by adding existence checks and defaults. — thanks MatissJanis
- #7219 Fix adm-zip dependency resolution in
@actual-app/core— thanks MatissJanis - #7245 Fix schedule advancement tracking by saving timestamps only on successful sync completions. — thanks dearlordylord
- #7264 This PR fixes a bug where the transaction context menu (right-click) would remain stuck on the screen if opened while a transaction cell was in edit mode. — thanks nathaliaacouto
- #7267 Fix mobile transactions view hiding older transactions when hiding reconciled transactions is enabled — thanks matt-fidd
- #7268 Fix transaction amounts sometimes not being saved when adding through the desktop view on a touch device — thanks matt-fidd
- #7272 Fixed an issue that prevented category's leftover from being able to cover an overbudgeted amount. — thanks JSkinnerUK
- #7274 Fixes a bug that prevented scheduled transactions from being included in the selected balance when selecting multiple transactions — thanks iaewing
- #7275 Fix a typo in the Repair Transactions paragraph — thanks tdavis6
Maintenance
- #6809 Remove cyclic dependency between API and loot-core — thanks MatissJanis
- #7044 Bump ajv dependency — thanks matt-fidd
- #7050 Remove reliance on the API package in YNAB importers — thanks MatissJanis
- #7051 TypeScript: strengthen schedule type — thanks MatissJanis
- #7053 TypeScript: move ImportTransactionsOpts from the api package to loot-core — thanks MatissJanis
- #7055 Lint: add "--quiet" flag to stop reporting warnings — thanks MatissJanis
- #7062 TypeScript: start using composite references — thanks MatissJanis
- #7073 Bump bn.js dependency — thanks matt-fidd
- #7074 Move some sync-server utilities to TypeScript — thanks jfdoming
- #7075 Move migrations CI script to typescript + ci-actions — thanks jfdoming
- #7091 TypeScript: clean up some types — thanks MatissJanis
- #7096 Fix API reference documentation discrepancies — thanks tifandotme
- #7104 Allow "unfreeze" workflow to work in fork PRs — thanks MatissJanis
- #7105 Add reference to AGENTS.md in CLAUDE.md for improved documentation connectivity. — thanks MatissJanis
- #7107 Skip AI-generated release notes for PRs originating from
release/*branches to avoid redundancy. — thanks jfdoming - #7117 Automatically publish to Flathub when the GitHub release is published — thanks MikesGlitch
- #7140 Bump
express-rate-limitdependency version from 8.2.1 to 8.3.0 for improvements. — thanks dependabot - #7141 Adding more retries to the Docker test in the pipeline — thanks MikesGlitch
- #7142 Refactor TypeScript typings by moving window import to globals.ts for cleaner configuration. — thanks MatissJanis
- #7153 Establish centralized AI governance documentation for commit and pull request standards. — thanks MatissJanis
- #7163 Lint: fix typescript/unbound-method issues — thanks MatissJanis
- #7168 Lint: fix 'typescript/no-floating-promises' and 'typescript/require-array-sort-compare' issues — thanks MatissJanis
- #7180 Refactor TypeScript build process to use project references for improved incremental builds. — thanks MatissJanis
- #7183 TypeScript: upgrade to tsgo — thanks MatissJanis
- #7184 Upgrade to Vite 8 — thanks jfdoming
- #7187 Remove
deep-equalpackage — thanks jfdoming - #7193 Elevate
typescript/no-for-in-arraylint rule from warning to error, refactor affected code. — thanks MatissJanis - #7195 Remove crdt import aliases in favour of package.json exports — thanks MatissJanis
- #7196 lint: enable more lint rules that should be fixed over time — thanks MatissJanis
- #7199 Fix documentation formatting by removing duplicated content for improved readability in accounts section. — thanks gaffneyd4
- #7200 Publish loot-core package and rename it to "actual-app/core" — thanks MatissJanis
- #7209 api: simplify bundling by removing loot-core type inlining — thanks MatissJanis
- #7222 Mid-month dependency update — thanks matt-fidd
- #7223 Bump react types — thanks matt-fidd
- #7224 Bump react-spring — thanks matt-fidd
- #7227 Migrate
get-next-package-version.jsto TypeScript — thanks jfdoming - #7229 Add Yarn constraints to ensure consistent dependency versions across all workspace packages. — thanks MatissJanis
- #7230 Run
yarn installwhen switching branches ifyarn.lockchanged — thanks MatissJanis - #7232 Remove development theme from all configurations and components across multiple packages. — thanks MatissJanis
- #7234 Bump GitHub actions versions — thanks matt-fidd
- #7248 Add post-merge hook to automatically install dependencies when yarn.lock changes after merges. — thanks MatissJanis
