Skip to content

Releases: mayswind/ezbookkeeping

v1.5.0

13 May 15:35

Choose a tag to compare

  • [Breaking]

    • Amounts are grouped using the default currency when axis/category or series is set to amount or transfer in amount in insights explorer
  • [Features]

    • Support batch edit / delete transactions in insights explorer
    • Add treemap / sunburst / heatmap / calendar heatmap charts in insights explorer
    • Display year-over-year and period-over-period growth rates in insights explorer
    • Display year-over-year and period-over-period growth rates in account balance trends chart in account reconciliation statements on desktop version
    • Add transaction gallery mode in transaction list page
    • Support setting last reconciled time for account
    • Support daily and yearly intervals for scheduled transactions
    • Support filtering transactions by time zone minute offset, day of week, day of month, month of year and transaction hour of day in insights explorer
    • Add National Bank of Kazakhstan exchange rates data source (#564, #565, thanks @vigdail)
  • [Enhancements]

    • Improved German translation (#540, thanks @1270o1)
    • Improved Spanish translation (#562, thanks @abrugues)
    • Support credit card billing cycles as a time granularity option in the account balance trend chart on the account reconciliation statements page
    • Support filtering transaction description using regular expressions in insights explorer
    • Support "Not in" options for transaction type, transaction category and account filters in insights explorer
    • Add amount range to axis / category / series in insights explorer
    • Add active transaction days, transactions per active day, total income, total expense, net income, expense / income ratio, savings rate, Q1/Q3 amount, 10th/95th/99th percentile amount, mean absolute deviation, median absolute deviation, maximum amount share, top 5 amount sum, top 5 amount share, transactions for 80% of amount, skewness and kurtosis to value metric in insights explorer
    • Support setting the last 1 to 3 days of the month to scheduled transaction frequency
    • Support configuring the default behavior of the reconciliation statement button and the default time range for the reconciliation statement page
    • Improve action button rendering performance on desktop version (#547)
    • Scroll page to bottom automatically when creating a new tag
    • Other user interface optimization
  • [Development]

    • Upgrade Golang to 1.26.2
    • Upgrade Node.js to 24.15.0
    • Upgrade Alpine base image to 3.23.4
    • Replace Jest with Vitest
  • [Bug Fixes]

    • Fix the transfer in transactions are not included when exporting transactions under some conditions (#550)
    • Fix cannot switch between hours, minutes and seconds by pressing the tab (#554)
    • Fix the page navigation did not work correctly when clicking page numbers above 1000
    • Fix incorrect calculations of median and quartiles in some cases
    • Fix amounts on some pages were not formatted using the account currency
    • Fix incorrect top 5 amount share calculation in insights explorer
    • Fix cannot change explorer display order when fewer than two items are visible on the insights explorer page
    • Check whether every transactions are editable when moving all transactions in an account

v1.4.0

22 Mar 15:38

Choose a tag to compare

  • [Breaking]

    • Remove deprecated Reserve Bank of Australia exchange rate data source
  • [Features]

    • Add agent skill and ezBookkeeping API Tools script for AI Agent Integration
    • Support "Add Another" in transaction add page / dialog (#471)
    • Support sub condition in insights explorer queries
    • Display total transactions, total amount, average amount, median amount, minimum amount, maximum amount, and more statistic data in the data table tab of insights explorer
    • Display year-over-year and period-over-period growth rates in trends chart in statistics & analysis page on desktop version
    • Add cache management page
    • Support caching map data in browser when the map provider that supports map_data_fetch_proxy and map_data_fetch_proxy is set to true
    • Support setting exchange rate cache expiration time
    • Support sorting transaction tags by name (#487)
    • Support receiving images from the Web Share Target API Level 2 and directly opening AI image recognition on mobile version (#522)
    • LLM provider supports LM Studio
    • LLM provider supports Anthropic and Anthropic compatibility API
    • Support importing transactions from custom xlsx / xls file
  • [Enhancements]

    • Improved Russian translation (#483, #521, thanks @dshemin)
    • Improved Spanish translation (#495, thanks @abrugues)
    • Improved Portuguese (Brazil) translation (#530, thanks @balaios)
    • Support filtering by geographic latitude and longitude in insights explorer queries
    • Add transaction time zone and transaction hour of day to axis / category / series in insights explorer
    • Add 90th percentile amount, range, interquartile range, variance, standard deviation, and coefficient of variation to value metrics in insights explorer
    • Add boxplot chart in reconciliation statement dialog
    • Support restricting API token access based on IP address
    • Support automatically applying known column mapping and transaction type mapping rules when importing custom files with column mapping handle method
    • Support batch replacement of transaction time zones in the import tool
    • Support exporting reconciliation statement, statistics & analysis result and import check result to SSV (semicolon separated values) file
    • Support custom quick save button styles on the mobile transaction edit page
    • Support exporting statistics & analysis result to Mermaid
    • Merge UTF-8 and UTF-16 encodings with or without BOM, with BOM automatically detected and handled
    • Support UTF-32 file encoding when importing delimiter-separated values (DSV) file
    • Optimize the performance of the retrieve all transactions API
    • Add attributes to disable spell check and automatic capitalization to all username input fields (#526, thanks @RasterCrow)
    • Support importing WeChat Pay statements with the latest format that includes thousand separators (#534)
    • Add more icons from Line Awesome
    • Other user interface optimization
  • [Development]

    • Upgrade Golang to 1.25.7
    • Upgrade Node.js to 24.14.0
    • Upgrade Alpine base image to 3.23.3
  • [Bug Fixes]

    • Fix incorrect time for some time zones on the scheduled transaction edit page (#499)
    • Fix the user settings is reset after using the command line tool to change the user password (#516)
    • Fix incorrect display when use transaction year-quarter as axis / category / series in insights explorer
    • Fix incorrect data when exporting 100% stacked charts data in insights explorer
    • Fix incorrect column count when importing mscfb excel file
    • Fix the updated transaction template is not reflected in the interface immediately after modification

v1.3.2

30 Jan 16:53

Choose a tag to compare

  • [Breaking]

    • Remove deprecated International Monetary Fund exchange rate data source
  • [Features]

    • Support importing camt.052 bank statement file
  • [Enhancements]

    • Support date formats that use dashes as separators and date formats without leading zeros when import delimiter-separated values file / data
    • When pasting date time, if multiple formats match and one matches the current display order, use that format for parsing
    • Other user interface optimization
  • [Bug Fixes]

    • Fix the continue button was missing during two-factor authentication on the desktop version when both two-factor authentication and third-party login are enabled both

v1.3.1

24 Jan 15:43

Choose a tag to compare

  • [Features]

    • Add Tamil translation (#456, thanks @hhharsha36)
    • Add refresh accounts, categories and tags button on import dialog
    • Support exporting data when checking pending import data
  • [Enhancements]

    • Improved Spanish translation (#454, #457, thanks @AndresTeller , @diegofercri)
    • Improved Korean translation (#461, thanks @overworks)
    • Support semicolon-separated data when importing delimiter-separated values files / data (#458)
    • Support tag group for transaction tags in the import transaction tool
    • Other user interface optimization
  • [Bug Fixes]

    • Fix the placeholder values in root_url cannot be resolved using values from environment variables, and do not allow placeholders in other options
    • Fix no error message is shown when a tag cannot be moved
    • Fix the system paste button appears again after the user tap outside
    • Fix the import dialog sometimes fails to automatically remember the last selected type

v1.3.0

17 Jan 16:06

Choose a tag to compare

  • [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)

v1.2.0

09 Nov 15:18

Choose a tag to compare

  • [Breaking]

    • The token type for requesting API in the user-session-new command-line argument has been changed to api. And before using this command-line, you need to set the enable_api_token option under the security configuration section to true
  • [Features]

    • Add Korean language (#276, thanks @overworks)
    • Support OAuth 2.0 (Nextcloud / Gitea / GitHub) authentication
    • Support OIDC authentication (#242)
    • Add overview sankey chart for categorical analysis on desktop version
    • Add outflows / inflows / net cash flow chart data type in statistics & analysis
    • Add asset trends in statistics & analysis (#314)
    • Add radar chart for categorical analysis on desktop version
    • Add bubble chart for trends analysis on desktop version
    • Support moving all transactions from one account to another account (#288)
    • Add an MCP tool query_all_accounts_balance for retrieving all account balances (#309)
    • Support generating API token on desktop version
  • [Enhancements]

    • Support canceling AI image recognition
    • AI image recognition supports pasting images from clipboard on the desktop version
    • Support pasting date time into the date-time picker on the desktop version
    • Import credit card repayment transactions from WeChat pay statement file (#279)
    • Support importing the latest format of Alipay statement file
    • Support modifying amount and description when importing transactions
    • Support selecting all visible in account / category / tag filter dialog / page
    • Load configuration option value from file
    • Display a security warning using AI image recognition or generating an MCP token
    • Display a reminder to check important information when using AI image recognition
    • Support setting the expiration time for generated tokens on desktop version or command line
    • Other user interface optimization
  • [Development]

    • Upgrade Golang to 1.25.3
    • Upgrade Node.js to 24.10.0
    • Upgrade Alpine base image to 3.22.2
  • [Bug Fixes]

    • Fix cannot modify transaction time after duplicating transaction with time on the mobile version
    • Hide the "Set Location" button in the map sheet on the transaction view page in mobile version
    • Fix cannot clear all transactions of sub-account (#304)
    • Fix the Persian Calendar was not displayed when the calendar display type was set to Gregorian with Persian Calendar, but the date display type was not set to Persian
    • Fix cannot shift the date range in the trend analysis after switching from categorical analysis with the date range set to "All"
    • Support exporting transactions dated later than the current time

v1.1.1

03 Oct 02:53

Choose a tag to compare

  • [Bug Fixes]
    • Fix the mobile transaction list page displayed incorrectly when loading more transactions (#277)

v1.1.0

27 Sep 13:31

Choose a tag to compare

  • [Breaking]

    • Move the enable_two_factor, enable_forget_password and forget_password_require_email_verify option to the auth section
    • Move the request_id_header option to the server section
    • Use truncation instead of rounding down or rounding to the nearest value when numerical calculations exceed precision limit
  • [Features]

    • Add French language (#252, thanks @brieucdlf)
    • Add Thai language (#260, thanks @natthavat28)
    • Create transactions from AI receipt image recognition results (support OpenAI, OpenAI Compatible API, OpenRouter, Ollama and Google AI)
    • Support custom script to process delimiter-separated values (data) file / data
    • Support filtering accounts and transaction categories for overview in home page (#209)
    • Calendar display type supports Gregorian with Chinese Calendar
    • Calendar display type supports Gregorian with Persian Calendar, date display type supports Persian calendar
    • Import transactions from JD.com Finance statement file (#240)
  • [Enhancements]

    • Batch adding transaction tags in import transaction tool
    • Batch removing specified transaction tags or batch removing invalid transaction tags in import transaction tool
    • Clear all transactions in specified account (#228)
    • Support dates with YYYYMMDD format when importing delimiter-separated values file / data (#219)
    • Import investment transactions from alipay statement file (#246)
    • Support for disabling the app’s built-in swipe-back navigation (#249)
    • The query_transactions_tool_handler MCP tool supports filtering multiple categories or accounts with the same name, and filtering sub-accounts / secondary categories by their parent account / category name
    • Other user interface optimization
  • [Development]

    • Upgrade Golang to 1.25.1
    • Upgrade Node.js to 24.7.0
    • Add build script for Windows Powershell
  • [Bug Fixes]

    • Fix cannot connect PostgreSQL via Unix socket (#253)
    • Use integer to calculate formulas for amount input formula (#214) and beancount amount formula
    • Fix cannot import OFX file which has only one but very long line (#243)
    • Fix transaction type was not checked when replacing transaction categories using batch rules (#248)
    • Fix can not replace empty transaction categories when using batch rules
    • Fix user custom exchange rates update page / dialog could not be opened
    • Fix the checkbox in the scheduled transaction frequency dropdown list couldn’t be used to select options (#225)
    • Fix could not select category name via checkbox in the batch create category dialog
    • Fix the toast text size and the text input size in dialogs on the mobile version did not adjust according to the font size settings
    • Fix the result of detecting whether a transaction has been modified is wrong when no default account is set
    • Fix MCP protocol version requirement for structured content (#239, thanks @lvdou-bing)
    • Fix the add_transaction MCP tool set wrong categories from the wrong category type
    • Hidden transaction tags are not allowed when importing transactions or using the add_transaction MCP tool
    • Don't return hidden tags for query_all_transaction_tags MCP tool

v1.0.1

05 Sep 12:59

Choose a tag to compare

  • [Bug Fixes]
    • Fix cannot delete accounts / transaction categories and tags when using PostgreSQL/SQLite database (#218)

v1.0.0

30 Aug 16:21

Choose a tag to compare

  • [Breaking]

    • Set the default date based on the current date time filter range when adding a new transaction in the transaction list page
  • [Features]

    • Add Dutch language (#196, thanks @automagics)
    • Add reconciliation statement
    • Show opening / closing balance and total inflows / outflows in reconciliation statement dialog / page (#36, #143)
    • Update closing balance in reconciliation statement page / dialog (#166)
    • Add account balance trends chart in reconciliation statement page / dialog (#184)
    • Allow users to change numeral system type (Western Arabic Numerals / Eastern Arabic Numerals / Persian Digits / Burmese Numerals / Devanagari Numerals)
    • Allow users to change calendar display type and date display type (Gregorian Calendar / Buddhist Calendar)
    • Load / save rules for batch replacing transaction categories / accounts / tags when import transactions
    • Object storage supports WebDAV
    • Revoke user token via CLI
  • [Enhancements]

    • Time picker in mobile version supports loop selection
    • Redesign time picker in date time select for desktop device
    • Support modifying balance modification transaction
    • Support deleting balance modification transaction in desktop version
    • Show the reason why the save button is disabled in transaction / account / and category dialog
    • Show the reason why the category / account select control is disabled in desktop version
    • Use the first visible account as default if the default account is hidden when creating new transaction
    • Support importing WeChat Pay billing file in the latest file format (#191)
    • Support clearing all transactions (#202)
    • Digit grouping type supports Indian Number Grouping
    • Show the time range below the fiscal year option
    • Retry up to 3 times when update user cloud settings
    • Other user interface optimization
  • [Development]

    • Upgrade Golang to 1.24.5
    • Upgrade Node.js to 22.18.0
    • Upgrade Docker base image to Alpine 3.22.1
    • Use a unified commit hash length when building in different platform
    • Add support for RTL (Right-to-Left) languages in the UI
  • [Bug Fixes]

    • Fix the amount format could not be automatically detected when importing dsv file
    • Fix the date range may be incorrect when switching between fiscal years
    • Fix the filter could not be saved after the filtered accounts, categories and transaction tags were deleted (#185)
    • Fix the total amount of all sub-accounts under the parent account was not counted after filtering any sub-accounts (#192)
    • Fix the default account shows "unspecified" in desktop version after the default account is set to hidden
    • Check if the accounts, categories, and tags used exist when creating a transaction template
    • Check whether transaction templates use specified accounts / categories / tags when deleting them
    • The number of digits shown for hours, minutes, and seconds in the time picker depends on the user's language settings
    • Clear the data of the last unfinished calculation when opening the number pad sheet
    • Don't initialize avatar / transaction storage when they are not enabled
    • Translate text in vuetify controls