github Yeraze/meshmonitor v3.10.0-RC1

pre-release8 hours ago

MeshMonitor v3.10.0-RC1

Release Candidate 1 for v3.10.0. This is a pre-release — not recommended for production use.

Major: Database Architecture Remediation

Complete overhaul of the multi-database architecture across 20+ PRs:

Migration System

  • Clean break at v3.7 — replaced 89 migration files with a single v3.7 baseline + 11 uniform post-baseline migrations (#2315)
  • Declarative migration registry — prevents ordering bugs like #2301 (#2306, #2309)
  • Pre-3.7 detection — clear error message for users on older versions (#2343)

Repository Layer

  • Active Schema Map — eliminated 440+ three-way if/else branches in repositories (#2306)
  • 57 Async wrappers removed — callers migrated to direct repository access (#2309, #2310)
  • AuthRepository enabled for SQLite — unified auth across all backends (#2318)
  • All sync callers migrated to async — zero production code calls sync DB methods (#2323, #2324, #2325, #2328, #2330, #2332, #2335)

Schema Fixes

  • BIGINT bug fixmessages.relayNode and ackFromNode upgraded for PG/MySQL (#2306)
  • Schema drift resolved — 8 known column/type mismatches fixed across backends (#2318, #2322, #2340, #2341)
  • Raw SQL schema files deleted — single source of truth is now Drizzle ORM (#2315)
  • Permission resource names fixed — admin/user creation now uses valid CHECK constraint values (#2320, #2321)

CI & Testing

  • PostgreSQL added to CI — multi-DB tests now run in CI instead of silently skipping (#2313)
  • 21 new regression tests — BIGINT round-trip and schema integrity tests (#2306)
  • 10/10 system tests passing (#2342)

Other Improvements

  • fix: correct portnum range, add enabled guard, and optimize channel decryption (#2337)
  • fix: prevent scheduling drift, timezone bugs, and data wipe in maintenance service (#2338)
  • fix: auto-recover from stale SQLite SHM files after upgrades (#2304, fixes #2303)
  • fix: SQLite migrations 083/084 skipped due to early return in 082 (#2301)
  • fix: allow 0 for traceroute expiration hours setting (#2300)
  • fix: clarified PKI key mismatch warning messages (#2343)
  • fix: startup errors from early settings access before DB ready (#2343)
  • fix: dead MQTT proxy setup instructions link (#2344, fixes #2329)
  • ci: add PostgreSQL service to release pipeline (#2346)

Security

  • Security upgrade node from 24-alpine to 24.14.0-alpine3.22 (#2312)
  • Security upgrade node from 22-slim to 22.22.1-trixie-slim (#2311)

Upgrade Notes

⚠️ Requires v3.7 or later — if you are running a version older than v3.7, you must upgrade to v3.7 first, then upgrade to this version. The application will detect pre-v3.7 databases and show a clear error message.

Full Changelog: v3.9.5...v3.10.0-RC1

🚀 MeshMonitor v3.10.0-RC1

📦 Installation

Docker (recommended):

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