| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Pre-Boost Review Release source code.tar.gz | 2024-10-09 | 135.6 kB | |
| Pre-Boost Review Release source code.zip | 2024-10-09 | 247.1 kB | |
| README.md | 2024-10-09 | 2.4 kB | |
| Totals: 3 Items | 385.2 kB | 0 | |
Version 1.0.2 is the latest release before the scheduled formal Boost review and it includes the following changes:
General changes
- License changed to Boost Software License 1.0.
- Extended compiler support to include g++9, g++13 and g++14.
Library changes
- The library fully complies with
Boost.Asio(Boost version 1.86):- Added support for default completion tokens.
- Added support for
boost::asio::cancel_at,boost::asio::cancel_after, and partial completion tokens. - Added support for immediate executors for
async_publish,async_subscribe, andasync_unsubscribe.
- Changed the handling of
CONNACKreason codes received from the Broker.- Previous behaviour: The
mqtt_clientwould only attempt to reconnect to the Broker if it received specific reason codes in theCONNACKpacket:unspecified_error,server_unavailable,server_busy, andconnection_rate_exceeded. - New behaviour: The
mqtt_clientwill attempt to reconnect on any reason code that indicates an error.
- Previous behaviour: The
- Modified handling of buffered
PUBLISHpackets when the broker sets theReceive Maximumproperty:- Previous behaviour:
QoS> 0 packets were queued at the end of the buffer, causingQoS= 0 PUBLISH packets to be sent first. - New behaviour: Packets now follow the order of
async_publishcalls. However, someQoS= 0 packets may be transmitted earlier if the Client reaches the Broker'sQoS> 0 (Receive Maximum) processing limit.
- Previous behaviour:
- Changed the treatment of the
async_runcompletion handler's associated executor:- Previous behaviour: The handler's associated executor would replace
mqtt_client's default executor. - New behaviour: The handler’s associated executor will execute internal operations without replacing
mqtt_client's default executor. If the handler has no associated executor, then themqtt_client's default executor will be used instead.
- Previous behaviour: The handler's associated executor would replace
- Fixed an issue preventing
async_publishfrom accepting an emptyTopic Namewhen aTopic Aliaswas provided in thePUBLISHproperties.
Documentation changes
- Added step-by-step guides for
mqtt_clientusage. - Provided explanations of key library features such as auto-reconnect and retry mechanisms.
- Added insights into the client's internal workings.
- Added numerous ready-to-run code examples.
Full Changelog: https://github.com/mireo/async-mqtt5/compare/v1.0.1...v1.0.2