v2.8.3-closed.1 (29322609)
Pre-release
Pre-release
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