github Yeraze/meshmonitor v2.16.0
v2.16.0 - System Backup & DM Enhancements

latest releases: v2.19.14, v2.19.13, v2.19.12...
27 days ago

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_BACKUP environment 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 backup
  • GET /api/system/backup/list - List available backups
  • GET /api/system/backup/download/:dirname - Download backup as tar.gz
  • DELETE /api/system/backup/delete/:dirname - Delete backup
  • GET/POST /api/system/backup/settings - Manage backup settings

Documentation:

Files Modified:

  • Database migration 021 - system_backup_history table
  • New services: systemBackupService.ts, systemRestoreService.ts
  • Extended backupSchedulerService.ts for system backups
  • UI component: SystemBackupSection in 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 dmFilter state to UIContext (all/unread/recent modes)
  • Enhanced nodesWithMessages mapping to include lastMessageText
  • Two-level sorting: favorites first, then by lastMessageTime descending
  • Imported formatRelativeTime from datetime utils

Files Modified:

  • src/contexts/UIContext.tsx - Added dmFilter state management
  • src/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_143026

Helm

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:

  1. Docker: Update image tag to v2.16.0 and restart container
  2. Helm: Run helm upgrade meshmonitor meshmonitor/meshmonitor --version 2.16.0
  3. 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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.