github letehaha/budget-tracker v0.23.3
v0.23.3 – Bring your own AI endpoint

latest releases: v0.29.1, v0.29.0, v0.28.2...
one month ago

What's Changed

🔌 Bring your own AI endpoint

MoneyMatter's AI features no longer need a key from OpenAI, Anthropic, Google or Groq. Point them at any OpenAI-compatible address instead: a model running on your own machine through Ollama or LM Studio, or a shared gateway like OpenRouter. Add the address in AI settings, pick a model, and both auto-categorization and statement import start using it. If that address stops answering, the settings page tells you the endpoint is unreachable and shows what went wrong, rather than reporting a bad key or a bad model.

AI runs also got cheaper across the board. The same categorization job now burns roughly two thirds fewer tokens than before, so you pay less per run whichever provider you use.

🔤 Letter logos for payees and subscriptions

A payee or subscription with no recognizable brand used to sit next to an empty placeholder. Now you can give it a one or two letter icon in a color you choose, so your lists stay readable at a glance.

🤖 AI categorization keeps its place

Reload the page mid-run and the categorization progress comes back where it left off. If a run failed while your tab was closed, you now see the failure instead of a stalled bar.

🐛 Bug Fixes

  • Statement import skipped some rows without saying anything. Rows whose amounts used a comma for the decimal separator, whose timestamps carried fractions of a second, or whose columns sat off by one were dropped during parsing, so the imported statement quietly came out short. Those rows now come through. Statements that parsed cleanly before are unaffected.
  • Data exports lost portfolio names on transfers involving a deleted portfolio. Transfer rows referencing a portfolio you had since removed showed "(unresolved portfolio)" in place of its name. The real name now appears. Exports of portfolios you still have were always correct.
  • A working AI key could be rejected as invalid. When a provider restricted the small model used for the check, saving the key failed even though the key itself was fine. Saving now falls back to a second model before calling the key broken.
  • Demo data was missing merchant names on bank fees, transfers and some subscriptions. Only demo accounts saw this.

📝 Code Changes

  • feat: Add custom letter monogram logos for payees and subscriptions by @letehaha in #438
  • fix: Fix minor issues caught by Sentry by @letehaha in #440
  • feat: Custom OpenAI-compatible AI endpoints by @letehaha in #442

Full Changelog: v0.23.2...v0.23.3

Don't miss a new budget-tracker release

NewReleases is sending notifications on new releases.