MeshMonitor v2.16.0
Overview
This release introduces two major features: comprehensive system backup & restore functionality for disaster recovery, and enhanced Direct Messages interface with automatic sorting and message previews.
๐ New Features
System Backup & Restore (#488, #491)
Complete database backup and restore functionality for disaster recovery, data migration, and archival purposes.
Key Features:
- Complete Database Export: JSON export of all 17 database tables (nodes, messages, channels, telemetry, etc.) with SHA-256 checksums for integrity verification
- Automated Scheduled Backups: Configure daily backups at a specific time with automatic retention management
- Atomic Restore Operations: Safe, validated restore process with integrity checks and schema migration support
- Bootstrap Restore: Set
RESTORE_FROM_BACKUPenvironment variable to automatically restore on container startup - Download as Archive: Download backups as tar.gz archives via API or UI for offline storage
- Re-Restore Protection: Marker file prevents accidental re-restoration on subsequent restarts
- Full Audit Logging: All backup/restore operations logged with timestamps and user attribution
API Endpoints:
POST /api/system/backup- Create manual backupGET /api/system/backup/list- List available backupsGET /api/system/backup/download/:dirname- Download backup as tar.gzDELETE /api/system/backup/delete/:dirname- Delete backupGET/POST /api/system/backup/settings- Manage backup settings
Documentation:
Files Modified:
- Database migration 021 -
system_backup_historytable - New services:
systemBackupService.ts,systemRestoreService.ts - Extended
backupSchedulerService.tsfor system backups - UI component:
SystemBackupSectionin Settings page - Test suite:
tests/test-backup-restore.sh
Pull Request: #491
Issue: #488
DM Conversation Enhancements (#490, #494)
Enhanced Direct Messages tab with automatic sorting, message previews, and advanced filtering for better conversation management.
Key Features:
- Automatic Sorting: Conversations automatically sorted by most recent message (favorites always appear first)
- Message Preview: Last message text displayed under conversation name (50 character truncation with ellipsis)
- Advanced Filtering: Three filter modes:
- All Conversations: Show all DM conversations
- Unread Only: Show only conversations with unread messages
- Recent (24h): Show conversations with messages in the last 24 hours
- Relative Time Display: Shows when the last message was received (e.g., "2h ago", "yesterday")
- Visual Unread Indicator: Red border around timestamp when conversation has unread messages
UI Improvements:
- Full-width single-line layout with flexbox for responsive design
- Left-aligned message preview with text overflow handling
- Right-aligned message count and timestamp
- Removed inline unread badge in favor of cleaner time display indicator
- Eliminated manual sort controls (now auto-sorted by recency)
Technical Implementation:
- Added
dmFilterstate to UIContext (all/unread/recentmodes) - Enhanced
nodesWithMessagesmapping to includelastMessageText - Two-level sorting: favorites first, then by
lastMessageTimedescending - Imported
formatRelativeTimefrom datetime utils
Files Modified:
src/contexts/UIContext.tsx- Added dmFilter state managementsrc/App.tsx- Enhanced renderMessagesTab with sorting, filtering, and preview logic
Pull Request: #494
Issue: #490
๐ Documentation
- Added comprehensive system backup documentation
- Updated Docker Compose examples with
RESTORE_FROM_BACKUP - Added disaster recovery guide with step-by-step procedures
- Updated main README with new features
๐งช Testing
All 6 system tests passed successfully:
- โ Configuration Import Test
- โ Quick Start Test
- โ Security Test
- โ Reverse Proxy Test
- โ Reverse Proxy + OIDC Test
- โ Virtual Node CLI Test
- โ New: Backup & Restore Test
๐ Links
- Pull Requests: #491, #494, #495
- Issues Resolved: #488, #490
- Docker Image:
ghcr.io/yeraze/meshmonitor:v2.16.0 - Helm Chart: v2.16.0
๐ฆ Installation
Docker Compose
services:
meshmonitor:
image: ghcr.io/yeraze/meshmonitor:v2.16.0
ports:
- "8080:3001"
volumes:
- meshmonitor-data:/data
environment:
- SESSION_SECRET=your-secret-here
- COOKIE_SECURE=true
# Optional: Restore from backup on startup
# - RESTORE_FROM_BACKUP=2025-11-08_143026Helm
helm repo add meshmonitor https://yeraze.github.io/meshmonitor
helm install meshmonitor meshmonitor/meshmonitor --version 2.16.0โฌ๏ธ Upgrading from v2.15.x
This is a standard upgrade with no breaking changes:
- Docker: Update image tag to
v2.16.0and restart container - Helm: Run
helm upgrade meshmonitor meshmonitor/meshmonitor --version 2.16.0 - Auto-Upgrade: If enabled, your instance will automatically upgrade within 15 minutes of this release
Recommendation: Create a backup before upgrading (available in Settings โ System Backup after upgrade).
๐ Contributors
- @Yeraze - System backup & restore implementation
- @Yeraze - DM conversation enhancements
- Claude Code - Development assistance
Full Changelog: v2.15.3...v2.16.0
๐ MeshMonitor v2.16.0
๐ฆ Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v2.16.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.