MeshMonitor v4.15.0
A large feature release with no breaking changes. MeshMonitor 4.15 reaches past Meshtastic and MeshCore to a third network, adds tools to plan and survey RF coverage, and tells you far more about what happened to every message you send. Reticulum joins as a first-class monitored network — LXMF messaging, position and telemetry, own-mode radio, and full topology / remote monitoring. A new predictive RF coverage model and Site Planner estimate a node's reach from a Fresnel-zone + path-loss model, while a passive network survey derives reach, neighbours, and hop distribution from traffic you already received. Click any message for Delivery Details: the exact routing result, a per-message event timeline, and a Heard-By correlation of which nodes relayed it. Maps gain 3D terrain across every surface with markers that match the 2D view, a GNSS satellite overlay, and a hybrid satellite tile. Rounding it out: a Prometheus metrics endpoint, Node Status Messages, telemetry CSV export, completed MeshBeacon + XEdDSA support, and a long list of fixes.
Full notes live in the CHANGELOG.
Features
- Reticulum network support — LXMF messaging, position/telemetry, own-mode radio, and topology / remote monitoring (#3960)
- Predictive RF coverage & Site Planner — Fresnel-zone + path-loss model, sweep, API, and map layer (#4727, #4741, #4746)
- Passive network survey — reach, neighbours, and hop distribution from received traffic (#4726, #4737)
- Message Delivery Details — RoutingError codes, per-message timeline, Heard-By correlation (#4816, #4837, #4839, #4841, #4842, #4855)
- 3D maps — terrain on all map surfaces + 2D-matching node markers with clickable popups (#4704, #4808)
- GNSS satellite constellation overlay — sky plot + DOP map (#4729)
- Satellite + labels (hybrid) map tiles (#4728)
- Prometheus metrics endpoint (#4757)
- Node Status Messages — receive + display (#4818)
- MeshBeacon — completed MeshBeacon + XEdDSA, invitation card, broadcast interval / transmit region config (#4689, #4723, #4735, #4802)
- Telemetry graph CSV export (#4771)
- Automation additions — Run Now, waypoint-anchored geofence, triggering message in the run log (#4827, #4722, #4716)
- Map & node-list — non-linear age filter, Uptime sort, incomplete-NodeInfo badge (#4770, #4814, #4720)
- MeshCore ⭐ favorite syncs to the firmware favourite bit (#4838)
- Notifications show service, channel, and instance (#4845)
- Public-key mismatch is explained, not asserted (#4747)
- Position-precision warning for the public-channel clamp (#4710)
- More languages — Polish and Traditional Chinese (#4748, #4742)
Bug Fixes
- Relayed packets no longer attribute RSSI/SNR to the source node (#4857)
- ACK metadata persists for confirmed DMs (#4855)
- Node metrics refresh from MQTT telemetry (#4755)
- MeshCore: honour temperature unit (#4805), preserve hop hash width in Trace Path (#4787), reserve channel 0 for Public (#4734)
- Traceroute channel resolution — three bypassing paths + PSK/name gaps (#4712)
- Firmware region names all resolve; stop writing UNSET to radios (#4749)
- EnvironmentMetrics current labelled mA, not A (#4780)
- Bearer API tokens accepted on requireAdmin routes (#4784)
- Sign-in reachable on a source without connection permission (#4829)
- Invisible links on sent message bubbles (#4821)
- Mobile bottom nav tappable under the search modal + CSS quirks (#4789, #4776)
- Waypoints persist their virtual flag on edit (#4798)
- Packet log drops exact-duplicate receptions (#4812)
- NodeInfo history recorded only for the local node (#4810)
- Virtual node stops advertising a stale local node number (#4779)
- Automation:
!hexdeviceReboot targets (#4832), MT↔MC bridge relays operator's own messages (#4695, #4699) - Position-history rendering/fetching bounded (#4744)
- Async TCP socket write failures propagate (#4692)
- Map node popups render one card, not a card inside a card (#4677)
Changed
- MapLibre GL upgraded v5 → v6 (#4781)
- Airtime neighbour averaging counts CLIENT_BASE as infrastructure (#4831)
- Traffic Management gated on firmware 2.8 (#4807)
Thanks
Thanks to the community contributors in this release: @zaepho, @temalo, @rncchen, @gztproject, @gdiciocco, and @antitree — plus translations via Weblate.
Full changelog: v4.14.1...v4.15.0
🚀 MeshMonitor v4.15.0
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.15.0🧪 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.