github Yeraze/meshmonitor v3.10.0-RC5

pre-release9 hours ago

What's Changed since v3.10.0-RC4

Bug Fixes

  • Fix time offset flags not persisted on SQLiteupdateNodeTimeOffsetFlagsAsync was missing the SQLite path, so time offset detection never showed in the frontend and log messages duplicated every scan (#2378) — #2379
  • Fix duplicate traceroute pending records — outgoing traceroute was recorded twice (once on send, once on node echo), leaving a permanent "No response received" entry that hid the correct result (#2364) — #2380
  • Fix channel database shadowing radio channels — server-decrypted messages now appear in both the database channel and the matching radio channel, instead of only the database channel (#2375) — #2381
  • Fix PKI_UNKNOWN_PUBKEY not flagging key mismatch — PKI errors were silently suppressed when the target node wasn't in the radio's device database; now always flags keyMismatchDetected — #2382
  • Fix traceroute race condition for fast-responding nodesrecordTracerouteRequest now properly awaited for PostgreSQL/MySQL (#2364) — #2366
  • Fix packet monitor ordering within same second — added created_at (millisecond precision) as tiebreaker sort key (#2364) — #2369
  • Fix sidebar collapse on Messages/Map tabs — collapsed sidebar now shrinks to 0 width with floating expand button, reclaiming full content space — #2368
  • Improve MQTT detection in traceroutes — SNR=0 (protobuf default) now correctly detected as MQTT hop; distinct lavender color and dash pattern for MQTT segments on map (@NearlCrews) — #2302

Refactoring

  • Drizzle ORM Phase 1: col() helper eliminates column quoting duplication in JOIN queries — #2372
  • Drizzle ORM Phase 2: getAffectedRows() helper normalizes affected row counts across SQLite/PG/MySQL — #2374
  • Drizzle ORM Phase 3: upsert() and insertIgnore() helpers eliminate conflict handling duplication (10 call sites) — #2376
  • Migration 014: Fix missing decrypted_by column on messages + enforceNameValidation/sortOrder on channel_database for PG/MySQL baselines — #2372
  • Backend soak test: New tests/backend-soak-test.sh launches all 3 backends in sequence and monitors logs for errors — #2372

Documentation & Community

  • Added TechTucson BBS and Mail scripts to user scripts gallery — #2370
  • Updated architecture documentation with PKI error detection rules — #2382
  • Translation updates from Weblate — #2273

Chores

  • Bump version to 3.10.0-RC5 — #2383
  • Revert experimental Claude Code Review mode — #2373

Full Changelog: v3.10.0-RC4...v3.10.0-RC5

🚀 MeshMonitor v3.10.0-RC5

📦 Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:3.10.0-RC5

🧪 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.