Skip to content

v4.17.3-rc5

Pre-release
Pre-release

Choose a tag to compare

@Yeraze Yeraze released this 11 Nov 01:35
· 5 commits to main since this release
4e514e0

MeshMonitor v4.17.3-rc5

Warning

This is a pre-release for testing. Do not use it in production.

Summary

This RC finishes the Meshtastic ↔ MeshCore parity audit (#6226). Auto Responder, Timer Triggers, Auto Announce and automations now split long MeshCore messages, and Meshtastic uses the same splitter. MeshCore message length caps now match firmware. A new MQTT root topic finder samples a broker (subscribe-only) and suggests roots near you. It names your state and city offline, can find MeshCore IATA regions, and admins can opt in to a daily refresh of the community topic list. The server now rejects an invalid MQTT root topic when you change it. New MeshCore alerts cover a repeater clock out of sync and a confirmed new neighbour. API callers can send MeshCore channel messages under an allowed sender name. Rooms show stored posts read-only without a live login, and you can change a room's Auto-sync without logging in. Notification services get a configurable message text length.

Features

  • MeshCore: split long messages in Auto Responder, Timer Triggers, Auto Announce and automations (#6316) #6329
  • Automation: Meshtastic long-message split through the shared splitter (#6330) #6339
  • MQTT: root topic finder, a subscribe-only broker sample (#6287) #6328
  • MeshCore: IATA region finder for MeshCore MQTT ingest (#6335) #6343
  • MQTT: offline geocoder for root finder state and city rows (#6336) #6345
  • MQTT: opt-in live refresh of the root finder's community directory (#6337) #6346
  • MeshCore: clock-out-of-sync alert from passive advert sampling (#6273) #6327
  • Automation: MeshCore confirmed new-neighbour alert (#6274) #6334
  • MeshCore: optional senderName for API channel sends, per-source allowlist (#6282) #6331
  • MeshCore: show stored room posts read-only without a live login (#6332) #6333
  • Notifications: configurable message text length per service (#6278) #6326
  • MeshCore: Packet Monitor origin column never guesses, gates names on nodes:read, adds a TX/RX marker (#6265) #6324

Bug Fixes

  • MQTT: reject invalid MQTT root topics server-side on save (#6338) #6344
  • MeshCore: message length caps match firmware (#6303, #6304) #6323
  • MeshCore: change room Auto-sync from the login card without logging in (#6267) #6320
  • Automations: Template Gallery node picker and multi-automation naming (#6271, #6272) #6322
  • MeshCore: key-gate MQTT feed channel messages by filing them under their key (#6308) #6318

CI/DevOps

  • Desktop: macOS x64 release build on macos-latest #6317

Translations

  • Translations update from Hosted Weblate #6222

Dependencies

  • i18next 26.5.11 → 27.0.0 #6298
  • @noble/curves 1.9.7 → 2.4.0 #6300
  • leaflet.heat 0.2.0 → 1.0.0 #6296
  • vitest group #6291
  • otplib 13.5.0 → 13.6.0 #6295
  • node-notifier 11.0.0 → 12.1.0 #6297
  • production-dependencies group (8 updates) #6325
  • jsdom 30.1.3 → 31.0.0 #6294
  • i18next-browser-languagedetector 8.2.3 → 8.3.0 #6299
  • @tanstack/react-query 5.105.0 → 5.107.1 #6301
  • docker/login-action 4.7.0 → 4.8.0 #6290

Issues Resolved

#6226, #6265, #6267, #6271, #6272, #6273, #6274, #6278, #6282, #6287, #6303, #6304, #6308, #6316, #6319, #6330, #6332, #6335, #6336, #6337, #6338

Upgrade Notes

  • Migrations 230 and 231 run on first start.
  • Saving a changed MQTT root topic that fails validation now returns HTTP 400 (INVALID_MQTT_ROOT). Unchanged roots and restores still save.

Full Changelog: v4.17.3-rc4...v4.17.3-rc5

🚀 MeshMonitor v4.17.3-rc5

📦 Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:4.17.3-rc5

🧪 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.