Releases: halfgaar/FlashMQ
FlashMQ 1.18.2
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.
FlashMQ 1.18.1
FlashMQ 1.18.1 fixes a bug in async clients (using a plugin) in 1.18.0.
FlashMQ 1.18.0
FlashMQ 1.18.0
New features
- Support for MQTT5 subscription identifiers.
- Expose MQTT5 correlation data and response topic in plugin interface.
Fixes
- In async authentication (which requires a plugin to do so), don’t drop packets sent immediately after CONNECT. Most commonly, this means sending CONNECT,SUBSCRIBE without waiting for the CONNACK first now works.
- Close listen sockets on exit before initiating disconnection of all clients. This avoids unclear error messages on clients that reconnect fast.
- Don’t send CONNACK with success code when connection was actually rejected because the username was incorrect in session take-over.
Improvements
- Reduce amount of memory allocations in one of the publish-to-subscriber hot paths.
- Improve packet caching for multiple subscribers receiving the same packet.
- Ensure all clients get sent a disconnect upon server quit. There was a slight chance for conditions were some clients would be skipped before. This is only relevant for MQTT5, which supports server-initiated DISCONNECT packets.
- Some internal code refactoring.
FlashMQ 1.17.3
FlashMQ 1.17.3 fixes a regression caused by 1.17.2. Picking up existing sessions with pending messages sent out packets in the wrong order: publishes before connack. This would cause various problems in clients.
FlashMQ 1.17.2
FlashMQ version 1.17.2 contains a crash fix, and some minor improvements:
- When using a plugin that does async authentication and there was an error in continuing the authentication, the client was left around for use without a session, which could cause a null pointer dereference crash.
- SSL disconnecting and logging of it has been improved. It now prevents ‘unexpected eof’ errors on the other side by doing a proper shutdown, and logs whether clients do this properly or not. It’s a logging issue, not a security issue.
- Actual system errors on socket EPOLLERR is now logged. Example: connection reset by peer.
- Reduce some idle CPU caused by waiting for background tasks.
- FlashMQ binary now exits with error when giving extraneous positional argument. This prevents misleading arguments like flashmq flashmq.conf, which doesn’t actually load the config.
FlashMQ 1.17.1
FlashMQ 1.17.1 mostly contains only internal changes and some optimizations. Primarily it deals with many delayed tasks generated from the plugin more efficiently.
FlashMQ 1.17.0
Small feature release:
server_not_available
as plugin login result.- New bridge topic
$SYS/broker/bridge/fmqbridge/connection_status
with human-readable status.
See flashmq.org.
FlashMQ 1.16.0
FlashMQ 1.16.0 has one new feature and some (minor) fixes. The new feature is enabled_without_retaining
as retained message mode.
For the list of fixes, see the official release announcement.
FlashMQ 1.15.4
Version 1.15.4 fixes FlashMQ not starting when a saved sessions.db contains “Last Will and Testaments” with a delay that has expired.
FlashMQ 1.15.3
FlashMQ version 1.15.3 is a fix release, which fixes a thread concurrency issue (introduced in version 1.15.1) which can lead to a crash.