What's Changed
🏗️ Features
- feat(messaging): Add double-tap to react with 👍 by @jamesarich in #3972
- feat: Port “Compass view” bottom sheet from Meshtastic-Apple PR #1504 by @jakevis in #3896
- feat(settings): add about screen with open source licenses by @jamesarich in #4012
- feat: add SNR/RSSI/Hops Away metrics and timestamp to the reaction dialog by @1nv in #3964
- feat: Traceroute map visualisation by @DivineOmega in #4002
- refactor(build): Migrate core/common to KMP and cleanup build logic by @jamesarich in #4026
- feat(ui): Animate icon changes with Crossfade by @jamesarich in #4028
- ci: Cache AVD snapshots to speed up Android tests by @jamesarich in #4030
- feat(build): add module dependency graph generation by @jamesarich in #4042
- Feat request neighbours by @DaneEvans in #3709
- feat: Add ability to request telemetry from a remote node by @jamesarich in #4059
- Add elevation to places where LatLong is listed. by @DaneEvans in #4071
- Implements#4054 - Add channel name to channel message notification by @RaspberryProgramming in #4069
🛠️Fixes
- refactor(di): Introduce @ProcessLifecycle qualifier for di by @jamesarich in #3978
- refactor: Move byte utilities to core:common module by @jamesarich in #3977
- refactor(concurrent): Introduce SequentialJob to manage service setup by @jamesarich in #3983
- feat: Mark database models and protobufs as stable by @jamesarich in #3982
- feat: Optimize message list node lookup by @jamesarich in #3981
- chore: Update VERSION_NAME_BASE to 2.7.10 by @jamesarich in #3986
- refactor(ui): refactor glow effect drawing by @jamesarich in #3988
- refactor: consolidate F-Droid task disabling to convention plugin by @jamesarich in #3990
- chore: enhance bluetooth and wifi connection logging by @mdecourcy in #3960
- fix(build): disable more analytics tasks for F-Droid builds by @jamesarich in #4000
- Update strings for small meshes.xml by @b8b8 in #4009
- Allow using custom tile server via HTTP by @texaskst in #3976
- Remove ktorfit by @poliver in #4019
- Restructure node filters by @poliver in #4020
- fix: correctly check for local or pre-db-update reaction via RSSI == 0 by @1nv in #4024
- refactor(analytics): Only plant DebugTree in debug builds by @jamesarich in #4025
- fix: nodes seen before full user exchange not being updated in phone NodeDB by @mdecourcy in #3996
- Traceroute map position snapshots by @DivineOmega in #4035
- fix : avoid our node to be a relaynode candidate by @emp3r0r7 in #4037
- refactor: Add LONG_TURBO ChannelOption and validation test by @jamesarich in #4039
- fix: app README.md header by @jamesarich in #4043
- perf: add missing index to optimize message list by @mdecourcy in #4055
- fix: fixes to improve chat view reliability, eliminates stutter by @mdecourcy in #4053
- Revert "chore(deps): update ruby to v4" by @jamesarich in #4064
- fix unstaged file for altitude on compass by @DaneEvans in #4074
- fix: internal regression; if hardware model is unset keep long/short names null by @mdecourcy in #4079
- perf: add node list indicies by @mdecourcy in #4056
👷Dependencies
- chore(deps): update com.google.firebase:firebase-bom to v34.7.0 by @renovate[bot] in #3973
- chore(deps): update ktorfit to v2.7.1 by @renovate[bot] in #3974
- chore(deps): update io.nlopez.compose.rules:detekt to v0.5.2 by @renovate[bot] in #3975
- chore(deps): update github artifact actions (major) by @renovate[bot] in #3987
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #3991
- chore(deps): update core/proto/src/main/proto digest to 4095e59 by @renovate[bot] in #3998
- chore(deps): update core/proto/src/main/proto digest to 9beb80f by @renovate[bot] in #4014
- chore(deps): update devtools.ksp to v2.3.4 by @renovate[bot] in #4018
- chore(deps): update plugin protobuf to v0.9.6 by @renovate[bot] in #4022
- chore(deps): update ruby to v3.4.8 by @renovate[bot] in #4023
- chore(deps): update androidx.compose:compose-bom-alpha to v2025.12.01 by @renovate[bot] in #4027
- chore(deps): update kotlin ecosystem to v2.3.0 by @renovate[bot] in #4015
- chore(deps): update core/proto/src/main/proto digest to 62ef17b by @renovate[bot] in #4029
- chore(deps): update actions/cache action to v5 by @renovate[bot] in #4031
- chore(deps): update google maps compose to v7 (major) by @renovate[bot] in #4032
- chore(deps): update fastlane to v2.230.0 by @renovate[bot] in #4038
- chore(deps): update io.nlopez.compose.rules:detekt to v0.5.3 by @renovate[bot] in #4041
- chore(deps): update markdown renderer (mike penz) by @renovate[bot] in #4048
- chore(deps): update core/proto/src/main/proto digest to c474fd3 by @renovate[bot] in #4050
- chore(deps): update ruby to v4 by @renovate[bot] in #4062
🧱Repo
- chore: Add labeler rule for refactor branch naming by @jamesarich in #3979
🤖Automated
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3980
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3984
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3985
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3989
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3997
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3999
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4001
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4003
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4004
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4006
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4008
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4013
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4017
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4021
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4034
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #4040
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4044
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4045
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4049
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4051
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4058
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4060
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4066
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4067
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4068
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4073
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4076
New Contributors
- @jakevis made their first contribution in #3896
- @texaskst made their first contribution in #3976
- @1nv made their first contribution in #3964
- @DivineOmega made their first contribution in #4002
- @RaspberryProgramming made their first contribution in #4069
Full Changelog: v2.7.9...v2.7.10-open.2