Changelog for CAPod
v5.0.1-rc0 - April 08, 2026
What’s Changed
Enhancements
- Fix: Show signal strength as a bar indicator instead of a percentage by @d4rken in #486
- Device: Show a Connect button when AirPods are not connected to this phone by @d4rken in #489
- Device: Improve settings screen layout and grouping by @d4rken in #492
Bug fixes
- Fix: Stop device settings disappearing in crowded Bluetooth areas by @d4rken in #484
- Fix: Show device settings immediately after opening the app by @d4rken in #485
- Device: Fix AirPods settings screen display and controls by @d4rken in #487
- Fix: Accurate signal bars and stable connection icons by @d4rken in #491
- Device: Fix “Last Seen” getting stuck while AirPods are connected by @d4rken in #493
Other changes
- Device: Improve debug logs for AirPods info packets by @d4rken in #488
- Device: Fix AirPods rename not actually changing the name by @d4rken in #490
- General: Update app translations for all 68 languages by @d4rken in #494
v5.0.0-beta0 - April 04, 2026
What’s Changed
Enhancements
- Direct AirPods communication support (better data, ANC mode control and more) by @d4rken in #464
- Device: Auto-correct device model when AAP reports a mismatch by @d4rken in #465
- Device: Add AAP protocol tests and fix feature flags for AirPods Pro by @d4rken in #467
- Device: Hide paired devices already used by another profile by @d4rken in #471
- Device: Remember battery levels and show offline device cards by @d4rken in #469
- Device: Add drag-to-reorder for device profiles by @d4rken in #475
- General: Limit dashboard to one device for free users by @d4rken in #476
- Device: Add settings screen for AirPods controls by @d4rken in #477
- General: Slim down device cards and improve cached display by @d4rken in #480
- Device: Add new AirPods settings, stem actions, and noise control modes by @d4rken in #481
Bug fixes
- Fix: Fix crash when displaying AirPods device cards by @d4rken in #472
- Fix: Fix AirPods connection not working in manual monitor mode by @d4rken in #478
- Fix: Fix noise control mode reverting after putting AirPods in ear by @d4rken in #479
Other changes
- Reaction: Speed up AirPods settings connection after Bluetooth reconnect by @d4rken in #466
- Fix: Correct ear detection and volume swipe flags for multiple devices by @d4rken in #468
- Device: Add AAP protocol tests for AirPods Pro 2 USB-C by @d4rken in #474
v4.0.3-rc0 - March 23, 2026
What’s Changed
Bug fixes
- Fix: Stop auto-connect from retrying when blocked by Android by @d4rken in #460
- Fix: Show key icon for single-pod devices like AirPods Max by @d4rken in #461
v4.0.2-rc1 - March 23, 2026
What’s Changed
Bug fixes
- Fix: Fix crash when leaving the device profile screen by @d4rken in #453
- Fix: Fix crash when querying in-app purchases by @d4rken in #454
- Fix: Reduce foreground service timeout crash on cold start by @d4rken in #451
- Fix: Fix native crash when displaying battery levels by @d4rken in #457
- Fix: Prevent crash from dependency injection failure in monitoring service by @d4rken in #458
Other changes
- General: Update GitHub Actions to Node.js 24-compatible versions by @d4rken in #448
- General: Update translations from Crowdin by @d4rken in #459
v4.0.1-rc0 - March 12, 2026
What’s Changed
Enhancements
- General: Replace Moshi JSON library with built-in serialization by @d4rken in #442
- Device: Start scanning when Bluetooth permission is granted by @d4rken in #445
Bug fixes
- Fix: Fix debug log sharing crash and improve session cleanup by @d4rken in #440
- Fix: Fix debug recording lost after app restart by @d4rken in #441
- Fix: Fix contact form retaining old text after sending by @d4rken in #444
- Fix: Fix crash when Google Play billing service disconnects by @d4rken in #446
Other changes
- General: Rename debug recorder button from Close to Keep by @d4rken in #443
- General: Update translations from Crowdin by @d4rken in #447
v4.0.0-rc0 - March 09, 2026
What’s Changed
Enhancements
- General: Overhaul app screens with improved navigation and bug fixes by @d4rken in #401
- General: Add dark mode, color themes, and contrast settings by @d4rken in #405
- Widget: Redesign widget configuration screen by @d4rken in #409
- General: Add circular battery gauges to device cards by @d4rken in #410
- Device: Redesign profile creation screen by @d4rken in #414
- General: Add battery progress bars to expanded notification by @d4rken in #417
- Widget: Improve rendering with live updates and better alignment by @d4rken in #419
- General: Require upgrade for theme customization by @d4rken in #420
- General: Add contact developer form with debug log attachment by @d4rken in #421
- General: Move upgrade icon to first position and use star for all flavors by @d4rken in #423
- General: Show hint to disable notification when extra notification is enabled by @d4rken in #424
- General: Add wiki link to support screen by @d4rken in #426
- General: Add full-screen upgrade screen with pro benefits overview by @d4rken in #427
- General: Improve settings storage reliability by @d4rken in #422
- General: Add yearly subscription option and improve FOSS sponsor experience by @d4rken in #429
- General: Add debug session manager and improve recording workflow by @d4rken in #431
- General: Ask to delete debug log after sharing it by @d4rken in #435
Bug fixes
- General: Fix brief screen flash before onboarding on fresh install by @d4rken in #403
- Device: Fix profile editing always opening in create mode by @d4rken in #407
- Fix: Fix false unsaved changes warning and repeated popup notifications by @d4rken in #408
- Reaction: Fix popup appearing twice when opening AirPods case by @d4rken in #411
- General: Move monitoring settings to their own category by @d4rken in #412
- Widget: Fix invisible text and gap in widget configuration screen by @d4rken in #416
- Device: Fix app getting stuck in scanning loop without Bluetooth by @d4rken in #428
- Fix: Fix crash on startup and widget stuck on spinner in release builds by @d4rken in #432
- Fix: Fix debug log sessions appearing in wrong order by @d4rken in #436
Other changes
- General: Update icon style across all screens by @d4rken in #402
- General: Open changelog on project website instead of GitHub by @d4rken in #418
- General: Add unit tests for reaction logic and ViewModels by @d4rken in #433
- General: Reduce wait time for FOSS sponsor unlock by @d4rken in #434
- General: Update translations from Crowdin by @d4rken in #437
- General: Update app and fastlane translations from Crowdin by @d4rken in #439
v3.1.0-rc0 - February 23, 2026
What’s Changed
Enhancements
- feat(widget): Add theme customization by @d4rken in #393
- feat(popup): Redesign connection popup with larger device graphics by @d4rken in #394
- feat(popup): Add product photo device icons and improve signal indicator by @d4rken in #395
Bug fixes
- Refactor PlayPause logic and fix behavior for SinglePods (e.g. AirPods Max) by @d4rken in #355
- fix(monitor): Prevent crash when OS denies foreground service start by @d4rken in #397
Other changes
- chore: Bump Android Gradle Plugin to 9.0.1 by @d4rken in #390
- chore: Update app and fastlane translations from Crowdin by @d4rken in #391
- chore: Update app translations from Crowdin by @d4rken in #396
- refactor(monitor): Make notification builder stateless by @d4rken in #398
- chore: Update app translations from Crowdin by @d4rken in #399
- chore: Update app translations from Crowdin by @d4rken in #400
v3.0.5-rc0 - February 16, 2026
What’s Changed
Bug fixes
- fix: Call startForeground() before Hilt DI to prevent timing crash by @d4rken in #388
Other changes
- chore: Update app translations from Crowdin by @d4rken in #389
v3.0.4-rc1 - February 09, 2026
What’s Changed
Enhancements
- Restructure Claude Code config into modular rules by @d4rken in #375
- chore: Upgrade to AGP 9.0.0 and Gradle 9.3.1 by @d4rken in #379
Bug fixes
- Widget: Fix layout for devices with single charge detection by @d4rken in #353
- Widget broken: Couldn’t add widget by @d4rken in #352
- fix: Handle display cutouts in landscape mode by @d4rken in #374
- fix: Harden battery display against native crashes by @d4rken in #377
- fix: Replace WorkManager with ForegroundService to eliminate excessive wakelocks by @d4rken in #378
- fix: Guard MonitorService start against missing Bluetooth permissions by @d4rken in #381
- fix: Pre-release cleanup of manifest, resource leaks, and dependencies by @d4rken in #382
- fix: Use correct labels for upgrade and donate menu items by @d4rken in #383
- fix(ci): Narrow APK glob to avoid uploading duplicates by @d4rken in #384
Other changes
- Update translations by @d4rken in #354
- chore: Remove stale CLAUDE.md exclusion from _config.yml by @d4rken in #376
- chore: Remove redundant gradle.properties after AGP 9 upgrade by @d4rken in #380
- chore: Update app translations from Crowdin by @d4rken in #385
v3.0.3-rc0 - October 29, 2025
What’s Changed
Enhancements
- Improve BluetoothManager by @d4rken in #347
Bug fixes
- Improve Bluetooth device connection monitoring by @d4rken in #346
Other changes
- Update translations by @d4rken in #348
v3.0.2-rc0 - October 11, 2025
What’s Changed
Bug fixes
- Fix crash on start due to R8 by @d4rken in #342
Other changes
- feat: Add and update translations for Dutch and Mexican Spanish by @d4rken in #343
v3.0.1-rc0 - October 10, 2025
What’s Changed
Other changes
- Refactor: Convert build configuration to Gradle plugin pattern by @d4rken in #337
- Add ear detection limitation notice to reactions settings by @d4rken in #338
- Feat: Update translations by @d4rken in #339
- Update and extend translations by @d4rken in #340
v3.0.0-beta1 - October 07, 2025
What’s Changed
Enhancements
- Support for multiple device profiles by @d4rken in #330
- Allow key inputs with spaces instead of dashes by @d4rken in #331
- Implemented widget configuration for multiple profiles by @d4rken in #332
Other changes
- Feat: Update translations by @d4rken in #334
- Translations by @d4rken in #335
- Chore: Update release tooling by @d4rken in #336
v2.19.0-rc1 - September 21, 2025
What’s Changed
Enhancements
- AirPods Pro 3 support by @d4rken in #328
Other changes
- Add support for AirPods Pro 3 by @li-fstz in #325
- Initial support for AirPods Pro 3 by @atharen in #327
New Contributors
v2.18.0-rc1 - September 03, 2025
No release notes available.
v2.18.0-rc0 - September 03, 2025
What’s Changed
Enhancements
- Allow keeping “connected” notification after disconnect by @d4rken in #321
Bug fixes
- Refactor GPlay billing error handling and translations by @d4rken in #314
Other changes
- Apply translation updates and add Norwegian Bokmål by @d4rken in #320
- Refactor buildSrc and update dependencies by @d4rken in #322
v2.17.6-rc0 - July 02, 2025
What’s Changed
Other changes
- Google Play maintenance by @d4rken in #311
v2.17.5-rc0 - June 30, 2025
What’s Changed
Other changes
- Fix IRK-only mode to prevent heuristic fallback + auto battery optimization by @wnerhs in #310
New Contributors
- @wnerhs made their first contribution in #310
v2.17.4-rc0 - June 23, 2025
What’s Changed
Enhancements
- Enhance Jekyll config and add auto-generated changelog page by @d4rken in #299
- Add support for PowerBeats Pro 2 by @d4rken in #303
Bug fixes
- Dependencies: Downgrade Navigation Core to 2.8.9 by @d4rken in #308
Other changes
- Improve changelog by @d4rken in #300
- Add Fastlane changelogs for multiple languages by @d4rken in #301
- Improve changelogs by @d4rken in #302
- Upgrade Android Gradle Plugin and KSP by @d4rken in #306
- Update, add and improve translations by @d4rken in #305
- More translations by @d4rken in #307
v2.17.3-rc0 - June 18, 2025
What’s Changed
Other changes
- Update translations and fix vandalism by @d4rken in #297
v2.17.2-rc0 - June 13, 2025
What’s Changed
Bug fixes
- Fix IRK match flag in AppleFactory by @d4rken in #294
Other changes
- Update translations by @d4rken in #295
v2.17.1-rc1 - June 12, 2025
What’s Changed
Other changes
- Translations by @d4rken in #292
v2.17.0-rc0 - June 06, 2025
What’s Changed
Enhancements
- Add option for separate connected notification by @d4rken in #284
- Support AirPods Identity-Resolving-Key and Encryption-Key by @d4rken in #288
Other changes
- Update translations and Crowdin.com support by @d4rken in #242
- Update description with feedback from Crowdin by @d4rken in #244
- Remove link to Twitter by @d4rken in #253
- Update PRIVACY_POLICY.md by @d4rken in #252
- Update github actions (based on SDMSE) and use pinning by @d4rken in #256
- Update gradle dependencies and configurations by @d4rken in #260
- Update translations by @d4rken in #262
- Decrease default minimum signal quality by @d4rken in #281
- Group reaction preferences into categories by @d4rken in #282
- Remove obsolete configuration in manifest by @d4rken in #283
- Translate strings for new notification channel and update descriptions by @d4rken in #289
v2.16.0-rc0 - November 08, 2024
What’s Changed
- Fix onboarding not being completable with large fontsizes by @d4rken in #233
- add support airpods max 2 & fix airpods max by @b4shtirk1n in #238
- Fix AirPods Max and AirPods Max (USB-C) support by @d4rken in #240
New Contributors
- @b4shtirk1n made their first contribution in #238
v2.15.0-rc0 - September 23, 2024
What’s Changed
- Improve BLE scanning by @d4rken in #222
- Add support for AirPods (Gen 4 - no ANC) by @d4rken in #227
- Add support for AirPods (Gen 4 with ANC) by @d4rken in #228
- Fix WorkManager init crash by @d4rken in #229
- Record debug logs without foreground service by @d4rken in #230
v2.14.1-rc0 - July 12, 2024
What’s Changed
- Fix crashes when entering settings by @d4rken in #219
v2.14.0-rc0 - July 12, 2024
What’s Changed
- Update strings.xml by @a-gah in #196
- Remove empty “Other”-Label in Support-Settings (Update preferences_support.xml) by @a-gah in #197
- Remove proprietary Google Play info block in FOSS builds by @d4rken in #199
- Update translations by @d4rken in #200
- Thank the MagicPods project by @d4rken in #201
- Material You design changes and widgets update by @TipzRickyCheung in #209
- Add PUSH_NOTIFICATIONS permission to AndroidManifest.xml for wearos by @kavishdevar in #203
- Implement support for different states in notification text by @TipzRickyCheung in #210
- Material You design changes and widgets update (Part 2) by @TipzRickyCheung in #211
- Fix up-navigation behavior when doing onboarding by @d4rken in #216
- Fix app crash on launch if permission are not granted by @d4rken in #217
- Show battery values in notification content titles by @d4rken in #218
New Contributors
- @TipzRickyCheung made their first contribution in #209
- @kavishdevar made their first contribution in #203
v2.13.0-rc0 - February 25, 2024
What’s Changed
- Update strings.xml by @hwlnx in #179
- Onboarding typo fixed, dual pods layout realigned. by @JerretQueen in #182
- Update translations by @d4rken in #190
- Add support for PowerBeats4 by @d4rken in #189
New Contributors
v2.12.1-rc0 - October 28, 2023
What’s Changed
- Request
FOREGROUND_SERVICE_SPECIAL_USEfor debug log service by @d4rken in #174
v2.12.0-rc0 - October 28, 2023
What’s Changed
- Extend test case for AirPods Pro 2 (USB-C) by @d4rken in #167
- Widget: Center device label by @d4rken in #169
- Bump dependencies and API targets by @d4rken in #170
- Billing update by @d4rken in #171
- Update translations by @d4rken in #172
v2.11.1-rc0 - September 23, 2023
What’s Changed
v2.11.0-rc0 - September 11, 2023
What’s Changed
- Remove WearOS build from Google Play pipeline. by @d4rken in #153
- Extra onboarding step by @d4rken in #158
- Remove bugsnag by @d4rken in #157
- Hide install UI element by @d4rken in #159
- Prevent app from crashing if no app to view urls is installed by @d4rken in #160
- Update translations by @d4rken in #161
v2.10.0-rc2 - July 07, 2023
What’s Changed
- Use new WearOS release track on Google Play by @d4rken in #151
v2.10.0-rc0 - July 05, 2023
What’s Changed
- Support edge-to-edge rendering on Android Q+ by @Seanathan10 in #146
- Update translations by @d4rken in #147
- Add reaction option: Popup on new connection by @d4rken in #149
- Update translations by @d4rken in #150
New Contributors
- @Seanathan10 made their first contribution in #146
v2.9.3-rc0 - June 27, 2023
What’s Changed
- Update AGP by @d4rken in #142
- Update translations by @d4rken in #141
- Fix “Missing show time” by @d4rken in #143
- Fix “Missing app icon in splash screen” by @d4rken in #144
- Fix background execution errors. by @d4rken in #145
v2.9.2-rc0 - May 16, 2023
What’s Changed
- Improve CI jobs by @d4rken in #127
- Improve strings based on translator feedback by @d4rken in #128
- Gradle bump by @d4rken in #131
- Tweak widget layout by @d4rken in #132
- Update translations by @d4rken in #133
v2.9.1-rc0 - April 05, 2023
What’s Changed
- Troubleshooter improvements by @d4rken in #126
v2.9.0-rc0 - April 02, 2023
What’s Changed
- More IAP improvements by @d4rken in #121
- A troubleshooter that automatically goes through different compatibility settings. by @d4rken in #125
v2.8.4-rc0 - March 13, 2023
What’s Changed
- Fix billing client disconnection handling by @d4rken in #117
v2.8.3-rc0 - March 13, 2023
What’s Changed
- Show worker foreground notification early. by @d4rken in #110
- Quick data updates can cause concurrent access and modifying of the n… by @d4rken in #111
- For some reason we can finish the widget update broadcast twice. by @d4rken in #112
- Bump dependencies and gradle by @d4rken in #113
- Address that gplay api can emit multiple times by @d4rken in #114
- Fix reversed AirPods Max wear-detection by @d4rken in #116
v2.8.2-rc0 - March 10, 2023
What’s Changed
- Update Turkish translation by @d4rken in #100
- Wear: Remove unused code by @d4rken in #104
- Fix AirPods Max wear detection. by @d4rken in #108
- Update translations by @d4rken in #109
v2.8.1-rc0 - February 09, 2023
No release notes available.
v2.8.0-rc0 - February 03, 2023
What’s Changed
- Only apply Bugsnag to gplay build flavor by @d4rken in #88
- Remove short hash from generated apk file names by @d4rken in #89
- Improve lidstate tracking by @d4rken in #90
- Fix popup icon sizes by @d4rken in #91
- Improve battery case tracking by @d4rken in #92
- Improve tracking in crowds by @d4rken in #93
- Fix potential widget crash by @d4rken in #94
- Change defaults setting for “Show all devices” by @d4rken in #95
- Adjust signal quality display by @d4rken in #96
- Fix data display for non dual apple pods by @d4rken in #98
v2.7.2-rc0 - January 30, 2023
What’s Changed
- Fix feature display for single pods inside the app. by @d4rken in #87
- Adjust supported AirPods Max features. by @d4rken in #86
v2.7.1-rc1 - January 28, 2023
What’s Changed
- Update translations by @d4rken in #85
v2.7.0-rc0 - January 25, 2023
What’s Changed
- Update translations by @d4rken in #79
- Move shared permissions into the common module by @d4rken in #81
- Improve compatibility options by @d4rken in #80
- New compatibility option for receiving BLE data by @d4rken in #82
- Faster CI checks by @d4rken in #83
v2.6.1-rc0 - January 20, 2023
What’s Changed
- More granular pod features by @d4rken in #76
v2.6.0-rc0 - January 14, 2023
What’s Changed
- Overhaul play/pause reaction code by @d4rken in #74
- Add preliminary support for Beats Fit Pro by @d4rken in #75
v2.5.3-rc1 - January 12, 2023
What’s Changed
- Support for fake AirPods 2. Generation by @d4rken in #73
v2.5.2-rc0 - January 06, 2023
What’s Changed
- Add support for fake AirPods Pro 2 by @d4rken in #69
- Improve feature support for fake AirPods Pro by @d4rken in #70
- Improve feature support for fake AirPods Gen1 by @d4rken in #71
- Improve feature support for fake AirPods Gen3 by @d4rken in #72
v2.5.1-rc0 - December 24, 2022
What’s Changed
- Airpod pro2 icon iteration by @d4rken in #64
v2.5.0-rc1 - December 23, 2022
What’s Changed
v2.4.0-rc0 - December 19, 2022
What’s Changed
- Add support for fake AirPods Gen3 by @d4rken in #60
v2.3.1-rc0 - November 07, 2022
What’s Changed
- add monochrome icon by @GitGitro in #51
- Improve automatic monitor mode by @d4rken in #53
- Fix comparison that determines which list item is the primary device. by @d4rken in #54
- Improve case battery information retention by @d4rken in #55
- Clean up tests by @d4rken in #56
New Contributors
- @GitGitro made their first contribution in #51
v2.3.0-rc0 - November 05, 2022
What’s Changed
- A CAPod widget, oh my! ¯_(ツ)_/¯ by @d4rken in #46
- Improve UI performance by @d4rken in #48
- Improve notification theming by @d4rken in #47
- Update translations by @d4rken in #49
v2.2.1-rc1 - October 27, 2022
What’s Changed
- Fix monitor mode being set to ALWAYS when visiting the settings by @d4rken in #42
- Update translations by @d4rken in #43
- Release script by @d4rken in #44
v2.2.0-rc0 - September 24, 2022
What’s Changed
- AirPods Pro 2 by @d4rken in #32
v2.1.1-rc0 - September 19, 2022
What’s Changed
- Add request for POST_NOTIFICATIONS on Android 13. by @d4rken in #30
v2.1.0-rc0 - September 14, 2022
No release notes available.
v2.0.0-beta1 - September 14, 2022
No release notes available.
v2.0.0-beta0 - September 14, 2022
What’s Changed
- Wear OS support by @d4rken in #24
v1.3.14-rc0 - August 24, 2022
What’s Changed
- Update README.md by @Poussinou in #16
New Contributors
- @Poussinou made their first contribution in #16
v1.3.13-rc7 - July 25, 2022
What’s Changed
- Update Github links by @d4rken in #10
- Make bugsnag opt-in in foss builds. by @d4rken in #9
- Update README.md by @d4rken in #11
- Update translations by @d4rken in #13
New Contributors
- @d4rken made their first contribution in #10