128 lines
6.0 KiB
Markdown
128 lines
6.0 KiB
Markdown
<!--
|
||
.. title: Version 1.2 released
|
||
.. slug: version-1-2-released
|
||
.. date: 2013-08-07 23:13:34
|
||
.. tags: Releases
|
||
.. category:
|
||
.. link:
|
||
.. description:
|
||
.. type: text
|
||
-->
|
||
|
||
This is a (long overdue) feature release.
|
||
|
||
There is a potential gotcha when upgrading to this release because the default
|
||
version of TLS used has changed from 1.0 to 1.2. Python does not yet have
|
||
support for TLS>1.0 so Python clients will be unable to communicate with
|
||
brokers using the default TLS settings.
|
||
|
||
The source is available at the [download page] and binaries will become
|
||
available in the near future.
|
||
|
||
# Broker
|
||
|
||
* Replace O(n) username lookup on CONNECT with a roughly O(1) hashtable
|
||
version.
|
||
* It is now possible to disable $SYS at compile time.
|
||
* Add dropped publish messages to load tree in $SYS. Closes bug #1183318.
|
||
* Add support for logging SUBSCRIBE/UNSUBSCRIBE events.
|
||
* Add `log_dest file` logging support.
|
||
* Auth plugin ACL check function now passes the client id as well as username
|
||
and password.
|
||
* The `queue_qos0_messages` option wasn't working correctly, this has now been
|
||
fixed. Closes bug #1125200.
|
||
* Don't drop all messages for disconnected durable clients when
|
||
`max_queued_messages=0`.
|
||
* Add support for `log_type all`.
|
||
* Add support for `-v` option on the command line to provide the equivalent of
|
||
`log_type all` without needing a config file.
|
||
* Add the `upgrade_outgoing_qos` option, a non-standard feature.
|
||
* Persistence data is now written to a temporary file which is atomically
|
||
renamed on completion, so a crash during writing will not produce a corrupt
|
||
file.
|
||
* mosquitto.conf is now installed as mosquitto.conf.example
|
||
* Configuration file errors are now reported with filename and line number.
|
||
* The broker now uses a monotonic clock if available, to avoid changes in time
|
||
causing client disconnections or message retries.
|
||
* Clean session and keepalive status are now display the log when a client
|
||
connects.
|
||
* Add support for TLSv1.2 and TLSv1.1.
|
||
* Clients that connect with zero length will topics are now rejected.
|
||
* Add the ability to set a maximum allowed PUBLISH payload size.
|
||
* Fix an ACL with topic `#` incorrectly granting access to $SYS.
|
||
* Fix retained messages incorrectly being set on wildcard topics, leading to
|
||
duplicate retained messages being sent on subscription. Closes bug #1116233.
|
||
* Don't discard listener values when no "port" option given. Closes bug
|
||
#1131406.
|
||
* Client password check was always failing when security was being reapplied
|
||
after a config reload. This meant that all clients were being disconnected.
|
||
This has been fixed.
|
||
* Fix build when `WITH_TLS=no`. Closes bug #1174971.
|
||
* Fix single outgoing packets not being sent in a timely fashion if they were
|
||
not sent in one call to write(). Closes bug #1176796.
|
||
* Fix remapping of messages for clients connected to a listener with
|
||
`mount_point` set. Closes bug #1180765.
|
||
* Fix duplicate retained messages being sent for some wildcard patterns.
|
||
* If a client connects with a will topic to which they do not have write
|
||
access, they are now disconnected with CONNACK "not authorised".
|
||
* Fix retained messages on topic foo being incorrectly delivered to
|
||
subscriptions of /#
|
||
* Fix handling of SSL errors on SSL_accept().
|
||
* Fix handling of QoS 2 messages on client reconnect.
|
||
* Drop privileges now sets supplementary groups correctly.
|
||
* Fix load reporting interval (is now 60s).
|
||
* Be strict with malformed PUBLISH packets - clients are now disconnected
|
||
rather than the packet discarded. This goes inline with future OASIS spec
|
||
changes and makes other changes more straightforward.
|
||
* Process incoming messages denied by ACL properly so that clients don't keep
|
||
resending them.
|
||
* Add support for `round_robin` bridge option.
|
||
* Add bridge support for verifying remote server certificate subject against
|
||
the remote hostname.
|
||
* Fix problem with out of order calls to free() when restarting a lazy bridge.
|
||
* The broker now attempts to resolve `bind_address` and bridge addresses
|
||
immediately when parsing the config file in order to detect invalid hosts.
|
||
* Bridges now set their notification state before attempting to connect, so if
|
||
they fail to connect the state can still be seen.
|
||
* Fix bridge notification payload length - no need to send a null byte.
|
||
* mosquitto_passwd utility now reports errors more clearly.
|
||
* Fix `mosquitto_passwd -U`.
|
||
|
||
|
||
# Client library
|
||
|
||
* Add support for TLSv1.2 and TLSv1.1, except for on the Python module.
|
||
* Add support for verifying remote server certificate subject against the
|
||
remote hostname.
|
||
* Add mosquitto_reconnect_async() support and make asynchronous connections
|
||
truely asynchronous rather than simply deferred. DNS lookups are still
|
||
blocking, so asynchronous connections require an IP address instead of
|
||
hostname.
|
||
* Allow control of reconnection timeouts in mosquitto_loop_forever() and after
|
||
mosquitto_loop_start() by using mosquitto_reconnect_delay_set().
|
||
* Fix building on Android NDK.
|
||
* Re-raise unhandled errors in Python so as not to provide confusing error
|
||
messages later on.
|
||
* Python module supports IPv6 connections.
|
||
* mosquitto_sub_topic_tokenise() was behaving incorrectly if the last topic
|
||
hierarchy had only a single character. This has been fixed. Closes bug
|
||
#1163348.
|
||
* Fix possible crash after disconnects when using the threaded interface with
|
||
TLS.
|
||
* Allow build/install without Python. Closes bug #1174972.
|
||
* Add support for binding connection to a local interface.
|
||
* Implement maximum inflight messages handling.
|
||
* Fix Python client not handling `will_payload==None`.
|
||
* Fix potential memory leak when setting username/password.
|
||
* Fix handling of QoS 2 messages on reconnect.
|
||
* Improve handling of mosquitto_disconnect() with threaded mode.
|
||
|
||
# Clients
|
||
|
||
* Add support for TLSv1.2 and TLSv1.1.
|
||
* Sub client can now suppress printing of messages with the retain bit set.
|
||
* Add support for binding connection to a local interface.
|
||
* Implement maximum inflight messages handling for the pub client.
|
||
|
||
[download page]: /download
|