EMQX Dedicated New Feature: Event History is available for private beta test. →

MQTTX 1.9.9 Released: Debug Logging and UI Flexibility

MQTTX Team
Mar 4, 2024
MQTTX 1.9.9 Released: Debug Logging and UI Flexibility

MQTTX 1.9.9 is now available with critical updates: improved connection events, CBOR data format support, customizable log levels for debugging, and enhanced UI flexibility. This release optimizes connection management, data handling, and user experience.

Download the latest version here: https://mqttx.app/downloads

Log Level

The latest MQTTX Desktop update introduces log-level customization, including debugging logging, for finer insight into connection statuses. Now accessible from settings or the log page's top-right corner, users can select from levels: DEBUG, INFO, WARN, ERROR. This means choosing DEBUG shows all logs, while ERROR displays only errors, streamlining troubleshooting.

MQTTX Desktop now allows users to customize log levels. The update includes debugging logs for more in-depth insights into connection statuses. Users can select from four levels: DEBUG, INFO, WARN, ERROR from settings or the log page. DEBUG shows all logs, while ERROR displays only errors, streamlining troubleshooting.

Log Level 1

Log Level 2

This update also improves MQTTX's diagnostic capabilities, making tracking and resolving issues easier.

Log Level 3

Connection List Visibility

The latest version allows users to hide the connection list with a simple click, focusing on the current connection's details for a cleaner and more targeted debugging experience. With this adjustment, users can enjoy a neater interface that adapts efficiently to different screen sizes, thus improving the overall usability of the application. This caters to a seamless workflow, enabling users to minimize distractions and better manage screen real estate.

Connection List Visibility 1

Connection List Visibility 2

CBOR Support

MQTTX now supports CBOR (Concise Binary Object Representation), an efficient data format that surpasses JSON in data optimization. This advancement enables devices to perform better, use less network bandwidth, and conserve battery life. Learn more about CBOR at cbor.io.

The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.

Desktop

In MQTTX Desktop, users can now choose CBOR for data transmission:

  • To send messages, choose CBOR format and input JSON data.
  • When receiving messages, select CBOR format, which automatically decodes the data to JSON.

CBOR Support

CLI

With the --format cbor option, MQTTX CLI embraces CBOR:

  • For subscribing to messages:

    mqttx sub -h broker.emqx.io -t 'cbor' --format cbor
    
  • For publishing messages:

    mqttx pub -h broker.emqx.io -t 'cbor' -m '{"msg": "hello"}' --format cbor
    

MQTTX CLI CBOR

This update was made possible thanks to the valuable contribution from @Danfx. His dedication and support have been instrumental in furthering MQTTX's capabilities.

Bench Pub Messages Limit

The bench pub command now supports a --limit option to specify the number of messages to publish. Use -L or --limit <NUMBER> to set this, where 0 means unlimited (default is 0).

For example, to publish 100 messages, you'd use:

mqttx bench pub -h broker.emqx.io -t 'testtopic' -m 'hello' -c 10 --limit 100

Bench Pub Messages Limit

This feature allows for controlled publishing, enabling users to limit the data volume for testing or resource management purposes.

Expanded MQTTX Copilot

The MQTTX Copilot now supports more client code generation options for both software and hardware projects, including UI frameworks like Vue.js and React, hardware platforms such as ESP32, ESP8266, Arduino, Raspberry Pi, and mobile applications for Android, iOS, React Native, and Flutter. This broadens its use for a variety of development projects.

Expanded MQTTX Copilot

Others

In this release, we've also made several other enhancements and updates to improve your experience:

  • Connection Events: We've enhanced support for disconnect and offline events across Desktop, Web, and CLI platforms. These improvements ensure better handling and robustness in connection management, including specific behaviors when disconnect packets are received from the broker or when the client goes offline.
  • Connection Issues Fix: In the desktop version, we've fixed an issue to ensure the reconnect feature operates only within the current connection's page.
  • UI/UX Enhancements: Desktop and web interfaces have received updates for a more cohesive and user-friendly experience. This includes clearer log messages and updated icons.
  • Documentation and Readme Updates: We've simplified and updated the CLI readme and badges, making it easier for new users to get started and for existing users to understand the tool's capabilities more clearly.

Roadmap

In the next development phase following MQTTX 1.9.9, we will focus on boosting visualization capabilities and introducing other key features and improvements.

  • Payload Chart Visualization Enhancement - MQTTX Viewer:
    • Topic Tree View: Enhance organization and visualization of topics.
    • Diff View: Compare different messages or payloads easily.
    • Dashboard View: Offer a customizable overview of MQTT activities for personalized insights.
    • JSON View: Improve handling and display of JSON formatted data.
    • System Topic View: Specialized view for system-related MQTT topics.
  • Support for Configurable Disconnect Properties (MQTT 5.0): Enhance connection management with customizable disconnection settings.
  • IoT Scenario Data Simulation: Bring this feature to the desktop client to ease IoT scenario testing.
  • Sparkplug B Support: Extend MQTTX functionalities to include support for Sparkplug B.
  • QoS 0 Message Storage Optimization: Configurable options to reduce storage space usage.
  • MQTT GUI Debug Functionality: New features to aid in debugging MQTT communications.
  • Plugin Functionality: Introduction of a plugin system supporting protocol extensions like CoAP and MQTT-SN.
  • Avro Message Format Support: Encoding and decoding capabilities for Avro message format.
  • Script Test Automation (Flow): Simplify the creation and management of automated testing workflows.
Try MQTTX for Free
Get Started →

Related Posts