Skip to content

rumqttc-0.24.0

Latest
Compare
Choose a tag to compare
@de-sh de-sh released this 21 May 05:41
· 37 commits to main since this release

What's New?

  • 🧾 Expose EventLoop::clean to allow triggering shutdown and subsequent storage of pending requests by @de-sh in #741

You can now shutdown the Eventloop and drain Requests, which weren't received from the channel and keep them in pending while doing cleanup to prevent any data loss. Example usage in bytebeamio/uplink.

  • 🔐 Support for all TLS key formats currently supported by Rustls: PKCS#1, PKCS#8, RFC5915 and new TLS Error variants: NoValidClientCertInChain, NoValidKeyInChain by @ijager in #752 and #752

With this, we now practically support all RSA and ECC keys in DER/SEC1 encoding.

  • A websocket request modifier for v4 client by @swanandx in #772

  • Surfaced AsyncClient's from_senders method to the Client as from_sender by @BKDaugherty in #779


Changes

MqttOptions::new now accepts empty client_id and MqttOptions::set_clean_session panics if client_id is empty and clean_session flag is set to false.

Users do not need to specify the TLS key variant in the TlsConfiguration anymore, this is inferred automatically. To update your code simply remove Key::ECC() or Key::RSA() from the initialization.

  • Certificate for client authentication is optional in native-tls variant by @swanandx in #758

With this, the der & password fields are replaced by client_auth.

  • Make v5 RetainForwardRule public, in order to allow setting it when constructing Filter values by @brianmay in #767

  • Use VecDeque instead of IntoIter to fix unintentional drop of pending requests on EventLoop::clean by @de-sh in #780

  • Fix typo - StateError::IncommingPacketTooLarge => StateError::IncomingPacketTooLarge by @swanandx in #786

  • Update rustls and friends by @qwandor in #790

Update tokio-rustls to 0.25.0, rustls-native-certs to 0.7.0, rustls-webpki to 0.102.1, rusttls-pemfile to 2.0.0, async-tungstenite to 0.24.0, ws_stream_tungstenite to 0.12.0 and http to 1.0.0. This is a breaking change as types from some of these crates are part of the public API in

Fixes

  • Lowered the MSRV to 1.64.0 by @RoastVeg in #762
  • Request modifier function should be Send and Sync and removed unnecessary Box by @swanandx in #770

New Contributors 🎉


Full Changelog: rumqttd-0.19.0...rumqttc-0.24.0