From 6904fac6a4530d3287e793a007a054be5750f67c Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Wed, 2 Dec 2020 20:54:13 +0000 Subject: [PATCH] Bump version number and changelog. --- CMakeLists.txt | 2 +- ChangeLog.txt | 66 ++++++++++++++++++++++++--------------- config.mk | 2 +- include/mosquitto.h | 6 ++-- installer/mosquitto.nsi | 2 +- installer/mosquitto64.nsi | 2 +- set-version.sh | 12 +++---- snap/snapcraft.yaml | 2 +- 8 files changed, 54 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b8aceb84..3f69dd07 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ project(mosquitto) cmake_minimum_required(VERSION 3.0) cmake_policy(SET CMP0042 NEW) -set (VERSION 1.6.12) +set (VERSION 2.0.0) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") diff --git a/ChangeLog.txt b/ChangeLog.txt index c7a416e4..3c8dc872 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,6 @@ +2.0.0 - 2020-12-03 +================== + Breaking changes: - When the Mosquitto broker is run without configuring any listeners it will now bind to the loopback interfaces 127.0.0.1 and/or ::1. This means that @@ -48,7 +51,12 @@ Breaking changes: - Minimum support libwebsockets version is now 2.4.0 -Broker: +Broker 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. @@ -66,8 +74,6 @@ Broker: 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. -- Send DISCONNECT with `malformed-packet` reason code on invalid PUBLISH, - SUBSCRIBE, and UNSUBSCRIBE packets. - Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()` functions, which can be used by plugins to disconnect clients. - Add support for handling $CONTROL/ topics in plugins. @@ -75,32 +81,36 @@ Broker: - Enabling certificate based TLS encryption is now through certfile and keyfile, not capath or cafile. - Added support for controlling UNSUBSCRIBE calls in v5 plugin ACL checks. -- Document that X509_free() must be called after using - mosquitto_client_certificate(). Closes #1842. - Add "deny" acl type. Closes #1611. - The broker now sends the receive-maximum property for MQTT v5 CONNACKs. -- mosquitto_password now forbids the : character. Closes #1833. -- Fix `log_timestamp_format` not applying to `log_dest topic`. Closes #1862. - Add the `bridge_max_packet_size` option. Closes #265. - Add the `bridge_bind_address` option. Closes #1311. -- Fix crash on Windows if loading a plugin fails. Closes #1866. - 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. + +Broker fixes: +- Send DISCONNECT with `malformed-packet` reason code on invalid PUBLISH, + SUBSCRIBE, and UNSUBSCRIBE packets. +- Document that X509_free() must be called after using + mosquitto_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 file logging on Windows. Closes #1880. - Fix bridge sock not being removed from sock hash on error. Closes #1897. -- Default for max_queued_messages has been changed to 1000. -- Add `ciphers_tls1.3` option, to allow setting TLS v1.3 ciphersuites. - Closes #1825. +- mosquitto_password now forbids the : character. Closes #1833. +- Fix `log_timestamp_format` not applying to `log_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. -- 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. -Client library: +Client library features: - Client no longer generates random client ids for v3.1.1 clients, these are now expected to be generated on the broker. This matches the behaviour for v5 clients. Closes #291. @@ -117,17 +127,19 @@ Client library: sockets. Closes #1526. - Add `mosquitto_ssl_get()` to allow clients to access their SSL structure and perform additional verification. +- Add MOSQ_OPT_BIND_ADDRESS to allow setting of a bind address independently + of the `mosquitto_connect*()` call. +- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and + trust OS provided CA certificates for use with TLS connections. + +Client library fixes: - Fix send quota being incorrecly reset on reconnect. Closes #1822. - Don't use logging until log mutex is initialised. Closes #1819. - Fix missing mach/mach_time.h header on OS X. Closes #1831. -- Add MOSQ_OPT_BIND_ADDRESS to allow setting of a bind address independently - of the `mosquitto_connect*()` call. - Fix connect properties not being sent when the client automatically reconnects. Closes #1846. -- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and - trust OS provided CA certificates for use with TLS connections. -Clients: +Client features: - Add timeout return code (27) for `mosquitto_sub -W ` and `mosquitto_rr -W `. Closes #275. - Add support for connecting to brokers through Unix domain sockets with the @@ -139,7 +151,6 @@ Clients: output. - Add support for v5 property printing to mosquitto_sub/rr in non-JSON mode. Closes #1416. -- mosquitto_sub will now exit if all subscriptions were denied. - Add `--nodelay` to all clients to allow them to use the MOSQ_OPT_TCP_NODELAY option. - Add `-x` to all clients to all the session-expiry-interval property to be @@ -147,18 +158,21 @@ Clients: - Add `--random-filter` to mosquitto_sub, to allow only a certain proportion of received messages to be printed. - mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format. -- mosquitto_pub now sends 0 length files without an error when using `-f`. - mosquitto_sub now supports extra format specifiers for field width and precision for some parameters. - Add `--version` for all clients. -- Fix description of `-e` and `-t` arguments in mosquitto_rr. Closes #1881. -- mosquitto_sub will now quit with an error if the %U option is used on - Windows, rather than just quitting. Closes #1908. - All clients now load OS provided CA certificates if used with `-L mqtts://...`, or if port is set to 8883 and no other CA certificates are used. Closes #1824. - Add the `--tls-use-os-certs` option to all clients. +Client fixes: +- mosquitto_sub will now exit if all subscriptions were denied. +- mosquitto_pub now sends 0 length files without an error when using `-f`. +- Fix description of `-e` and `-t` arguments in mosquitto_rr. Closes #1881. +- mosquitto_sub will now quit with an error if the %U option is used on + Windows, rather than just quitting. Closes #1908. + 1.6.12 - 2020-08-19 =================== diff --git a/config.mk b/config.mk index 55b16234..3e0c3240 100644 --- a/config.mk +++ b/config.mk @@ -125,7 +125,7 @@ WITH_XTREPORT=no # Also bump lib/mosquitto.h, CMakeLists.txt, # installer/mosquitto.nsi, installer/mosquitto64.nsi -VERSION=2.0-dev0 +VERSION=2.0.0 # Client library SO version. Bump if incompatible API/ABI changes are made. SOVERSION=1 diff --git a/include/mosquitto.h b/include/mosquitto.h index 821e6146..6232a606 100644 --- a/include/mosquitto.h +++ b/include/mosquitto.h @@ -57,9 +57,9 @@ extern "C" { #include #include -#define LIBMOSQUITTO_MAJOR 1 -#define LIBMOSQUITTO_MINOR 6 -#define LIBMOSQUITTO_REVISION 12 +#define LIBMOSQUITTO_MAJOR 2 +#define LIBMOSQUITTO_MINOR 0 +#define LIBMOSQUITTO_REVISION 0 /* LIBMOSQUITTO_VERSION_NUMBER looks like 1002001 for e.g. version 1.2.1. */ #define LIBMOSQUITTO_VERSION_NUMBER (LIBMOSQUITTO_MAJOR*1000000+LIBMOSQUITTO_MINOR*1000+LIBMOSQUITTO_REVISION) diff --git a/installer/mosquitto.nsi b/installer/mosquitto.nsi index 224279f8..0db4f7eb 100644 --- a/installer/mosquitto.nsi +++ b/installer/mosquitto.nsi @@ -9,7 +9,7 @@ !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' Name "Eclipse Mosquitto" -!define VERSION 1.6.12 +!define VERSION 2.0.0 OutFile "mosquitto-${VERSION}-install-windows-x86.exe" InstallDir "$PROGRAMFILES\mosquitto" diff --git a/installer/mosquitto64.nsi b/installer/mosquitto64.nsi index dd45d0e5..4ce76da2 100644 --- a/installer/mosquitto64.nsi +++ b/installer/mosquitto64.nsi @@ -9,7 +9,7 @@ !define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' Name "Eclipse Mosquitto" -!define VERSION 1.6.12 +!define VERSION 2.0.0 OutFile "mosquitto-${VERSION}-install-windows-x64.exe" !include "x64.nsh" diff --git a/set-version.sh b/set-version.sh index c27c55bb..63c9b2eb 100755 --- a/set-version.sh +++ b/set-version.sh @@ -1,14 +1,14 @@ #!/bin/sh -MAJOR=1 -MINOR=6 -REVISION=12 +MAJOR=2 +MINOR=0 +REVISION=0 sed -i "s/^VERSION=.*/VERSION=${MAJOR}.${MINOR}.${REVISION}/" config.mk -sed -i "s/^#define LIBMOSQUITTO_MAJOR .*/#define LIBMOSQUITTO_MAJOR ${MAJOR}/" lib/mosquitto.h -sed -i "s/^#define LIBMOSQUITTO_MINOR .*/#define LIBMOSQUITTO_MINOR ${MINOR}/" lib/mosquitto.h -sed -i "s/^#define LIBMOSQUITTO_REVISION .*/#define LIBMOSQUITTO_REVISION ${REVISION}/" lib/mosquitto.h +sed -i "s/^#define LIBMOSQUITTO_MAJOR .*/#define LIBMOSQUITTO_MAJOR ${MAJOR}/" include/mosquitto.h +sed -i "s/^#define LIBMOSQUITTO_MINOR .*/#define LIBMOSQUITTO_MINOR ${MINOR}/" include/mosquitto.h +sed -i "s/^#define LIBMOSQUITTO_REVISION .*/#define LIBMOSQUITTO_REVISION ${REVISION}/" include/mosquitto.h sed -i "s/^set (VERSION .*)/set (VERSION ${MAJOR}.${MINOR}.${REVISION})/" CMakeLists.txt diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 694a6c26..8aaab463 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: mosquitto -version: 1.6.12 +version: 2.0.0 summary: Eclipse Mosquitto MQTT broker description: This is a message broker that supports version 5.0, 3.1.1, and 3.1 of the MQTT protocol.