The release has the following notable improvements:
- mobile: long-press transactions to reveal more actions
- transactions table: show imported payee on hover of payee column
- filtering: ability to filter by "has tags" conditions
- budgets: highlight current month
- imports: ability to skip heading lines
- experimental: custom report homepage (dashboards)
Docker tag: 24.9.0
Actual
Features
- #2892 Long press transactions in mobile account view to reveal action bar with more actions. — thanks joel-jeremy
- #3231 Customizable dashboard for reports page - drag-able and resizable widgets. — thanks MatissJanis
- #3234 Added an optional configuration value to skip one or more heading lines (added by some banks, like ING) during the CSV transactions import. — thanks Horizon0156
- #3271 Update README to add Weblate project, a crowdsourced translation tool. — thanks julianwachholz
Enhancements
- #2923 Show split transactions in schedule previews. — thanks jfdoming
- #3018 Add imported payee tooltip to transaction tables — thanks matt-fidd
- #3036 Introduce i18n framework to prepare for translations. — thanks julianwachholz
- #3111 Highlight current month in budgets. — thanks psybers
- #3122 Shorten hidden category names imported from YNAB4. — thanks alcroito
- #3140 Add
reset-hold
andhold-for-next-month
methods to the API — thanks rodriguestiago0 - #3181 Update option name of experimental Monthly Spending Report — thanks TimQuelch
- #3188 Filter by account when linking schedules and add shortcut "S" to link schedule. — thanks psybers
- #3203 Identify Payee and Notes fields by name if they exist in CSV import — thanks spalmurray
- #3215 Add rule actions to prepend/append to transaction notes. — thanks psybers
- #3246 Allow escaping tags with double ##. — thanks psybers
- #3270 Support translations in desktop-client/components/filters. — thanks psybers
- #3275 Support translations in desktop-client/components/autocomplete. — thanks psybers
- #3280 Support translations in desktop-client/components/budget/report. — thanks psybers
- #3283 Added feedback links besides the experimental feature flags. — thanks MatissJanis
- #3284 Dashboards: ability to rename all the widgets. — thanks Matissjanis
- #3290 Add new 'has tag(s)' filter to filter note tags. — thanks lelemm
- #3299 Support translations in desktop-client/components/reports/graphs. — thanks psybers
- #3302 Support translations in desktop-client/components/sidebar. — thanks psybers
Bugfix
- #2970 Fix false positives for duplicate filters error when saving a new filter. — thanks scivarolo
- #2974 Fix: Automatically focus inputs, or the primary button, in modals. — thanks psybers
- #2991 Prevent transaction deduplication for imported transactions — thanks ttlgeek, strazto, & pmoon00
- #3044 Fix decimal comma parsing for ofx files — thanks youngcw & wdpk
- #3115 Hide the target category from the cover overspending category list — thanks matt-fidd
- #3205 Fix typo in error message — thanks matt-fidd
- #3206 Fix mobile account status indicators cutting off. — thanks psybers
- #3209 Adjusting UI so that spending report works on mobile. — thanks carkom
- #3212 Fix gocardless "Linking back account" integration in Desktop app. — thanks MikesGlitch
- #3220 Fix electron builds throwing "We had an unknown problem opening file" — thanks MikesGlitch
- #3232 Fix import transaction issue introduced by strict id checking feature — thanks pmoon00
- #3237 Fix crash when visiting later months — thanks jfdoming
- #3239 Fix transfer category in temporary transactions — thanks jfdoming
- #3241 Fixed category appearing in last slot when you drag it to the second-to-last slot — thanks JL102
- #3242 Fixed translation keys being shown verbatim without interpolation — thanks julianwachholz
- #3250 Fix Export on Mac desktop app — thanks MikesGlitch
- #3251 Fix issue with importing transactions failing on new accounts (issue #3211). — thanks eireksten
- #3257 Fix regression in button color for spending graph. — thanks carkom
- #3258 Show category for on-to-off-budget transfers — thanks jfdoming
- #3278 Filter fix when alternating all <-> any — thanks lelemm
- #3287 Apply regular expression conditions to imported transactions. — thanks psybers & jameshurst
- #3295 Fix incorrect month on spending card — thanks Crazypkr1099
- #3318 Fix display of deleted payees in suggested payee list — thanks qedi-r
- #3323 Dashboards: add back spending report if dashboards are not enabled — thanks MatissJanis
- #3324 Fix "s" hotkey breaking in transaction table. — thanks MatissJanis
- #3333 Fix toggleSpentColumn being called on every render on mobile — thanks tim-smart
- #3337 Fix schedules modal closing when selecting transactions to link. — thanks MatissJanis
- #3338 Fix reconciliation closing on
enter
click. — thanks MatissJanis - #3340 Fix long payee names overflowing in transaction table. — thanks MatissJanis
- #3342 Prevent tooltips showing on budget notes when using touch devices — thanks MikesGlitch
Maintenance
- #2984 Use new react-aria-components based Button on sidebar, notifications, transactions, recurring schedule picker, etc. — thanks joel-jeremy
- #3093 Support type-checking on spreadsheet fields (part 1) — thanks jfdoming
- #3095 Support type-checking on spreadsheet fields (part 2) — thanks jfdoming
- #3097 Support type-checking on spreadsheet fields (part 3) — thanks jfdoming
- #3114 Disable typography linter in tests — thanks jfdoming
- #3156 Use new react-aria-components based Button on desktop and mobile budget pages. — thanks joel-jeremy
- #3159 Use new react-aria-components based Button on reports page. — thanks joel-jeremy
- #3166 Tweaking the UI of spending report to make it more consistent with other reports. — thanks carkom
- #3178 Custom reports: unify
selectedCategories
andconditions
data source. — thanks MatissJanis - #3180 TypeScript: make category and rule entities stricter. — thanks MatissJanis
- #3183 Add unit tests for the existing goal template types. — thanks ACWalker
- #3185 Package Electron app as Appx for use in the Windows Store. — thanks MikesGlitch
- #3186 Improve VRT test stability. — thanks MatissJanis
- #3198 Reports: improve
useReports
data fetching hook to return the loading state. — thanks MatissJanis - #3200 Reports: add
showTooltip
prop for controlling tooltip visibility. — thanks MatissJanis - #3219 Making Server logs visible in devtools on Electron — thanks MikesGlitch
- #3221 Extract, refactor and test note handling logic from
goaltemplates.ts
file. — thanks ACWalker - #3236 Separate
LocalPrefs
interface out intoLocalPrefs
(eventually using local storage),SyncedPrefs
(eventually using the cross-device database) andMetadataPrefs
(eventually using themetadata.json
file). — thanks Matissjanis - #3238 Remove some
any
types from the API — thanks jfdoming - #3262 Cleanup
iterableTopologicalSort
feature flag. — thanks Matissjanis - #3279 Optimise GoCardless sync to reduce API usage by removing balance information when unneeded — thanks matt-fidd
- #3285 TypeScript: migrate report cards to TS. — thanks Matissjanis
- #3289 Upgrade
TypeScript
,eslint
andprettier
. — thanks MatissJanis - #3296 Better debug logs for bank sync errors. — thanks psybers
- #3300 Sign the Mac desktop app to resolve damaged file errors — thanks MikesGlitch
- #3308 Support servers with self signed certificates in the Desktop app — thanks MikesGlitch
Actual Server
Enhancements
- #358 Add gocardless support for Berliner Sparkasse (Germany) — thanks Peccadilloz
- #418 Add SANTANDER_BSCHESMM to banks with limited history — thanks sarfios20 & DanielHaggstrom
- #441 Added Nordea Personal DK (NORDEA_NDEADKKK) to BANKS_WITH_LIMITED_HISTORY — thanks hsk-dk
Bugfix
- #409 Fix crash when SimpleFIN JSON data is bad. — thanks psybers & iffy
- #410 Stop server crashing when SimpleFIN is down. — thanks psybers
- #412 Show better error if SimpleFIN account cant be found. — thanks psybers
- #413 Return early from SimpleFIN /transactions if the account needs attention — thanks jpetso
- #427 Fix payee name selection based on the transaction amount — thanks matt-fidd
- #428 Fallback creditorName to remittanceInformationUnstructured in BANKINTER_BKBKESMM — thanks hostyn
- #429 Prevent account fallback if name is defined in formatPayeeName — thanks hostyn
- #439 Fix GoCardless error handling — thanks matt-fidd
- #442 Fix wrong payeeName used for KBC_KREDBEBB — thanks ArnaudWeyts
Maintenance
- #421 Improve testing utils and add delete-user-file test — thanks tcrasset
- #422 Refactor user validation into middleware — thanks tcrasset
- #423 Add integration tests for the /sync endpoint — thanks tcrasset
- #425 Add integration tests for remaining app-sync.js endpoints — thanks tcrasset
- #430 CI workflow for pinging PRs that have been in the "WIP" state for a week without an update. — thanks MatissJanis & matt-fidd
- #434 Add logging middleware — thanks tcrasset
- #435 Optimise GoCardless sync to reduce API usage by removing accountMetadata call — thanks matt-fidd
- #436 Optimise GoCardless sync to reduce API usage by removing balance information — thanks matt-fidd