What's Changed
🏗️ Features
- feat: word-based message filtering with quarantine approach (stored but hidden) by @mdecourcy in #4241
- feat(node): Refactor Node Detail screen and enhance user feedback by @jamesarich in #4291
- Refactor: Only show advanced and app settings for local node by @jamesarich in #4290
- feat: Add Status Message module support by @jamesarich in #4163
- refactor(ui): Icon audit and node list item refactor by @jamesarich in #4313
- feat(ui): Remove uptime from SignalInfo by @jamesarich in #4328
- feat(messaging): Improve message bubble UI and add delivery status action by @jamesarich in #4330
- Refactor: Replace custom charts with Vico library by @jamesarich in #4348
- Refactor: Create
core:apimodule and set up publishing by @jamesarich in #4362
🛠️Fixes
- chore(build): Enable and configure Compose Compiler reports by @jamesarich in #4289
- feat(service): Introduce fallback worker to ensure service stays alive by @jamesarich in #4295
- feat: Improve channel migration logic and add tests by @jamesarich in #4294
- chore(deps): Update Gradle and library versions by @jamesarich in #4309
- Update VERSION_NAME_BASE to 2.7.12 by @jamesarich in #4312
- fix(ui): Prevent NaN values in environment metrics by @jamesarich in #4316
- fix(usb): Add error handling for serial write operations by @jamesarich in #4318
- fix(service): Add error handling for invalid StoreForward++ packets by @jamesarich in #4319
- fix: map cluster crash by @jamesarich in #4317
- refactor(core): Optimize and share network state flows by @jamesarich in #4320
- fix(notifications): Suppress notifications for muted contacts an… by @jamesarich in #4323
- fix(mesh): Set
hopStartto matchhopLimitin sent packets by @jamesarich in #4324 - fix(node): list and detail usability fixes by @jamesarich in #4336
- refactor(firmware): Inject dispatcher into
BleOtaTransportby @jamesarich in #4339 - fix(caps): Correct firmware version for
canMuteNodeby @jamesarich in #4341 - chore(lint): Disable ForbiddenComment detekt rule by @jamesarich in #4344
- fix(neighborinfo): disable neighbor info dialog temporarily by @jamesarich in #4345
- fix(reactions): fix sent message reaction alignment by @jamesarich in #4355
- feat(build): Add support for remote Gradle build cache by @jamesarich in #4357
- chore: Apply maven-publish plugin consistently by @jamesarich in #4364
- feat: Add JitPack configuration for publishing by @jamesarich in #4365
- build: Configure JitPack publishing for core modules by @jamesarich in #4366
- chore(ci): Remove GitHub Packages publishing workflow by @jamesarich in #4368
- build: Lower JDK to 17 and minSdk to 21 by @jamesarich in #4369
👷Dependencies
- chore(deps): update fastlane to v2.231.1 by @renovate[bot] in #4296
- chore(deps): update dagger & hilt to v2.59 by @renovate[bot] in #4297
- chore(deps): update app.cash.molecule:molecule-runtime to v2.2.0 by @renovate[bot] in #4302
- chore(deps): update com.android.tools:common to v32 by @renovate[bot] in #4306
- chore(deps): update org.robolectric:robolectric to v4.16.1 by @renovate[bot] in #4305
- build: Upgrade build configuration and dependencies by @jamesarich in #4311
- chore(deps): update io.mockk:mockk to v1.14.9 by @renovate[bot] in #4325
- chore(deps): update google maps compose to v8 (major) by @renovate[bot] in #4338
- chore(deps): update io.nlopez.compose.rules:detekt to v0.5.6 by @renovate[bot] in #4335
- chore(deps): update datadog to v3.6.0 by @renovate[bot] in #4340
- chore(deps): update core/proto/src/main/proto digest to bc63a57 by @renovate[bot] in #4337
- chore(deps): update static analysis to v8.2.1 by @renovate[bot] in #4342
- chore(deps): update plugin com.gradle.develocity to v4.3.2 by @renovate[bot] in #4347
- chore(deps): update devtools.ksp to v2.3.5 by @renovate[bot] in #4349
- chore(deps): update androidx.work:work-runtime-ktx to v2.11.1 by @renovate[bot] in #4351
- chore(deps): update androidx navigation to v2.9.7 by @renovate[bot] in #4350
- chore(deps): update androidx (general) by @renovate[bot] in #4352
- chore(deps): update gradle to v9.3.1 by @renovate[bot] in #4358
- chore(deps): update protobuf runtime to v4.33.5 by @renovate[bot] in #4367
- chore(deps): update androidx.activity:activity-compose to v1.12.3 by @renovate[bot] in #4370
🧱Repo
- ci(release): Ensure artifacts are always uploaded and attested by @jamesarich in #4321
- chore(repo): replace the triage robots by @jamesarich in #4359
🤖Automated
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4287
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4299
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4301
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4310
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4314
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4315
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4322
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4327
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4329
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4332
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4343
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4353
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4356
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4360
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4361
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4363
- chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) by @jamesarich in #4371
Full Changelog: v2.7.11...v2.7.12-closed.1