|
| 1 | + |
| 2 | +## Release Notes |
| 3 | + |
| 4 | +### v1.3 (08/01/19) |
| 5 | + |
| 6 | +* Fix `fwpush` example to use filename option `-f`. (PR #117) |
| 7 | +* Added multiple thread support using `--enable-mt` or `WOLFMQTT_MULTITHREAD`. (PR #115) |
| 8 | +* Fix for `MQTT_DATA_TYPE_BINARY` data length encoded twice. (PR #112) |
| 9 | +* Fix to clear local structures for subscribe and unsubscribe ACK's. (PR #112) |
| 10 | +* Fix for `SN_Encode_Unsubscribe` using wrong data type for topic name ID. (PR #110) |
| 11 | +* Add `WOLFSSL_USER_SETTINGS` to VS project files. (PR #109) |
| 12 | +* Fixes for using RTCS in `mqttnet.c` socket example code. (PR #108) |
| 13 | +* Fix MQTT-SN decode publish parsing and QoS2 response. (PR #107) |
| 14 | +* Make MqttSocket_TlsSocket callbacks public. (PR #104) |
| 15 | +* Improved the disconnect network error callback example. (PR #102) |
| 16 | +* Add MQTT context information to socket callback examples. (PR #101) |
| 17 | +* Initialize subscribe state to `MQTT_MSG_BEGIN`. (PR #99) |
| 18 | +* Fix for Harmony possible circular include issue. (PR #98) |
| 19 | + |
| 20 | +### v1.2 (11/07/18) |
| 21 | + |
| 22 | +* Added MQTT Sensor Network (SN) client support (`--enable-sn` or `WOLFMQTT_SN`). (PR #96) |
| 23 | +* Added MQTT v5.0 support with (`--enable-mqtt5` or `WOLFMQTT_V5`). (PR #87) |
| 24 | +* Added property callback support (MQTT v5.0 only). Enabled with `--enable-propcb` or `WOLFMQTT_PROPERTY_CB`). (PR #87) |
| 25 | +* Fix for Harmony NetConnect function incorrectly checking `EWOULDBLOCK`. Fixes issue #88. (PR #89) |
| 26 | +* Fix to reset the TLS ctx and ssl pointers when they have been free'd. (PR #85) |
| 27 | +* Add way to pass custom context to the wolfMQTT TLS verify callback example `mqtt_tls_verify_cb`. PR #94) |
| 28 | +* Create nonblocking mqttclient example `./examples/nbclient/nbclient`. (PR #93) |
| 29 | +* Add support for publishing in smaller chunks using new API `MqttClient_Publish_ex`. (PR #92) |
| 30 | +* Added simplified Microchip Harmony wolfMQTT network callback example. (PR #83) |
| 31 | + |
| 32 | +### v1.1 (06/21/18) |
| 33 | +* Fixed case when `use_tls` was requested but TLS feature not compiled in. (PR #57) |
| 34 | +* Fixed non-blocking issue that caused out of buffer error if not all of packet were received. (PR #65) |
| 35 | +* Fixed non-blocking mode issue that was sending multiple connect requests for examples. (PR #65) |
| 36 | +* Fixed non-blocking issue with ping keep alive in examples. (PR #68) |
| 37 | +* Fixed the Arduino example with `ENABLE_MQTT_TLS` defined (PR #78) |
| 38 | +* Added support for FreeRTOS TCP in wolfMQTT. (PR #58) |
| 39 | +* Added `README.md` section for building wolfMQTT. (PR #63) |
| 40 | +* Added new option to enable verbose logging `./configure --enable-debug=verbose`. (PR #65) |
| 41 | +* Added support for disconnect callback using `WOLFMQTT_DISCONNECT_CB` or `./configure --enable-discb`. (PR #69) |
| 42 | +* Added `WOLFMQTT_LOCAL` to internal API's for hidden visibility. (PR #73) |
| 43 | +* Added include for `wolfmqtt/options.h`. (PR #79) |
| 44 | +* Added IBM Watson IoT example (see `./examples/wiot/wiot`). (PR #80) |
| 45 | +* Updated the autoconf M4 files and added generation of `./configure` options to `wolfmqtt/options.h`. (PR #71) |
| 46 | +* Improved the message callback to support a custom context per message. (PR #62) |
| 47 | +* Improved the non-blocking unsubscribe handling in mqttclient example for timeout. (PR #65) |
| 48 | + |
| 49 | +### v1.0 (04/03/18) |
| 50 | +* Fixed `MqttClient_WaitMessage` to use provided `timeout_ms` arg. With TLS enabled it was using the `MqttClient_Init` `cmd_timeout_ms` arg. Thanks PeterL for that report. |
| 51 | +* Fixed cast warnings when building with Visual Studio. |
| 52 | +* Cleanup socket code to use existing `SOCK_CLOSE` for `NetDisconnect`. |
| 53 | +* Cleanup to move the `sockRc` into the `MqttTls` struct, since it only applies when TLS is enabled. |
| 54 | +* Added configure option to disable error strings for reduced code size (`./configure disable-errorstrings` or `#define WOLFMQTT_NO_ERROR_STRINGS`). |
| 55 | +* Added support for ChibiOS. |
| 56 | + |
| 57 | +### v0.14 (11/22/17) |
| 58 | +* Fixed non-blocking connect to check for `EINPROGRESS` for all platforms (not just Harmony). |
| 59 | +* Fixed buffer overflow position check on read/write. |
| 60 | +* Fixed typo on internal packet function `MqttDecode_ConnectAck`. |
| 61 | +* Fixed the socket close for Harmony to use `closesocket`. |
| 62 | +* Fixed non-blocking connect where `WOLFMQTT_NO_STDIO` is defined. |
| 63 | +* Fixed GCC 7's new fall-through check. |
| 64 | +* Added check for EAGAIN in non-blocking mode (was only EWOULDBLOCK). |
| 65 | +* Added non-blocking support for write operations when `WOLFMQTT_NONBLOCK` is defined. |
| 66 | +* Added support for DH and setting the default minimum key bits. |
| 67 | +* Added support for keep-alive ping when using non-blocking mode. |
| 68 | +* Improvements to example TLS callback handling of return code failures. |
| 69 | +* Improvements and fixes to Visual Studio projects. |
| 70 | +* Enhancement to adjust wolfSSL options.h include based on `WOLFSSL_USER_SETTINGS`. |
| 71 | + |
| 72 | +### v0.13 (05/10/17) |
| 73 | +* Fixed issue with `msg->stat` in non-blocking. |
| 74 | +* Fixed Arduino library build. |
| 75 | +* Fixed examples with non-blocking (--enable-nonblock). |
| 76 | +* Enhancement to pass network callback return codes through context when using TLS. |
| 77 | +* Added option to disable the blocking timeouts for `select()` using `--disable-timeout` (or `WOLFMQTT_NO_TIMEOUT`). |
| 78 | +* Added option to disable STDIN/fgets capture for examples using `--disable-stdincap` (or `WOLFMQTT_NO_STDIN_CAP`) |
| 79 | +* Refactor to use new `MQTT_CODE_STDIN_WAKE` return code for examples using STDIN to send publish messages (normal blocking mode only). |
| 80 | + |
| 81 | +### v0.12 (12/20/16) |
| 82 | +* Fixes issue with read timeout in non-blocking mode with TLS enabled being teated as socket error. |
| 83 | +* Fixed issue with “msg->stat” not getting reset on failure or timeout. |
| 84 | +* Fix to not link libwolfssl with ./configure --disable-tls. |
| 85 | +* Added AWS IoT Example and test script. |
| 86 | + |
| 87 | +### v0.11 (11/28/16) |
| 88 | +* Fix for building MQTT client example without the wolfSSL headers present. |
| 89 | +* Fix for Microchip Harmony IP check so it works with non 192 subnets. |
| 90 | + |
| 91 | +### v0.10 (09/26/16) |
| 92 | +* Enabled big endian support. |
| 93 | +* Fixes for building with Visual Studio. |
| 94 | + |
| 95 | +### v0.9 (08/22/16) |
| 96 | +* Added Microchip Harmony support (see new readme in `IDE/Microchip-Harmony/README.md`). |
| 97 | +* Added non-blocking mode `--enable-nonblock` or `WOLFMQTT_NONBLOCK`, which uses new `MQTT_CODE_CONTINUE` response code. |
| 98 | +* Added `scripts/azureiothub.test`. |
| 99 | +* Added `./commit-tests.sh` for testing all configurations. |
| 100 | +* Added git pre-commit hook to run `commit-tests.sh`. |
| 101 | +* Combined duplicate code in the examples into `examples/mqttexample.c`. |
| 102 | +* Examples now use `MQTTCtx` structure as argument for tracking info/state. |
| 103 | + |
| 104 | +### v0.8 (06/13/16) |
| 105 | +* Fixed stdin capture bug and improved signal (ctrl+c) handling. |
| 106 | +* Added Azure IoT hub MQTT client example. |
| 107 | +* Added support for MQX / RTCS. |
| 108 | +* Added "--disable-tls" and "--disable-examples" configure options. |
| 109 | +* Added comment about max packet size. |
| 110 | +* Added example for how to load a client certificate to mqttclient example. |
| 111 | +* Added return code for firmware and azure examples that are not compiled in due to older / incompatible version of wolfSSL. |
| 112 | +* Moved the support for custom printf/line endings into the mqtt_types.h for use throughout the project. |
| 113 | +* Updated README.md with information about the examples. |
| 114 | + |
| 115 | +### v0.6 (03/18/2016) |
| 116 | +* Fixes to support MinGW compiler. |
| 117 | +* Fixed bug with include of the wolfSSL include of options.h. |
| 118 | +* Fix to properly handle negative return code from wc_SignatureGetSize. |
| 119 | +* Added Arduino IDE example in `IDE/ARDUINO`. See `IDE/ARDUINOREADME.md` for details. |
| 120 | +* Added example UART interface for wolfMQTT. See `examples/mqttuart.c`. |
| 121 | +* Added the ability to pass additional arguments to the scripts. Example: `./scripts/client.test "-h localhost"` |
| 122 | + |
| 123 | +### v0.5 (01/27/2016) |
| 124 | +* Fixed build error when using older wolfSSL in firmware examples. |
| 125 | +* Updated the get error string function in `mqtt_socket.c` from `wc_GetErrorString` to `wolfSSL_ERR_reason_error_string` so both wolfSSL and wolfCrypt error codes are resolved. |
| 126 | +* Added `-n <str>` option so a custom topic name can be used. |
| 127 | +* The mqttclient example now listens to stdin and will send a publish message with the data entered on the console when end-of-line (return) is detected (Linux only). |
| 128 | +* Added keep-alive ping to the mqttclient and fwclient examples. |
| 129 | +* Moved the TLS callback prior to the `client->tls.ctx` creation, allowing the callback function to implement its own client method cert verification. |
| 130 | +* Enhanced `MqttClient_WaitMessage` so it will return if we get a message, not just on timeout |
| 131 | +* Added make check/test scripts (scripts/client.test and scripts/firmware.test) to validate client TLS (with and without) plus QoS 0-2 levels and the firmware update example. |
| 132 | +* Adjusted the example include paths for more flexibility. |
| 133 | +* Added new `-T` option for using examples to test. |
| 134 | +* Added new `-C` option to allow custom command timeout. |
| 135 | +* Combined duplicate example code into new header `mqttexample.h`. |
| 136 | +* Added a PRINTF helper macro to the examples for easier porting. |
| 137 | +* Added better error trapping in examples so return code is populated for testing. |
| 138 | +* Changed the example test functions to return int. |
| 139 | + |
| 140 | +### v0.4 (12/30/2015) |
| 141 | +* Fixed bug with subscribe not populating acknowledgment return code(s) properly. |
| 142 | +* 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. |
| 143 | +* Fix to ensure `topic_name` pointer is reset when publish callback message is not new `msg_new = 0`. |
| 144 | +* Fixes to suppress possible warning "Value stored to [] is never read". |
| 145 | +* Fixed firmware example to trap case where file isn't found. |
| 146 | +* Fixed possible ./autogen.sh error with missing "config.rpath". |
| 147 | +* Fixed Windows issue with SetConsoleCtrlHandler incorrectly reporting error. |
| 148 | +* Fixed issue with Visual Studio 2015 wolfssl.lib reference. |
| 149 | +* Fixed build errors with G++ (./configure CC=g++). |
| 150 | +* Fixed "FirmwareHeader" to use WOLFMQTT_PACK macro. |
| 151 | +* Added helper macro's and comments for topic names/filters. |
| 152 | +* Added TLS certification verification reference implementation to examples. |
| 153 | +* Updated the topic names in examples to use "wolfMQTT/example/". |
| 154 | +* Added QoS level to example console output. |
| 155 | +* Added memset to initialize some of the example stack variables. |
| 156 | +* Removed the LWT from the firmware examples. |
| 157 | +* Added retain flag "-r" option on the "fwpush" example. |
| 158 | +* Updated the examples to use macros for all memory and string functions, so they are more portable. |
| 159 | +* Added Visual Studio projects for "fwpush" and "fwclient". |
| 160 | + |
| 161 | +### v0.3 (11/18/2015) |
| 162 | +* Fixes bug with first byte of payload being null'd if QoS level was 0. |
| 163 | +* Fixed issue with stdint types (uint#_t) being used. |
| 164 | +* Fixes for remaining length encoding/decoding for large packets. |
| 165 | +* Added support for large payloads using new message callback flags `msg_done` and `msg_new` along with MqttMessage `buffer_pos` and `buffer_len`. |
| 166 | +* 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. |
| 167 | + |
| 168 | +### v0.2 (11/06/2015) |
| 169 | +* Fixes to handle receival of publish and QoS messages while performing packet writes/waits. |
| 170 | +* Added support / tested with Windows. |
| 171 | +* Added Visual Studio 2015 solution and projects. |
| 172 | +* Added support / tested with FreeRTOS and Lwip. |
| 173 | +* Fixes for compiler warnings. |
| 174 | + |
| 175 | +### v0.1 (10/26/15) |
| 176 | +* Initial release with support for MQTT v3.1.1, QoS 0-2, TLS and example client. |
0 commit comments