kiroku-store-migrations 0.2.0.0 → 0.3.0.0
raw patch · 5 files changed
+41/−11 lines, 5 filesdep ~pg-migratedep ~pg-migrate-clidep ~pg-migrate-embedPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: pg-migrate, pg-migrate-cli, pg-migrate-embed, pg-migrate-import-codd, pg-migrate-test-support
API changes (from Hackage documentation)
Files
- CHANGELOG.md +23/−0
- README.md +1/−1
- app/Main.hs +1/−1
- kiroku-store-migrations.cabal +9/−9
- src/Kiroku/Store/Migrations/Internal/Definition.hs +7/−0
CHANGELOG.md view
@@ -2,6 +2,29 @@ ## Unreleased +## 0.3.0.0 — 2026-07-14++### Breaking Changes++* Upgraded `pg-migrate` to 1.1.0.0. `kiroku-store-migrate check` now takes the+ manifest as `--manifest PATH` instead of a positional argument, matching+ `new --manifest`.++### New Features++* `kiroku-store-migrate up` and `repair` accept explicit `--wait` and+ `--no-statement-timeout` overrides; omitting an execution flag now preserves+ the application's configured runner settings instead of discarding them.+* Successful migration, repair, and history-import runs are no longer replaced+ by an error when advisory unlock or statement-timeout restoration fails; the+ durable report is preserved and the cleanup observation attached to it.++### Fixes++* Adding or removing a migration SQL file without listing it in the manifest no+ longer silently reuses a stale compile-time embedding: the embedding module now+ forces GHC to revalidate manifest membership on every build it runs.+ ## 0.2.0.0 — 2026-07-11 ### Breaking Changes
README.md view
@@ -50,7 +50,7 @@ kiroku-store-migrate --help kiroku-store-migrate plan kiroku-store-migrate list-kiroku-store-migrate check kiroku-store-migrations/migrations/manifest+kiroku-store-migrate check --manifest kiroku-store-migrations/migrations/manifest kiroku-store-migrate up --database-url "$DATABASE_URL" kiroku-store-migrate verify --database-url "$DATABASE_URL" kiroku-store-migrate status --database-url "$DATABASE_URL"
app/Main.hs view
@@ -30,7 +30,7 @@ TextOutput -> Text.IO.putStrLn (renderMigrationCommandText outcome) JsonOutput -> LazyByteString.putStrLn (Aeson.encode (renderMigrationCommandJson outcome)) Exit.exitWith- (case exitClass outcome of ExitSuccess -> Exit.ExitSuccess; _ -> Exit.ExitFailure 1)+ (case exitClass outcome of ExitSucceeded -> Exit.ExitSuccess; _ -> Exit.ExitFailure 1) commandOutputFormat :: MigrationCommand -> OutputFormat commandOutputFormat command =
kiroku-store-migrations.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: kiroku-store-migrations-version: 0.2.0.0+version: 0.3.0.0 synopsis: Schema migrations for kiroku-store description: Native pg-migrate component, Codd history mapping, and migration executable@@ -49,9 +49,9 @@ , bytestring >=0.11 && <0.13 , containers >=0.6 && <0.8 , filepath >=1.4 && <1.6- , pg-migrate ^>=1.0.0.0- , pg-migrate-embed ^>=1.0.0.0- , pg-migrate-import-codd ^>=1.0.0.0+ , pg-migrate ^>=1.1.0.0+ , pg-migrate-embed ^>=1.1.0.0+ , pg-migrate-import-codd ^>=1.1.0.0 , template-haskell >=2.20 && <2.24 , text >=2.0 && <2.2 @@ -67,8 +67,8 @@ , hasql >=1.10 && <1.11 , kiroku-store-migrations , optparse-applicative >=0.17 && <0.20- , pg-migrate ^>=1.0.0.0- , pg-migrate-cli ^>=1.0.0.0+ , pg-migrate ^>=1.1.0.0+ , pg-migrate-cli ^>=1.1.0.0 , text >=2.0 && <2.2 test-suite kiroku-store-migrations-test@@ -87,8 +87,8 @@ , hasql >=1.10 && <1.11 , hspec >=2.10 && <2.12 , kiroku-store-migrations- , pg-migrate ^>=1.0.0.0- , pg-migrate-import-codd ^>=1.0.0.0- , pg-migrate-test-support ^>=1.0.0.0+ , pg-migrate ^>=1.1.0.0+ , pg-migrate-import-codd ^>=1.1.0.0+ , pg-migrate-test-support ^>=1.1.0.0 , temporary >=1.3 && <1.4 , text >=2.0 && <2.2
src/Kiroku/Store/Migrations/Internal/Definition.hs view
@@ -1,4 +1,11 @@ {-# LANGUAGE TemplateHaskell #-}+-- GHC 9.12 has no Template Haskell directory-dependency API, so a sibling SQL+-- file that is added or removed without being listed in the manifest leaves this+-- module looking up to date and silently skips manifest membership validation.+-- The plugin forces GHC to reconsider this module on every build it runs.+-- Note this cannot help when no Haskell source changes at all: cabal then+-- reports "Up to date" and never invokes GHC. A clean build revalidates.+{-# OPTIONS_GHC -fplugin=Database.PostgreSQL.Migrate.Embed.RecompilePlugin #-} module Kiroku.Store.Migrations.Internal.Definition ( embeddedMigrationEntries,