Skip to content

v1.0.2

Choose a tag to compare

@ltoinel ltoinel released this 04 Oct 21:39
· 33 commits to main since this release

Highlights

  • Connect Claude without a token: the MCP server now supports OAuth 2.1, so Claude (web, Desktop, mobile) connects from the server URL alone (Settings → Connectors → Add custom connector) after your consent in the portal. Access appears in My access tokens and can be revoked there.
  • Budgets per sub-category: a parent category's budget is the sum of its sub-categories, or an amount you set to override it. The budget edit dialog works again.
  • Administration menu: users, logs and AI agent are grouped under Administration.
  • Dev stack: ./start.sh runs the production image and MariaDB with the code mounted live and a year of demonstration data (--reset, --build, --fake-woob, --help).

Upgrade

The database gets a new migration, 2026-10-14_oauth (OAuth clients and codes, two columns on api_tokens):

  • Docker: applied automatically when the container starts.
  • Other installations: apply it from the Update banner shown to administrators (or php tools/migrate.php) before using the Claude connectors. Without it, everything else keeps working.
  • Behind your own nginx, route /.well-known/oauth-* to src/api.php as docker/nginx.conf does, and set public_url in prod.ini if your HTTPS proxy does not send X-Forwarded-Proto.

Fixes

  • Synchronizing one account no longer synchronizes every account.
  • The icon chosen for an insight is saved.
  • Escape closes the transaction dialog.
  • Transaction icons and colors are those of their own category.
  • Budget cards stay green up to 105 % of the budget.
  • Category picker in the transaction list, checkboxes aligned with their labels, consistent page headers.

Quality

  • Playwright end-to-end tests of every tab against the real API, in CI.
  • Portal unit tests (node:test), in CI and pre-push.
  • Less duplicated code (API calls, month ranges, badge styles) and dead code removed.