Releases: EdJoPaTo/mqttui
Releases · EdJoPaTo/mqttui
v0.21.1
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
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
v0.20.0
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 °C
→20.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:
- @alex007sirois
- @andree-b
- @arturxedex128
- @b-reich
- @darcyg
- @lanceybp
- @matthiasbeyer
- @misery
- @sj13824803000
- @sshaikh
- @Teufelchen1
- @TheNeikos
I hope I haven't forgotten anyone 😇
v0.19.0
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
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
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
(likemqtt://
) - Performance: Do not store topic on each history entry
- Performance: Store
String
asBox<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
v0.16.1
v0.16.0
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.