MeshMonitor v4.17.0-rc1
⚠️ Pre-release. This is a release candidate for testing. It does not move the
:latestDocker tags.
4.17.0-rc1 is the first candidate for the 4.17 line. It adds ack proof ("Proven receipt") in Delivery Details and AEAD channel support, Phase 1, both built on a protobufs bump to Meshtastic's untagged master ahead of firmware 2.8.1. The Automation Engine can now broadcast waypoints, and every waypoint gets an optional hop limit. MeshCore gains Trace Path auto return, the Pin sidebar control Meshtastic already had, and a map glyph of its own for Repeaters, so they stop looking identical to Meshtastic ROUTERs on the Unified map. Web Push subscribe and unsubscribe are now per source. Slow API requests now get a 504 REQUEST_TIMEOUT reply instead of a dropped socket, which ends browsers silently resending them (one Trace Path click used to put a trace on air every 30 s). Waypoints and data requests now use the node's configured hop limit. Migrations 183–185 run on first boot.
Upgrade notes
- Hop limits: waypoint sends (fixed 3), position, NodeInfo and telemetry requests (3) and NeighborInfo requests (7) now all use the node's configured LoRa hop limit. On a node set above 3 these reach further; NeighborInfo requests stop flooding to 7 hops.
- API clients: a request still running at 30 s now gets
504 REQUEST_TIMEOUT("may still complete in the background; check before retrying") instead of a closed socket. Known-slow routes get a longer timeout. - Protobufs now track Meshtastic's untagged
master(2542e06). - Migrations 183–185 run automatically (waypoint hop limit + automation key,
messages.ackProofStatus,channels.useAead). - Ack proof and AEAD only light up with firmware 2.8.1, which has no release yet.
What's Changed
Features
- feat(delivery): show Meshtastic ack proof "Proven receipt" (#5279) #5489
- feat(channels): store and preserve ChannelSettings.use_aead (#5248 Phase 1) #5492
- feat(automation): broadcast waypoints with a hop limit (#5482) #5484
- feat(meshcore): auto return path for Trace Path (#5485) #5490
- feat(nav): Pin sidebar on MeshCore sources, shared with Meshtastic (#5481) #5483
- feat(map): give MeshCore Repeaters their own glyph, apart from Meshtastic routers (#5491) #5501
Bug Fixes
- fix(http): stop browsers resending slow requests (RF re-transmits every 30 s) #5494
- fix(push): scope Web Push subscribe state and unsubscribe to the source (#5493) #5495
- fix(meshcore): show a repeater's TX power, position and preset (#5496) #5497
- fix(telemetry): keep the time range selector when the window is empty (#5498) #5499
- fix(meshtastic): send data requests at the node's configured hop limit #5488
Dependencies / Maintenance
- chore(protobufs): bump to master 2542e06, and plan AEAD channels (#5248) and ack proof (#5279) #5486
- chore(release): bump to 4.17.0-rc1, and write its changelog section #5504
Issues Resolved
- #5279 [Track] Firmware #11877: Routing.ack_proof HMAC-verified explicit acks for PKI DMs
- #5481 [FEAT] Add Pin sidebar control to MeshCore main nav (parity with Meshtastic sidebar)
- #5482 [FEAT] Automation Engine action to broadcast waypoints with configurable hop limit
- #5485 [FEAT] MeshCore Trace Path: mirror outbound as return leg to match MeshCore One's Auto Return Path
- #5491 [FEAT] Distinguish Meshtastic ROUTER from MeshCore Repeater on the Unified map
- #5493 [BUG] Web Push subscription state leaks across sources (subscribe indicator + unsubscribe delete)
- #5496 MeshCore repeater Configuration page shows defaults for TX power / preset / coordinates
- #5498 [BUG] MeshCore telemetry duration selector hidden when current window has no data
Partially addressed: #5248 (AEAD channels): Phase 1 ships here; Phase 2 waits for a firmware 2.8.1 build.
Full Changelog: v4.16.2...v4.17.0-rc1
🚀 MeshMonitor v4.17.0-rc1
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.17.0-rc1🧪 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.