Skip to content

v2.8.3-closed.1 (29322609)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Oct 10:39
955e71e

Highlights

Message notifications on Android Auto. Site Planner coverage is computed on the device. A terminal for meshtasticd nodes. Reboot nRF52 nodes into DFU mode. Firmware updates show the installed and latest bootloader. A coding rate override on top of the modem preset. Reactions get their own notification channel. Many stability, privacy and data-correctness fixes.

What's Changed

🏗️ Features

  • feat(network): a hidden showcase scenario for Demo Mode by @jamesarich in #7377
  • feat(app): shell-only debug launch switches for onboarding and the trust dialog by @jamesarich in #7375
  • feat(settings): raise the coding rate over a modem preset by @jamesarich in #7405
  • feat(firmware): show installed vs latest bootloader before an upgrade by @jamesarich in #7409
  • feat(auto): notification messaging on Android Auto by @jamesarich in #7417
  • feat(map-maplibre): start with collapsed attribution strip on seconda… by @Tha14 in #7424
  • perf(store-screenshots): wait for the map to draw instead of a fixed 45 seconds by @jamesarich in #7501
  • feat(desktop): add draggable scrollbars to node and message lists by @jamesarich in #7506
  • feat(notifications): post reactions on their own channel by @jamesarich in #7507
  • feat(admin): add Reboot into DFU mode admin action for nRF52 nodes by @jamesarich in #7504
  • feat(remote-shell): mesh terminal for the firmware DMShell module by @jamesarich in #6862

🖥️ Desktop

  • fix(mqtt): remove noop mqtt to allow the mqtt proxy to work on the desktop builds by @Tha14 in #7400
  • fix(notifications): put every notification on its own channel and tap target by @jamesarich in #7415
  • fix(database): delete old mesh logs in bounded batches by @jamesarich in #7423
  • fix: keep WiFi credentials, addresses and coordinates out of app logs by @jamesarich in #7419
  • fix: data correctness fixes from the Android audit by @jamesarich in #7429
  • fix(node): show the real traceroute map on desktop by @jamesarich in #7425
  • refactor: keep one copy of shared code across platforms by @jamesarich in #7432
  • fix(ui): localize UI strings, fix stale effect captures, one EmptyState by @jamesarich in #7430

🛠️ Fixes

  • fix(map): keep the node track map responsive on long tracks by @jamesarich in #7373
  • fix(konsist): anchor the scanned-source inputs at the source roots by @jamesarich in #7382
  • fix(map): frame the mesh clear of the map's own controls by @jamesarich in #7385
  • fix(node): drop the filter bar's own background inside the list header by @jamesarich in #7386
  • fix(appfunctions): index functions where AppSearch has no dynamic schema by @jamesarich in #7402
  • fix(ui): split the link colour per mode by @jamesarich in #7406
  • fix(settings): stop profile import dropping Mesh Beacon settings by @jamesarich in #7416
  • fix(database): never publish a replacement pool while the write lock is held by @jamesarich in #7418
  • fix(prefs): recover corrupt Android prefs files and make toggles atomic by @jamesarich in #7420
  • fix(navigation): keep each tab's state across tab switches by @jamesarich in #7421
  • fix(discovery): keep an unheard node's SNR distinct from 0 dB by @jamesarich in #7422
  • fix(service): correct phone position units and omit missing readings by @jamesarich in #7437
  • fix(wifi-provision): release the BLE peripheral on retry and on leaving by @jamesarich in #7453
  • fix(map-maplibre): clear warnings and collect state with lifecycle by @jamesarich in #7460
  • fix(takserver): log a route export that failed to write by @jamesarich in #7459
  • fix(node): leave positions without a fix out of the GPX track by @jamesarich in #7457
  • fix(service): stop the inbound pipeline waiting on node writes by @jamesarich in #7464
  • fix(app): check a shared map file before importing it by @jamesarich in #7463
  • fix(ui): show byte sizes in decimal units, formatted for the locale by @jamesarich in #7469
  • fix(app): stop cleanly on devices the bundled SQLite can't run on by @jamesarich in #7470
  • fix(service): keep the last-heard write off the inbound lock by @jamesarich in #7474
  • fix(takserver): keep one route file across reinstalls by @jamesarich in #7475
  • fix(ui): show transfer rates and file limits in decimal units by @jamesarich in #7476
  • fix(ble): keep device addresses out of logs by @jamesarich in #7478
  • fix(ble): export the bond wait receiver so bond broadcasts reach it by @jamesarich in #7484
  • fix(firmware): show the percent while a maintenance UF2 downloads by @jamesarich in #7485
  • fix(messaging): let a pinned conversation be unpinned by @jamesarich in #7492
  • fix(app): restore the Apache HTTP legacy library for Google Maps by @jamesarich in #7499
  • fix(metrics): break power chart lines across gaps in readings by @jamesarich in #7505
  • fix(analytics): drop the package from RUM view names by @jamesarich in #7525
  • fix(node): keep verified contacts verified by @jamesarich in #7531
  • fix(settings): stop calling Balanced packet authenticity recommended by @jamesarich in #7535

📝 Other Changes

  • refactor(data): page the log export, remove dedupe leftovers by @jamesarich in #7449
  • refactor(map): share the Web Mercator projection with node clustering by @jamesarich in #7483
  • refactor(ui): share the remote shell's keyboard sink from core/ui by @jamesarich in #7526

New Contributors

Full Changelog: v2.8.2...v2.8.3-internal.7