Changes since v3.10.0-RC5
Bug Fixes
- #2385 fix: database audit remediation across all 3 backends
- #2386 fix: database audit phase 2 — PG/MySQL crash prevention and schema alignment
- Fixed
getAuditStatsAsyncwrong column names for PG/MySQL - Added PG/MySQL guards to 6 maintenance methods that crashed via
this.db.prepare() - Added
grantedAt/grantedByto PG/MySQL permission schemas and baselines - Added
valueBefore/valueAfterto PG/MySQL audit_log baselines
- Fixed
- #2387 fix: traceroute duplication caused by bypassing deduplication logic
- Root cause:
meshtasticManager.tscalled the repository directly, bypassing theDatabaseService.insertTraceroute()dedup check
- Root cause:
- #2388 fix: packet monitor uses server time for consistent ordering
- Incoming packets used device clock (
rxTime) while outgoing used server clock, causing traceroute responses to appear before requests
- Incoming packets used device clock (
- #2390 fix: missing baseline columns + system backup + map preferences
- Added missing
routePositionscolumn to PG/MySQL traceroutes baseline - Added missing
fromLatitude/fromLongitude/toLatitude/toLongitudeto PG/MySQL route_segments baseline - Fixed
systemBackupService.listBackups()using 6 wrong column names - Fixed
getMapPreferencescrash on column name mismatches across migration states - Added comprehensive API exercise test script (134 endpoints across all 3 backends)
- Added missing
Improvements
- #2389 refactor: replace hardcoded PG column quotes with
col()helper in notifications and telemetry repos
Testing
- New
tests/api-exercise-test.sh— exercises 134 API endpoints, validated on all 3 database backends - All system tests passing (10/10)
- All soak tests passing (SQLite, PostgreSQL, MySQL)
- 3070 unit tests passing
Full Changelog: v3.10.0-RC5...v3.10.0-RC6
🚀 MeshMonitor v3.10.0-RC6
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:3.10.0-RC6🧪 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.