- Notifications
You must be signed in to change notification settings - Fork472
Releases: emqx/MQTTX
v1.12.0-beta.2
Compare
Release Note 🎉
🤖 MQTTX with major AI model upgrades and Model Context Protocol support (Beta)
This release significantly expands our AI model support by integrating leading LLMs, introduces beta Model Context Protocol (MCP) support, fixes critical API issues, and enhances user experience across all platforms.
Note: Electron has been significantly upgraded to v33.0.0 to utilize features from newer Node.js versions. Due to this major version jump, compatibility issues may occur on some systems. If you encounter any abnormal functionality or rendering problems, please submit an issue on GitHub. We recommend testing key features after upgrading to ensure everything works properly.
Features 🌈
- Desktop: Save and restore window state for a better user experience
- Desktop:Model Context Protocol Support (Beta):
- Standardized integration between LLMs and data sources
- SSE MCP servers support
- Stdio MCP servers support
- Desktop: Comprehensive AI model integration:
- Claude 3.5 and 3.7 support
- Grok 2 integration with readiness for Grok 3
- DeepSeek models (R1, V3) support
- Thinking Chain support for advanced reasoning with DeepSeek R1 and Claude 3.7
- Desktop: Enhanced AI Copilot capabilities:
- Custom function generation support
- Schema generation (Protobuf and Avro)
- Session management for AI interactions
Improvements 💫
- Desktop: Upgraded Node.js to version 18 for new features
- Desktop: Updated Electron version to 33.0.0
- Desktop: AI infrastructure improvements:
- Fixed OpenAI API compatibility issues (#1856)
- Implemented comprehensive API keys management
- Optimized DeepSeek integration across multiple cloud platforms
Fixes 🛠
- Desktop: Fixed SQLite disconnect warning issue
- Desktop: Fixed i18n issues for better localization
- Desktop: Fixed Copilot loading state issues
- Desktop: Improved input focus and handling for preset prompts in Copilot
Preview 🖼️
What's Changed
- chore(pkg): update node engine versiont to 16 by@ysfscream in#1853
- feat(desktop): save and restore window state by@ni00 in#1852
- chore(web): update Node.js version to 18 by@Red-Asuka in#1875
- chore(desktop): upgrade Node.js version to 18 by@Red-Asuka in#1876
- refactor(copilot): integrate AI SDK for improved model handling by@Red-Asuka in#1877
- fix(copilot): fix loading state by@Red-Asuka in#1879
- feat(copilot): support generating custom functions by@Red-Asuka in#1880
- style(copilot): update copilot button icon and enhance styling by@Red-Asuka in#1881
- feat(copilot): support generating schema by@Red-Asuka in#1883
- refactor(copilot): reorganize AI-related components and utilities by@ysfscream in#1882
- refactor(copilot): improve type safety by@ysfscream in#1884
- refactor(i18n): migrate Copilot translations to dedicated locale file by@ysfscream in#1885
- fix(copilot): improve input focus and handling for preset prompts by@ysfscream in#1886
- feat(copilot): add raw-loader and dynamic system prompt loading by@ysfscream in#1887
- feat(copilot): improve preset prompt display behavior on input focus by@ysfscream in#1888
- feat(copilot): support separate Protobuf and Avro schema generation prompts by@ysfscream in#1889
- feat(copilot): introduce session management for AI interactions by@ysfscream in#1890
- chore(pkg): bump electron version to 22.0.0 by@ysfscream in#1896
- feat(copilot): MCP support by@ysfscream in#1894
- fix(desktop): fix sqlite disconnect warning issue by@ysfscream in#1897
- fix(desktop): fix i18n issues by@ysfscream in#1898
- feat(copilot): sse mcp servers support by@ysfscream in#1899
- fix(copilot): remove useless file by@ysfscream in#1901
- refactor(copilot): add MCP call detection and display component by@ysfscream in#1902
- refactor(copilot): integrate AI Agent for response handling by@ysfscream in#1903
- refactor(copilot): remove MCP availability check and enhance AI streaming options by@ysfscream in#1904
- feat(copilot): implement MCP result processing by@ysfscream in#1906
- feat(copilot): enhance reasoning support by@ysfscream in#1907
- chore: bump electron version to 33.0.0 by@ysfscream in#1909
- fix(desktop): fix generate the latest.yaml issue on ci by@ysfscream in#1911
- fix(ci): update artifact upload process to use gitHub release by@ysfscream in#1913
Full Changelog:v1.11.1...v1.12.0-beta.2
v1.12.0-beta.1
Compare
What's Changed
- chore(pkg): update node engine version to 16 by@ysfscream in#1853
- feat(desktop): save and restore window state by@ni00 in#1852
- chore(web): update Node.js version to 18 by@Red-Asuka in#1875
- chore(desktop): upgrade Node.js version to 18 by@Red-Asuka in#1876
- refactor(copilot): integrate AI SDK for improved model handling by@Red-Asuka in#1877
- fix(copilot): fix loading state by@Red-Asuka in#1879
- feat(copilot): support generating custom functions by@Red-Asuka in#1880
- style(copilot): update copilot button icon and enhance styling by@Red-Asuka in#1881
- feat(copilot): support generating schema by@Red-Asuka in#1883
- refactor(copilot): reorganize AI-related components and utilities by@ysfscream in#1882
- refactor(copilot): improve type safety by@ysfscream in#1884
- refactor(i18n): migrate Copilot translations to dedicated locale file by@ysfscream in#1885
- fix(copilot): improve input focus and handling for preset prompts by@ysfscream in#1886
- feat(copilot): add raw-loader and dynamic system prompt loading by@ysfscream in#1887
- feat(copilot): improve preset prompt display behavior on input focus by@ysfscream in#1888
- feat(copilot): support separate Protobuf and Avro schema generation prompts by@ysfscream in#1889
- feat(copilot): introduce session management for AI interactions by@ysfscream in#1890
- chore(pkg): bump electron version to 22.0.0 by@ysfscream in#1896
- feat(copilot): MCP support by@ysfscream in#1894
- fix(desktop): fix sqlite disconnect warning issue by@ysfscream in#1897
- fix(desktop): fix i18n issues by@ysfscream in#1898
- feat(copilot): sse mcp servers support by@ysfscream in#1899
- fix(copilot): remove useless file by@ysfscream in#1901
- refactor(copilot): add MCP call detection and display component by@ysfscream in#1902
- refactor(copilot): integrate AI Agent for response handling by@ysfscream in#1903
- refactor(copilot): remove MCP availability check and enhance AI streaming options by@ysfscream in#1904
- feat(copilot): implement MCP result processing by@ysfscream in#1906
- feat(copilot): enhance reasoning support by@ysfscream in#1907
Full Changelog:v1.11.1...v1.12.0-beta.1
v1.11.1
Compare
Release Note 🎉
📈 Enhanced visualization capabilities, improved stability, and ongoing refactoring towards 2.0 ➡️
Features 🌈
- Desktop: Support manual sync from the connection list to the Topic Tree
- Desktop: Add traffic rate monitoring support with real-time packet synchronization
- Desktop: Show MQTT properties component on Topic Tree
- Desktop: Add connection selector when left list is hidden
- CLI: Add line mode option support
Improvements 💫
- Desktop: Add rate limiting for message send button
- Desktop: Move traffic monitor to Viewer for better organization
- CLI: Support custom client ID for bench and simulate commands
- CLI: Add exit tips for connections
Fixes 🛠
- Desktop: Fix message render loss issues
- Desktop: Fix tooltip overflow in the Tree Visual component
- Desktop: Fix unread message count initialization issue
- Desktop: Optimize topic tree scrollbar corner style
- Desktop: Optimize topic tooltip display timing
- CLI: Fix issues with receiving certain binary file types
- CLI: Fix multiple lines of publishing support on the pipeline
- CLI: Fix option configuration override issue
- CLI: Move @faker-js/faker to dependencies
Preview 🖼️
What's Changed ♻️
- fix(desktop): fix tooltip overflow in tree visual component by@ysfscream in#1782
- fix(desktop): fix can not init unread message count issue by@ysfscream in#1783
- fix(desktop): delay open the topic tooltip by@ysfscream in#1784
- fix(desktop): optimize scrollbar corner style in topic tree by@ysfscream in#1785
- refactor(desktop): mv traffic monitor to viewer by@ysfscream in#1787
- feat(desktop): sync traffic packets to message table by@ysfscream in#1791
- feat(desktop): traffic rate monitor support by@ysfscream in#1795
- feat(desktop): traffic rate monitor support by@ysfscream in#1796
- Sync topic tree from connection by@ysfscream in#1800
- fix(cli): move @faker-js/faker to dependencies by@pineapplehunter in#1801
- fix(cli): support more biarny type files by@ysfscream in#1808
- improve(cli): enhance handleLoadOptions to accept existing options by@Red-Asuka in#1811
- feat(cli): add tests for saving and loading options with custom YAML path by@Red-Asuka in#1812
- refactor(desktop): add mqtt properties component by@ysfscream in#1817
- refactor(desktop): add mqtt properties component by@ysfscream in#1819
- feat(cli): add exit tips for conn by@ysfscream in#1821
- feat(cli): line mode option support by@ysfscream in#1822
- fix(cli): support pub multiple lines on pipeline by@ysfscream in#1823
- style(desktop): improve select dropdown item style by@ysfscream in#1827
- fix(cli): optimize client id gen logic for bench by@ysfscream in#1829
- feat(desktop): add connection select when left list hide by@ysfscream in#1828
- feat(connections): add throttle to the send message button by@Red-Asuka in#1831
- fix(desktop): fix loss messages issue by@ysfscream in#1835
- 1.11.1 by@ysfscream in#1836
New Contributors
- @pineapplehunter made their first contribution in#1801
Full Changelog:v1.11.0...v1.11.1
Assets43
- 7.98 KB
2024-12-13T08:36:43Z - 1017 Bytes
2024-12-13T08:58:16Z - 434 Bytes
2024-12-13T08:58:23Z - 377 Bytes
2024-12-13T08:36:45Z - 363 Bytes
2024-12-13T08:36:46Z - 793 Bytes
2024-12-13T08:58:05Z - 813 Bytes
2024-12-13T08:36:46Z - 94.3 MB
2024-12-13T09:02:08Z - 102 KB
2024-12-13T09:02:09Z - 95.8 MB
2024-12-13T08:36:13Z 2024-12-13T08:20:54Z 2024-12-13T08:20:54Z - Loading
v1.11.0
Compare
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#1724
- feat(cli): custom ws headers support by@ysfscream in#1729
- refactor(cli): using built-in fetch instead of axios by@ysfscream in#1730
- feat(cli): add avro support by@LAST7 in#1735
- chore(cli&web): add .nvmrc file to specify node.js version by@Red-Asuka in#1738
- chore(cli): optimize configuration loading logic by@Red-Asuka in#1739
- fix(desktop): improve MQTT wildcard topic matching for '#' by@ysfscream in#1741
- fix(desktop): correct handling of '#' wildcard in topic filtering by@Red-Asuka in#1742
- feat(desktop): support enable ignore qos 0 messages by@ysfscream in#1743
- refactor(deskop): session expriy default to 7200 by@ysfscream in#1744
- fix(cli): mqtt version 5 -> 5.0 by@ysfscream in#1745
- feat(cli): test support by@ysfscream in#1747
- feat(desktop): test support by@ysfscream in#1748
- test(desktop): add more utils test cases by@ysfscream in#1749
- test(cli): add more utils test cases by@ysfscream in#1750
- test(cli): convert paylaod test case support by@ysfscream in#1751
- test(cli): add avro util test cases by@LAST7 in#1752
- test(cli): add protobuf test cases by@ysfscream in#1753
- test(cli): add conn pub sub command test cases by@ysfscream in#1754
- fix(cli): remove bench sub topics log by@ysfscream in#1756
- chore(config): add experimental option in tsconfig to fit modern lsp by@LAST7 in#1758
- feat(desktop): add avro support by@LAST7 in#1757
- test(desktop): add avro util test cases by@LAST7 in#1759
- improve(desktop): improve experience with avro by@LAST7 in#1762
- feat(copilot): change to gpt-4o to default model by@ysfscream in#1765
- fix(desktop): improve file extension handling in script by@ysfscream in#1764
- feat(client): allow client id empty by@ysfscream in#1766
- feat(desktop): Msg pack support by@lantica in#1760
- fix(desktop): fix typo by@ysfscream in#1768
- feat(cli): message pack format support by@ysfscream in#1769
- Topics Tree by@ysfscream in#1771
- feat(desktop): support expand and collapse all tree nodes by@ysfscream in#1775
- fix(desktop): add id for tree node by@ysfscream in#1776
- feat(desktop): sync tree data to message table by@ysfscream in#1777
- Persist Topic Tree Data by@ysfscream in#1778
- feat(desktop): visualize topic tree support by@ysfscream in#1779
New Contributors
Full Changelog:v1.10.1...v1.11.0
Assets43
v1.10.1
Compare
Release Note 🎉
⏬ You can now install MQTTX CLI with one click through the Desktop.
Features 🌈
- Desktop:
- One-click install for MQTTX CLI
- Built-in Moonshot LLM API support on Copilot (for Chinese users 🇨🇳)
- Support for custom Copilot API
- Zhipu
- Deepseek
- …
- CLI:
- Specify the default protocol in config files
- Web:
New address →https://mqttx.app/web-client
Why we need to migrate again:https://www.emqx.com/en/blog/mqttx-web-migration-announcement
Add data collection policy
Improvements 💫
- Desktop:
- Improved Desktop Backup Import
- Show load data errors
- Support rebuilding database when loading connection error
- CLI:
- Highlight subscription info on sub-output
Fixes 🛠
- Desktop:
- Fix issue with resubscribing
- CLI:
- Correct data conversion for publishing messages with format
- Web:
- Disable the WS protocol in the online version
- Update migration announcement link
- Update GTM configuration
- Update online usage link
Preview 🖼️

What's Changed
- fix(cli): correct data conversion for publishing messages with format by@ysfscream in#1695
- fix(subscription): fix issue with resubscribing by@XL-YiBai in#1691
- chore(web): disable the ws protocol in the online version by@Red-Asuka in#1697
- fix(cli): highlight sub info on sub output by@ysfscream in#1700
- feat(web): add data collection policy by@Red-Asuka in#1702
- docs(web): update migration announcement link by@Red-Asuka in#1703
- chore(web): update gtm configuration by@Red-Asuka in#1704
- Improve the Desktop Backup Import by@ysfscream in#1701
- chore(ci): fix web client deploy job by@Swilder-M in#1705
- feat(copilot): support custom copilot api by@ni00 in#1660
- feat(desktop): moonshot llm api support on copilot by@ysfscream in#1707
- fix(desktop): support show load data errors by@ysfscream in#1709
- docs(web): update online usage link by@Red-Asuka in#1710
- fix(desktop): support rebuild database when load connection error by@ysfscream in#1711
- feat(desktop): support install mqttx cli one click by@ysfscream in#1712
- feat(cli): allow specifying the default protocol in config files by@rpendleton in#1713
- chore(ci): remove cr by@ysfscream in#1717
- fix(cli): code format by@ysfscream in#1719
- feat(desktop): skip cli version check on windows by@ysfscream in#1718
- 1.10.1 by@ysfscream in#1720
New Contributors
- @rpendleton made their first contribution in#1713
Full Changelog:v1.10.0...v1.10.1
Assets43
v1.10.0
Compare
Release Note 🎉
🚀 This release introduces multiple enhancements, new features, and critical fixes across Desktop, CLI, and Web platforms.
Features 🌈
- Desktop:
- Added a database reset page to fix blank screens caused by corrupted files.
- Added auto resubscription tips on the subscription dialog.
- Handle large data in messages.
- GPT-4o support for Copilot.
- CLI:
- Support for reading and writing messages from/to files.
- Added delimiter option for sub-file write.
- Bench pub supports split file content.
- Support for text output.
- Added support for init and load config file.
- Config support for max reconnect times.
- Improved check update with Ora.
- Web:
- Online address migration to →http://mqtt-client.emqx.com/
- Added support for BASE_URL configuration via env file.
- Supported clearing historical data.
- Data export and import features.
Improvements 💫
- Desktop:
- CLI:
- Improved logging format.
- Upgraded node version to 18.
- Refactored configs to options.
- Grayed out output meta info.
- Improved bench sub logs.
- Web:
- Added a Docker local deployment guide.
- Modified web deploy configuration.
- Desktop, CLI, Web:
Fixes 🛠
- Desktop:
- Fixed the bug of topic filtering.
- Fixed some TypeScript errors.
- Shared one message event.
- Removed useless i18n.
- CLI:
- Fixed options handler for file write.
- Fixed split option bugs and set a default value.
- Fixed display issue with a split default value.
- Fixed bench sub duplicate logs.
- Fixed wrong prompt type on error.
- Fixed sub-error logic with multiple topics.
Breaking Changes⚠️
- CLI: command changes:
config
->options
Old Command | New Command |
---|---|
mqttx conn -h broker.emqx.io -p 1883 --save | mqttx conn -h broker.emqx.io -p 1883 --save-options |
mqttx conn --config /Users/mqttx-cli-config.json | mqttx conn --load-options /Users/mqttx-cli-options.json |
Preview 🖼️
What's Changed
- refactor(script): update the simulate script by@ysfscream in#1585
- feat(web): add env file to support configuration of BASE_URL by@DM1-1 in#1619
- docs(web-readme): add docker local deployment guide by@DM1-1 in#1621
- chore(deps): bump protobufjs from 7.2.4 to 7.2.5 by@dependabot in#1626
- chore(deps): bump protobufjs from 7.2.3 to 7.2.5 in /cli by@dependabot in#1625
- chore(deps): bump tar from 6.1.0 to 6.2.1 by@dependabot in#1624
- feat(desktop): add database reset page to fix blank screen from corrupted file by@DM1-1 in#1627
- feat(cli): support for reading and writing messages from/to files by@DM1-1 in#1629
- feat(cil): support for reading messages from files in bench by@DM1-1 in#1634
- fix(cli): fix options handler of file write by@DM1-1 in#1639
- fix(desktop): fix the bug of topic filtering by@XL-YiBai in#1638
- fix(services): add some ts ignores by@ysfscream in#1641
- feat(cli): bench pub support split file content by@ysfscream in#1642
- fix(cli): fix split option bugs & set default value for split option by@Red-Asuka in#1643
- fix(cli): fix can not display split default value by@ysfscream in#1644
- feat(cli): add delimiter option for sub file write by@ysfscream in#1645
- chore(desktop): replace nlark.com to npmjs.org by@ysfscream in#1648
- feat(web): support clearing historical data by@Red-Asuka in#1647
- feat(web): support data export by@Red-Asuka in#1649
- feat(web): support data import by@Red-Asuka in#1650
- feat(copilot): gpt-4o support by@ysfscream in#1653
- refactor(cli): improve logging format by@ysfscream in#1652
- chore(ci): modify web deploy by@Swilder-M in#1654
- chore(cli): upgrade the node version to 18 by@ysfscream in#1655
- feat(cli): support init and load config file by@ysfscream in#1656
- feat(cli): support init and load config file by@ysfscream in#1657
- feat(cli): apply the config file by@ysfscream in#1662
- feat(cli): support text output by@ysfscream in#1664
- feat(cli): improve check update with ora by@ysfscream in#1665
- refactor(cli): configs -> options by@ysfscream in#1666
- refactor(cli): gray the output meta info by@ysfscream in#1668
- fix(cli): fix bench sub duplicate logs by@ysfscream in#1669
- fix(cli): update wrong prompt type when error by@ysfscream in#1670
- feat(cli): config support max reconnect times by@ysfscream in#1671
- fix(cli): fix sub error logic with multi topics by@ysfscream in#1672
- 1.10.0 by@ysfscream in#1673
- refactor(cli): improve bench sub logs by@ysfscream in#1675
- fix(desktop): version update dialog adapt to dark mode by@ysfscream in#1676
- docs(cli): Increase recommended node version to 18.. in cli README by@yigitpirildak in#1679
- fix(desktop): fix some ts errors by@ysfscream in#1681
- feat(desktop): add auto resub tips on sub dialog by@ysfscream in#1682
- fix(links): emqx.io -> emqx.com by@ysfscream in#1683
- fix(desktop): share one message event by@ysfscream in#1684
- feat(desktop): handle the large data on the messages by@ysfscream in#1685
- fix(desktop): remove useless i18n by@ysfscream in#1686
- chore(cli_ci): upgrade the node version to 18 by@ysfscream in#1688
New Contributors
- @yigitpirildak made their first contribution in#1679
Full Changelog:v1.9.10...v1.10.0
Assets43
v1.9.10
Compare
Release Note 🎉
🚨 Important Upgrade Notice: Faker v8 Upgrade with Breaking Changes
Before upgrading to 1.9.10, note that it has to break changes with faker.js. Scripts usingsimulate
may need modifications. For adaptation details, refer to theFaker.js Upgrade Guide.
Features 🌈
- CLI: Added a message limit option to the
simulate
command. - Desktop,Web:
- Remember the selected encode/decode type.
- Added a save button for new or edit connections.
- Desktop,CLI,Web
- Display the reason and code for disconnection and subscription failure.
Improvements 💫
- CLI: Display enhancements for the
sub
command, including from topic and QoS.
Fixes 🛠
- CLI: Fixed format of help information description.
- Desktop,Web: Fixed validation when subscribing to multiple topics.
Preview 🖼️

What's Changed
- docs(readme): update link by@Red-Asuka in#1583
- docs(readme): update preview image by@ysfscream in#1584
- chore(deps): upgrade to faker v8 by@Rotzbua in#1431
- chore(deps): bump ip from 1.1.8 to 1.1.9 in /web by@dependabot in#1590
- chore(deps): bump ip from 1.1.5 to 1.1.9 by@dependabot in#1586
- refactor(cli): display from topic & qos in sub by@ysfscream in#1592
- fix(Cli): format help info desc by@ysfscream in#1594
- feat(cli): add message limit option to simulate command by@Red-Asuka in#1600
- docs(readme): update readme by@Red-Asuka in#1603
- feat(desktop): remember the selected encode/decode type by@XL-YiBai in#1602
- chore(deps): bump follow-redirects from 1.15.4 to 1.15.6 by@dependabot in#1606
- chore(deps): bump follow-redirects from 1.15.4 to 1.15.6 in /cli by@dependabot in#1605
- chore(deps): bump follow-redirects from 1.15.4 to 1.15.6 in /web by@dependabot in#1604
- 1.9.10 by@ysfscream in#1608
- feat(desktop): add save button for new & edit connection by@XL-YiBai in#1610
- feat(assets): add save icon by@XL-YiBai in#1612
- chore(deps): bump express from 4.18.1 to 4.19.2 in /web by@dependabot in#1613
- feat(desktop): fix the validation of subscribing to multiple topics by@DM1-1 in#1611
- feat(desktop): display the reason and code for the disconnection by@XL-YiBai in#1616
- chore(deps): bump express from 4.18.2 to 4.19.2 by@dependabot in#1615
New Contributors
Full Changelog:v1.9.9...v1.9.10
Assets43
v1.9.9
Compare
Release Note 🎉
🚀 Extended Formats, 🛠 Debug Logging, and 🔧 UI Flexibility
Features 🌈
- Connection Events (Desktop/Web/CLI): Adds support for disconnect and offline events, improving the robustness of connection handling.
- CBOR Support (Desktop/CLI): Introduces CBOR as a new option for data type decoding, enhancing the flexibility in handling different message formats.
- Log Level (Desktop): Added a log level field with debug support, allowing customized log verbosity.
- Connection List Visibility (Desktop): Enhances the desktop interface by allowing users to hide or show the connection list, providing a more streamlined experience.
- CLI Enhancements: Added a message limit option to the bench pub command for improved publishing control.
Improvements 💫
- MQTTX Copilot Enhancements: The MQTTX Copilot now supports a wider array of client code generation categories for both software and hardware projects, including:
- UI Frameworks: Vue.js and React.
- Hardware Platforms: ESP32, ESP8266, Arduino, Raspberry Pi.
- Mobile Applications: Android, iOS, React Native, Flutter.
- UI/UX Enhancements (Desktop/Web): Refinements in log message clarity, icon updates, and extracted hard-coded style values into enums contribute to a more cohesive and user-friendly interface.
- Documentation and Readme Updates: Simplification and updates to the CLI readme and badges, making it easier for users to get started and understand the tool's capabilities.
- Dependency Updates: Bumps
follow-redirects
library across different project parts, ensuring improved stability and performance. - Codebase Refinements: Numerous refactorings across desktop and web versions, including payload type table migration.
Fixes 🛠
- Connection Issues (Desktop): Fixes a bug where the reconnect feature would only work on the current page and addresses an issue with hiding the connection list in new windows.
Preview 🖼️

What's Changed ♻️
- docs(cli): update cli readme by@ysfscream in#1543
- docs(readme): update badges by@ysfscream in#1546
- feat(desktop): connection support disconnect and offline event by@ysfscream in#1549
- feat(web): add disconnect event by@ysfscream in#1550
- feat(cli): add disconnect event by@ysfscream in#1551
- chore(deps): bump follow-redirects from 1.14.8 to 1.15.4 by@dependabot in#1553
- chore(deps): bump follow-redirects from 1.15.1 to 1.15.4 in /web by@dependabot in#1554
- refactor(desktop): improve log message clarity and consistency by@ysfscream in#1555
- chore(deps): bump follow-redirects from 1.15.2 to 1.15.4 in /cli by@dependabot in#1556
- feat(settings): add log level field by@ysfscream in#1557
- docs(readme): simplify cli readme by@ysfscream in#1559
- fix(connection): the reconnect can only works on current page by@ysfscream in#1560
- feat(decoder): added CBOR as new option data type to decode the paylo… by@Danfx in#1547
- refactor(msg): payload type table migration and update by@ysfscream in#1562
- feat(msg): cbor support on publisher by@ysfscream in#1563
- style(convertPayload.ts): adding formatting text on publish field whe… by@Danfx in#1564
- feat(cli): cbor format support by@ysfscream in#1565
- feat(desktop): connection list hide support by@ysfscream in#1567
- refactor(desktop): extracted hard-coded style values into enums by@ysfscream in#1569
- fix(desltop): fix editor layout issue when conn-list visible change by@ysfscream in#1570
- feat(cli): add message limit option to bench pub command by@Red-Asuka in#1571
- refactor(desktop): all icons updated by@ysfscream in#1574
- refactor(web): sync the new icons by@ysfscream in#1576
- fix(desktop): fix can not hide the conn-list in new window by@ysfscream in#1577
- refactor(copilot): add more category code generators by@ysfscream in#1578
- 1.9.9 by@ysfscream in#1581
New Contributors ✨
Full Changelog:v1.9.8...v1.9.9
Assets43
v1.9.8
Compare
Release Note 🎉
🤖 Major MQTTX Copilot (beta.2) Enhancements and 🔧 CLI Improvements
MQTTX 1.9.8 introduces significant updates, primarily enriching MQTTX Copilot features and optimizing the CLI experience.
Features 🌈
- Debug Mode (CLI): Introduces support for debug mode with
mqtt.js
, providing advanced debugging capabilities. - Copilot Enhancements (Desktop):
- Stream response support to improve response speed and user experience.
- One-click EMQX log analysis.
- One-click copy to generate MQTT client code.
- One-click insert generated MQTT test data into the payload editor.
- Generates more diverse MQTT test data automatically.
- Add more MQTT FAQs preset prompts to assist users.
- Utilizes connection info in error prompts for more efficient troubleshooting.
- Interpreter can automatically generate test documentation for the current MQTT connection.
- Connection Management Optimization: Replaces
chart.js
withechart
for enhanced traffic statistics display.
Fixes 🛠
Connection Management (Desktop): This addresses the issue of sending empty authentication information (temporary solution).
Known issue: In the MQTT-v5 protocol, the
mqtt-packet
library incorrectly requires a username to be provided when a password is set. However, MQTT-v5 allows sending a password without a username. Thanks to@JimMoen for the fix:mqttjs/mqtt-packet#148Copilot Functionality (Desktop): Corrects the temperature value in the OpenAI API for more precise Copilot responses.
Improvements 💫
- User Settings (Desktop): Adds an
enable Copilot switch
in the settings for greater user control over the Copilot feature.
Preview 🖼️


What's Changed 🔄
- fix(connections): fix can send empty auth info by@ysfscream in#1522
- feat(copilot): add preset prompt select component by@ysfscream in#1523
- feat(copilot): stream response support by@ysfscream in#1524
- feat(copilot): add more mqtt faqs preset prompts by@ysfscream in#1525
- refactor(connection): replace chart.js to echart by@ysfscream in#1527
- feat(copilot): take connection info when ask error prompt by@ysfscream in#1529
- fix(copilot): update the retain msg prompt by@ysfscream in#1531
- fix(copilot): update temp value in openai api by@ysfscream in#1533
- feat(copilot): add copy and insert button in code block by@ysfscream in#1535
- feat(copilot): add more internal prompts by@ysfscream in#1537
- feat(settings): add enable copilot switch by@ysfscream in#1538
- feat(cli): add support debug mode with mqttjs by@ysfscream in#1539
- fix(cli): omit debug type in bench types by@ysfscream in#1540
Full Changelog:v1.9.7...v1.9.8
v1.9.7
Compare
Release Note 🎉
🤖MQTTX AI Copilot (Beta.1) and the 👉Release Blog
Features 🌈
MQTTX Copilot (Powered by GPT, only Desktop, and thebeta
version)
- MQTTX Copilot Added: Introduced MQTTX Copilot for enhanced user experience with AI.
- Error Message Analysis: Implemented functionality to analyze error messages via MQTTX Copilot.
- Preset Prompt Actions: Included preset prompt actions in MQTTX Copilot for better interaction.
- More Languages Highlighting: MQTTX Copilot now supports code highlighting for additional programming languages.
- API Key and Model in Database: The database structure, including API keys and model fields, was updated.
Fixes 🛠
- Secure HTTPS Links(CI): Ensured all download links are secure HTTPS.
- Unit Addition(Dev): Added necessary units in theme configuration to avoid deprecation warnings.
- Branch Name to Main(Docs): Updated branch names to “main” in all documentation.
- HTTPS Document Links(CI): Changed all documentation links to HTTPS for security.
- Unused Placeholders Removed(Desktop): Cleaned unused placeholders in code.
- Topic-Alias Web Fix(Web): Fixed topic-alias maximum error in web connections.
- Topic-Alias CLI Fix(CLI): Addressed the same topic-alias error in CLI connections.
- Translation Updates(Desktop, Web): Improved translations for specific languages.
- Typo Corrections(Desktop): Corrected typing errors in documentation or code.
- JSON Precision(Desktop, CLI, Web): Enhanced data precision in JSON messages.
- Invalid JSON Error(Desktop, CLI, Web): Enhanced error handling for invalid JSON formats.
- Reconnection Issue Fixed(Desktop): Solved issues with reconnection after disconnection.
- SSL Option Clarified(Desktop): Updated the SSL switch option content for better user understanding.
Improvements 💫
- Engine Support: Added support for specific engines in the software.
- Node Version for Build: Software builds now use a specific Node.js version.
- Removed Unused Axios: Cleaned the codebase by removing the no longer used axios library.
- Web get-func-name Upgrade: Upgraded the get-func-name library in web components to a newer version.
- get-func-name Upgrade: Upgraded the get-func-name library in the main project.
- Web @babel/traverse Upgrade: Elevated the @babel/traverse library version in web components.
- @babel/traverse Upgrade: Updated the @babel/traverse library version in the project.
- Web browserify-sign Upgrade: Upgraded the browserify-sign library in web components to a new version.
- browserify-sign Upgrade: Upgraded the browserify-sign library for the entire project.
- Web README Update: Updated and improved the README documentation for web components.
Preview 🖼️

What's Changed ♻️
- fix(CI): change download to secure https:// by@Rotzbua in#1426
- fix(theme): add unit to avoid deprecation warning by@Rotzbua in#1424
- fix(docs): branch name changed to
main
by@Rotzbua in#1430 - feat(deps): add engines by@Rotzbua in#1425
- fix(docs): change links to https by@Rotzbua in#1436
- chore(deps): remove unused
axios
by@Rotzbua in#1432 - chore(deps): bump get-func-name from 2.0.0 to 2.0.2 in /web by@dependabot in#1442
- chore(deps): bump get-func-name from 2.0.0 to 2.0.2 by@dependabot in#1441
- fix(publish): remove unuse placeholder by@ysfscream in#1443
- fix(web):fix topic-alias-maximum error in connect by@ni00 in#1445
- fix(cli):fix topic-alias-maximum error in cli connect by@ni00 in#1444
- fix(clients): update translation for nl rap and rh by@ysfscream in#1451
- chore(deps): bump @babel/traverse from 7.18.11 to 7.23.2 in /web by@dependabot in#1453
- chore(deps): bump @babel/traverse from 7.14.5 to 7.23.2 by@dependabot in#1450
- chore(deps): bump browserify-sign from 4.2.1 to 4.2.2 in /web by@dependabot in#1463
- chore(deps): bump browserify-sign from 4.2.1 to 4.2.2 by@dependabot in#1462
- docs(web): update readme by@ysfscream in#1493
- fix(update): fix typo by@ysfscream in#1501
- feat(deps): use specified node version for build by@Rotzbua in#1435
- fix:resolve data precision loss in JSON messages by@ni00 in#1507
- feat(copilot): add mqttx copilot by@ysfscream in#1508
- feat(settings): add api key and model fields to database by@ysfscream in#1509
- feat(copilot): support onclick to ask and analyze error msg by@ysfscream in#1510
- feat(copilot): add copilot database table by@ysfscream in#1512
- feat(copilot): add preset prompt actions by@ysfscream in#1513
- refactor(database): add copilot table migrate script by@ysfscream in#1514
- fix:throw an error for invaild json string by@ni00 in#1515
- fix(connections): fix the reconnect issue by@ysfscream in#1516
- feat(copilot): support highlight more code lang by@ysfscream in#1517
New Contributors ✨
Special thanks! 🙏
Full Changelog:v1.9.6...v1.9.7