Upcoming Release
info
These changes have been merged but are not yet part of a stable release. They
ship in the nightly builds — try them via the nightly Docker image tag, or the
hosted demo at nightly.actualbudget.org.
For changes in stable releases, see the Release Notes.
Features
- #6041 Add New Zealand bank sync via Akahu — thanks ItsThatDude
- #7919 Add ability to show or hide tags and added better handling of bulk tag actions — thanks alecbakholdin
- #7920 Add configurable average ranges to Monthly Spending report — thanks MattFaz
- #8017 Accounts with a failed bank sync now stay flagged as failed after reloading, instead of losing that status on refresh. — thanks jcam & MatissJanis
- #8166 api: add a browser build so
@actual-app/apican run in the browser (loot-core in a Web Worker). — thanks MatissJanis - #8200 Add an experimental mobile calculator for amount inputs — thanks tim-smart
Enhancements
- #7831 You can now sort categories within a budget group alphabetically (A→Z or Z→A) on desktop and mobile. — thanks davidbettis
- #7848 Introduced selector to "has tag" filter. Introduced new "has any tag" filter and renamed "has tag" to "has all tags" — thanks alecbakholdin
- #7883 When editing a transaction on mobile a new chip on the payee field now surfaces a lack of geolocation permissions. — thanks mannkind
- #7884 Balance Forecast can now use future tracking budget entries to project balances without relying on schedules. — thanks samaluk
- #7906 Automation UI: Add per-automation notes and a tooltip for budget page — thanks matt-fidd
- #7912 Add keyboard shortcut for overwrite templates — thanks youngcw
- #7922 Display a warning indicator in titlebar when browser does not support SharedArrayBuffer — thanks awaissaeed530
- #7945 Add IRR currency — thanks YoungMind1
- #7948 Add docs on how to use the stacked net worth graph. — thanks mnil
- #7954 Add trend line to line reports — thanks matt-fidd
- #7957 Improve Balance Forecast captions with ending balance and lowest point context. — thanks samaluk
- #7962 Fix visual issues in mobile transaction entry forms, enhancing styling and border consistency. — thanks MatissJanis
- #7989 Improve formulas based on user feedback — thanks lelemm
- #7990 Remove regex dependency from Excel formula execution for improved performance and reliability. — thanks lelemm
- #7993 Add Pakistani PKR currency — thanks awaissaeed530
- #7998 Add color variables so items added/updated show up bold and colored, if desired. Default behavior unchanged. — thanks Juulz
- #8026 Show a clear "update required" message instead of a cryptic
no such columnerror when an outdated client or API connects to a budget that uses a newer database schema — thanks MatissJanis - #8028 Add a Usage type selection for Enable Banking bank linking and forward the selected PSU type through the authorization flow. — thanks Nustinua
- #8060 Add Mexican Peso as usable currency — thanks youngcw
- #8079 Enable case-insensitive searching for payees and categories in autocomplete components. — thanks jdcorona96
- #8080 Automation UI: Improve scaling on various screen sizes and zoom levels — thanks matt-fidd
- #8088 Automation UI: Add warning when schedule/save by automation priorities don't match — thanks matt-fidd
- #8099 Automation UI: add mobile support — thanks matt-fidd
- #8150 Fix Cash Flow Report card text flashing by memoizing recharts animations — thanks Kennedy242 & MatissJanis
- #8102 The Actual CLI (
@actual-app/cli) is no longer marked as experimental. — thanks MatissJanis - #8214 Added Rose Pine, Rose Pine Moon and Rose Pine Dawn themes custom theme catalog — thanks PencilKnot
- #8162 [AI] feat(budget analysis report): Add Balance & Category selector — thanks tabedzki
- #8116 Use Akahu transaction description as fallback payee name — thanks tim-smart
- #8115 Refresh Akahu account if stale — thanks tim-smart
- #8114 Budget averages now exclude incomplete months — thanks tim-smart
- #8170 Show the bank sync error banner on the accounts even if the error occurred on a different device — thanks matt-fidd
- #8140 Improved budget loading speed for long-running budgets with many years of data — thanks MatissJanis
- #8222 Use ± symbol for 'between' amount schedules and improve tooltip wording. — thanks tjmills-dev
- #8234 Start split transactions in the desktop app with two empty splits instead of one, matching the mobile app. — thanks citrus-it
- #8308 Budget automations now link to schedules by ID, so they still remain linked when a schedule is renamed — thanks matt-fidd
Bugfixes
- #7827 Fixed CSV import settings being reset when changing “Skip end lines”. — thanks Hui66cs
- #7955 Fix Balance Forecast double-counting posted split transactions. — thanks samaluk
- #7959 Trim schedule names when saving so template lookups are not affected by leading or trailing spaces. — thanks Will-thom
- #7971 Fix OIDC login on iOS — thanks MikesGlitch
- #7977 Fixed a sync-server permission issue so only file owners or admins can perform sensitive file-management actions. — thanks MatissJanis
- #7978 Fix fatal error preventing PWA launch when offline on iOS devices. — thanks MatissJanis
- #7992 Fix empty scrollbars in the schedule edit modal — thanks youngcw
- #7997 Post every missed auto-post scheduled transaction when catching up. — thanks sjh9714
- #8001 Fix custom report drilldowns for transfer bars so they only show transfer transactions. — thanks kikiminyes
- #8005 Clear the hidden parent payee when splitting transactions. — thanks meaqua9420
- #8006 Fixes a bug where selecting Link Account from the account page required reselecting the same account in the modal even though it’s prepopulated. — thanks mnil
- #8012 Add SSRF protection to the SimpleFIN bank sync integration. — thanks MatissJanis
- #8018 Fix Docusaurus documentation build by pinning webpackbar dependency to version ^7.0.0. — thanks MatissJanis
- #8029 Fix Balance Forecast double-counting scheduled transactions that were already posted. — thanks samaluk
- #8030 Fix Balance Forecast report Y-axis numbers being cut off for large balances. — thanks samaluk
- #8031 Fix Balance Forecast chart line colors with custom themes by using report color tokens instead of notice/error text colors. — thanks samaluk
- #8037 Importing
@actual-app/apiin a Node.js environment was causing a ReferenceError, due to how the build handles relative paths. — thanks kyleslattery - #8043 Fix monthly spending reports to correctly filter budgets by category groups. — thanks sys044
- #8052 Fix api/bank-sync to work on accounts with a single SimpleFin account — thanks dzickusrh
- #8068 Fix SimpleFIN credential reset not resetting accessKey after resetting token. — thanks KevinIsMyName
- #8082 Automation UI: rework balance cap and fix error when clearing fields — thanks matt-fidd
- #8085 Fix incorrect schedule value when saving full amount for a yearly schedule. — thanks mnil
- #8086 Enable Banking: skip transactions that can't be imported (no date, or a non-numeric amount) instead of failing the entire account sync. — thanks mheiland
- #8113 Fix bank sync hanging indefinitely (most visible on mobile, where the sync spinner never stopped). — thanks MatissJanis
- #8118 Fix SharedArrayBuffer warning showing in new warning indicator when using desktop app — thanks MikesGlitch
- #8154 Translate the
(none)placeholder shown in the budget transfer menu. — thanks Procoder1234556 - #8177 Fix shift-click selection including hidden reconciled transactions in the account view — thanks augustocbx
- #8196 Fix entered amount being lost sometimes when tapping the Nearby payee chip before field loses focus — thanks mannkind
- #8266 Fixed editing a schedule's amount not updating a
set amountaction on its rule, which caused auto-posted transactions to keep using the old amount. — thanks zannis - #8258 Fix various QOL and parsing bugs in the Automation UI — thanks matt-fidd
- #8117 Fix
actual server versionso it works without an open budget. — thanks tifandotme - #8159 Dashboard import now supports all widget types, including balance-forecast and age-of-money cards. — thanks samaluk
- #8243 Improve fallback logic for extracting payee names in easybank transactions. — thanks neuos
- #8320 Fix Age of Money report widget title not saving correctly. — thanks youngcw
- #8300 Fix append and prepend notes rules being ignored when adding a new transaction that already has a note, without duplicating the added text. — thanks MatissJanis
- #8273 Fix a CORS proxy security issue that could expose private GitHub repositories. — thanks MatissJanis
- #8101 Fixed desktop settings (such as the selected language) being reset to defaults after an interrupted app update. — thanks MatissJanis
- #8281 Fix Payee page. Rule counts no longer include rules associated with completed schedules. — thanks Juulz
- #8181 Fix the installed web app title bar color to follow the active app theme. — thanks PaolinPaperin
- #8195 Fix binary sync failing with
network-failureon Alpine Linux. — thanks MatissJanis - #8169 Sankey 'Budgeted' view no longer breaks when an amount is left to budget. — thanks emiltb
- #8171 Prioritise category name matches over group matches in the category autocomplete — thanks matt-fidd
- #8093 Make tag search case-insensitive — thanks alecbakholdin
- #8184 Fix nYNAB import failing with a not-ynab5 error for exports from YNAB's current API — thanks kbremont
- #8201 Fix nynab schedule import adding in unneeded specific days — thanks youngcw
- #8250 Disable the include current month option when using the "last month" live date range in custom reports — thanks youngcw
Maintenance
- #7658 Add scoped error boundaries to individual report routes to prevent feature-level crashes from taking down the entire reports area. — thanks tmchow
- #7949 Prevent release cut workflow from running on forks — thanks MikesGlitch
- #7951 Fix ineffective dynamic import warning for
responsive/wideby removing the static barrel import fromFinancesApp. — thanks MatissJanis - #7958 Only count PRs based on master towards maintainer points — thanks matt-fidd
- #7965 Update Playwright tests to use fixed version strings for consistent test behavior. — thanks MatissJanis
- #7967 Add project-scoped Claude Code skills. — thanks MatissJanis
- #7975 Address zizmor findings on GitHub Actions workflows. — thanks MatissJanis
- #7982 Upgrade dependencies to address security advisories and enhance overall package stability. — thanks MatissJanis
- #8011 Add a 3-day minimum age gate for npm dependencies to harden against supply-chain attacks — thanks MatissJanis
- #8027 Move i18n usage outside of loot-core. — thanks MatissJanis
- #8044 Upgraded the desktop Electron runtime from 39.8.5 (EOL) to 41.7.1. — thanks MikesGlitch
- #8049 Fix react compiler application on Windows Electron app — thanks matt-fidd
- #8064 Adds internal currency-aware helpers to
currencies.tsandutil.ts. — thanks StephenBrown2 - #8065 Add auto-generated documentation page for upcoming release notes in Docusaurus. — thanks MatissJanis
- #8067 Remove unnecessary playwright container pulls to speed up CI — thanks matt-fidd
- #8089 Move mechanical agent rules into shared agent hooks (wired for Claude, Codex, and Cursor). — thanks MatissJanis
- #8090 Add a CI check that fails when a pull request has the "do not merge" label. — thanks MatissJanis
- #8103 Upgrade Pluggy.ai's transaction API from deprecated page-sized pagination to cursor pagination. Update transaction-parsing for Pluggy.ai. — thanks KevinIsMyName & lelemm
- #8142 Drop the
ACTIONS_UPDATE_TOKENPAT from the release workflows. — thanks MatissJanis - #8143 Move the browser Web Worker bootstrap and multi-tab coordinator from desktop-client into loot-core. — thanks MatissJanis
- #8192 Fix agent git-guard hook false positives on heredoc-style and multi-paragraph commit messages — thanks MatissJanis
- #8205 Migrate CI workflows to Depot runners — thanks MatissJanis
- #8209 Improved performance on large budgets via optimistic update and non-blocking rendering — thanks MikesGlitch
- #8211 Pinning desktop app workflows to the 2022 GitHub runners — thanks MikesGlitch
- #8212 Add Docker, GitHub, and Anthropic sponsor logos to README — thanks MatissJanis
- #8249 Replace the archived check-spelling docs CI action with crate-ci/typos — thanks MatissJanis
- #8285 Replace the
vite-plugin-peggy-loaderdependency with a small in-repo Vite plugin that compiles Peggy grammars using the existingpeggydependency. — thanks MatissJanis - #8309 Add the knip tool to automatically find unused files, dependencies and exports, and remove the dead code it surfaced. — thanks MatissJanis
- #8267 Update internal themes to use page color variables as default for bare buttons. — thanks Juulz
- #8252 Improve CI yarn cache to make the fetch step quicker — thanks matt-fidd
- #8208 CLI: Search for config file in parent directories and global config directory. — thanks thromer
- #8185 Skip the release notes check for Dependabot pull requests — thanks MatissJanis
- #8235 Bump various dependencies — thanks matt-fidd
- #8251 Add a Dependency Review workflow that scans lockfile changes for known vulnerabilities — thanks MatissJanis
- #8262 Report Vitest and Playwright test results to Depot for CI test observability. — thanks matt-fidd
- #8110 Disable ESLint in the CodeRabbit configuration since the project uses oxlint. — thanks MatissJanis
- #8324 Add Actuali iOS app under Community Projects, update FAQ Mobile Application information — thanks MattFaz
- #8270 Document the accepted user-enumeration trade-off on the sync server
/admin/usersendpoint. — thanks MatissJanis - #8306 Enable the oxlint
no-useless-default-assignmentrule, disabling it only in packages that are not yet strict TS compatible — thanks MatissJanis - #8311 Scope the CI Lage cache key per job to fix the persistent cache miss — thanks MatissJanis
- #8305 Cache Lage's real cache directory in CI so build and test results are reused across runs — thanks MatissJanis
- #8323 Fix flaky schedules VRT test by increasing the timeout — thanks matt-fidd
- #8248 Fix some flaky tests — thanks matt-fidd
- #8092 Run the "do not merge" label check on merge_group events so it can be a required check in the merge queue. — thanks MatissJanis
- #8263 Move publish jobs back to GitHub runners — thanks matt-fidd
- #8135 Surface the AI usage and self-review expectations to contributors when they open a pull request — thanks MatissJanis
- #8254 Migrate remaining CI workflows to depot action runners — thanks MatissJanis
- #8194 Minify the web bundle while keeping original function and variable names so user-reported stack traces stay debuggable — thanks MatissJanis
- #8241 Add payee locations documentation — thanks mannkind
- #8212 Use Vite's
import.meta.envinstead ofprocess.envfor build-timeREACT_APP_*variables in client-only desktop-client code. — thanks StephenBrown2 - #8278 Reduce the number of bundled dependencies by replacing several with native browser APIs and small built-in helpers. — thanks MatissJanis
- #7963 Allow descriptive filenames for release notes (no longer required to be named after the PR number). — thanks MatissJanis
- #8091 ci: remove no longer necessary "environment" from release-notes ci job. — thanks MatissJanis
- #8304 Replace
ts-nodewith Node's native TypeScript support for internal scripts. — thanks MatissJanis - #8310 Strip ANSI color codes in the
expectSnapshotWithDiffertest helper so diff snapshots are deterministic regardless of terminal color detection. — thanks MatissJanis - #8293 Remove forced waits to speed up some Playwright tests — thanks matt-fidd
- #8284 Move
typescript-strict-plugintodevDependenciesinloot-core— thanks MatissJanis - #8303 Add a
.vscode/extensions.jsonso contributors are prompted to install the recommended oxc formatter, Playwright, and Vitest extensions. — thanks MatissJanis