github Yeraze/meshmonitor v4.14.1-rc1

pre-release4 hours ago

MeshMonitor v4.14.1-rc1

⚠️ Pre-release. This is a release candidate for 4.14.1. It ships on the :dev Docker tag, not :latest. Run it if you want the fixes early and can tolerate rough edges; report anything you hit.

Summary

This candidate is mostly MeshCore work plus two map-interaction fixes. The headline feature is strict receive-only mode for MeshCore Companion sources — a per-source switch that holds every transmitting command, scheduler and automation while leaving receive, the packet log, the Analyzer Observer and local serial configuration fully working. Because MeshCore firmware has no radio-level transmit switch, this is enforced in software; link-layer acknowledgements and any advert schedule configured outside MeshMonitor are unaffected, and the UI says so plainly. The Analyzer Observer gained battery, uptime and noise-floor reporting, and it now hot-swaps its publisher when you import a signing key instead of demanding a source disable/re-enable cycle. On the permissions side, MeshCore contact positions now honor canViewOnMap, matching how Meshtastic nodes have always behaved — a migration backfills the flag so no existing user loses map access on upgrade. Two map fixes: clicking a marker now zooms in first only when the marker is genuinely crowded (isolated markers open their popup immediately at any zoom), and the threshold that governs it is configurable rather than hardcoded at z13. The zoom-to-fit button also stopped wearing a crosshair icon, which everyone reasonably read as "center on my GPS location."

Features

  • MeshCore strict receive-only mode — per-source enforcement (#4550), UI (#4552), and Virtual Node gating plus docs (#4555). Closes #4547.
  • Analyzer Observer publishes battery, uptime and noise floor in its status payload (#4557). Closes #4556.

Bug Fixes

  • MeshCore map positions now require canViewOnMap instead of only nodes:read, so a read-only user can see the contact list without learning where those nodes are (#4560). Closes #4559.
  • Marker clicks gate on density, not zoom alone — an isolated marker opens its popup on the first click at any zoom, and the crowding threshold is now a setting (#4563). Closes #4551.
  • Zoom-to-fit no longer uses the locate-me crosshair icon (#4564). Closes #4562.
  • MeshCore contact Last Heard updates on incoming direct messages (#4554). Closes #4553.
  • Analyzer Observer hot-swaps its publisher on a signing-key change — no more disable/re-enable dance after importing a key (#4544). Closes #4543.
  • DeviceMetadata arriving before MyNodeInfo is buffered rather than dropped (#4548).
  • Remote admin stops implying it knows a remote node's favorite/ignored state — the admin protocol has no readback for those flags, so the UI no longer pretends otherwise (#4542). Closes #4511.

Documentation

  • Documented the new Map Click Zoom Gate setting and the MeshCore canViewOnMap change, including the upgrade backfill (#4565).
  • Site gallery: added Norway Østlandet Mesh (#4546). Closes #4545.

Tests / CI

  • System tests moved off the v1 API root paths removed in 4.14 (#4565). The /api/v1/nodes-style root paths were deleted in 4.14 (#4117); because a 404 body isn't JSON, every assertion was dying inside jq with an opaque parse error. The same change corrects /api/upgrade/* from the transitional 410 to its post-removal 404. Nothing user-facing — but the suite is honest again.

Translations

  • Weblate updates (#4541, #4252) — thank you to everyone translating.

Upgrade Notes

  • Migration 135 backfills canViewOnMap on existing nodes grants for MeshCore sources that already had read access, so current users keep map visibility across the upgrade. New grants must set the flag explicitly.
  • Receive-only mode is per source and defaults to off. Nothing changes unless you turn it on.

Thanks

Full changelog: v4.14.0...v4.14.1-rc1

🚀 MeshMonitor v4.14.1-rc1

📦 Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:4.14.1-rc1

🧪 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.