v4.12.0-rc1
Pre-releaseMeshMonitor v4.12.0-rc1
⚠️ Pre-release (Release Candidate). Not taggedlatest; 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.