Releases: wolfSSL/wolfMQTT
wolfMQTT v2.0.0 (20MAR2026)
v2.0.0 (03/20/2026)
Release 2.0.0 has been developed according to wolfSSL's development and QA
process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
-
New Features
- Lightweight MQTT Broker — New built-in MQTT broker implementation (#457)
- MQTT v3.1.1 spec compliance checks (#462)
- Secure and non-secure port listening support (#465)
- WebSocket transport support (#466)
- wolfIP (embedded TCP/IP stack) support (#463)
- Retained messages, session persistence, graceful disconnect, QoS subscription updates (#465)
- libFuzzer-based broker fuzzing infrastructure (#474)
- wolfIP Integration — Added wolfIP support for both MQTT client and broker (#463)
- lastError Field — Preserve TLS error code via new lastError in the network context (#458)
-
Bug Fixes
- Fix race condition in wm_SemLock (#475)
- Fix wildcard topic matching (#472)
- Fix LWT (Last Will and Testament) length checks and payload free issues (#472, #473)
- Fix subAck buffer size check and topic count validation (#472)
- Fix MqttPacket_Write failure return handling (#473)
- Fix MQTT-SN: null pointer dereference, non-blocking read, encode/decode issues (#473)
- Fix MqttDecode_Auth reason code issue (#473)
- Fix broker client connect status check (#472)
- Fix SN_Client_WaitType issues (#456)
- Fix curl transport: use internal loops for partial read/write handling (#459)
-
Security Hardening
- Add overflow checks in network and socket IO (#467)
- Add checks for negative return values in MqttDecode_String calls (#467)
- Add encoding error checks (#467)
- Add remain_len validation check (#471)
- Static analysis fixes for MqttClient_Auth, MqttProps_Add, MqttDecode_SubscribeAck, MqttDecode_Props (#469)
- Static analysis fixes for SN_Decode_Register, SN_Decode_GWInfo, SN_Client_WillTopicUpdate, SN_Encode_Publish, SN_Encode_RegAck, SN_Client_Connect (#468)
- Add debug warning when using VERIFY_NONE (#475)
-
CI / Testing
-
Other
wolfMQTT v1.21.0 (03DEC2025)
Release 1.21.0 has been developed according to wolfSSL's development and QA
process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
What's Changed
- Add port for NETX use by @JacobBarthelmeh in #427
- Fix heap buffer overflow in MqttDecode_Num with bounds checking by @devin-ai-integration[bot] in #430
- Restore instructions for testing against OQS mosquitto integration. by @anhu in #432
- initial threadx test by @JacobBarthelmeh in #429
- Rename ML-KEM hybrids to match IETF Draft. by @anhu in #435
- Update expired test certs by @lealem47 in #441
- Pin to ESP-IDF v5.5, limit workflow push branches, line endings by @gojimmypi in #444
- Fix: MQTT v5 Property-Packet Protocol Validation and Decode Safety by @kaabia in #440
- Fix: Correct state transition check in MqttClient_Auth by @kaabia in #439
- fix: correct variable in MQTT property decode error checks by @kaabia in #445
- Add fflush to mqtt-sub example by @embhorn in #447
- Update license to GPLv3 by @embhorn in #448
wolfMQTT v1.20.0 (02MAY2025)
v1.20.0 (05/02/2025)
Release 1.20.0 has been developed according to wolfSSL's development and QA
process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
- OQS's Mosquitto is out of date. by @anhu in #417
- Add support for websocket by @embhorn in #418
- Add support for secure websockets by @embhorn in #419
- Add secure ws CI test by @embhorn in #421
- Update examples for latest Managed Components by @gojimmypi in #420
- Improve cmake duplicate component check by @gojimmypi in #422
wolfMQTT v1.19.2 (31JAN2025)
v1.19.2 (01/31/2025)
Release 1.19.2 has been developed according to wolfSSL's development and QA
process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
wolfMQTT v1.19.1 (06NOV2024)
v1.19.1 (11/06/2024)
Release 1.19.1 has been developed according to wolfSSL's development and QA process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
- wolfssl 5.7.2 time_helper type adjustments for Espressif example by @gojimmypi in #404
- Fix Doxygen issues by @embhorn in #403
wolfMQTT v1.19.0 (22MAR2024)
v1.19.0 (3/22/2024)
Release 1.19.0 has been developed according to wolfSSL's development and QA process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
- Add stress test. by @philljj in #387
- Add cmake CI test and fix pthread detection by @embhorn in #389
- Initial wolfMQTT Espressif ESP32 template and AWS IoT examples by @gojimmypi in #388
- Add curl test dependencies by @lealem47 in #392
- Improving and fixing typos for STM32CUBE build by @lealem47 in #391
- Fix string prop OOB read by @embhorn in #394
- Fix some Helgrind thread errors with enable-tls, and enable-curl. by @philljj in #396
- Initial Espressif CI; limit Zepher CI by @gojimmypi in #390
- Fix double unlock and double lock in multithread example. by @philljj in #397
- Fix double lock of lockRecv. by @philljj in #398
wolfMQTT v1.18.0 (22DEC2023)
v1.18.0 (12/22/2023)
Release 1.18.0 has been developed according to wolfSSL's development and QA process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
- Add curl easy socket backend. by @philljj in #380
- WOLFMQTT_EXAMPLE_CERT allowing static or extern cert assignment by @gojimmypi in #354
- Tiny readme cleanup. by @philljj in #381
- Fix high coverity issues by @embhorn in #379
- Add broker check to scripts by @embhorn in #385
- Cmake build fixes by @embhorn in #384
wolfMQTT v1.17.1 (29NOV2023)
v1.17.1 (11/29/2023)
Release 1.17.1 has been developed according to wolfSSL's development and QA process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
- Include stdint.h in userio_template.h by @lealem47 in #371
- Improvements to multithread locking and tests. by @dgarske in #369
- Cleanup executable status on src files. by @philljj in #372
- Close socket on error in NetConnect by @embhorn in #375
- Fixes for non-blocking with larger payload and improvements to the test and examples by @dgarske in #373
- Add MQTT-SN CI tests by @embhorn in #376
- Fix Wild read in MqttProps_Free by @embhorn in #377
- Fix fuzzer issues in MqttDecode_Props by @embhorn in #378
wolfMQTT v1.17.0 (02NOV2023)
v1.17.0 (11/2/2023)
Release 1.17.0 has been developed according to wolfSSL's development and QA process (see link below) and successfully passed the quality criteria.
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
- Fix for declaration after executable block by @lealem47 in #341
- Add QNX IDE, Makefile, and remove source code exec bit by @JacobBarthelmeh
in #317 - update for cmake after wolfssl added NAMESPACE by @JacobBarthelmeh in #343
- Add mutex protection to MqttClient_NetDisconnect by @embhorn in #342
- Add DTLS support to MQTT-SN client by @embhorn in #348
- Tie zephyr tests to a release by @julek-wolfssl in #350
- add documentation link to README by @gojimmypi in #355
- Possible patch for POSIX conditional wait issue by @dgarske in #356
- Fix publish with topic ID >=127 by @embhorn in #351
- Adding publish and subscribe atomic client examples by @embhorn in #347
- Allow disabling the posix conditional signal by @dgarske in #360
- Exclude CI tests with external brokers by @embhorn in #362
- Improvements for client property stack by @dgarske in #361
- Add mosquitto to CI tests by @embhorn in #365
- Fixes for non-blocking edge cases by @dgarske in #363
- Refactor MQTT-SN code by @embhorn in #366
wolfMQTT v1.16.0 (29JUN2023)
v1.16.0 (6/29/2023)
- Add testing for TLS mutual auth, and fsanitize gh test by @lealem47 in #321
- Add support for pkcs8 keys to mqtt client by @lealem47 in #322
- Fix null ptr deref in MqttClient_WaitType by @embhorn in #323
- Cleanup enum last entry to not have comma by @dgarske in #324
- Cleanup the AWS example by @dgarske in #326
- Fix for multi-threaded non-blocking use of sockRc, which could collide between read and write by @dgarske in #328
- Add API to check if message is active (non-blocking only) by @dgarske in #329
- Fix configure warnings by @embhorn in #330
- Support MQTTv5 in AWS example by @embhorn in #332
- Zephyr port by @julek-wolfssl in #333
- Improve example headers and small sanitizer fixes by @lealem47 in #334
- Adding in STM32CubeIDE support by @lealem47 in #335
- Add dynamic property support by @embhorn in #336