MeshMonitor v4.8.3
Patch release centered on MeshCore discovery and MQTT bridge configuration. MeshCore sources can now actively probe for nearby nodes and repeaters (#3302) and answer inbound discovery requests so they're discoverable in return (#3303). MQTT bridges gain a dedicated Configuration page with a per-bridge publish filter (#3295), and the per-source bridge edit modal is slimmed to connection basics that deep-link to it (#3299). Correctness fixes round it out: MeshCore private keys now validate at the firmware's 128 hex-char (64-byte) format (#3301), brand-new hashtag channels can be added (#3298), and a transport-level orphan-reconnect flap that disrupted one of two TCP sources is closed out (#3290, #3291). Documentation was reviewed for accuracy against these changes, plus the OIDC first-user auto-admin behavior is now documented (#3293).
Features
- #3302 feat(meshcore): active node discovery — Discover Nearby Nodes / Discover Repeaters buttons sweep for MeshCore devices in direct (zero-hop) RF range.
- #3303 feat(meshcore): respond to discovery requests — this node now answers inbound discovery requests, making it discoverable by peers.
- #3295 feat(mqtt): dedicated bridge Configuration page with per-bridge publish filter — manage Connection, Forwarding, Subscribe, Publish (with advanced topic filter), and Topic rewrites from one page.
- #3299 feat(mqtt): slim bridge source-edit modal to basics + deep-link to the Configuration page.
Bug Fixes
- #3301 fix: correct MeshCore private key validation to 128 hex chars (64 bytes) — accepts firmware-exported keys.
- #3298 fix(meshcore): allow adding new hashtag channels.
- #3290 fix(stability): close transport-level orphan-reconnect flap — stops a per-source TCP disconnect/reconnect cycle.
- #3291 fix(build): pin
legacy-peer-depsin.npmrcsonpm cistays in sync.
Documentation
- #3293 docs: document OIDC first-user auto-admin behavior.
- docs(meshcore, mqtt): reviewed for accuracy — documented Active Node Discovery and moved the topic-rewrite / publish-filter docs to the new bridge Configuration page.
Dependencies
- #3288 react-router-dom 7.15.1 → 7.16.0
- #3285 puppeteer 25.0.4 → 25.1.0
- #3282 concurrently 9.2.1 → 10.0.1
- #3284 @typescript-eslint/eslint-plugin 8.59.4 → 8.60.0
- #3287 @typescript-eslint/parser 8.59.4 → 8.60.0
- #3283 @rollup/rollup-linux-arm64-musl 4.60.4 → 4.61.0
- #3286 @rollup/rollup-linux-arm-gnueabihf 4.60.4 → 4.61.0
- #3281 production-dependencies group (7 updates)
- #3280 development-dependencies group (2 updates)
Issues Resolved
- #3300 MeshCore private key import rejected exported (128-char) key
- #3297 MeshCore hashtag channel not working in v4.8.2
- #3294 per-bridge publish topic filtering for MQTT Bridge
- #3292 OIDC first-user auto-admin behavior not documented
- #3270 v4 source-manager TCP flap (per-source disconnect/reconnect cycle)
Full changelog: v4.8.2...v4.8.3
🚀 MeshMonitor v4.8.3
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.8.3🧪 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.