github Yeraze/meshmonitor v4.12.0-rc1

pre-release5 hours ago

MeshMonitor v4.12.0-rc1

⚠️ Pre-release (Release Candidate). Not tagged latest; intended for testing. Please report issues before the stable v4.12.0.

Summary

This release brings major map improvements and a wave of MeshCore enhancements. Overlapping markers now spiderfy consistently across every map — the per-source Nodes map, Map Analysis, the Unified map, and the dedicated MeshCore source map — and the fan no longer collapses on data refresh or node selection. Map Analysis node popups now match the Unified map's rich card and list every source that reported a node, and a node stays visible if any of its sources is enabled. On the MeshCore side: 2/3-byte forwarding-path hashes in the Define Path editor, manual on-demand telemetry polling, region/scope support (phases 1–3), and richer Last-Heard handling. The Automation Engine landed its Phase 1a foundation with a more capable Test panel. Bug fixes include position packets on private secondary channels now resolving to the correct channel (instead of a raw hash), the MeshCore Packet Monitor honoring its Max-count setting, the local node's Unmessageable flag being persisted and surfaced, low-battery/inactive-node notifications firing for MeshCore, and DM telemetry graphs honoring the temperature-unit setting.

Features

  • Map Analysis: rich multi-source node popups matching the Unified map, with a "Seen by N sources" list (#3692, resolves #3689)
  • MeshCore: 2/3-byte path hash support in the Define Path editor (#3686, resolves #3670)
  • MeshCore: manual telemetry poll buttons (Status / Environment) (#3681, resolves #3674)
  • MeshCore: region/scope support — phase 1 (#3669), phase 2 flood-traffic scoping (#3673), phase 3 region discovery from nearby repeaters (#3679) (resolves #3667)
  • Automation Engine — Phase 1a foundation (#3668) with richer Test-panel dry-run inputs/output (#3675) (resolves #3653)
  • MeshCore: Last Heard shows the date when a node was last heard before today (#3663, resolves #3656)

Bug Fixes

  • Spiderfy works + no auto-collapse on the Map Analysis, Unified, and MeshCore source maps; markers register reliably and stay fanned through refreshes and selection (#3687, resolves #3685; follow-up to #3612/#3615)
  • Position packets on private secondary channels now resolve to the correct channel slot instead of a raw hash (e.g. "channel 39") (#3694, resolves #3682)
  • MeshCore Packet Monitor honors the configured Max-count setting instead of hard-capping at ~200 (#3693, resolves #3690)
  • Local node Unmessageable flag is now persisted and surfaced in the Config tab (#3688, resolves #3684/#3683)
  • MeshCore low-battery & inactive-node notifications now fire (#3672, resolves #3671)
  • DM telemetry graph honors the user's Temperature Unit setting (#3662, resolves #3659)
  • MeshCore Define-Path: shorter set_out_path timeout and clearer error (#3665, resolves #3664)
  • MeshCore logging: LPP telemetry WARN is labelled, and out-of-range nodeNum log-spam from pubkey lookups is gone (#3680, resolves #3676/#3677)

Tests / CI / Chore

  • Guard migrations against source-dependent crashes (#3661, resolves #3657)
  • Default the bug-investigator agent to Opus + grounding contract (#3666)
  • gitignore Python __pycache__ (#3678)
  • Version bump to 4.12.0-rc1 (#3695)

Issues Resolved

#3653, #3656, #3657, #3659, #3664, #3667, #3670, #3671, #3674, #3676, #3677, #3680, #3682, #3683, #3684, #3685, #3689, #3690

Full changelog: v4.11.5...v4.12.0-rc1

🚀 MeshMonitor v4.12.0-rc1

📦 Installation

Docker (recommended):

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