kafkit-client 0.1.6

Kafka 4.0+ pure Rust client.
Documentation
# Compatibility

`kafkit-client` is intentionally scoped to Apache Kafka 4.0 and newer. The
implementation follows modern Kafka protocol paths rather than carrying fallback
branches for older broker behavior.

## Supported Baseline

- Apache Kafka 4.0+ brokers.
- KRaft clusters.
- Plaintext Kafka listeners.
- TLS Kafka listeners.
- SASL/PLAIN.
- SASL/SCRAM-SHA-256.
- SASL/SCRAM-SHA-512.
- Modern consumer groups.
- Kafka share groups.
- Transaction protocol v2.

## Producer Compatibility

Supported producer paths:

- Plain producing.
- Keyed records.
- Headers.
- Explicit timestamps.
- Nullable values and tombstones.
- Configurable batching, linger, retry, and delivery timeout.
- Idempotent producing when broker configuration allows it.
- Transactional producing with transaction protocol v2.

Not supported:

- Transaction fallback paths for older brokers.
- Running transactional producers against brokers older than Kafka 4.0.

## Consumer Compatibility

Supported consumer paths:

- Modern consumer group membership.
- Topic-list subscription.
- Regex subscription.
- Manual assignment.
- Offset commits.
- Offset lookup by beginning, end, committed value, and timestamp.
- Pause, resume, seek, and position.

Not supported:

- Classic consumer group membership.
- Classic `JoinGroup`.
- Classic `SyncGroup`.
- Classic group heartbeat membership.
- Brokers that only support classic consumer groups.

## Share Group Compatibility

Share consumers use Kafka share-group protocol APIs. Use them only against
Kafka clusters where share groups are available and enabled.

Share groups are separate from normal consumer groups. They are intended for
record-sharing workflows, not partition-owned stream processing.

## Admin Compatibility

The admin client supports the protocol operations used by the public admin API,
including topic management, cluster description, group listing/description,
config description/mutation, feature level lookup, and SCRAM credential upsert.

Cluster authorization still applies. Unsupported broker-side admin APIs are not
emulated by the client.

## Unsupported Security Mechanisms

- OAuthBearer.
- GSSAPI/Kerberos.
- AWS/MSK IAM.

## Upgrade Guidance

If your cluster is older than Kafka 4.0, upgrade brokers before adopting
`kafkit-client` consumers or transactional producers. Keep older Kafka client
libraries for older broker fleets until the broker compatibility baseline is
met.