github Yeraze/meshmonitor v4.13.1-rc1

pre-release4 hours ago

MeshMonitor v4.13.1-rc1

⚠️ Pre-release / Release Candidate. This build is for testing. It ships no :latest Docker 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/ into MQTT/ 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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.