Expensave
Self-hosted expense tracker for personal and family budget management
Alternative to: ynab, mint, monarch money, dollarbird

v1.0.0
2026-06-16BREAKING CHANGES
I’ve finally managed to finalise the never ending TODO list and present you expensave the way I’ve imagined from the begining. This release includes so much changes, that it’s hard to mention all of them. But I’ll try: 📆 The biggest blocker for active development was outdated Angular & frontend stack. Now, expensave uses TanStack Query in the frontend with updated Angular, so it got not only faster, more responsive, but more bullet & future-proof. 🔁 Recurring payments - it took me two years to finally implement this feature, but first attempt is here, and I hope to receive feedback wether is this what you wanted. 🌚 Dark mode - using expensave for me was a pain (especially during the night, obviously), because I prefer dark theme on every app I’m using. Finally, Expensave also has one. 👥 User management - while it’s simple, but you can overview, who has access to the app. Simplicity is the king. 🐛 Many bugfixes - it will be hard to mention it all. And while I’ve managed to fix majority of them, don’t be surprise to see new ones 😆
I hope you’ll like it and don’t hesitate to raise a issue in Github if you find something broken or see a room of improvement. Your feedback is very valuable and inspiring. That way I’ll know that this app is used not only by me, but also by more people. You probably don’t know how motivating that is.
What’s Changed
- refactor: remove JSON fixture files and update test assertions by @algirdasc in https://github.com/algirdasc/expensave/pull/496
- test: add validation and not found tests to Finance APIs by @algirdasc in https://github.com/algirdasc/expensave/pull/497
- refactor: streamline test setup and imports in services by @algirdasc in https://github.com/algirdasc/expensave/pull/498
- feat: add recurring expenses feature by @algirdasc in https://github.com/algirdasc/expensave/pull/499
- fix: balance recalculation fix by @algirdasc in https://github.com/algirdasc/expensave/pull/500
- fix: small bugfixes by @algirdasc in https://github.com/algirdasc/expensave/pull/501
- feat: add password reset token functionality by @algirdasc in https://github.com/algirdasc/expensave/pull/502
- fix: integrate signal for calendar data by @algirdasc in https://github.com/algirdasc/expensave/pull/503
- fix: user-friendly foreign key errors by @algirdasc in https://github.com/algirdasc/expensave/pull/504
- feat: edit recurring expenses by @algirdasc in https://github.com/algirdasc/expensave/pull/505
- feat: migrate rest of the frontend to the tanstack query by @algirdasc in https://github.com/algirdasc/expensave/pull/506
- feat: user management by @algirdasc in https://github.com/algirdasc/expensave/pull/508
- feat: convert existing expense to recurring by @algirdasc in https://github.com/algirdasc/expensave/pull/507
- fix: various UI fixes by @algirdasc in https://github.com/algirdasc/expensave/pull/509
- feat: dark mode theme by @algirdasc in https://github.com/algirdasc/expensave/pull/510
Full Changelog: https://github.com/algirdasc/expensave/compare/v0.5.13…v1.0.0