Releases: TaeeunKil/kafrust
Release list
kafrust v0.3.3
Highlights
- Adds bounded StreamsTaskRuntime assignment reconciliation.
- Preserves Kafka nullable active/standby/warmup task semantics.
- Adds canonical StreamsTaskId validation and deterministic add/remove/role-change transitions.
- Publishes the new API from a fresh external project on stable Rust and Rust 1.81.
Verification
- crates.io: kafrust-protocol 0.3.3 published before kafrust 0.3.3.
- Published Streams surface: https://github.com/TaeeunKil/kafrust/actions/runs/32380345199
- Full workspace tests, Clippy, docs, package dry-runs, and diff checks passed.
This is an alpha release. It does not claim complete Kafka Streams application compatibility or complete rust-rdkafka/Kafka replacement parity.
kafrust 0.3.2
Summary
- Publish
kafrust-protocol 0.3.2beforekafrust 0.3.2so isolated Cargo packages resolve matching protocol types. - Publish the alpha
StreamsGroupSession, boundedStreamsGroupSessionHandle, task-state commands, assignment snapshots, and assignment-watch API. - Record single-broker multi-member and three-broker Streams coordinator-failover qualification workflows.
- Make published smoke and comparison workflows default to
kafrust 0.3.2.
Breaking changes
- None intended for this patch release. The Streams group surface is alpha and may change before
1.0.
Migration notes
- Existing
0.3.1users can update both crates to0.3.2through the normal Cargo version update. StreamsGroupSessionHandleis a membership/heartbeat layer only; applications still own task-runtime reconciliation and must await gracefulclose().
Compatibility evidence
- Workspace CI passed on stable Rust and Rust 1.81 in run 32377776401.
- Published Streams API compilation passed on stable Rust and Rust 1.81 in run 32377502460.
- Live Streams membership and coordinator-failover evidence is recorded in run 32373425539 and run 32374858753.
Known limits
- This is an alpha client release, not a claim of complete
rust-rdkafkaparity or Kafka broker replacement. - Streams DSL execution, state stores, automatic task-runtime reconciliation, and a complete Kafka Streams application test remain open.
- Broader production canary, failure, security, performance, and migration qualification remain on the
1.0roadmap.
kafrust v0.3.0
Summary
- Published kafrust and kafrust-protocol 0.3.0 as a pure-Rust Kafka client release.
- Added typed AdminMutationOutcomeUnknown handling for non-idempotent mutations after possible transmission.
- Qualified CreateTopics response-drop reconciliation against Kafka 3.7.2 and 4.3.1.
- Verified published crates through a seven-profile fresh-project smoke covering consumer groups, KIP-848, SASL_SSL/SCRAM, and Gzip/Snappy/LZ4/Zstd.
Verification
- Published Crate Smoke: https://github.com/TaeeunKil/kafrust/actions/runs/31770895344
- docs.rs: https://docs.rs/kafrust/0.3.0/kafrust/ and https://docs.rs/kafrust-protocol/0.3.0/kafrust_protocol/
- Release notes and remaining 1.0 gates: https://github.com/TaeeunKil/kafrust/blob/main/docs/release.md
Known limits
This is still an alpha release. It does not claim complete rust-rdkafka parity or Kafka broker replacement. Broader Admin fault qualification, transaction/OAuth/OIDC coverage, production SLO and service-canary evidence, unclean-election/data-loss behavior, and unlisted Kafka APIs remain 1.0 work.
v0.2.30
Summary
- Preserves consumer partition position and leader epoch across classic and KIP-848 assignment rebuilds.
- Publishes coordinated kafrust-protocol and kafrust 0.2.30 crates.
Verification
- Complete 17-job Live Kafka Smoke: https://github.com/TaeeunKil/kafrust/actions/runs/31761642197
- Published Crate Smoke, seven profiles: https://github.com/TaeeunKil/kafrust/actions/runs/31762679537
- Both docs.rs pages returned HTTP 200.
- Local workspace check, tests, Clippy, docs, package, and diff gates passed.
Known limits
- Alpha release; this is not complete rust-rdkafka parity or Kafka broker replacement.
- See docs/roadmap.md, docs/compatibility.md, and docs/migration-from-rust-rdkafka.md for supported paths and remaining qualification limits.
kafrust 0.2.29
Patch release adding ClientMetricsSnapshot request latency percentiles and benchmark request p50/p95/p99 output. Published protocol-first to crates.io; fresh external Cargo resolution passed. See docs/release.md and docs/compatibility.md for verification and remaining alpha limits. docs.rs publication is still pending its asynchronous build queue.
kafrust v0.2.28
Summary
- Published coordinated pure-Rust kafrust and kafrust-protocol 0.2.28 releases.
- Added KIP-848 empty-assignment convergence handling before exposing a group join.
- Added published consumer-group offset commit/leave/rejoin/restore qualification.
Breaking changes
- None intended for this patch release.
Migration notes
- Existing 0.2.x APIs remain usable; review the updated migration and compatibility documents for current qualification limits.
Compatibility evidence
- Published Crate Smoke run 31734198869 passed Kafka 3.7.2 classic, Kafka 4.3.1 KIP-848, Kafka 3.7.2 SASL_SSL/SCRAM, and Gzip/Snappy/LZ4/Zstd profiles.
Verification
- Workspace tests, Clippy with warnings denied, documentation generation, package verification, protocol-first crates.io publish, and external runtime smoke passed.
Known limits
- This release does not claim complete Kafka/rust-rdkafka replacement, full multi-broker workload parity, or every Admin/security/failure mode.
kafrust v0.2.27
Summary
- Publishes coordinated kafrust-protocol and kafrust 0.2.27 crates.
- Includes the current pure-Rust Kafka protocol, Admin, security, compression, idempotent producer, transaction, consumer-group, observability, and failover qualification slices.
Breaking changes
- None intended for this patch release.
Migration notes
- Existing kafrust 0.2.x users can update both workspace dependencies to 0.2.27.
Compatibility evidence
- Both crates were published protocol-first and resolve at 0.2.27.
- Both docs.rs pages returned HTTP 200.
- A fresh external project compiled kafrust 0.2.27 with ls.
- Current-main Live Kafka Smoke run 31716400583 passed all 17 jobs across Kafka 3.7.2, 3.8.1, 3.9.1, and 4.3.1, including secured and multi-broker profiles.
Verification
- Workspace format, check, test, Clippy, docs, and diff checks passed before release preparation.
- Live leader-epoch and transaction outcome gates passed at gate level.
Known limits
- This remains a pre-1.0 alpha release. Broader data-loss/log-retention fault matrices, provider-specific OAuth/OIDC compatibility, transparent post-transmission Admin mutation replay, and cross-client performance parity are not claimed.
kafrust v0.2.26
Full Changelog: v0.2.25...v0.2.26
v0.2.25
Direct and group consumers now negotiate Fetch v12/v11 without requiring client_rack and reuse broker-scoped fetch sessions across polls. Fetch v4 remains the fallback when the broker advertises neither session-capable version. Verified with 311 workspace tests, all-feature lint/docs, the complete 17-job Live Kafka Smoke matrix, crates.io publishing, docs.rs, and a fresh external TLS compile.
v0.2.24
Rack-aware Fetch v11/v12 now reuses broker-scoped fetch sessions across sequential polls. Session state resets on assignment or position changes, reconnects, and fetch errors. Verified with focused tests, the complete 17-job Live Kafka Smoke matrix, crates.io publishing, docs.rs, and a fresh external TLS compile.