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 - feat(charts): voltage, colors, legends, and adaptive ui by @jamesarich in #4383
π οΈ Fixes
- 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
- 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
- refactor(build): Centralize Android SDK and Java versions by @jamesarich in #4377
- fix(node): fix regressions since node ui refactor by @jamesarich in #4379
- refactor(build): Centralize Develocity and build cache configuration by @jamesarich in #4382
- Refactor PR workflow to include check-changes step by @jamesarich in #4397
- chore: fix regressions in the release by @jamesarich in #4398
- ci18n: Add fastlane metadata to Crowdin by @jamesarich in #4402
- feat(settings): Add firmware capability checks for settings by @jamesarich in #4403
- ci: fix scheduled-updates workflow by explicitly adding paths by @jamesarich in #4405
- feat(release): Automate changelog, asset updates, and tagging by @jamesarich in #4407
- fix(ci): ensure release commit is pushed to branch and validate SHA by @jamesarich in #4409
- fix(ci): robust SHA passing for release workflow by @jamesarich in #4410
- fix(ci): ensure release SHA is passed correctly and validate inputs by @jamesarich in #4411
- fix(l10n): update translation paths in Crowdin config to use locale by @jamesarich in #4420
- fix(l10n): update translation paths in Crowdin config to use locale by @jamesarich in #4422
π Other Changes
- chore(build): Enable and configure Compose Compiler reports by @jamesarich in #4289
- chore(deps): Update Gradle and library versions by @jamesarich in #4309
- Update VERSION_NAME_BASE to 2.7.12 by @jamesarich in #4312
- 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
- Update full_description.txt by @Korb in #4388
- docs: fix typo and url by @bobidle in #4396
- fix(ci): use PAT for release workflow to bypass branch protection by @jamesarich in #4408
- fix(ci): robust SHA passing via artifact to bypass secret masking by @jamesarich in #4412
- fix(ci): switch to pre-emptive tagging workflow by @jamesarich in #4414
- fix(ci): pre-emptive tagging by @jamesarich in #4415
New Contributors
Full Changelog: v2.7.11...v2.7.12-internal.9