# Changelog

All notable changes to `BroadwayPgQue` will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2026-10-28

### Added
- `BroadwayPgQue.Producer` GenStage producer for consuming PgQue queues.
- `BroadwayPgQue.Acknowledger` Broadway acknowledger with batch acknowledgement, exponential retries, dead-letter queue (DLQ) support, and failure routing (`:on_failure`, `:default_retry_delay`).
- Pluggable connection pooling behaviour `BroadwayPgQue.Pool`:
  - `BroadwayPgQue.Pool.Postgrex` for pure Postgrex applications without requiring Ecto.
  - `BroadwayPgQue.Pool.Ecto` for integrating with existing `Ecto.Repo` connection pools.
  - Support for custom pooling modules via `:pool` and `:pool_opts`.
- Polling strategy option `:poll_type`:
  - `:fixed` (default) for constant polling interval (`:poll_interval`).
  - `:adaptive` for exponential backoff up to `:max_poll_interval` when the queue is idle, resetting immediately upon demand or messages.
- Instant wake-up mechanism via `BroadwayPgQue.wake_up/1` (and `:wake_up` GenStage message).
- Standard and cooperative receive modes (`:receive_mode` with `:auto`, `:standard`, and `:coop`).
- Built-in telemetry events for batch fetches and acknowledgements.
- Comprehensive documentation and full test suite.
