Simpl-Resultat/CHANGELOG.md
medic-bot 097c16dc14 feat: add previous year total column to budget table (#16)
Add a read-only column showing the annual budget total from the
previous year for each category. This serves as a baseline reference
when planning the current year's budget.

- Add previousYearTotal field to BudgetYearRow type
- Fetch previous year budget entries in useBudget hook
- Display column between Category and Annual in BudgetTable
- Propagate totals through parent/subtotal/section/grand total rows
- Add i18n keys for FR ("Année préc.") and EN ("Prev. Year")

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 11:04:10 -04:00

9.7 KiB

Changelog

[Unreleased]

Added

  • Budget table: previous year total column displayed as first data column for baseline reference (#16)

[0.6.3]

Added

  • Dashboard: expenses over time stacked bar chart by category and month (#15)
  • Dashboard: budget vs actual table for current month with variance in $ and % (#15)
  • Budget table and Budget vs Actual report: section subtotal formatting with increasing visual weight (#14)

Changed

  • Dashboard: default period changed from "month" to "year to date" (#15)
  • Dashboard: removed recent transactions section (#15)
  • All report tables: grand total rows now use larger font (text-sm), bold weight, and thicker top border for better visual hierarchy (#14)

Fixed

  • Category over time report: all categories now displayed (limit increased from 8 to 50) (#13)
  • Category bar chart: Y-axis labels now use foreground color instead of muted gray (#13)
  • Category over time chart: legend text now uses foreground color instead of inheriting category color (#13)

[0.6.2]

Added

  • Budget table: section subtotals for expenses, income, and transfers displayed after each group (#11)
  • Budget vs Actual report: section subtotals with actual, planned, variation ($) and variation (%) per type (#11)

Fixed

  • Category page: detail panel now stays visible when scrolling through a long category list (#12)

[0.6.1]

Added

  • Changelog page: full version history accessible from Settings at any time
  • Bilingual changelog: release notes displayed in the user's selected language (EN/FR)

Fixed

  • Chart label visibility: amount labels on stacked bar charts now use black text with white outline for better contrast (#8)
  • Budget table: editable cells now show hover background, pointer cursor, and tooltip hint for clearer affordance (#9)

[0.6.0]

Added

  • Reports: toggle between table and chart view for Trends, By Category, and Over Time tabs
  • Reports: "Show amounts" toggle displays values directly on chart bars and area curves
  • Reports: filter panel with category checkboxes (search, select all/none) and source dropdown
  • Reports: source filter applies at SQL level for accurate filtered totals
  • Reports: sticky table headers on all report tables (Dynamic Report, Budget vs Actual)
  • Reports: interactive hover — dimmed non-hovered bars, tooltip filtered to hovered category
  • Reports: legend hover highlights category across all months (Over Time chart)

Fixed

  • Transaction table: comment icon now turns orange (like split icon) when a note is present (#7)

[0.5.0]

Added

  • Error boundary catches React crashes and displays an error page instead of a white screen
  • Startup timeout (10s) on database connection — shows error page instead of infinite spinner
  • Error page with "Refresh", "Check for updates", and contact/issue links
  • Log viewer in settings page — captures console output, filterable by level, copyable, persists across refresh
  • GPL-3.0 license — project is now open source

Changed

  • Report detail modal: sortable columns — click headers to sort by date, description, or amount (#1)
  • Report detail modal: toggle to show/hide amounts column (#3)
  • Budget table: column headers stay fixed when scrolling vertically (#2)

Fixed

  • Auto-updater on Linux: latest.json version field no longer has v prefix, package registry upload is more robust
  • Startup retry: DB connection retries up to 3 times before showing error page (fixes first-launch failure on Windows)
  • Migration checksum mismatch: automatically repairs stale migration 1 checksum on startup

[0.4.4]

Fixed

  • Linux binary now compatible with glibc 2.35+ (Ubuntu 22.04 / Pop!_OS) — CI builds in Ubuntu 22.04 container

[0.4.3]

Fixed

  • Auto-updater endpoint now uses Forgejo package registry for stable URL
  • Linux updater signatures (.AppImage.sig) now correctly collected in CI
  • All platform signatures (.deb.sig, .rpm.sig) now included in release assets

[0.4.2]

Changed

  • Auto-updater now points to self-hosted Forgejo instance
  • Windows builds now cross-compiled via cargo-xwin

[0.4.1]

Fixed

  • App stuck on infinite spinner after updating from v0.3.x (migration checksum mismatch on seed_categories.sql)
  • DB connection errors now logged to console instead of silently failing

[0.4.0]

Added

  • Categories: support for 3 levels of hierarchy (e.g., Dépenses récurrentes → Assurances → Assurance-auto)
  • Dynamic Report: new "Category (Level 3)" pivot field
  • Budget: intermediate subtotals and 3-level indentation for nested categories
  • Categories: automatic is_inputable management when creating/deleting subcategories
  • Categories: depth validation prevents creating a 4th level
  • Seed data: Assurances split into Assurance-auto, Assurance-habitation, Assurance-vie

Fixed

  • Auto-categorization: keywords starting/ending with special characters ([, ], (, ), -, etc.) now match correctly
  • Auto-categorization: pre-compile regex patterns for better batch performance

[0.3.11]

Added

  • Dynamic Report: support multiple column dimensions (composite column keys)

Fixed

  • Dynamic Report: no longer affected by global page date filters — uses only its own panel filters

[0.3.10]

Added

  • Dynamic Report: fields can now be used in multiple zones simultaneously (rows + filters, columns + filters)
  • Dynamic Report: right-click on a filter value to exclude it (shown with strikethrough in red)
  • "This year" period option in reports and dashboard (Jan 1 to today)

[0.3.9]

Added

  • Dynamic Report (pivot table): compose custom reports by assigning dimensions to rows, columns, filters and measures to values
  • Delete keywords from the "All Keywords" view

[0.3.8]

Added

  • Custom date range picker for reports and dashboard
  • Toggle to position subtotals above or below detail rows
  • Display release notes from CHANGELOG in GitHub releases and in-app updater

[0.3.7]

Fixes

  • Remove MSI bundle to prevent updater install path conflict
  • Change Windows updater installMode to basicUi
  • Improve split indicator visibility and adjustments layout

0.3.2

New Features

  • Linux support: Add Linux build (.deb, .rpm, .AppImage) to release workflow
  • Transaction splits on Adjustments page: View transaction split adjustments in a dedicated section on the Adjustments page

Fixes

  • Fix CSV auto-detect edge cases
  • Remove accent from productName for Linux .deb compatibility

0.3.1

Fixes

  • Always show profile switcher in sidebar (#2)

0.3.0

New Features

  • Multiple profiles: Create multiple profiles with separate databases, custom names, and colors
  • PIN protection: Protect profiles with an optional numeric PIN
  • Profile switcher: Quick profile switching from the sidebar
  • Drag-and-drop categories: Reorder categories or change parent via drag-and-drop in the category tree
  • Transaction splits: Split a transaction across multiple categories with adjustable amounts

0.2.10

New Features

  • Period quick-select: Add quick period filter buttons (This month, Last month, etc.) on the Transactions page
  • Budget vs Actual report: Monthly and year-to-date comparison table in Reports
  • Parent category subtotals: Budget page shows aggregated subtotals for parent categories
  • User guide: Complete documentation page accessible from Settings, printable to PDF

Improvements

  • Persist template selection and add Update template button
  • Don't pre-select already-imported files when entering source config
  • Make settings data imports visible in Import History
  • Replace per-template delete buttons with single delete on selection
  • Replace refresh icon with save icon on update template button
  • Add sign convention to budget page

0.2.9

Fixes

  • Allow duplicate-content files with different names (#1)

0.2.8

New Features

  • Data export/import: Export and import your data (transactions, categories, or both) with optional AES-256-GCM encryption (#3)

Fixes

  • Cross-file duplicate detection and per-file import tracking

0.2.5

New Features

  • Import config templates: Save and load import source configurations as reusable templates
  • 12-month budget grid: Full year budget view with monthly cells and annual totals

Fixes

  • Budget and category fixes
  • Migration checksum issue (schema.sql must not be modified after initial release)

0.2.3

New Features

  • Chart patterns: Added SVG fill patterns (diagonal lines, dots, crosshatch, etc.) to differentiate categories in bar charts, pie chart, and stacked bar charts beyond just color
  • Chart context menu: Right-click any category in a chart to hide it or view its transactions in a detail popup
  • Hidden categories: Hidden categories appear as dismissible chips above charts with a "Show all" button to restore them
  • Transaction detail modal: View all transactions composing a category's total directly from any chart
  • Import preview popup: The data preview is now a popup modal instead of a separate wizard step, allowing quick inspection without leaving the configuration page
  • Direct duplicate check: New "Check Duplicates" button on the import configuration page skips directly to duplicate validation without requiring a preview first

Improvements

  • Import wizard flow simplified: source-config → duplicate-check (preview is optional via popup)
  • Duplicate-check back button now returns to source configuration instead of the removed preview step
  • Added categoryIds map to CategoryOverTimeData for proper category resolution in the over-time chart

0.2.2

  • Bump version

0.2.1

  • Add "All Keywords" view on Categories page
  • Add dark mode with warm gray palette
  • Fix orphan categories, persist has_header for imports, add re-initialize
  • Add Budget and Adjustments pages