Changelog of @hackage/keiro-pgmq 0.4.0.1

Changelog

All notable changes to keiro-pgmq are recorded here. The format follows Keep a Changelog, and the package follows the Haskell Package Versioning Policy.

[Unreleased]

0.4.0.1 — 2026-07-28

Other Changes

  • Adds PVP upper bounds to every dependency that previously carried a lower bound only, so cabal check reports no packaging warnings. No API or behaviour change from 0.4.0.0, which was tagged but never published.

0.4.0.0 — 2026-07-28

Bug Fixes

  • One-shot job processing (runJobOnce and runJobOnceWithContext) now continues the producer's trace instead of leaving a hole between the enqueue and settlement spans. Each claimed message extracts the W3C traceparent that enqueueTraced stored in the PGMQ headers column, installs it as a remote parent, and runs the handler inside one Consumer-kind <jobName> process span. The span carries the same common surface as the continuous runJobWorkers path — messaging.system, messaging.destination.name, messaging.operation.type, messaging.message.id, shibuya.partition for FIFO deliveries, and shibuya.ack.decision recorded only after the finalizing PGMQ statement returns, with OK for Done/retry and ERROR for dead-lettering. A handler that throws is recorded as an exception with an ERROR status and no acknowledgement attribute. Deliveries carrying no usable trace header still get exactly one span.

    Deliberately absent: the shibuya.inflight.* gauges the continuous path reports. A bounded drain has no shibuya inbox and no concurrency meter to describe.

    No public API, function signature, delivery semantic, queue behavior, PGMQ header shape, or wire payload changed — downstream applications gain trace continuity by rebuilding.

0.3.0.0 — 2026-07-14

Changed

  • Upgraded to shibuya-pgmq-adapter 0.12.0.0 and the pgmq-* 0.4 package family (pgmq-core, pgmq-config, pgmq-effectful, pgmq-hasql, and pgmq-migration in the test suite). keiro-pgmq's own API is unchanged. The adapter's 0.12 fix makes idle streams observe shutdown: a processor with nothing to consume now finishes on request instead of polling until it is forcibly cancelled.
  • The test suite installs the PGMQ schema by appending pgmq-migration's native pgmqMigrations component to the suite's framework plan, rather than calling the migrate runner that pgmq-migration 0.4 removed. One pg-migrate ledger now owns the kiroku, keiro, and pgmq components together.

0.2.0.0 — 2026-07-13

No user-facing changes. keiro-pgmq is released at 0.2.0.0 to stay in lockstep with the rest of the Keiro package set, and is rebuilt against keiro-core 0.2.0.0. Consumers should note that the stricter event-stream validation and the relocation of Keiro's framework tables into the dedicated keiro PostgreSQL schema — both described in the keiro-core and keiro changelogs — apply to any application that wires this package's workqueue and dispatch workers.

0.1.0.0 — 2026-07-05

Initial Hackage release.

New Features

  • Added typed PGMQ job definitions, payload codecs, runtime workers, job worker context, retry and dead-letter policies, and direct job draining.
  • Added queue provisioning, FIFO ordered delivery via message groups, producer headers, batch enqueue support, queue metrics, archive/retention APIs, DLQ inspection, and redrive helpers.
  • Added trace propagation through PGMQ job producer and worker paths.

Bug Fixes

  • Classified job decode failures, validated retry tuning, disambiguated long queue names, and isolated integration-test databases.

Other Changes

  • Tightened the internal keiro-core dependency bound to ^>=0.1.0.0.