The biggest MQTT Viewer release yet: topic charting, a message library with collections, bounded memory with opt-in on-disk history, image payload previews, and a full migration to Wails v3 under the hood.
Highlights
📈 Topic charting (#43) — tick numeric fields in any topic's payload and chart them over time, live. Pop the chart out into its own window to keep watching while you browse other topics.
🗂️ Message library (#5, #42) — the new sidebar houses collections of saved messages (global or per-connection), your publish history, and search across both. Connection controls moved into the sidebar too.
🧠 Bounded memory + durable history — in-RAM message history is now capped by a configurable budget (default 512 MB), so long-running subscriptions no longer grow without limit. Optionally record history to disk (default budget 1 GB) and page back through it from the timeline.
🖼️ Image payload previews (#35) — PNG/JPEG/GIF/WebP/BMP payloads render as images in the payload tab, with a raw-bytes toggle.
⚙️ Wails v3 — the app runtime moved from Wails v2 to v3, bringing a native in-app updater, the window infrastructure behind chart pop-outs, and fixes for Linux:
- Fedora and other non-Debian distros: the app no longer crashes at startup (#36) — install the new rpm (or deb/zip).
- AppImage renders correctly again on Ubuntu/Mint-family distros (#48); it needs
libwebkit2gtk-4.1-0from your distro.
Fixes
- Publishing immediately after typing no longer sends a stale payload.
- Right panel width is remembered across sessions (#11).
- Client publishes no longer include a subscription identifier (MQTT 5).
- Dependency security updates (paho.mqtt 1.5.1, golang.org/x/*, Go 1.25).
What's Changed
- Add GitHub Copilot instructions and setup workflow by @samfweb with @Copilot in #50
- fix: make Design System CI workflow pass by @samfweb in #67
- fix: make editor text selection clearly visible by @samfweb in #59
- fix: enable arrow-key navigation in message timeline by @samfweb in #61
- fix: display UTF-8 payloads correctly by @samfweb in #62
- fix: make db migrations atomic and clean stale sqlite sidecar files by @samfweb in #63
- feat: add hex payload view format by @samfweb in #64
- feat: auto-reconnect to broker on unexpected connection loss by @samfweb in #65
- feat: export message history to JSON file by @samfweb in #66
- feat: add light mode with persisted theme toggle by @samfweb in #69
- Fix broken TS bindings generated from sql.Null-style types by @samfweb in #70
- fix: drop subscription identifier from client publishes; correct proto test counts by @samfweb in #72
- fix: bound message memory + opt-in durable history by @samfweb in #74
- feat: topic charting with pop-out window (#43) by @samfweb in #75
New Contributors
Full Changelog: v0.6.5...v0.7.0