Releases: eclipse-paho/paho.mqtt.rust
Releases Β· eclipse-paho/paho.mqtt.rust
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.
Version 0.10.0
- Updated to support Paho C v1.3.9
- Switched consumers/streams to use crossbeam channels and async_channel's, respectively.
- Added a
TopicFilter
type to match topics against an individual filter (typically containing wildcards). - Added a
TopicMatcher
collection to iterate through a set of matching topic filters, such as to match callbacks to specific filters. - Finally ran
rustfmt
on source files. - Fixed MQTT v5 topic alias support.
- #118 Added
CreateOptionsBuilder::send_while_disconnected(bool)
and detached the behavior somewhat frommax_buffered_messages()
. Now, setting the buffer size to a non-zero value will not enable off-line buffering. - #120, #121 Fixed
subscribe_many_with_options()
outbound opts. - #122 Some clippy-recommended fixes
- #139 Added a
SyncClient
struct for repeated publishing to the synchronous client. - #140 The MQTT protocol version used to create the client is now the default for connecting.