Version 0.5.3 released

This is a bugfix release.

  • Will messages are now only sent when a client disconnects unexpectedly.
  • Fix all incoming topics/subscriptions that start with a / or contain multiple / in a row (//). This should finally fix bug #530099.
  • Do actually disconnect client when it sends an empty subscription/topic string.
  • Add missing $SYS/broker/clients/total to man page.

Version 0.5.2 released

This is a bugfix release; it is recommended that you upgrade to this version:

  • Always update last backup time, so that the backup doesn't run every time through the main loop once autosave_interval has been reached.
  • Report $SYS/broker/uptime in the same format as rsmb.
  • Make mandatory options obvious in usage output and man page of mosquitto_pub. Fixes bug #529990.
  • Treat subscriptions with a trailing slash correctly. This should fix bugs #530099 and #530369.

Mosquitto is now also available for Linux x86 statically compiled against sqlite3, which makes it usable on older distributions such as Ubuntu Hardy that are still supported but do not have a sufficiently new version of sqlite3. To download this package, go to the download page.

Upgrading to 0.5.1

When upgrading to 0.5.1 from 0.4 or higher, there is an important change in the location of the sqlite3-pcre library used. On Linux, the expected location of this library has changed from /usr/lib/ to /usr/lib/sqlite3/ This is because the library is an extension specifically for sqlite3, not a general use shared library.

If you installed sqlite3-pcre manually, or are not using Ubuntu, you should either modify the ext_sqlite3_regex option in /etc/mosquitto.conf to point to your library path, or move the library to the new location.

If you are using Ubuntu and have installed mosquitto from the launchpad ppa, this will largely be taken care of. However, due to a mistake in the packaging of sqlite3-pcre, you must first remove sqlite3-pcre with your package manager and then reinstall it before updating mosquitto. You will only ever need to do this once.

Sorry for the inconvenience caused by this change. If you have any problem or questions, feel free to get in touch on the mqtt users mailing list.

Version 0.5.1 released

This announcement summarises the changes in both 0.5 and 0.5.1.

The interesting changes:

  • Add mosquitto_sub and mosquitto_pub, simple clients for subscribe/publish.
  • Change persistence behaviour. The database is now stored in memory even if persistence is enabled. It is written to disk when mosquitto exits and also at periodic intervals as defined by the new autosave_interval option. This makes persistence more suitable when being used on devices with a limited number of writes, such as flash.
  • Default sqlite3-pcre path on Linux is now /usr/lib/sqlite3/ to match new sqlite3-pcre packages.

The less interesting/bug fixes:

  • No longer store QoS=0 messages for disconnected clients that do not have clean start set.
  • Rename msg_timeout option to retry_interval for better rsmb compatibility.
  • The writing of the persistence database may be forced by sending mosquitto the SIGUSR1 signal.
  • Clients that do not send CONNECT as their first command are now disconnected.
  • Boolean configuration values may now be specified with true/false as well as 1/0.
  • Log message on CONNECT with invalid protocol or protocol version.
  • Add man pages for clients.
  • Add general man page on mqtt.
  • Root privileges are now dropped only after attempting to write a pid file (if configured). This means that the pid file can be written to /var/run/ directly and should fix bug #523183.

Mailing list / irc

We've created some new support channels for mosquitto - a mailing list and an irc channel. Although they are both intended for providing support for mosquitto itself, general discussion of anything to do with mqtt is strongly encouraged. We want to reduce the barrier to getting started and provide a place where people can share their experiences.

The mailing list is at

The irc channel is #mqtt on the freenode network

Version 0.4 released

  • Added support for wildcard subscriptions using + and #.
  • All network operations are now non-blocking and can cope with partial packets, meaning that networking should be a lot more reliable.
  • Total messsages/bytes sent/received are now available in $SYS.
  • Improved logging information - use client ip address and id instead of socket number.
  • Keepalive==0 is now correctly treated as "never disconnect".
  • Default logging destination no longer includes "topics" to prevent possible error logging to the db before it is initialised.
  • Periodic $SYS messages can now be disabled.

See the changelog for full details.

Version 0.3 released

  • Added logging support.
  • Now restarts much more quickly even when the network socket was in use.
  • Can now be configured to run on multiple network ports and restricted to specific network addresses.
  • Added host access control in the form of tcp-wrappers support.

See the change log for full details.

Wild card support in topics is coming in the next version.