The v1.0.0 release is a complete rewrite of Econumo — a new Go backend and a redesigned React frontend, shipped together as a single self-contained binary. The app got much faster, memory consumption dropped from ~200 MB to ~10 MB, and every credential in your account — sessions, API tokens — is now visible and revocable.
Breaking changes — upgrading from v0.x moves the Docker image and rewrites your
.env. Read the v0 → v1 migration guide and back up your database first.
Upgrading from v0.x #
Your data is reused in place — there is no export/import step. The new binary recognizes the old database schema on boot and applies only the genuinely new migrations. What does change:
- New tech stack. The PHP/Symfony backend and the Vue.js frontend are gone, replaced by a Go backend and a React 19 frontend in one binary. SQLite (the default) or PostgreSQL is selected at runtime by a single
DATABASE_URLDSN. - New Docker image. The image moved from Docker Hub to the GitHub Container Registry:
docker.io/econumo/econumo-ce→ghcr.io/econumo/econumo. The old image is no longer updated. .envmust be rewritten. The Symfony-era variables are gone, andMAILER_DSNchanged meaning — a leftover v0.x value fails at boot. The migration guide has the full mapping table.ECONUMO_DATA_SALTis deprecated. v1 runs salt-free. If your v0.x instance had a salt set, run the one-offdata:remove-saltmigration once — otherwise those users cannot log in. If it was never set, there is nothing to do.- Everyone signs in again once. v1 stores auth tokens in the database instead of issuing JWTs, so existing login tokens are invalidated. Passwords are unchanged.
A redesigned app on a new engine #
The interface has been rebuilt from the ground up on React 19 — cleaner screens, better touch layouts, and a long list of interaction refinements — while everything stays where you know it: budget, accounts, transactions, shared access, and settings all work the way they did before.



Under the hood, the Go backend serves the API and the web app from one static binary in a distroless image, and runs database migrations automatically on boot — deployment is now a single-service docker-compose.yml.
See and revoke your sessions #
Signing in now creates a revocable session instead of a stateless token, so you can finally see which devices are signed in to your account — and sign out any of them.



To review your sessions:
- Open Settings → Profile.
- Tap Sessions.
- Review the list — each device shows its browser and when it was last active, and your current device is tagged Current.
- Tap Revoke next to a session to sign that device out, or Sign out other devices to keep only the one you’re on.
Note Changing your password now automatically signs out your other sessions.
Personal access tokens for the API #
You can now mint personal access tokens for scripts and integrations — no more sharing your password with tools that talk to the Econumo API, and each token can be revoked individually.



To create a token:
- Open Settings → Profile.
- Tap API tokens.
- Tap Create token.
- Name the token (e.g. “Home Assistant”) and pick when it expires: 30 days, 90 days, 365 days, a Custom date, or Never.
- Tap Create token to mint it.
Note Personal access tokens grant full access to your account over the API — treat them like passwords. Only a hash of each token is stored on the server.
Pick your avatar #
Gravatar is gone. Your avatar is now an icon and a background color you pick right in the app — no external requests, so it works offline and on private self-hosted instances.
![]()
![]()
![]()
To change your avatar:
- Open Settings → Profile.
- Tap your avatar next to your name (Change avatar).
- In Choose your avatar, pick one of the background colors and an icon.
- Tap Save to apply it.
Note New users get a random icon and color at sign-up — you can change it any time.
More in this release #
- Passwords are now hashed with argon2id; existing passwords keep working and move to the new scheme on the next password change.
- The public sign-in, registration, and password-reset endpoints are rate-limited against brute-force attempts.
- Fixed: editing a transfer’s amount now keeps the destination account’s balance in sync.
- Keyboard navigation in the transaction dialog was cleaned up — the calculator keypad no longer captures Tab, and tag chips are focusable.
- Account sharing is now reachable on mobile, from the account edit dialog and the account preview.
- The account list and the budget table remember your scroll position when you navigate back to them.
- The app rides out an unreachable backend: network errors retry automatically, and blocking loaders offer a “Log out” escape hatch.
- Password-reset email is configured with a single
MAILER_DSN(console output by default, Resend supported). - Dependency updates across the stack.
GitHub release #
- Econumo: v1.0.0
- Full changelog: v0.10.1…v1.0.0