Releases: faustbrian/go-rabbitmq-streams
Release list
github.com/faustbrian/go-rabbitmq-streams v1.1.1
Publishes behavior-compatible deprecated facades for the legacy OpenTelemetry and RabbitMQ module paths. Existing callers remain compatible while new code can adopt the canonical adapter paths.
github.com/faustbrian/go-rabbitmq-streams v1.1.0
Add independently bounded Producer.Shutdown and Consumer.Shutdown lifecycle APIs with one shared terminal cleanup result. Existing Close calls remain compatible.
github.com/faustbrian/go-rabbitmq-streams/rabbitmq v1.0.2
Publishes the deprecated RabbitMQ facade that delegates to adapters/rabbitmq while preserving public type identity, errors, and behavior.
github.com/faustbrian/go-rabbitmq-streams/otel v1.0.1
Publishes the deprecated OpenTelemetry facade that delegates to adapters/otel while preserving public type identity, errors, instrumentation scope, and behavior.
github.com/faustbrian/go-rabbitmq-streams/adapters/rabbitmq v1.0.1
Moves the existing specification register, fixtures, and provenance to the canonical RabbitMQ adapter owner without changing runtime behavior.
github.com/faustbrian/go-rabbitmq-streams/adapters/rabbitmq v1.0.0
Initial stable release of the canonical RabbitMQ Streams adapter module.
The module preserves the released broker, wire, replay, inspection, and lifecycle behavior under the target-oriented adapters/rabbitmq import path.
github.com/faustbrian/go-rabbitmq-streams/adapters/otel v1.0.0
Initial stable release of the canonical OpenTelemetry adapter module.
The module preserves the released adapter behavior under the target-oriented adapters/otel import path.
github.com/faustbrian/go-rabbitmq-streams v1.0.0
1.0.0 - 2026-08-25
Changed
-
Exclude intentional nested modules from root local-proxy archives so local,
bootstrap, CI, and public module checksums describe the same source
boundary. -
Track the pinned documentation-tool lockfile so clean CI checkouts install
the exact validated cspell dependency. -
Reconcile standalone dependency checksums against deterministic current
module archives so CI, local verification, and release consumers resolve
identical content. -
Harden standalone documentation validation with deterministic spelling and
link checks, package-specific documentation gates, and repository-local
contributor guidance.
Documentation
- Correct stale package, standalone, and authoritative-source links in public
documentation.
Changed
- Publish the module from its standalone
github.com/faustbrian/go-rabbitmq-streamsidentity while preserving its documented API and behavior.
Fixed
- link the module README to the repository documentation portal
Added
- establish the pinned RabbitMQ Streams source baseline, Kafka semantic mapping,
bounded connection policy, owned byte-message model, and stable safe error
categories for the new stream-specific client policy - document producer, consumer, Super Stream, replay, delivery, security,
interoperability, migration, capacity, rollout, and failure-recovery policy,
with compiling five-minute root API examples - expose bounded retry, retry/dead-letter publication, and producer/consumer
shutdown observations for production operations - validate direct and Super Stream consumer delivery shapes independently from
producer message shapes - reject aggregate-invalid publish batches before allocating per-message
result state - record the independent outbox, CloudEvents, event-sourcing, and service
adapter decisions without coupling those domains to the core module
Release integrity
- Source commit:
35a68f367a018abf79994fd720b716298c740e82 - Exact-head CI: https://github.com/faustbrian/go-rabbitmq-streams/actions/runs/32907577075
- Release dry-run: urn:sha256:166b549f793c1a0d6b154b1e1580dd3dba475fc09bccb51831d68d3a49ceb56d
- Assets include a CycloneDX SBOM, SLSA v1 in-toto provenance, and SSH-signed checksums.
Verify the checksum attestation with:
ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS
github.com/faustbrian/go-rabbitmq-streams/rabbitmq v1.0.1
1.0.1 - 2026-08-26
Fixed
- Preserve the configured RPC timeout for established environments and
sessions without overlapping slow connection attempts.
Release integrity
- Source commit:
d9dd4f7a0d541b53701f4c36466e30e146be2c48 - Exact-head CI: https://github.com/faustbrian/go-rabbitmq-streams/actions/runs/32963354215
- Release dry-run: urn:sha256:0e959bb9ea74e6c02aea9708347723e3e89c47456d39d3c6bb677ce7de4f896f
- Assets include a CycloneDX SBOM, SLSA v1 in-toto provenance, and SSH-signed checksums.
Verify the checksum attestation with:
ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS
github.com/faustbrian/go-rabbitmq-streams/rabbitmq v1.0.0
1.0.0 - 2026-08-25
Changed
- Publish the module from its standalone
github.com/faustbrian/go-rabbitmq-streams/rabbitmqidentity while preserving its documented API and behavior.
Fixed
- Accept both immediate connection rejection and deadline expiry from the
upstream client when invalid TLS identities are correctly rejected. - Make broker-restart recovery tests use their full bounded deadline instead
of failing after three otherwise retryable ambiguous confirmations. - Assert that broker-stored offset zero remains a valid initial consumer
position under strict mutation testing. - Preserve explicit nil-context rejection coverage while keeping the strict
static-analysis contract green through a line-local test exception. - Make the concurrent consumer reconnect test enforce emitted signal presence,
uniqueness, and causal reconnect-before-ready ordering without assuming that
concurrent loss and reconnect goroutines are scheduled in one fixed order. - link the module README to the repository documentation portal
Added
- add a bounded stored-offset-only inspector query that does not open an
unrelated end-of-stream consumer - add the initial RabbitMQ-supported Go client transport for confirmed
single-stream publishing, bounded reconnect recovery, and explicit ambiguous
outcomes after accepted sends, including connection-ready observations after
producer and consumer recovery and whole-session endpoint rotation when a
broker accepts a connection but cannot establish the requested stream session - document the adapter API, reconnect and lifecycle policy, wire contract,
security boundary, operational evidence, and interoperability limitations - add equivalent real-broker raw-client, policy-wrapper, TLS, and bounded
confirmation-window performance benchmarks - reject invalid, duplicate, or over-limit broker-reported Super Stream
topology before opening partition producers or consumers - prove a node-by-node RabbitMQ 4.3.4 to 4.3.5 rolling cluster upgrade and add
steady-state idle and repeated lifecycle resource evidence
Release integrity
- Source commit:
35a68f367a018abf79994fd720b716298c740e82 - Exact-head CI: https://github.com/faustbrian/go-rabbitmq-streams/actions/runs/32907577075
- Release dry-run: urn:sha256:3fac59d1617d6d218c11ef1c3d878b5e698e2c771fbe91704297d3bde6c52323
- Assets include a CycloneDX SBOM, SLSA v1 in-toto provenance, and SSH-signed checksums.
Verify the checksum attestation with:
ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS