[{"data":1,"prerenderedAt":30},["Reactive",2],{"pOptNmUxx4":3,"9CjX7RyquN":6},{"changelog":4,"createAt":5},"\u003Cp>This is really the last formal release ver of 0.24 now, including several security fixes and a major new feature--- nng_bridge. Now the users of NNG can use NanoMQ to work as the bridge between Nanomsg Next-gen and MQTT ecosystem, just by configuration, no need to add one more proxy process.\u003C/p>\n\u003Cp>AI composed change log:\u003C/p>\n\u003Cp>We are thrilled to announce the release of NanoMQ v0.24.14!\u003C/p>\n\u003Cp>This version represents a major milestone in NanoMQ's robustness. Thanks to extensive fuzzing and rigorous code audits, we have patched several critical memory safety vulnerabilities. Alongside these security consolidations, we are introducing a brand-new offline message cache, NNG Pub/Sub bridging, and enhanced REST API querying capabilities.\u003C/p>\n\u003Cp>Upgrade is highly recommended for all users.\u003C/p>\n\u003Cp>🚀 New Features &amp; Enhancements\nOffline Message Cache: Introduced a new offline message caching mechanism to improve data reliability for disconnected clients.\u003C/p>\n\u003Cp>NNG Pub/Sub Bridging: Added full support for NNG Pub/Sub bridging capabilities across both NanoMQ and NanoNNG.\u003C/p>\n\u003Cp>REST API Upgrades: The GET /api/v4/clients endpoint now supports multi-condition querying, giving you more granular control over client monitoring.\u003C/p>\n\u003Cp>CLI Enhancements: nanomq_cli now fully supports Will Properties for MQTT v5 client options.\u003C/p>\n\u003Cp>🛡️ Security &amp; Stability\nThis release resolves several high-severity vulnerabilities and edge-case crashes, making the broker more resilient against malformed packets and malicious payloads:\u003C/p>\n\u003Cp>Pre-Auth Memory Safety: Fixed a critical memory corruption/integer underflow bug in the HTTP basic_authorize API.\u003C/p>\n\u003Cp>MQTTv5 Parser Hardening:\u003C/p>\n\u003Cp>Fixed a Double Free vulnerability in nni_mqtt_msg_decode_subscribe().\u003C/p>\n\u003Cp>Fixed a NULL pointer dereference (SEGV) in nni_mqttv5_msg_decode_connect().\u003C/p>\n\u003Cp>Patched multiple Heap Use-After-Free (UAF) bugs related to connection parameters and properties.\u003C/p>\n\u003Cp>HTTP API: Fixed an out-of-bounds bug in the HTTP post_msg API discovered via fuzzing.\u003C/p>\n\u003Cp>Safety Consolidation: Deployed multiple new boundary checkers and safety guards throughout the NanoNNG core.\u003C/p>\n\u003Cp>🐛 Bug Fixes &amp; Optimizations\nWebhook: Fixed memory leaks that could occur during Webhook execution.\u003C/p>\n\u003Cp>QUIC: Fixed a type confusion issue triggered when closing QUIC dialers (nni_quic_dialer_close).\u003C/p>\n\u003Cp>Bridging: Added the missing SNI parameter to the bridge configuration parser.\u003C/p>\n\u003Cp>Codec Performance: Optimized property decoding logic by adding a tail node, significantly reducing complexity.\u003C/p>\n\u003Cp>Housekeeping: Removed obsolete code, cleaned up redundant logging, and added new internal flags.\u003C/p>\n\u003Ch2>What's Changed in NanoMQ\u003C/h2>\n\u003Cul>\n\u003Cli>Support multi-condition query for rest api \u003Ccode>GET /api/v4/clients\u003C/code> by @alvin1221 in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2294\">https://github.com/nanomq/nanomq/pull/2294\u003C/a>\u003C/li>\n\u003Cli>safety consolidation by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2299\">https://github.com/nanomq/nanomq/pull/2299\u003C/a>\u003C/li>\n\u003Cli>FEAT [nanomq_cli] add support for will properties in MQTT V5 client options by @alvin1221 in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2301\">https://github.com/nanomq/nanomq/pull/2301\u003C/a>\u003C/li>\n\u003Cli>new feature for nng bridging of pub/sub by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2297\">https://github.com/nanomq/nanomq/pull/2297\u003C/a>\u003C/li>\n\u003Cli>Fix webhook memory leaks  by @alvin1221 in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2306\">https://github.com/nanomq/nanomq/pull/2306\u003C/a>\u003C/li>\n\u003Cli>Fix an outbound bug found by fuzzing in HTTP post_msg API by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2307\">https://github.com/nanomq/nanomq/pull/2307\u003C/a>\u003C/li>\n\u003Cli>security fixes by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2308\">https://github.com/nanomq/nanomq/pull/2308\u003C/a>\u003C/li>\n\u003Cli>fix a memory corruption bug of basic_authorize  by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2309\">https://github.com/nanomq/nanomq/pull/2309\u003C/a>\u003C/li>\n\u003Cli>new offline msg cache by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/nanomq/pull/2312\">https://github.com/nanomq/nanomq/pull/2312\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>Full Changelog\u003C/strong>: \u003Ca href=\"https://github.com/nanomq/nanomq/compare/0.24.13...0.24.14\">https://github.com/nanomq/nanomq/compare/0.24.13...0.24.14\u003C/a>\u003C/p>\n\u003Ch2>What's Changed in NanoNNG\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Cul>\n\u003Cli>MDF [conf] add missing sni param in bridge conf by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1498\">https://github.com/nanomq/NanoNNG/pull/1498\u003C/a>\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli>Fix a heap use-after-free bug of conn_param by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1500\">https://github.com/nanomq/NanoNNG/pull/1500\u003C/a>\u003C/li>\n\u003Cli>UAF bug fix by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1503\">https://github.com/nanomq/NanoNNG/pull/1503\u003C/a>\u003C/li>\n\u003Cli>Fix double free in \u003Ccode>nni_mqtt_msg_decode_subscribe()\u003C/code> by @alvin1221 in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1505\">https://github.com/nanomq/NanoNNG/pull/1505\u003C/a>\u003C/li>\n\u003Cli>\u003Cul>\n\u003Cli>FIX [mqtt_codec] add tail node to reduce complexity of property dec… by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1508\">https://github.com/nanomq/NanoNNG/pull/1508\u003C/a>\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli>new feature: nng pub/sub bridging by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1506\">https://github.com/nanomq/NanoNNG/pull/1506\u003C/a>\u003C/li>\n\u003Cli>FIX \u003Ccode>SEGV on unknown address\u003C/code> in \u003Ccode>nni_mqttv5_msg_decode_connect()\u003C/code> by @alvin1221 in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1509\">https://github.com/nanomq/NanoNNG/pull/1509\u003C/a>\u003C/li>\n\u003Cli>\u003Cul>\n\u003Cli>FIX [quic] Fixed the type confusion when nni_quic_dialer_close. by @wanghaEMQ in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1512\">https://github.com/nanomq/NanoNNG/pull/1512\u003C/a>\u003C/li>\n\u003C/ul>\n\u003C/li>\n\u003Cli>multiple safe checkers added by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1518\">https://github.com/nanomq/NanoNNG/pull/1518\u003C/a>\u003C/li>\n\u003Cli>just remove one tiny line of logging..... by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1522\">https://github.com/nanomq/NanoNNG/pull/1522\u003C/a>\u003C/li>\n\u003Cli>rm obsolated code &amp; add new flag by @JaylinYu in \u003Ca href=\"https://github.com/nanomq/NanoNNG/pull/1528\">https://github.com/nanomq/NanoNNG/pull/1528\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>Full Changelog\u003C/strong>: \u003Ca href=\"https://github.com/nanomq/NanoNNG/compare/0.24.13...0.24.14\">https://github.com/nanomq/NanoNNG/compare/0.24.13...0.24.14\u003C/a>\u003C/p>\n","2026-05-29",{"items":7,"meta":26},[8,11,14,17,20,23],{"title":9,"titleUrl":10},"MQTT on ESP32: A Beginner's Guide","esp32-connects-to-the-free-public-mqtt-broker",{"title":12,"titleUrl":13},"MQTT QoS 0, 1, 2 Explained: A Quickstart Guide","introduction-to-mqtt-qos",{"title":15,"titleUrl":16},"MQTT in Python with Paho Client: Beginner's Guide 2026","how-to-use-mqtt-in-python",{"title":18,"titleUrl":19},"MQTT Broker: How It Works, Popular Options, and Quickstart","the-ultimate-guide-to-mqtt-broker-comparison",{"title":21,"titleUrl":22},"CAN Bus Uncovered: Basics and Applications in Vehicles","can-bus-how-it-works-pros-and-cons",{"title":24,"titleUrl":25},"MQTT Topics and Wildcards: A Beginner's Guide","advanced-features-of-mqtt-topics",{"count":27,"limit":28,"page":29},6,7,1,1782097805719]