New features
Version 1.21.0 offers more control over subscriptions from the plugin. The interface version has been bumped to version 4, and requires minor adjustments to existing functions for users who take the new header file. Versions before version 4 remain binary compatible.
- Various subscription based functions now take
std::weak_ptr<Session>
. This can be obtained withflashmq_get_session_pointer()
. This is more accurate and and avoids non-atomic lookups using the client ID. - Add
flashmq_plugin_add_subscription()
. - Add
flashmq_plugin_on_unsubscribe()
. - Add
flashmq_get_client_pointer()
. - The subscription share name is now exposed in
subscribe
ACL checks.
Changes/Features
- The
overload_mode
is now configurable per listener. - For bridges, when using MQTT 3.1.1 or higher, when the other side report ‘no session present’ in CONNACK, the local session state is discarded.
Fixes
- The subscription permission check for shared subscriptions incorrectly offered
$share/foobar/#
astopic
, whilesubtopics
did not contain share info. Thetopic
now only contains the actual topic filter, and the share name is available in a variable forsubscribe
checks. - Fixed non-functioning unsubscribing from a shared subscription.
- Fixed potential invalid cross-thread access on bridge topic prefixes. Could only be hit on
SIGHUP
(config reload). - Fix: when a bridge has a local persistent session (
local_clean_start
and/orlocal_session_expiry_interval
configured that way for relevant MQTT protocol version), local bridge session is now loaded from disk. It was already saved, but not picked up again.
Downoad
Downloads available and packages repositories updated.