Skip to content

Releases: TaeeunKil/kafrust

kafrust v0.3.3

Choose a tag to compare

@TaeeunKil TaeeunKil released this 20 Aug 14:33

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

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 20 Aug 14:06

Summary

  • Publish kafrust-protocol 0.3.2 before kafrust 0.3.2 so isolated Cargo packages resolve matching protocol types.
  • Publish the alpha StreamsGroupSession, bounded StreamsGroupSessionHandle, 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.1 users can update both crates to 0.3.2 through the normal Cargo version update.
  • StreamsGroupSessionHandle is a membership/heartbeat layer only; applications still own task-runtime reconciliation and must await graceful close().

Compatibility evidence

Known limits

  • This is an alpha client release, not a claim of complete rust-rdkafka parity 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.0 roadmap.

kafrust v0.3.0

Choose a tag to compare

@TaeeunKil TaeeunKil released this 14 Aug 04:51

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

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 14 Aug 02:17

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

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 14 Aug 00:43

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 13 Aug 19:10

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 13 Aug 15:47

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 13 Aug 07:36

Full Changelog: v0.2.25...v0.2.26

v0.2.25

Choose a tag to compare

@TaeeunKil TaeeunKil released this 13 Aug 06:36

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

Choose a tag to compare

@TaeeunKil TaeeunKil released this 13 Aug 06:06

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.