This release includes 3 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+13 more
Affected surfaces
ReleasePort's take
Moderate signalMobile PWA rendering now requires reinstallation to resolve style issues; the modifying transaction API mandates a transaction type field.
Why it matters: Reinstall PWAs to avoid visual regressions and update API calls to include the required transaction type before upgrading to v1.6.0.
Summary
AI summaryTransaction type field now required, PWA rendering change requires re‑addition, trusted proxy header restrictions added.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | High |
Headers X-Forwarded-For, X-Real-IP, and X-Real-Port now accepted only from trusted proxies or default ranges. Headers X-Forwarded-For, X-Real-IP, and X-Real-Port now accepted only from trusted proxies or default ranges. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Breaking | High |
Mobile PWA page rendering changed; users must reinstall to avoid style issues. Mobile PWA page rendering changed; users must reinstall to avoid style issues. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Breaking | High |
Transaction type field is now required in the modifying transaction API. Transaction type field is now required in the modifying transaction API. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Add Romanian translation (issue #601). Add Romanian translation (issue #601). Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Add Central Bank of Argentina exchange rates data source (issue #622). Add Central Bank of Argentina exchange rates data source (issue #622). Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Support modifying transaction type (issue #175). Support modifying transaction type (issue #175). Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Support AI extraction of transaction details from clipboard text in add‑transaction UI. Support AI extraction of transaction details from clipboard text in add‑transaction UI. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Support AI‑based import of transactions from plain text. Support AI‑based import of transactions from plain text. Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Support AI‑based import of transactions from images (issue #602). Support AI‑based import of transactions from images (issue #602). Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Medium |
Support “every N days” interval for scheduled transactions (issue #594). Support “every N days” interval for scheduled transactions (issue #594). Source: llm_adapter@2026-07-19 Confidence: high |
— |
| Feature | Low |
Support filtering transactions description (case‑insensitive) and normalized description in insights explorer (issue #596). Support filtering transactions description (case‑insensitive) and normalized description in insights explorer (issue #596). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Allow case‑insensitive or database default matching when searching transaction descriptions on list and analysis pages (issue #596). Allow case‑insensitive or database default matching when searching transaction descriptions on list and analysis pages (issue #596). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Support importing and exporting query definitions in insights explorer using JSON files (issue #605). Support importing and exporting query definitions in insights explorer using JSON files (issue #605). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Allow customizing chart color schemes (issue #621). Allow customizing chart color schemes (issue #621). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Feature | Low |
Increase transaction amount limit to ±99,999,999,999.99 (issue #626). Increase transaction amount limit to ±99,999,999,999.99 (issue #626). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Bugfix | Medium |
MCP query_transactions tool now supports balance modification transactions (issue #586). MCP query_transactions tool now supports balance modification transactions (issue #586). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Improve Ukrainian translation (issue #589). Improve Ukrainian translation (issue #589). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Improve Turkish translation (issue #592). Improve Turkish translation (issue #592). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Improve German translation (issue #609). Improve German translation (issue #609). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Improve Japanese translation (issue #616). Improve Japanese translation (issue #616). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Sort transactions first by type then by category display order in insights explorer. Sort transactions first by type then by category display order in insights explorer. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Add median‑to‑mean ratio, outlier count/ratio, Gini Coefficient and Herfindahl‑Hirschman Index to value metrics in insights explorer. Add median‑to‑mean ratio, outlier count/ratio, Gini Coefficient and Herfindahl‑Hirschman Index to value metrics in insights explorer. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Open a dialog showing the transaction list when clicking chart axes/series in insights explorer. Open a dialog showing the transaction list when clicking chart axes/series in insights explorer. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Enable viewing transaction list by clicking treemap, sunburst, heatmap, and calendar heatmap charts in insights exporter. Enable viewing transaction list by clicking treemap, sunburst, heatmap, and calendar heatmap charts in insights exporter. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Add compatibility for browsers sending full URL with fragment to the server (issue #598). Add compatibility for browsers sending full URL with fragment to the server (issue #598). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Support setting thinking level for LLM configuration. Support setting thinking level for LLM configuration. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Display remaining and exceeded character count for transaction descriptions. Display remaining and exceeded character count for transaction descriptions. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Support importing latest Feidee MyMoney (Web) data export format (issue #618). Support importing latest Feidee MyMoney (Web) data export format (issue #618). Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Show default‑currency amount using current exchange rate when hovering non‑default currency transaction amounts. Show default‑currency amount using current exchange rate when hovering non‑default currency transaction amounts. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
| Other | Low |
Add diagnosis information sheet on mobile version. Add diagnosis information sheet on mobile version. Source: granite4.1:30b@2026-07-19-audit Confidence: low |
— |
Full changelog
-
[Breaking]
- The mobile version has changed the way pages are rendered under PWA. Users who have already added the PWA need to remove it and add it again (otherwise, page style issues may occur)
X-Forwarded-For,X-Real-IPandX-Real-Portheaders are accepted only from trusted proxies configured in the configuration file, or from the default trusted proxy ranges10.0.0.0/8,169.254.0.0/16,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16- Transaction type field is now required in the modifying transaction API
-
[Features]
- Add Romanian translation (#601, thanks @gg64nou)
- Add the Central Bank of Argentina exchange rates data source (#622, thanks @dibuyo)
- Support modifying transaction type (#175)
- Support using AI to extract transaction details from clipboard text in add transaction page / dialog
- Support importing transactions by using AI to extract and process data from text
- Support importing transactions by using AI to extract and process data from image (#602)
- Support every N days interval for scheduled transactions (#594)
- Support filtering transactions description (ignores case) and transactions description (normalized) in insights explorer (#596)
- Support using either the database default setting or case insensitive matching when searching transaction descriptions on the transaction list and statistics & analysis pages (#596)
- Support importing and exporting query definitions in insights explorer using JSON files (#605)
- Support customizing chart color schemes (#621)
- Increase the transaction amount limit to ±99,999,999,999.99 (#626)
-
[Enhancements]
- Improved Ukrainian translation (#589, thanks @infinit1ve)
- Improved Turkish translation (#592, thanks @snizamaddinov)
- Improved German translation (#609, thanks @martinschilliger)
- Improved Japanese translation (#616, thanks @Mink16)
- Sort first by transaction type and then by the category display order when the axis / category in insight explorer is set to transaction category and the sort order is set to display order
- Add median-to-mean ratio, outlier count, outlier ratio, Gini Coefficient and Herfindahl-Hirschman Index to value metric in insights explorer
- Open a dialog displaying the transaction list when clicking the axis / series in the chart of insights explorer
- Support clicking treemap chart, sunburst chart, heatmap chart, calendar heatmap chart to view the transaction list in insights explorer
- Add compatibility for browsers that send the full URL with the fragment to the server (#598)
- Support setting thinking level for LLM configuration
- Display the remaining and exceeded character count for transaction descriptions
- Support for importing the latest format of Feidee MyMoney (Web) data export file (#618)
- Show the default currency amount calculated using the current exchange rate when hovering over a transaction amount that is not in the default currency
- Add diagnosis information sheet on mobile version
- Other user interface optimization
-
[Development]
- Upgrade Golang to 1.26.4
- Upgrade Node.js to 24.18.0
- Upgrade Alpine base image to 3.24.1
-
[Bug Fixes]
- MCP
query_transactionstool supports balance modification transactions (#586) - Fix incorrect sign for sub-hour negative time zone offsets (#603, thanks @vjsai)
- Fix custom script handling method did not work correctly when the Immersive Translate browser extension was installed
- Fix the transaction amounts were still displayed in account reconciliation statements and insights explorer after transaction amount is hidden
- Fix chart data could not be exported from insights explorer when using some value metrics
- MCP
Breaking Changes
- PWA pages must be re‑added after update; existing PWAs cause style issues.
- `X-Forwarded-For`, `X-Real-IP`, and `X-Real-Port` headers are accepted only from trusted proxies configured in the config file or default ranges 10.0.0.0/8,169.254.0.0/16,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16.
- Transaction type field is now required in the modifying transaction API.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About ezbookkeeping
A lightweight, self-hosted personal finance app with a user-friendly interface and powerful bookkeeping features.
Beta — feedback welcome: [email protected]