Skip to content

Releases: EdJoPaTo/mqttui

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.

v0.15.0

14 Feb 21:00
Compare
Choose a tag to compare

Added

  • New log subcommand to watch topics and prints them to stdout.

Changed

  • CLI: ValueHint improves autocompletion.

Fixed

  • Interactive: Don't error on quit about the main thread being gone.