Releases: KxSystems/mqtt
1.4.3
Pre-built library now built with 1.3.14 of paho.mqtt.c - fixes fo 1.3.12 listed here.
The pre-build Linux library from Paho MQTT (https://github.com/eclipse-paho/paho.mqtt.c/releases/tag/v1.3.14) is built with the latest version of Ubuntu, so may cause issues when running on older systems (e.g. RedHat9/etc). Details of building from source are detailed here https://github.com/KxSystems/mqtt/blob/master/docs/install.md#installing-a-release , which will prevent that issue from occurring.
Example Dockerfiles included now build with 1.3.14
When using Paho MQTT 1.3.14 with a proxy, the operation has changed to require use of a environment variable setting PAHO_C_CLIENT_USE_HTTP_PROXY , as detailed here: https://github.com/KxSystems/mqtt/blob/master/docs/reference.md#proxy-options
1.4.2
Better memory utilisation on consuming messages, with less memory copies
Fix for receiving large messages that could become corrupted
Existing example producer.q now uses the lower QoS and pubX call.
Existing example consumer.q now doesnt print a log message for every message received
Examples print more informative messages on start-up.
1.4.1
Release with only ci/cd changes to allow artefacts to be attached to release.
1.4.0
Release 1.4.0
- Library now uses 1.3.13 of paho.mqtt.c - fixes fo 1.3.12 listed here
- Additional ways on how a proxy can be set for a connection. See docs/reference.md.
1.3.0
Release 1.3.0
- new subx function to allow choice of quality of service on subscriptions (existing sub function still works as before) - potential to increase performance or quality of subscriptions
- improved docs on pub/pubx/sub/subx around quality of service (see reference.md)
- smaller internal messages, less mallocs
1.2.1
Release 1.2.1
- Library now uses 1.3.12 of paho.mqtt.c - fixes fo 1.3.12 listed here
- Docs included with release (improved documentation of connection options)
- Fix for memory leak on subscriptions
1.2.0
Release 1.2.0
- Library now uses 1.3.11 of paho.mqtt.c
- Now supports TLS/SSL connections (see below)
New library addition mqttkdb_ssl.so
which allows both TLS/SSL and non-TLS/SSL connections.
Differs from existing mqttkdb.so
in that it requires the mqtt library libpaho-mqtt3cs
and openssl libs to be installed on the system.
The mqttkdb.so
is still provided for non TLS/SSL users, preventing them from having to install TLS/SSL libs on their system.
When using mqttkdb_ssl.so
:
- the connection URI needs to change from
tcp://
tossl://
in order to work with SSL/TLS connections - remember to alter q script to load the
mqttkdb_ssl.so
instead ofmqttkdb.so
- requires SSL/TLS specific connection params (in addition to any existing params e.g. username/password)
New connection params
Name | Type | Details |
---|---|---|
trustStore | sym | The file in PEM format containing the public digital certificates trusted by the client. |
keyStore | sym | The file in PEM format containing the public certificate chain of the client. It may also include the client's private key. |
privateKey | sym | If not included in the sslKeyStore, this setting points to the file in PEM format containing the client's private key. |
privateKeyPassword | sym | The password to load the client's privateKey if encrypted. |
enabledCipherSuites | sym | The list of cipher suites that the client will present to the server during the SSL handshake. For a full explanation of the cipher list format, please see the OpenSSL on-line documentation: http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT If this setting is ommitted, its default value will be "ALL", that is, all the cipher suites -excluding those offering no encryption- will be considered. This setting can be used to set an SSL anonymous connection ("aNULL" string value, for instance) |
enableServerCertAuth | int/long | True/False (i.e. 1/0) option to enable verification of the server certificate |
sslVersion | int/long | The SSL/TLS version to use. Specify one of MQTT_SSL_VERSION_DEFAULT (0), MQTT_SSL_VERSION_TLS_1_0 (1), MQTT_SSL_VERSION_TLS_1_1 (2) or MQTT_SSL_VERSION_TLS_1_2 (3). Only used if struct_version is >= 1 |
verify | int/long | Whether to carry out post-connect checks, including that a certificate matches the given host name. |
CApath | sym | From the OpenSSL documentation: If CApath is not NULL, it points to a directory containing CA certificates in PEM format |
Example
opts:`trustStore`enableServerCertAuth`verify`sslVersion!((`$"/mqttq/server-certs/ca.crt");(0i);(0i);(0i))
.mqtt.conn[`$"ssl://localhost:1883";`rcv;opts];
1.1.1
Fixes
- fix provided build package to include all files (broke in 1.1.0)
- reduce need for ssl for non-ssl connections & dependancy on multiple MQTT libs
1.1.0
- Addition of Last-Will functionality
- Instructions added for Alpine builds
Initial Stable Release
Promotion of 1.0.0-rc.1 to 1.0.0