MeshMonitor v4.18.0-rc1
Warning
This is a pre-release for testing. It adds database migrations (235, 236). Back up your database before upgrading, and don't run it in production unless you are helping test.
Summary
4.18.0 adds two new ways to connect without a radio. A new MeshCore MQTT broker source runs an MQTT broker inside MeshMonitor. MeshCore observers connect to it with token auth and an allowlist, and you can opt in to forwarding traffic upstream. Meshtastic sources can now send messages over MQTT with no radio attached, and a PKI nonce fix restores server-side decryption of PKI DMs. Notifications gain mesh-wide defaults with per-source overrides, and the same event heard on several sources now notifies you only once. A new Direct RF Contacts history lists nodes heard at 0 hops over RF, for both Meshtastic and MeshCore. Anonymous viewers no longer see nodes that have not consented to MQTT. Smaller additions: a warning when LoRa transparent mode is on, the nRF52 bootloader version, and gateway names on the map. Fixes cover position requests, which now carry an empty Position. They also cover MeshCore Cayenne-LPP telemetry losing sensors after an altitude record, and neighbor info mixing data across sources.
Features
- Embedded MeshCore MQTT broker source with upstream forwarding (#6400)
- Send Meshtastic messages over MQTT with no radio; fix PKI nonce layout (#6395)
- Mesh-wide notification defaults, per-source overrides, cross-source dedup (#6394)
- Hide no-MQTT-consent nodes from anonymous viewers (#6393)
- Warn on LoRa transparent mode; show nRF52 bootloader version (#6392)
- Direct RF Contacts history for Meshtastic and MeshCore (#6388)
- Gateway names in the map's gateway legend and popup chips (#6387)
Bug Fixes
- Scope neighbor info by source before picking the latest per pair (#6396)
- Send position requests with an empty Position (#6391)
- Decode Cayenne-LPP telemetry locally so altitude no longer truncates sensors (#6390)
Tests
- Scale the reverse-geocode timing budget under coverage (#6385)
Issues Resolved
- #6197 Embedded MeshCore MQTT broker
- #4305 MQTT-native ("nodeless") outbound send path
- #5729 Unified mesh-scoped notifications with cross-source dedup
- #6210 Direct RF Contacts history
- #6181 Detect and warn on LoRaConfig.transparent_mode
- #6321 DeviceMetadata.bootloader_version
- #6386 Gateway name in map popups and legend
- #6047 Position exchange unanswered when the request carries coordinates
- #6389 MeshCore remote telemetry sensors missing after an altitude record
Upgrade Notes
- Migration 235 merges per-source push subscriptions into one per user and endpoint. Existing per-source notification settings become overrides of a new mesh-wide default.
- Migration 236 adds the
mqtt_native_identitiestable. - The MeshCore MQTT broker listens on port 1884 by default. Docker and Helm do not expose that port yet, so map it yourself if you use the broker.
Full Changelog: v4.17.3...v4.18.0-rc1
๐ MeshMonitor v4.18.0-rc1
๐ฆ Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:4.18.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.