WOLFMQTT CHANGELOG
Below you will find the wolfMQTT ChangeLog documenting the changes that took place with each release of wolfMQTT since the project’s beginning in 2015.
wolfMQTT 0.14.0
(11/22/2017)
Version 0.14.0 of wolfMQTT contains bug fixes and new features including:
- Fixed non-blocking connect to check for `EINPROGRESS` for all platforms (not just Harmony)
- Fixed buffer overflow position check on read/write
- Fixed typo on internal packet function `MqttDecode_ConnectAck`
- Fixed the socket close for Harmony to use `closesocket`
- Fixed non-blocking connect where `WOLFMQTT_NO_STDIO` is defined
- Fixed GCC 7's new fall-through check
- Added check for EAGAIN in non-blocking mode (was only EWOULDBLOCK)
- Added non-blocking support for write operations when `WOLFMQTT_NONBLOCK` is defined
- Added support for DH and setting the default minimum key bits
- Added support for keep-alive ping when using non-blocking mode
- Improvements to example TLS callback handling of return code failures
- Improvements and fixes to Visual Studio projects
- Enhancement to adjust wolfSSL options.h include based on `WOLFSSL_USER_SETTINGS`.
wolfMQTT 0.13.0
(05/12/2017)
Version 0.13.0 of wolfMQTT contains bug fixes and new features including:
- Fixed issue with `msg->stat` in non-blocking.
- Fixed Arduino library build.
- Fixed examples with non-blocking (--enable-nonblock).
- Enhancement to pass network callback return codes through context when using TLS.
- Added option to disable the blocking timeouts for `select()` using `--disable-timeout` (or `WOLFMQTT_NO_TIMEOUT`).
- Added option to disable STDIN/fgets capture for examples using `--disable-stdincap` (or `WOLFMQTT_NO_STDIN_CAP`)
Refactor to use new `MQTT_CODE_STDIN_WAKE` return code for examples using STDIN to send publish messages (normal blocking mode only).
wolfMQTT 0.12
(12/20/2016)
Version 0.12 of wolfMQTT contains bug fixes and new features including:
- Fixes issue with read timeout in non-blocking mode with TLS enabled being teated as socket error.
- Fixed issue with “msg->stat” not getting reset on failure or timeout.
- Fix to not link libwolfssl with ./configure --disable-tls.
- Added AWS IoT Example and test script.
wolfMQTT 0.10
(09/26/2016)
Version 0.10 of wolfMQTT contains bug fixes and new features including:
- Enabled big endian support.
- Fixes for building with Visual Studio.
wolfMQTT 0.8
(06/13/2016)
Version 0.8 of wolfMQTT contains bug fixes and new features including:
- Fixed stdin capture bug and improved signal (ctrl+c) handling.
- Added Azure IoT hub MQTT client example.
- Added support for MQX / RTCS.
- Added "--disable-tls" and "--disable-examples" configure options.
- Added comment about max packet size.
- Added example for how to load a client certificate to mqttclient example.
- Added return code for firmware and azure examples that are not compiled in due to older / incompatible version of wolfSSL.
- Moved the support for custom printf/line endings into the mqtt_types.h for use throughout the project.
- Updated README.md with information about the examples.
wolfMQTT 0.6
(03/18/2016)
Version 0.6 of wolfMQTT contains bug fixes and new features including:
- Fixes to support MinGW compiler.
- Fixed bug with include of the wolfSSL include of options.h.
- Fix to properly handle negative return code from wc_SignatureGetSize.
- Added Arduino IDE example in `IDE/ARDUINO`. See `IDE/ARDUINOREADME.md` for details.
- Added example UART interface for wolfMQTT. See `examples/mqttuart.c`.
- Added the ability to pass additional arguments to the scripts. Example: `./scripts/client.test "-h localhost"`
wolfMQTT 0.4
(12/30/2015)
Version 0.4 of wolfMQTT contains bug fixes and new features including:
- Fixed bug with subscribe not populating acknowledgment return code(s) properly.
- Fixed build error if using wolfSSL 3.7.1 or older due to missing signature.c/.h wrappers. This fix disables the firmware examples if the wolfSSL version isn't greater than 3.7.1.
- Fix to ensure `topic_name` pointer is reset when publish callback message is not new `msg_new = 0`.
- Fixes to suppress possible warning "Value stored to [] is never read".
- Fixed firmware example to trap case where file isn't found.
- Fixed possible ./autogen.sh error with missing "config.rpath".
- Fixed Windows issue with SetConsoleCtrlHandler incorrectly reporting error.
- Fixed issue with Visual Studio 2015 wolfssl.lib reference.
- Fixed build errors with G++ (./configure CC=g++).
- Fixed "FirmwareHeader" to use WOLFMQTT_PACK macro.
- Added helper macro's and comments for topic names/filters.
- Added TLS certification verification reference implementation to examples.
- Updated the topic names in examples to use "wolfMQTT/example/".
- Added QoS level to example console output.
- Added memset to initialize some of the example stack variables.
- Removed the LWT from the firmware examples.
- Added retain flag "-r" option on the "fwpush" example.
- Updated the examples to use macros for all memory and string functions, so they are more portable.
- Added Visual Studio projects for "fwpush" and "fwclient".
wolfMQTT 0.3
(11/18/2015)
Version 0.3 of wolfMQTT contains bug fixes and new features including:
- Fixes bug with first byte of payload being null'd if QoS level was 0.
- Fixed issue with stdint types (uint#_t) being used.
- Fixes for remaining length encoding/decoding for large packets.
- Added support for large payloads using new message callback flags `msg_done` and `msg_new` along with MqttMessage `buffer_pos` and `buffer_len`.
- Added example for secure firmware upgrade. Uses the MQTT client library to push a signed payload `fwpush` to a broker, then uses another client `fwclient` to receive the signed payload and verify its signature using a provided public key.
wolfMQTT 0.2
(11/06/2015)
This is the first release of wolfMQTT.
Please see the README included in the wolfMQTT download for build instructions and API reference.