Eclipse Mosquitto™ 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 and dynamic-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

 

Release Date
Release Type
Minor release