diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -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"
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -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 =
diff --git a/kiroku-store-migrations.cabal b/kiroku-store-migrations.cabal
--- a/kiroku-store-migrations.cabal
+++ b/kiroku-store-migrations.cabal
@@ -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
diff --git a/src/Kiroku/Store/Migrations/Internal/Definition.hs b/src/Kiroku/Store/Migrations/Internal/Definition.hs
--- a/src/Kiroku/Store/Migrations/Internal/Definition.hs
+++ b/src/Kiroku/Store/Migrations/Internal/Definition.hs
@@ -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,
