2.1
Notable new features
Broker
- Expanded plugin interface to allow more functionality to be developed in plugins.
- Plugin persistence interface and the introduction of a sqlite based persistence plugin.
- Built in websockets support, providing a substantial performance improvement over the websockets performance in 2.0
- PROXY protocol v1 and v2 support
- Experimental new listener http_api protocol type which can serve files over http and has API endpoints to access some broker information over http, plus an accompanying dashboard
- kqueue support, for improved performance on BSD
- Python script to help migrate from password and acl files to the dynamic-security plugin
- Python script to help migrate from the built in persistence to sqlite based persistence
Plugins
- New mosquitto_acl_file and mosquitto_password_file plugins which have the same functionality as the acl_file and password_file options, but can be use configured more flexibly
- New sqlite persistence plugin
- New sparkplug-aware plugin
Dynamic security plugin
- ACLs can now used pattern based rules for matching against usernames and client ids
- An initial configuration with sensible defaults will be generated if none is present
- Wildcard subscriptions can be denied for given roles
Clients
- All of mosquitto_pub, mosquitto_sub, and mosquitto_rr have websockets support
- Testing options: mosquitto_sub can print the count of messages received per second with the
--message-rate
option, and mosquitto_rr can print request/response latency with the--latency
option
Apps
These are the command line tools that help support the broker.
- mosquitto_ctrl now has an interactive shell mode which makes managing supported plugins (currently the
broker
anddynamic-security
plugins) very pleasant. - New mosquitto_signal app for helping to send signals to mosquitto on Windows
- mosquitto_db_dump has a new
--json
output option
The project leadership certifies that the APIs in this release are "Eclipse Quality".
Support for TLS v1.1 has been removed.
Broker
The acl_file
and password_file
options are deprecated in favour of the mosquitto_acl_file
and mosquitto_password_file
plugins which have the same functionality.
The per_listener_settings
option is deprecated in favour of the new listener specific options.
The built in persistence, enabled with persistence
option, is deprecated in favour of the sqlite persistence plugin.