Skip to content

Xpenser 1.0.0

Latest

Choose a tag to compare

@andrewzolotukhin andrewzolotukhin released this 13 Oct 07:47
3324913

Xpenser 1.0.0 is the first 1.x release of the self-hosted personal finance application, built with Cleverbrush Framework 5.0.0 and Node.js 24.

Included capabilities

  • Income and expense tracking with budgets, nested categories, vendors, tags, multiple currencies and reporting.
  • Receipt and statement image scanning with review, corrections and confirmed transaction attachments.
  • Durable PostgreSQL background jobs for scans and scheduled email reports.
  • Field validation across data-entry forms and contract-declared HTTP idempotency for transaction creation.
  • OpenAPI documentation, API-key authentication, MCP tools and Telegram integration.

Upgrade notes

  • Upgrade API, web and Telegram bot together. Preserve your existing production environment settings and PostgreSQL volume.
  • Back up PostgreSQL and let existing scans finish before replacing a deployment that still uses process-local scan jobs.
  • Deployments below migration 020 must apply durable scheduler storage; migration 021 converts scan draft/correction documents from TEXT to JSONB. Existing documents must contain valid JSON objects. The API normally applies pending migrations at startup.
  • Avatar and receipt uploads use typed multipart contracts. External clients should follow the upload and storage guide.
  • Rollback to an application that predates migration 020 requires a tested database restoration strategy. Preserve writes accepted after the new release opens traffic.

Verification

The release passed local lint, workspace build and type checks, 1,961 unit tests, 61 PostgreSQL integration tests in UTC and America/Los_Angeles, and 40 preview Playwright tests. Production deployment includes protected backups, migration and restore rehearsals, coordinated service startup and telemetry verification.

Release PR #104 · Framework 5.0.0 adoption #103