Skip to content

Releases: emqx/MQTTX

v1.12.0-beta.3

16 Apr 05:41
Compare
Choose a tag to compare
v1.12.0-beta.3 Pre-release
Pre-release

Release Note 🎉

✨ v1.12.0-beta.3 has exciting new AI capabilities and important fixes! We've integrated Google Gemini and Azure OpenAI into MQTTX Copilot, alongside several desktop usability improvements.

Features 🌈

  • Copilot: Added support for Google Gemini models. (#1923)
  • Copilot: Introduced support for Azure OpenAI. (#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)
  • Copilot: Replaced the preset prompt hover text for better clarity when reverting changes. (#1924)
  • CI: Optimized the release process by skipping Docker/artifact uploads for pre-releases. (#1919)

Fixes 🛠

  • Desktop: Prevented accidental dragging of items in the connection list. (#1916)
  • Desktop: Resolved an issue where pasting content into the Monaco editor (used for message payloads) was not working correctly. (#1917)
image

What's Changed

Full Changelog: v1.12.0-beta.2...v1.12.0-beta.3

v1.12.0-beta.2

27 Mar 02:03
Compare
Choose a tag to compare
v1.12.0-beta.2 Pre-release
Pre-release

Release Note 🎉

🤖 MQTTX with major AI model upgrades and Model Context Protocol support (Beta)

This release significantly expands our AI model support by integrating leading LLMs, introduces beta Model Context Protocol (MCP) support, fixes critical API issues, and enhances user experience across all platforms.

Note: Electron has been significantly upgraded to v33.0.0 to utilize features from newer Node.js versions. Due to this major version jump, compatibility issues may occur on some systems. If you encounter any abnormal functionality or rendering problems, please submit an issue on GitHub. We recommend testing key features after upgrading to ensure everything works properly.

Features 🌈

  • Desktop: Save and restore window state for a better user experience
  • Desktop: Model Context Protocol Support (Beta):
    • Standardized integration between LLMs and data sources
    • SSE MCP servers support
    • Stdio MCP servers support
  • Desktop: Comprehensive AI model integration:
    • Claude 3.5 and 3.7 support
    • Grok 2 integration with readiness for Grok 3
    • DeepSeek models (R1, V3) support
    • Thinking Chain support for advanced reasoning with DeepSeek R1 and Claude 3.7
  • Desktop: Enhanced AI Copilot capabilities:
    • Custom function generation support
    • Schema generation (Protobuf and Avro)
    • Session management for AI interactions

Improvements 💫

  • Desktop: Upgraded Node.js to version 18 for new features
  • Desktop: Updated Electron version to 33.0.0
  • Desktop: AI infrastructure improvements:
    • Fixed OpenAI API compatibility issues (#1856)
    • Implemented comprehensive API keys management
    • Optimized DeepSeek integration across multiple cloud platforms

Fixes 🛠

  • Desktop: Fixed SQLite disconnect warning issue
  • Desktop: Fixed i18n issues for better localization
  • Desktop: Fixed Copilot loading state issues
  • Desktop: Improved input focus and handling for preset prompts in Copilot

Preview 🖼️

image

image

What's Changed

  • chore(pkg): update node engine versiont to 16 by @ysfscream in #1853
  • feat(desktop): save and restore window state by @ni00 in #1852
  • chore(web): update Node.js version to 18 by @Red-Asuka in #1875
  • chore(desktop): upgrade Node.js version to 18 by @Red-Asuka in #1876
  • refactor(copilot): integrate AI SDK for improved model handling by @Red-Asuka in #1877
  • fix(copilot): fix loading state by @Red-Asuka in #1879
  • feat(copilot): support generating custom functions by @Red-Asuka in #1880
  • style(copilot): update copilot button icon and enhance styling by @Red-Asuka in #1881
  • feat(copilot): support generating schema by @Red-Asuka in #1883
  • refactor(copilot): reorganize AI-related components and utilities by @ysfscream in #1882
  • refactor(copilot): improve type safety by @ysfscream in #1884
  • refactor(i18n): migrate Copilot translations to dedicated locale file by @ysfscream in #1885
  • fix(copilot): improve input focus and handling for preset prompts by @ysfscream in #1886
  • feat(copilot): add raw-loader and dynamic system prompt loading by @ysfscream in #1887
  • feat(copilot): improve preset prompt display behavior on input focus by @ysfscream in #1888
  • feat(copilot): support separate Protobuf and Avro schema generation prompts by @ysfscream in #1889
  • feat(copilot): introduce session management for AI interactions by @ysfscream in #1890
  • chore(pkg): bump electron version to 22.0.0 by @ysfscream in #1896
  • feat(copilot): MCP support by @ysfscream in #1894
  • fix(desktop): fix sqlite disconnect warning issue by @ysfscream in #1897
  • fix(desktop): fix i18n issues by @ysfscream in #1898
  • feat(copilot): sse mcp servers support by @ysfscream in #1899
  • fix(copilot): remove useless file by @ysfscream in #1901
  • refactor(copilot): add MCP call detection and display component by @ysfscream in #1902
  • refactor(copilot): integrate AI Agent for response handling by @ysfscream in #1903
  • refactor(copilot): remove MCP availability check and enhance AI streaming options by @ysfscream in #1904
  • feat(copilot): implement MCP result processing by @ysfscream in #1906
  • feat(copilot): enhance reasoning support by @ysfscream in #1907
  • chore: bump electron version to 33.0.0 by @ysfscream in #1909
  • fix(desktop): fix generate the latest.yaml issue on ci by @ysfscream in #1911
  • fix(ci): update artifact upload process to use gitHub release by @ysfscream in #1913

Full Changelog: v1.11.1...v1.12.0-beta.2

v1.12.0-beta.1

26 Mar 08:21
Compare
Choose a tag to compare
v1.12.0-beta.1 Pre-release
Pre-release

What's Changed

  • chore(pkg): update node engine version to 16 by @ysfscream in #1853
  • feat(desktop): save and restore window state by @ni00 in #1852
  • chore(web): update Node.js version to 18 by @Red-Asuka in #1875
  • chore(desktop): upgrade Node.js version to 18 by @Red-Asuka in #1876
  • refactor(copilot): integrate AI SDK for improved model handling by @Red-Asuka in #1877
  • fix(copilot): fix loading state by @Red-Asuka in #1879
  • feat(copilot): support generating custom functions by @Red-Asuka in #1880
  • style(copilot): update copilot button icon and enhance styling by @Red-Asuka in #1881
  • feat(copilot): support generating schema by @Red-Asuka in #1883
  • refactor(copilot): reorganize AI-related components and utilities by @ysfscream in #1882
  • refactor(copilot): improve type safety by @ysfscream in #1884
  • refactor(i18n): migrate Copilot translations to dedicated locale file by @ysfscream in #1885
  • fix(copilot): improve input focus and handling for preset prompts by @ysfscream in #1886
  • feat(copilot): add raw-loader and dynamic system prompt loading by @ysfscream in #1887
  • feat(copilot): improve preset prompt display behavior on input focus by @ysfscream in #1888
  • feat(copilot): support separate Protobuf and Avro schema generation prompts by @ysfscream in #1889
  • feat(copilot): introduce session management for AI interactions by @ysfscream in #1890
  • chore(pkg): bump electron version to 22.0.0 by @ysfscream in #1896
  • feat(copilot): MCP support by @ysfscream in #1894
  • fix(desktop): fix sqlite disconnect warning issue by @ysfscream in #1897
  • fix(desktop): fix i18n issues by @ysfscream in #1898
  • feat(copilot): sse mcp servers support by @ysfscream in #1899
  • fix(copilot): remove useless file by @ysfscream in #1901
  • refactor(copilot): add MCP call detection and display component by @ysfscream in #1902
  • refactor(copilot): integrate AI Agent for response handling by @ysfscream in #1903
  • refactor(copilot): remove MCP availability check and enhance AI streaming options by @ysfscream in #1904
  • feat(copilot): implement MCP result processing by @ysfscream in #1906
  • feat(copilot): enhance reasoning support by @ysfscream in #1907

Full Changelog: v1.11.1...v1.12.0-beta.1

v1.11.1

13 Dec 08:26
Compare
Choose a tag to compare

Release Note 🎉

📈 Enhanced visualization capabilities, improved stability, and ongoing refactoring towards 2.0 ➡️

Features 🌈

  • Desktop: Support manual sync from the connection list to the Topic Tree
  • Desktop: Add traffic rate monitoring support with real-time packet synchronization
  • Desktop: Show MQTT properties component on Topic Tree
  • Desktop: Add connection selector when left list is hidden
  • CLI: Add line mode option support

Improvements 💫

  • Desktop: Add rate limiting for message send button
  • Desktop: Move traffic monitor to Viewer for better organization
  • CLI: Support custom client ID for bench and simulate commands
  • CLI: Add exit tips for connections

Fixes 🛠

  • Desktop: Fix message render loss issues
  • Desktop: Fix tooltip overflow in the Tree Visual component
  • Desktop: Fix unread message count initialization issue
  • Desktop: Optimize topic tree scrollbar corner style
  • Desktop: Optimize topic tooltip display timing
  • CLI: Fix issues with receiving certain binary file types
  • CLI: Fix multiple lines of publishing support on the pipeline
  • CLI: Fix option configuration override issue
  • CLI: Move @faker-js/faker to dependencies

Preview 🖼️

image

What's Changed ♻️

New Contributors

Full Changelog: v1.11.0...v1.11.1

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