Releases: kafka-rust/kafka-rust
Releases · kafka-rust/kafka-rust
Move documentation to docs.rs
- A purely administrative release - no functional changes compared to v0.6.0
- Move all documentation to docs.rs
OpenSSL/Snappy dependencies
- Update to latest rust-openssl (#122; many thanks to @flier)
- Replace native snappy dependency with rust-snappy (#116; again many thanks to @flier)
- Performance improvements by avoiding needless cloning during fetching offsets and API improvements around fetching group offsets (#128; many many thanks to @dead10ck)
- Replace SipHasher with XxHash (#145)
- Added
Consumer#subscriptions
to inspect the consumed topic-partitions (#137) - Started maintaining integration tests (#143; kudos to @dead10ck)
- Allow borrowing KafkaClient from Consumer/Producer (#136; contributed by @thijsc)
- Don't send client-id by default; but allow specifying one (#140; contributed by @Morsicus)
Duration instead of i32-millis
- Accept time as a
std::time::Duration
instead ofi32
millis (Closes: #115)
Idle connections
- Prevent communication over idle connections (#102)
Producer#send
- Fix for #113
Consumer/Producer enhancements
- Kafka group offset storage support (#95)
- Allow consumer to read topics/partitions without a group (breaking api change) (#105)
- Support for reading multiple topics through consumer (breaking api change) (#31)
- Type safe required-acks api for sending messages (breaking api change) (#97)
- Consumer#fallback_offset defaults to "latest" now (#106)
- Update dependency on crc 1.3 (#98)
- Properly evaluate compression type for fetched messages (#96)
Dependency update
Allow excluding snappy, gzip, openssl through feature guards
Introduce features to exclude third-party dependencies:
- "snappy" to exclude dependency on the
snappy
crate - "gzip" to exclude dependency on the
flate2
crate - "security" to exclude dependency on the
openssl
crate
Ssl support
- Allow Producer/Consumer/KafkaClient to communicate with brokers via SSL - @Hoverbear
Producer/Consumer extensions
This release only slightly changes the public API of kafka-rust compared to 0.2.0.
Producer
will now dispatch messages with the same key to the same partition.- One public
unsafe
method has been dropped from the fetch response structure.. KafkaClient::fetch_messages
guarantees to deliver messages withmessage.offset >= partition.requested-offset
(this guarantee was previously available only throughConsumer
.)KafkaClient::fetch_messages
andConsumer
will now validate the CRC checksum of fetched messages by default. Since this involves some non-trivial overhead, CRC validation can be turned off.