Version 0.14.0
Updates for some performance increases, event streams, and fixes to MQTT v5 error reporting.
- Support for Paho C v1.3.16
- Improved performance and lower latency for connect and publish operations.
- Added synchronous (blocking) and async event streams.
- All events from the client flow through the stream: Connect, Connection Lost, Disconnected, Incoming Message
- Typeof Variable Byte Integer is u32 (not i32)
PropertyTypeenum now supportsOrd,PartialOrd, andHashtraits- Added a tokio build feature for cargo, and a few tokio example apps. Enabing the feature simply builds the tokio examples. (The library is still fully runtime agnostic).
- Removed async-std from examples. Using smol instead.
- Properties::byte_len and Properties::get_at no longer cast *const MQTTProperties to *mut before calling C functions that are correctly declared const in the bindings.
- #244 Error handling for MQTT5 seems inconsistent
- #264 Fix async MQTT5 error handling
- Proper handling of v5 failures w/ Reason Codes
- [Breaking] Reason Code Error variant now contains Properties from ACK packet
- [Breaking] ACKs with a single reason code error generate an Error result, instead of an Ok() with a possible error code in it.
- Subscribe Many & Unsubscribe Many still return Ok, possibly with a combination of success and error reason codes
- Bumped MSRV to Rust v1.75
- Bumped paho-mqtt-sys to v0.11
- Various new clippy warnings fixed
- #257 initialize mqtt version from create options instead of assuming
- #261 Remove undefined property from Cargo.toml
-sys Version 0.10.3
Fixed the build of the C library for C23 compilers (gcc 15+, etc)
- [#249)[https://github.com/eclipse-paho/paho.mqtt.rust/pull/249) Fixed the Paho C build for C23
Version 0.13.3
Fixed TopicMapper
TopicMatcherimplementsFrom(HashMap)for the value type.- #243
TopicMatchernot matching parent when using '#' wildcard.
Version 0.13.2
Minor updates to TopicFilter.
- Added some methods to
TopicFilter:- Queries
has_wildcards()andnum_fields(). - TryFrom for
&strandString
- Queries
Version 0.13.0
Update for Paho C v1.3.14 with support for UNIX-domain sockets. It also includes:
- Updated License to EPL-v2.0
- Bumped MSRV to Rust v1.73.0
- Bumped -sys to v0.10.0
- Wrapping Paho C v1.3.14
- Support for UNIX-domain sockets on local machine (*nix only)
build.rsbuilds optional UNIX sockets into Paho C on non-Windows systems (*nix)
- Wrapping Paho C v1.3.14
- Reworked the Error type
- Remove
PahoandPahoDescrerrors. De-nested them into the top-level. - Parsing the error messages from PahoDescr for new error types.
- Removed Paho error constants. Now errors can be matched easily/directly.
- Remove
Tokensimplified to create anOption<Result<ServerResponse>>instead of individual components.- Created new enumeration types:
MqttVersionConnectReturnCode(for MQTT v3.x)QoS
- #181 Updated README.md with explanation on how to build for apple m1/x86_64
- #216 Deref QoS pointers for SubscribeMany and UnsubscribeMany in server response
- #224 Fix QoS 0 and 1 conversion
- #236 Make from_c_parts only visible inside crate
Version 0.12.5
Some bug fixes and License update.
- Updated the License to EPL-v2.0
- Added some missing Eclipse Paho legal documents.
- Added
TopicMatcher::insert_many() - #216 Deref QoS pointers for SubscribeMany and UnsubscribeMany in server response
- #215 Now
subscribe_many()returns an error if slices not the same length. Also addedsubscribe_many_same_qos()to the clients.
Version 0.12.4
Fixes for topic matching
TopicMatcher- Fixed a number of corner cases
- Iterator optimized
- Added
prune()andshrink_to_fit(), andget_key_value()
TopicFilterfixed corner cases- Added stand-alone
topic_matches()andtopic_matches_iter()functions from PR #228
Version 0.12.3
Upgrade to Paho C v1.3.13 to fix a number of bugs, including numerous issues with reconnecting to the broker.
Version 0.12.2
- #209 Forwarding trace/log statements from the Paho C library to the Rust logs
- Minor cleanup of subscriber examples.