This is a new features release. It offers quite a bit of change over the previous version. More details of the new features can be found in the man pages.
The substantial changes are:
- Basic support for connecting multiple MQTT brokers together (bridging).
- mosquitto_sub can now subscribe to multiple topics (limited to a global QoS).
- mosquitto_pub can now send a file as a message.
- mosquitto_pub can now read all of stdin and send it as a message.
- mosquitto_pub can now read stdin and send each line as a message.
- Implement a more efficient database design, so that only one copy of each message is held in the database, rather than one per subscribed client.
- Add support for automatic upgrading of the mosquitto DB from v1 to v2.
- If a retained message is received with a zero length payload, the retained message for that topic is deleted.
- Implement the max_inflight_messages and max_queued_messages features in the broker.
The less visible features and bug fixes are as follows:
- Add support for disabling “clean session” for the sub client.
- mosquitto will now correctly run VACUUM on the persistent database on exit.
- Add the store_cleanup_interval config option for dealing with the internal message store.
- Add persistence_file config option to allow changing the filename of the persistence database. This allows multiple mosquitto DBs to be stored in the same location whilst keeping persistence_location compatible with rsmb.
- Don’t store QoS=0 messages for disconnected clients. Fixes bug #572608. This wasn’t correctly fixed in version 0.5.
- Don’t disconnect clients if they send a PUBLISH with zero length payload (bug #573610).
- Send through zero length messages.
- Produce a warning on unsupported rsmb options instead of quitting.
- Describe clean session flag in the mqtt man page.
Get it from the downloads page. Windows and Ubuntu binaries will follow along shortly.