MeshMonitor v3.10.0
Major release featuring comprehensive database architecture refactoring — 5,672 lines of code removed across 278 files — plus new features and dozens of bug fixes.
New Features
- Channel drag-and-drop reorder with automatic message history migration (#2411)
- Dead nodes report with bulk delete on Security tab (#2414)
- Rsyslog server setting in network configuration (#2410)
- Polar grid map overlay for directional analysis (#2359)
- Configurable default map center (#2350)
- Auto responder environment variables for external scripts (#2356)
- Millisecond packet timestamps with dedicated date column (#2403)
- OIDC retry on failure — auth no longer permanently disables (#2402)
Database Architecture (5,672 lines removed)
- Full async migration — all sync database calls replaced (Phase 1-4: #2323, #2324, #2325, #2330, #2332, #2335)
- Repository pattern — monolithic DatabaseService decomposed into domain-specific repositories (#2309, #2310)
- Centralized migration registry with clean v3.7 baseline (#2315)
- N+1 query elimination in security scanner, neighbor info, and node queries (#2336, #2339, #2404)
- Cross-database helpers:
col(),upsert(),insertIgnore(),getAffectedRows()(#2372, #2374, #2376, #2389)
Bug Fixes
- Channel database no longer shadows device channels with same PSK (#2415, #2413)
- PostgreSQL connection pool exhaustion with 200+ nodes (#2404)
- Local node no longer self-flags security warnings or bounces link quality (#2407)
- Key mismatch warnings now properly clear after resolution (#2406)
- Admin keys no longer show as [object Object] (#2408)
- Traceroute race conditions and duplication (#2366, #2380, #2387)
- MQTT detection and visual distinction in traceroutes (#2302)
- PKI_UNKNOWN_PUBKEY key mismatch flagging (#2382)
- PG packet monitor showing hex IDs instead of node names (#2406)
- Time offset flags not persisted on SQLite (#2379)
- Maintenance service scheduling drift and timezone bugs (#2338)
- Packet monitor ordering with same-second timestamps (#2369, #2403)
🚀 MeshMonitor v3.10.0
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:3.10.0🧪 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.