Skip to content

v4.16.0-rc6

Pre-release
Pre-release

Choose a tag to compare

@Yeraze Yeraze released this 08 Sep 22:44
0ca018d

MeshMonitor v4.16.0-rc6

⚠️ Pre-release. This is a release candidate for testing. It does not receive the :latest Docker tag. Report problems on the issue tracker or Discord.

Eighteen changes since rc5, weighted toward hardening the Meshtastic TCP connection path. Two config-sync bugs behind #5122 are fixed: the favorite write-back now happens outside the sync so it can no longer wedge it, and a sync that stalls partway is detected and reported instead of hanging indefinitely. A security fix stops device credentials being written to debug logs — see the note below. On the map, route segments now honour the Show RF / UDP / MQTT toggles rather than ignoring them, and the Leaflet attribution has room beside the packet monitor. MeshCore gains the Philadelphia "MeshCore 500" preset following Philly Mesh's move to FCC-compliant 500 kHz operation. The GPIO Pin Usage sidebar on the Configuration tab now stays inside the viewport instead of scrolling off the bottom, and the MeshCore MQTT ingest inputs pick up the active theme. Dependency maintenance covers nine packages, including vitest 5.0.0 — which is now grouped in Dependabot so the family upgrades together rather than as individually-broken PRs.

🔒 Security

  • Device credentials were being written to debug logs#5142 (fixes #5141). If you have run an earlier build with debug logging enabled, treat existing log files as sensitive: rotate or delete them, and rotate any device credentials that may have been captured.

✨ Features

  • MeshCore: Philadelphia "MeshCore 500" radio preset — 902.250 MHz / 500 kHz / SF11 / CR 4-5 — #5155 (closes #5137). Note that Philly Mesh also standardises on a 2-byte path hash, which the preset cannot set; the picker now tells you so.
  • Map: route segments respect the Show RF / UDP / MQTT filters — #5144 (closes #5097)

🐛 Bug Fixes

  • Meshtastic TCP: defer the favorite write-back out of the config sync — #5138 (#5122)
  • Meshtastic TCP: detect a stalled initial config sync instead of hanging — #5140 (#5122 Bug B)
  • Configuration: keep the GPIO Pin Usage sidebar inside the viewport — #5154 (closes #5100)
  • Map: give the Leaflet credit room beside the packet monitor — #5139 (closes #5099)
  • Dashboard: theme the MeshCore MQTT ingest inputs — #5136 (closes #5135)

🔧 CI / DevOps

  • Group vitest with its companions so majors travel together — #5126. vitest, @vitest/coverage-v8 and @vitest/ui pin each other exactly, so a major bump previously arrived as separate, individually-unmergeable PRs.

📦 Dependencies

  • vitest group → 5.0.0 (vitest, @vitest/coverage-v8, @vitest/ui) — #5145
  • eslint 10.9.1 → 10.10.0 — #5146
  • openid-client — #5147
  • emoji-picker-react 4.19.4 → 4.20.1 — #5148
  • mysql2 3.23.4 → 3.24.3 — #5149
  • maplibre-gl 6.6.0 → 6.7.0 — #5150
  • globals 17.11.0 → 17.12.0 — #5151
  • @typescript-eslint/parser 8.68.0 → 8.69.0 — #5152
  • lucide-react 1.40.0 → 1.41.0 — #5153

Issues Resolved

#5099, #5100, #5122, #5135, #5137, #5141, #5097

Upgrade Notes

No schema migrations and no configuration changes are required. The only action item is the log-hygiene step in the Security section above.

Full changelog: v4.16.0-rc5...v4.16.0-rc6