Skip to content

v1.78.4

Choose a tag to compare

@MichaelSowah MichaelSowah released this 17 Aug 08:34
· 110 commits to main since this release
b29b29a

[1.78.4] - 2026-08-17 — Alioth

Theme: the lazy-ledger contract completes 1.78.3. That patch deferred database work in
the three migrate commands; this one removes it from MigrationManager itself, so
migration discovery and registration — including every extension provider's
loadMigrationsFrom() at boot — perform zero database work. Low risk: migration-internal,
no API/env/config changes.

Fixed

  • MigrationManager construction no longer touches the database. 1.78.3 made the three
    migrate console commands resolve the manager lazily, but every extension provider still
    constructed it at boot via loadMigrationsFrom() — and the constructor connected and ran
    ensureVersionTable() DDL, so any console or web boot with a reachable database created
    the migrations table as whatever role .env named. The manager now resolves its
    connection on first database operation and follows a lazy-ledger contract: migrate() is
    the only operation that ensures/creates the ledger; status and pending reads treat a
    missing ledger as zero applied migrations; rollback() reports nothing-to-rollback when
    the ledger is absent. Migration discovery and registration now perform zero database work,
    and read-only operational commands work with read-only database credentials.