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 subscribeACL checks.
Changes/Features
- The overload_modeis 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, whilesubtopicsdid not contain share info. Thetopicnow only contains the actual topic filter, and the share name is available in a variable forsubscribechecks.
- 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_startand/orlocal_session_expiry_intervalconfigured 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.