Broker
- The broker no longer ignores the
auth_plugin_init()
return value.
- Accept SSLv2/SSLv3 HELLOs when using TLSv1, whilst keeping SSLv2 and SSLv3
disabled. This increases client compatibility without sacrificing security.
- The $SYS tree can now be disabled at runtime as well as at compile time.
- When remapping bridged topics, only check for matches when the message
direction is correct. This allows two identical topics to be remapped
differently for both in and out.
- Change
$SYS/broker/heap/current size
to $SYS/broker/heap/current
for
easier parsing.
- Change
$SYS/broker/heap/maximum size
to $SYS/broker/heap/maximum
for
easier parsing.
- Topics are no longer normalised from e.g
a///topic
to a/topic
. This
matches the behaviour as clarified by the Oasis MQTT spec. This will lead to
unexpected behaviour if you were using topics of this form.
- Log when outgoing messages for a client begin to drop off the end of the
queue.
- Bridge clients are recognised as bridges even after reloading from
persistence.
- Basic support for MQTT v3.1.1. This does not include being able to bridge to
an MQTT v3.1.1 broker.
- Username is displayed in log if present when a client connects.
- Support for 0 length client ids (v3.1.1 only) that result in automatically
generated client ids on the broker (see option
allow_zero_length_clientid
).
- Ability to set the prefix of automatically generated client ids (see option
auto_id_prefix
).
- Add support for TLS session resumption.
- When using TLS, the server now chooses the cipher to use when negotiating
with the client.
- Weak TLS ciphers are now disabled by default.
Client library
- Fix support for Python 2.6, 3.0, 3.1.
- Add support for un/subscribing to multiple topics at once in un/subscribe().
- Clients now close their socket after sending DISCONNECT.
- Python client now contains its version number.
- C library
mosquitto_want_write()
now supports TLS clients.
- Fix possible memory leak in C/C++ library when communicating with a broker
that doesn't follow the spec.
- Return strerror() through
mosquitto_strerror()
to make error printing
easier.
- Topics are no longer normalised from e.g
a///topic
to a/topic
. This
matches the behaviour as clarified by the Oasis MQTT spec. This will lead to
unexpected behaviour if you were using topics of this form.
- Add support for SRV lookups.
- Break out of select() on publish(), subscribe() etc. when using the threaded
interface. Fixes bug #1270062.
- Handle incoming and outgoing messages separately. Fixes bug #1263172.
- Don't terminate threads on
mosquitto_destroy()
when a client is not using
the threaded interface but does use their own thread. Fixes bug #1291473.
Clients
- Add
--ciphers
to allow specifying which TLS ciphers to support.
- Add support for SRV lookups.
- Add
-N
to sub client to suppress printing of EOL after the payload.
- Add
-T
to sub client to suppress printing of a topic hierarchy.