MeshMonitor v4.16.2-rc3
⚠️ This is a pre-release for testing. It is not recommended for production use.
Summary
Coverage Report is new under Reports → Coverage. It is a passive replacement for the Range Test module that firmware 2.8 removed. MeshMonitor sends nothing: it stores every position fix your radios, MQTT gateways and MeshCore receivers hear, with SNR, RSSI and hop data, and plots them on a map coloured by signal. The report has coverage gaps, a summary, a grid view, export, deep links and saved surveys.
The Info tab and Dashboard now split traffic by transport (RF / UDP / MQTT):
- Network Survey, Packet Distribution, node and message totals, and per-transport route-segment records.
- New "Traffic by Transport" charts.
- The counters the node's firmware reports itself are labelled as covering all transports.
Other new features:
- A preview-first telemetry outlier purge.
- A
{{ trigger.packetHash }}automation token that links MeshCore messages to CoreScope maps. - A MeshCore "Add to radio" action.
MeshCore adverts now default to zero-hop, and automated flood adverts are capped at one per hour per source.
Fixes: PostgreSQL restores (migration 174 repairs installs already restored), MeshCore node lists and login errors, channel-frame matching, channel deletion and drag-reorder, and Position History clicks.
Watch for: migrations 169–174 run on upgrade. The Longest Active and Record Holder cards now need the traceroute permission on the source.
Features
- feat(coverage): Coverage Report — measured RF coverage map, Phase 1 (#5334)
- feat(coverage): MQTT gateway receivers for the Coverage Report, Phase 2 (#5336)
- feat(coverage): MeshCore receptions on the Coverage Report, Phase 3 (#5337)
- feat(coverage): gaps, summary, grid, export and deep links, Phase 4a (#5348)
- feat(coverage): saved surveys, Phase 4b (#5353)
- feat(info): per-transport breakdown, Phase 1 (#5329)
- feat(transport): per-transport route records and message split, Phase 2 (#5330)
- feat(telemetry): per-transport traffic series + device-counter labels, Phase 3 (#5332)
- feat(telemetry): purge telemetry outliers with preview (#5335)
- feat(automation):
{{ trigger.packetHash }}for MeshCore messages; verify channel frames by decryption (#5359) - feat(meshcore): zero-hop adverts by default, hourly floor on automated floods (#5347)
- Add Discord Webhook DM/PUBLIC to User Scripts Gallery (#5346)
Bug Fixes
- fix(meshcore): stable node list, clear not-on-radio errors, unambiguous prefix lookups (#5351)
- fix(restore): reset PostgreSQL sequences after restore; migration 174 repairs restored installs (#5355)
- fix(channels): delete the channel row, and shift cards while dragging (#5326)
- fix(map): position-history heading triangle no longer blocks the dot beneath (#5358)
Release
- chore(release): bump to 4.16.2-rc3, and write its changelog section (#5360)
Issues Resolved
- #5101 Per-transport breakdown: Record Holder, Radio Statistics, Network Statistics
- #5277 MM-native Range Test (delivered as the passive Coverage Report)
- #5324 Deleted channel leaves an empty channel slot (partial: the two bugs found while investigating are fixed; the issue stays open)
- #5333 Purge telemetry outliers
- #5345 User Script Submission: MeshMonitor-Discord
- #5349 MeshCore short-prefix collision symptoms
- #5356 Position History heading triangle blocks the circle beneath
- #5357 Expose the MeshCore on-wire packet hash on the message trigger
Thanks
Thanks to @coinraiser for contributing the MeshMonitor-Discord scripts to the User Scripts Gallery, and to the Discord community members whose reports drove this RC.
Upgrade notes
- Migrations 169–174 run on first start: new transport columns on
route_segmentsandmessages, a record-holder reclassify, thecoverage_receptionstable, and a PostgreSQL sequence repair. All are idempotent. - The Longest Active and Record Holder cards now need
traceroute:readon the source, and Clear Record needstraceroute:write. - Saved MeshCore advert configs with no mode set keep flooding, but now fall under the one-per-hour limit.
Full Changelog: v4.16.2-rc2...v4.16.2-rc3
🚀 MeshMonitor v4.16.2-rc3
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.16.2-rc3🧪 Testing
✅ All tests passed
✅ TypeScript checks passed
✅ Docker images built for linux/amd64, linux/arm64, linux/arm/v7
📋 Changes
See commit history for detailed changes.