This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
Affected surfaces
Summary
AI summaryUpdates What's new, Fixes & improvements, and English/Russian across a mixed release.
Full changelog
This is Econumo's biggest release yet. It ships single-file deployment (the web UI is now embedded in the binary, so you can run Econumo with no Docker at all), an embedded MCP server that lets AI assistants read and edit your finances, a first-class PostgreSQL path with a one-command SQLite→PostgreSQL importer, and a set of account-security and email features — email verification, self-service email change, and server-side error translation.
What's new
- Single-binary, Docker-free deployment (#139) — the React SPA is now embedded in the Go binary via
go:embed, so each release ships self-containedeconumo-linux-{amd64,arm64}binaries plusSHA256SUMS. Run it straight from a systemd unit with no container runtime; a reference unit and a full walkthrough (docs/run-without-docker.md) are included. Instance-specific frontend values are driven entirely throughECONUMO_*env vars, and aneconumo versionsubcommand reports the running build. - MCP server (#78, #140) — a built-in
/mcpendpoint lets any MCP client (Claude Code, Claude Desktop, Cursor, …) talk to your instance using a personal access token: list accounts with balances, categories, tags, payees, budgets and connections; read and log/edit/delete transactions; move budget elements and create accounts. Ships withlog-expenseandbudget-reviewprompts. Stateless, sub-second, and behind the same bearer-token auth as the REST API. - PostgreSQL support + SQLite→PostgreSQL importer (#147) — run Econumo on PostgreSQL as a first-class engine, and migrate an existing SQLite install in one command:
econumo data:import-sqlite /path/to/db.sqlitereads typed rows through both drivers, runs the target migrations, and copies everything (sessions included) in a single transaction with an overwrite guard and a schema-version preflight. - Email verification (#137) — opt-in via
ECONUMO_EMAIL_VERIFICATION; when enabled, new users confirm ownership of their address with an emailed code before their first sign-in. Off by default, so existing self-hosted instances are unaffected. - Self-service email change (#143) — a signed-in user can change their own email, gated on their current password and confirmed with a code sent to the new address, with a notice to the old one. Changing the email revokes other sessions while keeping the current one.
- Scheduled in-process exchange-rate updates (#148) — set
ECONUMO_CURRENCY_UPDATE_INTERVAL(in days) and, when an Open Exchange Rates token is present,serverefreshes rates on a schedule with no external cron. It's DB-aware, so restarts don't burn API quota. - App link in transactional emails (#144) — set
ECONUMO_URLto your instance's public URL and every transactional email ends with a link back to the app. Unset leaves email bodies unchanged. - Server-side error translation (#133) — API error messages are now rendered in the caller's language (English/Russian) server-side, based on the request's
Accept-Languageand the user's stored language preference.
Fixes & improvements
- Accept an account-owner's own category/payee/tag on shared accounts (#130).
- Fix mobile list scrolling.
- Retire the legacy
identifiercolumn —lower(email)is now the canonical user lookup key (#141). - Resolve several CodeQL code-scanning alerts (#116).
- Dependency bumps across the frontend and backend toolchains.
Upgrading
Docker: pull the new image and restart — migrations run on boot.
docker compose pull && docker compose up -d
Docker-free: download the econumo-linux-{amd64,arm64} binary attached to this release (verify with SHA256SUMS) and restart your service; see docs/run-without-docker.md.
Heads-up for API clients: this release only adds endpoints (email verification, email change) and MCP tooling — no existing REST route, field, or format changed, so the wire contract the bundled SPA depends on is unaffected.
The ghcr.io/econumo/econumo:latest image tag points to this build; to pin the exact version use ghcr.io/econumo/econumo:v1.2.0.
Contributors
@dmtrkzntsv — everything above, with Claude (Opus 4.8, Fable 5, Sonnet 5) co-authoring. Dependency updates via @dependabot.
Full changelog: v1.1.1...v1.2.0
Security Fixes
- Resolved several CodeQL code‑scanning alerts (#116)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Econumo
Budgeting application for managing personal and family finances, supporting multiple currencies, joint accounts, and budgets.
Related context
Beta — feedback welcome: [email protected]