Releases: emqx/MQTTX
v1.11.0
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
v1.10.1
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
v1.10.0
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
v1.9.10
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 using simulate
may need modifications. For adaptation details, refer to the Faker.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
v1.9.9
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
v1.9.8
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#148 -
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 🖼️
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
Release Note 🎉
🤖 MQTTX AI Copilot (Beta.1) and the 👉 Release Blog
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.
- 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
v1.9.6
Release Note 🎉
🖥️ MQTTX 1.9.6 Highlights: Enhanced Connection Protocols and User Interface Improvements
In MQTTX 1.9.6, we are excited to introduce enhanced connection protocols and several user interface improvements that are set to refine your experience on Desktop, CLI, and Web platforms.
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 🖼️
What's Changed ♻️
- feat(connection): ALPN protocols support by @twankamp in #1399
- Draft documents for MQTTX Desktop - Get Started by @Meggielqk in #1397
- docs: update markdonw format by @ysfscream in #1402
- SSL ALPN protocol support (CLI & Web) by @ysfscream in #1403
- feat(settings): clear history data include all messages by @ysfscream in #1409
- fix(msg): fix can not publish clear retained message by @ysfscream in #1411
- fix(cli): fix pub the wrong base64 formart message by @ysfscream in #1413
- fix(msg): incomplete display mqtt5 properties in message box by @ysfscream in #1415
- refactor(publish): optimize publish options UI by @ysfscream in #1417
- fix(web):fix type conversion of received json messages by @ni00 in #1419
- feat(msg): simplify clear retained message operation by @ysfscream in #1420
New Contributors 🌟
Special thanks! 🙏
- @twankamp made their first contribution in #1399
- @Meggielqk made their first contribution in #1397
Full Changelog: v1.9.5...v1.9.6
v1.9.5
Release Note 🎉
🎨 Enhanced JSON syntax error messages and JSON highlighting in messages
MQTTX 1.9.5 has improved error messages for JSON syntax issues and support for JSON highlighting in messages. It also includes style and UI modifications to enhance the user experience.
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 🖼️
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 #1359
- feat(ci): upload packages to aws s3 by @Swilder-M in #1353
- chore(deps): bump semver from 5.7.1 to 5.7.2 by @dependabot in #1344
- chore(deps): bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #1368
- chore(deps): bump semver from 5.7.1 to 5.7.2 in /web by @dependabot in #1351
- chore(ci): add node version by @ysfscream in #1374
- improve(upodate):lazy update detection and component loading by @ni00 in #1377
- fix(connections-detail):use event listeners instead of onsize events by @ni00 in #1379
- style(subscriptions-list):modify scrollbar style by @ni00 in #1378
- style(key-value-editor):modify el-input styles by @ni00 in #1380
- style(connections):fix some styles by @ni00 in #1382
- feat(msg-left-item):support json highlight by @ni00 in #1381
- improve(msg-left-item):add msg type meta props by @ni00 in #1383
- style(msg-left-item):modify topic color bar by @ni00 in #1384
- feat(msg): change the highlight code theme by @ysfscream in #1385
- fix(msg): highlight json code when payload is valid by @ysfscream in #1386
- fix(script): adapt the tabs border color to dark mode by @ysfscream in #1387
- chore(pkg): upgrade version 1.9.5 by @ysfscream in #1389
- feat(settings): add enabled json highlight setting by @ysfscream in #1390
- chore(ci): fix can not cp to aws s3 by @ysfscream in #1392
- chore(ci): fix aws s3 upload cli by @Swilder-M in #1395
Full Changelog: v1.9.4...v1.9.5
v1.9.4
Release Note 🎉
🛣️ Protobuf Message Support
MQTTX 1.9.4 now supports the Protobuf message format, optimizing data exchanges.
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.
- Website Upgrade: https://mqttx.app/ completely revamped for intuitive showcasing.
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 #1303
- docs(logo): update the mqttx logo by @Red-Asuka in #1304
- docs(cli): update 1.9.3 by @ysfscream in #1305
- chore(deps): bump vm2 from 3.9.17 to 3.9.18 by @dependabot in #1289
- docs(manual): review and update manual.md with Grammarly by @emqplus in #1307
- feat(cli): supports ws and wss protocols by @Red-Asuka in #1310
- feat(help): add mqtt ebook download link by @ysfscream in #1313
- refactor(updateChecker):optimize automatic updates and add a progress bar by @ni00 in #1314
- fix(update):fix update bugs by @ni00 in #1316
- style(update):modify dialog line-height and margin by @ni00 in #1321
- fix(web):prevent right click default event by @ni00 in #1324
- fix(cli):fix the incorrect count by @ni00 in #1323
- fix(contextmenu):prevent contextmenu default events by @ni00 in #1325
- fix(update):modify cli update url by @ni00 in #1326
- feat(cli):support protobuf format by @ni00 in #1320
- feat(cli):support more format type to publish protobuf by @ni00 in #1327
- fix(cli):optimize error handling by @ni00 in #1330
- fix(cli):optimized parameter checks and error handling by @ni00 in #1332
- feat(cli):support input formatted messages to publish by @ni00 in #1333
- docs(cli):update docs about ws and protobuf support by @ni00 in #1334
- chore(pkg): upgrade version 1.9.4 by @ysfscream in #1336
- feat(script): support schema(protobuf) by @ni00 in #1337
- feat(connections):add script tags by @ni00 in #1339
- fix(desktop):fix bugs about schema by @ni00 in #1340
- chore(cli):replaced yaml.js with js-yaml by @ni00 in #1342
- fix(script): fix some bugs about schema by @ni00 in #1341
- style(script):add script-output bottom padding by @ni00 in #1345
- fix(script):function script error handling by @ni00 in #1346
- fix(connections): completed i18n by @ysfscream in #1347
- chore(script):modify some script example by @ni00 in #1348
- style(message): modify the message max width by @ysfscream in #1349
- fix(connection):fix vaild-format-json error by @ni00 in #1350
- chore(cli):add js-yaml types by @ni00 in #1352
New Contributors
Full Changelog: v1.9.3...v1.9.4