Files
actual/packages/docs/blog/2023-04-16-release-23.4.0.md
Matiss Janis Aboltins d9a1260c91 lint: actual/typography disallow using curly quotes (#6454)
* Update typography rule to disallow curly quotes with auto-fix

- Reverse typography rule to detect and flag curly quotes instead of straight quotes
- Add auto-fixer that converts curly quotes to straight quotes
- Fix auto-fixer to properly escape quotes when they match string delimiters

* Fix quotation marks in error messages and formatting strings across multiple files

- Standardize quotation marks from curly to straight in error messages and string formatting for consistency.
- Update various components and utility files to ensure proper string handling and improve readability.

* Standardize quotation marks across multiple files

- Replace curly quotes with straight quotes in various documentation and code files for consistency and improved readability.
- Update error messages, comments, and documentation to ensure uniformity in string formatting.

* Standardize month formatting across multiple components

- Update month formatting strings from "MMMM 'yy" to "MMMM ''yy" in various components and utility files for consistency.
- Ensure uniformity in how months are displayed throughout the application.

* Refactor typography rule to enhance curly quote handling

- Simplify the error reporting mechanism for curly quotes by creating a shared fix function.
- Update test cases to include various curly quote scenarios for improved coverage.
- Ensure consistent handling of curly quotes in formatting functions across multiple files.

* Refactor typography handling and update tests for curly quotes

- Replace curly quotes with their Unicode equivalents in typography rule and related test cases for consistency.
- Remove unnecessary eslint-disable comments to improve code clarity.
- Ensure proper handling of quotes in arithmetic and utility tests to align with updated typography standards.

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6454

* Fix: Correct typo in budget cell notification message

Co-authored-by: matiss <matiss@mja.lv>

* Update VRT screenshots

Auto-generated by VRT workflow

PR: #6454

* Temporarily disable i18n string extraction workflow

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-12-20 19:51:16 +00:00

12 KiB

title, description, date, slug, tags, hide_table_of_contents
title description date slug tags hide_table_of_contents
Release 23.4.0 New release of Actual. 2023-04-16T10:00 release-23.4.0
announcement
release
false

:::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

Docker tag: 23.4.0

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