Tags

Tags give the ability to mark specific points in history as being important
  • 10

    Interchange formats. Statements now import from OFX/QFX, CAMT.053, QIF and Excel
    workbooks, so most banks are read from a published format instead of a CSV they can
    reshape without notice. A statement whose currency is pegged to the account's is
    offered the conversion, at the legal parity. Two removals make this a major: the
    euro American Express CSV importer is gone — download the OFX behind Amex's "Quicken"
    button instead — and with it the `american-express-eur` slug, which now answers 404;
    `docker-compose.yml` is replaced by `compose.yml` (development database) and
    `compose-demo.yml` (full demo stack). Failed logins are throttled. No migration: the
    database is unchanged since 9.
    
    📝 Add repeatable security-testing checklist
    💄 Keep the last rows clear of the floating FABs
    💄 Brighten the tab icon so Safari stops plating it white
    ♻️ Rename CsvImporter to StatementImporter
    ✨ Import OFX and QFX statements
    ✨ Import CAMT.053 statements
    ✨ Import QIF registers
    🚑 Stop the QIF importer's name pointing at OFX files
    ♻️ Organise the importer package by format and bank
    📝 Record that package segments are snake_case
    🔥 Drop the euro American Express importer
    🐛 Convert Amex euros by the legal peg, not a rounded rate
    ✨ Offer the conversion when a statement's currency is pegged
    💄 Colour the currency step as a question, not a problem
    🐛 Let the import past the currency step
    ✨ Import Excel workbooks (.xlsx)
    📝 Simulate eight personas, and walk two of them
    📝 Refresh the project guidelines
    📝 update .gitignore
    🚚 Split the demo stack out of the development compose
    👷 Move :latest to the newest release on every tag
    ⚡️ Cut the Docker build context from 4.3 GB to 3.7 MB
    📝 Organise self-hosting around the database, not the container
    📝 Write the personas against intent, not the repository's layout
    📝 Refresh the project guidelines for the new layout
    🔒️ Throttle failed logins instead of letting them run free
  • 9.2

    Allocation suggestions. The allocate dialog now proposes a budget line drawn from your
    own past allocations — recurring bills and income, identical and similar descriptions —
    as a hint you accept with one click or ignore; nothing is ever allocated without you. No
    migration: the database is unchanged since 9. The API gains a read-only
    `GET monetary-accounts/{accountId}/transactions/{transactionId}/allocation-suggestion`,
    answering `204 No Content` when no suggestion is confident enough to show.
    
    ✨ Suggest budget lines from past allocations
    💬 Word a recurring salary as income, not as a bill
    ✏️ Fix a typo in the suggestion examples
  • 9.1

    Henkui in the browser tab, drill-down from the overview, and imports that
    no longer double an account's figures. No migration: the database is
    unchanged since 9. Anything scripting the import endpoint should note it now
    takes a `duplicates` parameter and answers with `{created, skipped}` rather
    than a bare array.
    
    💄 Name the browser tab Henkui, not Gui
    🍱 Put the Henkui mark in the browser tab
    🍱 Add the logo as SVG, traced from the Illustrator source
    ✨ Serve the tab icon as SVG, with the .ico as fallback
    💄 Hand-draw the 16px favicon so the leaves stay legible
    💄 Show the vector logo on the home screen
    🔥 Drop assets nothing has referenced since v6
    ✨ Drill from an overview amount into the transactions behind it
    💄 Merge the category and budget-line filters into one list
    🐛 Sum the overview from the budget, not from the year
    ✨ Filter transactions by currency
    ✨ Keep a category either whole or split, and offer the fix
    ✨ Stop an import from doubling what an account already holds
    💄 Give the duplicates step room, and fill sticky table headers
  • 9

    Multi-currency support. An account and a budget each carry a currency now:
    creating either requires one, existing data is backfilled to XPF, and the
    American Express importer splits into two paths. Read readme-admin.md before
    upgrading across this tag.
    
    ✨ Hold accounts and budgets in several currencies
    ♻️ Turn the importers into a registry, split by currency
    ✨ Show and pick currencies across the app
    ✨ Name the currency only when the transaction page mixes them
    ✨ Warn that a bank can break its own importer
    🔥 Drop the padding formatter, keep a currency's decimals
    🐛 Keep data editable when its currency leaves circulation
    🐛 Format cumulative summaries with the budget's decimals
    📝 Document multi-currency accounts, budgets and importers
    📝 Tell users what to click, not what the file looks like
    ✨ Let users sign up, change their password and delete their account
    🔒️ Enforce a real password policy with a live checklist
    💄 Fill the delete buttons with the themed error colour
    🐛 Stop the delete dialog's warning icon from being clipped
    🐛 Proxy the new account paths in ng serve
    ✅ Overhaul test suite: phase split, coverage, and mechanism-based taxonomy
    🔒 Cover the security testing requirements across all endpoints
    👷 Report integration coverage in CI
  • 8.1

    ✨ Move authentication into the app with a title-bar session widget
    💄 Refine the session widget: account menu and consistent login wording
    💄 Hide the account menu's Manage item until #36 lands
  • 8.0.1

    🔒️ Enforce user-account ownership as NOT NULL
  • 8

    ✨ Add multi-user support with per-user data isolation
    💄 Separate Home from the main sections in the nav
    💄 Add onboarding empty states for Accounts, Budgets and Overview
    ✨ Streamline the new-budget dialog for the first budget
    ✨ Guide new users through the Transactions screen
    ✨ Filter transactions by amount range
    🚚 Rename the spending-rate API and internals to cumulative
    💄 Rework the spending-rate dialog into a cumulative chart
    🚚 Rename budget entry to budget line, earnings to income
    💄 Dark M3 redesign with mint/gold theme and reworked screens
    🐛 Fix blank error snackbar in the import dialog
    🐛 Return 400 instead of 500 for bad CSV imports
    ✨ Standardize API errors as RFC 9457 Problem Details
    📝 Rework the readme and manual, add license disclaimer
    📝 Point the readme roadmap at GitLab work items
    📝 Capture vocabulary, DB-migration and docs conventions in CLAUDE.md
  • 7.1

    - ✨ Add editable notes to transactions
    - ♻️ Factor withCredentials into an HTTP interceptor
    - 🔥 Remove Spring HATEOAS; return plain lists and a PageRm
    - ✨ Show latest transactions in account import dialog
    - ✨ uses flyway
    - ⬆️ Upgrade Java 21 -> 25
    - ⬆️ Update Spring Boot to 4.1.0 and jacoco to 0.8.1
  • 7.0.14

    - fixes CI
  • 7.0.13

    - fixes CI
  • 7.0.12

    - fixes CI
  • 7.0.11

    - fixes target architecture
  • 7.0.10

    - fixes deploy
  • 7.0.9

    - fixes CI
  • 7.0.8

    - fixes CI
  • 7.0.7

    - fixes CI
  • 7.0.6

    - fixes CI
  • 7.0.5

    - fixes CI
  • 7.0.4

    - fixes node version
  • 7.0.3

    - uses spring-boot:build-image