Skip to main content

Prerelease 26.4.0

· 10 min read
Matt Fiddaman
Actual Budget Maintainer

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-limit dependency 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-equal package — thanks jfdoming
  • #7193 Elevate typescript/no-for-in-array lint 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.js to TypeScript — thanks jfdoming
  • #7229 Add Yarn constraints to ensure consistent dependency versions across all workspace packages. — thanks MatissJanis
  • #7230 Run yarn install when switching branches if yarn.lock changed — 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