Version 1.6.12 released.

Mosquitto 1.6.12 and 1.5.10 have been released.


  • In some circumstances, Mosquitto could leak memory when handling PUBLISH messages. This is limited to incoming QoS 2 messages, and is related to the combination of the broker having persistence enabled, a clean session=false client, which was connected prior to the broker restarting, then has reconnected and has now sent messages at a sufficiently high rate that the incoming queue at the broker has filled up and hence messages are being dropped. This is more likely to have an effect where max_queued_messages is a small value. This has now been fixed. Closes #1793.

The following fixes apply to 1.6.12 only.


  • Build warning fixes when building with WITH_BRIDGE=no and WITH_TLS=no.


  • All clients exit with an error exit code on CONNACK failure. Closes #1778.
  • Don't busy loop with mosquitto_pub -l on a slow connection.

Version 1.6.11 released.

Mosquitto 1.6.11 has been released, this is a bugfix release.


  • On Windows the Mosquitto service was being installed without appropriate path quoting, this has been fixed. Closes #565671.


  • Fix usage message only mentioning v3.1.1. Closes #1713.
  • Fix broker refusing to start if only websockets listeners were defined. Closes #1740.
  • Change systemd unit files to create /var/log/mosquitto before starting. Closes #821.
  • Don't quit with an error if opening the log file isn't possible. Closes #821.
  • Fix bridge topic remapping when using "" as the topic. Closes #1749.
  • Fix messages being queued for disconnected bridges when clean start was set to true. Closes #1729.
  • Fix autosave_interval not being triggered by messages being delivered. Closes #1726.
  • Fix websockets clients sometimes not being disconnected promptly. Closes #1718.
  • Fix "slow" file based logging by switching to line based buffering. Closes #1689. Closes #1741.
  • Log protocol error message where appropriate from a bad UNSUBSCRIBE, rather than the generic "socket error".
  • Don't try to start DLT logging if DLT unavailable, to avoid a long delay when shutting down the broker. Closes #1735.
  • Fix potential memory leaks. Closes #1773. Closes #1774.
  • Fix clients not receiving messages after a previous client with the same client ID and positive will delay interval quit. Closes #1752.
  • Fix overly broad HAVE_PTHREAD_CANCEL compile guard. Closes #1547.

Client library

  • Improved documentation around connect callback return codes. Close #1730.
  • Fix mosquitto_publish*() no longer returning MOSQ_ERR_NO_CONN when not connected. Closes #1725.
  • mosquitto_loop_start() now sets a thread name on Linux, FreeBSD, NetBSD, and OpenBSD. Closes #1777.
  • Fix mosquitto_loop_stop() not stopping on Windows. Closes #1748. Closes #117.

Mosquitto now an Ubuntu Appliance

Ubuntu has just announced their new Ubuntu Appliance initiative, which provides self contained images for a number of different applications, for use on a Raspberry Pi or PC. These are full Ubuntu derivatives that use snap packages, so will keep up to date with the latest releases.

There are five different applications in the first set of appliances, and Mosquitto is one of them.

Read more at the Ubuntu blog.

Version 1.6.10 released.

Mosquitto 1.6.10 has been released, this is a bugfix release.


  • Report invalid bridge prefix+pattern combinations at config parsing time rather than letting the bridge fail later. Issue #1635.
  • Fix mosquitto_passwd -b not updating passwords for existing users correctly. Creating a new user with -b worked without problem. Closes #1664.
  • Fix memory leak when connecting clients rejected.
  • Don't disconnect clients that are already disconnected. This prevents the session expiry being extended on SIGHUP. Closes #1521.
  • Fix support for openssl 3.0.
  • Fix check when loading persistence file of a different version than the native version. Closes #1684.
  • Fix possible assert crash associated with bridge reconnecting when compiled without epoll support. Closes #1700.

Client library

  • Don't treat an unexpected PUBACK, PUBREL, or PUBCOMP as a fatal error. Issue #1629.
  • Fix support for openssl 3.0.
  • Fix memory leaks from multiple calls to mosquitto_lib_init()/mosquitto_lib_cleanup(). Closes #1691.
  • Fix documentation on return code of mosquitto_lib_init() for Windows. Closes #1690.


  • Fix mosquitto_sub %j or %J not working on Windows. Closes #1674.


  • Various fixes for building with below C99 support. Closes #1622.
  • Fix use of sed on BSD. Closes #1614.

Version 1.6.9 released.

Mosquitto 1.6.9 has been released, this is a bugfix release.


  • Fix session expiry with very large expiry intervals. Closes #1525.
  • Check ACL patterns for validity when loading. Closes #1539.
  • Use presence of password file as indicator for whether username checks should take place, not whether usernames are defined in the password file. Closes #1545.
  • Strip whitespace from end of config file string options. Closes #1566.
  • Satisfy valgrind when exiting on error due to not being able to open a listening socket, by calling freeaddrinfo. Closes #1565.
  • Fix config->user not being freed on exit. Closes #1564.
  • Fix trailing whitespace not being trimmed on acl users. Closes #1539.
  • Fix bind_interface not working for the default listener. Closes #1533.
  • Improve password file parsing in the broker and mosquitto_passwd. Closes #1584.
  • Print OpenSSL errors in more situations, like when loading certificates fails. Closes #1552.
  • Fix mosquitto_client_protocol() returning incorrect values.

Client library

  • Set minimum keepalive argument to mosquitto_connect*() to be 5 seconds. Closes #1550.
  • Fix mosquitto_topic_matches_sub() not returning MOSQ_ERR_INVAL if the topic contains a wildcard. Closes #1589.


  • Fix --remove-retained not obeying the -T option for filtering out topics. Closes #1585.
  • Default behaviour for v5 clients using -c is now to use infinite length sessions, as with v3 clients. Closes #1546.

Version 1.6.8 released.

Mosquitto 1.6.8 has been released, this is a bugfix release.


  • Various fixes for allow_zero_length_clientid config, where this option was not being set correctly. Closes #1429.
  • Fix incorrect memory tracking causing problems with memory_limit option. Closes #1437.
  • Fix subscription topics being limited to 200 characters instead of 200 hierarchy levels. Closes #1441.
  • Only a single CRL could be loaded at once. This has been fixed. Closes #1442.
  • Fix problems with reloading config when per_listener_settings was true. Closes #1459.
  • Fix retained messages with an expiry interval not being expired after being restored from persistence. Closes #1464.
  • Fix messages with an expiry interval being sent without an expiry interval property just before they were expired. Closes #1464.
  • Fix TLS Websockets clients not receiving messages after taking over a previous connection. Closes #1489.
  • Fix MQTT 3.1.1 clients using clean session false, or MQTT 5.0 clients using session-expiry-interval set to infinity never expiring, even when the global persistent_client_expiration option was set. Closes #1494.

Client library

  • Fix publish properties not being passed to on_message_v5() callback for QoS 2 messages. Closes #1432.
  • Fix documentation issues in mosquitto.h. Closes #1478.
  • Document mosquitto_connect_srv(). Closes #1499.


  • Fix duplicate cfg definition in rr_client. Closes #1453.
  • Fix mosquitto_pub -l hang when stdin stream ends. Closes #1448.
  • Fix mosquitto_pub -l not sending the final line of stdin if it does not end with a new line. Closes #1473.
  • Make documentation for mosquitto_pub -l match reality - blank lines are sent as empty messages. Closes #1474.
  • Free memory in mosquitto_sub when quiting without having made a successful connection. Closes #1513.


  • Added CLIENT_STATIC_LDADD to makefile builds to allow more libraries to be linked when compiling the clients with a static libmosquitto, as required for e.g. openssl on some systems.


  • Fix mosquitto_rr.exe not being included in Windows installers. Closes #1463.

Streamsheets now open source

The Mosquitto project is sponsored by Cedalo. This week, Cedalo open sourced its core project, Streamsheets, which has Mosquitto as a key part. Streamsheets are real-time web based spreadsheets that can take input from a variety of data sources, process the data, and provide an output.

They are designed to allow non-programmers to build applications in IoT, industrial, or hobbiest environments, reading data from machines, sensors, APIs, and more.

Connectivity includes MQTT, OPC-UA, REST, file, and others.

If you need a front end for Mosquitto or other communication protocol, it would be worth looking at.

streamsheets screenshot

Some examples:

  • Create dynamic charts and dashboards to visualize your processes
  • Build real-time apps for condition monitoring and alerting
  • Merge data streams from different sources to calculate KPIs and enrich your data
  • Map protocols and change data structures to connect your resources
  • Model simple as well as complex control logic to orchestrate your processes