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 😇