Release Notes
We will never stop improving Eclipse Mosquitto. Stay up to date with our release notes.
If you have found any bugs or have feature requests, please submit these here.
Mosquitto MQTT Broker & MMC 2.9
Features
- SQL Bridge: Our existing SQL Bridge got more databases to connect to. New SQL bridges in version 2.9 are: Snowflake, Microsoft SQL Server, Oracle DB, MariaDB, Amazon Redshift and Cockroach DB.
- OAuth 2.0 / JWT Authentication: The OAuth 2.0 / JWT Authentication feature introduces OAuth-based authentication for MQTT clients, providing a robust and secure method for verifying client identities. By integrating this type of authentication, clients can use token-based authentication mechanisms, which significantly enhance security and simplify the management of user permissions.
- LDAP Authentication: The LDAP Authentication feature introduces LDAP-based authentication for MQTT clients, providing a standardized and efficient method for verifying client identities. By integrating this type of authentication, clients can use directory-based authentication mechanisms, which enhance security.
- Windows Deployment: Windows Deployment support now enables users to install and run Pro Mosquitto natively on Windows operating systems. While it was previously already possible to run Pro Mosquitto on Windows using Docker, this new support ensures seamless integration with Windows environments, allowing users to deploy and manage Pro Mosquitto directly on their preferred operating system.
- PROXY Protocol v2: The new support for PROXY Protocol v2 in Pro Mosquitto enables the transmission of the client connection information through a proxy server, providing additional context for each connection. This feature is essential for deployments where Pro Mosquitto is behind a load balancer or reverse proxy, ensuring that the original client IP address and connection details are preserved and accessible.
- MongoDB Bridge: Added ability to convert MQTT payload as JSON string and insert it to a collection as a BSON object.
- InfluxDB Mosquitto Metrics Exporter: Added authentication support via token.
Changes
Since we are constantly working on improving our product’s the performance and stability of our product, this release includes various bug fixes and stability improvements that will enhance our users’ overall experience.
The default handling of messages send with QoS 1 or 2 in the Persist SQLite Plugin and the HA Broker has changed to achieve better fail safety. Please check Persistence Ensured QoS 1/2 documentation for details and how to restore the old behavior.
Mosquitto MQTT Broker & MMC 2.8
Features
Since we are constantly working on improving our product’s the performance and stability of our product, this release includes various bug fixes and stability improvements that will enhance our users’ overall experience.
Google Pub/Sub Bridge: The Google Pub/Sub Bridge facilitates one-way data transfer from MQTT topics to Google Pub/Sub topics, ensuring seamless data transmission.
- Specify the Google Pub/Sub server
- Choose the authentication method
- Select MQTT topics to publish
- Map MQTT topics to Google Pub/Sub topics
- Select Google Pub/Sub topics for consuming
- Map Google Pub/Sub topics to MQTT topics
SQL Bridge: With the SQL Bride it is possible to configure multiple connections to various SQL based databases. Currently supported databases are: Google AlloyDB, TimescaleDB, PostgreSQL and MySQL.
- Specify the target database and table for data import.
- Specify the authentication credentials and certificates for secure integration.
- Map MQTT topics to corresponding tables for organized data storage.
- Opt for specific message fields to be inserted into tables based on individual preferences.
InfluxDB Metrics Exporter: The InfluxDB Metrics Exporter for Pro Mosquitto collects comprehensive metrics related to Pro Mosquitto's operation, including the number of connected clients, MQTT message types sent and received, and other relevant performance indicators, and allows exporting them from Pro Mosquitto to InfluxDB. This feature is a monitoring extension to the currently already available Prometheus Metrics exporter.
Enhanced High Availability Monitoring: The "Enhanced High Availability (HA) Monitoring" feature improves the monitoring capabilities of Pro Mosquitto by adding additional metrics output and cluster status indication for enhanced visibility into the HA cluster's health and resilience. The feature includes metrics output for the current number of voting nodes and the number of voting nodes currently in contact with the leader. These metrics are available in multiple locations, including published topics and Prometheus plugin identifiers. Additionally, the feature provides an indication of the current cluster status.
OpenShift Support: OpenShift support enables users to install and run Pro Mosquitto within OpenShift clusters. This feature ensures seamless integration with the OpenShift container platform, allowing users to deploy and manage Pro Mosquitto alongside other applications in OpenShift environments.
Persistent Queuing: The introduction of Persistent Queuing in Pro Mosquitto represents a significant enhancement, allowing messages to be queued to disk rather than solely stored in memory. This key difference enables the storage of multiple terabytes of queued messages, overcoming previous limitations associated with RAM space. With this capability, Pro Mosquitto can now retain a large number of outgoing messages per client and MQTT bridge, ensuring reliable delivery even in environments with unstable connectivity.
Changes
Since we are constantly working on improving our product’s the performance and stability of our product, this release includes various bug fixes and stability improvements that will enhance our users’ overall experience.
Mosquitto MQTT Broker & MMC 2.7
Features
Kafka Bridge: The MQTT to Kafka bridge facilitates a unidirectional data transfer mechanism, enabling seamless MQTT data transmission from Pro Mosquitto to Kafka. The feature allows users to conveniently configure the MQTT to Kafka topics mapping, with Pro Mosquitto ensuring the automatic data transfer from the chosen MQTT topics to the specified Kafka destinations. The MQTT to Kafka bridge allows to:
- Specify the Kafka server
- Choose the authentication method
- Select which topics to publish
- Map MQTT topics to Kafka topics
MongoDB Bridge: The MongoDB Bridge enables one-way data transfer from MQTT to MongoDB. It's built for effortless data migration, allowing users to handle MQTT-generated data in MongoDB efficiently. The MQTT to MongoDB bridge allows to:
- Specify the database and collection to import to
- Choose the authentication method
- Select which topics and message fields to import
- Map topics to specific collections
- Choose which fields to insert into collections
Kubernetes Support: Kubernetes] container deployment support enables users to install and run Pro Mosquitto within Kubernetes.
Audit Trails: The Audit Trails feature provides a detailed record of every significant action, creating an append-only log, bot for Mosquitto and MMC.
Prometheus Exporter: Pro Mosquitto now implements a Prometheus exporter, allowing Prometheus to query Pro Mosquitto for metrics to be monitored directly. The metrics set gives a broad overview of what is happening on your broker, from the number of clients connected to the count of individual MQTT message types sent and received.
Sparkplug Awareness: Mosquitto 2.7 (Pro & OS) implements the full functionality of a Sparkplug Aware Broker, aligning seamlessly with the requirements outlined in the official Sparkplug specification.
Configurable Leader Election: The Configurable Leader Election gives users complete control over the leader selection process within an HA cluster. Users can now define which specific node in the cluster should act as the leader. This setting ensures that the most suitable node seamlessly takes over the leader role. It is an addition to the current HA MQTT API.
Changes
Cluster Management UI: In the connections tab, icons are now used to distinguish leaders and followers within an HA cluster.
Small Bug Fixes for the MMC and Mosquitto.
How to Upgrade
To upgrade adjust your docker-compose
file and the config files as described here.
Download the new images via a docker-compose pull
and start up again.
Mosquitto MQTT Broker & MMC 2.6
Features
Client certificate authority management: The MMC is now able to store client certificate authorities and deploy them on all connected broker supporting the respective MQTT API endpoints. This allows the MMC to be the central unit around uploading and organizing client certificate authorities. This is the first step forward on supporting UI support for client certificate management. This feature will be further expanded in a future release.
Client Inspect: We have extended the client inspect plugin information. Now it is possible to check queue sizes (only important for QoS 1 & 2) and directly disconnect a client via the UI.
HA Cluster: Added new mode. The new Dynamic Security Synchronisation Cluster Mode provides a different type of HA cluster that synchronises the Dynamic Security authentication and authorisation settings throughout the cluster. Each node in the cluster is active and available for clients to connect to, but there is no inter-node MQTT communication.
Changes
General UI changes: The whole MMC has gotten a face-lift. All pages have been reworked to fit in the new UI.
Sidebar: The sidebar was rearranged to visually separate broker specific and global options. Broker specific pages can be found on the top and other are can be found at the bottom of the navigation bar.
Status Page: Is now called "Home" and went through a face-lift. A chart was added showing the currently connected clients and the maximum allowed client connections.
Breaking: Changed the "themes" structure in the config.json of the Management Center.
Bug Fixes
Added a new way of loading MMC plugins. The file "plugins.json" can now be used to manually configure the plugins. The config.json loads the content of the file on start if the environment variable "CEDALO_MC_PLUGIN_LIST_PATH: management-center/config/plugins.json" is set. If no file is found an error message is shown and the config.json file will be read. If the file is found, the config.json file plugin list will be overwritten on start. The plugin.json file is only readable not writable by the MMC.
How to Upgrade
To upgrade adjust your docker-compose
file and the config files as described here.
Download the new images via a docker-compose pull
and start up again.
Mosquitto MQTT Broker 2.0
Features
New plugin interface which is more flexible, easier to develop for and easier to extend.
New dynamic security plugin, which allows clients, groups, and roles to be defined and updated as the broker is running.
Performance improvements, particularly for higher numbers of clients.
When running as root, if dropping privileges to the "mosquitto" user fails, then try "nobody" instead. This reduces the burden on users installing Mosquitto themselves.
Add support for Unix domain socket listeners.
Add
bridge_outgoing_retain
option, to allow outgoing messages from a bridge to have the retain bit completely disabled, which is useful when bridging to e.g. Amazon or Google.Add support for MQTT v5 bridges to handle the "retain-available" property being false.
Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1 if connecting to a v3.x only broker.
DLT logging is now configurable at runtime with
log_dest
dlt. Closes #1735.Add
mosquitto_plugin_publish()
function, which can be used by plugins to publish messages.Add
mosquitto_client_protocol_version()
function which can be used by plugins to determine which version of MQTT a client has connected with.Add
mosquitto_kick_client_by_clientid()
andmosquitto_kick_client_by_username()
functions, which can be used by plugins to disconnect clients.Add support for handling
$CONTROL/
topics in plugins.Add support for
PBKDF2-SHA512
password hashing.Enabling certificate based TLS encryption is now through
certfile
andkeyfile
, notcapath
orcafile
.Added support for controlling
UNSUBSCRIBE
calls in v5 plugin ACL checks.Add "deny" acl type. Closes #1611.
The broker now sends the receive-maximum property for MQTT v5 CONNACKs.
Add the
bridge_max_packet_size
option. Closes #265.Add the
bridge_bind_address
option. Closes #1311.TLS certificates for the server are now reloaded on
SIGHUP
.Default for
max_queued_messages
has been changed to 1000.Add
ciphers_tls1.3
option, to allow setting TLS v1.3 ciphersuites. Closes #1825.Bridges now obey MQTT v5
server-keepalive
.Add bridge support for the MQTT v5
maximum-qos
property.Log client port on new connections. Closes #1911.
Fixes
Send
DISCONNECT
withmalformed-packet
reason code on invalidPUBLISH
,SUBSCRIBE
, andUNSUBSCRIBE
packets.Document that
X509_free()
must be called after usingmosquitto_client_certificate()
. Closes #1842.Fix listener not being reassociated with client when reloading a persistence file and
per_listener_settings
true is set and the client did not set a username. Closes #1891.Fix bridge sock not being removed from sock hash on error. Closes #1897.
mosquitto_password
now forbids the:
character. Closes #1833.Fix
log_timestamp_format
not applying tolog_dest
topic. Closes #1862.Fix crash on Windows if loading a plugin fails. Closes #1866.
Fix file logging on Windows. Closes #1880.
Report an error if the config file is set to a directory. Closes #1814.
Fix bridges incorrectly setting Wills to manage remote notifications when
notifications_local_only
was set true. Closes #1902.