Releases: eclipse-paho/paho.mqtt.rust
Releases Β· eclipse-paho/paho.mqtt.rust
Version 0.3.13
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.rs
builds optional UNIX sockets into Paho C on non-Windows systems (*nix)
- Wrapping Paho C v1.3.14
- Reworked the Error type
- Remove
Paho
andPahoDescr
errors. 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
Token
simplified to create anOption<Result<ServerResponse>>
instead of individual components.- Created new enumeration types:
MqttVersion
ConnectReturnCode
(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()
TopicFilter
fixed 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.
Version 0.12.1
Version 0.12.0
Update to Paho C v1.3.12
- Updated to Rust Edition 2021 w/ MSRV 1.63.0
- Upgrade to Paho C v1.3.12
- Fixes a performance issue, particularily for receiving messages.
- New URI protocol schemes: "mqtt://" for TCP and "mqtts://" for encrypted SSL/TLS.
- [Breaking] Updated
CreateOptions
andConnectOptions
behavior:- The
CreateOptions
default is for a "universal" client that can connect using v3.x or v5. (This was previously specified as the v5 option).- Can use
CreateOptions::new_v3()
for a client that can only connect using v3.x - Defaults to no message persistence (i.e. persistence is opt-in).
- Can use
- The v3.x vs v5 devision is made when connecting.
ConnectOptions::new()
still defaults to v3.x- New constructors for specific protocol version,
ConnectOptions::new_v5()
,new_ws()
, andnew_ws_v5()
, for v5, websocket, and v5 over websockets, respectively. - Connect options default to clean session/state, as appropriate for the constructed protocol version.
- You select the MQTT protocol version with one of the new constructors, and can not change it after creation. (No longer a set
mqtt_version()
function).
- The
AsyncClient::mqtt_version()
now returns the version for the current connection - or the most recent successful connection. RemovedAsyncClient::current_mqtt_version()
.- Updated
SubscribeOptions
to be more usable. - Created a new example for MQTT v5 subscriptions with subscribe options.
- #182 Callback must now be
Send
since they will be called from another thread. - #172 Linking to
User32
library on Windows to try to avoid build problems. - #170 Updated the cmake crate dependency in -sys to 0.1.49 to support both older CMake (pre v3.12) and newer systems like VS 2022.
- #156 (continued) Added a mutable iterator to TopicMatcher, with functions
remove()
,get_mut()
, andmatches_mut()
- #170 Upgraded cmake crate to v0.1.48 to support building with Visual Studio 2022.
- #166 Fix topic matches with single-level wildcard.
- #151 Fixed wrong documentation of QoS 1
- #57 Updated this README with more help for musl builds.
- Fixed clippy warnings
Version 0.9.2
Fixed memory leak in v5 Properties.
- #148 Properly freeing property memory.
Version 0.11.1
Version 0.11.0
- Updated to support Paho C v1.3.10
- New client functions to stop consuming/streaming and to remove callbacks.
- Started a README for the -sys crate.
- Fixed a bunch of lints. Clippy report is clean.
- #152 Consumer won't panic when the receiver drops.
- #113 Build now respects the OPENSSL_STATIC flag (if OPENSSL_DIR or other path flags set).
- #145
impl From<Error> for io::Error
An MQTT error can be easily converted back to an I/O error.