github Yeraze/meshmonitor v4.11.3

4 hours ago

MeshMonitor v4.11.3

This release adds a Dead Drop / Mailbox auto-responder — asynchronous "mesh voicemail" where a node can leave a message for another node that need not be online, retrieved later with inbox commands — contributed by new contributor @TheWISPRer. It also brings MeshCore node favoriting (pin any MeshCore node to the top of the list, stored server-side), FEM LNA Mode LoRa configuration surfaced on both the Device Configuration and Remote Admin panels for amplified hardware, and the MeshCore CLI bundled into the Docker image alongside the Meshtastic CLI. On the fixes side, a PostgreSQL/MySQL crash in the MeshCore neighbor query is resolved by widening the neighbor_info timestamp columns to BIGINT (they overflowed signed int32 with millisecond-epoch values), and a proto3 boolean-elision bug that silently re-enabled uplinkEnabled/downlinkEnabled after a container restart is fixed. Position history now captures and displays SNR for directly-heard (0-hop) nodes, the intermittently-blank MeshCore auto-ack {SNR}/{ROUTE} tokens are corrected, mesh-request endpoints return a meaningful 503 (not a generic 500) when the node is disconnected, and the macOS x64 desktop build no longer ships an arm64 re2.node that crashed on Intel Macs. Upgrades are automatic — three idempotent migrations (094–096) run on boot.

Features

  • Dead Drop / Mailbox auto-responder — async "mesh voicemail" (#3538, @TheWISPRer) — a fifth auto-responder type. DM msg <name> <text> to leave a message; retrieve with inbox, inbox play [name], inbox delete <id>, inbox clear. Per-source, configured entirely through the Auto Responder UI, messages marked played only on delivery-success, expired rows purged by the maintenance sweep.
  • MeshCore node favoriting — pin to top of list (#3595) — favorite any MeshCore node (Companion, Repeater, Room Server, …); stored server-side only (firmware has no native favorite concept), consistent with Meshtastic favorites.
  • FEM LNA Mode LoRa configuration (#3600) — surfaces Config.LoRaConfig.fem_lna_mode (Disabled / Enabled / Not Present, firmware ≥ v2.7.20) on both the Device Configuration and Remote Admin LoRa panels.
  • MeshCore CLI bundled in the Docker image (#3591) — ships meshcore-cli / meshcli alongside the Meshtastic Python CLI for a complete in-container toolkit.

Bug Fixes

  • MeshCore neighbor query crashed on PostgreSQL/MySQL (#3602) — meshcore_neighbor_info.timestamp / .createdAt were 32-bit INTEGER/INT but store millisecond-epoch values that overflow int32; widened to BIGINT (migration 096).
  • downlinkEnabled/uplinkEnabled: false reverted to true after restart (#3598) — proto3 elides boolean false, and a ?? true fallback re-inflated user-disabled channel flags on device reconnect; both now default to false.
  • Position history dropped SNR for directly-heard (0-hop) nodes (#3593) — SNR is now captured per-fix and shown in the tooltip; the same 0 dB-drop guard was fixed on the central snr_local telemetry path.
  • MeshCore auto-ack {SNR} / {ROUTE} tokens intermittently blank (#3592) — buffered SNR/route data is now correlated to the matching packet (freshness + pathLen, consumed once) instead of leaking across messages.
  • macOS x64 (Intel) desktop crashed on launch (#3604) — the x64 DMG shipped an arm64 re2.node (ERR_DLOPEN_FAILED); the build now rebuilds re2 from source as x86_64 and backfills the missing CI arch flags.
  • Mesh-request endpoints return 503 (not 500) when disconnected (#3597) — /api/traceroute, /api/position/request, /api/nodeinfo/request, /api/neighborinfo/request, /api/telemetry/request now return a meaningful 503 with the v1-API error shape.

Internationalization

Issues Resolved

  • #3587 — Add MeshCore CLI Python application to Docker image
  • #3588 — MeshCore node favoriting (pin to top of node list)
  • #3589{SNR}/{ROUTE} tokens intermittently missing in MeshCore auto-ack
  • #3590 — Position history: SNR not captured when node heard directly (0 hops)
  • #3594downlinkEnabled: false reverts to true after container restart
  • #3596 — Error on Traceroute when node not connected
  • #3599 — Support FEM LNA Mode configuration (LoRa)
  • #3603 — macOS x64 DMG bundles re2.node as arm64 instead of x86_64

New Contributors

  • @TheWISPRer made their first contribution in #3538 — the Dead Drop / Mailbox feature. Thank you! 🎉

Upgrade Notes

No breaking changes. Three idempotent migrations (094 MeshCore favorites, 095 Dead Drop store, 096 neighbor-timestamp BIGINT) run automatically on first boot across SQLite / PostgreSQL / MySQL.

Full Changelog: v4.11.2...v4.11.3

🚀 MeshMonitor v4.11.3

📦 Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:4.11.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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.