FlashMQ 1.21.0 released

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 with flashmq_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/# as topic, while subtopics did not contain share info. The topic now only contains the actual topic filter, and the share name is available in a variable for subscribe 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/or local_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.

You Might Also Like