Skip to content

Releases: EdJoPaTo/mqttui

v0.22.0

01 Mar 18:02
021ad89
Compare
Choose a tag to compare

Added

  • Interactive: o on the topic tree opens all currently known topics. O (Shift + o) closes all topics.
  • Interactive: Remove history entries in the history table with Del or Backspace. This might be neat to cleanup some graphs while testing devices without restarting mqttui.
    As this changes the cached history and might be weird to understand (sending an empty payload to cleanup some retained values is something different) this is a somewhat hidden feature and isnt shown in the footer / key hints.

Fixed

  • Interactive: Only handle key pressed events and ignore released events.
  • Dont fail when some platform certificates can't be loaded. Print a warning and continue. The needed certificates might be included that way.

v0.21.1

30 Jul 10:07
9c3ff71
Compare
Choose a tag to compare

Changed

  • Interactive: Show cursor on search input

Fixed

  • Update to ratatui 0.26.3 to prevent panic at truncation of Unicode multi-width characters. See ratatui/ratatui#1089 for more details.

v0.21.0

17 Apr 15:11
965f61f
Compare
Choose a tag to compare

Changed

  • Provide better error output on initial MQTT connection errors
  • Interactive: When payload is focused it can occupy more space when needed.
  • Interactive: Show total amount of messages in the topic overview title
  • Log: Provide machine-readable newline-delimited output with --json
  • Log: Print --verbose to stderr instead of stdout

Special thanks

  • To @gjabell for the improvements of the log sub-command
  • To @orhun for adding mqttui to the official Arch Linux repos

v0.20.0

26 Feb 22:26
d96914f
Compare
Choose a tag to compare

This ended up being quite a big release with a lot of new and improved features.
In case I have broken something, feel free to open an issue!
Otherwise, enjoy the new release!

Added

  • Interactive: Topic search
  • Interactive: History table entry is selectable (keyboard & mouse) to view a payload in detail
  • Interactive: Scrolling moves view not selection and has scrollbars
  • Interactive: graph plots values with units will ignore everything after the whitespace (20.0 °C20.0)
  • Publish from stdin (and with that from file contents)
  • Support for decoding MessagePack payloads
  • Support for binary payloads
  • Interactive: Truncate payloads to ´--payload-size-limit´ for reduced RAM usage
  • Auto-generated man pages from CLI definition (clap)

Changed

  • Interactive: Fewer borders for more content characters like longer topics in the overview
  • Interactive: Display version & broker in the lower right corner
  • Interactive: Display MQTT connection error in its own area
  • Interactive: Only display keys in footer when useful
  • Interactive: JSON Payload takes only required space for bigger history/graph view
  • CLI: Group MQTT connection related options in --help
  • Read One: Output raw payload or --pretty
  • Build: always build with TLS support
  • Performance: Debounce input events on interactive draw (especially noticeable on many events like scrolling)
  • Performance: Fewer clones on interactive draw
  • Performance: Don't keep Timezone information of each message
  • Performance: Don't clone each incoming MQTT payload
  • Performance: Don't clone TLS private key on startup

Fixed

  • Keep selected JSON object keys selected (by key, not by index as before)
  • Always quit on Ctrl + C (q still only quits when not typing anything)
  • Catch panics on interactive and clean up terminal correctly before displaying them

Thanks

A special thanks to @Juerd and @dbellingroth-eepos for their Pull Requests!
And to the following ones (alphabetical) for providing ideas, reported bugs and issues and tested the work in progress:

I hope I haven't forgotten anyone 😇

v0.19.0

17 May 19:39
Compare
Choose a tag to compare

Added

  • TLS client certificate authentication
  • Interactive: Vim paging keys
  • Interactive: Show messages per second instead of every n seconds when >1 per second
  • Interactive: Allow to subscribe to multiple topics
  • ReadOne: New Subcommand to receive one payload from a given topic

Changed

  • Performance: drop mutex locks faster
  • Performance: less variable clones

v0.18.0

06 Oct 10:51
Compare
Choose a tag to compare

Changed

  • Smaller Info Header at the top (only 2 lines instead of 5)
  • Performance: Simplify interactive drawing logic

Fixed

  • Clean retained from interactive now uses the same mqtt connection. It now publishes on all topics below rather than only retained ones to ensure everything is being cleaned.
  • Precompiled x86_64 build works again on Debian 11

v0.17.0

07 Sep 21:39
Compare
Choose a tag to compare

Added

  • Support TLS encryption (via --broker mqtts://)
  • Support websockets (via --broker ws:// or --broker wss://)
  • Mouse clicks now select the overview / JSON Payload area
  • Home/End key support for overview and JSON Payload area
  • PageUp/Down key support for the overview
  • Add key hints in the bottom of the TUI

Changed

  • Combine MQTT --broker host and --port port into single --broker mqtt://host:port
  • Require URL scheme prefix for --broker (like mqtt://)
  • Performance: Do not store topic on each history entry
  • Performance: Store String as Box<str>
  • Performance: Store less data on non-UTF8 payload
  • Performance: Use RwLock over Mutex
  • Performance: Simplify interactive drawing logic
  • Performance: Simplify non-interactive output logic
  • Performance: Only update TUI when key/mouse event did something

Fixed

  • Simplify JSON Payload view of non-Object/Array datatypes (don't prefix with "root: ")

v0.16.2

01 May 09:24
Compare
Choose a tag to compare

Fixed

  • Dont crash / endless loop on payloads bigger than 10 kB.

Changed

  • Parse payload content (JSON/UTF8-String/other) only once. Before it was done on every display update.
  • Less data cloning while showing the graph improves performance.

v0.16.1

23 Mar 11:05
Compare
Choose a tag to compare

Added

  • Package as deb/rpm packages.

Fixed

  • Only panic on MQTT startup errors. Continue on errors when the startup worked fine.

v0.16.0

10 Mar 11:54
Compare
Choose a tag to compare

Added

  • clean-retained subcommand to clean retained topics.
  • Interactive: Press Delete or Backspace to clean retained topics from the selected topic tree.
  • Alias for log subcommand: mqttui l.

Changed

  • Interactive: Improve performance of the graphs.
  • Interactive: Reimplement the mqtt history data structure to be both simpler and faster.

Fixed

  • Interactive: Don't plot non-finite numbers.
  • Do not display mqtt password from env in --help.