Skip to content

Releases: halfgaar/FlashMQ

FlashMQ 1.24.0

11 Dec 20:12

Choose a tag to compare

Version 1.24.0 is mostly a maintenance release; no big new features added. Aside from some internal refactoring, there is:

  • Same fixes from 1.23.1 and 1.23.3 releases.
  • Add config option persistence_data_to_save to give more control over which data is saved.
  • Fix showing 'server shutting down' in logs whether FlashMQ is client or server. It now properly only mentions 'server' when it's the server shutting down, local or remote.
  • Fix marking any non-worker thread as 'main' in logs. Now the actual thread name is shown, also for threads created by the plugin.
  • Reduce locking around client stores in even loops.
  • Don't render 'subscribe' log lines when subscriptions are not configured to be logged. This saves overhead.
  • Database files in storage_dir are now always created with strict permissions.

See FlashMQ 1.24.0 released.

FlashMQ 1.23.2

24 Oct 14:13

Choose a tag to compare

FlashMQ version 1.23.2 contains a security fix.

It was discovered that queuing QoS messages in sessions can cause a memory leak because of circularly tracked references. Version 1.23.2 fixes the issue. Upgrading is advised.

Downloads available and apt repositories updated

FlashMQ 1.23.1

23 Sep 09:42

Choose a tag to compare

Fixes reporting max QoS of 2 in MQTT 5 CONNACK packet. Only 0 or 1 is allowed by the standard.

Builds available

FlashMQ 1.23.0

31 Aug 09:24

Choose a tag to compare

Version 1.23.0 doesn’t contain any major changes, just some small improvements.

New features

  • Ability to set user, group and access permissions on unix socket.
  • Add max_qos setting.

Fixes and improvements

  • When saving state files (sessions, retained messages, etc), disk space calculation incorrectly used a 32 bit int on 32 bit platforms. This could make FlashMQ skip making the backup of state files when the file format version changes (these backups are made to support downgrading).
  • Somewhat improve mTLS (mutual, or client TLS) handshake performance. Caveat: a bottleneck was detected in OpenSSL here. Using OpenSSL 3.2 or higher (like Debian 13 does) is advised.
  • A few small general quality improvements.

Download

Builds available

FlashMQ 1.22.0

11 Jun 10:48

Choose a tag to compare

New features

  • Unix domain socket support has been added to listeners.
  • Listeners can now have an acme_redirect_url for enhanced Let's Encrypt integration.
  • Listeners now have an option drop_on_absent_certificate.
  • Bridges now have a connection_count option for load-balancing.
  • Bridges and listeners now have a max_buffer_size option.
  • Listeners now have an only_allow_from and deny_from option.

Plugin changes

The function flashmq_get_client_address() has been replaced with flashmq_get_client_address_v4().

Release details

See FlashmQ 1.22.0 released for details and downloads.

FlashMQ 1.21.1

24 Mar 20:43

Choose a tag to compare

Version 1.21.1 fixes a crash bug introduced in version 1.19.0, caused by timed events. Upgrading is advised.

Builds available

FlashMQ 1.21.0

18 Mar 20:13

Choose a tag to compare

Version 1.21.0 offers more control over subscriptions from the plugin interface. Additionally, it includes a few fixes.

See the release page for version 1.21.0.

FlashMQ 1.20.0

15 Feb 15:35

Choose a tag to compare

Version 1.20.0 contains one security fix and four new features:

Security fix

  • In outgoing bridge connections, using ca_file or ca_dir had the issue that certificate validation was still also done using the system’s trusted certificates, instead of only with the custom CAs specified. This has been fixed. This ensures certificate pinning works as intended. Note that invalid certificates were still rejected, so the security impact is not high.

New features

  • Bridge topic prefixing. This allows topic trees to be mapped in different sub-trees, locally or remotely.
  • X509 client-certificate based authentication in outgoing bridge connections.
  • Add ability to configure minimum TLS version for listeners and bridges, and log the version negotiated per client.
  • Plugin interface allows silently dropping an incoming publish, with success ACK to client.

Download

See FlashMQ 1.20.0 released.

FlashMQ 1.19.0

05 Jan 10:26

Choose a tag to compare

FlashMQ 1.19.0 is a small enhancement release. Aside from some internal enhancements, it contains:

  • The counter $SYS/broker/subscriptions/count is functional again. It was disabled a while ago because it was implemented in an inefficient way. It’s now implemented as a sort of lazy counter that is mostly accurate, and corrected periodically.
  • The same correction algorithm is now used for $SYS/broker/retained messages/count, because it could drift.
  • The config options plugin_timer_period and save_state_interval can now be dynamically changed in the config file and is applied on reload.
  • MQTT5 retain handling on subscriptions is now supported, meaning clients can place subscriptions and request not to get the retained messages that go with it.
  • Fix memory spike in saving and loading large amounts of retained messages to disk.

Builds available on flashmq.org

FlashMQ 1.18.2

26 Nov 22:49

Choose a tag to compare

A change introduced in 1.17.2 can possibly cause a spinning loop situation on certain, unknown, SSL read errors and hang. Version 1.18.2 contains a fix. Upgrading is advised.

https://www.flashmq.org/2024/11/26/flashmq-1-18-2-released/