# Limitations
This crate is focused on a narrow modern Kafka surface. The limits are
intentional so the implementation can stay smaller, clearer, and easier to test
before broadening compatibility.
## Current Limits
- Kafka 4.0+ only.
- KRaft-focused cluster support.
- No brokers before Kafka 4.0.
- No classic consumer group protocol.
- No classic `JoinGroup`, `SyncGroup`, or classic heartbeat membership.
- No older transaction protocol fallback.
- No OAuthBearer support.
- No GSSAPI/Kerberos support.
- No AWS/MSK IAM support.
- Transaction support targets transaction protocol v2.
- Consumer support targets modern consumer groups.
- Share consumption targets Kafka share groups.
- Fault and stress coverage is still expanding before release candidate status.
## Practical Impact
- Use Kafka 4.0+ brokers.
- Use KRaft clusters.
- Use modern consumer groups for partition ownership.
- Use share groups for work sharing.
- Use transaction protocol v2 for transactional producers.
- Keep older Kafka client libraries for older broker fleets until those brokers
are upgraded.
## Operational Gaps To Plan Around
- Validate security setup in staging before production rollout.
- Validate broker authorization for admin operations separately from connection
success.
- Treat share groups and transactions as Kafka-version-sensitive features.
- Keep integration tests that exercise your broker configuration, not only unit
tests around client construction.
## Things That May Change
The public API may still tighten around admin coverage and diagnostics. Prefer
wrapping client usage behind your own application boundary if you need to absorb
future API adjustments with minimal blast radius.