MeshMonitor v4.17.1-rc7
Warning
This is a pre-release for testing. It is not tagged latest. Please report problems on GitHub before the final 4.17.1 release.
Summary
This release candidate adds saved MQTT broker presets that every MQTT form can reuse (#5794 Phase 1). It also adds a stored, searchable history of MeshCore CLI commands, with a panel on each console and a "MeshCore CLI activity" tab on the Audit Log page. CLI passwords and keys are now masked before they are stored, which also stops them leaking into the audit log in plain text. Auto Acknowledge can now send a 0-hop tapback other than *️⃣ (for example 0️⃣), and a separate tapback for messages that came over MQTT; automations use the same choices. Baremetal installs now honor DATA_DIR for every data path, including backups, the access log, Apprise and map data, so the documented hardened systemd unit works. An experimental, admin-only endpoint computes a tropospheric ducting forecast from NOAA GFS data (backend spike for #5734; no UI yet). The rest is dependency updates, including Express 5.3, emoji-picker-react 5 (Apple emoji style kept) and MapLibre GL 6.14.
Features
- feat(mqtt): saved broker presets, reusable across MQTT forms (#5794 Phase 1) (#5873)
- feat(meshcore): store CLI command history (#5892) (#5897)
- feat(autoack): choose the 0-hop and MQTT tapback glyphs (#5890) (#5894)
- feat(ducting): spike GFS tropospheric ducting forecast endpoint (#5734) (#5875)
Bug Fixes
Security
- MeshCore CLI command text and replies are redacted (passwords,
*.key,*.psk, secrets) before storage, in both the new CLI history and the existing audit log (#5897)
Dependencies
- build(deps): bump emoji-picker-react from 4.22.3 to 5.0.0 (#5887)
- build(deps): bump maplibre-gl from 6.13.0 to 6.14.0 (#5884)
- build(deps): bump node-notifier from 10.0.1 to 11.0.0 (#5888)
- build(deps): bump lucide-react from 1.54.0 to 1.57.0 (#5885)
- build(deps): bump express from 5.2.1 to 5.3.0 (#5886)
- build(deps): bump the production-dependencies group across 1 directory with 18 updates (#5882)
- build(deps): bump the react group with 2 updates (#5879)
- build(deps-dev): bump puppeteer from 25.13.0 to 25.14.0 (#5883)
- build(deps-dev): bump the vitest group with 3 updates (#5878)
- build(deps-dev): bump the development-dependencies group with 2 updates (#5880)
CI/DevOps
- build(deps): bump the codeql-action group with 4 updates (#5881)
- chore: bump version to 4.17.1-rc7 (#5899)
Issues Resolved
- #5889 Baremetal - no DATA_DIR env
- #5890 Change Auto Ack tapback for direct channel messages
- #5892 Store full history of MeshCore CLI commands with timestamps (Companion/Repeater/Remote)
Progress on #5794 (MQTT broker presets, Phase 1 of 3) and #5734 (tropospheric ducting, backend spike).
Upgrade Notes
- Database migration 212 adds the
meshcore_cli_historytable. It runs automatically on all three backends. - Baremetal: you can now set
DATA_DIR=/var/lib/meshmonitor/datain the.envnamed by your systemd unit (EnvironmentFile=), and every data path follows it. ExplicitDATABASE_PATH,BACKUP_DIR,SYSTEM_BACKUP_DIR,ACCESS_LOG_PATHandAPPRISE_CONFIG_DIRstill win. Docker installs are unchanged. - New setting: MeshCore CLI history retention (default 90 days, 7–365), next to Audit Log Retention.
Full Changelog: v4.17.1-rc6...v4.17.1-rc7
🚀 MeshMonitor v4.17.1-rc7
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.17.1-rc7🧪 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.