• v0.8.2 4416457c22

    Simpl'Résultat v0.8.2
    All checks were successful
    Release / build-and-release (push) Successful in 24m6s
    Stable

    Ghost released this 2026-04-17 14:41:48 +00:00 | 297 commits to main since this release

    Added

    • Feedback Hub widget (Settings → Logs): a Send feedback button in the Logs card opens a dialog to submit suggestions, comments, or bug reports to the central Feedback Hub. A one-time consent prompt explains that submission reaches feedback.lacompagniemaximus.com — an explicit exception to the app's 100% local operation. Three opt-in checkboxes (all unchecked by default): include navigation context (page, theme, viewport, app version, OS), include recent error logs, identify with your Maximus account. Routed through a Rust-side command so nothing is sent unless you press Send (#67)
    • Cartes report (/reports/cartes): new dashboard-style sub-report in the Reports hub. Combines four KPI cards (income, expenses, net balance, savings rate) showing MoM and YoY deltas simultaneously with a 13-month sparkline highlighting the reference month, a 12-month income vs. expenses overlay chart (bars + net balance line), top 5 category increases and top 5 decreases vs. the previous month, a budget-adherence card (N/M on-target plus the three worst overruns with progress bars), and a seasonality card that compares the reference month against the same calendar month from the two previous years. All data comes from a single getCartesSnapshot() service call that runs its queries concurrently (#97)

    Changed

    • Compare report (/reports/compare): reduced from three tabs (MoM / YoY / Budget) to two modes (Actual vs. actual / Actual vs. budget). The actual-vs-actual view now has an explicit reference-month dropdown in the header (defaults to the previous month), a MoM ↔ YoY sub-toggle, and a grouped side-by-side bar chart (two bars per category: reference period vs. comparison period). The URL PeriodSelector stays in sync with the reference month picker (#96)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.8.1 3b2587d843

    Simpl'Résultat v0.8.1
    All checks were successful
    Release / build-and-release (push) Successful in 24m56s
    Stable

    Ghost released this 2026-04-16 02:07:53 +00:00 | 299 commits to main since this release


    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.8.0 54cbdad710

    Simpl'Résultat v0.8.0
    All checks were successful
    Release / build-and-release (push) Successful in 25m4s
    Stable

    Ghost released this 2026-04-14 19:39:27 +00:00 | 304 commits to main since this release

    Added

    • Reports hub: /reports is now a hub surfacing a live highlights panel (current month + YTD net balance with sparklines, top movers vs. last month, top recent transactions) and four navigation cards to dedicated sub-reports (#69–#76)
    • Highlights report (/reports/highlights): balance tiles with 12-month sparklines, sortable top movers table, diverging bar chart, recent transactions list with 30/60/90 day window toggle (#71)
    • Trends report (/reports/trends): internal sub-view toggle between global flow (income vs. expenses) and by-category evolution, chart/table toggle on both (#72)
    • Compare report (/reports/compare): tab bar for Month vs. Previous Month, Year vs. Previous Year, and Actual vs. Budget; diverging bar chart centered on zero for the first two modes (#73)
    • Category zoom (/reports/category): single-category drill-down with donut chart of subcategory breakdown, monthly evolution area chart, and filterable transactions table (#74)
    • Contextual keyword editing: right-click any transaction row to add its description as a categorization keyword; a preview dialog shows every transaction that would be recategorized (capped at 50, with an opt-in checkbox for N+) before you confirm. Available on the category zoom, the highlights list, and the main transactions page (#74, #75)
    • Bookmarkable period: the reports period now lives in the URL (?from=YYYY-MM-DD&to=YYYY-MM-DD), so you can copy, paste, and share the link and keep the same state (#70)
    • View mode preference (chart vs. table) is now persisted in localStorage per report section

    Changed

    • The legacy monolithic useReports hook has been split into per-domain hooks (useReportsPeriod, useHighlights, useTrends, useCompare, useCategoryZoom) so every sub-report owns only the state it needs (#70)
    • Context menu on reports (right-click) is now a generic ContextMenu shell reused by the existing chart menu and the new keyword dialog (#69)

    Removed

    • The dynamic pivot table report was removed. Over 90% of its real usage was zooming into a single category, which is better served by the new Category Zoom report. Git history preserves the old implementation if it ever needs to come back (#69)

    Security

    • New AddKeywordDialog enforces a 2–64 character length bound on user keywords to prevent ReDoS on large transaction sets (CWE-1333), uses parameterized LIKE queries for the preview (CWE-89), wraps its INSERT + per-transaction UPDATEs in an explicit BEGIN/COMMIT/ROLLBACK transaction (CWE-662), renders all untrusted descriptions as React children (CWE-79), and recategorizes only the rows the user explicitly checked — never retroactively. Keyword reassignment across categories requires an explicit confirmation step (#74)
    • getCategoryZoom walks the category tree through a bounded recursive CTE (WHERE depth < 5), protecting against malformed parent_id cycles (CWE-835) (#74)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.7.4 cab4cc174a

    Simpl'Résultat v0.7.4
    All checks were successful
    Release / build-and-release (push) Successful in 26m7s
    Stable

    Ghost released this 2026-04-14 15:24:40 +00:00 | 321 commits to main since this release

    Changed

    • OAuth tokens are now stored in the OS keychain (Credential Manager on Windows, Secret Service on Linux) instead of a plaintext JSON file. Existing users are migrated transparently on the next sign-in refresh; the old file is zeroed and removed. A "tokens stored in plaintext fallback" banner appears in Settings if the keychain is unavailable (#66, #78, #79, #81)
    • Cached account info is now HMAC-signed with a keychain-stored key: writing subscription_status to account.json manually can no longer bypass the Premium gate (#80)
    • PIN hashing migrated from SHA-256 to Argon2id for brute-force resistance (CWE-916). Existing SHA-256 PINs are verified transparently and rehashed on next successful unlock; new PINs use Argon2id (#54)

    Security

    • Closed CWE-312 (cleartext storage of OAuth tokens), CWE-345 (missing integrity check on the subscription cache), and CWE-916 (weak PIN hashing). Legacy tokens.json and legacy unsigned account.json caches are rejected by the gating path until the next token refresh re-establishes a keychain-anchored trust (#66, #54)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.7.3 f5d74b4664

    Simpl'Résultat v0.7.3
    All checks were successful
    Release / build-and-release (push) Successful in 27m50s
    Stable

    Ghost released this 2026-04-13 19:26:17 +00:00 | 341 commits to main since this release

    Fixed

    • Maximus Account sign-in: the deep-link callback now uses the canonical Tauri v2 on_open_url API, so the auth code is properly received by the running app instead of leaving the UI stuck in "loading" (#51, #65)
    • OAuth callbacks containing an error parameter now surface the error to the UI instead of being silently ignored (#51)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.7.2 f14ac3c6f8

    Simpl'Résultat v0.7.2
    All checks were successful
    Release / build-and-release (push) Successful in 25m59s
    Stable

    Ghost released this 2026-04-13 18:11:16 +00:00 | 342 commits to main since this release

    Changed

    • Auto-updates are temporarily open to the Free edition until the license server (issue #49) is live. Gating will be restored once paid activation works end-to-end (#48)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.7.1 88e1fff253

    Simpl'Résultat v0.7.1
    All checks were successful
    Release / build-and-release (push) Successful in 26m52s
    Stable

    Ghost released this 2026-04-13 16:37:09 +00:00 | 343 commits to main since this release

    Fixed

    • Maximus Account sign-in: the OAuth2 callback now correctly returns to the running app instead of launching a second instance and leaving the original one stuck in "loading" (#51, #65)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.7.0 93fd60bf41

    Simpl'Résultat v0.7.0
    All checks were successful
    Release / build-and-release (push) Successful in 27m50s
    Stable

    Ghost released this 2026-04-11 15:58:34 +00:00 | 344 commits to main since this release

    Added

    • CI: new check.yml workflow runs cargo check/cargo test and the frontend build on every branch push and PR, catching errors before merge instead of waiting for the release tag (#60)
    • License card in Settings page: shows the current edition (Free/Base/Premium), accepts a license key, and links to the purchase page (#47)
    • Maximus Account card in Settings: optional sign-in via OAuth2 PKCE for Premium features (#51)
    • Machine activation: activate/deactivate machines against the license server, view activated machines in the license card (#53)
    • Daily subscription status check: automatically refreshes account info once per day at launch (#51)

    Changed

    • Automatic updates are now gated behind the Base edition entitlement; the Free edition shows an upgrade hint instead of fetching updates (#48)
    • Edition detection now considers Maximus Account subscription: Premium overrides Base when subscription is active (#51)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.6.7 198897cbba

    Simpl'Résultat v0.6.7
    All checks were successful
    Release / build-and-release (push) Successful in 22m49s
    Stable

    Ghost released this 2026-03-30 01:16:35 +00:00 | 367 commits to main since this release

    Changed

    • Category Over Time report: removed hard-coded expense-only filter, added type selector defaulting to expense (#41)
    • Category Over Time report: added type filter (expense/income/transfer) in the right filter panel (#41)

    Fixed

    • Updated picomatch dependency (4.0.3 → 4.0.4) to fix HIGH severity vulnerabilities (#43)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads
  • v0.6.6 99fdf4f9ea

    Simpl'Résultat v0.6.6
    All checks were successful
    Release / build-and-release (push) Successful in 28m8s
    Stable

    maximus released this 2026-03-11 21:34:35 +00:00 | 374 commits to main since this release

    Changed

    • Budget table: previous year column now shows actual transactions instead of planned budget (#34)
    • Refactored buildPrevYearTotalMap inline and simplified tests (#39)

    Fixed

    • Changelog files synced automatically via Vite plugin, removed stale public/ copies (#37)

    Installation

    Windows : Téléchargez le fichier .exe ci-dessous.
    Linux : Téléchargez le fichier .deb ou .AppImage ci-dessous.

    Downloads