Skip to content

keiro 0.3.0.0

Latest

Choose a tag to compare

@shinzui shinzui released this 14 Jul 15:28

A dependency-realignment release across the package set. keiro-migrations and
keiro-pgmq now sit on one pg-migrate 1.1 family together with Kiroku, so a
single ledger owns the kiroku, keiro, and pgmq migration components.

With this release every dependency in the default build plan resolves from
Hackage
. codd and codd-extras remain the only non-Hackage packages, and
they are reachable only through the manual legacy-codd-tools flag, which is
off by default.

Packages

Package Hackage
keiro-core https://hackage.haskell.org/package/keiro-core-0.3.0.0
keiro https://hackage.haskell.org/package/keiro-0.3.0.0
keiro-pgmq https://hackage.haskell.org/package/keiro-pgmq-0.3.0.0
keiro-migrations https://hackage.haskell.org/package/keiro-migrations-0.3.0.0
keiro-dsl https://hackage.haskell.org/package/keiro-dsl-0.3.0.0

Each package is also tagged individually at <package>-0.3.0.0.

What's Changed

Breaking Changes

  • keiro-migrate check now takes the manifest as --manifest PATH instead of a
    positional argument, following the pg-migrate-cli 1.1.0.0 parser.
  • Keiro.Test.Postgres.withMigratedSuiteWith now takes [MigrationComponent]
    extra pg-migrate components appended to the framework plan — instead of a
    Text -> IO () hook that ran its own migration against the template database.
    A pg-migrate ledger is shared by every component in it, so a second plan that
    omitted Kiroku's and Keiro's components failed strict verification with
    UnknownStoredMigration. Suites that installed extra schema (such as PGMQ) now
    pass the component itself: withMigratedSuiteWith [pgmqMigrations].

Changed

  • Upgraded kiroku-store to 0.3.0.1, kiroku-store-migrations to 0.3.0.0, and the
    pg-migrate package family to 1.1.0.0 in keiro-migrations and
    keiro-test-support. This realigns Keiro's pg-migrate version with the one
    Kiroku's migration component requires — the previous ^>=1.0.0.0 bounds excluded
    pg-migrate 1.1 and so could not resolve alongside kiroku-store-migrations 0.3.
    From kiroku-store 0.3.0.1, a failure raised inside an opaque runTransaction
    body now preserves its SQLSTATE and server message instead of surfacing as
    StreamNotFound (StreamName "<transaction>").
  • Upgraded keiro-pgmq to shibuya-pgmq-adapter 0.12.0.0 and the pgmq-* 0.4
    package family, which is what aligns the PGMQ path with pg-migrate 1.1. The
    adapter's own API is unchanged; the notable fix is that idle streams now observe
    shutdown, so a processor with nothing to consume finishes on request instead of
    polling until it is forcibly cancelled. shibuya-core stays at 0.8.0.1 (already
    the latest).
  • Dropped the hasql-migration source-repository-package pin from
    cabal.project. It existed only because pgmq-migration 0.3 depended on
    hasql-migration, whose Hackage release does not build against hasql 1.10;
    pgmq-migration 0.4 is a native pg-migrate component and nothing in the build
    plan depends on it now.

Lockstep releases

keiro-core, keiro, and keiro-dsl have no source changes this cycle and are
released at 0.3.0.0 to stay in lockstep with the set. keiro and keiro-pgmq
tighten their keiro-core bound to ^>=0.3.0.0.

Full Changelog: keiro-0.2.0.0...keiro-0.3.0.0