All Versions
22
Latest Version
Avg Release Cycle
50 days
Latest Release
90 days ago

Changelog History
Page 1

  • v0.23.0

    December 31, 2019
    • ⬆️ Upgrade to the async/await ecosystem, including std::future::Future, v0.3 of the futures crate, and v0.2 of Tokio. The minimum supported Rust version is now Rust 1.39. Special thanks to @sd2k and @dbcfd. (#187)

    The main difference is that functions that previously returned

      futures01::Future<Item = T, Error = E>
    

    now return:

      std::future::Future<Output = Result<T, E>>
    

    In the special case when the error was (), the new signature is further simplified to:

      std::future::Future<Output = T>
    

    Functions that return future::Streams have had the analogous transformation applied.

    • 🔀 Implement Send and Sync on BorrowedMessage, so that holding a reference to a BorrowedMessage across an await point is possible. (#190)

    • 🔀 Implement Sync on OwnedHeaders, which applies transitively to OwnedMessage, so that holding a reference to an OwnedMessage across an await point is possible. (#203)

    • ⬆️ Bump librdkafka to v1.3.0. (#202)

    • 🔄 Change the signature of ConsumerContext::commit_callback so that the offsets are passed via a safe TopicPartitionList struct, and not a raw *mut rdkafka_sys::RDKafkaPartitionList pointer. Thanks, @scrogson! (#198).

    • 🛠 Fix CMake build on Windows when debug information is enabled (#194).

  • v0.22.0

    December 01, 2019
    • ➕ Add a client for Kafka's Admin API, which allows actions like creating and deleting Kafka topics and changing configuration parameters. (#122)
    • 🛠 Fix compliation on ARM, and ensure it stays fixed by adding an ARM builder to CI. (#134, #162)
    • Stop automatically generating librdkafka bindings. Platform-independent bindings are now checked in to the repository. (#163)
    • 🚚 Move zstd compression support behind the zstd feature flag. (#163)
    • ✂ Remove build-time dependency on bindgen, clang, and libclang. (#163)
    • 👌 Support Consumer::pause and Consumer::resume. (#167)
    • Expose the message_queue_nonempty callback, which allows clients to put their poll thread to sleep and be woken up when new data arrives. (#164)
    • Implement IntoOpaque for Arc<T>. (#171)
    • ➕ Add Consumer::seek method. (#172)
    • 👌 Support building with Microsoft Visual C++ (MSVC) on Windows. (#176)
    • ⬆️ Bump librdkafka to v1.2.2. (#177)
    • ✅ Run tests against multiple Kafka versions in CI. (#182)
    • Standardize feature names. All feature names now use hyphens instead of underscores, as is conventional, though the old names remain for backwards compatibility. (#183)
    • 0️⃣ Optionalize libz via a new libz feature. The new feature is a default feature for backwards compatibility. (#183)
    • 👍 Better attempt to make build systems agree on what version of a dependency to compile and link against, and document this hazard. (#183)
  • v0.21.0

    April 26, 2019
    • ➕ Add librdkafka 1.0 support
    • Automatically generate librdkafka bindings
    • ⚡️ Use updated tokio version in asynchronous_processing example
  • v0.20.0

    February 25, 2019
    • ➕ Add FreeBSD support
    • Add offsets_for_times method
    • ➕ Add committed_offsets method
  • v0.19.0

    February 06, 2019
    • 🛠 Fix ordering of generics in FutureProducer::send
  • v0.18.1

    February 06, 2019
    • ➕ Add method for storing multiple offsets
  • v0.18.0

    January 18, 2019
    • ⬆️ Upgrade librdkafka to 0.11.6
  • v0.17.0

    June 30, 2018
    • ➕ Add missing documentation warning.
    • ➕ Add new experimental producer API. Instead of taking key, value and timestamp directly, producers now get them in a ProducerRecord which allows to specify optional arguments using the builder pattern.
    • ➕ Add message headers support.
    • ⬆️ Upgrade tokio-core to tokio in async example, remove futures-cpupool.
    • 🔀 MessageStream is now Send and Sync
  • v0.16.0

    May 20, 2018
    • ⬆️ Upgrade librdkafka to 0.11.4
  • v0.15.0

    March 15, 2018
    • ➕ Added iterator interface to the BaseConsumer.
    • 🔄 Change timeout to more rust-idiomatic Option<Duration>.
    • ➕ Add external_lz4 feature to use external lz4 library instead of the one one built in librdkafka. Disable by default.
    • Mark all from_ptr methods as unsafe.
    • Remove Timestamp::from_system_time and implement From trait instead.
    • 📇 Rename Context to ClientContext.
    • 0️⃣ Rename Empty(...)Context to Default(...)Context.
    • 0️⃣ Use default type parameters for the context of Client, producers and consumers with Default(...)Context set as the default one.
    • 0️⃣ Increase default buffer size in StreamConsumer from 0 to 10 to reduce context switching.