whisper-money/CHANGELOG.md

41 KiB

Changelog

0.1.16 (2026-03-01)

Bug Fixes

  • i18n: localise missing strings in budget dialogs to Spanish (#177) (7260525)
  • i18n: localize billing settings page into Spanish (#176) (7a8eda9)
  • i18n: localize mobile bottom navigation labels into Spanish (#173) (717bf34)
  • Missing space between page sections and create button (6c5961d)
  • tooling: fix stringWidth error in release-it interactive prompt (#179) (866f908)
  • transactions: fix toolbar overflow on mobile and shorten button label (#175) (0388705)

Features

  • Budgets: add period navigation and unify period selector UI (#171) (0493b87)
  • i18n: add localization test and fix missing Spanish translations (#174) (9317238)
  • nav: add icon+label mobile nav with active pill and full-width buttons (#178) (efd86bc)
  • rules: move automation rule evaluation to the backend (#168) (eda72d4)
  • transactions: re-add select all matching filters to bulk actions bar (#169) (0d9fc5a)
  • ui: add create buttons to accounts and budgets pages (#172) (9f5e62f)
  • ui: add glowing effect to all card components (#170) (4d14e4d)

0.1.14 (2026-03-01)

Bug Fixes

  • accounts: widen bank column and truncate text on mobile (#163) (e01d62f)
  • categorizer: fetch uncategorized transactions from backend instead of IndexedDB (#165) (9bb835e)
  • i18n: fix missing space after Tracking label and add account/accounts Spanish translations (#167) (cd0da10)
  • prevent gain/loss sign from wrapping off the amount (#158) (a4d2100), closes whisper-money/whisper-money#157
  • ui: app icon visible on light wallpapers + country select overflow on mobile (#162) (1b7b147)
  • ux: improve status badge, hide balance update for connected accounts, localize delete confirm (#159) (79dd24b)

Features

  • automation-rules: simplify smart rules UI, fix re-evaluation, and localize amounts (#161) (b1f01e4)
  • cashflow: promote trend chart above money flow and increase height (#166) (39a47ec), closes hi#value
  • categories: add Self-Employment Income income category (#164) (77b225d)
  • i18n: localize Spanish translations and currency formatting (#160) (2b9fd23)

0.1.13 (2026-02-25)

Bug Fixes

  • budgets: handle refunds correctly in budget spending calculations (#152) (f2a7f95)
  • improve connection error message contrast in dark mode (#155) (e718f5d)
  • open-banking: use net_amounts for Indexa Capital invested amount calculation (#156) (ae2a8c0)

Features

  • open-banking: add update credentials flow for API-key connections (#154) (690be20)
  • Update facehash and enable blink (2550339)
  • use testcontainers for isolated MySQL in test runs (#153) (e4243c2)

0.1.12 (2026-02-24)

Bug Fixes

  • Pricing table on dark scheme (faddd59)

Features

  • enable invested amount tracking for savings accounts (#142) (0a9ca5b)
  • investment benefits — show gains/losses on investment accounts (#140) (299b8a5)

Performance Improvements

  • accounts: replace client-side API calls with Inertia deferred prop (#144) (ce9574a)
  • dashboard: optimize query performance and eliminate redundant requests (#146) (ae81e20)
  • make banking syncs incremental on subsequent runs (#141) (d48fea1)

0.1.10 (2026-02-20)

Bug Fixes

  • Accounts name on settings/account (202835f)
  • Add gap between filter/create button on mobile settings pages (#115) (726bce6)
  • Automerge PR's where not triggering CI on main branch (ab160ae)
  • Budget period not found on last day of period (#91) (00b2ca7)
  • cashflow: prevent breakdown cards overflow on mobile (#139) (c03f576)
  • charts: use settings popover for chart controls on mobile (#137) (880b276)
  • console error (a76826b)
  • Console log errors with Charts (48b4b7b)
  • Delete pending connection and show toast on cancelled bank authorization (#111) (c7f3f1a)
  • Disable email verification on dev/local (1b0f3ba)
  • Discord link (d7f0084)
  • Header on iOS (1d669b4)
  • Hide transaction checkboxes on mobile (#109) (abd7a2f)
  • Install script improvements (da328ef)
  • Missing import (b3103d4)
  • Onboarding, account not shown on the import drawer (#121) (eeca437)
  • Prevent account card content overflow on long names (#133) (a2b1e91)
  • Prevent automerge when CI checks have failed (#95) (6101cfd), closes #94 #94
  • Prevent re-syncing deleted bank transactions (#114) (d1ba189)
  • Small dashboard UI fix (1500e5c)
  • Top spending categories bug (e8e4f47)
  • Top spending categories on mobile (74ac346)
  • Top spending category must be 100% with always (f31a44b)
  • Trigger sync on transactions drawer (f88444f)
  • Use workflow_run trigger for automerge (#89) (dfd8bf8)
  • Welcome page mobile display for iOS (#94) (28f9432)

Features

  • Add --user and --connection filters to banking:sync command (#122) (b9abf49)
  • Add 'Today' marker on budget spending chart (#134) (a0d19ae)
  • Add automerge workflow for labeled PRs (#88) (10bd7da)
  • Add Binance integration (#131) (df9fc38)
  • Add Bitpanda exchange integration (#132) (fe76c2e)
  • Add daily balance chart with area visualization for account pages (#135) (126f7f7)
  • Add daily granularity toggle with area visualization to net worth chart (#136) (900cf41)
  • Add Indexa Capital integration (#130) (3f541ca)
  • Add multi-currency conversion for net worth charts (#138) (b743cad)
  • Add per-bank description formatter for bank-synced transactions (#120) (9242b3f)
  • Add previous period comparison to budget chart (#93) (9bbd91a)
  • Apply automation rules to bank-synced transactions (#112) (8ce0adf)
  • Bulk delete with type-to-confirm modal (#110) (03fec11)
  • Decrypt encrypted transactions on key unlock (#123) (6abec95)
  • Docker dev env with Caddy, PHP on host (#103) (caccac6)
  • Enable email verification on sign up (#97) (370d388)
  • Improve PWA standalone experience and redirect to dashboard (#90) (b4897ef), closes #71
  • Integrate EnableBanking as open banking provider (#106) (db7b6e4)
  • Plaintext transactions behind feature flag (#105) (e35f712)
  • Redirect to dashboard when running as installed PWA (#92) (1d1c0c3)
  • Remove dev command from whispermoney (1930cf2)
  • Replace settings sidebar with dropdown on mobile (#117) (b69138d)
  • Replace user avatar with Facehash faces (#86) (6aa9da3)
  • Show loading spinner on landing page when in PWA mode (#96) (21d36bb)
  • Show PWA install button on mobile landing page (#99) (abc71da)
  • Spanish localization (#74) (70b603e)

0.1.9 (2026-01-28)

Bug Fixes

  • Apply automation rule labels on transaction creation and import (#79) (a6a2a0d), closes #61
  • Delete transactions on local browser DB after deleting it on the backend (d1f69a2)

Features

  • Print sponsor message on whispermoney script (f03fcf5)
  • Release budgets feature to all users (#84) (a9b889b)
  • Reload transactions table on import proccess complete (bbc3027)
  • Sync new users to Resend contacts (#85) (952a5d4)

0.1.8 (2026-01-25)

Bug Fixes

  • Fire transaction updated event after a label change (#73) (134a292)
  • Progress bar color on dark scheme (d216d0c)
  • Typo in composer dev command (f30e600)
  • Update transactions (91dd23e)

Features

  • Add label support to single transaction update endpoint (#75) (e5eca1e)
  • Load transactions history on budget created (#72) (fee7ad3)

0.1.7 (2026-01-21)

Bug Fixes

  • Error showing randomg transactions from local browser DB (a7c8544)
  • unused vars (f1a2d78)

Features

0.1.6 (2026-01-19)

Bug Fixes

  • MYSQL_EXTRA_OPTIONS env var (49ed94c)

Features

  • Better, easier, and faster account balance update modal (#65) (f4ab918)
  • Don't check upgrades if not in main branch or in DEV_MODE (16a331a)

0.1.5 (2026-01-17)

Bug Fixes

  • broken dashboard while loading (253fe44)
  • Check IDOR vulnerabilities (#60) (80117c3)
  • delay emails to avoid reaching daily resend limit (8ac2520)
  • Remove scheduled horizon command (unused anymore) (63bde93)
  • Use user currency in top spending categories card (#57) (21a4d87), closes #56

Features

  • Add wispermoney local command (#59) (ffd9694)
  • Auto-open encryption key modal after login (#54) (d16282d)
  • Automated setup script for local deployment (#58) (819bea1)
  • Group small expending categories on the Sankey chart (5618893)
  • Persist transactions filter on the URL (c9877a5)
  • Persist cashflow period on the URL (1343e1c)

0.1.4 (2026-01-11)

Bug Fixes

  • delay emails to avoid reaching daily resend limit (8ac2520)
  • Remove scheduled horizon command (unused anymore) (63bde93)

Features

  • Group small expending categories on the Sankey chart (5618893)
  • Persist transactions filter on the URL (c9877a5)
  • Persist cashflow period on the URL (1343e1c)

0.1.3 (2026-01-09)

Bug Fixes

  • issue on filters when no label created (cb1d6a2)
  • scroll category combobox to top while searching (c1ddc14)

Features

  • new roadmap and feedback links (0646b38)
  • Send custom emails to users (#52) (683b3f3)

0.1.2 (2026-01-07)

New Features

Bug Fixes

  • issue on filters when no label created (cb1d6a2)

0.1.1 (2026-01-05)

Bug Fixes

  • add SSR guards to localStorage/sessionStorage access (3b56e24)
  • add SyncProvider to SSR entry point (3177fa3)
  • app logo icon auto of the dashboard (e813849)
  • apply border radius to visible bar segments in stacked chart (413f83f)
  • asd key element to accounts index page (8eab41a)
  • auto-regenerate APP_KEY if invalid format (missing base64: prefix) (797cb06)
  • automated rules broken and now they work in batches (890593d)
  • Automated rules with labels (#32) (bf0c9ae)
  • bulk action bar style (045c7a5)
  • category-combobox: Improve UI responsiveness and truncate category names (2cecd01)
  • charts: mobile ui, and desktop tooltips (818a49e)
  • deploy ci (d4410a6)
  • increase nginx buffer sizes (a87b36d)
  • make encryption key storage SSR-safe to prevent 502 errors (0fcc66e)
  • make useIsMobile hook and utility functions SSR-safe (40762bc)
  • migration history (b52e2de)
  • mobile: account chart (14a9343)
  • normalize transaction_date to YYYY-MM-DD for duplicate detection (#4) (7492b2e)
  • re-enable ssr for all routes after issue is fixed (1d96f5d)
  • rong schedule import (c684695)
  • sync: make transaction creation idempotent (#38) (3cbe0a7)
  • toast on mobile (716e21b)
  • transaction list on account page (ce09f32)
  • TransactionFilters: Update badge styling for uncategorized selection (a2d7af2)
  • transactions: Decrypt account names for automation rule evaluation (323b738)
  • transactions: We were creating transactions with numberic ID instead of UUID v7 (52e1a7b)
  • use direct PDO connection test for MySQL readiness check (a7ee776)
  • use markdown to send user lead invitation mail (1e9566a)
  • wrap SSR app with EncryptionKeyProvider (770f091)
  • wrong user menu text (b2d1bcf)

Features

  • .cursor: Add whisper-money rule configuration (e80647d)
  • AccountBalanceSync: Update existing balances and add new ones efficiently (c2c6894)
  • Add account balance chart improvements and icons (#5) (5f149b4)
  • Add bank selection to edit transaction dialog (0473371)
  • Add Discord invite link to welcome page (f3c0fa1)
  • Add financial models and seeders (635cde0)
  • Add import transactions button to transactions page (e5a77a9)
  • add multiple chart view modes for net worth evolution (#37) (c5df59c)
  • Add new category icons and colors (c339105)
  • Add privacy mode to hide monetary amounts (#28) (8811afb)
  • add transaction labels feature (#24) (4b5d65b)
  • add version tracking with git tags and changelog (db81c9b)
  • auth: Add key clearing on login (3795e46)
  • automation: Add re-evaluate all transactions functionality (e937a86)
  • automation: Add sync functionality to automation rule dialogs (e009abb)
  • category: Update default categories list and sorting logic (73d847f)
  • centralize pricing config with multiple plans support (#20) (58b9343)
  • Configure Resend email integration (#34) (3c22453)
  • Docker: Add Bun installation and update build process (4379239)
  • Docker: Add Wayfinder route generation and update asset build process (a13e7fd)
  • Docker: Optimize build process by removing unnecessary steps and adjusting environment variables (732775e)
  • Docker: Replace pnpm with Bun for Node.js package management (5b45006)
  • Docker: Replace pnpm with bun for package management and build process (b4b891f)
  • encrypted-text: Add animation and random character generation (7d8474f)
  • encrypted-text: Improve encryption UI with dynamic masking and loading state (ff186a4)
  • Implement drip email campaign system (#35) (46c5b13)
  • import-transactions-drawer: Add json-logic-js dependency and improve import logic (1df3bad)
  • lucide-react: Add custom icons to Toaster component (573b2fd)
  • queue: Implement queueable email jobs with rate limiting (3d0d6c8)
  • react: add authentication check in SyncProvider (48bce81)
  • Remove console.log and add padding to components (c1f99fe)
  • Replace Input with Textarea for editable descriptions (2b6acf4)
  • settings: Update account management UI and add sync functionality (ab63edd)
  • shared: Add CategoryCombobox component (57879bb)
  • sync: Add sync functionality for accounts, banks, categories, and status button (9256148)
  • traefik: Add secure headers middleware to WhisperMoney service (242be5f)
  • TransactionController: Add store method for creating transactions (c1fbd4d)
  • TransactionSyncController: Sort transactions by transaction_date and updated_at (41f5c64)
  • ui: Implement virtual scrolling for DataTable component (07ca633)
  • ui: Improve chart tooltip content rendering and calculation (d04b6a0)
  • update date formatting logic in transaction components (d13ecc2)
  • Update encryption key button icon based on state (08baf3b)
  • Update ProfileController to include two-factor authentication settings (e21c9cc)
  • Update welcome page title to focus on understanding finances (3ac7102)
  • use-dashboard-data: Add conditional formatting for current year dates (525e770)
  • welcome: Add GitHub link and refactor auth buttons (2ab362d)

Reverts

  • Revert "swap horizon -> queue:work on mysql" (03880ca)

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.1.0] - 2025-12-28

Added

  • Initial release with end-to-end encrypted finance tracking
  • Account management and bank sync via GoCardless
  • Transaction categorization and labeling
  • Net worth and account balance charts with multiple view modes
  • PWA support for mobile installation