Skip to content

VoucherBot v1.1.1

Choose a tag to compare

@Devathmaj Devathmaj released this 14 Aug 11:27
· 18 commits to main since this release

v1.1.1 — Fix startup crash for existing databases

Patch release: restores a deleted Alembic migration that broke alembic upgrade head at app startup on any database stamped before v1.1.0.


What changed since v1.1.0

One pull request landed since v1.1.0:


Bug Fixes

  • Fixed startup crash on existing databases (PR #17) — v1.1.0 deleted a released Alembic migration, j0k1l2m3n4o5 (the vendor_mappings schema freeze), and rewired the chain around it. Any database stamped at that revision (it was the chain head between 2026-07-23 and 2026-08-13) failed at startup with alembic.util.exc.CommandError: Can't locate revision identified by 'j0k1l2m3n4o5'. The migration file is restored and the chain rewired back to linear, so alembic upgrade head now resolves on existing databases automatically — no manual fix needed.
  • Defensive outbox creation (PR #17) — notification_outbox creation in the k2l3m4n5o6p7 migration now skips when the table already exists, so create_all-built databases upgrade cleanly.

Housekeeping

  • The restored migration's upgrade() is a no-op on fresh databases (h4d5e6f7a8b9 already creates vendor_mappings), so new installs are unaffected.

Testing

  • Full suite: 359 passed, 15 skipped. All CI quality gates pass: ruff format --check, ruff check, mypy voucherbot tests, and the full pytest suite.
  • tests/test_migrations.py enforces the single-head/linear chain invariant; alembic history and alembic heads verify one head (m6n7o8p9q0r1).

Full Changelog: v1.1.0...v1.1.1