Release Note 🎉
🌳 Introducing Topic Tree visualization - A new way to organize and visualize your MQTT topics hierarchically, making managing and monitoring your message flows easier.
📊 Added Avro Schema and Message Pack support, bringing more efficient ways to handle complex data with MQTTX.
Features 🌈
Note: Topic Tree visualization is currently in
Beta. You may encounter some instability or incomplete features. We appreciate your feedback to help us improve this functionality.
- Desktop: Topic Tree visualization
- Desktop: Message Pack format support
- Desktop: Avro data format support
- Desktop: Ignore QoS 0 messages option
- CLI: Message Pack format support
- CLI: Avro Schema support
- CLI: Custom WebSocket headers support
- Desktop, CLI: Allow empty client ID
Improvements 💫
- Desktop: Enhanced MQTT wildcard topic matching for '#'.
- Desktop: Better Avro format user experience
- Desktop: Session expiry now defaults to 7200
- Desktop: Synchronization between topic tree and massage table
- Desktop: Persistence for topic tree data
- CLI: Optimized configuration loading logic
- CLI: Using built-in fetch instead of Axios
- CLI: MQTT version notation changed from 5 to 5.0
- Desktop, CLI, Web: Added .nvmrc file for Node.js version specification
- Copilot: Changed to GPT-4o as the default model
Fixes 🛠
- Desktop: Fixed connection name style issue
- Desktop: Improved handling of '#' wildcard in topic filtering
- Desktop: Enhanced file extension handling in scripts
- Desktop: Fixed typos in various places
- CLI: Removed bench sub-topics log
Preview 🖼️
The data display comes from the public MQTT Broker:
broker.emqx.io.
What's Changed
- fix(desktop): fix the style issue of connection name by @XL-YiBai in https://github.com/emqx/MQTTX/pull/1724
- feat(cli): custom ws headers support by @ysfscream in https://github.com/emqx/MQTTX/pull/1729
- refactor(cli): using built-in fetch instead of axios by @ysfscream in https://github.com/emqx/MQTTX/pull/1730
- feat(cli): add avro support by @LAST7 in https://github.com/emqx/MQTTX/pull/1735
- chore(cli&web): add .nvmrc file to specify node.js version by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1738
- chore(cli): optimize configuration loading logic by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1739
- fix(desktop): improve MQTT wildcard topic matching for '#' by @ysfscream in https://github.com/emqx/MQTTX/pull/1741
- fix(desktop): correct handling of '#' wildcard in topic filtering by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1742
- feat(desktop): support enable ignore qos 0 messages by @ysfscream in https://github.com/emqx/MQTTX/pull/1743
- refactor(deskop): session expriy default to 7200 by @ysfscream in https://github.com/emqx/MQTTX/pull/1744
- fix(cli): mqtt version 5 -> 5.0 by @ysfscream in https://github.com/emqx/MQTTX/pull/1745
- feat(cli): test support by @ysfscream in https://github.com/emqx/MQTTX/pull/1747
- feat(desktop): test support by @ysfscream in https://github.com/emqx/MQTTX/pull/1748
- test(desktop): add more utils test cases by @ysfscream in https://github.com/emqx/MQTTX/pull/1749
- test(cli): add more utils test cases by @ysfscream in https://github.com/emqx/MQTTX/pull/1750
- test(cli): convert paylaod test case support by @ysfscream in https://github.com/emqx/MQTTX/pull/1751
- test(cli): add avro util test cases by @LAST7 in https://github.com/emqx/MQTTX/pull/1752
- test(cli): add protobuf test cases by @ysfscream in https://github.com/emqx/MQTTX/pull/1753
- test(cli): add conn pub sub command test cases by @ysfscream in https://github.com/emqx/MQTTX/pull/1754
- fix(cli): remove bench sub topics log by @ysfscream in https://github.com/emqx/MQTTX/pull/1756
- chore(config): add experimental option in tsconfig to fit modern lsp by @LAST7 in https://github.com/emqx/MQTTX/pull/1758
- feat(desktop): add avro support by @LAST7 in https://github.com/emqx/MQTTX/pull/1757
- test(desktop): add avro util test cases by @LAST7 in https://github.com/emqx/MQTTX/pull/1759
- improve(desktop): improve experience with avro by @LAST7 in https://github.com/emqx/MQTTX/pull/1762
- feat(copilot): change to gpt-4o to default model by @ysfscream in https://github.com/emqx/MQTTX/pull/1765
- fix(desktop): improve file extension handling in script by @ysfscream in https://github.com/emqx/MQTTX/pull/1764
- feat(client): allow client id empty by @ysfscream in https://github.com/emqx/MQTTX/pull/1766
- feat(desktop): Msg pack support by @lantica in https://github.com/emqx/MQTTX/pull/1760
- fix(desktop): fix typo by @ysfscream in https://github.com/emqx/MQTTX/pull/1768
- feat(cli): message pack format support by @ysfscream in https://github.com/emqx/MQTTX/pull/1769
- Topics Tree by @ysfscream in https://github.com/emqx/MQTTX/pull/1771
- feat(desktop): support expand and collapse all tree nodes by @ysfscream in https://github.com/emqx/MQTTX/pull/1775
- fix(desktop): add id for tree node by @ysfscream in https://github.com/emqx/MQTTX/pull/1776
- feat(desktop): sync tree data to message table by @ysfscream in https://github.com/emqx/MQTTX/pull/1777
- Persist Topic Tree Data by @ysfscream in https://github.com/emqx/MQTTX/pull/1778
- feat(desktop): visualize topic tree support by @ysfscream in https://github.com/emqx/MQTTX/pull/1779
New Contributors
- @LAST7 made their first contribution in https://github.com/emqx/MQTTX/pull/1735
- @lantica made their first contribution in https://github.com/emqx/MQTTX/pull/1760
Full Changelog: https://github.com/emqx/MQTTX/compare/v1.10.1...v1.11.0