Skip to main content

Release Notes

24.6.0

The release has the following notable improvements:

  • API: ability to run 3rd party bank-sync (GoCardless, SimpleFin) programmatically
  • API: methods for working with rules
  • Add option to authenticate with HTTP header - X-ACTUAL-PASSWORD
  • Add option to import CAMT.053 based XML files
  • (Experimental) monthly spending report - please report feedback here

Actual

Features

  • #2622 Add a new monthly spending report to track MTD spending compared to previous months. — thanks carkom
  • #2683 API: ability to run 3rd party bank-sync (GoCardless, SimpleFin) programmatically using @actual-app/api. — thanks MatissJanis
  • #2706 Add option to import CAMT.053 based XML files — thanks bfritscher

Enhancements

  • #2362 Add option to authenticate with HTTP header X-ACTUAL-PASSWORD — thanks joewashear007
  • #2507 Quickly switch to another budget file from the mobile budget page. — thanks joel-jeremy
  • #2568 Add API for working with rules. — thanks psybers
  • #2652 Template only the relevant amount in a split-schedule category — thanks jfdoming
  • #2664 Add schedule name and date to mobile scheduled transaction modal. — thanks joel-jeremy
  • #2672 Comma and period decimal separator can both be used for number format not using those as thousand separator. — thanks Wizmaster
  • #2677 Fixing small visual issues with custom reports. — thanks carkom
  • #2696 Custom Reports - show transactions when table cell is clicked. — thanks carkom
  • #2700 Fetch cloud file and file info in parallel to speed downloads up — thanks joel-jeremy
  • #2713 Use budget name as export file name. — thanks joel-jeremy
  • #2714 revise modal margin — thanks uniqueeest
  • #2719 Alphabetize the filter list in the dropdown — thanks dangrous
  • #2730 Smoother budget load/download loading text — thanks joel-jeremy
  • #2733 Add page headers to various report pages + refactor Page component — thanks joel-jeremy
  • #2746 Auto insert decimals to mobile split transaction amounts. — thanks joel-jeremy
  • #2753 Require account in mobile transaction entry + confirm transaction delete. — thanks joel-jeremy
  • #2786 Match on amount when creating a rule from a transaction — thanks jfdoming
  • #2795 Sort accounts and show their balance in the bank sync modal. — thanks psybers
  • #2797 Make picking budget months easier to see. — thanks psybers

Bugfix

  • #2643 Fix amount filter to include both incoming and outgoing amounts. — thanks mirdaki
  • #2648 Don't update transaction date when importing manually — thanks Wizmaster
  • #2698 Fix API remote-server sync for budget files that are e2e encrypted. — thanks MatissJanis
  • #2712 Fix preview transactions not detecting schedule as paid when a child transaction is linked. — thanks joel-jeremy
  • #2725 Do not show loading indicator in net worth report if the budget file is empty — thanks MatissJanis
  • #2745 Fixes a NaN error in spending report. — thanks carkom
  • #2754 Do not remember last entered category in mobile transaction entry. — thanks joel-jeremy
  • #2765 Do not use underlines for emphasis. — thanks psybers
  • #2768 Creating a callback for the table totals to fix a bug that created duplicate columns while rendering. — thanks carkom
  • #2769 Updating date range element to catch any incorrectly formated dates. Current state crashes app when dates are invalid. — thanks carkom
  • #2773 Fix notes icon changing size/position with long category or group names. — thanks jpelgrom
  • #2774 Move the rollover arrow into view. — thanks Tigatok
  • #2775 Adds income on left and expense on right always. Hide bar if value is 0. — thanks Tigatok
  • #2777 On the accounts page - filter balance only adds up transactions that are showing. If your filter has more than one page it won't be added to the balance unless you scroll to the bottom and reveal all transactions. This fixes that. — thanks carkom
  • #2788 Allow creating a new off-budget account in bank sync modal. — thanks psybers
  • #2803 Revert amount filter change — thanks youngcw
  • #2809 Fixes a crashing bug that happens when the current day of the month is greater than 28. — thanks carkom

Maintenance

  • #2559 API: Publish TypeScript types in the package. — thanks turt2live
  • #2631 Migrating native Tooltip component to react-aria Tooltip/Popover (vol.3) — thanks MatissJanis
  • #2676 Fix some type errors found by the API packaging — thanks twk3
  • #2707 Custom reports: convert final jsx files to typescript. — thanks carkom
  • #2715 Desktop: remove code signing for Mac version — thanks MatissJanis
  • #2716 Create types for the external versions of entities meant for the API` — thanks twk3
  • #2724 Migrating native Tooltip component to react-aria Tooltip/Popover (vol.4) — thanks MatissJanis
  • #2726 Making files in custom reports to comply with TS strict - stage #1. — thanks carkom
  • #2727 Making files in custom reports to comply with TS strict - stage #2 — thanks carkom
  • #2728 Making files in custom reports to comply with TS strict - stage #3. — thanks carkom
  • #2729 Change filters icon. This is for consistency throughout the app. — thanks carkom
  • #2738 Include crdt as a dependency in the API to include its types — thanks twk3
  • #2750 Add Github workflow to publish release to demo.actualbudget.org. — thanks shall0pass
  • #2762 Add run-vrt script to run VRT inside docker via yarn. — thanks joel-jeremy
  • #2763 Update Electron to the latest version (31.0.6) — thanks MikesGlitch
  • #2766 Migrating recurring schedule Tooltip component to react-aria Tooltip/Popover (vol.5) — thanks MatissJanis
  • #2778 Migrating native Tooltip component to react-aria Tooltip/Popover (vol.7) — thanks MatissJanis

Actual Server

Enhancements

  • #312 Add option to authenticate with HTTP header from Auth Proxy. — thanks joewashear007
  • #346 Add gocardless support for Sparkasse Karlsruhe (Germany) — thanks Nebukadneza
  • #349 Ensure payee names don't contain transactional information when pulling in transactions from BNP bank with GoCardless. — thanks vojeroen
  • #350 Extended bank adapter for SEB to support SEB_KORT_AB_NO_SKHSFI21 — thanks jakoblover
  • #355 Add BANKS_WITH_LIMITED_HISTORY constant and Implement BANKINTER_BKBKESMM Bank Adapter — thanks hostyn

Maintenance

24.5.0

The release has the following notable improvements:

  • Ability to show/hide reconciled transactions
  • Ability to prepend/append notes when bulk editing transactions
  • Show remaining balance in the category autocomplete
  • OFX, CSV import: ability to disable transaction de-duplication logic
  • Mobile: account management functionality
  • Mobile: clicking on category allows to see transactions list for the clicked category
  • Desktop app release
  • (Experimental) custom report improvements - please report your feedback here

Actual

Version: v24.5.0

Features

  • #2468 Add options to prepend or append text to a transaction note using the bulk edit dialog. — thanks shall0pass
  • #2531 Drill down category transactions by clicking on spent amount in mobile budget page. — thanks joel-jeremy
  • #2542 Adding menu item to show/hide reconciled transactions in the account view. — thanks davidkus
  • #2551 Display category balances in category autocomplete. — thanks joel-jeremy & MatissJanis
  • #2560 Show sync indicator in account header. — thanks psybers
  • #2564 Add options to disable reconciliation when importing OFX files. — thanks keriati
  • #2585 Add checkbox to disable reconciliation when importing CSV files. — thanks keriati
  • #2610 Add month notes and budget/template action menus for mobile. — thanks joel-jeremy
  • #2611 Collapsible budget groups in mobile. — thanks joel-jeremy

Enhancements

  • #2466 Enable "yearly" interval to custom reports. Also sets-up groundwork for adding weekly/daily in the near future — thanks carkom
  • #2472 Add more modals in mobile for account, scheduled transactions, budget summary, and balance actions. — thanks joel-jeremy
  • #2480 Add category groups to end of month cleanup templates. — thanks shall0pass
  • #2483 Add daily and weekly to custom reports interval list. — thanks carkom
  • #2491 Add + button to add a group on mobile budget page and a budget related menu. — thanks joel-jeremy
  • #2501 Mobile budget menu modal to set budget amounts. — thanks joel-jeremy
  • #2506 Add line chart option for displaying budget amounts over time — thanks qedi-r
  • #2518 Bump GoCardless access validity from 30 to 90 days. — thanks kyrias
  • #2521 A simple delete confirmation for custom reports. — thanks carkom
  • #2522 Custom reports so transactions activity on accounts page for graphs when clicked. — thanks carkom
  • #2523 Using any math operator on an input will begin a calculation starting with the existing value. — thanks JazzyJosh
  • #2536 When adding a mobile view transaction, format the edit field according to the currency and add an automatic/fixed position decimal when applicable. — thanks ilar
  • #2544 Change default theme from light to the system's default theme — thanks adam-rozen
  • #2569 Support creating rules from split transactions on the accounts page — thanks jfdoming
  • #2582 Dim categories in the budget view if hidden by their category group. — thanks psybers
  • #2583 Enables the ability to show transactions when donut graph is clicked. — thanks carkom
  • #2598 Update balance menu modal title and add balance amount in the modal. — thanks joel-jeremy
  • #2601 Improved fatal-error handling in case backend failed loading: show error message. — thanks MatissJanis
  • #2606 Enables the ability to show transactions when StackedBarGraph is clicked. — thanks carkom
  • #2607 Use decimal input mode for transfer and hold buffer modal inputs. — thanks joel-jeremy
  • #2608 Allow posting/skipping scheduled transactions in mobile view. — thanks joel-jeremy
  • #2612 Fixing some of the sessionStorage issues plus adding filters to sessionStorage. — thanks carkom
  • #2613 Honor the budget.startMonth pref to open the last month the user was working on before closing the app. — thanks joel-jeremy
  • #2617 Include flatpak in the electron build list — thanks youngcw
  • #2624 Add mobile reports page. — thanks carkom
  • #2627 Mobile - make labels sentence case and update budget and balance modals with Budget and Balance labels respectively. — thanks joel-jeremy
  • #2628 Add negative/positive colors to mobile transaction amount input — thanks joel-jeremy
  • #2632 Add desktop apps to the release assets — thanks youngcw
  • #2636 Enables the ability to show transactions when LineGraph is clicked. Also adds missing formatting to lineGraph. — thanks carkom
  • #2637 Fixing typescript issues with firstDayOfWeek. Also fixes bug with TableGraph report card. — thanks carkom
  • #2639 Added app-loading stage description texts; also added exponential backoff in case a lazy-loaded module fails loading — thanks MatissJanis
  • #2651 Make the 'Apply to all' section (formerly known as 'Before split') of rule splits more intuitive — thanks jfdoming
  • #2653 Ignore transactions with empty date & amount — thanks kyangk
  • #2657 Add custom error message if lazy-loading a module fails. — thanks MatissJanis
  • #2665 Add amount colors to mobile accounts and transaction list. — thanks joel-jeremy
  • #2667 Check schedule name when using the check templates function — thanks youngcw
  • #2671 Hide theme selector from the top of the page - it is now only available in the settings page. — thanks MatissJanis
  • #2688 Goals: Add template to budget X months average spending. Matches the function of the existing budget page button. — thanks youngcw
  • #2689 Goals: Enable decimals for percentage templates. — thanks shall0pass

Bugfix

  • #2502 Fix reconciling split translations from nYNAB import creates orphan transfers — thanks Wizmaster
  • #2535 Goal templates: Allow budgeting to a full category balance when using 'up to' and a negative category rollover balance. — thanks shall0pass
  • #2538 Improve contrast in Payee autocomplete's "Create payee" and Category autocomplete's "Split transaction" buttons — thanks Jenna59
  • #2543 When importing reconciled split transaction, the resulting sub-transactions is also marked as reconciled. — thanks davidkus
  • #2553 This fixes a regression that broke toggle menu items. — thanks carkom
  • #2556 Custom Reports: Fix bug where month endDate is saving as a non-date variable. — thanks carkom
  • #2557 Fixes live date range not updating with new month (interval). — thanks carkom
  • #2570 Mobile: Remove menu item for income category group, which resulted in crash. — thanks shall0pass
  • #2572 Close modal after transferring / covering balance in mobile budget page — thanks joel-jeremy
  • #2573 Fix mobile report budget bug where you can't click on an income category's budgeted input. — thanks joel-jeremy
  • #2577 Use desktop colors for mobile autocomplete modals. — thanks joel-jeremy
  • #2580 Fix "Load backup" functionality in Electron - no longer throwing fatal error — thanks mikesglitch
  • #2581 Do not allow hiding the income category group. — thanks psybers
  • #2588 Allow 5 decimal places in csv files without matching on 3 or 4 — thanks youngcw
  • #2589 Force transaction cleared checkboxes to show on reconcile view — thanks matt-fidd
  • #2594 Hide Y axis values of net worth graph when privacy mode is enabled. — thanks ttlgeek
  • #2597 Stop cash flow card labels from getting cutting off if bar height is too low — thanks ttlgeek
  • #2599 Fix account notes not retrieving correctly in mobile. — thanks joel-jeremy
  • #2614 Fix notes tooltip content going out of bounds. — thanks MatissJanis
  • #2633 Fix encryption modals for mobile. — thanks joel-jeremy
  • #2635 Add To Be Budgeted category to cover and transfer modal — thanks joel-jeremy
  • #2638 Fix low contrast accent colors in dark and midnight themes — thanks matt-fidd
  • #2641 Make /login show descriptive error when an incorrect password is submitted — thanks mattfidd
  • #2649 Do not show "delete remote file" option for local budget files. — thanks MatissJanis
  • #2650 Fix scroll bars always showing on tooltips — thanks youngcw
  • #2663 Fix app loading screen not showing when opening a budget file. — thanks joel-jeremy
  • #2690 Fix mobile notes modal not retrieving correct notes — thanks joel-jeremy
  • #2692 Fix budget list / management app flashing on page init. — thanks joel-jeremy

Maintenance

  • #2493 Refactor Tooltip component for notes button - use react-aria component. — thanks MatissJanis
  • #2509 Uninstall react-merge-refs package and replace mergeRefs with useMergedRefs hook. — thanks joel-jeremy
  • #2511 Split menu components to separate files for reusability. — thanks joel-jeremy
  • #2534 Removing code duplication in bank-sync logic — thanks MatissJanis
  • #2548 Update the github issues template — thanks MatissJanis
  • #2555 Update TransactionEdit component onEdit function to use serialized transactions. — thanks joel-jeremy
  • #2558 Consolidates AnchorLink, ButtonLink and LinkButton to use existing props (Link and Button - with type). — thanks carkom
  • #2567 Improve API output types. — thanks twk3
  • #2571 Use consistent padding in modals — thanks joel-jeremy
  • #2586 Remove left behind editableTitle prop. — thanks joel-jeremy
  • #2593 Migrating native Tooltip component to react-aria Tooltip/Popover (vol.2) — thanks MatissJanis
  • #2604 Adds integration test for experimental split rules functionality — thanks marethyu1
  • #2609 Add key prop to all modals. — thanks joel-jeremy
  • #2616 Delete old Plaid integration that is no longer working. — thanks MatissJanis
  • #2619 Add midnight theme VRT screenshots. — thanks joel-jeremy
  • #2620 Rename electron master workflow to be different than the electron pr workflow — thanks youngcw
  • #2623 Organize .gitignore and remove duplicated lines — thanks adam-rozen
  • #2634 Fix slow VRT test - reduced number of iterations to speed up test — thanks joel-jeremy
  • #2658 Fix electron builds on OSX — thanks twk3
  • #2659 Some slight adjustments to tidy up the code and make it work better. Some TS updates as well. — thanks carkom

Actual Server

Version: v24.5.0

Enhancements

  • #333 Add ACTUAL_PORT environment variable to docker-compose.yml — thanks psybers
  • #334 Add support for setting the access validity time per GoCardless bank integration and get the max historical days from the API — thanks kyrias

Bugfix

  • #341 Make running app.js cwd agnostic and extend config options to allow changing dataDir — thanks matt-fidd
  • #342 Make /admin/login return a descriptive error when no password is provided — thanks matt-fidd
  • #345 Add backup date field for GoCardless transactions with bank BNP_BE_GEBABEBB — thanks matt-fidd

Maintenance

  • #343 Refactor to add strict type comparisons and remove unnecessary else blocks — thanks matt-fidd

24.4.0

The release has the following notable improvements:

  • Stability improvements and various edge-case bug fixes
  • (Experimental) custom report improvements - please report your feedback here

Actual

Version: v24.4.0

Features

  • #2398 Add option to make a transfer from two selected transactions. — thanks twk3

Enhancements

  • #2408 Updating the way the "budget" page links to the "accounts" page when clicking on the "spent" column items to use the filters functionality — thanks carkom
  • #2410 Create a list where disabled items can be easily managed for custom reports. — thanks carkom
  • #2416 Bank sync quality of life improvements: show "pending" status on accounts, progressively import new transactions instead of waiting for all account sync to finish before adding them to the ledger. — thanks MatissJanis
  • #2429 Hide hidden categories on the Category AutoComplete. Allow a prop for showing (with indication). — thanks Shazib & carkom
  • #2441 Show a modal to confirm unlinking accounts. — thanks psybers
  • #2446 Provide "api/category-groups-get" API endpoint — thanks psybers
  • #2476 Show account sync indicators when viewing accounts on mobile. — thanks psybers
  • #2505 Change custom reports overview cards to use live data. Also, stops saving data query in saved report db table. — thanks carkom
  • #2526 Adding new icon to better match the area graph type — thanks carkom

Bugfix

  • #2404 [Goals] If no sinking funds are used, apply existing category balance to simple schedules to 'top off' the category. — thanks shall0pass
  • #2409 End of month cleanup - revert logic introduced in 2295. Ignore rollover categories. — thanks shall0pass
  • #2419 Implemented a "pill gesture" icon on navigation bar for better mobile UX — thanks CampaniaGuy
  • #2421 Fix OFX import amount when more than 2 decimal places are provided — thanks keriati
  • #2422 Fix colors for the budget name and category name in the accounts view on mobile. — thanks shall0pass
  • #2434 Fix flaky transfer e2e test. — thanks twk3
  • #2447 Show scheduled transactions when viewing "All accounts" — thanks psybers
  • #2452 Fix budget key tab navigation. — thanks twk3
  • #2455 Import reconciled transactions from ynab4 — thanks youngcw
  • #2460 Fix background color on bulk edit dialogs in Midnight theme. — thanks shall0pass
  • #2461 Fix midnight theme autocomplete hover color. — thanks joel-jeremy
  • #2462 Fix header column overlap when cleared is selected. — thanks dangrous
  • #2464 Fix csv/ofx import sometimes importing duplicate transactions — thanks MatissJanis
  • #2474 Import reconciled transactions from nYNAB — thanks Wizmaster
  • #2475 Fix error when viewing uncategorized transactions when there are upcoming scheduled transactions. — thanks psybers
  • #2485 Do not include off-budget transfers in the expenses calculation for cash-flow card (align it with the cash-flow reports page). — thanks MatissJanis
  • #2487 Fix mobile accounts page pull to refresh functionality — thanks joel-jeremy
  • #2489 Fix hotkeys sometimes stopping to work. — thanks MatissJanis
  • #2492 Error catch for reports overview page. — thanks carkom
  • #2494 Fix: disallow importing with invalid transaction amounts (that would result in the app crashing without a way to recover). — thanks MatissJanis
  • #2504 Fix mobile account transactions page not loading more transactions when reaching end of page. — thanks joel-jeremy
  • #2528 Fix custom report page cold-reload crash. — thanks qedi-r
  • #2530 Fix mobile autocomplete colors. — thanks joel-jeremy

Maintenance

  • #2381 Update Input onChangeValue and onUpdate prop naming for consistency. — thanks joel-jeremy
  • #2388 Update shared transaction module to strict typescript. — thanks twk3
  • #2403 Move some TypeScript files to strict mode — thanks MatissJanis
  • #2417 Delete experimental sankey feature - development abandoned. — thanks MatissJanis
  • #2425 Reorganize mobile components. — thanks joel-jeremy
  • #2443 Add WIP to new pull request titles — thanks carkom & twk3
  • #2453 Enabled strict TypeScript in rollover budget components. — thanks MatissJanis
  • #2459 Convert BudgetTable component to a functional component. — thanks joel-jeremy
  • #2479 Changing custom reports variable naming from "months" to "interval" so it's less confusing when adding new intervals — thanks carkom
  • #2481 Convert most common components to strict TypeScript — thanks MatissJanis
  • #2500 Autocomplete changes related to mobile modals. — thanks joel-jeremy
  • #2529 Adding extra console.log lines to the bank-sync operation to improve troubleshooting — thanks MatissJanis

Actual Server

Version: v24.4.0

Features

  • #316 Add SEB Private Bank integration to gocardless. Handle that SEB is sending the creditor name in additionalInfo. — thanks myhrmans
  • #325 Add custom bank adapter for 'SEB Kort Bank AB' to properly sync credit card transactions. — thanks walleb

24.3.0

The release has the following notable improvements:

  • Transaction list sortable by cleared status
  • Offline PWA support
  • Creating schedules from existing transactions
  • (Experimental) custom report saving - please report your feedback here

Actual

Version: v24.3.0

Features

  • #2059 Support automatically splitting transactions with rules — thanks jfdoming
  • #2222 Add ability to create schedules from existing transactions — thanks xentara1
  • #2262 Don't allow duplicate category groups — thanks dhruvramdev
  • #2344 Remove category spending report which has been superseded by the custom reports feature. — thanks kyrias
  • #2369 Add offline support to PWA — thanks jfdoming

Enhancements

  • #1994 Make transaction list sortable by cleared status — thanks jaarasys-henria
  • #2121 Change the hover background color of the month picker range to match other buttons in the UI. — thanks pprimor
  • #2257 Expanding the menu for saving reports and adding hooks and logic. — thanks carkom
  • #2285 Web manifest additions — thanks youngcw
  • #2300 Change look back and look forward time range when fuzzy matching — thanks yoyotogblo
  • #2302 In custom reports: separating "show offbudget" filter to split out hidden categories from offbudget. — thanks carkom
  • #2309 Consider child transactions when fuzzy matching imported transactions. — thanks joel-jeremy
  • #2312 Theme: Add Midnight theme — thanks shall0pass
  • #2322 Added show/hide balance button to the cash flow report — thanks MatissJanis
  • #2326 Allow running DB queries against the local database outside of dev-mode. Read more in AQL docs — thanks MatissJanis
  • #2335 Allows for saving custom reports. Also changes reports dashboard to display saved reports. — thanks carkom
  • #2346 Dynamically changing graph margins for large budgets with Y axis max > 1,000,000. — thanks carkom
  • #2350 Creating an autocomplete for custom reports so they can be recalled without switching back to the dashboard. — thanks carkom
  • #2358 Allow to post transaction(s) from schedule(s) at any time. — thanks radtriste
  • #2368 Show rules with splits on rules overview page — thanks jfdoming
  • #2386 Enable dashboard card "rename" menu. Change default custom report card to just show a button. Adjust time filters. Fix category order. — thanks carkom
  • #2389 Adding an interval menu to custom reports — thanks carkom

Bugfix

  • #2123 Add Primary Button hover background colors for light and Dark theme — thanks Ife-Ody
  • #2286 Fix margin when editing account name on desktop — thanks dhruvramdev
  • #2313 Fix collapsed budget header colors — thanks youngcw
  • #2317 Fix variable name misspelling in Dark theme — thanks shall0pass
  • #2325 Re-open autocomplete dropdown on change — thanks jfdoming
  • #2327 Save budget/account name fields on blur — thanks jfdoming
  • #2342 Fix parse errors with OFX data with no transactions — thanks twk3
  • #2352 Fix overlapping mobile nav bar. — thanks skymaiden
  • #2360 Change default schedule amount so that the amount sign can be changed first and not be locked to "-" — thanks youngcw
  • #2364 Convert html special characters in OFX imports to plaintext. — thanks twk3
  • #2383 Fix ability to rename budget in the UI. — thanks twk3
  • #2399 Only match 2 decimal places when parsing amounts for file import — thanks youngcw
  • #2401 Fix bug in create schedule from transaction — thanks youngcw
  • #2411 Fix crash in the BarGraph for Net/Interval. — thanks carkom

Maintenance

  • #2231 Split out large file FiltersMenu.jsx into separate elements and converted them all to Typescript. — thanks carkom
  • #2270 Update desktop-client dependency versions. — thanks joel-jeremy
  • #2274 Updating and organizing code in preparation for saved custom reports menu. — thanks carkom
  • #2280 Update loot-core dependencies — thanks joel-jeremy
  • #2283 Update yarn to 4.0.2 — thanks joel-jeremy
  • #2293 Add hooks for frequently-made operations in the codebase. — thanks joel-jeremy
  • #2295 Monthly cleanup tool: Adjust behavior with category roll-over and allow partial fills — thanks shall0pass
  • #2298 Remove modals.d.ts file — thanks joel-jeremy
  • #2304 Don't launch browser in docker development. — thanks twk3
  • #2316 Enable passing HTTPS env variable flag to dev container for easy HTTPS enabling. — thanks jaarasys-henria
  • #2319 Upgrade deprecated github CI actions — thanks MatissJanis
  • #2320 Split out large file SavedFilters.jsx into separate elements and converted them all to Typescript. — thanks carkom
  • #2328 Removing unused old code paths — thanks MatissJanis
  • #2334 Define more of the returns types in api-handlers. — thanks twk3
  • #2343 Patching an incorrect TypeScript type definition used for sendCatch method return value. — thanks MatissJanis
  • #2345 Changing graph styles so that they can be used for cards on Reports Dashboard. Also updating Entities and create/update calls for saved reports. — thanks carkom
  • #2349 Organizing and splitting filters Autocomplete. Splitting out headers function that was duplicated in all autocomplete elements. — thanks carkom
  • #2356 Removed victory dependency in favor of recharts — thanks MatissJanis
  • #2357 eslint: re-enable some rules to enforce better code quality — thanks MatissJanis
  • #2380 Excludes folders in tsconfig to fix VS Code "Configure Excludes" warning. — thanks joel-jeremy
  • #2385 Midnight theme updates — thanks shall0pass
  • #2394 Midnight theme updates, round 2 — thanks shall0pass

Actual Server

Version: v24.3.0

Enhancements

  • #305 Add GoCardless integration for Andelskassen Fælleskassen — thanks circle3451
  • #315 Add pending transaction import and handling, where supported, to SimpleFIN integration. — thanks duplaja

Bugfix

  • #310 Switch from using deprecated gocardless endpoints. — thanks twk3
  • #311 Fix the redirect for gocardless link so the page closes when complete. — thanks twk3

Maintenance

24.2.0

The release has the following notable improvements:

  • Reconciled transaction improvements:
    • ability to filter by the status
    • ask for confirmation if editing date
    • allow un-reconciling by clicking on the lock icon
  • Split transactions now have a "distribute" button that fills the remaining amount among the sub-transactions with no amount
  • (Experimental) SimpleFIN bank-sync support for US banks - please report your feedback here

Actual

Version: v24.2.0

Features

  • #2151 Add "Distribute" button to distribute remaining split amount across empty splits. — thanks NikxDa

Enhancements

  • #2056 Added cleared and uncleared Balances to Account Mobile View — thanks HansiWursti
  • #2108 Adding filter for reconciled transactions. — thanks davidkus
  • #2124 Enabling and formatting "viewLabels" button for custom reports page — thanks carkom
  • #2134 Ask for confirmation when editing date of a locked transaction — thanks Jackenmen
  • #2138 Add cleared column in csv export — thanks kstockk
  • #2163 Add ability to import categories from CSV — thanks ScottFries, blakegearin, & carkom
  • #2174 Hide "show ..." checkboxes within menu for custom reports page. Introduce toggle switches. — thanks carkom
  • #2176 Update sync.ts with additionalInformation as last resort fallback to prevent Payee being empty — thanks rjwonder
  • #2188 Add option to link an account with SimpleFIN for syncing transactions. — thanks zachwhelchel, duplaja, lancepick, & latetedemelon
  • #2202 Fix site.webmanifest to make Actual install-able as a Chromium PWA — thanks subnut
  • #2206 Add crossorigin assignment to use credentials for PWA with authentication — thanks shall0pass
  • #2245 Adding compact identifier to all of the graphs and cleaning them up. Plus other staging bits for saving custom reports. — thanks carkom
  • #2246 Add schema and backend functionality for custom reports. This is to enable saving reports in a future PR. — thanks carkom
  • #2252 Allow un-reconcile (unlock) transactions by clicking on the lock icon — thanks MatissJanis
  • #2282 Cleanup utility: Update goal target after end of month cleanup tool is activated for 'source' categories — thanks shall0pass
  • #2284 Add Off Budget category label to mobile transactions page — thanks joel-jeremy

Bugfix

  • #2132 Fix net worth graph to show more detail in compact card view — thanks jasonmichalski
  • #2144 Fix when pressing Enter adds an extra split transaction when no split remains — thanks jasonmichalski
  • #2191 Allow case insensitive ynab5 import for special 'starting balance' payee — thanks Marethyu1
  • #2195 Add missing borders in report budget table — thanks youngcw
  • #2196 Improve report budget pie chart colors — thanks youngcw
  • #2199 rules: add 'no rules' message and always show the rules table (even if no rules exist) — thanks MatissJanis
  • #2204 Re implemented the mobile Account Error Page introduced in #2114 and reverted in #2186 — thanks HansiWursti
  • #2207 Fix multi-autocomplete in rules page causing crashes — thanks MatissJanis
  • #2214 Mobile - Disable Save Button while editing Transaction Fields - Fixes #2203 — thanks HansiWursti
  • #2217 vite hosting regression fix. adds hosting on network back onto vite. — thanks carkom
  • #2233 Restore ability to use console.log in vite — thanks twk3
  • #2238 GoCardless: fix sync not working if additionalInformation fallback field is null — thanks MatissJanis
  • #2249 Fixing a bug where custom reports table graph crashes due to a type mismatch error. — thanks carkom
  • #2251 Fix 'delete file' button always deleting the cloud file. — thanks MatissJanis
  • #2261 Fix color in schedule before/after weekend selection — thanks youngcw
  • #2273 Fix 'uncategorized transactions' flashing in the header on page load — thanks MatissJanis
  • #2276 Fix link for registering with GoCardless — thanks edleeman17
  • #2277 Fix a missing ref param warning for forwardRef — thanks twk3
  • #2278 Fix 'false' passed as title in import transactions modal — thanks twk3
  • #2279 Fix same account sort_order when creating a demo budget — thanks youngcw
  • #2281 Fix database entry when applying goal templates — thanks shall0pass
  • #2308 Fix GoCardless bank sync breaking after a flaky SimpleFin db migration. — thanks MatissJanis

Maintenance

  • #2053 Bundle loot-core types into the API — thanks twk3
  • #2072 Fixing TypeScript issues when enabling strictFunctionTypes (pt.5). — thanks MatissJanis
  • #2081 Refactored MobileBudget component to TypeScript — thanks joel-jeremy
  • #2084 Switch desktop-client to the Vite JS framework. — thanks twk3
  • #2102 Goals: Refactor schedules file into functions and improve the readability of the code. — thanks shall0pass
  • #2115 eslint: no default exports — thanks joel-jeremy
  • #2116 eslint: no default exports - part 2 — thanks joel-jeremy
  • #2117 eslint: no default exports - part 3 — thanks joel-jeremy
  • #2118 eslint: no default exports - part 4 — thanks joel-jeremy
  • #2119 eslint: no default exports - part 5 — thanks joel-jeremy
  • #2120 eslint: no default exports - part 6 — thanks joel-jeremy
  • #2136 TypeScript: Add proper types to runHandler — thanks twk3
  • #2142 Fixing TypeScript issues when enabling strictFunctionTypes (pt.4). — thanks MatissJanis
  • #2153 Reorganize tableGraph files for custom reports. — thanks carkom
  • #2168 Add api tests for payees and transactions — thanks twk3
  • #2169 eslint: no default exports - part 7 — thanks joel-jeremy
  • #2170 eslint: no default exports - part 8 — thanks joel-jeremy
  • #2171 eslint: no default exports - part 9 — thanks joel-jeremy
  • #2172 eslint: no default exports - part 10 — thanks joel-jeremy
  • #2173 eslint: no default exports - part 11 — thanks joel-jeremy
  • #2181 migration: rename nordigen_* secrets to gocardless_* — thanks MatissJanis
  • #2182 Electron-app app store (OSX) release — thanks MatissJanis
  • #2184 eslint: no default exports - part 12 — thanks joel-jeremy
  • #2185 eslint: no default exports - part 13 — thanks joel-jeremy
  • #2186 Revert to fix master: Add error Page for special accounts in Mobile — thanks twk3
  • #2190 electron: move back from WebSockets to IPC for internal communications. This should improve the stability of the desktop app. — thanks MatissJanis
  • #2192 Fix table graph rendering issue for custom reports. — thanks carkom
  • #2208 ESLint to enforce Actual's useNavigate hook — thanks joel-jeremy
  • #2209 electron: split the build script in 2x parts to fix it failing when no code signing cert is provided (PRs from forks). — thanks MatissJanis
  • #2212 TypeScript: fix some strictNullChecks: true issues — thanks MatissJanis
  • #2215 removing old OFX parser code in favor of the new one — thanks MatissJanis
  • #2224 Change the vite chunk filename hash to closely match our webpack syntax — thanks twk3
  • #2228 TypeScript: fix some strictNullChecks: true issues (pt.2) — thanks MatissJanis
  • #2230 typescript: enable strict mode in most files; disable it in files that still need to be fixed — thanks MatissJanis
  • #2244 Moving entities and updating existing for custom reports. Also creating a new entity for the custom report data. — thanks carkom
  • #2247 TypeScript: making some files comply with strict TS. — thanks MatissJanis
  • #2250 Updated Github issues template to direct bug reports to the support channel (Discord) — thanks MatissJanis
  • #2253 Upgrading prettier, fixing the issues and enabling it for jsx files too — thanks MatissJanis
  • #2254 Making custom reports code more compact and efficient. — thanks carkom
  • #2255 Code clean-up: removing unused variables — thanks MatissJanis
  • #2256 Code clean-up: removing unused variables (pt.2) — thanks MatissJanis
  • #2258 Adding compact elements to custom reports. — thanks carkom
  • #2260 Refactored cash flow report from victory to recharts — thanks MatissJanis
  • #2263 Use useSingleActiveEditForm hook in mobile budget table — thanks joel-jeremy
  • #2268 Update vite / swc / ts versions. — thanks joel-jeremy
  • #2287 Update VRT instructions — thanks youngcw

Actual Server

Version: v24.2.0

Enhancements

Maintenance

  • #284 Remove obsolete fly.template.toml — thanks albertchae
  • #293 migration: rename nordigen_* secrets to gocardless_* — thanks MatissJanis
  • #300 Optional non-root user for Docker — thanks hkiang01
  • #302 Reduce docker build failures on 32bit platforms — thanks twk3
  • #303 Fixed a broken link in the README! — thanks BoKKeR

24.1.0

The release has the following notable improvements:

  • Mobile split transactions
  • Ability to set max occurrences (or end date) for schedules
  • (Experimental) custom report enhancements (please report bugs/feedback here)

Actual

Version: v24.1.0

Features

  • #1899 Add end date/max occurrences field to schedules, useful for things like installments — thanks jfdoming
  • #2068 Mobile split transactions — thanks joel-jeremy

Enhancements

  • #1906 Add support for automatic theme switching based on system theme — thanks spezzino
  • #1964 Category and group menu/modal in the mobile budget page to manage categories/groups and their notes. — thanks joel-jeremy
  • #1988 Data loading performance improvements for custom reports — thanks carkom
  • #2046 Adding typescript to custom report files and small functional changes. — thanks carkom
  • #2062 Adds a property to the returned items in the API for category and categoryGroup to inform if it is hidden. — thanks iOSLife
  • #2067 Adding types for future typescript changes. — thanks carkom
  • #2069 Updating variable naming for custom reports page. — thanks carkom
  • #2073 Migrate tooltips.js to typescript — thanks IzStriker
  • #2078 Enable Legend for custom reports. — thanks carkom
  • #2080 Add live/static choice for date filters. — thanks carkom
  • #2082 Add left and right margin to modals. — thanks joel-jeremy
  • #2094 Custom reports: Convert the view options (legend/summary/labels) to global preferences that apply to all graphs. — thanks carkom
  • #2098 Changing the view and functions for donut graph in custom reports. — thanks carkom

Bugfix

  • #2002 Prevent deleted categories blocking creation of new categories with the same name. — thanks kymckay
  • #2008 Fix filter Amount formatting issue — thanks vishnukaushik
  • #2031 Fix bulk edit field modal in desktop — thanks joel-jeremy
  • #2085 Realign and fix header/totals row for table graph in custom reports — thanks carkom
  • #2092 Fix background color when pinning sidebar (Issue #2089) — thanks HansiWursti
  • #2093 Fix missing divider bar issue #1878 — thanks HansiWursti
  • #2096 Fix category spending report (experimental) not loading #1981 — thanks MatissJanis
  • #2099 [Goals]: Fix over budget condition with using apply instead of overwrite — thanks youngcw
  • #2100 Goals: Don't run templates on non-hidden categories inside of hidden groups — thanks youngcw
  • #2125 Goals: Negate schedule amount to budget if income — thanks mk-french
  • #2127 Fix update transaction API bug — thanks mk-french
  • #2140 Fix imported transactions overriding reconciled (locked) transaction data — thanks MatissJanis
  • #2141 Fix filtering in rules page: apply the filter on the full data set instead of the limited (paginated) data set. — thanks MatissJanis & jasonmichalski
  • #2166 Fix mobile transaction page amount input bug on iOS. — thanks joel-jeremy

Maintenance

  • #1991 Add some initial api tests for budgets and accounts — thanks twk3
  • #1993 Use Page component for mobile pages — thanks joel-jeremy
  • #2004 Convert BudgetTotals, GoCardlessLink, Import, WelcomeScreen components to Typescript. — thanks MikesGlitch
  • #2005 Maintenance: Update CashFlow.js to use typescript — thanks lucasboebel
  • #2007 Migrating the DateRange and UseReport files to typescript — thanks ameekSinghUniversityAcc
  • #2009 Migrating the util.js and chartTheme.js files to typescript — thanks ghosetuhin
  • #2022 Refactored FixedSizeList to TypeScript — thanks MatissJanis
  • #2023 Added more strict typings to utils.ts and some of its dependencies — thanks MatissJanis
  • #2025 Adding aria-labels to some buttons for greater accessibility — thanks MikesGlitch
  • #2029 Enable react/no-children-prop rule and fix the issues — thanks MatissJanis
  • #2032 Apply eslint prefer-const rule to loot-core server files. — thanks joel-jeremy
  • #2033 Apply ESLint prefer-const on components folder part 1 — thanks joel-jeremy
  • #2034 Apply ESLint prefer-const on components folder part 2 — thanks joel-jeremy
  • #2036 Add api tests for categories and category groups — thanks twk3
  • #2048 Fixes and updates to dark theme colors. — thanks carkom
  • #2064 Cleanup older unused version of react-router — thanks twk3
  • #2065 Fixing TypeScript issues when enabling strictFunctionTypes. — thanks MatissJanis
  • #2066 Fixing TypeScript issues when enabling strictFunctionTypes (pt.2). — thanks MatissJanis
  • #2070 Fixing TypeScript issues when enabling strictFunctionTypes (pt.3). — thanks MatissJanis
  • #2074 ci: add helpful bot comments if CI jobs fail. — thanks MatissJanis
  • #2101 Apply eslint filename extensions for jsx. — thanks twk3
  • #2111 eslint: disallow unnecessary curly braces — thanks MatissJanis
  • #2112 TypeScript: moving DeleteFile component to TS — thanks MatissJanis
  • #2113 Enable prefer-const ESLint rule project-wide — thanks joel-jeremy

Actual Server

Version: 24.1.0

Maintenance

  • #292 docs: updated the GoCardless integration instructions — thanks MatissJanis

23.12.1

This release does not have any UI changes or feature improvements. It features only actual-server fix for Synology NAS users.

Bug report: https://github.com/actualbudget/actual/issues/2011

Actual Server

Version: 23.12.1

Bugfix

  • #289 Store the migrations statestore in the datadir instead of the application root. — thanks bjw-s

23.12.0

The release has the following notable improvements:

  • Dark theme is complete and no longer an experimental feature
  • Transactions are now locked after reconciling
  • Mobile: account creation
  • Mobile: pull-down-to-sync available in the budget page
  • Mobile: swipe up in the footer menu to reveal more pages

We are also proud to announce two new experimental features:

  • Custom reports (please report bugs/feedback here)
  • Sankey report (please report bugs/feedback here)

Actual

Version: 23.12.0

Features

  • #1739 Added a Sankey chart report as an experimental feature. — thanks shaankhosla
  • #1789 Lock transactions after reconciliation. — thanks zachwhelchel
  • #1791 Create and implement a customizable charts page. Currently hidden under feature flag (experimental). To include ability to save charts and show tiles on Overview page (future PR) — thanks carkom
  • #1925 Dark theme is live!! — thanks carkom

Enhancements

  • #1758 Swipe up mobile navbar to reveal more menus. — thanks joel-jeremy
  • #1780 Goals: Add indicator of goal status. Add db entries for saving the goal, and for the template json. — thanks shall0pass & youngcw
  • #1788 Added option to select in/out field during import. — thanks Jessseee
  • #1798 Consolidating and making more consistent the warning and upcoming colors. Also includes some dark mode fixes. — thanks carkom
  • #1833 Not allowed duplicated Category names in Category Groups — thanks Shazib
  • #1853 Mobile create account. — thanks joel-jeremy
  • #1858 Mobile budget pull down to sync. — thanks joel-jeremy
  • #1862 Allow month names and abbreviations in dates (e.g. "December 24 2020") when importing — thanks jamescostian
  • #1874 Standardizes mobile colors so that the mobile view feels much more unified. — thanks carkom
  • #1876 Support import of OFX transactions of type INVSTMTMSGSRSV1 — thanks joel-jeremy
  • #1880 Mobile report budget — thanks joel-jeremy
  • #1887 Updates dark theme sidebar color and clean up theme files. — thanks carkom
  • #1900 Larger mobile autocomplete component fonts and paddings. — thanks joel-jeremy
  • #1944 Create category rules during ynab imports — thanks twk3
  • #1980 Validates minimum node version to 18.12.0 for actual-app/api npm package — thanks Marethyu1

Bugfix

  • #1765 Dark mode - darker tint for pageTextLink. — thanks Evomatic
  • #1820 Fix styling of transaction page on mobile. — thanks KaiBelmo
  • #1836 UPDATES NYNAB import to support importing transactions that contain sub transactions that are account transfers — thanks Marethyu1
  • #1840 Schedule creation modal notify user of weekend skip option — thanks sethgillett
  • #1864 Make Select All respect filters and splits — thanks jamescostian
  • #1867 Fix account filter for budgeted and offbudget accounts, fixes #1577 — thanks sreetamdas
  • #1885 Fix crash when hitting undo after applying a rule to some transactions — thanks jfdoming
  • #1911 Fixing duplicate color issue. — thanks carkom
  • #1916 Fix mobile accounts page padding regression. — thanks joel-jeremy
  • #1917 Goals: Fix infinite loop situation with Schedule keyword — thanks shall0pass
  • #1921 Experimental OFX parser: Support multiple months in OFX file — thanks joel-jeremy
  • #1926 Fix issue with electron builds being stuck on a blank screen. — thanks Shazib
  • #1929 Fix flickering scroll bar that may appear when interacting with the new transaction input amount. — thanks miqh
  • #1930 Bug fixes for custom reports. — thanks carkom
  • #1933 Fix switching budget from rollover budget to report budget and immediately back does not work — thanks paulsukow
  • #1934 Sets minimum node version to 18.12.0 for actual-app/api npm package — thanks Marethyu1
  • #1938 Fix space-comma format for newer NodeJS versions (18.18, and 21.x), fixes #1937 — thanks twk3
  • #1951 Consistent button sizes in budget title bar — thanks joel-jeremy
  • #1955 "Transfer" and "Off Budget" categories in mobile transaction page — thanks joel-jeremy
  • #1962 Fix broken modals. Unlock transactions moved to another account. — thanks zachwhelchel
  • #1965 Fix mobile budget cell save issue — thanks joel-jeremy
  • #1970 Style: change GoCardless success button color — thanks MatissJanis
  • #1975 Bug fixes for cancel add category group. — thanks williamk19
  • #1976 Fix bug in rule transaction apply preventing amount overrides — thanks jfdoming
  • #1984 Goals: Fix Schedule over-budget condition — thanks shall0pass
  • #1987 Fix rule ranker in API. — thanks carkom
  • #1992 Fix locked amount sign in schedule editor — thanks youngcw
  • #2000 Goals: Fix priority sorting — thanks youngcw

Maintenance

  • #1834 Convert Titlebar, BudgetPageHeader, DynamicBudgetTable, Tooltips components to Typescript. — thanks MikesGlitch
  • #1860 Added darkmode VRT (screenshot) tests — thanks MatissJanis
  • #1868 Consolidating colors so they are more consistent across the app from one page to the next — thanks carkom
  • #1871 Consolidating colors so they are more consistent across the app from one page to the next. — thanks carkom
  • #1875 Removing the last of the static colors and replacing with theme colors. — thanks carkom
  • #1879 Convert BudgetSummaries, MonthPicker, SidebarCategory components to Typescript. — thanks MikesGlitch
  • #1888 Goals: Move goal target calculations to individual files. — thanks shall0pass
  • #1893 Enabled react/no-unstable-nested-components eslint rule. — thanks MatissJanis
  • #1895 Add budget tables to AQL schema — thanks youngcw
  • #1897 Convert ExpenseGroup, ExpenseCategory, IncomeCategory components to Typescript. — thanks MikesGlitch
  • #1902 Upgrade yarn to v4 and better-sqlite3 to v9.1.1. — thanks MatissJanis
  • #1909 Type hardening action operator in rules.tsx — thanks Marethyu1
  • #1923 Convert CloseAccount, AccountAutocomplete, SavedFilterAutocomplete, PayeeAutocomplete components to Typescript. — thanks MikesGlitch
  • #1936 Refactor AmountInput component to TypeScript. — thanks kymckay
  • #1941 Ported gocardless file to TypeScript — thanks MatissJanis
  • #1942 Ported global-events to TypeScript — thanks MatissJanis
  • #1946 Refactor DiscoverSchedules component to tsx and enrich types for schedules discover endpoint. — thanks muhsinkamil
  • #1948 Refactor Payee table to TypeScript and harden generic Table component typing. — thanks kymckay
  • #1949 eslint: disallow using 'var': no-var rule — thanks MatissJanis
  • #1950 Split up large payee management components file. — thanks kymckay
  • #1956 ESLint prefer-const rule — thanks joel-jeremy
  • #1958 ESLint prefer-const rule — thanks joel-jeremy
  • #1959 Eslint: enable object-shorthand:properties eslint rule — thanks MatissJanis
  • #1960 Make screenshot comparisons more strict to improve reliability — thanks MatissJanis
  • #1972 Update ConfirmCategoryDelete, GoCardlessExternalMsg, ManageRulesModal to tsx — thanks MikesGlitch

Actual Server

Version: 23.12.0

Enhancements

Bugfix

  • #274 Add "docker.io/" registry prefix to docker compose image — thanks Valloric
  • #275 Fix: add missing migrations folder for docker — thanks MatissJanis
  • #278 Fix: GoCardless bank sync not working as expected after last migration PR merge — thanks MatissJanis
  • #281 Fix: ERR_UNSUPPORTED_ESM_URL_SCHEME by upgrading node-migrate to v2.0.1 — thanks MikesGlitch & MatissJanis
  • #283 Fix: non-unique transactionId values for Belfius bank causing missing data. — thanks Nudded
  • #285 Fix: add fixes for BNP Paribas Fortis and Hello Bank — thanks feliciaan

Maintenance

  • #277 Upgrade yarn to v4 and better-sqlite3 to v9.1.1 — thanks MatissJanis

23.11.0

The release has the following notable improvements:

  • Mobile: budget management - editing amounts, renaming names, etc.
  • Mobile: hide navbar when scrolling down
  • Web: sync when clicking "ctrl+s" or "cmd+s"
  • Desktop app: stability improvements

Actual

Version: 23.11.0

Enhancements

Bugfix

  • #1694 Desktop: reconnect to web-sockets if connection lost or server restarted — thanks MatissJanis
  • #1750 End of month cleanup - fixed condition that caused an error with null carryover value — thanks shall0pass
  • #1751 Prevent parent transaction being added to transfer account when splitting an existing transaction. — thanks joel-jeremy
  • #1753 Goals - Fix schedules 'in between' calculation — thanks shall0pass
  • #1774 Fix selecting delimiters in CSV options when uploading a CSV; it will apply to parsing. Also added a new delimiter '|'. — thanks KaiBelmo
  • #1783 Fix alignment of mobile budget header elements. — thanks joel-jeremy
  • #1797 Adjust casing of theme options for consistent presentation. — thanks miqh
  • #1808 Fix flaky mobile back button on account transactions. — thanks joel-jeremy
  • #1819 Fix styling on cash-flow graph. — thanks shaankhosla
  • #1824 Allow categorise transfer to off budget accounts on mobile — thanks Kit-p
  • #1844 Mobile: Fix mobile budget click handlers — thanks joel-jeremy
  • #1855 Fix: add missing top border for menu popover in budget page — thanks MatissJanis
  • #1856 Fix: bring back rollover arrows in budget page — thanks MatissJanis

Maintenance

  • #1743 refactor the following to tsx: IncomeGroup, IncomeHeader, MonthsContext, RenderMonths, SidebarGroup. — thanks Jod929
  • #1755 Convert CreateAccount and CreateEncryptionKey components to TypeScript. — thanks MikesGlitch
  • #1768 Convert BudgetSummary modal(mobile) and CreateLocalAccounts components to TypeScript. — thanks MikesGlitch
  • #1776 Convert DateSelect component to TypeScript and update category query type. — thanks MikesGlitch
  • #1784 Convert FixEncryptionKey, Loading, AnimatedLoading components to TypeScript and update get-payee query type. — thanks MikesGlitch
  • #1785 Update generated icons to typescript — thanks MikesGlitch
  • #1814 Added 2 new VRT tests for reports. — thanks shaankhosla
  • #1823 Convert Sort Utils, DisplayId, PlaidExternalMsg components to Typescript — thanks MikesGlitch

Actual Server

Version: 23.11.0

Maintenance

  • #260 Removing deprecated jlongster/actual-server — thanks MatissJanis
  • #262 Add github issue templates — thanks MatissJanis
  • #268 Upgrade better-sqlite3 to v8.6.0 to align with the version used in frontend — thanks MatissJanis

23.10.0

Actual

Version: 23.10.0

Features

Enhancements

Bugfix

  • #1634 Fix pressing Enter on Encryption Key cancels entry instead of update the key — thanks syukronrm
  • #1645 Fix navigateToSchedule prop. — thanks joel-jeremy
  • #1646 Fix blur performance issue in Safari. — thanks joel-jeremy
  • #1649 Fix qfx import issues reported in v23.9.0. — thanks joel-jeremy
  • #1654 Don't show hidden groups on mobile — thanks youngcw
  • #1656 Don't show hidden income categories on mobile — thanks youngcw
  • #1657 Fix signup page not allowing to use domains without protocol — thanks MatissJanis
  • #1665 Mobile: fix sync button design — thanks MatissJanis
  • #1669 Mobile: fix schedule status label positioning — thanks MatissJanis
  • #1678 Fixes the reconciliation tooltip to use the cleared balance instead of the balance from all transactions — thanks shaankhosla
  • #1679 Mobile: Show true name of income group — thanks youngcw
  • #1681 Category autocomplete doesn't include unselectable category groups now — thanks shaankhosla
  • #1687 Fix a checkbox label sometimes appearing in multiple lines in the schedules modal — thanks MatissJanis
  • #1698 Mobile account transaction list: Restore sticky date section headers — thanks trevdor
  • #1703 fixing a darkTheme regression in sidebar account sync status — thanks carkom
  • #1706 Mobile: fix transaction list scrolling requiring a previous interaction before scroll happens — thanks MatissJanis
  • #1708 fixing filter transaction to show empty note instead of showing error "Value cannot be empty" — thanks syukronrm
  • #1718 Goals: fix bug in report budget templates, and add a speedup — thanks youngcw
  • #1721 Redirect back to budget page if non-existing pages accessed — thanks MatissJanis
  • #1728 Keep schedule name after completion or recreation — thanks shaankhosla
  • #1729 Fix bug that makes the schedule search bar shrink when there's many schedules. — thanks shaankhosla
  • #1738 Goals - Fixed an overbudgeting condition — thanks shall0pass
  • #1752 couple small regression fixes — thanks carkom

Maintenance

  • #1542 Remove usage of glamor CSSProperties — thanks joel-jeremy
  • #1566 Convert budget page component from class component to functional — thanks MatissJanis
  • #1584 Break apart budget/misc.js — thanks joel-jeremy
  • #1597 Use useCategories hook everywhere categories are accessed. — thanks MatissJanis
  • #1599 Convert eslint rules from "error" to "warn" to improve dev-experience; CI jobs treat warnings as errors, so we still have the same level of protection, but the local-dev experience is slightly improved — thanks MatissJanis
  • #1600 Experimental OFX parser meant to replace node-libofx — thanks joel-jeremy
  • #1614 Rename CategorySelect to CategoryAutocomplete — thanks joel-jeremy
  • #1630 Replace usage of format with useFormat hook — thanks joel-jeremy
  • #1632 Upgraded absurd-sql and removed patch-package dependency — thanks MatissJanis
  • #1637 Remove glamor ...css syntax. — thanks joel-jeremy
  • #1641 VRT: set a static version and unmask more regions for the tests — thanks MatissJanis
  • #1643 Upgraded better-sqlite3 to 8.6.0 in order to fix electron-app data export crash — thanks MatissJanis
  • #1644 Refactor Schedules to tsx. — thanks muhsinkamil
  • #1650 Use swc-loader. — thanks joel-jeremy
  • #1658 Electron: improving operating system detection — thanks MatissJanis
  • #1659 Enable SWC sourceMaps. — thanks joel-jeremy
  • #1660 Migrate some components to TypeScript. — thanks doggan
  • #1668 Cleanup glamor style properties left behind as result of merge resolution. — thanks joel-jeremy
  • #1670 Refactor budget/IncomeHeader to tsx — thanks Jod929
  • #1672 Added mock schedules to the test budget to improve reliability and testing experience — thanks MatissJanis
  • #1674 Upgrade electron dependencies — thanks MatissJanis
  • #1677 Moving 'rules' server action handlers into a separate file — thanks MatissJanis
  • #1680 Typescript: hardening data entity types — thanks MatissJanis
  • #1688 Remove privacyMode feature flag as this feature is GA — thanks MatissJanis
  • #1691 Refactor SchedulesTable and its components to tsx. — thanks muhsinkamil
  • #1692 CI: do not cancel active Github jobs on master branch — thanks MatissJanis
  • #1701 Add a common component for AnchorLink and ButtonLink — thanks th3c0d3br34ker
  • #1705 Updating mobile icon to have no white border — thanks MatissJanis
  • #1707 Remove unnecessary react-error-overlay manual resolution — thanks MatissJanis
  • #1722 Refactor budget/BudgetMonthCountContext to tsx. — thanks Jod929
  • #1725 Add support for type 'link' in Button component. — thanks th3c0d3br34ker
  • #1733 Consolidate useMergedRefs hook and convert it to TypeScript. — thanks MikesGlitch

Actual Server

Version: 23.10.0

Features

  • #245 Make upload limits configurable via env vars to allow for larger files to be uploaded. — thanks DistroByte

Enhancements

  • #257 Add GoCardless integration for Spar Nord DK — thanks Aarup

Maintenance

  • #265 Make edge builds fetch master builds from correct repository. — thanks kyrias

23.9.0

Docker tag: 23.9.0

Actual

Version: 23.9.0

Features

  • #1340 Add editing / adding transactions on mobile devices (via an initial port of the old React Native UI) — thanks Cldfire
  • #1382 Add category spending report — thanks kyrias & ovbm
  • #1623 Releasing privacy mode as a supported feature — thanks joel-jeremy & MatissJanis

Enhancements

  • #1436 Phase one of dark theme, to include filters/rules/transaction tables — thanks biohzrddd & carkom
  • #1455 Show projected balance when creating a new transaction — thanks joel-jeremy
  • #1468 Improved error handling for export functionality — thanks MatissJanis
  • #1480 Update Accounts files with dark theme changes — thanks biohzrddd & carkom
  • #1482 eslint rule for capturing colors/themes — thanks carkom
  • #1484 Fetch GoCardless transactions from the last 90 days or since first transaction — thanks kyrias
  • #1491 Add loading indicators to reports page — thanks MatissJanis
  • #1493 Stop setting endDate when fetching GoCardless transactions — thanks kyrias
  • #1499 Rely on date determined by server for GoCardless transactions — thanks kyrias
  • #1505 Allow schedules to skip weekends, and automatically reschedule to before or after the weekend — thanks pole95
  • #1515 Import category notes from YNAB4 exports — thanks kyrias
  • #1545 Mobile: add transaction creation button in the footer — thanks MatissJanis
  • #1548 Category spending: improving the visual style of the side-nav — thanks MatissJanis
  • #1549 Trigger a sync when the user returns to Actual in order to present fresh data — thanks Cldfire
  • #1559 Don't update transaction date when syncing from GoCardless — thanks kyrias
  • #1573 Show all payees by default for child transactions — thanks kyrias
  • #1580 Schedule page privacy filter — thanks joel-jeremy
  • #1631 Imports: ability to toggle on/off the fallback logic for payee field (OFX imports) — thanks MatissJanis

Bugfix

  • #1402 Fix bug where all Account Transaction rows would be re-rendered on hover of a single Transaction row — thanks biohzrddd
  • #1465 Fixed clearing split transactions when importing matched transactions — thanks kstockk
  • #1481 Goals: Ignore hidden categories when applying templates — thanks shall0pass
  • #1486 Fix mobile account view — thanks Cldfire
  • #1494 Fix transactions button background color — thanks Cldfire
  • #1501 Fix collapsed schedules table in Link Schedule modal — thanks trevdor
  • #1508 Show all available transaction icons - transfer & schedule — thanks MatissJanis
  • #1518 Fix incorrect cashflow balance — thanks martinfrench92
  • #1526 Show the correct payee of scheduled transactions on "For budget" account page — thanks kyrias
  • #1529 Fix nYNAB importer when fractional budget amounts are used — thanks MatissJanis
  • #1530 Fix lightmode regressions introduced with experimental darkmode changes — thanks MatissJanis
  • #1531 Fix transaction table hover effects — thanks MatissJanis
  • #1533 Fix schedule colors in transaction table — thanks MatissJanis
  • #1539 Mobile: Don't show hidden categories — thanks shall0pass
  • #1540 Mobile: Show the correct To Budget amount on Budget Summary — thanks shall0pass
  • #1541 Fix more darkmode regressions - transaction table, csv import modal — thanks MatissJanis
  • #1546 Mobile: hide sync button when sync is not active — thanks MatissJanis
  • #1547 Reset reconciliation bar when switching accounts — thanks MatissJanis
  • #1550 Fixed expanding mobile header, aligned elements center — thanks zigamacele
  • #1551 Mobile: transaction entry screen should apply the same negative/positive logic to Amount whether or not it is focused for editing at the time Add Transaction is pressed — thanks trevdor
  • #1552 Unified fatal error design — thanks zigamacele
  • #1563 Fix Link Schedules modal list of schedules growing too long — thanks trevdor
  • #1571 Fix collapsed linked transactions table in Schedule editor modal — thanks trevdor
  • #1579 Goals: Fix percentage goals overwriting any previous goal values — thanks youngcw
  • #1581 Fix split transaction deposits parent transaction amount to off-budget account instead of the child transaction amount — thanks joel-jeremy
  • #1583 Fix to open transaction date picker when clicked while it's focused — thanks joel-jeremy
  • #1604 Mobile: fix regression of Accounts page theme — thanks trevdor
  • #1607 Mobile: Fix text color in account autocomplete dialog — thanks shall0pass
  • #1613 Close open modals when navigating to a different URL — thanks joel-jeremy
  • #1622 Fix filtering in transaction table not working — thanks MatissJanis
  • #1625 Mobile: Fix bug where tapping a date heading in an account transaction list scrolls the list to the top — thanks trevdor

Maintenance

Actual Server

Version: 23.9.0

Enhancements

  • #237 Add all integration for all Bank Norwegian branches to the GoCardless support — thanks kyrias
  • #239 Add American Express AESUDEF1 GoCardless bank integration — thanks kyrias
  • #241 Make endDate field optional when downloading GoCardless transactions — thanks kyrias
  • #242 Add GoCardless integration for Fintro BE to use additional transaction information — thanks CharlieMK
  • #243 Decide on transaction date during GoCardless transaction normalization — thanks kyrias
  • #244 Add GoCardless integration for Danske Bank Private NO — thanks LudvigHz
  • #248 Disable the Express "Powered By" HTTP header for enhanced security — thanks dylmye

Bugfix

  • #249 Fix config file not being loaded from the project root by default — thanks UnexomWid

23.8.1

Docker tag: 23.8.1

Actual

Version: 23.8.1

Enhancements

Bugfix

  • #1448 Goals: Fix 'up to' calculation to include current month spending — thanks shall0pass
  • #1450 fix Eye.js to change color dynamically based on style element passed to it. — thanks carkom
  • #1452 Goals: Schedules allow filling for future months — thanks shall0pass
  • #1456 Fix the mobile footer color back to the previous version — thanks aleetsaiya
  • #1458 In some situations the text in the Select component will be too big, which will make the inner vertical scrollbar appear. This PR is to hide the vertical scrollbar. — thanks aleetsaiya
  • #1460 Fix transparent background on titlebar. — thanks carkom
  • #1461 crdt: making the package fully TypeScript strict — thanks MatissJanis
  • #1462 Fix import from nYNAB and error-handling of other importers — thanks MatissJanis
  • #1463 Fix creating a new schedule with the same name as a deleted schedule — thanks MatissJanis
  • #1464 Goals: Applying templates would zero non-templated categories — thanks shall0pass
  • #1473 Fix approximate schedule values showing in balance pill when selected — thanks MatissJanis
  • #1473 Fix approximate schedule values showing in balance pill when selected — thanks MatissJanis

Maintenance

  • #1431 Move big input component into Input.js, port some of the manager app to TS — thanks j-f1
  • #1437 crdt: make typings more strict — thanks MatissJanis
  • #1438 crdt: upgrade murmurhash dependency — thanks MatissJanis
  • #1449 Update link in README for release notes — thanks shall0pass

Actual Server

Version: 23.8.1

No changes from the previous version.

23.8.0

Docker tag: 23.8.0

Actual

Version: 23.8.0

Features

  • #1272 Privacy mode: ability to mask sensitive information — thanks joel-jeremy
  • #1367 Add an initial feature flag and infrastructure for building out dark and custom themes. — thanks biohzrddd & j-f1

Enhancements

  • #1232 Added transaction sorting on the Account page. Uses current action as well as previous action to sort. Also adjusted the functionality and interactions of filters and searches with the sorting. — thanks carkom
  • #1235 Reworked the budget month picker — thanks Miodec
  • #1237 Remembering the currently selected month in user prefs — thanks Miodec
  • #1240 Avoid downloading code for the desktop UI on mobile and vice versa — thanks j-f1
  • #1287 Added a negate options to the filters that are string based fields. This was added to Accounts page filters as well as the rules modal. — thanks carkom
  • #1329 Goals: Enable goal templates in Report Budget — thanks shall0pass
  • #1334 Square off the bottom corners of the payee list on the “Payees” page — thanks j-f1
  • #1335 Hide the “Show unused payees” button unless it is relevant — thanks j-f1
  • #1344 Goals: Use setZero function within goal templates for speed improvement — thanks shall0pass
  • #1350 Add ability to apply budget prefill calculations to a single category. Includes Goal template support. — thanks shall0pass & kyrias
  • #1354 Scheduled transactions for the month to show up in Account's running balance — thanks joel-jeremy
  • #1371 Improve clarity of informational message in “merge unused payees” modal — thanks j-f1
  • #1372 Add support for parsing TSV files using the existing CSV parser — thanks j-f1
  • #1373 Allow importing the first row of a CSV file that does not contain a header row — thanks j-f1
  • #1391 Begin porting some parts of the UI to look different in light mode — thanks biohzrddd & j-f1
  • #1396 Improve error messaging when the API package fails to download a file — thanks j-f1
  • #1403 Goals: add "prev" flag to percent goal to use previous month income. — thanks youngcw
  • #1408 Improving Search Bar for all pages. — thanks carkom
  • #1412 Add Indian numbering format (lakh, crore) — thanks sidvishnoi
  • #1429 Include the schedule name when filtering schedules. — thanks kyrias

Bugfix

  • #1288 Goals: Improved calculation when 'remainder' keyword is used with other keywords in the same category. — thanks shall0pass
  • #1311 The cashflow report filters out transfers which makes the ending balance inaccurate (and variable depending on when the transfers land). I've added transfers into the report and split them out from the totals. — thanks carkom
  • #1312 Goals: Fix calculated fill when using multiple 'up to' statements in different priority levels — thanks shall0pass
  • #1316 Fix clicking enter will create empty transaction issue. — thanks aleetsaiya
  • #1325 Fix the CashFlow report crash because of the new CustomSelect — thanks aleetsaiya
  • #1349 Fix bug causing transaction import in Safari to be unreliable — thanks Cldfire
  • #1351 Fix a bug that user can transfer budget to the category (or group) which user want to delete — thanks aleetsaiya
  • #1353 Prevent the “This is a demo build of Actual” bar from shrinking on small screen sizes — thanks j-f1
  • #1363 Fixed spelling errors in the "Repair split transactions" section of the settings page. — thanks migillett
  • #1366 Fix React warning in the console — thanks j-f1
  • #1380 Correct the width of the cleared/uncleared column in the transaction list — thanks j-f1
  • #1385 Remove double scrollbar while the viewport is big enough and remove the horizontal scrollbar under the transaction table. — thanks aleetsaiya
  • #1389 Remove non-functional “is between” filter operator — thanks j-f1
  • #1397 Update the API’s node-fetch dependency to fix a bug where connections could unexpectedly fail — thanks j-f1
  • #1400 Goals: Fix leftover $0.01 when using remainder goal — thanks youngcw
  • #1406 Fix missed lines from previous merge that broke sorting. — thanks carkom
  • #1410 Goals: Fix tracking of remaining funds when using priorities — thanks youngcw
  • #1417 Always show title bar to fix electron side-nav issues — thanks MatissJanis
  • #1421 Fix collapse/pin icon color in the side-nav — thanks MatissJanis
  • #1423 Fix number formatting setting not affecting side-nav — thanks MatissJanis
  • #1433 Fix incorrect state slice path used in top server status pill — thanks MatissJanis
  • #1434 crdt: export Clock as a type - fix a console warning — thanks MatissJanis

Maintenance

  • #1186 Improve TypeScript types in loot-core — thanks TomAFrench
  • #1208 Move YNAB4/5 import code into loot-core — thanks j-f1
  • #1269 Add TypeScript typings to most of the Redux-related functionality — thanks j-f1
  • #1277 Refactor some usages of Select component to CustomSelect — thanks aleetsaiya
  • #1281 Updated author information for Desktop (electron) App — thanks Shazib
  • #1298 Sort saved filters by alphabetical order — thanks aleetsaiya
  • #1342 Remove table navigator from rules page — thanks aleetsaiya
  • #1343 Remove legacy Select and NativeCategorySelect Component — thanks aleetsaiya
  • #1348 Rename CustomSelect component to Select — thanks j-f1
  • #1355 Add a couple of ESLint rules to increase code consistency — thanks j-f1
  • #1359 Port the modal infrastructure to TypeScript — thanks j-f1
  • #1361 Rename Nordigen to GoCardless — thanks MatissJanis
  • #1362 Fix onExpose is not a function error — thanks joel-jeremy
  • #1368 Update to the latest SVGR version & re-generate all icons — thanks j-f1
  • #1374 Update the text of the comment posted when closing feature requests — thanks j-f1
  • #1378 Fix the color of the newly added icons — thanks j-f1
  • #1390 Consistency improvements for <AnimatedLoading> — thanks j-f1
  • #1395 Refactor the button component a bit and enable dark mode for it — thanks j-f1
  • #1404 Improve TypeScript compatibility with Redux-related code — thanks j-f1
  • #1405 Port the settings-related code to TypeScript — thanks j-f1
  • #1411 Fix typo in handle-feature-requests.js — thanks j-f1
  • #1413 Moving P (Paragraph), AnchorLink and useStableCallback to a separate files — thanks MatissJanis
  • #1418 Moving away from barrel common imports to more specific per-component imports (part 1) — thanks MatissJanis
  • #1419 Moving away from barrel common imports to more specific per-component imports (part 2) — thanks MatissJanis
  • #1420 Moving away from barrel common imports to more specific per-component imports (part 3) — thanks MatissJanis
  • #1422 Moving away from barrel common imports to more specific per-component imports (part 4) — thanks MatissJanis
  • #1430 Remove no-op applyFilter call — thanks j-f1
  • #1432 Remove unused budgetMonth state slice usage — thanks MatissJanis
  • #1435 Update the GitHub action used to compare bundle sizes — thanks j-f1

Actual Server

Version: 23.8.0

Enhancements

Maintenance

23.7.2

Docker tag: 23.7.2

Actual

Version: 23.7.2

Bugfix

  • #1305 Close the "add transaction" entry mode when switching between accounts — thanks MatissJanis
  • #1306 Revert category sorting on touch devices — thanks MatissJanis
  • #1308 Fix budget showing "--0.00" values sometimes — thanks MatissJanis
  • #1309 Handle upgrading from some recent edge versions to newer versions of Actual — thanks j-f1
  • #1314 Fix Custom Select unnecessary disabled scrollbar — thanks aleetsaiya
  • #1317 Fix sync: add back account type column — thanks MatissJanis

Maintenance

  • #1297 Fix a link will direct user to page not found. — thanks aleetsaiya
  • #1302 Improved error logs for invalid-schema issues — thanks MatissJanis
  • #1307 Improve CI check that catches backdated migrations — thanks j-f1

Actual Server

Version: 23.7.2

23.7.1

Docker tag: 23.7.1

Actual

Version: 23.7.1

Bugfix

Actual Server

Version: 23.7.1

23.7.0

danger

Please do not install this release. It has multiple severe bugs. The fixes are available in v23.7.1

Docker tag: 23.7.0

Actual

Version: 23.7.0

Features

Enhancements

  • #948 Remove support for storing account types on the account (they didn’t do anything in the budget) — thanks j-f1
  • #1075 Add a new sync method to the API, also sync before shutting down. — thanks j-f1
  • #1101 Goals: Add remainder option to budget all extra funds automatically. — thanks youngcw
  • #1104 Disable “Reset sync” button when sync is disabled — thanks j-f1
  • #1108 Add action in month drop down to check template lines for proper formatting — thanks youncw
  • #1121 Improve error reporting when using the API — thanks j-f1
  • #1122 Added ability to save/update/delete filters within accounts page. — thanks carkom
  • #1137 Nordigen: Update design of the “create account” flow — thanks j-f1
  • #1141 Make the behavior of the “Server” button in the top-right corner more consistent — thanks j-f1
  • #1143 Expand / collapse all categories — thanks joel-jeremy
  • #1161 Log more details when migrations are out of sync — thanks j-f1
  • #1176 Automatically set category when adding a transaction to the budget category transaction list — thanks joel-jeremy
  • #1193 Goals: Schedule keyword supports daily or weekly recurring schedules — thanks shall0pass
  • #1228 Show schedule page when clicking on the calendar icon/recurring icon and the account page when clicking on the arrow icon in transaction list's Payee column — thanks joel-jeremy
  • #1254 Goals: Add 'available funds' option to the percentage goal — thanks youngcw
  • #1268 OFX Import support using 'memo' entries as payee if 'name' is unavailable — thanks Shazib

Bugfix

  • #984 Stop frontend from attempting to connect to an invalid server when no server is configured — thanks j-f1
  • #1095 Fixes an error when 'sink' and 'source' are in the same category. — thanks shall0pass
  • #1099 Fix reloading issues, external url handling, and tidy up menus in the electron app. — thanks Shazib
  • #1105 Fix error in console when hideFraction pref is missing — thanks j-f1
  • #1107 Corrected an issue where toggling the "Show unused payees"/"Show all payees" button would raise a compilation error. — thanks SudoCerb
  • #1109 Fix ID for newly added migration — thanks j-f1
  • #1127 Nordigen: do not perform status check if server is offline — thanks MatissJanis
  • #1128 Nordigen: fix first-time setup flow when started in the accounts page — thanks MatissJanis
  • #1133 Nordigen: fix bank-sync expiry functionality — thanks MatissJanis
  • #1136 Fix "find schedules" page crashing if interaction is made before loading data finishes — thanks MatissJanis
  • #1139 Remove redundant usage of 'export' keyword — thanks Shazib
  • #1140 Automatically remove a trailing slash from server URLs before saving them — thanks j-f1
  • #1144 Revert “Make number parsing agnostic to decimal and thousands separators” because it produced undesirable behavior — thanks j-f1
  • #1170 Fix “delete file” modal layout — thanks j-f1
  • #1171 Fix transaction list page being blank on mobile — thanks j-f1
  • #1178 A couple patches for the React Router 6 upgrade. — thanks trevdor
  • #1182 Fix navigating to the per-category per-month page — thanks j-f1
  • #1204 Fix drag and drop on touch devices — thanks joel-jeremy
  • #1219 Auto-close the local/nordigen picker modal after creating an account — thanks j-f1
  • #1224 Imports from YNAB4/nYNAB will now link transfer transactions correctly — thanks j-f1
  • #1234 Stop page from refreshing when undoing — thanks j-f1
  • #1242 Fixed exporting data from Desktop (Electron) app. — thanks Shazib
  • #1247 Mobile: reduce the height of account cards — thanks MatissJanis
  • #1250 Fix link schedule option in transaction table — thanks MatissJanis
  • #1252 Fix toggling of balances in all-accounts view — thanks MatissJanis
  • #1260 Fix transaction list scrolling behavior — thanks j-f1
  • #1262 Fix tables appearing to have a blank area in tall-but-narrow windows — thanks j-f1
  • #1267 Fix the “Change server” button being invisible on Netlify deploy previews — thanks j-f1

Maintenance

  • #1066 Upgrade to react-router v6 and adopt v6 routing conventions. — thanks trevdor & j-f1
  • #1073 Add a clear error to the API when no budget is open, but you attempted to perform an action that requires a budget to be open. — thanks j-f1
  • #1076 Add types to crdt directory — thanks TomAFrench
  • #1077 Enforce proper types in server sync code — thanks TomAFrench
  • #1082 Goals: Use shared 'months' functions throughout goals — thanks shall0pass
  • #1106 Align cross-env versions in all packages; add it to desktop-electron — thanks MatissJanis
  • #1111 Remove new OFX parser in favor of the old. — thanks Sinistersnare
  • #1114 Stop mixing platform-specific code — thanks j-f1
  • #1115 Update loot-core to be built with webpack 5, matching the other packages. — thanks j-f1
  • #1117 Recommend that the frontend be developed on using Node 18, correct Electron target version — thanks j-f1
  • #1118 Partition GitHub Actions cache based on Node version — thanks j-f1
  • #1129 Update all links in the codebase to point to the new documentation site — thanks j-f1
  • #1145 Remove unused functions from source — thanks Shazib
  • #1146 Remove all legacy 'Tutorial' code — thanks Shazib
  • #1147 Remove redundant usage of 'export' keyword — thanks Shazib
  • #1150 Extracting CRDT functionality out to @actual-app/crdt package — thanks MatissJanis
  • #1155 Remove misleading 'we have been notified' error messages — thanks MatissJanis
  • #1156 Remove unused code for notifying about major new features when updating — thanks j-f1
  • #1157 Remove 'needs triage' github label — thanks MatissJanis
  • #1158 Remove unused/legacy code from codebase — thanks Shazib
  • #1173 Add additional linter rules for checking imports — thanks Shazib
  • #1174 Remove legacy tutorial code from loot-core. — thanks Shazib
  • #1180 Improve TypeScript types in loot-core — thanks j-f1
  • #1183 Fix automatic comment on completed feature requests — thanks j-f1
  • #1184 Consistently use <ExternalLink /> — thanks j-f1
  • #1187 Clean up the public/ folder — thanks j-f1
  • #1189 Remove unused scripts and IS_BETA env var — thanks MatissJanis
  • #1190 Upgrade @reach/listbox dependency from v0.11.2 to v0.18.0 and remove monkeypatch — thanks MatissJanis
  • #1192 Upgrade react-dnd dependency from v10.0.2 to v16.0.1 and remove monkeypatch — thanks MatissJanis
  • #1195 Upgrade hotkeys-js and remove monkeypatch — thanks MatissJanis
  • #1199 Add public/data to .eslintignore in desktop-client — thanks j-f1
  • #1200 Remove unused dependencies from desktop-client — thanks j-f1
  • #1202 Run ESLint at the top level once, instead of once per sub-package. — thanks j-f1
  • #1203 Remove pikaday monkeypatch — thanks MatissJanis
  • #1205 Display bundle size changes in comments on opened PRs — thanks j-f1
  • #1210 Move the report pages to a separate Webpack chunk to reduce the size of the main bundle by 25%. — thanks j-f1
  • #1212 Remove usage of Formik — thanks j-f1
  • #1213 Bundle only the variable font version of the UI font — thanks j-f1
  • #1214 Fix the bundle size comparison workflow on fork PRs — thanks j-f1
  • #1216 Remove redundant UUID wrapper module, update uuid package to 9.x — thanks j-f1
  • #1217 Move the rest of the syncing protobuf code to the CRDT package — thanks j-f1
  • #1221 Clean up legacy build scripts — thanks Shazib
  • #1222 Tidy up github action scripts — thanks Shazib
  • #1223 Updated linter settings to resolve issues with import/no-unused-modules — thanks Shazib
  • #1227 Remove unused build scripts and simplify how we build version number — thanks MatissJanis
  • #1229 Added a Netlify banner for easy jumping back to the PR — thanks MatissJanis
  • #1230 Enable dev-server asset caching — thanks MatissJanis
  • #1239 Add Desktop (electron) option to bug reports. — thanks Shazib
  • #1243 Fix workflow that posts auto comments on implemented feature requests — thanks j-f1
  • #1246 Updated git settings to ensure unix line endings on .tsx files — thanks Shazib
  • #1248 Moving some components from common.tsx to separate files inside the common folder — thanks MatissJanis
  • #1251 Cancel previous CI jobs if a new push is made — thanks MatissJanis
  • #1256 Remove lingering references to locationPtr after react-router upgrade — thanks j-f1
  • #1257 Moving more components from common.tsx to separate files inside the common folder — thanks MatissJanis
  • #1258 Reorganized accounts directory. Pulled our Header functions to make the accounts.js smaller and more manageable. — thanks carkom
  • #1259 Refactoring some usages of legacy Select component to autocompletes or CustomSelect — thanks MatissJanis
  • #1265 Back change on cleared/uncleared boxes for accounts page. — thanks carkom

Actual Server

Version: 23.7.0

Features

  • #214 Add a health check script (useful if running inside of a Docker container) — thanks j-f1

Maintenance

  • #218 Port from @actual-app/api usage to @actual-app/crdt — thanks MatissJanis

23.6.0

Docker tag: 23.6.0

Actual

Version: 23.6.0

Features

  • #994 Reports: ability to filter the data by payee/account/category/etc. — thanks MatissJanis
  • #1060 Added the ability to hide category groups while keeping them in the same category group. — thanks Miodec
  • #1011 Add ability to filter the Manage Payees screen to show orphaned payees only. — thanks sudoCerb

Enhancements

  • #964 Introduces a ResponsiveProvider as a foundation for future mobile development. Makes transaction entry available to many mobile users in landscape orientation. — thanks trevdor
  • #995 Number Format: Add a new option (space-dot) e.g. "1 234.56" — thanks TheTrueCaligari
  • #1004 Add option to not remove funds when using an "up to" goal template. — thanks youngcw
  • #1016 Add menu item and keywords for end-of-month budget reassignments — thanks shall0pass
  • #1023 Created development docker container — thanks jonezy35
  • #1029 Make number parsing agnostic to decimal and thousands separators — thanks chylex
  • #1034 Updated account order inside the account autocomplete popup to: On Budget, Off Budget, Closed Accounts. Removed closed accounts from suggestions when creating a new transaction. — thanks Miodec
  • #1052 Templates: Add option to only apply schedule template to the month of the schedule instead of spreading out the charge. — thanks youngcw

Bugfix

  • #999 Transactions table: when creating a split transaction - focus on the "debit" field next. — thanks MatissJanis
  • #1000 Reports: 1y date range should be 12 months, not 13 months — thanks MatissJanis
  • #1008 Reports: Add Upcoming/Due transactions in the "Selected balance" sum (Issue #319) — thanks TheTrueCaligari
  • #1017 Bugfix: amounts for schedules incorrectly read in 'space-dot' format. — thanks TheTrueCaligari
  • #1019 Fix infinite loop condition in repeat goal — thanks youngcw
  • #1028 Bugfix: Goals template compounding - Large target differences resulted in not enough funding — thanks shall0pass
  • #1033 Remove unnecessary message in the “Find schedules” modal — thanks j-f1
  • #1038 Fixed a bug where it was possible to make a transfer to the same account as the one making the transfer. — thanks Miodec
  • #1048 Fix a couple of bugs/inconsistencies in the Electron app — thanks j-f1
  • #1049 Goals Schedule - Include spent in calculation — thanks shall0pass
  • #1054 Re-export the API methods at the top level of the @actual-budget/api package like they were in the past. Note: If you were using the api.methods.<method> syntax to access API methods in recent versions, that is now deprecated and will stop working with the next major release of the API package. — thanks j-f1
  • #1056 Change copy-migrations shebang to bash. yarn build failed on copy-migrations because /bin/sh is not bash on WSL and doesn't expect -e — thanks fry
  • #1058 Fix date calculations in Goal Templates by adding a time zone correction — thanks shall0pass
  • #1059 Goals: Undo change that broke some template parsing — thanks youngcw
  • #1067 Fix link to spent transactions for a budget category — thanks MatissJanis
  • #1083 Goals: Fix bug that made repeat values >9 fail parsing. — thanks youngcw
  • #1084 Fix error if sink/source were defined in same category. — thanks shall0pass

Maintenance

  • #979 Convert top common components in desktop-client to Typescript — thanks albertogasparin
  • #1001 Improve Actions setup, add more automation around issue management — thanks j-f1
  • #1002 Add missing migrations to the API package — thanks j-f1
  • #1003 Fixing Electron App — thanks Shazib
  • #1005 Detect more errors in JS OFX importer. — thanks Sinistersnare
  • #1012 Add link to current feature requests to README. — thanks youngcw
  • #1015 Enable ESLint’s curly rule — thanks j-f1
  • #1022 Improve behavior of shift-clicking checkboxes to select multiple transactions. — thanks j-f1
  • #1032 Adds support for dev containers, allowing for easier contributions. — thanks jlsjonas
  • #1036 Remove dependency on @reactions/component — thanks j-f1
  • #1037 Convert few other components in desktop-client to Typescript — thanks albertogasparin
  • #1042 Update Yarn — thanks j-f1
  • #1043 Upgrade react-spring, remove wobble dependency — thanks j-f1
  • #1045 Update to React Router v5.1 conventions to facilitate the v6 upgrade. — thanks trevdor
  • #1061 Use the useLiveQuery hook in a couple more places — thanks j-f1
  • #1064 Integrate useMemo into useLiveQuery — thanks j-f1
  • #1070 Add a few more eslint-plugin-import rules to keep our imports tidy — thanks j-f1
  • #1078 Migrate some files in desktop-client to use Typescript. — thanks TomAFrench
  • #1079 Remove stale reference to loot-design package. — thanks TomAFrench

Actual Server

Version: 23.6.0

Maintenance

  • #204 Fix build process for edge Docker images — thanks j-f1
  • #208 Migrate to the combined release notes action from the main repo — thanks j-f1

23.5.0

Docker tag: 23.5.0

Actual

Version: 23.5.0

Features

  • #921 Add experimental OFX importer written in pure javascript. — thanks sinistersnare

Enhancements

  • #858 Goals: Added support for percentage driven targets — thanks shall0pass
  • #879 Goal templates: Changed how compounding 'by' matches are filled. Now uses an average across templates. — thanks shall0pass
  • #910 Add setting to change first day of the week — thanks biohzrddd
  • #919 Show pending transactions from Nordigen in transactions table — thanks henrikmaa
  • #933 Autocomplete: set min-width for the tooltip — thanks MatissJanis
  • #953 Re-arrange schedule operation options to start with "is approximately" (the default selection) — thanks MatissJanis
  • #961 Goals: Add priority support — thanks shall0pass & youngcw
  • #968 Nordigen: ability to configure credentials via the UI — thanks MatissJanis
  • #987 Add support for credit card OFX files — thanks j-f1

Bugfix

  • #939 Fix j/k shortcuts to move between transactions on account pages — thanks j-f1
  • #946 Don’t reset checked transactions when creating a schedule — thanks j-f1
  • #947 Autocomplete: fix multi-autocomplete filtering UX — thanks MatissJanis
  • #949 Autocomplete: support touch events — thanks MatissJanis
  • #950 Nordigen: add fallback link to re-init bank-sync in case the popover was blocked — thanks MatissJanis
  • #951 Forces CSV importer to ignore extra lines ensuring valid import field keys. — thanks aaroneiche
  • #955 Schedules: make transfer transactions appear in both affecting accounts — thanks MatissJanis
  • #960 Mobile: use the correct top-bar background color in settings page — thanks MatissJanis
  • #966 Transaction table: show action checkbox on row hover — thanks MatissJanis
  • #967 Re-introduce single line text blocks (useful for mobile) — thanks MatissJanis
  • #969 Nordigen: improved error handling when bank-list API fails — thanks MatissJanis
  • #972 Position notification banners always at bottom of the page — thanks MatissJanis
  • #992 Allow creating transactions by clicking "enter" in the notes/payee/category field — thanks MatissJanis

Maintenance

  • #896 Convert few more folders in loot-core to Typescript — thanks albertogasparin
  • #931 Cleaning up state management in autocomplete — thanks MatissJanis
  • #932 Improving e2e test stability — thanks MatissJanis
  • #934 Move from deprecated peg.js to Peggy for Goal template parser. — thanks sinistersnare
  • #945 Autocomplete: upgrade Downshift dependency — thanks MatissJanis
  • #954 Automatically close feature request issues so the open issue list can focus on bugs — thanks MatissJanis
  • #957 Finish converting loot-core to Typescript — thanks albertogasparin
  • #962 TypeScript: migrated an assortment of common components to TS — thanks MatissJanis
  • #974 eslint: Switch to TypeScript-aware no-unused-vars rule. — thanks trevdor
  • #976 Remove unused prop-types dependency — thanks MatissJanis
  • #977 Make yarn start:browser the default start command instead of start:desktop which currently doesn't reliably work — thanks MatissJanis
  • #978 Contributors: add back Rich, add also Alberto — thanks MatissJanis
  • #980 Run feature-request management github action when the "feature" label is added — thanks MatissJanis
  • #982 Run feature-request management github action only once and for the "feature" label only (not for other labels) — thanks MatissJanis
  • #985 Remove unused payee rules feature — thanks j-f1

Actual Server

Version: 23.5.0

Features

  • #194 Adds support for setting and getting secrets in actual-server. Additionally the secrets can be set from client using api. — thanks henrikmaa

Enhancements

  • #190 Add an all field to /nordigen/transactions endpoint with ordered array of both booked and pending transactions — thanks Jackenmen

Bugfix

  • #197 Set the secrets response to be JSON instead of plain-text — thanks MatissJanis

Maintenance

  • #195 Remove the unused migrations folder — thanks j-f1

23.4.2

Docker tag: 23.4.2

Actual

Version: 23.4.2

Features

  • #885 Add template keyword to budget according to named schedules — thanks pole95

Enhancements

  • #868 Improve sidebar auto-floating behavior — thanks j-f1

Bugfix

  • #915 Fix reconciling a budget with a zero value — thanks j-f1
  • #926 Fix undo keyboard shortcut being ignored — thanks j-f1

Maintenance

  • #916 Remove @jlongster/lively dependency; refactor old autocomplete to not use it any more; disable new autocomplete — thanks MatissJanis
  • #924 Remove react-select and the new autocomplete — thanks MatissJanis

Actual Server

Version: 23.4.2

Features

  • #186 Add an npm run reset-password script to set or reset the server password. — thanks j-f1

Enhancements

  • #189 More clearly report the problem with Nordigen requests that fail with an unexpected status code — thanks j-f1

23.4.1

Docker tag: 23.4.1

The release fixes a issue with creating rules from the transaction list.

Actual

Version: 23.4.1

Enhancements

  • #860 Allow goal template 'by' matches to compound — thanks shall0pass
  • #887 Mobile: unify "settings" page header with the style of "accounts" page — thanks MatissJanis
  • #891 Goal template can now use single decimal places to define targets — thanks shall0pass
  • #895 Improve error reporting for goal templates — thanks shall0pass
  • #900 Add "Daily" option to scheduled transactions — thanks biohzrddd

Bugfix

  • #865 Fix case-insensitive matching of strings for uppercase letters from non-English alphabets — thanks Jackenmen
  • #881 Autocomplete: do not show "create payee" option if the typed-in payee is an exact match of an existing payee — thanks MatissJanis
  • #882 Fix rule creation from account page (transaction list) — thanks MatissJanis
  • #883 Recognize numpad enter key as enter key — thanks j-f1
  • #886 Fill category field when selecting 'Create rule' from accounts screen — thanks shall0pass
  • #902 Remove currently viewed account from list of possible transfer accounts — thanks biohzrddd

Maintenance

  • #864 Don’t check for release notes on release/* branches — thanks j-f1
  • #869 Disable ESLint when building in CI (since we have a separate linting job) — thanks j-f1
  • #870 Remove duplicate migration and default-db.sqlite files — thanks j-f1
  • #877 Convert most CommonJS imports/exports to ESM — thanks albertogasparin
  • #884 Update @typescript-eslint/* packages to their latest versions — thanks j-f1
  • #889 Convert few other folders in loot-core to Typescript — thanks albertogasparin
  • #890 Add a CodeQL workflow to automatically scan for potential security issues — thanks j-f1
  • #893 Remove usage of realpath command in build script — thanks j-f1

Actual Server

Version: 23.4.1

Features

  • #182 Add support for armv6l (Alpine-based images only) — thanks intiplink

Enhancements

  • #187 Add rate limiting to all server requests — thanks j-f1

Maintenance

  • #181 Don’t check for release notes on release/* branches — thanks j-f1
  • #185 Use the proper Typescript Babel preset — thanks albertogasparin

23.4.0

Docker tag: 23.4.0

info

Actual has now been moved to a stand-alone Docker organization. If you were previously using jlongster/actual-server docker image - please update it to actualbudget/actual-server.

The release has the following notable features:

  • Rules can now optionally be applied when any of their conditions match (in addition to the existing option to apply when all of their conditions match)
  • Rules: quick-create option from the transaction table (in the “X selected” menu that shows up after selecting a transaction, choose “Create rule”)
  • Ability to hide decimal places for currencies with large numbers (in Settings → Formatting)
  • New autocomplete component (please report any bugs here)
  • Lots of smaller improvements and bugfixes

Actual

Version: 23.4.0

Features

  • #725 A “hide decimal places” option has been added to improve readability for currencies that typically have large values. — thanks j-f1
  • #792 Improved UX when setting up account links for bank-sync via Nordigen — thanks MatissJanis
  • #802 Add quick rule creation from transactions table in accounts page — thanks albertogasparin
  • #811 Allow rules to apply to "all" or "any" of the provided conditions — thanks albertogasparin

Enhancements

  • #736 Save payee name in “imported payee” field during YNAB4/YNAB5 import — thanks ostat
  • #756 Make goal template keywords case insensitive — thanks j-f1
  • #762 Change when the welcome screen is shown, add a button to start by importing a file — thanks j-f1
  • #768 Update wording across the UI to clarify that we don’t own any servers — thanks j-f1
  • #774 Clarify in the UI that Account Type cannot be changed after creation — thanks pmamberti
  • #785 Allow importing .blob files from actual-server — thanks Jackenmen
  • #791 Replace straight quotes with curly quotes in user-visible text — thanks j-f1
  • #793 Slightly improve the layout of the new autocomplete. — thanks j-f1
  • #799 Improve visual consistency on the settings page — thanks j-f1
  • #801 Add explicit bank-sync warning disclaimer — thanks MatissJanis
  • #808 Import transactions with negative amounts represented as (amount) — thanks aharbis
  • #834 Autocomplete: set min-width of the menu — thanks MatissJanis
  • #835 Force the sidebar to always float when the window is narrow — thanks j-f1
  • #848 Remove Safari pinned tab icon — thanks j-f1
  • #850 Autocomplete: turn on new autocomplete by default — thanks MatissJanis

Bugfix

  • #751 Fix #template 0 causing an error — thanks j-f1
  • #754 (Nordigen) Use bookingDate as fallback during sync — thanks waseem-h
  • #777 Fix missing onHover prop in TransactionsTable — thanks MatissJanis
  • #787 New autocomplete: making consistent height between multi/single value inputs — thanks MatissJanis
  • #797 Re-enable goal templates by passing flag values to the budget summary component — thanks modrzew
  • #819 Fix error when running importTransactions from the API — thanks j-f1
  • #836 PayeeAutocomplete: fix long delay when clicking on "make transfer" — thanks MatissJanis
  • #837 PayeeAutocomplete: fix flipping of the menu when it's opened near the bottom of the page — thanks MatissJanis
  • #839 Autocomplete: remove portalization from usage in transaction table in order to improve the UX — thanks MatissJanis
  • #851 Fix "no server" link no longer working — thanks MatissJanis
  • #853 Hide the file list/import screens when loading a budget — thanks j-f1
  • #854 Dismiss the update notification only after clicking the close button — thanks MatissJanis
  • #855 Normalize value when single/multi select is changed — thanks MatissJanis
  • #856 Autocomplete: allow editing previously selected payees — thanks MatissJanis
  • #862 Autocomplete: styling fixes — thanks MatissJanis

Maintenance

  • #670 node-libofx: add transaction_acct_name function — thanks j-f1
  • #696 Upgrade React to v18 — thanks MatissJanis
  • #741 Refactored PaymentAutocomplete component to use react-select — thanks MatissJanis
  • #746 Add support for automatically generating release notes — thanks j-f1
  • #750 Reduce JavaScript bundle size by 1MB — thanks j-f1
  • #755 Removing unused Debugger component and its dependencies: perf-deets, codemirror — thanks MatissJanis
  • #758 Fix end-to-end testing workflow — thanks j-f1
  • #763 Disable ESLint when building in CI — thanks j-f1
  • #765 Make desktop-client integration tests independent — thanks MatissJanis
  • #769 Refactor TransactionsTable to react-hook component — thanks MatissJanis
  • #771 Reducing unit test flakiness by removing randomization — thanks MatissJanis
  • #772 Upgrade fast-check dependency to improve unit test speed — thanks MatissJanis
  • #775 Revert small change to useTableNavigator — thanks MatissJanis
  • #776 Finish React v18 upgrade: react-dom change — thanks MatissJanis
  • #778 Further autocomplete component refactors: AccountAutocomplete & GenericInput — thanks MatissJanis
  • #780 Add waitFor to a flaky unit test to make it more stable — thanks MatissJanis
  • #781 Remove unused tableNavigatorOpts code-path — thanks MatissJanis
  • #783 Remove a few unused class components, convert a few components to functions — thanks j-f1
  • #784 Refactor Nordigen and category Autocomplete to the new react-select component — thanks MatissJanis
  • #786 Refactored all feature flags to use the new useFeatureFlag hook — thanks MatissJanis
  • #789 Enable new autocomplete in dev/preview builds — thanks MatissJanis
  • #790 Expose demo bank for easy bank-sync testing in dev and preview builds — thanks MatissJanis
  • #795 Disable flaky unit test steps — thanks MatissJanis
  • #800 Eliminate the loot-design package and move all of its code into desktop-client — thanks j-f1
  • #803 Docs: remove Rich from core contributors — thanks MatissJanis
  • #806 Retry loading backend script in web-workers (for local dev server) — thanks MatissJanis
  • #813 Added onboarding and budget e2e tests — thanks MatissJanis
  • #816 Initial setup to allow Typescript migration — thanks albertogasparin
  • #831 Moved NewAutocomplete component to TypeScript — thanks MatissJanis
  • #832 Allow data: URLs for images in Netlify deploys — thanks j-f1
  • #841 Initial migration of loot-core to Typescript — thanks albertogasparin
  • #845 Improve stability of budget e2e test file — thanks MatissJanis
  • #849 Update to latest stable date-fns version — thanks j-f1
  • #861 Enable linting for all packages — thanks j-f1

Actual Server

Version: 23.4.0

Features

  • #178 Add some optional logging to help troubleshoot configuration issues — thanks j-f1

Enhancements

  • #141 Make the official Docker images available for armv7 — thanks jamesmortensen
  • #166 Expose sha256 hashes of account IBANs in Nordigen get-accounts and transactions endpoints — thanks Jackenmen
  • #172 Changed budget file download endpoint to use less memory by using streams — thanks Jackenmen

Bugfix

  • #167 Fix config.json in a default location getting silently ignored when it contains syntax errors. — thanks Jackenmen

Maintenance

  • #150 Update docker-compose.yml to clarify proper usage in production — thanks j-f1
  • #165 Add support for automatically generating release notes — thanks j-f1
  • #168 Expose demo bank that can be used to test Nordigen bank-sync — thanks MatissJanis
  • #171 Fix app-sync.test.js not being ran due to faulty jest configuration — thanks Jackenmen
  • #175 Push Docker images to new actualbudget Docker Hub organization. — thanks trevdor

23.3.2

Docker tag: 23.3.2

The release has the following notable features:

  • Docker fix: don't make symlink
  • Various Nordigen bank-sync bugfixes

Actual

Version: 23.3.2

Bugfix

  • #738 Set the filename/filetype before attempting to parse — thanks j-f1
  • #744 (nordigen) fix detection of -0.00 "debited" transactions — thanks Jackenmen
  • #745 (nordigen) fallback to array version of remittanceInformationUnstructured if necessary — thanks Jackenmen
  • #247 Route aggregate queries in transaction grouped mode through the correct layer to remove deleted transactions — thanks jlongster
  • #743 (nordigen) fallback to bookingDate if valueDate is not set — thanks MatissJanis
  • #742 (nordigen) check server status before linking accounts — thanks MatissJanis

Maintenance

Actual Server

Version: 23.3.2

Features

  • #162 (nordigen) add status endpoint for checking status — thanks MatissJanis

Bugfix

  • #156 Re-generate nordigen token — thanks fstybel
  • #157 Don’t make Dockerfile a symlink — thanks j-f1
  • #160 (nordigen) close window when opening /nordigen/link path — thanks MatissJanis
  • #163 (nordigen) add currency to account name — thanks MatissJanis

Maintenance

23.3.1

Docker tag: 23.3.1

Actual Server

Version: 23.3.1

Bugfix

23.3.0

Docker tag: 23.3.0

The release has the following notable features:

  • Experimental support for automatically syncing transactions from European bank accounts using Nordigen.
  • Filters in the transaction list can now be edited.
  • When connecting to a server for the first time, you no longer need to enter the server URL.
  • You’ll now be notified of future updates to Actual.
  • Large imports will no longer break in Safari.

Actual

Version: 23.3.0

Features

  • #457 Nordigen integration - account sync — thanks fstybel, eberureon & j-f1
  • #621 Implement outdated version indicator — thanks vincentscode
  • #646 Allow editing filters — thanks j-f1
  • #651 Add Toggle for hiding "Cleared" column — thanks mnsrv
  • #649 Allow the server to auto-configure the server URL for the client — thanks j-f1
  • #690 Added option to include exchange rate multiplier during import — thanks carkom & MatissJanis
  • #693 Add button and 'esc' shortcut to clear transaction filter — thanks gsumpster

Enhancements

  • #588 Updates to the template/goal feature — thanks j-f1
  • #648 Block enabling e2e encryption when the crypto API is unavailable — thanks j-f1
  • #657 Better explain the process for importing an exported file — thanks j-f1
  • #675 Don’t force user to re-enter password after changing it — thanks j-f1
  • #674 Make the “Not logged in” warning a button — thanks j-f1
  • #464 Updates to the actual-budget/api package — thanks j-f1
  • #676 Update the Bootstrap page to be more welcoming — thanks j-f1
  • #680 Intelligently adjust field for newly added action — thanks j-f1
  • #692 (import) date formats supporting digits without leading zeros — thanks MatissJanis
  • #668 Adds delay before note is displayed on hover. — thanks venkata-krishnas
  • #727 (bank-sync) use full bank list + autocomplete — thanks MatissJanis

Bugfix

  • #660 Stop editing when clicking on blank areas of tables — thanks j-f1
  • #681 Don’t post messages to the worker until it is ready — thanks j-f1
  • #705 Don’t allow bulk editing to set a field to null — thanks j-f1
  • #700 Fix notes button not being visible unless hovered — thanks j-f1
  • #706 Allow rendering a schedule in <Value /> — thanks j-f1
  • #707 Fix check for crypto.subtle — thanks j-f1
  • #712 Add a missing space to the fatal error message — thanks j-f1
  • #659 Improve handling of the undo/redo shortcuts — thanks j-f1
  • #457 Fix for syncing large batches of updates in Safari — thanks j-f1

Maintenance

  • #647 (prettier) adding trailing commas — thanks MatissJanis
  • #663 remove closed-source subscription notification code — thanks MatissJanis
  • #671 Log more debugging information for an invalid-schema sync error — thanks j-f1
  • #678 Fix error cases in displaying filters/rules — thanks j-f1
  • #683 upgrade yarn to v3.4.1 (latest stable) — thanks MatissJanis
  • #684 add interactive-tools yarn plugin — thanks MatissJanis
  • #689 Don’t run linting while building in CI — thanks j-f1
  • #694 (e2e) adding e2e tests for schedules page — thanks MatissJanis
  • #695 (e2e) adding e2e tests for accounts: creating & closing — thanks MatissJanis
  • #697 moving back to create-react-app — thanks MatissJanis
  • #702 Remove/dedupe/upgrade several dependencies — thanks j-f1
  • #703 removing lively from MonthPicker — thanks MatissJanis
  • #704 remove unused component library code — thanks MatissJanis
  • #708 remove dead code: budget-sheets-old — thanks MatissJanis
  • #709 refactor MonthPicker and remove ElementQuery — thanks MatissJanis
  • #710 remove more dead code — thanks MatissJanis
  • #711 upgrade github actions — thanks MatissJanis
  • #713 removed usage of babel-preset-jwl-app — thanks MatissJanis
  • #714 Upgrade better-sqlite3 to the latest version — thanks j-f1
  • #715 re-enable react-hooks/rules-of-hooks eslint rule — thanks MatissJanis
  • #717 Fix e2e test to not assume it’s been run on Feb 28, 2023 — thanks j-f1
  • #718 upgrade react-modal to v3.16.1 and remove the patch — thanks MatissJanis
  • #720 Enable most of the disabled ESLint rules — thanks j-f1
  • #721 Remove code in loot-core/src/server/spreadsheet that uses escodegen — thanks j-f1
  • #729 Create an artifact with the built web UI for each commit — thanks j-f1
  • #733 Remove outdated part of the postinstall script — thanks j-f1

Actual Server

Version: 23.3.0

Features

Bugfix

  • #133 Replace require with import — thanks j-f1

Maintenance

  • #121 Update the :edge images to use the very latest web UI version — thanks j-f1 & trevdor
  • #146 upgrade yarn to v3.4.1 and add interactive-tools plugin — thanks MatissJanis
  • #147 Improve edge image build times — thanks j-f1
  • #148 adding trailing commas everywhere — thanks MatissJanis
  • #149 Fix edge image tagging — thanks j-f1
  • #153 Fix Docker actions failing on PRs from forks — thanks j-f1

23.2.9

Docker tag: 23.2.9

info

This release allows the user to bypass the SharedArrayBuffer warning that prevented the budget from loading in 23.2.5 when HTTPS was not in place with a certificate

The release has the following improvement.

  • Allow bypassing of SharedArrayBuffer warning when not using HTTPS

Actual

Version: 23.2.9

Features

  • #644 Allow bypassing SharedArrayBuffer override — thanks j-f1

Bugfix

  • #640 Fix coloring of the “Split Transaction” button in the category picker — thanks j-f1
  • #641 Fix prop name for button to enable e2ee — thanks j-f1

Maintenance

  • #638 Allow the Netlify frontend to connect to arbitrary servers — thanks j-f1
  • #639 Move desktop-client deps to devDeps — thanks j-f1

Actual Server

Version: 23.2.9

Maintenance

  • #128 Upgrade to ESM, update to latest dependencies — thanks j-f1
  • #131 Move source code to an src/ directory — thanks j-f1

23.2.5

Docker tag: 23.2.5

danger

This release introduces a breaking change, there is now a requirement for Actual to be served over HTTPS when not running on localhost. If you don't have a reverse proxy or certificate Actual will not load your budget.

The release has notable security improvements. Highlights:

  • e2e encryption
  • login invalidation when changing password
  • dependency upgrades to remove potential actual-server security vulnerabilities (although we don’t believe there were any severe issues)

Actual

Version: 23.2.5

Features

  • #355 Schedule Editor: Keep payee list open while toggling transfer payees focus — thanks trevdor
  • #467 Add an “Experimental Features” section in the settings — thanks j-f1
  • #475 Add support for filtering the rules list — thanks j-f1
  • #482 Add option to control the "cleared state" in Rules — thanks shall0pass
  • #569 List of categories in transfer money dialog — thanks shall0pass
  • #570 Use navigator.userAgent to determine isMobile — thanks shall0pass
  • #573 Goal templates — thanks shall0pass
  • #579 Add 'View on Hover' to Category Notes for #563 — thanks gsumpster
  • #580 Added date to export file name — thanks rich-howell
  • #584 Cover Overspending dropdown menu, open on click — thanks shall0pass
  • #590 Add support for filtering the schedules table — thanks j-f1
  • #593 Allow creating a payee with a name matching an existing account — thanks j-f1
  • #598 Allow configuring the server from any page on the management app — thanks j-f1
  • #600 Add a warning when SharedArrayBuffer is not available — thanks j-f1
  • #601 Improve handling of schedules that are missing a date — thanks j-f1
  • #602 Support arbitrary currency symbols in expressions — thanks j-f1
  • #617 Improve behavior of deleted payees/categories/accounts in rules — thanks j-f1

Bugfix

  • #88 Fix some YNAB4 importer bugs — thanks rianmcguire
  • #414 Fix condition mapping for payee rule creation from payee modal — thanks winklevos
  • #451 Fix bug where rules page may not load due to link-schedule payee dependency — thanks winklevos
  • #486 Fix TypeScript warning about too many files — thanks j-f1
  • #489 Fix “Repair split transactions” button being missing — thanks j-f1
  • #490 🐛 (ynab4) transaction cleared state in imports — thanks MatissJanis
  • #574 Fix #488 — thanks MatissJanis
  • #572 fix: typo in reconciliation transaction creation — thanks MatissJanis
  • #591 Allow libofx to handle decoding imported files — thanks j-f1
  • #592 Update SelectedBalance to use useSheetValue — thanks j-f1
  • #599 Don’t crash when loading an invalid account ID — thanks j-f1
  • #605 Add a suggestion to upload the imported file if reporting an import bug — thanks j-f1
  • #620 Fixes editing closed account names issue #616 — thanks n1thun
  • #629 Fix form submission on TransferTooltip when pressing enter — thanks gsumpster
  • #630 Skip the “Starting Balance” transaction if the balance is 0 — thanks j-f1
  • #632 Fix default value of “Move to a category” — thanks j-f1

Maintenance

Actual Server

Version: 23.2.5

Features

  • #115 Add support for HTTPS — thanks j-f1

Bugfix

  • #109 fix: listen also listen on ipv6 addresses — thanks heilerich

Maintenance

  • #116 🔥 remove unused code (plaid, sync-full) — thanks MatissJanis
  • #110 build(deps): bump node-fetch from 2.2.0 to 2.6.7
  • #111 build(deps): bump minimatch from 3.0.4 to 3.1.2
  • #112 build(deps): bump moment from 2.29.3 to 2.29.4
  • #117 build(deps): bump http-cache-semantics from 4.1.0 to 4.1.1
  • #118 ⬆️ upgrade actual-app/api to 4.1.6: node-fetch v2 support — thanks MatissJanis
  • #119 ⬆️ upgrade express*, bcrypt and body-parser — thanks MatissJanis

23.1.12

Docker tag: 23.1.12

The release has notable of improvements of:

  • Read-only responsive view, this replaces our mobile apps, it is notable that this is read-only at this stage.
  • Improvements to the sidebar design

Actual

Version: 23.1.12

Features

Bugfix

  • #423 Improve handling of “no server” state — thanks j-f1
  • #430 fix: select date filtering by month #406 🚑 — thanks iurynogueira
  • #441 Fix overlap of version info and server URL — thanks trevdor

Maintenance

Actual Server

Version: 23.1.12

No pull requests were merged in this release.

22.12.03

Docker tag: 22.12.9

danger

If you are upgrading from a release older than 22.10.25, read that versions release notes for steps regarding a breaking change.

Using Docker tags 22.12.3 or 22.12.8 have errors. Use Docker tag 22.12.9

The release has notable of improvements of:

  • Large values are supported
  • Fix YNAB 4 and nYnab importers
  • Fixed crashes in certain situations
  • Accounts can now have notes
  • Icon design was changed for more contrast.

A full accounting of the changes are listed below. Thank you to everyone who contributed!

Actual

Version: 22.12.03

  • #218 Fix enter to create accounts — thanks ezfe)
  • #266 RUpdate data-file-index.txt — thanks j-f1
  • #272 a11y: update cleared state display for clarity — thanks rickdoesdev
  • #273 Remove the hold for future months button — thanks shall0pass
  • #385 feat: ability to add notes to accounts — thanks MatissJanis
  • #386 Always pull in API package from workspace (fixes #378) — thanks jlongster
  • #387 Remove 32bit limit on amounts — thanks jlongster
  • #389 Add a help button to the menu — thanks shall0pass
  • #394 fix(useSheetValue): default value should be null not undefined — thanks MatissJanis
  • #396 Avoid pulling in the bundled app from API in backend — thanks jlongster

Actual Server

Version : 22.12.09

Builds with Actual 22.12.03 and API 4.1.5.

22.10.25

Docker tag: 22.10.25

danger

This release includes a breaking change to the sync component that requires manual migration. Ensure your budget is backed up before you update to avoid data loss.

This release of Actual does not include any of the following

  • Actual Electron Desktop Application
  • iOS Application
  • Android Application

Actual

Version: 22.10.25

  • #1 Add fields to package.json — thanks coliff
  • #3 Create .editorconfig — thanks coliff
  • #7 Add missing comma in package.json — thanks S3B4S
  • #20 add: tsconfig.json — thanks wmertens
  • #25 Building for Windows — thanks ejmurra
  • #46 Minor fixes to package.json file formatting — thanks TomAFrench
  • #47 Add missing comma to jest.config.js — thanks TomAFrench
  • #48 Remove some unnecessary files + add logs to gitignore — thanks TomAFrench
  • #50 Migrate to yarn v3 — thanks TomAFrench
  • #52 Remove unused imports — thanks TomAFrench
  • #53 Remove unused patch for react-native-safe-area-view — thanks TomAFrench
  • #54 Update importer packages package.json to point to monorepo — thanks TomAFrench
  • #55 Lock packages to the versions for which patches have been made — thanks TomAFrench
  • #59 Fix timestamp test suite — thanks TomAFrench
  • #64 Group CRDT files into their own directory — thanks TomAFrench
  • #65 Add documentation on how to build the protobuf — thanks TomAFrench
  • #68 Route all imports of AQL code through an index.js file — thanks TomAFrench
  • #69 Enforce sorting of contents of data-file-index.txt — thanks TomAFrench
  • #70 Add linting job to CI — thanks TomAFrench
  • #71 Add ability to import Actual files; enable export on desktop — thanks jlongster
  • #72 Fix some errors caused by using bash syntax with sh shebang — thanks TomAFrench
  • #73 Add a CI workflow to perform builds of api, web and electron packages — thanks TomAFrench
  • #80 Improved yarn scripts in desktop-electron package — thanks TomAFrench
  • #81 Remove unused yarn scripts — thanks TomAFrench
  • #94 currency-formatter -> Intl.NumberFormat — thanks trevdor
  • #95 Fix official node version to 16.15.0 — thanks TomAFrench
  • #96 Fix yaml formatting in CI config — thanks TomAFrench
  • #99 Dependency cleanup — thanks TomAFrench
  • #102 Fix test failure due to non-integer weight values — thanks TomAFrench
  • #104 Delete unused directory browser/build — thanks TomAFrench
  • #107 Update downshift patch to match installed version — thanks TomAFrench
  • #111 Remove holiday text from README — thanks TomAFrench
  • #112 display version on settings page — thanks PartyLich
  • #117 Fix: parse dates without a delimiter in CSV import — thanks PartyLich
  • #124 fix: hitting enter after setting password redirects to demo page — thanks andremralves
  • #129 Add action to mark new issues for triage — thanks TomAFrench
  • #130 Enforce prettier rules — thanks TomAFrench
  • #131 Silence warning for missing moment.js install — thanks TomAFrench
  • #132 Replace jwl-dev-utils with react-dev-utils — thanks TomAFrench
  • #135 Remove unused dependencies — thanks TomAFrench
  • #137 Skip failing test suites — thanks TomAFrench
  • #139 Remove unused rollup config and dependencies — thanks TomAFrench
  • #163 Force react-error-overlay to 6.0.9 to fix error — thanks jlongster
  • #164 build on windows — thanks bdoherty
  • #202 Run tests on github actions — thanks TomAFrench
  • #219 199 Adding translation to schedules list — thanks manuelcanepa
  • #203 Replace babel-jest with ts-jest — thanks TomAFrench
  • #204 Use workspace ranges for monorepo dependencies — thanks TomAFrench
  • #208 Bug Report Template & Issues Configuration — thanks rich-howell
  • #213 Enforce linting in desktop-client — thanks TomAFrench
  • #214 Fix adm-zip install failure — thanks trevdor
  • #217 Remove unused imports and sort imports in desktop-client — thanks TomAFrench
  • #222 Remove patch-package dependency from loot-design — thanks TomAFrench
  • #224 Adding translation to rule editor and transaction table — thanks manuelcanepa
  • #225 Implement localization for schedule descriptions — thanks j-f1
  • #228 Add macOS to list of operating systems in the issue template — thanks rich-howell
  • #229 Fix handling of -0 in budget summary — thanks j-f1
  • #230 Revert change to make importers use the api bundle from inside the monorepo — thanks TomAFrench
  • #234 Allow enter to create new transaction when focused on cleared column — thanks ezfe
  • #232 Fix linter issues — thanks TomAFrench
  • #233 Enforce linting in loot-design — thanks TomAFrench
  • #237 Separate external, monorepo and internal imports — thanks TomAFrench
  • #238 Sort import in alphabetical order — thanks TomAFrench
  • #240 Fix CI to an exact node version — thanks TomAFrench
  • #244 Remove dollar sign from close account modal — thanks TomAFrench
  • #262 Render a schedule rule with the mapped payee id; fixes crash — thanks jlongster

Actual Server

Version: 22.10.25

  • #1 - Adjust Dockerfile to build successfully — thanks Kovah
  • #2 - Instructions for running via Docker — thanks ajtrichards
  • #6 - Add hostname binding — thanks UnexomWid
  • #7 - added a basic docker-compose file — thanks Kk-ships
  • #11 - Add Github Actions workflow to automatically build a Docker image — thanks Kovah
  • #12 - Adjust Dockerfile to use multi-stage builds — thanks Kovah
  • #13 - add: tsconfig.json — thanks wmertens
  • #14 - Use Alpine Linux as base image for docker container — thanks ldotlopez
  • #19 - Add GH Action workflow to publish Docker image — thanks m3nu
  • #20 - Add one-click hosting option — thanks m3nu
  • #21 - Health Check Endpoint — thanks Silvenga
  • #22 - Add Dockerfile.alpine for alpine build add tini to debian image — thanks brtwrst
  • #28 Transition to typescript — thanks PartyLich
  • #31 Correct fly template port — thanks ciwchris
  • #33 Add more appropriate linting setup — thanks TomAFrench
  • #37 Add linter checks to CI — thanks TomAFrench
  • #41 Check builds are successful on PRs/master — thanks TomAFrench
  • #43 Enforce prettier rules — thanks TomAFrench
  • #46 fix: error handling middleware signature — thanks JazzaG
  • #50 Fix Cross-Origin issues to enable SharedArrayBuffer — thanks jlongster
  • #51 Bump Actual to 4.1.0 — thanks jlongster
  • #52 Fix 'Out of sync' error — thanks 7brend7
  • #64 build: add node GC argument to fly template — thanks PartyLich
  • #65 build: add tini subreaper arg to fly template — thanks PartyLich
  • #70 Update Express to version 4.17 — thanks rich-howell
  • #72 Fix/download only necessary files — thanks PartyLich
  • #75 Switch syncing to simple sync method — thanks jlongster
  • #78 Respect configuration for user-files and don't init the app — thanks jlongster
  • #81 Store user files as blobs instead of unzipping them — thanks jlongster
  • #82 Build docker image on push to master or tag — thanks trevdor