Releases: wolfSSL/wolfMQTT
Releases · wolfSSL/wolfMQTT
wolfMQTT v1.7 (08/21/2020)
- Fix for publish with short topic name and example. (PR #169)
- Add MqttProps_ShutDown(). Fix MqttProp leaks(PR #167)
- Multithread fixes. (PR #166)
- Fix buffer overrun in strcpy(). Fix logic around getaddrinfo(). (PR #165)
- Fix MqttClient_WaitType for nonblock mode. (PR #164)
- Change anon union for ARMv6 error. (PR #163)
- Fix for publish large payload. (PR #162)
- Fixing LWT prop and allow null LWT. (PR #161)
- Fix for receive timeout in mqttsimple example. (PR #158)
wolfMQTT v1.6 (04/24/2020)
- Fixes to improve buffer size checking when using a small tx or rx buffer. (PR #137)
- Fix for MQTT v5 issue with using wrong property free. (PR #152)
- Refactor of the thread locking to use binary semaphore, which resolves issue with thread synchronization. (PR #146)
- Improved multi-thread example exit (ctrl+c). Use internal pipe to wake "select()" and use semaphore signal to "wake" ping thread. (PR #146)
- Adjust multi-threading use case to use separate thread for ping keep-alive. (PR #146)
- Added simple standalone MQTT client example. (PR #138)
- Added include for "user_settings.h" when
WOLFMQTT_USER_SETTINGSis defined. (PR #138) - Added broker compatibility list (PR #145)
- Added protocol version API's. (PR #152)
- Added multithread example for Windows and Visual Studio. (PR #146)
- Made protocol level a run time option (PR #147)
- Remove obsolete "sched_yield" call. (PR #146)
- Remove deprecated call to
wolfSSL_set_using_nonblock()(PR #148) - Sync automake fixes from wolfSSL to wolfMQTT. (PR #150)
- Moved
MAX_PACKET_IDto library. (PR #138)
wolfMQTT v1.4 (12/27/19)
- Fixes for non-blocking and multi-threading edge cases. (PR #130)
- Improved logic for processing objects from different threads.
- Improved network connect/read to handle runtime option for block/non-block.
- Improved examples to support adding random hex string to client_id and topic name when "-T" option is used.
- Fix for test scripts to check non-zero return code.
- Enabled the mqttclient, multithread and wiot examples when non-blocking is enabled.
- Added encode debug log messages when
WOLFMQTT_DEBUG_CLIENTis defined. - Added thread logging when
WOLFMQTT_DEBUG_THREADis defined with multi-threading support enabled.
- Fixes for Visual Studio project (PR #122)
- Improvements to catch use of socket file descriptor before its been created/opened.
- Improved handling for Windows socket want write.
- Added library references to wolfSSL project.
- Adjusted include to have IDE/WIN for user_settings.h.
- Fixes for Visual Studio conversion warning (PR #128)
- Fix visibility warnings in Cygwin (PR #127)
- Fix global declaration conflicts for CentOS (PR #133)
- Fix Microchip Harmony for
mqtt_socket.cwith non-blocking anderrno.h(PR #135) - Fix to not return from
MqttClient_WaitMessageif response from another thread (PR #129) - Refactor of the multi-threading code to better handle edge case and state for non-blocking (PR #126)
- Fixes for multi-thread handling of ack's when processing.
- Refactor to use
statfrom own struct, not sharedmsg->stat. - Eliminated use of
client->msgexcept forMqttClient_WaitMessage. - Fixes to restore "state" after performing MqttClient operation.
- Refactor of publish read and write payload.
- Improvements to multithread example.
- Refactor of the SN code to support new object type and unique state for future multi-thread support.
- Added build option
TEST_NONBLOCKto force testing non-blocking edge cases. - Fix for fwpush getting stuck in stop loop on Ctrl+c exit.
- Update Azure login and default broker (PR #131)
wolfMQTT v1.3 (08/01/19)
- Fix
fwpushexample to use filename option-f. (PR #117) - Fix for
MQTT_DATA_TYPE_BINARYdata length encoded twice. (PR #112) - Fix to clear local structures for subscribe and unsubscribe ACK's. (PR #112)
- Fix for
SN_Encode_Unsubscribeusing wrong data type for topic name ID. (PR #110)* Fixes for using RTCS inmqttnet.csocket example code. (PR #108) - Fix MQTT-SN decode publish parsing and QoS2 response. (PR #107)
- Fix for Harmony possible circular include issue. (PR #98)
- Added multiple thread support using
--enable-mtorWOLFMQTT_MULTITHREAD. (PR #115) - Changed MqttSocket_TlsSocket callbacks to be public. (PR #104)
- Improved the disconnect network error callback example. (PR #102)
- Add MQTT context information to socket callback examples. (PR #101)
- Initialize subscribe state to
MQTT_MSG_BEGIN. (PR #99) - Added
WOLFSSL_USER_SETTINGSto VS project files. (PR #109)
wolfMQTT v1.2 (11/07/18)
- Added MQTT Sensor Network (SN) client support (
--enable-snorWOLFMQTT_SN). (PR #96) - Added MQTT v5.0 support with (
--enable-mqtt5orWOLFMQTT_V5). (PR #87) - Added property callback support (MQTT v5.0 only). Enabled with
--enable-propcborWOLFMQTT_PROPERTY_CB). (PR #87) - Fix for Harmony NetConnect function incorrectly checking
EWOULDBLOCK. Fixes issue #88. (PR #89) - Fix to reset the TLS ctx and ssl pointers when they have been free'd. (PR #85)
- Add way to pass custom context to the wolfMQTT TLS verify callback example
mqtt_tls_verify_cb. PR #94) - Create nonblocking mqttclient example
./examples/nbclient/nbclient. (PR #93) - Add support for publishing in smaller chunks using new API
MqttClient_Publish_ex. (PR #92) - Added simplified Microchip Harmony wolfMQTT network callback example. (PR #83)
wolfMQTT v1.1 (06/21/18)
- Fixed case when
use_tlswas requested but TLS feature not compiled in. (PR #57) - Fixed non-blocking issue that caused out of buffer error if not all of packet were received. (PR #65)
- Fixed non-blocking mode issue that was sending multiple connect requests for examples. (PR #65)
- Fixed non-blocking issue with ping keep alive in examples. (PR #68)
- Fixed the Arduino example with
ENABLE_MQTT_TLSdefined (PR #78) - Added support for FreeRTOS TCP in wolfMQTT. (PR #58)
- Added
README.mdsection for building wolfMQTT. (PR #63) - Added new option to enable verbose logging
./configure --enable-debug=verbose. (PR #65) - Added support for disconnect callback using
WOLFMQTT_DISCONNECT_CBor./configure --enable-discb. (PR #69) - Added
WOLFMQTT_LOCALto internal API's for hidden visibility. (PR #73) - Added include for
wolfmqtt/options.h. (PR #79) - Added IBM Watson IoT example (see
./examples/wiot/wiot). (PR #80) - Updated the autoconf M4 files and added generation of
./configureoptions towolfmqtt/options.h. (PR #71) - Improved the message callback to support a custom context per message. (PR #62)
- Improved the non-blocking unsubscribe handling in mqttclient example for timeout. (PR #65)
wolfMQTT v1.0 (04/03/18)
- Fixed
MqttClient_WaitMessageto use providedtimeout_msarg. With TLS enabled it was using theMqttClient_Initcmd_timeout_msarg. Thanks PeterL for that report. - Fixed cast warnings when building with Visual Studio.
- Cleanup socket code to use existing
SOCK_CLOSEforNetDisconnect. - Cleanup to move the
sockRcinto theMqttTlsstruct, since it only applies when TLS is enabled. - Added configure option to disable error strings for reduced code size (
./configure disable-errorstringsor#define WOLFMQTT_NO_ERROR_STRINGS). - Added support for ChibiOS.
wolfMQTT v0.14 (11/22/17)
- Fixed non-blocking connect to check for
EINPROGRESSfor 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_STDIOis 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_NONBLOCKis 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 v0.13 (05/10/17)
- Fixed issue with
msg->statin 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(orWOLFMQTT_NO_TIMEOUT). - Added option to disable STDIN/fgets capture for examples using
--disable-stdincap(orWOLFMQTT_NO_STDIN_CAP) - Refactor to use new
MQTT_CODE_STDIN_WAKEreturn code for examples using STDIN to send publish messages (normal blocking mode only).
wolfMQTT v0.12 (12/20/16)
- 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.