Releases: meshtastic/Meshtastic-Android
Releases · meshtastic/Meshtastic-Android
v2.7.9-open.1 (29319572)
What's Changed
🏗️ Features
- feat: add infrastructure shutdown safeguards and enhance shutdown dialog text by @mdecourcy in #3858
- feat(firmware): Implement USB DFU updates for supported devices by @jamesarich in #3901
- chore(build-logic): Apply Spotless and Detekt to build-logic module by @jamesarich in #3962
🛠️Fixes
- fix: contact list ordering by @mdecourcy in #3863
- fix: autofocus in message threads by @mdecourcy in #3869
- fix: system back button exiting from node detail page by @mdecourcy in #3870
- feat(model): Make NetworkDeviceHardware robust to unknown JSON keys by @jamesarich in #3880
- Fix/3894 talkback confusion by @DaneEvans in #3914
- block creation or sending of duplicate channels. by @DaneEvans in #3913
- chore: Update VERSION_NAME_BASE to 2.7.9 by @jamesarich in #3917
- Revert "block creation or sending of duplicate channels. " by @jamesarich in #3921
- update internal report name to reorder . by @DaneEvans in #3925
- fix #3838 : message deletion count on the contacts page. by @DaneEvans in #3924
- Set socket timeout to 5s by @weebl2000 in #3929
- refactor: Remove unused connection transport state by @jamesarich in #3933
- refactor: improve node DB state management and readiness logic by @jamesarich in #3932
- fix(maps): Enable lite mode and fix recomposition for inline maps by @jamesarich in #3936
- refactor(settings): Use string resources for update intervals by @jamesarich in #3937
- fix(map): Remove liteMode from inline map by @jamesarich in #3949
- feat(navigation): Navigate back to list view on tab reselection by @jamesarich in #3948
- chore(ci): generate changelog on pushes to main by @jamesarich in #3951
- ci(workflow): Improve release tag detection and artifact changelog by @jamesarich in #3954
- fix: back button respects navigation history in detail screens by @mdecourcy in #3956
- fix(strings): correct settings interval templating by @jamesarich in #3959
- refactor(build): Create a dedicated analytics convention plugin by @jamesarich in #3961
- fix(nodes): Correctly filter ignored nodes by @jamesarich in #3966
👷Dependencies
- chore(deps): update ktorfit to v2.6.5 by @renovate[bot] in #3875
- chore(deps): update actions/ai-inference action to v2 by @renovate[bot] in #3888
- chore(deps): update actions/github-script action to v8 by @renovate[bot] in #3889
- chore(deps): update actions/stale action to v10.1.1 by @renovate[bot] in #3890
- chore(deps): update io.nlopez.compose.rules:detekt to v0.5.0 by @renovate[bot] in #3891
- chore(deps): update io.nlopez.compose.rules:detekt to v0.5.1 by @renovate[bot] in #3900
- chore(deps): update androidx (general) by @renovate[bot] in #3895
- chore(deps): update com.github.mik3y:usb-serial-for-android to v3.10.0 by @renovate[bot] in #3906
- chore(deps): update protobuf runtime to v4.33.2 by @renovate[bot] in #3908
- chore(deps): update core/proto/src/main/proto digest to 4095e59 by @renovate[bot] in #3905
- chore(deps): update plugin kover to v0.9.4 by @renovate[bot] in #3938
- chore(deps): update peter-evans/create-pull-request action to v8 by @renovate[bot] in #3939
- chore(deps): update plugin com.gradle.develocity to v4.3 by @renovate[bot] in #3950
- chore(deps): update actions/upload-artifact action to v5 by @renovate[bot] in #3955
- chore(deps): update mikepenz/release-changelog-builder-action action to v6 by @renovate[bot] in #3953
- chore(deps): update core/proto/src/main/proto digest to 4095e59 by @renovate[bot] in #3958
- chore(deps): update com.android.tools:common to v31.13.2 by @renovate[bot] in #3968
- chore(deps): update datadog to v3.4.0 by @renovate[bot] in #3969
- chore(deps): update agp to v8.13.2 by @renovate[bot] in #3967
🧱Repo
- chore: Add GitHub Actions for AI-powered issue and PR management by @jamesarich in #3886
- Repo - drop completeness check for feature requests by @DaneEvans in #3910
- repo/ reduce ai review triggers when unneeded by @DaneEvans in #3915
- repo: Add AI Community Moderator workflow by @jamesarich in #3931
- repo: Add Contributor Covenant Code of Conduct by @jamesarich in #3941
- chore: Schedule documentation deployment on Sundays by @jamesarich in #3942
- chore: Use repeatOnLifecycle for lifecycle-aware coroutine launch by @jamesarich in #3952
🤖Automated
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3861
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3864
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3871
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3872
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3879
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3887
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3892
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3893
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3918
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3920
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3922
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3927
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3928
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3940
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3943
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3944
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3945
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3957
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3965
New Contributors
- @weebl2000 made their first contribution in #3929
Full Changelog: https://...
v2.7.8 (29319501)
What's Changed
🏗️ Features
- feat: Add firmware update module for Nordic nRF devices by @jamesarich in #3782
- feat(settings): Add RTTTL ringtone playback in settings by @jamesarich in #3799
- dupe internal builds to an alt repo to allow obtanium by @DaneEvans in #3809
- feat: Keep screen on during firmware update by @jamesarich in #3806
- feat: prevent QR imports from overriding local TX power by @mdecourcy in #3845
- feat(navigation): Implement adaptive list-detail for contacts and nodes by @jamesarich in #3850
- feat: firmware bootloader ota warnings by @mdecourcy in #3846
- feat: per device persistant dismissal of bootloader nags by @mdecourcy in #3859
🛠️Fixes
- docs: Overhaul and rename agent guide by @jamesarich in #3757
- chore(ci): Add Crowdin sync to scheduled updates by @jamesarich in #3760
- chore(ci): Use CROWDIN_GITHUB_TOKEN for scheduled updates PR by @jamesarich in #3761
- chore(crowdin): Remove
preserve_hierarchyoption by @jamesarich in #3764 - chore(renovate): Configure more aggressive automerge by @jamesarich in #3772
- chore: Update VERSION_NAME_BASE to 2.7.8 by @jamesarich in #3779
- fix: unread count racecondition by @mdecourcy in #3784
- fix: skip nodeinfo upsert when we recieve defaults from the node by @mdecourcy in #3796
- feat: Add Jetpack Paging 3 support for messages and threads/contacts by @mdecourcy in #3795
- refactor: Improve RSSI reading robustness in connection info by @jamesarich in #3798
- refactor(connections): Improve RSSI reading robustness by @jamesarich in #3804
- Added relays count by @RCGV1 in #3773
- fix: message list paged lifecycle resulting in notifications being cleared by @mdecourcy in #3815
- fix: skip default nodeinfo upsert in handleReceivedUser for live packets by @mdecourcy in #3819
- fix stop the connections screen from jumping during connections by @DaneEvans in #3821
- fix: allow forgetting of network nodes by @DaneEvans in #3820
- Fix add qr acting like replace instead of add by @RCGV1 in #3823
- fix: loadCachedDb() before backfill to ensure in-mem nodedb isn't stale, show filtered count in nodelist by @mdecourcy in #3827
- fix: Prevent message list jumping during pagination updates by @mdecourcy in #3829
- fix: Multiple bugs - settings text fields, dropdowns, missing override duty cycle, and MQTT icon display by @mdecourcy in #3833
- fix: node search by keeping denormalized name columns up to date and backfilling existing nodes by @mdecourcy in #3839
- fix: duplicate LazyColumn keys for broadcast contacts by @mdecourcy in #3840
- fix: fdroid device hardware fallback using bundled JSON for incomplete cache entries by @mdecourcy in #3844
- fix: further fixes for fdroid json fallbacks by @mdecourcy in #3847
- fix: prevent text fields from auto-focusing on screen load by @mdecourcy in #3857
- refactor(navigation): Simplify adaptive back nav and state by @jamesarich in #3860
👷Dependencies
- chore(deps): update plugin dependency-analysis to v3.5.0 by @renovate[bot] in #3751
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #3755
- chore(deps): update androidx datastore to v1.2.0 by @renovate[bot] in #3756
- chore(deps): update devtools.ksp to v2.3.3 by @renovate[bot] in #3759
- chore(deps): update no.nordicsemi.kotlin.ble:client-android to v2.0.0-alpha11 by @renovate[bot] in #3776
- chore(deps): update core/proto/src/main/proto digest to 52fa252 by @renovate[bot] in #3775
- chore(deps): update io.nlopez.compose.rules:detekt to v0.4.28 by @renovate[bot] in #3781
- chore(deps): update fastlane to v2.229.0 by @renovate[bot] in #3783
- chore(deps): update androidx (general) to v3.3.6 by @renovate[bot] in #3797
- chore(deps): update fastlane to v2.229.1 by @renovate[bot] in #3801
- chore(deps): update ruby to v3.4.7 by @renovate[bot] in #3802
- chore(deps): update ktor to v3.3.3 by @renovate[bot] in #3825
- chore(deps): update plugin dependency-analysis to v3.5.1 by @renovate[bot] in #3831
- chore(deps): update no.nordicsemi.kotlin.ble:client-android to v2.0.0-alpha12 by @renovate[bot] in #3849
🧱Repo
- chore(ci): preserve translation hierarchy by @jamesarich in #3762
- ci(workflows): Preserve hierarchy when uploading sources to Crowdin by @jamesarich in #3763
- fix(ci): localization branch name by @jamesarich in #3765
- ci: check workflow status on scheduled updates by @jamesarich in #3774
- fix: typo by @jamesarich in #3777
- chore(ci): Use dedicated token for Crowdin workflow by @jamesarich in #3778
- fix token value by @DaneEvans in #3811
- tweak bug reports by @DaneEvans in #3818
- add 'ci' to autolabel for repo. by @DaneEvans in #3835
🤖Automated
- New Crowdin updates by @jamesarich in #3752
- chore: Scheduled updates (Firmware, Hardware, Translations) by @github-actions[bot] in #3766
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3790
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3791
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3794
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3800
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3803
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3810
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3824
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3826
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3828
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3832
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3834
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3836
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in #3843
- chore: Scheduled updates (Firmware, Hardware, Translations) by @jamesarich in https://github.com/meshtastic/Meshtastic-An...
v2.7.7 (29319424)
What's Changed
🏗️ Features
- refactor(ble): Migrate to Nordic BLE Library for scanning and bonding by @jamesarich in #3712
- feat #3642: Add infrastructure to the list of filters. by @DaneEvans in #3716
- feat(connections):
Connectingstate refactor by @jamesarich in #3722 - feat(ui): Display BLE signal strength for connected device by @jamesarich in #3721
- feat(ui): Improve scan status text display by @jamesarich in #3725
- feat: polish jump to unread message by @mdecourcy in #3710
🛠️Fixes
- Update strings.xml by @b8b8 in #3711
- add back arrow to the channelConfig screen by @DaneEvans in #3713
- refactor(coroutines): Use SupervisorJobs by @jamesarich in #3714
- fix #3509: MQTT reporting interval not being selected, and sent to node by @DaneEvans in #3717
- fix(bluetooth): Check for permissions before accessing bonded devices by @jamesarich in #3720
- feat(bluetooth): Request location permission for BLE scan pre S by @jamesarich in #3724
- feat(nsd): Add support for Android 14+ NSD resolving by @jamesarich in #3731
- refactor(service): Simplify boot-time service startup by @jamesarich in #3730
- refactor(ble): Improve BLE connection stability and error handling by @jamesarich in #3744
👷Dependencies
- chore(deps): update com.squareup.okhttp3:logging-interceptor to v5.3.1 by @renovate[bot] in #3718
- chore(deps): update gradle to v9.2.1 by @renovate[bot] in #3723
- chore(deps): update com.squareup.okhttp3:logging-interceptor to v5.3.2 by @renovate[bot] in #3733
- chore(deps): update core/proto/src/main/proto digest to 7eb3258 by @renovate[bot] in #3736
- chore(deps): update plugin spotless to v8.1.0 by @renovate[bot] in #3738
- chore(deps): update com.diffplug.spotless:spotless-plugin-gradle to v8.1.0 by @renovate[bot] in #3737
- chore(deps): update datadog to v3.3.0 by @renovate[bot] in #3742
- chore(deps): update androidx (general) by @renovate[bot] in #3745
- chore(deps): update androidx room to v2.8.4 by @renovate[bot] in #3746
- chore(deps): update androidx lifecycle to v2.10.0 by @renovate[bot] in #3748
- chore(deps): update androidx.navigation3:navigation3-runtime to v1.0.0 by @renovate[bot] in #3747
🧱Repo
- chore: Update VERSION_NAME_BASE to 2.7.7 by @jamesarich in #3715
🤖Automated
- New Crowdin updates by @jamesarich in #3734
- New Crowdin updates by @jamesarich in #3739
- chore: Scheduled updates (Firmware, Hardware) by @jamesarich in #3743
Full Changelog: v2.7.6...v2.7.7
v2.7.6 (29319394)
What's Changed
🏗️ Features
- Feat/improve debug decoding by @DaneEvans in #3554
- feat #3436 - add current IP address' to the settings > network panel. by @DaneEvans in #3537
- Fix #3542 Conversations list item layout. by @Tema-man in #3553
- feat: Display relay node information for messages by @jamesarich in #3574
- Enable parallel installation of debug and release builds by @poliver in #3596
- Remove
UiViewModelsnackbar logic by @poliver in #3598 - Modularize remaining nodes code by @poliver in #3599
- Move
SettingsNavigationback to:appmodule by @poliver in #3604 - Re-enable debug application IDs by @poliver in #3607
- feat(map): Persist Google Maps camera position by @jamesarich in #3605
- Remove
stringResource()idnamed argument by @poliver in #3618 - Alias strings
RtoResby @poliver in #3619 - Relocate proto utils by @poliver in #3621
- Clean up string access by @poliver in #3629
- refactor(ble): Replace custom BLE implementation with Nordic by @jamesarich in #3595
- feat: per device DB manager by @mdecourcy in #3641
- refactor(ble): Refactor NordicBleInterface for clarity and stability by @jamesarich in #3653
- Kmp strings cleanup by @poliver in #3669
- feat: Add bottom-nav scroll-to-top handling for nodes and conversations by @mdecourcy in #3674
- feat(ble): Add support for LogRadio characteristic, enhance logs by @jamesarich in #3691
- feat: jump to oldest unread message upon opening a thread, display divider between read/unread by @mdecourcy in #3693
🛠️Fixes
- Add node's name to CSV export file by @NeimadTL in #3555
- fix #3528 Handle duplicate values in the broadcast interval enum by @DaneEvans in #3538
- Fix #3468 - Timed Mute by @DaneEvans in #3544
- fix #3566: rangetest export not having distances by @DaneEvans in #3566
- fix #2062: Remap channels when rearranged by @DaneEvans in #3561
- feat: Enable minification and add ProGuard rules by @jamesarich in #3576
- refactor: Comment out debug applicationId overrides by @jamesarich in #3601
- Use
Resourcesfor string access by @poliver in #3620 - fix(#3622): Do not favorite node when sending a dm from a CLIENT_BASE device by @jamesarich in #3623
- refactor: Update protobuf keep rule for new package name by @jamesarich in #3627
- fix: Clear packet database alongside node database by @jamesarich in #3634
- fix: Update ignored status in nodeDB on toggle by @jamesarich in #3638
- fix: Add delays around heartbeat on connection by @jamesarich in #3643
- fix: bt notif subscription race condition by @jamesarich in #3645
- Make
:core:stringsa Compose Multiplatform library by @poliver in #3617 - chore: temporarily remove translations to allow crowdin to repopulate by @jamesarich in #3664
- refactor: Improve log export logic for decoded payloads by @jamesarich in #3663
- fix: enforce LRU only over device-specific DBs, add one-time deletion of legacy DB on switch (guarded by prefs flag) by @mdecourcy in #3648
- fix: clear in mem cached values on nodedb, factory reset by @mdecourcy in #3680
- Remove escaped single quotes and fix format args (translations) by @poliver in #3682
- Attempt to disable crowdin escapes by @poliver in #3685
- Attempt to disable crowdin single quote escapes by @poliver in #3687
- fix(strings): Correct format specifiers for plurals and integers by @jamesarich in #3698
- chore: Fix unescaped apostrophes in translations by @jamesarich in #3700
- fix: address backfill issue on tcp connections; add logging by @mdecourcy in #3676
- feat(build): Add distinct names for debug builds by @jamesarich in #3707
👷Dependencies
- chore(deps): update kotlin ecosystem to v2.2.21 by @renovate[bot] in #3531
- chore(deps): update github artifact actions (major) by @renovate[bot] in #3541
- chore(deps): update plugin dependency-analysis to v3.4.0 by @renovate[bot] in #3540
- chore(deps): update gradle to v9.2.0 by @renovate[bot] in #3558
- chore(deps): update plugin dependency-analysis to v3.4.1 by @renovate[bot] in #3572
- chore(deps): update firebase by @renovate[bot] in #3571
- chore(deps): update com.squareup.okhttp3:logging-interceptor to v5.3.0 by @renovate[bot] in #3579
- chore(deps): update core/proto/src/main/proto digest to fbe1538 by @renovate[bot] in #3584
- chore(deps): update markdown renderer (mike penz) to v0.38.1 by @renovate[bot] in #3594
- ci: Enable Renovate for Bundler by @jamesarich in #3602
- chore(deps): Bump aws-sdk-s3 and related dependencies by @jamesarich in #3603
- chore(deps): update devtools.ksp to v2.3.1 by @renovate[bot] in #3612
- chore(deps): update com.google.android.gms:play-services-maps to v19.2.0 by @renovate[bot] in #3613
- chore(deps): update ktor to v3.3.2 by @renovate[bot] in #3624
- chore(deps): update androidx navigation by @renovate[bot] in #3625
- chore(deps): update androidx (general) by @renovate[bot] in #3626
- chore(deps): update androidx navigation to v1.0.0-rc01 by @renovate[bot] in #3628
- chore(deps): update devtools.ksp to v2.3.2 by @renovate[bot] in #3635
- chore(deps): update agp to v8.13.1 by @renovate[bot] in #3651
- chore(deps): update com.android.tools:common to v31.13.1 by @renovate[bot] in #3652
- chore(deps): update plugin compose-multiplatform to v1.9.3 by @renovate[bot] in #3654
- feat(#3508): Optionally preserve Favorites on nodeDb reset by @renovate[bot] in #3633
- chore(deps): update com.google.zxing:core to v3.5.4 by @renovate[bot] in #3670
- chore(deps): update protobuf runtime to v4.33.1 by @renovate[bot] in #3692
- chore(deps): update com.google.firebase:firebase-bom to v34.6.0 by @renovate[bot] in #3704
- chore(deps): update google maps compose to v6.12.2 by @renovate[bot] in #3706
🧱Repo
- Update VERSION_NAME_BASE to 2.7.6 by @jamesarich in #3588
- fix: Explicitly set Crowdin project type to Android by @jamesarich in #3694
- feat: Add pre-commit run configuration by @JamesAric...