emqx/MQTTX
A Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.
✨ Features 🌈
- Desktop,Web:
- Add quick copy options for topic, broker, and host information.
- Add topic whitespace detection setting to warn about leading/trailing spaces.
- Desktop:
- Add payload inspector with diff view to compare payload changes between messages.
- Add JSON tree view for structured payload visualization and navigation.
- Add configurable max payload display size setting.
- Web:
- + 3 more
📦 Improvements 💫
- Desktop,Web:
- Refresh UI with modernized styling, smoother animations, and better visual consistency.
- Simplify connection list selected state styling.
- Redesign "Everything about MQTT" help page with modern layout.
- Redesign About page with modern layout and EMQX Platform promotion.
- Desktop:
- Upgrade Electron from 33.4.11 to 39.2.7 for better performance and security.
- Add portable version for Windows (no installation required).
- + 1 more
🐛 Fixes 🛠
- Desktop:
- Fix macOS 26 Tahoe performance issue by upgrading Electron.
- Fix inconsistent state when editing disabled topic (#2007).
- Fix Enter key inserting newline in topic input causing subscription errors (#2001).
- Fix Meta button red dot position issue after configuring properties.
- Fix topic whitespace detection issue.
- Web:
- Fix topic input forced line break in publish area.
- + 3 more
📦 Preview 🖼
- <img width="1499" height="982" alt="image" src="https://github.com/user-attachments/assets/7c1c7fe7-8e6a-40e5-906e-74f96b94ffca" />
- ---
📋 What's Changed
- fix(inspector): address UI/UX issues by @muzaffarmhd in #1979
- feat(viewer): add advanced dashboard view with widget configuration by @muzaffarmhd in #1987
- fix(dashboard): fix bug - add missing prop by @muzaffarmhd in #1996
- ci(win): add portable version for windows by @zfb132 in #2002
- feat: add syntax highlighting for JSON payload in web version by @nktnet1 in #2004
- feat: upgrade protobufjs to support Protobuf Editions 2023 by @ysfscream in #2010
- style: normalize quotes and formatting in web theme files by @ysfscream in #2011
- chore: improve cross-platform compatibility and fix script dependencies by @ni00 in #2014
- + 14 more
✨ New Contributors
- @zfb132 made their first contribution in #2002
- @nktnet1 made their first contribution in #2004
- Full Changelog: v1.12.1...v1.13.0
✨ Features 🌈
- Desktop,CLI,Web:
- Implement SCRAM enhanced authentication for MQTT 5.0 with SHA-256 and SHA-512 support.
- Desktop:
- Update AI models to the latest 2025 versions:
- OpenAI: GPT-5, GPT-5-mini, GPT-5-nano
- Anthropic: Claude Opus 4.1, Claude Sonnet 4.5
- xAI: Grok 4 series (stable versions)
- Google: Latest Gemini models
📦 Improvements 💫
- Desktop:
- Optimize export functionality to use streaming for better memory efficiency.
- Improve long host name display with ellipsis and tooltip in TopicTree.
- Improve the payload history navigation buttons layout for better usability.
🐛 Fixes 🛠
- Desktop:
- Prevent crash when restoring the window on a disconnected display.
- Unify app data path handling to fix Windows %APPDATA% redirect issue.
- Fix User Property display bug in Topics Tree.
- Update Linux app icon to 512x512 resolution for better quality.
- Correct highlight logic to handle payload when no search params.
📋 What's Changed
- fix(MsgItem): correct highlight logic to handle payload when no search params by @muzaffarmhd in https://github.com/emqx/MQTTX/pull/1964
- fix(TopicTree): improve long host name display with ellipsis and tooltip by @ysfscream in https://github.com/emqx/MQTTX/pull/1972
- fix(ui): improve payload history navigation buttons layout by @ysfscream in https://github.com/emqx/MQTTX/pull/1973
- fix(build): update Linux app icon to 512x512 resolution by @ysfscream in https://github.com/emqx/MQTTX/pull/1974
- fix(desktop): unify app data path handling to fix Windows %APPDATA% redirect issue by @ysfscream in https://github.com/emqx/MQTTX/pull/1976
- 1.12.1-beta.1 by @ysfscream in https://github.com/emqx/MQTTX/pull/1978
- fix(KeyValueEditor.vue): fix a User Property display bug in Topics Tree by @ShadowPaint-SP in https://github.com/emqx/MQTTX/pull/1980
- fix: adjust history navigation button layout to prevent right arrow f… by @ysfscream in https://github.com/emqx/MQTTX/pull/1981
- + 6 more
✨ New Contributors
- @ShadowPaint-SP made their first contribution in https://github.com/emqx/MQTTX/pull/1980
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.12.0...v1.12.1
📋 What's Changed
- fix(MsgItem): correct highlight logic to handle payload when no search params by @muzaffarmhd in https://github.com/emqx/MQTTX/pull/1964
- fix(TopicTree): improve long host name display with ellipsis and tooltip by @ysfscream in https://github.com/emqx/MQTTX/pull/1972
- fix(ui): improve payload history navigation buttons layout by @ysfscream in https://github.com/emqx/MQTTX/pull/1973
- fix(build): update Linux app icon to 512x512 resolution by @ysfscream in https://github.com/emqx/MQTTX/pull/1974
- fix(desktop): unify app data path handling to fix Windows %APPDATA% redirect issue by @ysfscream in https://github.com/emqx/MQTTX/pull/1976
- 1.12.1-beta.1 by @ysfscream in https://github.com/emqx/MQTTX/pull/1978
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.12.0...v1.12.1-beta.1
✨ Features 🌈
- Desktop:
- Auto‑save & restore window position/size for a seamless comeback.
- Active topic & payload search highlighting for quicker navigation.
- Copilot 2.0
- Plug‑and‑play with Gemini 2.5 (Pro “thinking” mode), Claude‑4, GPT‑4.1, o3, o4‑mini & Azure OpenAI.
- One‑click custom function & schema (Protobuf / Avro) generation.
- Session management, enhanced reasoning, and MCP call detection with streaming results.
- Native MCP integration – stdio, HTTP SSE server support, call detection, result processing & streaming responses.
- + 2 more
📦 Improvements 💫
- Desktop:
- Electron bumped to v33, Node runtime to 18 for performance & security.
- DevTools toggle is enabled in development builds.
- Copilot 2.0
- Copilot codebase refactored for stronger type‑safety, cleaner component structure, and faster load times.
- CLI:
- Line‑mode publishing and bench/simulate client ID refinements.
- Web:
- + 1 more
🐛 Fixes 🛠
- Desktop:
- Resolved SQLite disconnect warnings on wake‑from‑sleep.
- Prevented accidental drag on connection list rows.
- Restored paste inside Monaco editor.
- Refined native scrollbar styling on Windows.
- Applied active search filters to live message stream.
- Ensured search filters persist on incoming messages.
- Copilot 2.0
- + 2 more
📋 What's Changed
- chore(pkg): update node engine versiont to 16 by @ysfscream in https://github.com/emqx/MQTTX/pull/1853
- feat(desktop): save and restore window state by @ni00 in https://github.com/emqx/MQTTX/pull/1852
- chore(web): update Node.js version to 18 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1875
- chore(desktop): upgrade Node.js version to 18 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1876
- refactor(copilot): integrate AI SDK for improved model handling by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1877
- fix(copilot): fix loading state by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1879
- feat(copilot): support generating custom functions by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1880
- style(copilot): update copilot button icon and enhance styling by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1881
- + 45 more
✨ New Contributors
- Thanks so much for @muzaffarmhd made their first contribution in https://github.com/emqx/MQTTX/pull/1939
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.11.1...v1.12.0
📋 What's Changed
- test(copilot): expand unit tests for AI model providers by @ysfscream in https://github.com/emqx/MQTTX/pull/1928
- feat(copilot): o3 and o4-mini support by @ysfscream in https://github.com/emqx/MQTTX/pull/1930
- refactor(background): enable devTools in BrowserWindow configuration by @ysfscream in https://github.com/emqx/MQTTX/pull/1935
- ci: translate issue in Chinese into English by @Rory-Z in https://github.com/emqx/MQTTX/pull/1938
- feat(cli): add payload size option for random message generation by @ysfscream in https://github.com/emqx/MQTTX/pull/1940
- fix(connections): apply active search filters on incoming messages by @muzaffarmhd in https://github.com/emqx/MQTTX/pull/1939
- fix(log): add no-drag region to select input on log page by @ysfscream in https://github.com/emqx/MQTTX/pull/1942
- fix(log): add no-drag region to select input on log page by @ysfscream in https://github.com/emqx/MQTTX/pull/1943
- + 2 more
✨ New Contributors
- @muzaffarmhd made their first contribution in https://github.com/emqx/MQTTX/pull/1939
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.12.0-beta.3...v1.12.0-beta.4
✨ Features 🌈
- Copilot: Added support for Google Gemini models. ([#1923](https://github.com/emqx/MQTTX/pull/1923))
- Copilot: Introduced support for Azure OpenAI. ([#1926](https://github.com/emqx/MQTTX/pull/1926))
- Note on Azure OpenAI Integration: Integrating Azure OpenAI required some specific configurations due to its unique API structure compared to standard OpenAI.
- The `host` field accepts a full URL or the Azure Resource Name.
- The API Version must be specified by appending `?api-version=<your-api-version>` (e.g., `?api-version=2025-01-01-preview`) directly to the host URL/Resource Name in the settings. This parameter is not exposed as a separate configuration field to minimize changes to the current UI and database structure, which lacks a dedicated 'Provider' field.
- Azure models often have a `deployment-` prefix. In Azure, a model corresponds to a deployment. This naming convention helps avoid conflicts with standard OpenAI model names within our current system.
- These implementation details deviate from standard practices but allow Azure OpenAI support within the existing framework. Please take a look at the documentation for detailed setup instructions.
📦 Improvements 💫
- Copilot: Updated the underlying AI SDK to support newer models like GPT-4.1 via the OpenAI integration. ([#1925](https://github.com/emqx/MQTTX/pull/1925))
- Copilot: Replaced the preset prompt hover text for better clarity when reverting changes. ([#1924](https://github.com/emqx/MQTTX/pull/1924))
- CI: Optimized the release process by skipping Docker/artifact uploads for pre-releases. ([#1919](https://github.com/emqx/MQTTX/pull/1919))
🐛 Fixes 🛠
- Desktop: Prevented accidental dragging of items in the connection list. ([#1916](https://github.com/emqx/MQTTX/pull/1916))
- Desktop: Resolved an issue where pasting content into the Monaco editor (used for message payloads) was not working correctly. ([#1917](https://github.com/emqx/MQTTX/pull/1917))
- <img width="505" alt="image" src="https://github.com/user-attachments/assets/2ecc2b8d-db1c-43eb-a267-f812c295dcee" />
📋 What's Changed
- fix(desktop): prevent drag on connection list by @ysfscream in https://github.com/emqx/MQTTX/pull/1916
- fix(desktop): fix can not past content on monaco editor by @ysfscream in https://github.com/emqx/MQTTX/pull/1917
- fix(ci): skip Docker/artifact uploads for pre-releases by @ysfscream in https://github.com/emqx/MQTTX/pull/1919
- chore: bump version to 1.12.0-beta.3 by @ysfscream in https://github.com/emqx/MQTTX/pull/1921
- feat(copilot): google gemini support by @ysfscream in https://github.com/emqx/MQTTX/pull/1923
- refactor(copilot): repalce show preset prompt hover with Reverting to… by @ysfscream in https://github.com/emqx/MQTTX/pull/1924
- chore(deps): update @ai-sdk/openai to support gpt-4.1 by @ysfscream in https://github.com/emqx/MQTTX/pull/1925
- feat(copilot): add Azure OpenAI support by @ysfscream in https://github.com/emqx/MQTTX/pull/1926
- + 1 more
✨ 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
- + 6 more
📦 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 https://github.com/emqx/MQTTX/pull/1853
- feat(desktop): save and restore window state by @ni00 in https://github.com/emqx/MQTTX/pull/1852
- chore(web): update Node.js version to 18 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1875
- chore(desktop): upgrade Node.js version to 18 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1876
- refactor(copilot): integrate AI SDK for improved model handling by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1877
- fix(copilot): fix loading state by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1879
- feat(copilot): support generating custom functions by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1880
- style(copilot): update copilot button icon and enhance styling by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1881
- + 24 more
📋 What's Changed
- chore(pkg): update node engine version to 16 by @ysfscream in https://github.com/emqx/MQTTX/pull/1853
- feat(desktop): save and restore window state by @ni00 in https://github.com/emqx/MQTTX/pull/1852
- chore(web): update Node.js version to 18 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1875
- chore(desktop): upgrade Node.js version to 18 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1876
- refactor(copilot): integrate AI SDK for improved model handling by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1877
- fix(copilot): fix loading state by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1879
- feat(copilot): support generating custom functions by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1880
- style(copilot): update copilot button icon and enhance styling by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1881
- + 21 more
✨ 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
- + 1 more
📦 Preview 🖼️
- 
📋 What's Changed ♻️
- fix(desktop): fix tooltip overflow in tree visual component by @ysfscream in https://github.com/emqx/MQTTX/pull/1782
- fix(desktop): fix can not init unread message count issue by @ysfscream in https://github.com/emqx/MQTTX/pull/1783
- fix(desktop): delay open the topic tooltip by @ysfscream in https://github.com/emqx/MQTTX/pull/1784
- fix(desktop): optimize scrollbar corner style in topic tree by @ysfscream in https://github.com/emqx/MQTTX/pull/1785
- refactor(desktop): mv traffic monitor to viewer by @ysfscream in https://github.com/emqx/MQTTX/pull/1787
- feat(desktop): sync traffic packets to message table by @ysfscream in https://github.com/emqx/MQTTX/pull/1791
- feat(desktop): traffic rate monitor support by @ysfscream in https://github.com/emqx/MQTTX/pull/1795
- feat(desktop): traffic rate monitor support by @ysfscream in https://github.com/emqx/MQTTX/pull/1796
- + 16 more
✨ New Contributors
- @pineapplehunter made their first contribution in https://github.com/emqx/MQTTX/pull/1801
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.11.0...v1.11.1
✨ 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
- + 1 more
📦 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
- + 2 more
🐛 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`.
- <img width="1137" alt="image" src="https://github.com/user-attachments/assets/4a81ba9b-442a-4ce4-b79f-e98478292bfb">
- <img width="1137" alt="image" src="https://github.com/user-attachments/assets/6bc84fbb-28bc-40ab-84b6-862da82fc7f2">
📋 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
- + 28 more
✨ 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
✨ 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:
- + 5 more
📦 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
- + 1 more
📦 Preview 🖼️
- <img width="1137" alt="image" src="https://github.com/user-attachments/assets/25c56049-c536-4910-b213-e46cacaded75">
📋 What's Changed
- fix(cli): correct data conversion for publishing messages with format by @ysfscream in https://github.com/emqx/MQTTX/pull/1695
- fix(subscription): fix issue with resubscribing by @XL-YiBai in https://github.com/emqx/MQTTX/pull/1691
- chore(web): disable the ws protocol in the online version by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1697
- fix(cli): highlight sub info on sub output by @ysfscream in https://github.com/emqx/MQTTX/pull/1700
- feat(web): add data collection policy by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1702
- docs(web): update migration announcement link by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1703
- chore(web): update gtm configuration by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1704
- Improve the Desktop Backup Import by @ysfscream in https://github.com/emqx/MQTTX/pull/1701
- + 12 more
✨ New Contributors
- @rpendleton made their first contribution in https://github.com/emqx/MQTTX/pull/1713
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.10.0...v1.10.1
✨ 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.
- + 10 more
📦 Improvements 💫
- Desktop:
- Version update dialog adapted to dark mode.
- Replaced [nlark.com](http://nlark.com/) with [npmjs.org](http://npmjs.org/).
- CLI:
- Improved logging format.
- Upgraded node version to 18.
- Refactored configs to options.
- Grayed out output meta info.
- + 6 more
🐛 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.
- + 4 more
💥 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 https://github.com/emqx/MQTTX/pull/1585
- feat(web): add env file to support configuration of BASE_URL by @DM1-1 in https://github.com/emqx/MQTTX/pull/1619
- docs(web-readme): add docker local deployment guide by @DM1-1 in https://github.com/emqx/MQTTX/pull/1621
- chore(deps): bump protobufjs from 7.2.4 to 7.2.5 by @dependabot in https://github.com/emqx/MQTTX/pull/1626
- chore(deps): bump protobufjs from 7.2.3 to 7.2.5 in /cli by @dependabot in https://github.com/emqx/MQTTX/pull/1625
- chore(deps): bump tar from 6.1.0 to 6.2.1 by @dependabot in https://github.com/emqx/MQTTX/pull/1624
- feat(desktop): add database reset page to fix blank screen from corrupted file by @DM1-1 in https://github.com/emqx/MQTTX/pull/1627
- feat(cli): support for reading and writing messages from/to files by @DM1-1 in https://github.com/emqx/MQTTX/pull/1629
- + 38 more
✨ New Contributors
- @yigitpirildak made their first contribution in https://github.com/emqx/MQTTX/pull/1679
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.10...v1.10.0
✨ 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 🖼️
- <img width="1137" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/2a02627f-d1df-4611-ac67-6f61aa91c33d">
📋 What's Changed
- docs(readme): update link by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1583
- docs(readme): update preview image by @ysfscream in https://github.com/emqx/MQTTX/pull/1584
- chore(deps): upgrade to faker v8 by @Rotzbua in https://github.com/emqx/MQTTX/pull/1431
- chore(deps): bump ip from 1.1.8 to 1.1.9 in /web by @dependabot in https://github.com/emqx/MQTTX/pull/1590
- chore(deps): bump ip from 1.1.5 to 1.1.9 by @dependabot in https://github.com/emqx/MQTTX/pull/1586
- refactor(cli): display from topic & qos in sub by @ysfscream in https://github.com/emqx/MQTTX/pull/1592
- fix(Cli): format help info desc by @ysfscream in https://github.com/emqx/MQTTX/pull/1594
- feat(cli): add message limit option to simulate command by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1600
- + 12 more
✨ New Contributors
- @XL-YiBai made their first contribution in https://github.com/emqx/MQTTX/pull/1602
- @DM1-1 made their first contribution in https://github.com/emqx/MQTTX/pull/1611
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.9...v1.9.10
✨ 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 🖼️
- <img width="1093" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/3291f570-d67e-4889-b2c8-d1727985e416">
📋 What's Changed ♻️
- docs(cli): update cli readme by @ysfscream in https://github.com/emqx/MQTTX/pull/1543
- docs(readme): update badges by @ysfscream in https://github.com/emqx/MQTTX/pull/1546
- feat(desktop): connection support disconnect and offline event by @ysfscream in https://github.com/emqx/MQTTX/pull/1549
- feat(web): add disconnect event by @ysfscream in https://github.com/emqx/MQTTX/pull/1550
- feat(cli): add disconnect event by @ysfscream in https://github.com/emqx/MQTTX/pull/1551
- chore(deps): bump follow-redirects from 1.14.8 to 1.15.4 by @dependabot in https://github.com/emqx/MQTTX/pull/1553
- chore(deps): bump follow-redirects from 1.15.1 to 1.15.4 in /web by @dependabot in https://github.com/emqx/MQTTX/pull/1554
- refactor(desktop): improve log message clarity and consistency by @ysfscream in https://github.com/emqx/MQTTX/pull/1555
- + 18 more
✨ New Contributors ✨
- @Danfx made their first contribution in https://github.com/emqx/MQTTX/pull/1547
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.8...v1.9.9
✨ 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.
- + 3 more
🐛 Fixes 🛠
- Connection Management (Desktop): This addresses the issue of sending empty authentication information (temporary solution).
- Copilot 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 🖼️
- <img width="718" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/0a53c595-4657-4f99-af7e-ca2d3b0d8233">
- <img width="1093" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/d591bd59-cbcc-45d4-a38e-0457bb9c5b6e">
📋 What's Changed 🔄
- fix(connections): fix can send empty auth info by @ysfscream in https://github.com/emqx/MQTTX/pull/1522
- feat(copilot): add preset prompt select component by @ysfscream in https://github.com/emqx/MQTTX/pull/1523
- feat(copilot): stream response support by @ysfscream in https://github.com/emqx/MQTTX/pull/1524
- feat(copilot): add more mqtt faqs preset prompts by @ysfscream in https://github.com/emqx/MQTTX/pull/1525
- refactor(connection): replace chart.js to echart by @ysfscream in https://github.com/emqx/MQTTX/pull/1527
- feat(copilot): take connection info when ask error prompt by @ysfscream in https://github.com/emqx/MQTTX/pull/1529
- fix(copilot): update the retain msg prompt by @ysfscream in https://github.com/emqx/MQTTX/pull/1531
- fix(copilot): update temp value in openai api by @ysfscream in https://github.com/emqx/MQTTX/pull/1533
- + 6 more
✨ Features 🌈
- MQTTX Copilot (Powered by GPT, only Desktop, and the `beta` 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.
- + 5 more
📦 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.
- + 2 more
📦 Preview 🖼️
- <img width="1137" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/cc983d68-95c8-4698-9fe5-6f13f213d2ca">
📋 What's Changed ♻️
- fix(CI): change download to secure https:// by @Rotzbua in https://github.com/emqx/MQTTX/pull/1426
- fix(theme): add unit to avoid deprecation warning by @Rotzbua in https://github.com/emqx/MQTTX/pull/1424
- fix(docs): branch name changed to `main` by @Rotzbua in https://github.com/emqx/MQTTX/pull/1430
- feat(deps): add engines by @Rotzbua in https://github.com/emqx/MQTTX/pull/1425
- fix(docs): change links to https by @Rotzbua in https://github.com/emqx/MQTTX/pull/1436
- chore(deps): remove unused `axios` by @Rotzbua in https://github.com/emqx/MQTTX/pull/1432
- chore(deps): bump get-func-name from 2.0.0 to 2.0.2 in /web by @dependabot in https://github.com/emqx/MQTTX/pull/1442
- chore(deps): bump get-func-name from 2.0.0 to 2.0.2 by @dependabot in https://github.com/emqx/MQTTX/pull/1441
- + 21 more
✨ New Contributors ✨
- @Rotzbua made their first contribution in https://github.com/emqx/MQTTX/pull/1426
📦 Special thanks! 🙏
- @Rotzbua @ni00
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.6...v1.9.7
✨ Features 🌈
- ALPN Protocols Support (Desktop / Web / CLI): This update introduces ALPN protocols support, elevating the connection protocols to a new level of efficiency and security.
- Clear History Data Functionality (Desktop): A new feature that allows users to clear all history data, including all messages, facilitating a cleaner and more organized workspace.
- Optimized Publish Options UI (Desktop / Web): Experience a more intuitive and user-friendly publish options UI, designed to streamline your operations.
- Simplified Clear Retained Message Operation (Desktop): Users can now clear retained messages more efficiently with a one-click operation, found in the actions button in the Publish section, thus making message management smoother.
🐛 Fixes 🛠
- Retained Message Publishing (Desktop): A significant fix has been implemented to enable the publishing of clear retained messages correctly.
- CLI Base64 Format Message Publishing (CLI): This fix addresses the issue of incorrect publishing of base64 format messages through CLI, ensuring accurate message transmissions.
- MQTT 5 Properties Display (Desktop): A fix ensuring the complete and correct display of MQTT 5 properties in the message box, enhancing the UI.
- JSON Messages Type Conversion (Web): The web interface now accurately converts the types of received JSON messages, preventing display errors.
📦 Improvements 💫
- Timed Message Action (Desktop): The action related to timed messages has been relocated to the actions button, facilitating easier access and improved user interaction.
📦 Preview 🖼️
- <img width="400" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/68de802e-59a3-4b1e-baa7-871414f855d3">
📋 What's Changed ♻️
- feat(connection): ALPN protocols support by @twankamp in https://github.com/emqx/MQTTX/pull/1399
- Draft documents for MQTTX Desktop - Get Started by @Meggielqk in https://github.com/emqx/MQTTX/pull/1397
- docs: update markdonw format by @ysfscream in https://github.com/emqx/MQTTX/pull/1402
- SSL ALPN protocol support (CLI & Web) by @ysfscream in https://github.com/emqx/MQTTX/pull/1403
- feat(settings): clear history data include all messages by @ysfscream in https://github.com/emqx/MQTTX/pull/1409
- fix(msg): fix can not publish clear retained message by @ysfscream in https://github.com/emqx/MQTTX/pull/1411
- fix(cli): fix pub the wrong base64 formart message by @ysfscream in https://github.com/emqx/MQTTX/pull/1413
- fix(msg): incomplete display mqtt5 properties in message box by @ysfscream in https://github.com/emqx/MQTTX/pull/1415
- + 3 more
📦 Special thanks! 🙏
- @twankamp made their first contribution in https://github.com/emqx/MQTTX/pull/1399
- @Meggielqk made their first contribution in https://github.com/emqx/MQTTX/pull/1397
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.5...v1.9.6
✨ Features 🌈
- JSON Highlighting Support: Messages now support JSON highlighting for better readability.
- Lazy Update Detection and Component Loading: Enhanced system efficiency by implementing lazy update detection and component loading.
- Improved JSON Syntax Error Messages: Enhanced error messages related to JSON syntax for better troubleshooting.
🐛 Fixes 🛠
- Text Processing Error: Resolved text processing error for better functionality.
- Style Modifications: Several UI and style modifications for an improved user experience, including the ability to fully display user properties in messages.
- Dark Mode Adaptation: Tabs border color now adapts to dark mode settings.
- Highlighting for Valid JSON Code: JSON code now gets highlighted when the payload is valid.
- Scroll Bar Style: Modified scroll bar style for better navigation.
📦 Preview 🖼️
- <img width="1093" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/10416200-cd4f-4497-aa04-31329c521c81">
📦 1.9.4 Known Issues❗️
- Escape "\n" in message-type text.
- Message display truncates long user properties and does not expand as space is available.
- Layout issue after maximizing.
- UI - Wrong format of the sub-topic column.
- MQTTX shows a blank screen after upgrading to 1.9.4.
📋 What's Changed ♻️
- fix(connections):fix text processing error by @ni00 in https://github.com/emqx/MQTTX/pull/1359
- feat(ci): upload packages to aws s3 by @Swilder-M in https://github.com/emqx/MQTTX/pull/1353
- chore(deps): bump semver from 5.7.1 to 5.7.2 by @dependabot in https://github.com/emqx/MQTTX/pull/1344
- chore(deps): bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in https://github.com/emqx/MQTTX/pull/1368
- chore(deps): bump semver from 5.7.1 to 5.7.2 in /web by @dependabot in https://github.com/emqx/MQTTX/pull/1351
- chore(ci): add node version by @ysfscream in https://github.com/emqx/MQTTX/pull/1374
- improve(upodate):lazy update detection and component loading by @ni00 in https://github.com/emqx/MQTTX/pull/1377
- fix(connections-detail):use event listeners instead of onsize events by @ni00 in https://github.com/emqx/MQTTX/pull/1379
- + 14 more
✨ Features 🌈
- Protobuf Support: Included in both CLI and Desktop versions.
- Script Functionality:
- Supports Function and Schema scripts.
- Now supports importing of local JavaScript files in Function.
- Shows which script was used to process a message.
- Desktop Client Update: Enhanced with a progress bar and feature preview.
- WebSocket Connection for CLI: MQTT over WebSocket is now supported.
- Multi-format Message Support in CLI: Hex, JSON, and Base64 formats are now supported in message publication.
- + 1 more
🐛 Fixes 🛠
- Right-Click Context Menu Conflict: Resolved for web version.
- Connection Count: Fixed bench command count issue.
- CLI Parameter Check and Error Handling: Enhanced for better usability.
- UI Enhancement: Improved message box display width.
- Connection Selection: Fixed an issue where the previously selected connection wasn't maintained after restarting the client.
- Version Comparison during Update: Fixed a bug in version comparison logic during the update process.
- MQTTX Web: Updated the MQTTX logo.
📋 What's Changed
- docs(help): modify mqtt page link by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1303
- docs(logo): update the mqttx logo by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1304
- docs(cli): update 1.9.3 by @ysfscream in https://github.com/emqx/MQTTX/pull/1305
- chore(deps): bump vm2 from 3.9.17 to 3.9.18 by @dependabot in https://github.com/emqx/MQTTX/pull/1289
- docs(manual): review and update manual.md with Grammarly by @emqplus in https://github.com/emqx/MQTTX/pull/1307
- feat(cli): supports ws and wss protocols by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1310
- feat(help): add mqtt ebook download link by @ysfscream in https://github.com/emqx/MQTTX/pull/1313
- refactor(updateChecker):optimize automatic updates and add a progress bar by @ni00 in https://github.com/emqx/MQTTX/pull/1314
- + 25 more
✨ New Contributors
- @emqplus made their first contribution in https://github.com/emqx/MQTTX/pull/1307
- @ni00 made their first contribution in https://github.com/emqx/MQTTX/pull/1314
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.3...v1.9.4
📦 MQTTX Desktop
- The logo has been refined: MQTT X -> MQTTX, reflecting a more streamlined identity.
- Connections are now automatically reconnected by default.
- Editing has been disabled during the connecting status.
- The scripts-example has been moved to the top of the repository and IoT data scenarios scripts have been added.
- Fixed wont start on Ubuntu
📦 MQTTX CLI
- The size of Docker images has been significantly reduced by 81.3%+: from 1.07GB to 200.52MB
- A `simulate` command has been added.
- The `ls` command has been added, allowing you to view directory contents from the command line.
- More built-in scenarios have been added.
- Smart home
- Industrial Energy
- Tesla IoV
- Weather station
- + 2 more
📦 MQTTX Web
- Google Tag Manager has been added.
- The size of Docker images has been significantly reduced by 81.3%: from 886.75MB to 146.4MB
📦 Preview 🖼
- <img width="1137" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/39a04262-e229-45f7-aace-308a2d5e395e">
- <img width="1380" alt="image" src="https://github.com/emqx/MQTTX/assets/21299158/8cf85986-5f87-4b63-b496-e6707abec7b9">
📋 What's Changed
- feat(gtm): add google tag manager by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1272
- fix(cli): fix typo by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1274
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/1275
- refactor(logo): update mqttx logo by @ysfscream in https://github.com/emqx/MQTTX/pull/1277
- refactor: fix shields icon name to MQTTX by @JimMoen in https://github.com/emqx/MQTTX/pull/1278
- Revert "chore(deps): bump sqlite3 from 5.0.4 to 5.1.5" by @ysfscream in https://github.com/emqx/MQTTX/pull/1282
- feat(simulate): add simulate to cli by @wivwiv in https://github.com/emqx/MQTTX/pull/1280
- fix(connections): set auto reconnect to true by default by @ysfscream in https://github.com/emqx/MQTTX/pull/1284
- + 14 more
✨ New Contributors
- @JimMoen made their first contribution in https://github.com/emqx/MQTTX/pull/1278
- @wivwiv made their first contribution in https://github.com/emqx/MQTTX/pull/1280
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.2...v1.9.3
📦 MQTTX Desktop
- Prioritized loading of the most recently selected connection.
- Improved loading animation for export data.
- Added support for YAML format data.
- Added title attribute to history topic to enhance user experience and accessibility.
- Updated MQTT page header links in the `MQTT Help` section.
- Updated EMQX Cloud description in the `About` section.
- Resolved issues related to deleting and configuring user properties
- Fix for handling missing username with password in MQTT connections.
- + 4 more
📦 MQTTX CLI
- Added output mode support for the `sub` command.
📦 Preview 🖼
- 
📋 What's Changed
- docs(cli): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/1226
- chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by @dependabot in https://github.com/emqx/MQTTX/pull/1225
- feat(cli): support output mode for the sub command by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1227
- docs(cli): add output mode option by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1228
- improve(desktop): add loading animation for export data by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1229
- improve(desktop): prioritize loading of the most recently selected co… by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1230
- feat(desktop): support yaml format data by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1233
- chore(pkg): fixed vm version by @ysfscream in https://github.com/emqx/MQTTX/pull/1234
- + 20 more
✨ New Contributors
- @tigercl made their first contribution in https://github.com/emqx/MQTTX/pull/1251
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.9.1...v1.9.2
📦 MQTT X Desktop
- Performance improved by around 80+%.
- Alert box when you receive a new message.
- Fixed issues with importing and backing up data, fixing the integrity and correctness of importing and exporting data, and optimizing the loading speed when importing, etc.
- Fixed a problem where `Username` had to be entered when using `Client ID` + `Password` authentication.
- Fixed a problem where offline messages could not be received after reconnecting.
- Corrected a problem where the order of messages in the message list was incorrect in some cases.
- Fixed a problem where multiple identical `Key` names could be filled in the user properties configuration, which is 100% compatible with the MQTT protocol.
- Fix the problem where group icons would disappear due to too long group names, and support full display of too long group names.
- + 9 more
📦 MQTT X CLI
- Automatic reconnection support, optimized for when the MQTT X CLI command line client is disconnected after an exception occurs on the MQTT server.
- File saving, support for reading and saving local configuration files, users can save connection parameters to local configuration files and read them directly the next time they connect.
- Payload format conversion, support for converting incoming messages to String, Hex, Base64, JSON.
- Add year-month-day log display.
📦 Preview 🖼
- <img width="1137" alt="image" src="https://user-images.githubusercontent.com/21299158/216523229-803fa724-30b1-4777-b4c1-eb79669ef839.png">
📋 What's Changed
- feat(cli): support auto reconnect by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1134
- docs(readme): update readme preview by @ysfscream in https://github.com/emqx/MQTTX/pull/1135
- feat(cli): support auto reconnect for bench commands by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1136
- improve(cli): improve the output of the bench commands by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1137
- fix(cli): fix the connection count bug by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1138
- feat(desktop & web): support auto scroll interval setting by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1142
- feat(cli): support set the maximum reconnect times by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1143
- imporve(cli): optimize the code logic of the console logger by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1144
- + 58 more
📦 MQTT X Desktop
- Resolved a crash when receiving and publishing a large number of messages
- Add a new message alert when viewing historical data
- Performance optimization when filtering by topic
- Fix the problem when the group name is too long
📦 MQTT X CLI
- Add year-month-day log display
📦 Preview
- <img width="1137" alt="image" src="https://user-images.githubusercontent.com/21299158/212863316-36a01b3d-d478-41a0-ad44-e9236847c4da.png">
📦 1000 messages/s benchmark
- 
- 
📋 What's Changed
- refactor(ui): ui/ue enhancement by @ysfscream in https://github.com/emqx/MQTTX/pull/1180
- fix(subs): unconnected alerts when clicking on new subscription by @ysfscream in https://github.com/emqx/MQTTX/pull/1183
- fix(CI): fix CI issues with release beta version by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1187
- chore(about): set copyright to automatically update by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1188
- fix(desktop): fix some bugs of the new window by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1189
- improve(desktop): improve messages loading logic by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1190
- improve(desktop): refactor the message rendering logic by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1191
- chore(pkg): upgrade version 1.9.1-beta.2 by @ysfscream in https://github.com/emqx/MQTTX/pull/1195
- + 12 more
📦 MQTT X Desktop
- Allow multiple occurrences of the same name in the user properties
- Add an `Everything about MQTT` page
- Enhance data storage capabilities
- Reduces memory consumption by nearly 50% during use
- Optimize Topic input reminders
- Support setting auto scroll interval
📦 MQTT X CLI
- Support auto-reconnect
- Support saving and loading config files for `conn` / `sub` / `pub`
- Support payload format
- Improve the output of the bench commands
- Fix the connection count bug
📦 MQTT X Web
- Allow multiple occurrences of the same name in user properties
📦 Preview
- Using the MQTT X CLI bench to send 100 messages per second to `mqttx/bench`, we can notice a significant drop in `CPU Usage` and `JS heap size` in the data monitor
- `mqttx bench pub -c 100 -t mqttx/bench -m hello`
📦 Before
- <img width="894" alt="image" src="https://user-images.githubusercontent.com/21299158/209317620-a8ea06e7-c485-45f4-8a53-201931cf760e.png">
📦 After
- <img width="894" alt="image" src="https://user-images.githubusercontent.com/21299158/209317953-a540b140-8e1d-49db-9698-f24b4727c1f6.png">
📋 What's Changed
- feat(cli): support auto reconnect by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1134
- docs(readme): update readme preview by @ysfscream in https://github.com/emqx/MQTTX/pull/1135
- feat(cli): support auto reconnect for bench commands by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1136
- improve(cli): improve the output of the bench commands by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1137
- fix(cli): fix the connection count bug by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1138
- feat(desktop & web): support auto scroll interval setting by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1142
- feat(cli): support set the maximum reconnect times by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1143
- imporve(cli): optimize the code logic of the console logger by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1144
- + 26 more
✨ Features 🌈
- Desktop: UI Enhancement
- Desktop: Add a help page to help you better learn the MQTT protocol
- Desktop: Internationalization of the top menu
- Desktop: Script function Enhancements
- Desktop: Add more shortcuts
- Desktop: Add Highlight for resize line
- CLI: Add `bench` command for MQTT performance testing
- CLI: Add the retain flag to received messages
- + 1 more
🐛 Fix 🛠
- Desktop: Fix the inability to receive messages after reconnection
- Desktop: Remove incorrect unit display
- CLI: Fix some compatibility issues
✨ The New ✨
- MQTT X CLI Repo 👉 https://github.com/emqx/MQTTX/tree/main/cli
- MQTT X Web Repo 👉 https://github.com/emqx/MQTTX/tree/main/web
- MQTT X Web Online 👉 http://www.emqx.io/online-mqtt-client
📦 Preview 🖼
- <img width="1035" alt="image" src="https://user-images.githubusercontent.com/21299158/200253789-86f0a5ae-6b99-4e16-b760-3b8f720424ef.png">
- <img width="918" alt="image" src="https://user-images.githubusercontent.com/21299158/200254274-7e1764be-b615-4ed3-82b9-ec4d46501014.png">
📋 What's Changed
- feat(cli): add bench commands by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1100
- chore(cli): print error with client id by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1109
- chore(web): remove certificates by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1111
- docs(cli): add bench commands to readme by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1110
- docs(branch): modify github links by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1113
- feat(desktop & web): add help page by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1114
- fix(connection): remove byte unit by @ysfscream in https://github.com/emqx/MQTTX/pull/1115
- improve(leftbar): click outside close popover by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1117
- + 15 more
✨ Features 🌈
- MQTT X: Replace `Clean Session` with `Clean Start` and `Session Expiry Interval` on MQTT 5.0
- MQTT X: `true` and `false` selectors modified to switch button
- MQTT X: Formatting Output Hex Data
- MQTT X: Optimizing the use of SSL/TLS switches
- MQTT X CLI: New beauty changes to the output
- MQTT X CLI: Support multi-topic subscription
- MQTT X CLI: More MQTT 5.0 properties, such as `Session Expiry Interval`
- MQTT X CLI: Add `check` command for check updates
- + 5 more
🐛 Fix 🛠
- MQTT X: Fixed can not show retain message when disconnected
- MQTT X: Fixed the problem that the content is truncated when spaces are in Hex format
- MQTT X: Fixed the problem that the in-use script cannot be deleted
- MQTT X: Fixed the problem that messages cannot be received after setting the topic alias
- MQTT X: Fixed some internal errors
- MQTT X CLI: Fixed the setting connection user properties issue in the `pub` and `sub` command
✨ The New ✨
- MQTT X CLI Repo 👉 https://github.com/emqx/MQTTX/tree/main/cli
- MQTT X Web Repo 👉 https://github.com/emqx/MQTTX/tree/main/web
- MQTT X Web Online 👉 http://www.emqx.io/online-mqtt-client
📦 Preview 🖼
- <img width="1137" alt="image" src="https://user-images.githubusercontent.com/21299158/195031328-a64a7513-3f1b-4762-b8fd-c4dd46f96efd.png">
- 
📋 What's Changed
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/1034
- chore(links): add parameters to URLs to identify the campaigns that refer traffic by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1038
- feat(web): add meta to msg publish by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1030
- fix(Topic Aliases): not able to receive messages with Topic Alias set by @RoanBrand in https://github.com/emqx/MQTTX/pull/1037
- feat(web): add properties data storage & properties state lsolation by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1040
- fix(desktop): fix history message header update bug by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1043
- feat(web): add payload & topic history of sent messages by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1044
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/1045
- + 36 more
✨ New Contributors
- @RoanBrand made their first contribution in https://github.com/emqx/MQTTX/pull/1037
- @simo-an made their first contribution in https://github.com/emqx/MQTTX/pull/1085
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.8.2...v1.8.3
✨ Features 🌈
- MQTT X: Support whether to enable multi-topics subscription in the settings page
- MQTT X Web: Support for more MQTT 5.0 properties
🐛 Fix 🛠
- MQTT X: Remove validation of Topics that contain the $ symbol
- MQTT X: Fixed can not edit User Properties
- MQTT X: Fixed the issue of deleting the connection in editing page
- MQTT X: Optimize the error message when Topic subscription fails
✨ The New ✨
- MQTT X CLI Repo 👉 https://github.com/emqx/MQTTX/tree/main/cli
- MQTT X Web Repo 👉 https://github.com/emqx/MQTTX/tree/main/web
- MQTT X Web Online 👉 http://www.emqx.io/online-mqtt-client
📦 Preview 🖼
- <img width="1137" alt="image" src="https://user-images.githubusercontent.com/21299158/183024352-549f33ec-619b-4522-91e9-69eb74e11241.png">
📋 What's Changed
- docs(cli): update cli download links by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1019
- fix(connection): fix $ symbol invalid by @ysfscream in https://github.com/emqx/MQTTX/pull/1022
- feat(web): supports some MQTT 5.0 properties by @Red-Asuka in https://github.com/emqx/MQTTX/pull/1023
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/1025
- chore(pkg): 1.8.1 -> 1.8.2 by @ysfscream in https://github.com/emqx/MQTTX/pull/1026
- fix(lang): fix sub qos failed tips by @ysfscream in https://github.com/emqx/MQTTX/pull/1027
- fix(updater): replace download to install by @ysfscream in https://github.com/emqx/MQTTX/pull/1028
- fix(properties): fix can not edit user properties by @ysfscream in https://github.com/emqx/MQTTX/pull/1029
- + 3 more
✨ Features 🌈
- MQTT X: Automatic update (Thanks @laybrid)
- MQTT X: Default connection using MQTT 5.0
- MQTT X: Topic is validated before publishing (Cannot contain #, +, $, etc.)
- MQTT X CLI: Support MQTT 5.0 connection
- MQTT X CLI: Support MQTT 5.0 for User Properties and Subscription Options
- MQTT X CLI: Add the `conn` command to test the connection
- MQTT X Web: UI style updates, synchronized with MQTT X
🐛 Fix 🛠
- MQTT X: Fixed exited unexpectedly on macOS
- MQTT X: Fixed User Properties display issue
- MQTT X CLI: Fixed invalid `clean` option
✨ The New ✨
- MQTT X CLI Repo 👉 https://github.com/emqx/MQTTX/tree/main/cli
- MQTT X Web Repo 👉 https://github.com/emqx/MQTTX/tree/main/web
- MQTT X Web Online 👉 http://www.emqx.io/online-mqtt-client
📦 Preview 🖼
- 
- <img width="1495" alt="image" src="https://user-images.githubusercontent.com/21299158/181675740-67999420-44b9-48e5-a8ea-c230a834dd46.png">
📋 What's Changed
- chore(deps): bump shell-quote from 1.7.2 to 1.7.3 in /web by @dependabot in https://github.com/emqx/MQTTX/pull/959
- docs(readme): update cli readme by @ysfscream in https://github.com/emqx/MQTTX/pull/961
- docs(readme): update web readme by @ysfscream in https://github.com/emqx/MQTTX/pull/962
- docs(readme): update cli readme by @ysfscream in https://github.com/emqx/MQTTX/pull/963
- docs(readme): update cli readme by @ysfscream in https://github.com/emqx/MQTTX/pull/964
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/965
- chore(cli): release mqttx-cli v1.8.1 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/966
- docs(readme): update web readme by @ysfscream in https://github.com/emqx/MQTTX/pull/967
- + 32 more
✨ New Contributors
- @laybrid made their first contribution in https://github.com/emqx/MQTTX/pull/978
- Full Changelog: https://github.com/emqx/MQTTX/compare/v1.8.0...v1.8.1
✨ Features 🌈
- MQTT X with CLI
- MQTT X with Web
- Support for quickly creating a duplicate connection
- Support for building MQTT X under Apple M1 (Thanks @Red-Asuka )
- Update About page
🐛 Fix 🛠
- Fix the inability to clear too long messages on the display page
- Fix the problem of repeatedly displaying too long messages on different pages
- Fix sidebar activation status error
- Fix some typos
- Enhanced security
✨ The New ✨
- MQTT X CLI Repo 👉 https://github.com/emqx/MQTTX/tree/main/cli
- MQTT X Web Repo 👉 https://github.com/emqx/MQTTX/tree/main/web
- MQTT X Web Online 👉 http://tools.emqx.io/
📦 Preview 🖼
- 
- <img width="1093" alt="image" src="https://user-images.githubusercontent.com/21299158/175263481-2760819d-d7b4-4ff5-8980-f6deb704fc62.png">
📋 What's Changed
- fix(bytes): fix display error by @ysfscream in https://github.com/emqx/MQTTX/pull/918
- chore(deps-dev): bump electron from 12.2.2 to 13.6.6 by @dependabot in https://github.com/emqx/MQTTX/pull/919
- chore(deps): bump plist from 3.0.4 to 3.0.5 by @dependabot in https://github.com/emqx/MQTTX/pull/925
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/926
- chore(deps): bump moment from 2.29.1 to 2.29.2 by @dependabot in https://github.com/emqx/MQTTX/pull/927
- chore(deps): bump sqlite3 to 5.0.4 compatible with apple M1 by @Red-Asuka in https://github.com/emqx/MQTTX/pull/932
- feat(about): modify about page by @Red-Asuka in https://github.com/emqx/MQTTX/pull/933
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/934
- + 16 more
✨ Features 🌈
- Backward support for MQTT v3.1
- Add comments to QoS
- Rename EMQ X to EMQX
- Modify the SSL/TLS switch style
🐛 Fix 🛠
- Enhanced security
- <img width="1025" alt="image" src="https://user-images.githubusercontent.com/21299158/156744238-89fffc4d-7f59-4ed4-b6ff-c84c7ad5b7da.png">
📋 What's Changed
- docs(readme): update readme by @ysfscream in https://github.com/emqx/MQTTX/pull/882
- refactor(src): emq x -> emqx by @ysfscream in https://github.com/emqx/MQTTX/pull/887
- refactor(src): emq x -> emqx by @ysfscream in https://github.com/emqx/MQTTX/pull/888
- chore(config): add win32 & arm build by @ysfscream in https://github.com/emqx/MQTTX/pull/889
- chore(deps): bump follow-redirects from 1.14.7 to 1.14.8 by @dependabot in https://github.com/emqx/MQTTX/pull/891
- feat(connection): backward support for mqtt 3.1 by @ysfscream in https://github.com/emqx/MQTTX/pull/893
- chore(deps): bump vm2 from 3.9.5 to 3.9.7 by @dependabot in https://github.com/emqx/MQTTX/pull/894
- chore(deps): bump url-parse from 1.5.3 to 1.5.7 by @dependabot in https://github.com/emqx/MQTTX/pull/897
- + 6 more
