MeshMonitor v4.0.0-beta3
⚠️ Pre-release (beta): This is a beta release of the upcoming 4.0.0 line. Please test in a non-production environment and report any issues.
Summary
This beta focuses on notification correctness, security hardening, and UI polish. Notification delivery no longer duplicates users in preference broadcasts, and admins correctly receive Apprise/push notifications for per-source events; orphan per-source preferences are also cleaned up. A URL-hash permission-gated-tab bypass that allowed the Dashboard to render without permission has been closed. Message replies and tapbacks now use the packetId last-segment as the replyId, matching firmware semantics. Legacy user_map_preferences rows on PostgreSQL/MySQL are backfilled with id/createdAt/updatedAt so new Drizzle schema columns stay consistent. On the UI side, long unbroken strings in message bubbles now wrap properly.
Bug Fixes
- fix(notifications): dedup users in preference broadcasts; clean up orphan source prefs (#2705)
- fix(notifications): admins receive Apprise/push for per-source events (#2704)
- fix(messages): use packetId (last segment) as replyId for replies/tapbacks (#2703)
- fix(db): backfill id/createdAt/updatedAt on legacy user_map_preferences (PG/MySQL) (#2702)
- fix(ui): wrap long unbroken strings in message bubbles (#2700)
Security
- fix(security): close URL-hash bypass on permission-gated tabs (#2701)
Release / Chore
- chore(release): bump version to 4.0.0-beta3 (#2706)
Issues Resolved
- #2699 — [Security] Dashboard shown without permission
- #2686 — Long words break the message box
- #2680 — Login credentials no longer working
Upgrade Notes
- PostgreSQL/MySQL deployments: migration will backfill legacy
user_map_preferencesrows with id/createdAt/updatedAt — no manual action required. - No breaking schema or API changes beyond the beta.2 → beta3 migration path.
Full changelog: v4.0.0-beta.2...v4.0.0-beta3
🚀 MeshMonitor v4.0.0-beta3
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.0.0-beta3🧪 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.