rumqttc-0.24.0
What's New?
- 🧾 Expose
EventLoop::cleanto 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,RFC5915and new TLS Error variants:NoValidClientCertInChain,NoValidKeyInChainby @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'sfrom_sendersmethod to theClientasfrom_senderby @BKDaugherty in #779
Changes
- 🆔 Allow empty Client ID by @arunanshub in #791
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.
-
Synchronous client methods take
&selfinstead of&mut selfby @BKDaugherty in #646
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.
With this, the der & password fields are replaced by client_auth.
-
Make v5
RetainForwardRulepublic, in order to allow setting it when constructingFiltervalues by @brianmay in #767 -
Use
VecDequeinstead ofIntoIterto fix unintentional drop of pending requests onEventLoop::cleanby @de-sh in #780 -
Fix typo -
StateError::IncommingPacketTooLarge=>StateError::IncomingPacketTooLargeby @swanandx in #786
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 🎉
- @BKDaugherty made their first contribution in #646
- @RoastVeg made their first contribution in #762
- @ijager made their first contribution in #752
Full Changelog: rumqttd-0.19.0...rumqttc-0.24.0