packages feed

keiro-pgmq-0.9.0.0: CHANGELOG.md

# Changelog

All notable changes to `keiro-pgmq` are recorded here. The format follows
[Keep a Changelog](https://keepachangelog.com/), and the package follows the
[Haskell Package Versioning Policy](https://pvp.haskell.org/).

## [Unreleased]

## 0.9.0.0 — 2026-08-02

No user-facing changes beyond the lockstep `keiro-core ^>=0.9.0.0` bound.
Released with the package set for the `keiro-dsl` 0.9.0.0 work.

## 0.8.0.0 — 2026-08-01

No changes this release. Version moves with the package set.

## 0.7.0.0 — 2026-08-01

No user-facing changes beyond the lockstep `keiro-core ^>=0.7.0.0` bound.
Released with the package set for the `keiro-dsl` 0.7.0.0 work.

## 0.6.0.0 — 2026-07-31

No user-facing changes beyond the lockstep `keiro-core ^>=0.6.0.0` bound.
Released with the package set for the `keiro-dsl` 0.6.0.0 work.

## 0.5.0.0 — 2026-07-31

No changes this release. Released with the package set for the `keiro-dsl`
0.5.0.0 whole-workspace work.

## 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`.