github Yeraze/meshmonitor v2.7.0
v2.7.0 - Comprehensive Notification System

latest releases: v2.20.11, v2.20.10, v2.20.9...
one month ago

๐Ÿ”” MeshMonitor v2.7.0 - Comprehensive Notification System

We're excited to announce MeshMonitor v2.7.0, featuring a complete notification system overhaul with support for Web Push Notifications and Apprise integration for over 100+ notification services!

โœจ Major Features

๐ŸŒ Web Push Notifications (PWA)

  • Browser notifications for new messages, node activity, and system events
  • iOS/iPhone support with VAPID email validation
  • macOS support with unique notification handling (no replacement)
  • Progressive Web App (PWA) - Install MeshMonitor as a native app on any device
  • Service Worker integration for background notification delivery
  • Notification sounds and visual indicators for unread messages

๐Ÿ“ข Apprise Integration (100+ Services)

  • Multi-service notifications - Send to Discord, Slack, Telegram, Microsoft Teams, and 100+ other services simultaneously
  • Flexible configuration - Add multiple notification endpoints with simple URL configuration
  • Real-time testing - Test your notification setup with one click
  • Security hardened - Comprehensive URL validation and SQL injection prevention
  • Admin-controlled - Configure notification services from the admin panel

๐ŸŽฏ Advanced Notification Filtering

Per-user notification preferences with granular control:

  • Channel-based filtering - Choose which channels trigger notifications
  • Keyword filtering - Get notified only for messages containing specific keywords
  • Direct message notifications - Separate toggle for DM alerts
  • Blacklist support - Exclude specific keywords from triggering notifications
  • Service-specific preferences - Different settings for Web Push vs Apprise

๐Ÿ” Security Enhancements

  • URL scheme validation - Only allow legitimate notification service protocols
  • SQL injection prevention - Explicit column mapping with whitelists
  • Comprehensive security testing - New test suite validates all security measures
  • VAPID key security - Secure key generation and storage for Web Push

๐Ÿ“ฑ iPhone/iOS Support

  • Full iOS PWA support - Install as a home screen app
  • VAPID email requirements - Documented iOS-specific notification setup
  • Safe area support - Proper handling of iPhone notches and home indicators
  • FAQ documentation - Complete troubleshooting guide for iOS users

๐Ÿงช Testing & Infrastructure

  • Reverse proxy tests - Comprehensive HTTPS deployment testing
  • OIDC integration tests - OAuth2/OIDC authentication validation
  • Security test suite - Validates URL filtering and SQL injection prevention
  • System test improvements - Fixed port configurations and enhanced reliability

๐Ÿ“š Documentation Updates

  • Notifications guide - Complete setup instructions for Web Push and Apprise
  • iPhone FAQ - Troubleshooting guide for iOS notification issues
  • HTTPS deployment guide - Production deployment best practices
  • OIDC setup guide - Enterprise authentication configuration

๐Ÿ”ง Technical Details

New API Endpoints

  • POST /api/push/subscribe - Subscribe to Web Push notifications
  • POST /api/push/unsubscribe - Unsubscribe from notifications
  • GET /api/push/vapid-public-key - Get VAPID public key
  • POST /api/apprise/configure - Configure Apprise notification URLs (admin)
  • POST /api/apprise/test - Send test notification (admin)
  • GET /api/apprise/status - Check Apprise service status
  • POST /api/notifications/preferences - Update user notification preferences

Database Schema

New tables:

  • user_notification_preferences - Per-user notification settings
  • push_subscriptions - Web Push subscription management

Environment Variables

New configuration options:

  • VAPID_PUBLIC_KEY - VAPID public key for Web Push
  • VAPID_PRIVATE_KEY - VAPID private key
  • VAPID_SUBJECT - Contact email for VAPID (required for iOS)
  • APPRISE_API_URL - Apprise API endpoint (default: http://localhost:8000)
  • DISABLE_APPRISE - Disable Apprise integration (default: false)

๐Ÿ› Bug Fixes

  • Fixed notification filtering for telemetry and traceroute messages (#226)
  • Fixed service worker caching preventing OIDC callbacks (#222)
  • Fixed test infrastructure port configuration issues
  • Fixed TypeScript compilation errors in security tests

๐Ÿ“ฆ Deployment Notes

Docker Compose

The integrated Apprise service is automatically configured via Supervisor. No additional containers needed.

HTTPS/Reverse Proxy

Web Push notifications require HTTPS in production. See our HTTPS deployment guide for nginx, Caddy, and Traefik configurations.

iOS Requirements

For iOS notification support, set a valid email address in VAPID_SUBJECT:

VAPID_SUBJECT=mailto:your-real-email@example.com

See the iPhone FAQ for complete iOS setup instructions.

๐Ÿ™ Contributors

Special thanks to all contributors who helped make this release possible!

๐Ÿ“‹ Full Changelog

  • feat: Add Apprise notification integration (#231)
  • feat: Push Notification Preferences with Filtering and HTTPS Setup Guide (#229)
  • fix: Filter telemetry and traceroute messages from notifications (#226)
  • feat: Add notification sounds and visual indicators for unread messages (#225)

๐Ÿ”— Links


Upgrade Note: This version includes database schema changes. The migrations will run automatically on first startup. No manual intervention required.

Breaking Changes: None - fully backward compatible with v2.6.x

Installation: Pull the latest Docker image or rebuild from source. See our Quick Start Guide for deployment instructions.

๐Ÿš€ MeshMonitor v2.7.0

๐Ÿ“ฆ Installation

Docker (recommended):

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