MeshMonitor v4.13.1-rc1
⚠️ Pre-release / Release Candidate. This build is for testing. It ships no
:latestDocker tags. Please report any issues before the final 4.13.1 release.
Summary
This release resolves the long-running #4115 investigation where specific nodes produced zero data over MQTT: the geo filter is rearchitected from a fail-closed membership gate (which permanently blackholed GPS-less nodes and froze on encrypted feeds) to a fail-open, per-source ignore-list model with retroactive purge, automatic reappearance when a node comes back in-bounds, and a start/config-change sweep — shipped across four phases (#4123, #4131, #4132, #4136). A new MQTT Packet Monitor lands (per-gateway reception capture backend #4127 plus a gateway-aware UI #4138). Map and node UX improvements include lat/lon/elevation shown as text in Node Info/Details (#4134), Show RF/UDP/MQTT transport toggles in Map Analysis (#4135), per-theme light/dark map tilesets (#4118), and a backend elevation service for upcoming terrain link profiles (#4143). Two reported bugs are fixed: nodes can now be reliably un-hidden from the map across sources (#4141), and the Conversation page explains why the DM composer is hidden for unmessageable nodes (#4140). Also fixed: a Default Map Center regression on the Unified/Dashboard map (#4128), MeshCore-only installs whose global schedulers never started (#4146), and a stale-config Docker armv7 build (#4122). Finally, two latent cross-platform bugs surfaced during release validation were fixed: a directory case-collision that broke the macOS/Windows desktop build (#4144), and a MySQL 8 collation mismatch that aborted a migration on MySQL deployments (#4145).
Features
- MQTT geo-ignore rearchitecture (fixes #4115): fail-open ingestion with a per-source ignore list, retroactive purge, and auto-reappearance — #4123 (data layer), #4131 (fail-open gating), #4132 (retroactive sweep), #4136 (observability + docs)
- MQTT Packet Monitor: per-gateway packet reception capture — #4127 (backend), #4138 (gateway-aware UI)
- Show latitude/longitude/elevation as text in Node Info & Node Details — #4134
- Map Analysis: Show RF / UDP / MQTT transport toggles — #4135
- Per-theme (light/dark) map tileset preferences, including custom tiles — #4118
- Backend elevation service for terrain link profiles (Phase 1) — #4143
Bug Fixes
- Reliably un-hide nodes from the map across sources; consolidate orphaned rows from removed sources — #4141
- Explain the hidden DM composer for unmessageable nodes — #4140
- Honor the Default Map Center setting on the Unified/Dashboard map — #4128
- Keep global schedulers alive on MeshCore-only installs — #4146
- Migration 122: fix illegal collation mix on MySQL 8 — #4145
- Consolidate
Mqtt/intoMQTT/to fix the desktop-build case-collision on macOS/Windows — #4144 - Drop deleted watchdog scripts from the armv7 Dockerfile — #4122
Chore
- Bump version to 4.13.1-rc1 — #4142
Issues Resolved
#4115, #4137, #4139, #4130, #4129, #4125, #4124, #4096, #4020
Full changelog: v4.13.0...v4.13.1-rc1
🚀 MeshMonitor v4.13.1-rc1
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.13.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.