Skip to content

Releases: emqx/MQTTX

v1.11.0

22 Oct 10:19
Compare
Choose a tag to compare

Release Note 🎉

🌳 Introducing Topic Tree visualization - A new way to organize and visualize your MQTT topics hierarchically, making managing and monitoring your message flows easier.

📊 Added Avro Schema and Message Pack support, bringing more efficient ways to handle complex data with MQTTX.

Features 🌈

Note: Topic Tree visualization is currently in Beta. You may encounter some instability or incomplete features. We appreciate your feedback to help us improve this functionality.

  • Desktop: Topic Tree visualization
  • Desktop: Message Pack format support
  • Desktop: Avro data format support
  • Desktop: Ignore QoS 0 messages option
  • CLI: Message Pack format support
  • CLI: Avro Schema support
  • CLI: Custom WebSocket headers support
  • Desktop, CLI: Allow empty client ID

Improvements 💫

  • Desktop: Enhanced MQTT wildcard topic matching for '#'.
  • Desktop: Better Avro format user experience
  • Desktop: Session expiry now defaults to 7200
  • Desktop: Synchronization between topic tree and massage table
  • Desktop: Persistence for topic tree data
  • CLI: Optimized configuration loading logic
  • CLI: Using built-in fetch instead of Axios
  • CLI: MQTT version notation changed from 5 to 5.0
  • Desktop, CLI, Web: Added .nvmrc file for Node.js version specification
  • Copilot: Changed to GPT-4o as the default model

Fixes 🛠

  • Desktop: Fixed connection name style issue
  • Desktop: Improved handling of '#' wildcard in topic filtering
  • Desktop: Enhanced file extension handling in scripts
  • Desktop: Fixed typos in various places
  • CLI: Removed bench sub-topics log

Preview 🖼️

The data display comes from the public MQTT Broker: broker.emqx.io.

image image

What's Changed

New Contributors

Full Changelog: v1.10.1...v1.11.0

v1.10.1

16 Jul 06:40
Compare
Choose a tag to compare

Release Note 🎉

⏬ You can now install MQTTX CLI with one click through the Desktop.

Features 🌈

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 🖼️

image

What's Changed

New Contributors

Full Changelog: v1.10.0...v1.10.1

v1.10.0

07 Jun 06:46
Compare
Choose a tag to compare

Release Note 🎉

🚀 This release introduces multiple enhancements, new features, and critical fixes across Desktop, CLI, and Web platforms.

Features 🌈

  • Desktop:
    • Added a database reset page to fix blank screens caused by corrupted files.
    • Added auto resubscription tips on the subscription dialog.
    • Handle large data in messages.
    • GPT-4o support for Copilot.
  • CLI:
    • Support for reading and writing messages from/to files.
    • Added delimiter option for sub-file write.
    • Bench pub supports split file content.
    • Support for text output.
    • Added support for init and load config file.
    • Config support for max reconnect times.
    • Improved check update with Ora.
  • Web:
    • Online address migration to → http://mqtt-client.emqx.com/
    • Added support for BASE_URL configuration via env file.
    • Supported clearing historical data.
    • Data export and import features.

Improvements 💫

  • Desktop:
  • CLI:
    • Improved logging format.
    • Upgraded node version to 18.
    • Refactored configs to options.
    • Grayed out output meta info.
    • Improved bench sub logs.
  • Web:
    • Added a Docker local deployment guide.
    • Modified web deploy configuration.
  • Desktop, CLI, Web:

Fixes 🛠

  • Desktop:
    • Fixed the bug of topic filtering.
    • Fixed some TypeScript errors.
    • Shared one message event.
    • Removed useless i18n.
  • CLI:
    • Fixed options handler for file write.
    • Fixed split option bugs and set a default value.
    • Fixed display issue with a split default value.
    • Fixed bench sub duplicate logs.
    • Fixed wrong prompt type on error.
    • Fixed sub-error logic with multiple topics.

Breaking Changes ⚠️

  • CLI: command changes: config -> options
Old Command New Command
mqttx conn -h broker.emqx.io -p 1883 --save mqttx conn -h broker.emqx.io -p 1883 --save-options
mqttx conn --config /Users/mqttx-cli-config.json mqttx conn --load-options /Users/mqttx-cli-options.json

Preview 🖼️

Screen Recording 2024-05-22 at 16 35 41

What's Changed

New Contributors

Full Changelog: v1.9.10...v1.10.0

v1.9.10

03 Apr 07:49
Compare
Choose a tag to compare

Release Note 🎉

🚨 Important Upgrade Notice: Faker v8 Upgrade with Breaking Changes

Before upgrading to 1.9.10, note that it has to break changes with faker.js. Scripts 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 🖼️

image

What's Changed

New Contributors

Full Changelog: v1.9.9...v1.9.10

v1.9.9

05 Feb 03:10
Compare
Choose a tag to compare

Release Note 🎉

🚀 Extended Formats, 🛠 Debug Logging, and 🔧 UI Flexibility

Features 🌈

  • Connection Events (Desktop/Web/CLI): Adds support for disconnect and offline events, improving the robustness of connection handling.
  • CBOR Support (Desktop/CLI): Introduces CBOR as a new option for data type decoding, enhancing the flexibility in handling different message formats.
  • Log Level (Desktop): Added a log level field with debug support, allowing customized log verbosity.
  • Connection List Visibility (Desktop): Enhances the desktop interface by allowing users to hide or show the connection list, providing a more streamlined experience.
  • CLI Enhancements: Added a message limit option to the bench pub command for improved publishing control.

Improvements 💫

  • MQTTX Copilot Enhancements: The MQTTX Copilot now supports a wider array of client code generation categories for both software and hardware projects, including:
    • UI Frameworks: Vue.js and React.
    • Hardware Platforms: ESP32, ESP8266, Arduino, Raspberry Pi.
    • Mobile Applications: Android, iOS, React Native, Flutter.
  • UI/UX Enhancements (Desktop/Web): Refinements in log message clarity, icon updates, and extracted hard-coded style values into enums contribute to a more cohesive and user-friendly interface.
  • Documentation and Readme Updates: Simplification and updates to the CLI readme and badges, making it easier for users to get started and understand the tool's capabilities.
  • Dependency Updates: Bumps follow-redirects library across different project parts, ensuring improved stability and performance.
  • Codebase Refinements: Numerous refactorings across desktop and web versions, including payload type table migration.

Fixes 🛠

  • Connection Issues (Desktop): Fixes a bug where the reconnect feature would only work on the current page and addresses an issue with hiding the connection list in new windows.

Preview 🖼️

image

What's Changed ♻️

New Contributors ✨

Full Changelog: v1.9.8...v1.9.9

v1.9.8

28 Dec 02:36
Compare
Choose a tag to compare

Release Note 🎉

🤖 Major MQTTX Copilot (beta.2) Enhancements and 🔧 CLI Improvements

👉 Release Blog

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 with echart 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 🖼️

image image

What's Changed 🔄

Full Changelog: v1.9.7...v1.9.8

v1.9.7

08 Dec 03:37
Compare
Choose a tag to compare

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 🖼️

image

What's Changed ♻️

New Contributors ✨

Special thanks! 🙏

@Rotzbua @ni00

Full Changelog: v1.9.6...v1.9.7

v1.9.6

15 Sep 08:16
Compare
Choose a tag to compare

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 🖼️

image

What's Changed ♻️

New Contributors 🌟

Special thanks! 🙏

Full Changelog: v1.9.5...v1.9.6

v1.9.5

04 Aug 07:43
Compare
Choose a tag to compare

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 🖼️

image

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

12 Jul 08:18
Compare
Choose a tag to compare

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