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
- #9032 Add South African Rand (ZAR) to the currency picker. — thanks bvdwalt
- #8744 Add a setting to sync linked bank accounts automatically at a chosen interval — thanks emilgeo
- #9193 Add a setting to choose which pages appear in the sidebar, their order and the page Actual opens on — thanks matt-fidd
- #9233 Add investment phases to Monte Carlo pots so a pot's allocation and fees can change with age — thanks MikesGlitch
- #8948 Group custom reports by tags, with the option to choose which tags to include. — thanks jfdoming
Enhancements
- #9119 Add the Bangladeshi Taka to the list of available currencies — thanks emilgeo
- #9109 Add Tanzanian Shilling (TZS) currency — thanks ierique
- #9020 Add
getScheduleDatesto the API to list the dates a schedule falls on — thanks agigante80 - #9083 Hold the calculator's backspace button to delete continuously. — thanks Hrushikesh-ramilla
- #9176 Speed up resetting the budget cache and remove outdated entries from it — thanks mbrevda
- #9178 Speed up opening large budgets in the browser — thanks mbrevda
- #9143 Make resetting the budget cache much faster on large budgets — thanks youngcw
- #9174 Speed up saving the budget cache when opening large budgets — thanks mbrevda
- #9122 Speed up opening a budget after downloading, importing, or resetting the cache — thanks mbrevda
- #9127 Show menus on mobile as bottom sheets — thanks matt-fidd
- #9101 Add a historical return model to the Monte Carlo report that replays blocks of consecutive real years — thanks MikesGlitch
- #9158 Add a pot balances chart to the Monte Carlo report showing what each pot is worth at the end of every year — thanks MikesGlitch
- #9084 Make the Notifications page easier to read, with collapsible lists of changes that work from the keyboard — thanks MikesGlitch
- #9175 Allow clicking a custom report split by interval to view that interval's transactions — thanks RandomSpaceship
- #9202 Allow cash flow and summary dashboard cards to be resized narrower — thanks RandomSpaceship
- #8717 Use everyday amounts instead of cents in rule formulas — thanks youngcw
- #9112 Redesign the settings pages as grouped rows with shorter descriptions — thanks matt-fidd
- #9110 Move payees, rules, bank sync and tags from the sidebar into the settings page, which now has its own navigation — thanks StephenBrown2 & matt-fidd
- #9115 Experimental sidebar: remove the budget name/switch/settings dropdown in the header — thanks matt-fidd
- #9123 Make number cards adapt more smoothly when resizing the screen. — thanks aelxxs
- #9247 Show Swiss franc amounts with the official "CHF" abbreviation instead of "Fr." — thanks zotabee
Bugfixes
- #8355 Fix Enable Banking HypoVereinsbank authentication routing to personal banking portal and resolve data access errors — thanks cakallie
- #8950 Allow clicking to place the cursor when renaming a category in Firefox — thanks costajohnt
- #9205 Preserve the category when making a transfer between on-budget and off-budget accounts — thanks devilking7x
- Prevent certain Commerzbank payee names from stalling transaction imports. — thanks jfdoming
- #9135 Fix CSV import that merged a new transaction into an existing one with the same amount after you unchecked a matched row. — thanks kikoval
- #9056 Keep loading off-screen dashboard widgets after toggling "Edit Dashboard" — thanks YasinzHyper
- Keep sign-in and bank connection credentials out of server request logs. — thanks jfdoming
- #9142 Fix the day count moving out of place when revealed in the Age of Money report with privacy mode enabled — thanks samaluk
- #9128 Fix balances moving out of place when revealed in the Balance Forecast report with privacy mode enabled — thanks samaluk
- #9131 Fix high memory use in the browser after opening a large budget — thanks mbrevda
- #8910 Prevent the custom CSS indicator from overlapping theme selectors when using System default. — thanks femedici
- #9046 Prevent duplicate transactions when Enable Banking repeats a continuation key during pagination — thanks Guo-Yixin
- #9204 Fix Enable Banking imports selecting the account holder as the payee when the counterparty name is missing, using the transaction description as a fallback instead. — thanks anuragverma57
- #9001 When fuzzy matching bank candidates, prefer a candidate that has not already been linked in a previous sync — thanks ahawkins318
- #9088 Fix GoCardless bank sync failing with a generic error when the server's access token is no longer accepted — thanks matt-fidd
- #9098 Fix live spending reports not moving to the current month when the month changes — thanks youngcw
- #9213 Fix moving a category to another group with drag and drop on the mobile budget page — thanks jkugsiya
- #9192 Fix category learning for transactions entered or edited on mobile — thanks kikoval
- #8926 Fix clearing the payee when editing a transaction on mobile — thanks danielnieto
- #9107 Fix the wrong running balance on the oldest shown transaction on mobile when reconciled transactions are hidden — thanks kikoval
- #9141 Fix amounts moving out of place when revealed in the Net Worth report with privacy mode enabled — thanks samaluk
- #9164 Monte carlo - Fix amount and number fields bouncing focus when tabbing through them quickly — thanks MikesGlitch
- #9125 Fix selecting the running balance text on the account page — thanks kikoval
- #8951 Post scheduled transactions that automatically add a transaction on their due date, even when the schedule was created or edited later the same day — thanks galshir
- #9191 Fix new and edited schedules skipping a weekend date that moves to the next weekday — thanks agigante80
- #8824 Fix
#template scheduleunderfunding a category when the schedule repeats every N days or weeks and N spans more than a month — thanks arbelonson-source - #9219 Fix renaming an account or group in the redesigned sidebar closing when pressing the arrow keys — thanks junyuanz1
- #8968 Fix the desktop app getting stuck on "Loading global preferences" when installed from the Microsoft Store — thanks MikesGlitch
- #8963 Show a clear error message and configuration prompt when GoCardless credentials are missing instead of an internal error — thanks Marshmellow31
- #9156 Align the Gruvbox Light and Dark catalog previews with the updated theme palettes. — thanks Dakyne
- #9080 Allow translators to translate the news "Post" badge and the update "notes" link separately from the rule stage and notes field — thanks piyush97
- #9100 Fix imported amounts being read without their decimal point when a currency symbol or code follows the number — thanks YasinzHyper
- #8792 Keep explicitly cleared fields (e.g. a pre-assigned category) empty while entering a new transaction instead of letting rules immediately re-fill them. — thanks bsmarsh333
- #8977 Keep the filter on the mobile payees and rules lists when opening and leaving a payee or rule. — thanks mnil
- #8894 Keep keyboard focus on the parent payment field when splitting a new transaction, and move to the first split line when tabbing past the parent row — thanks Yahiro025
- #9154 Stop category learning from creating a rule when a "payee is one of" rule already sets the same category. — thanks kikoval
- #9064 Make the Reconciled toggle work when editing a transaction on mobile, so a reconciled transaction can be unlocked, and match its size to the Cleared toggle. — thanks youngcw
- #9041 Preserve matching categories when importing transactions from QIF files — thanks Soba101
- #8909 Prevent new bank transactions from matching parts of an already matched split transaction — thanks madesst
- Prevent CSV text beginning with invisible byte-order marks from being interpreted as spreadsheet formulas. — thanks jfdoming
- Prevent downloaded and imported budgets from replacing unrelated local budgets. — thanks jfdoming
- Require administrator permission to configure Enable Banking. — thanks jfdoming
- Prevent misleading web addresses from being treated as trusted desktop app pages. — thanks jfdoming
- Allow desktop links to open only web pages, and prevent network paths from opening through the file-manager action. — thanks jfdoming
- Block unsafe network address ranges when connecting to banking services, including when private-network access is enabled. — thanks jfdoming
- Sign out existing sessions when the server password changes. — thanks jfdoming
- End server sessions when signing out or shutting down a password-authenticated API client — thanks jfdoming
- #9238 Stop the rule editor from showing an error while a "matches" regex is still being typed — thanks Apu-Emdad
- #9017 Fix "payee is nothing" and "category is nothing" rule conditions not matching synced transactions that have no payee or category — thanks YasinzHyper
- #8976 Show the commit hash alongside the version number for edge/nightly builds, so it's possible to tell which commit is actually running — thanks vatsanbalaji-ossagent
- #8917 Fix the stacked bar report showing an unnecessary "..." when all spending categories were visible — thanks bean-1129
- #9038 Fix the tour's "To Budget" step pointing off screen when the current month is not displayed — thanks YasinzHyper
- Reject invalid password requests before processing them. — thanks jfdoming
- Require the current server password before changing it in settings. — thanks jfdoming
- #9198 Import YNAB4 month notes and category budget notes — thanks StephenBrown2
Maintenance
- #8783 Add mobile e2e coverage for the transaction calendar report — thanks zannis
- #9044 Label possible low-quality pull requests using CodeRabbit slop detection — thanks MikesGlitch
- #9002 Add standard size presets to the shared UI components — thanks flafleur
- Add the official SQLite WebAssembly build as a storage engine for the browser, not yet enabled — thanks MikesGlitch
- #9183 Add tabedzki to the list of main contributors. — thanks tabedzki
- #9179 Update
brace-expansionto 2.1.7 and 5.0.12 to address security advisories reported against the server image. — thanks tabedzki - #9244 Bump various dependencies — thanks matt-fidd
- #9060 Close WIP pull requests that have had no activity for two weeks — thanks MikesGlitch
- #9140 Harden the desktop app's Electron build options — thanks MikesGlitch
- #8966 Add Rauthy to the list of tested OpenID providers in the OpenID documentation — thanks jonesfionn101-dotcom
- #8962 Add the india2actual Indian bank statement converter to the community repositories docs — thanks emilgeo
- #9171 Add an AI Assistant Integrations (MCP) section to the community projects docs — thanks bubbletroubles
- #9026 Docs: list the MASH Ansible playbook under additional installation options. — thanks spatterIight
- #9248 Enable React Compiler and Vitest lint rules — thanks matt-fidd
- #9186 Point experimental feature feedback to GitHub issues instead of Discord, and link more docs pages to their feedback issue. — thanks tabedzki
- #9139 Fix the desktop startup logging test after changes to preferences loading. — thanks jfdoming
- #9114 Fix a flaky settings e2e test that could run before the light theme was applied — thanks matt-fidd
- #9194 Fix the dev server failing to build the loot-core backend on Windows because
yarncannot be spawned by name. — thanks grzdev - #9030 Migrate the sync-server
app-syncvalidation and error modules to TypeScript. — thanks YasinzHyper - #9203 Prune Lage cache entries in CI so the cache stops growing indefinitely — thanks matt-fidd
- #9221 Stop publishing the standalone .flatpak for desktop releases. Linux users should install from Flathub or use the AppImage — thanks MikesGlitch
- #8993 Fix timing-dependent flakiness in the budget automations modal and the transaction notes tooltip e2e test — thanks yury-s
- #9073 Remove the npm warning about unknown
publishConfigfields when publishing packages. — thanks matt-fidd - #8947 Add calculation and storage support for splitting custom reports by tags. — thanks jfdoming