Skip to content

Commit 4561ea3

Browse files
authored
Merge pull request #118 from dgarske/rel_v1.3
wolfMQTT release v1.3 preparation
2 parents bfd1349 + 226a687 commit 4561ea3

5 files changed

Lines changed: 182 additions & 166 deletions

File tree

ChangeLog.md

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
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.

Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ include scripts/include.am
3838
include IDE/include.am
3939

4040
EXTRA_DIST+= README.md
41+
EXTRA_DIST+= ChangeLog.md
4142
EXTRA_DIST+= LICENSE
4243
EXTRA_DIST+= wolfmqtt.sln
4344
EXTRA_DIST+= wolfmqtt.vcxproj

0 commit comments

Comments
 (0)