github Yeraze/meshmonitor v4.17.1-rc7

pre-release5 hours ago

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

  • fix(config): honor DATA_DIR for every data path (#5889) (#5895)

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_history table. It runs automatically on all three backends.
  • Baremetal: you can now set DATA_DIR=/var/lib/meshmonitor/data in the .env named by your systemd unit (EnvironmentFile=), and every data path follows it. Explicit DATABASE_PATH, BACKUP_DIR, SYSTEM_BACKUP_DIR, ACCESS_LOG_PATH and APPRISE_CONFIG_DIR still 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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.