Skip to content

v1.13.2

Latest

Choose a tag to compare

@ysfscream ysfscream released this 26 Oct 03:00

Release Note 🎉

🤖 MQTTX Agent · Dashboard 📊 · GZIP Decompression

MQTTX 1.13.2 introduces MQTTX Agent and makes Dashboard available for the first time.

MQTTX Agent 🤖

MQTTX Agent is an AI Agent for operating MQTTX through natural language, covering connections, messaging, troubleshooting, and device interaction.

  • Less repetitive setup: Describe a multi-step task to configure connections, manage subscriptions, and publish messages.
  • Device interaction: Query device state, send commands, and check feedback using the device's existing MQTT protocol.
  • Help with troubleshooting: Analyze connection details, messages, and logs to investigate communication problems.
  • Simpler integration setup: Generate client code, test data, schemas, and message transformation scripts.

Ask mode requires approval for changes. See the Agent guide for setup and usage.

MQTTX Agent in a floating window

Dashboard 📊

Dashboard is available for the first time and can be configured independently.

  • Inspect device state: Display temperature, humidity, pressure, and other fields as live readings, gauges, and trend charts.
  • Compare metrics together: Observe data from different connections, topics, and fields in one dashboard.
  • Review changes over time: Query messages saved locally within a time range. Live updates and history queries both support MQTT + and # topic filters.

Connect to the broker and subscribe to source topics before configuring Viewer → Dashboard. See the Dashboard guide.

MQTTX Dashboard with telemetry widgets and a temperature chart

Other improvements 🌈

Desktop and Web:

  • Optional GZIP decompression displays compressed messages directly.
  • Individual publish-topic history entries can be deleted.
  • Clean-session connections support deleting or disabling subscriptions offline. Persistent sessions still require a connection to change broker subscriptions.
  • The empty page adds quick connection actions and easier access to the connection list.
  • The About page adds EMQ product and learning links.

Desktop:

  • Each connection keeps its own publish topic, payload draft, and publish history.
  • The connection form supports group selection; JSON backups preserve group membership.
  • Large Topic Trees are easier to browse and update. The resizable information panel shows direct sub-topics, counts, and depth; expanding a large tree requires confirmation.
  • MQTT 5.0 Response Information returned by the broker is displayed.
  • Decompressed messages show a GZIP indicator.
  • Connection and group rows add menu buttons.

CLI:

  • MQTT 5.0 Response Information is displayed when requested and returned by the broker.
  • Root help adds EMQ product and learning links.

Fixes 🛠

Desktop and Web:

  • Corrected topic-filter matching for wildcards, system topics, shared subscriptions, and case sensitivity.
  • The active topic filter remains visible and can be cleared directly.
  • Fixed the Confirm button staying in a loading state after subscription edits.
  • Clearing optional MQTT 5 numeric properties, including Will Delay Interval, no longer passes empty strings.
  • Fixed topic-color readability and scrollbar-induced QoS label wrapping.

Desktop:

  • Topic searches preserve subscription filters; history paging retains records near page boundaries.
  • Edited connection settings take effect immediately, and stale clients stop reconnecting.
  • Collapsed group state survives navigation, and newly created connections appear correctly.
  • Clearing connection history requires confirmation; Ctrl+W / Cmd+W in the main window no longer quits the app.
  • Apple Silicon installs the native CLI architecture.
  • Corrected nested Protobuf indentation; unreadable Excel files show an import error.
  • Corrected Agent subscription counts, connection context and the @ menu after reload, and reasoning-setting transmission.
  • Improved Agent reply spacing, menus, translations, lists, layouts, and chart resizing.

Web:

  • Fixed the connection list remaining collapsed when opened from the empty page.
  • Web builds accept Node.js versions matching >=18.

The release also updates READMEs and feature docs, adds lint checks, removes unused code, and improves npm publishing and provenance metadata.

Combined example: prepare data with the Agent and view it in Dashboard 🧩

Create a temporary Zero EMQX broker, save its connection as Factory Demo, and connect. Subscribe to factory/+/telemetry. Publish 12 JSON messages with varying temperature, humidity, and pressure values to factory/line-01/telemetry, one at a time. Create a Factory Overview dashboard with the current readings and a temperature trend, then open it.

Ask mode requires approval for the relevant actions. The dashboard displays the received samples and updates as further messages arrive. Zero EMQX provides a free temporary broker; its lifetime follows the creation result.

简体中文

🤖 MQTTX Agent · Dashboard 📊 · GZIP 消息解压

MQTTX 1.13.2 带来 MQTTX Agent 与首次开放的 Dashboard。

MQTTX Agent 🤖

MQTTX Agent 是用自然语言操作 MQTTX 的 AI Agent,覆盖连接管理、消息收发、问题排查和设备交互。

  • 减少重复操作:用自然语言完成连接配置、订阅和消息发布等多步任务。
  • 与设备交互:按设备已有的 MQTT 协议查询状态、发送指令并检查反馈。
  • 辅助排查通信问题:结合连接信息、消息和日志分析异常。
  • 简化接入准备:生成客户端代码、测试数据、Schema 和消息转换脚本。

Ask 模式下,变更操作需批准。配置与用法见 Agent 文档。

Dashboard 📊

Dashboard 首次开放,可独立配置设备数据看板。

  • 查看设备状态:用数值、仪表盘和趋势图展示温度、湿度、压力等字段。
  • 集中比较指标:在同一看板观察不同连接、主题和字段的数据。
  • 回看数据变化:按时间范围查询本机已保存的消息;实时与历史查询均支持 MQTT +、# 主题过滤。

先连接 Broker 并订阅数据源,再进入 Viewer → Dashboard 配置。步骤见 Dashboard 文档。

其他改进 🌈

Desktop 和 Web:

  • 支持可选的 GZIP 消息解压,直接查看压缩消息。
  • 支持删除单条发布主题历史。
  • Clean Session 连接支持离线删除或禁用订阅;持久会话仍需连接后修改 Broker 订阅。
  • 连接空页面提供快速连接入口,改善连接列表访问。
  • About 页面增加 EMQ 产品与学习资源链接。

Desktop:

  • 各连接独立保存发布主题、Payload 草稿和发布历史。
  • 连接表单支持选择分组,JSON 备份保留分组归属。
  • 改善大型 Topic Tree 浏览与更新;可调整大小的信息面板展示直接子主题、数量和深度,展开大型主题树前请求确认。
  • 显示 Broker 返回的 MQTT 5.0 Response Information。
  • 已解压消息显示 GZIP 标记。
  • 连接与分组行增加菜单按钮。

CLI:

  • 在请求且 Broker 返回时,输出 MQTT 5.0 Response Information。
  • 根帮助增加 EMQ 产品与学习资源链接。

修复 🛠

Desktop 和 Web:

  • 修正主题过滤的通配符、系统主题、共享订阅和大小写匹配。
  • 当前主题过滤条件保持可见,支持直接清除。
  • 修复编辑订阅后确定按钮持续加载的问题。
  • 清空 Will Delay Interval 等可选 MQTT 5 数值属性后,不再传入空字符串。
  • 修复主题颜色可读性及滚动条导致 QoS 标签换行的问题。

Desktop:

  • 搜索主题时保留订阅过滤条件,翻阅历史时保留页边界附近的记录。
  • 修改连接配置后立即生效,旧客户端停止重连。
  • 分组收起状态在页面切换后保留,新建连接正确显示。
  • 清空连接历史前请求确认;主窗口中的 Ctrl+W / Cmd+W 不再退出应用。
  • Apple Silicon 安装原生架构的 CLI。
  • 修正 Protobuf 嵌套解码缩进;无法读取的 Excel 文件显示导入错误。
  • 修正 Agent 订阅数量、重载后的连接上下文和 @ 菜单,以及推理设置传递。
  • 改善 Agent 回复间距,以及菜单、翻译、列表、布局和图表缩放。

Web:

  • 修复从空页面打开连接列表时未展开的问题。
  • Web 构建允许符合 >=18 的 Node.js 版本。

另更新 README 与功能文档,加入 lint 验证,清理未使用代码,完善 npm 发布与 provenance 元数据。

组合示例:用 Agent 准备数据,用 Dashboard 查看结果 🧩

创建临时 Zero EMQX Broker,将连接保存为 Factory Demo 并连接。订阅 factory/+/telemetry,向 factory/line-01/telemetry 逐条发布 12 条包含不同温度、湿度和压力值的 JSON 消息。创建 Factory Overview 看板,展示当前读数和温度趋势,然后打开它。

Ask 模式下需批准相应操作。看板展示收到的样本,并在后续消息到达时更新。Zero EMQX 为免费临时 Broker,有效期以创建结果为准。


What's Changed

  • fix: make topic colors legible across dark, night, and light themes by @deviationist in #2050
  • feat(connections): move Clear History button from menu to hotbar by @DanInSpace104 in #2052
  • fix: align web topic text constant and hoist topicTextColor invariants by @ysfscream in #2069
  • refactor(connections): remove unreachable clearHistory command dispatch by @ysfscream in #2070
  • chore(lint): repair eslint config, resolve errors, apply prettier + eslint --fix by @ysfscream in #2071
  • ci: add lint check workflow for desktop app by @ysfscream in #2072
  • fix(desktop): reset subscription dialog loading on all edit paths by @ysfscream in #2074
  • fix(mqtt): drop empty-string MQTT 5 properties from cleared number inputs by @ysfscream in #2073
  • fix(web): reset subscription dialog loading on all edit paths by @ysfscream in #2076
  • fix(web): relax engines.node constraint to >=18 by @ysfscream in #2075
  • fix(connections): keep QoS on the same line when scrollbar appears by @ysfscream in #2079
  • fix(desktop): align closing braces in protobuf decoded output by @ysfscream in #2081
  • feat(publish): support deleting individual publish topic history by @ysfscream in #2082
  • fix(connections): select groups in the connection form by @ysfscream in #2088
  • feat(cli): display requested MQTT 5 response information by @ysfscream in #2085
  • feat(desktop): display CONNACK response information by @ysfscream in #2090
  • fix(desktop): install native CLI on Apple Silicon by @ysfscream in #2093
  • feat(desktop): preserve connection groups in JSON backups by @ysfscream in #2091
  • fix(desktop): preserve subscription filter during topic search by @ysfscream in #2083
  • fix(desktop): preserve nearest messages when paging older history by @ysfscream in #2086
  • fix(desktop,web): align MQTT topic filtering by @ysfscream in #2084
  • fix(desktop): apply topic patterns to live dashboard messages by @ysfscream in #2094
  • feat(connections): allow deleting and disabling subscriptions when disconnected by @sourabhburse in #2064
  • fix(desktop): keep Ctrl+W/Cmd+W from quitting via the main window by @ysfscream in #2096
  • refactor(desktop): remove unused payload history update method by @ysfscream in #2098
  • fix(connections): preserve collapsed groups across navigation by @ysfscream in #2089
  • feat: promote Device Agent in About pages and CLI help by @ysfscream in #2099
  • fix(desktop,web): show and clear the active topic filter by @ysfscream in #2087
  • feat(desktop): keep publish area and history per connection by @ysfscream in #2092
  • fix(desktop): show the hidden connection list from the empty page by @ysfscream in #2101
  • fix(desktop): ensure updated connection config takes effect immediately by @XuKing in #2095
  • fix(desktop): confirm before clearing connection history by @ysfscream in #2105
  • feat(desktop): redesign the connections empty page by @ysfscream in #2109
  • feat(web): bring the redesigned empty page to MQTTX Web by @ysfscream in #2110
  • fix(web): show the hidden connection list from the empty page by @ysfscream in #2111
  • feat(desktop): polish the dashboard, fix its data loading and show its tab again by @ysfscream in #2107
  • feat(desktop): turn Copilot into MQTTX Agent on the latest AI SDK by @ysfscream in #2097
  • perf(desktop): keep the Topic Tree responsive with large topic sets by @ysfscream in #2106
  • feat: add support for GZIP decompression by @T3rm1 in #2051
  • feat(web): decompress gzip messages from a settings switch by @ysfscream in #2102
  • feat(desktop): mark GZIP-decompressed messages by @ysfscream in #2113
  • fix(desktop): keep the Agent from changing its own reasoning strength by @ysfscream in #2112
  • fix(desktop): list the connections in the Agent @ menu after a reload by @ysfscream in #2115
  • feat(desktop): let the Agent create and use a free Zero EMQX broker by @ysfscream in #2114
  • refactor(desktop): simplify MQTTX Agent internals by @ysfscream in #2116
  • style(desktop): align the dashboard menus, gauge and widget editor by @ysfscream in #2117
  • style(desktop): share one ⋯ trigger and one menu surface by @ysfscream in #2118
  • fix(desktop): translate the remaining hard-coded English by @ysfscream in #2119
  • refactor(desktop): stop styles from depending on which page loaded first by @ysfscream in #2120
  • refactor(desktop): build the Payload Inspector message header once by @ysfscream in #2121
  • refactor(desktop): share the chart resize observer by @ysfscream in #2125
  • refactor(desktop): share the view height and the pane drag by @ysfscream in #2123
  • fix(desktop): scope the styles of four views by @ysfscream in #2122
  • feat(desktop): add a row menu button to connections and groups by @ysfscream in #2124
  • fix(desktop): align connection list rows with the other lists by @ysfscream in #2126
  • docs: refresh READMEs and desktop docs for v1.13.2 by @ysfscream in #2103
  • fix(desktop): improve Agent reply readability by @ysfscream in #2127
  • fix(desktop): match MQTT topic filters in Viewer history by @ysfscream in #2129
  • fix(desktop): count persisted subscriptions in Agent connection lists by @ysfscream in #2130
  • fix(ci): separate CLI build and npm publish runtimes by @ysfscream in #2131
  • 1.13.2 by @ysfscream in #2132
  • fix(cli): declare repository metadata for npm provenance by @ysfscream in #2133
  • refactor: simplify release preparation code and tests by @ysfscream in #2134

New Contributors

Full Changelog: v1.13.1...v1.13.2