v1.3.0

mayswind/ezbookkeepingv1.3.0Jan 17, 2026by github-actions[bot]

AI Summary

This major release introduces significant breaking changes including Framework7 9.0 upgrade and timezone header requirements. It adds the Insights Explorer page, transaction tag groups, and numerous import/export enhancements including automatic encoding detection and IANA timezone support.

Key Highlights

  • Upgrade Framework7 to 9.0 (breaking)
  • Add Insights Explorer page on desktop version
  • Add transaction tag group functionality
  • Add Kannada, Turkish, and Slovenian translations
  • Support automatic file encoding detection for DSV imports

Breaking Changes

  • Upgrade Framework7 to 9.0
  • Use daylight saving time zone as default during DST
  • transactions/add.json requires X-Timezone-Name or X-Timezone-Offset header
  • Remove ambiguous setting option app_name

New Features

  • Add Kannada translation
  • Add Turkish translation
  • Add Slovenian translation
  • Add Insights Explorer page on desktop version
  • Add transaction tag group
  • Tag filter supports selecting both included and excluded tags simultaneously
  • Add search box on account/transaction category/tag filter page
  • Paste amount from clipboard on mobile version
  • Support changing account category order
  • Automatically detect file encoding when importing DSV files
  • Support IANA time zone names when importing DSV files
  • Support parsing custom datetime format when importing DSV files

Full Release Notes

- **\[Breaking\]**
    - Upgrade Framework7 to 9.0
    - Use the daylight saving time zone as default time zone rather than the current standard time zone during the DST
    - `transactions/add.json` requires `X-Timezone-Name` or `X-Timezone-Offset` request header
    - Remove ambiguous setting option `app_name`

- **\[Features\]**
    - Add Kannada translation (#374, thanks @Darshanbm05)
    - Add Turkish translation (#383, thanks @aydnykn)
    - Add Slovenian translation (#405, #409, #410, #438, #448 thanks @thehijacker)
    - Add Insights Explorer page on desktop version
    - Add transaction tag group
    - Tag filter supports selecting both included and excluded tags simultaneously
    - Add search box on account / transaction category / transaction tag filter page / dialog (#382)
    - Paste amount from clipboard on mobile version
    - Support changing account category order
    - Automatically detect file encoding when importing delimiter-separated values (DSV) file
    - Support IANA time zone names when importing delimiter-separated values (DSV) files
    - Support parsing custom date time format when importing delimiter-separated values (DSV) files with custom script

- **\[Enhancements\]**
    - Improved Spanish translation (#371, #377, thanks @abrugues)
    - Import payee field as tags when importing a QIF file (#356)
    - Import member, project and merchant fields as tags when importing Feidee MyMoney export file
    - Support changing timezone type in reconciliation statement dialog / page
    - Support import delimiter-separated values file / data with UTF-16 encoding (#361)
    - Support importing amounts that use non-breaking space (NBSP), narrow no-break space (NNBSP) or figure space as digit grouping symbol when importing delimiter-separated values file / data (#361)
    - Support dates with `YYYY.MM.DD` / `MM.DD.YYYY` / `DD.MM.YYYY` format when importing delimiter-separated values file / data (#361)
    - Support filtering transactions by amount in import transaction dialog
    - Support batch converting amounts to positive / negative values in import transaction dialog
    - Support hiding account categories with no accounts
    - Support canceling the sorting operation on mobile version
    - Insert the pasted content after the cursor when pasting numbers or amounts
    - Remember last selected file type in import transaction dialog (#412)
    - In the import dialog's data review table, keep the selection checkboxes and action button columns fixed in place
    - Add clear all filters in import dialog (#416)
    - Automatically update the destination amount based on the account's currency when changing the destination account (#433, thanks @OuIChien)
    - Trim leading and trailing spaces from the username on the login page (#439, thanks @dshemin)
    - Support importing Alipay transaction statements with transactions in the pending goods receipt confirmation status (#441)
    - Allow the username or email address returned by OAuth 2.0 to be empty when linking OAuth 2.0 authentication to an existing user
    - Support the username returned by Synology DSM SSO Server during OIDC authentication (#449)
    - Place the account / transaction category at the end of the new category after changing the parent category of an account or transaction category
    - Other user interface optimization

- **\[Development\]**
    - Upgrade Golang to 1.25.5
    - Upgrade Node.js to 24.12.0
    - Upgrade Alpine base image to 3.23.2

- **\[Bug Fixes\]**
    - Fix cannot access Alibaba Cloud OSS using `minio` object storage type (#230)
    - Fix the incorrect url of email verify page, reset password page, and OAuth 2.0 callback page when accessing ezBookkeeping through a subpath (#348)
    - Fix the month names were displayed incorrectly in the monthly income and expense trends chart when daylight saving time was involved (#392)
    - Fix the median amount was calculated incorrectly in account reconciliation statements
    - Fix the incorrect display type name of transaction categories
    - Fix no results were shown when previewing all results while importing transactions with user custom script
    - Fix the filter dropdown menu not display the selected hidden items after selecting multiple hidden transaction categories or accounts in transaction list page
    - Use the number system configured in the user's settings for all numeric values in the token generation dialog
    - Transaction reconciliation statement dialog supports sorting by account name and category name on desktop version
    - Fix missing hyphen in "utf-8" encoding causing error when importing OFX 1.x file (#452, thanks @lucdsouza)