github Yeraze/meshmonitor v4.15.2-rc3

pre-release5 hours ago

MeshMonitor v4.15.2-rc3

⚠️ Pre-release (release candidate). For testing ahead of the 4.15.2 final. Docker :latest is not updated by this build.

Summary

This RC builds on rc2 with a mix of MeshCore reliability fixes, map/UX improvements, and the Device Health automation work. On the reliability side, MeshCore forward-path (set_out_path) writes are now confirmed by re-reading the device contact rather than trusting the tag-less companion ack, fixing paths that silently failed on WiFi-connected companions (#4631), and LogRxData receptions are correlated by identity instead of hop count so slow USB companions no longer lose scope/route/SNR (#4883). MeshCore repeaters and room servers get their own configurable age window so they stop vanishing from the map between infrequent adverts (#4899), and per-node neighbour retrieval plus device-health trigger parity round out the MeshCore feature set. The Map Analysis toolbar is reorganised into labeled dropdown menus to fit narrower screens (#4871), the Unified/Dashboard map gains a Zoom-to-Fit control (#4898), and the MeshCore conversation view puts scope-override and toolbar controls on one row (#4888). The GNSS constellation overlay picks up event-loop yielding, more robust TLE parsing, and a corrected time anchor (#4797). Rounds out with a translations refresh and routine dependency bumps.

Features

  • MeshCore infrastructure age timeout — a separate, configurable age window for repeaters/room servers so fixed infrastructure doesn't age off the Nodes list or map (#4901, closes #4899)
  • Map Analysis grouped toolbar — the layer/tool controls collapse into labeled dropdown menus with active-count badges (#4886, closes #4871)
  • Zoom to Fit on the Unified/Dashboard map (#4902, closes #4898)
  • MeshCore device-health trigger parity for the automation engine (#4887, part of #4558)
  • MeshCore conversation toolbar — scope-override and conversation controls on one horizontal row (#4889, closes #4888)

Bug Fixes

  • MeshCore set_out_path — verify the forward-path write by device read-back instead of the uncorrelated Ok/Err ack, fixing paths that never set on WiFi companions (#4906, closes #4631)
  • MeshCore LogRxData — correlate receptions by node identity, not hop count, so slow USB companions (T-Echo) keep scope/route/SNR (#4905, closes #4883)

Perf / Robustness

  • GNSS overlay — DOP grid yields to the event loop, parseTleText resyncs past stray lines, and the DOP time scrubber anchors to the real wall clock (#4904, closes #4797)

i18n

  • Translations update from Hosted Weblate (#4850)

Dependencies

  • i18next 26.3.6 → 26.4.0 (#4895), lucide-react 1.31.0 → 1.33.0 (#4896), production-dependencies group (13) (#4891), development-dependencies group (3) (#4890), codeql-action group (4) (#4892), @vitejs/plugin-react 6.0.5 → 6.1.0 (#4893), puppeteer 25.7.0 → 25.8.0 (#4897), docker/setup-buildx-action 4.2.0 → 4.3.0 (#4894)

Issues Resolved

#4631, #4797, #4871, #4883, #4888, #4898, #4899, and #4558 (device-health parity phase)

Full changelog: v4.15.2-rc2...v4.15.2-rc3

🚀 MeshMonitor v4.15.2-rc3

📦 Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:4.15.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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.