Releases: bitwarden/android
Password Manager 2025.7.1 (20513)
Overview
Fixed a stability issue related to in-app navigation
What's Changed
- 🍒 [BRE-831] migrate secrets akv (#5347) by @SaintPatrck in #5595
- PM-24182: Fix crash in Android 13 by @david-livefront in #5594
Full Changelog: v2025.7.0-bwa...v2025.7.1-bwpm
Builds Source: https://github.com/bitwarden/android/actions/runs/16570263642
Authenticator 2025.7.1 (601)
Overview
Fixed a stability issue related to in-app navigation
What's Changed
- 🍒 [BRE-831] migrate secrets akv (#5347) by @SaintPatrck in #5595
- PM-24182: Fix crash in Android 13 by @david-livefront in #5594
Full Changelog: v2025.7.0-bwa...v2025.7.1-bwa
Builds Source: https://github.com/bitwarden/android/actions/runs/16570477282
Password Manager 2025.7.0 (20486)
Overview
Updated Autofill settings to provide clearer explanations of functionality.
Improved server-side validation of encrypted data to address decryption issues.
Various bug fixes, UI improvements, and internal optimizations
What's Changed
- [PM-21782] Improve create cipher error handling by @SaintPatrck in #5362
- Update the Firebase BOM to 33.15.0 by @david-livefront in #5366
- [PM-22552] Update alg type in PasskeyAttestationOptions by @SaintPatrck in #5363
- Update to Junit v5.13.1 by @david-livefront in #5367
- Update AndroidX AppCompat and Autofill libraries by @david-livefront in #5368
- Update version constant names for consistency by @david-livefront in #5369
- [PM-19108] Update passkey prompt for unrecognized browser by @SaintPatrck in #5371
- [PM-22777] Migrate AnimateNullableContentVisibility to ui module by @SaintPatrck in #5376
- [PM-22815] Migrate BitwardenContentBlock to ui module by @SaintPatrck in #5383
- PM-22776: Update logic for determining base domains by @david-livefront in #5374
- [PM-21363] Migrate ZonedDateTime utils to core module by @SaintPatrck in #5375
- [PM-22780] Migrate BitwardenHorizontalDivider to ui module by @SaintPatrck in #5379
- [PM-19625] Move DataStateExtensionsTest to data module by @SaintPatrck in #5377
- [PM-22786] Migrate BitwardenRowOfActions to ui module by @SaintPatrck in #5381
- [PM-22778] Migrate BitwardenTextButton to ui module by @SaintPatrck in #5378
- [PM-22786] Migrate PersistentListExtensions to core module by @SaintPatrck in #5380
- PM-22835: Update the passkey creation date format style by @david-livefront in #5386
- PM-22551: Update remove password copy by @david-livefront in #5387
- [PM-22786] Migrate TooltipData to ui module by @SaintPatrck in #5382
- PM-22874: Fix Events service domain by @david-livefront in #5391
- Crowdin Pull - Authenticator by @bw-ghapp[bot] in #5394
- Crowdin Pull - Password Manager by @bw-ghapp[bot] in #5395
- [PM-15087] Update the device push token every 7 days by @mzieniukbw in #4386
- Add Room Gradle plugin by @david-livefront in #5399
- Update Turbine to v1.2.1 by @david-livefront in #5398
- Update to latest Bitwarden SDK by @david-livefront in #5403
- Replace toObjectRoute with custom ParcelableRouteSerializer by @david-livefront in #5393
- PM-22875: Done button on keyboard should submit pin or password from dialog by @david-livefront in #5392
- Update Kotlin to v2.2.0 by @david-livefront in #5408
- Rename Chrome Autofill to Browser Autofill by @david-livefront in #5409
- [PM-22903] fix unit test execution by @Nailik in #5401
- [PM-22827] Move drawable resources to ui module and enable resource shrinking by @SaintPatrck in #5388
- Add Brave integration toggle by @david-livefront in #5411
- PM-22213: Update the order of items in the Send and Cipher overflows by @david-livefront in #5407
- [PM-22831] Migrate IconData and BitwardenIcon to ui module by @SaintPatrck in #5385
- Do not allow Bitwarden to autofill itself by @david-livefront in #5416
- PM-22997: Update compatibility versions for Chrome and Brave by @david-livefront in #5415
- [PM-22998] Migrate
isBuildVersionBelow
to core module by @SaintPatrck in #5417 - [PM-19309] Handle restrict item types policy by @andrebispo5 in #5357
- [PM-19108] Add Privileged Apps List Screen by @SaintPatrck in #5372
- [PM-22998] Fix isBuildVersionAtLeast check by @SaintPatrck in #5420
- Improve autofill version checking by @david-livefront in #5421
- Upgrade KSP to 2.2.0-2.0.2 by @SaintPatrck in #5422
- [BWA-162] Add
getPackageInstallationSourceOrNull
toBitwardenPackageManager
by @SaintPatrck in #5418 - PM-23092: Update the Autofill settings UI for better communication by @david-livefront in #5427
- [BWA-156] Allow TOTP syncing with Authenticator release APKs by @SaintPatrck in #5429
- Update Compose BOM to latest version (2025.06.01) by @david-livefront in #5431
- Update Robolectric to the latest version by @david-livefront in #5428
- Update Androidx Room and WorkManager libraries by @david-livefront in #5430
- Crowdin Pull - Authenticator by @bw-ghapp[bot] in #5433
- Crowdin Pull - Password Manager by @bw-ghapp[bot] in #5434
- [PM-19108] Fix untrusted privileged app origin validation error handling by @SaintPatrck in #5432
- PM-19776: Change 'Move to Bitwarden' to 'Copy to Bitwarden vault' by @david-livefront in #5435
- [BRE-848] Add Workflow Permissions by @pixman20 in #5389
- [PM-22786] Migrate BitwardenTextSelectionButton to ui module by @SaintPatrck in #5436
- Move item listing models to common location for reuse with search by @david-livefront in #5438
- [PM-23121] Capitalize "You" in passkey trust string by @SaintPatrck in #5437
- [PM-23122] Make
BitwardenTextRow
s inPrivilegedAppsListScreen
unclickable by @SaintPatrck in #5441 - [PM-22640] Updating screen capture flag when the setting is changed by @aj-rosado in #5426
- PM-23136: Only apply 'always' display cutout mode on API 30 and up by @david-livefront in #5446
- [PM-23125] Move authenticator drawables to ui module by @SaintPatrck in #5440
- [BRE-768] Rename store publish workflow to avoid confusion by @AmyLGalles in #5439
- [PM-23131] Make "About privileged apps" screen scrollable by @SaintPatrck in #5448
- [PM-23132] Update capitalization and wording in privileged apps strings by @SaintPatrck in #5449
- PM-23186: Move 'BitwardenSwitch' to the 'ui' module by @david-livefront in #5454
- PM-19780: Authenticator source headers by @david-livefront in #5450
- Update Junit and Mockk libraries by @david-livefront in #5455
- PM-22213: Hide current access count when editing and there is not max access count by @david-livefront in #5451
- Add generic logging to Autofill process by @david-livefront in #5457
- Fix flicker on TextField autocomplete by @david-livefront in #5456
- [PM-19779] Make Authenticator TOTP codes collapsible by @SaintPatrck in #5452
- PM-23275: Update the display name for UK English by @david-livefront in #5461
- Update to AGP v8.11.0 by @david-livefront in #5460
- [PM-22640] Re-added isScreenCaptureAllowed to the MainViewModel state by @aj-rosado in #5462
- log inputs to job summary for build workflows by @AmyLGalles in #5453
- Update various dependencies by @david-livefront in #5465
- PM-23293: Remove unused Toast events from the app by @david-livefront in #5463
- PM-22972: Replace send Toasts with Snackbars by @david-livefront in #5464
- [PM-23212] Move bitwarden.pw intent filter to debug and beta builds by @SaintPatrck in #5467
- Update to the latest Bitwarden SDK by @david-livefront in #5466
- PM-23305: Replace Vault Screen Toasts with Snackbars by @david-livefront in https://github.com...
Authenticator 2025.7.0 (599)
Overview
Improved stability of Authenticator sync
What's Changed
- [PM-21782] Improve create cipher error handling by @SaintPatrck in #5362
- Update the Firebase BOM to 33.15.0 by @david-livefront in #5366
- [PM-22552] Update alg type in PasskeyAttestationOptions by @SaintPatrck in #5363
- Update to Junit v5.13.1 by @david-livefront in #5367
- Update AndroidX AppCompat and Autofill libraries by @david-livefront in #5368
- Update version constant names for consistency by @david-livefront in #5369
- [PM-19108] Update passkey prompt for unrecognized browser by @SaintPatrck in #5371
- [PM-22777] Migrate AnimateNullableContentVisibility to ui module by @SaintPatrck in #5376
- [PM-22815] Migrate BitwardenContentBlock to ui module by @SaintPatrck in #5383
- PM-22776: Update logic for determining base domains by @david-livefront in #5374
- [PM-21363] Migrate ZonedDateTime utils to core module by @SaintPatrck in #5375
- [PM-22780] Migrate BitwardenHorizontalDivider to ui module by @SaintPatrck in #5379
- [PM-19625] Move DataStateExtensionsTest to data module by @SaintPatrck in #5377
- [PM-22786] Migrate BitwardenRowOfActions to ui module by @SaintPatrck in #5381
- [PM-22778] Migrate BitwardenTextButton to ui module by @SaintPatrck in #5378
- [PM-22786] Migrate PersistentListExtensions to core module by @SaintPatrck in #5380
- PM-22835: Update the passkey creation date format style by @david-livefront in #5386
- PM-22551: Update remove password copy by @david-livefront in #5387
- [PM-22786] Migrate TooltipData to ui module by @SaintPatrck in #5382
- PM-22874: Fix Events service domain by @david-livefront in #5391
- Crowdin Pull - Authenticator by @bw-ghapp[bot] in #5394
- Crowdin Pull - Password Manager by @bw-ghapp[bot] in #5395
- [PM-15087] Update the device push token every 7 days by @mzieniukbw in #4386
- Add Room Gradle plugin by @david-livefront in #5399
- Update Turbine to v1.2.1 by @david-livefront in #5398
- Update to latest Bitwarden SDK by @david-livefront in #5403
- Replace toObjectRoute with custom ParcelableRouteSerializer by @david-livefront in #5393
- PM-22875: Done button on keyboard should submit pin or password from dialog by @david-livefront in #5392
- Update Kotlin to v2.2.0 by @david-livefront in #5408
- Rename Chrome Autofill to Browser Autofill by @david-livefront in #5409
- [PM-22903] fix unit test execution by @Nailik in #5401
- [PM-22827] Move drawable resources to ui module and enable resource shrinking by @SaintPatrck in #5388
- Add Brave integration toggle by @david-livefront in #5411
- PM-22213: Update the order of items in the Send and Cipher overflows by @david-livefront in #5407
- [PM-22831] Migrate IconData and BitwardenIcon to ui module by @SaintPatrck in #5385
- Do not allow Bitwarden to autofill itself by @david-livefront in #5416
- PM-22997: Update compatibility versions for Chrome and Brave by @david-livefront in #5415
- [PM-22998] Migrate
isBuildVersionBelow
to core module by @SaintPatrck in #5417 - [PM-19309] Handle restrict item types policy by @andrebispo5 in #5357
- [PM-19108] Add Privileged Apps List Screen by @SaintPatrck in #5372
- [PM-22998] Fix isBuildVersionAtLeast check by @SaintPatrck in #5420
- Improve autofill version checking by @david-livefront in #5421
- Upgrade KSP to 2.2.0-2.0.2 by @SaintPatrck in #5422
- [BWA-162] Add
getPackageInstallationSourceOrNull
toBitwardenPackageManager
by @SaintPatrck in #5418 - PM-23092: Update the Autofill settings UI for better communication by @david-livefront in #5427
- [BWA-156] Allow TOTP syncing with Authenticator release APKs by @SaintPatrck in #5429
- Update Compose BOM to latest version (2025.06.01) by @david-livefront in #5431
- Update Robolectric to the latest version by @david-livefront in #5428
- Update Androidx Room and WorkManager libraries by @david-livefront in #5430
- Crowdin Pull - Authenticator by @bw-ghapp[bot] in #5433
- Crowdin Pull - Password Manager by @bw-ghapp[bot] in #5434
- [PM-19108] Fix untrusted privileged app origin validation error handling by @SaintPatrck in #5432
- PM-19776: Change 'Move to Bitwarden' to 'Copy to Bitwarden vault' by @david-livefront in #5435
- [BRE-848] Add Workflow Permissions by @pixman20 in #5389
- [PM-22786] Migrate BitwardenTextSelectionButton to ui module by @SaintPatrck in #5436
- Move item listing models to common location for reuse with search by @david-livefront in #5438
- [PM-23121] Capitalize "You" in passkey trust string by @SaintPatrck in #5437
- [PM-23122] Make
BitwardenTextRow
s inPrivilegedAppsListScreen
unclickable by @SaintPatrck in #5441 - [PM-22640] Updating screen capture flag when the setting is changed by @aj-rosado in #5426
- PM-23136: Only apply 'always' display cutout mode on API 30 and up by @david-livefront in #5446
- [PM-23125] Move authenticator drawables to ui module by @SaintPatrck in #5440
- [BRE-768] Rename store publish workflow to avoid confusion by @AmyLGalles in #5439
- [PM-23131] Make "About privileged apps" screen scrollable by @SaintPatrck in #5448
- [PM-23132] Update capitalization and wording in privileged apps strings by @SaintPatrck in #5449
- PM-23186: Move 'BitwardenSwitch' to the 'ui' module by @david-livefront in #5454
- PM-19780: Authenticator source headers by @david-livefront in #5450
- Update Junit and Mockk libraries by @david-livefront in #5455
- PM-22213: Hide current access count when editing and there is not max access count by @david-livefront in #5451
- Add generic logging to Autofill process by @david-livefront in #5457
- Fix flicker on TextField autocomplete by @david-livefront in #5456
- [PM-19779] Make Authenticator TOTP codes collapsible by @SaintPatrck in #5452
- PM-23275: Update the display name for UK English by @david-livefront in #5461
- Update to AGP v8.11.0 by @david-livefront in #5460
- [PM-22640] Re-added isScreenCaptureAllowed to the MainViewModel state by @aj-rosado in #5462
- log inputs to job summary for build workflows by @AmyLGalles in #5453
- Update various dependencies by @david-livefront in #5465
- PM-23293: Remove unused Toast events from the app by @david-livefront in #5463
- PM-22972: Replace send Toasts with Snackbars by @david-livefront in #5464
- [PM-23212] Move bitwarden.pw intent filter to debug and beta builds by @SaintPatrck in #5467
- Update to the latest Bitwarden SDK by @david-livefront in #5466
- PM-23305: Replace Vault Screen Toasts with Snackbars by @david-livefront in #5468
- PM-23308: Replace Toasts with Snackbar in AttachmentsScreen by @david-livefront in #5469
- PM-23322: Repla...
Password Manager 2025.6.1 (20398)
Overview
Fix for a crash for Android 10 users
What's Changed
- PM-23136: Android 10 crash hotfix by @david-livefront in #5447
Full Changelog: v2025.6.0-bwpm...v2025.6.1-bwpm
Builds Source: https://github.com/bitwarden/android/actions/runs/15984517798
Password Manager 2025.6.0 (20358)
What's Changed
- [PM-21703] Consolidate Robolectric and Compose test base classes by @SaintPatrck in #5210
- PM-21133: Add View Send navigation by @david-livefront in #5187
- [PM-21726] Move OmitFromCoverage to
annotation
module by @SaintPatrck in #5214 - PM-21701: Remove segmented control from Add Send Screen and update the screen title by @david-livefront in #5217
- PM-21080: Remove the isRemotelyConfigured flag by @david-livefront in #5193
- [PM-21386] Fix typo in sync with Bitwarden message by @SaintPatrck in #5220
- [PM-21357] Migrate ModifierExtensions to
ui
module by @SaintPatrck in #5215 - Rename AddSend UI to AddEditSend by @david-livefront in #5221
- Update test fixtures to allow for easier customization by @david-livefront in #5224
- [BRE-552] Fix Actionlint findings by @vgrassia in #5223
- [PM-21354] Migrate ColorExtensions and its tests to ui module by @SaintPatrck in #5216
- Bump Kotlin to 2.1.21 by @SaintPatrck in #5227
- Update authenticator compose tests to allow for easier use of local compositions by @david-livefront in #5228
- [PM-21385] Defer feature flag check for Bitwarden account sync by @SaintPatrck in #5222
- [PM-21385] Use flatMapLatest for accountSyncStateFlow by @SaintPatrck in #5231
- [PM-21826] Set missing workflow permissions by @vvolkgang in #5235
- [PM-21849] Rename
ui
module source dir tokotlin
by @SaintPatrck in #5232 - Update target and compile SDK to 36 by @SaintPatrck in #5229
- [PM-21405] Delete account error message by @andrebispo5 in #5237
- [PM-21851] Migrate RememberVectorPainter to ui module by @SaintPatrck in #5233
- Bump authenticatorbridge to 1.0.1 by @SaintPatrck in #5230
- PM-21879: Move SpanStyleUtil and StringResExtensions to UI module by @david-livefront in #5238
- Rename all
java
source dirs tokotlin
by @SaintPatrck in #5239 - [PM-21851] Use
rememberVectorPainter
from platform UI in Authenticator by @SaintPatrck in #5240 - PM-17660: Add additional context for the sync feature by @david-livefront in #5243
- [PM-21888] Migrate icon buttons to ui module by @SaintPatrck in #5241
- [PM-21577] Handle organization limitItemDeletion from sync response. by @andrebispo5 in #5244
- PM-16705: Improve the node validation logic by @david-livefront in #5250
- Autosync Crowdin Translations by @bw-ghapp in #5252
- [BRE-768] Creating stub workflow for testing by @AmyLGalles in #5259
- [PM-21537] Fix remove individual vault collection selection by @aj-rosado in #5262
- [PM-21336] CI restructuring #1 - Consolidate Crowdin pull and push workflows by @vvolkgang in #5253
- Add stub for publishing releases workflow by @michalchecinski in #5268
- PM-21916: Move the FAB to the UI module by @david-livefront in #5251
- Update Retrofit BOM to 3.0.0 by @david-livefront in #5258
- PM-21952: Move navigation package to UI module by @david-livefront in #5260
- [deps]: Update org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.4.0 by @renovate in #5265
- [deps]: Lock file maintenance by @renovate in #5267
- PM-17660: Improve the way we remember the annotated string by @david-livefront in #5257
- Update Compose BOM to 2025.05.01 by @david-livefront in #5269
- [PM-17686] Correct body text for "Replace existing certificate" dialog by @SaintPatrck in #5270
- Update Firebase BOM to v33.14.0 by @david-livefront in #5272
- PM-13040: Add known username field for the Disney Plus App by @david-livefront in #5271
- PM-21134: Fix send link title by @david-livefront in #5275
- PM-21135: Fix view send field order by @david-livefront in #5277
- [PM-21577] Fix delete button not showing bug by @andrebispo5 in #5276
- Clean up lint errors and suppressions by @david-livefront in #5281
- [PM-22169] Migrate app bar components to ui module by @SaintPatrck in #5279
- PM-15229: Update logic for handling edge-to-edge by @david-livefront in #5282
- BWA-158: Authenticator Edit Item should use a single LazyColum to allow for scrolling by @david-livefront in #5285
- PM-21631: Check for Search Screen when navigating after deleting a Send by @david-livefront in #5284
- [PM-20146] Remove native-create-account-flow feature flag by @andrebispo5 in #5283
- Crowdin Pull - Password Manager by @bw-ghapp in #5289
- Crowdin Pull - Authenticator by @bw-ghapp in #5288
- BWA-159: Update the ManualCodeEntryScreen to allow scrolling by @david-livefront in #5287
- [PM-21475] Remove deprecated SSO details endpoint feature flag by @SaintPatrck in #5286
- PM-10286: View Master Password Prompt by @david-livefront in #5280
- [QA-1164] Adding missing testTags for View Send page by @ifernandezdiaz in #5290
- [QA-1126] Add placeholder workflow for device farm testing by @vvolkgang in #5292
- PM-22302: Remove unused string resources by @david-livefront in #5296
- PM-22310: Replace Ok with Okay by @david-livefront in #5298
- Update AGP to 8.10.1 by @david-livefront in #5301
- PM-22265: Add Copy Notes button to ViewSendScreen by @david-livefront in #5303
- [deps] Update protobuf by @SaintPatrck in #5304
- [PM-21782] Pass
encryptedFor
to cipher functions by @SaintPatrck in #5297 - PM-22345: Flight recorder banner should not dismiss when navigating to settings by @david-livefront in #5306
- PM-22346: Remove the period from the generic error title by @david-livefront in #5308
- [deps] Update Google guava library by @SaintPatrck in #5305
- [PM-21891] Migrate filled and outlined button components to ui module by @SaintPatrck in #5302
- PM-22357: Delete Send button should use a capital S by @david-livefront in #5309
- PM-22362: AddSendScreen should include 'Required.' when describing the max file size by @david-livefront in #5310
- PM-22402: Update File Send error message by @david-livefront in #5313
- PM-22397: Remove custom deletion date by @david-livefront in #5311
- Crowdin Pull - Authenticator by @bw-ghapp in #5319
- Crowdin Pull - Password Manager by @bw-ghapp in #5320
- Update Junit to v5.13.0 by @david-livefront in #5323
- PM-22456: Move Temporal Accessor Extensions to 'Core' module by @david-livefront in #5324
- [PM-19107] Introduce user-trusted privileged apps for Credential Manager by @SaintPatrck in #4848
- Update the SnackbarRelayManager by @david-livefront in #5317
- Fix permissions for check-run action by @mandreko-bitwarden in #5316
- [deps]: Lock file maintenance by @renovate in #5331
- PM-22502: Format dates and times correctly for locale by @david-livefront in #5333
- [PM-21458] Add UserManagedPrivilegedApps feature flag by @SaintPatrck in #5325
- PM-10286: VerificationCodeScreen sh...
Authenticator 2025.6.0 (475)
What's Changed
- [PM-21703] Consolidate Robolectric and Compose test base classes by @SaintPatrck in #5210
- PM-21133: Add View Send navigation by @david-livefront in #5187
- [PM-21726] Move OmitFromCoverage to
annotation
module by @SaintPatrck in #5214 - PM-21701: Remove segmented control from Add Send Screen and update the screen title by @david-livefront in #5217
- PM-21080: Remove the isRemotelyConfigured flag by @david-livefront in #5193
- [PM-21386] Fix typo in sync with Bitwarden message by @SaintPatrck in #5220
- [PM-21357] Migrate ModifierExtensions to
ui
module by @SaintPatrck in #5215 - Rename AddSend UI to AddEditSend by @david-livefront in #5221
- Update test fixtures to allow for easier customization by @david-livefront in #5224
- [BRE-552] Fix Actionlint findings by @vgrassia in #5223
- [PM-21354] Migrate ColorExtensions and its tests to ui module by @SaintPatrck in #5216
- Bump Kotlin to 2.1.21 by @SaintPatrck in #5227
- Update authenticator compose tests to allow for easier use of local compositions by @david-livefront in #5228
- [PM-21385] Defer feature flag check for Bitwarden account sync by @SaintPatrck in #5222
- [PM-21385] Use flatMapLatest for accountSyncStateFlow by @SaintPatrck in #5231
- [PM-21826] Set missing workflow permissions by @vvolkgang in #5235
- [PM-21849] Rename
ui
module source dir tokotlin
by @SaintPatrck in #5232 - Update target and compile SDK to 36 by @SaintPatrck in #5229
- [PM-21405] Delete account error message by @andrebispo5 in #5237
- [PM-21851] Migrate RememberVectorPainter to ui module by @SaintPatrck in #5233
- Bump authenticatorbridge to 1.0.1 by @SaintPatrck in #5230
- PM-21879: Move SpanStyleUtil and StringResExtensions to UI module by @david-livefront in #5238
- Rename all
java
source dirs tokotlin
by @SaintPatrck in #5239 - [PM-21851] Use
rememberVectorPainter
from platform UI in Authenticator by @SaintPatrck in #5240 - PM-17660: Add additional context for the sync feature by @david-livefront in #5243
- [PM-21888] Migrate icon buttons to ui module by @SaintPatrck in #5241
- [PM-21577] Handle organization limitItemDeletion from sync response. by @andrebispo5 in #5244
- PM-16705: Improve the node validation logic by @david-livefront in #5250
- Autosync Crowdin Translations by @bw-ghapp in #5252
- [BRE-768] Creating stub workflow for testing by @AmyLGalles in #5259
- [PM-21537] Fix remove individual vault collection selection by @aj-rosado in #5262
- [PM-21336] CI restructuring #1 - Consolidate Crowdin pull and push workflows by @vvolkgang in #5253
- Add stub for publishing releases workflow by @michalchecinski in #5268
- PM-21916: Move the FAB to the UI module by @david-livefront in #5251
- Update Retrofit BOM to 3.0.0 by @david-livefront in #5258
- PM-21952: Move navigation package to UI module by @david-livefront in #5260
- [deps]: Update org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.4.0 by @renovate in #5265
- [deps]: Lock file maintenance by @renovate in #5267
- PM-17660: Improve the way we remember the annotated string by @david-livefront in #5257
- Update Compose BOM to 2025.05.01 by @david-livefront in #5269
- [PM-17686] Correct body text for "Replace existing certificate" dialog by @SaintPatrck in #5270
- Update Firebase BOM to v33.14.0 by @david-livefront in #5272
- PM-13040: Add known username field for the Disney Plus App by @david-livefront in #5271
- PM-21134: Fix send link title by @david-livefront in #5275
- PM-21135: Fix view send field order by @david-livefront in #5277
- [PM-21577] Fix delete button not showing bug by @andrebispo5 in #5276
- Clean up lint errors and suppressions by @david-livefront in #5281
- [PM-22169] Migrate app bar components to ui module by @SaintPatrck in #5279
- PM-15229: Update logic for handling edge-to-edge by @david-livefront in #5282
- BWA-158: Authenticator Edit Item should use a single LazyColum to allow for scrolling by @david-livefront in #5285
- PM-21631: Check for Search Screen when navigating after deleting a Send by @david-livefront in #5284
- [PM-20146] Remove native-create-account-flow feature flag by @andrebispo5 in #5283
- Crowdin Pull - Password Manager by @bw-ghapp in #5289
- Crowdin Pull - Authenticator by @bw-ghapp in #5288
- BWA-159: Update the ManualCodeEntryScreen to allow scrolling by @david-livefront in #5287
- [PM-21475] Remove deprecated SSO details endpoint feature flag by @SaintPatrck in #5286
- PM-10286: View Master Password Prompt by @david-livefront in #5280
- [QA-1164] Adding missing testTags for View Send page by @ifernandezdiaz in #5290
- [QA-1126] Add placeholder workflow for device farm testing by @vvolkgang in #5292
- PM-22302: Remove unused string resources by @david-livefront in #5296
- PM-22310: Replace Ok with Okay by @david-livefront in #5298
- Update AGP to 8.10.1 by @david-livefront in #5301
- PM-22265: Add Copy Notes button to ViewSendScreen by @david-livefront in #5303
- [deps] Update protobuf by @SaintPatrck in #5304
- [PM-21782] Pass
encryptedFor
to cipher functions by @SaintPatrck in #5297 - PM-22345: Flight recorder banner should not dismiss when navigating to settings by @david-livefront in #5306
- PM-22346: Remove the period from the generic error title by @david-livefront in #5308
- [deps] Update Google guava library by @SaintPatrck in #5305
- [PM-21891] Migrate filled and outlined button components to ui module by @SaintPatrck in #5302
- PM-22357: Delete Send button should use a capital S by @david-livefront in #5309
- PM-22362: AddSendScreen should include 'Required.' when describing the max file size by @david-livefront in #5310
- PM-22402: Update File Send error message by @david-livefront in #5313
- PM-22397: Remove custom deletion date by @david-livefront in #5311
- Crowdin Pull - Authenticator by @bw-ghapp in #5319
- Crowdin Pull - Password Manager by @bw-ghapp in #5320
- Update Junit to v5.13.0 by @david-livefront in #5323
- PM-22456: Move Temporal Accessor Extensions to 'Core' module by @david-livefront in #5324
- [PM-19107] Introduce user-trusted privileged apps for Credential Manager by @SaintPatrck in #4848
- Update the SnackbarRelayManager by @david-livefront in #5317
- Fix permissions for check-run action by @mandreko-bitwarden in #5316
- [deps]: Lock file maintenance by @renovate in #5331
- PM-22502: Format dates and times correctly for locale by @david-livefront in #5333
- [PM-21458] Add UserManagedPrivilegedApps feature flag by @SaintPatrck in #5325
- PM-10286: VerificationCodeScreen ...
Password Manager 2025.5.0 (20269)
What's Changed
- Autosync Crowdin Translations by @bw-ghapp in #5074
- PM-20422: Update tab navigation by @david-livefront in #5076
- PM-20385: Delete confirmation dialog should dismiss on confirmation by @david-livefront in #5077
- PM-20426: Update Block Autofill UI by @david-livefront in #5078
- PM-19594: Add flight recorder banner by @david-livefront in #5079
- Cleanup minor lint warnings by @david-livefront in #5081
- PM-19809: Update flight recorder tooltip url by @david-livefront in #5082
- [PM-20389] Define and implement network module CertificateProvider by @SaintPatrck in #5073
- Update Room dependency to version 2.7.1 by @SaintPatrck in #5090
- PM-20510: Log whenever the screen changes by @david-livefront in #5083
- PM-20516: Update NetworkConnectionManager by @david-livefront in #5085
- Update to Junit 5.12.2 by @david-livefront in #5087
- Add helper for concurrent map by @david-livefront in #5086
- PM-20400: Display snackbar confirming log deletion by @david-livefront in #5088
- Update to AGP 8.9.2 by @david-livefront in #5089
- PM-20365: Add pre-auth settings support by @david-livefront in #5094
- [PM-20148] Remove app-review-prompt feature flag. by @andrebispo5 in #5093
- Autosync Crowdin Translations by @bw-ghapp in #5096
- Omit navigation files from test coverage by @david-livefront in #5095
- [PM-18942] Force sync for revoke/restore notification. by @andrebispo5 in #5098
- [PM-20549] Introduce BitwardenServiceClient by @SaintPatrck in #5091
- [deps]: Update actions/create-github-app-token action to v2 by @renovate in #5104
- [deps]: Update sonarsource/sonarqube-scan-action action to v5 by @renovate in #5105
- [deps]: Lock file maintenance by @renovate in #5106
- [deps]: Update gh minor by @renovate in #5102
- [deps]: Update kotlin by @renovate in #5103
- Drop all tables when performing destructive migration in Authenticator by @SaintPatrck in #5108
- Correct indention in
app/strings.xml
by @SaintPatrck in #5109 - [PM-17686] Allow overwriting TLS certificates by @SaintPatrck in #5111
- PM-20966: Log app state changes by @david-livefront in #5110
- PM-20552: Ensure userState does not emit while the active user is unlocking by @david-livefront in #5112
- Use Google's Digital Asset Links API to verify digital asset links by @SaintPatrck in #5101
- [PM-20508] Centralize passkey credential entry creation by @SaintPatrck in #5033
- [PM-19846] Mark network module implementation details internal by @SaintPatrck in #5115
- [PM-20466] Invalid master password returns generic error. by @andrebispo5 in #5100
- PM-21088: Remove the unused IgnoreEnvironmentCheck feature flag by @david-livefront in #5119
- [PM-14846] Improve IP Address and Port Handling in StringExtensions by @SaintPatrck in #5118
- [PM-20037] Remove native-carousel-flow feature flag by @aj-rosado in #5121
- Autosync Crowdin Translations by @bw-ghapp in #5122
- [PM-20127] Prevent double UV prompt during FIDO 2 operations by @SaintPatrck in #5124
- [PM-14222] Managed user account deletion prevention by @aj-rosado in #5114
- [PM-18092] Update cipher delete restore permissions by @andrebispo5 in #5075
- PM-21156: Fix ConfigService retrofit instance by @david-livefront in #5126
- Remove unused FeatureFlagsConfiguration by @SaintPatrck in #5129
- Update the Navigation component library by @david-livefront in #5130
- PM-21110: Add a generate crash button to the debug menu by @david-livefront in #5125
- Update WorkManager to 2.10.1 by @david-livefront in #5132
- Update Firebase BOM to v33.13.0 by @david-livefront in #5135
- PM-21255: Implement type-safe navigation by @david-livefront in #5131
- [PM-17222] Enhance autofill accessibility processor by @SaintPatrck in #5116
- PM-19771: Allow forward slashes in emails by @david-livefront in #5137
- Update Protocol Buffers library version by @SaintPatrck in #5140
- PM-21285: Ensure route data is serializable by @david-livefront in #5141
- Clean up how we handle test coverage on navigation files by @david-livefront in #5142
- Update mockk to version 1.14.2 by @SaintPatrck in #5139
- Update Compose BOM to 2025.04.01 by @david-livefront in #5134
- [PM-21199] Rename FIDO2 objects to reference CredentialManager by @SaintPatrck in #5128
- PM-21324: Move common UI transitions to UI module by @david-livefront in #5144
- [PM-21203] Old user migration login error. by @andrebispo5 in #5136
- Update compose BOM to 2025.05.00 by @david-livefront in #5148
- Update the navigation component to v2.9.0 by @david-livefront in #5149
- Update Dagger Hilt to v2.56.2 by @david-livefront in #5151
- Update AGP to 8.10.0 by @david-livefront in #5152
- [PM-21325] Migrate BaseViewModel to ui module by @SaintPatrck in #5145
- PM-21332: Move NavGraphBuilder extensions to common UI module by @david-livefront in #5147
- Fix duplicated launched effect key by @david-livefront in #5154
- Update Lifecycle library to v2.9.0 by @david-livefront in #5150
- [PM-21344] Migrate BackgroundEvent to ui module by @SaintPatrck in #5155
- PM-21348: Type-safe navigation for authenticator by @david-livefront in #5156
- [PM-21328] Migrate BaseViewModelTest and MainDispatcherExtension to test fixtures by @SaintPatrck in #5146
- PM-21351: Hide new send button from accessibility when on the empty sends screen by @david-livefront in #5160
- [PM-21353] Migrate DensityExtensions to ui module by @SaintPatrck in #5157
- [PM-21365] Migrate BitwardenColorScheme to ui module by @SaintPatrck in #5158
- PM-21252: Create mock NavHostController for navigation testing by @david-livefront in #5159
- [PM-21355] Migrate LifecycleEventEffect to ui module by @SaintPatrck in #5162
- PM-21397: Create initial View Send scaffold by @david-livefront in #5163
- Autosync Crowdin Translations by @bw-ghapp in #5164
- [PM-21367] Support passkey requests with multiple options by @SaintPatrck in #5161
- PM-21351: Clear scemantics on new send button by @david-livefront in #5165
- PM-21445: Update Add Edit Sends UI by @david-livefront in #5166
- BRE-609/android-pr-target-change by @aj-bw in #5092
- [deps]: Update com.google.devtools.ksp to v2.1.20-2.0.1 by @renovate in #5170
- [deps]: Lock file maintenance by @renovate in #5171
- PM-21555: Fix crash on older server versions by @david-livefront in #5174
- Clean up lint warnings by @david-livefront in #5176
- [PM-21572] Migrate NoPersonalizedLearningInterceptor to ui module by @SaintPatrck in https://github.com/bitwarden/android/pul...
Authenticator 2025.5.0 (472)
What's Changed
- Autosync Crowdin Translations by @bw-ghapp in #5074
- Update Room dependency to version 2.7.1 by @SaintPatrck in #5090
- Update to Junit 5.12.2 by @david-livefront in #5087
- Update to AGP 8.9.2 by @david-livefront in #5089
- Autosync Crowdin Translations by @bw-ghapp in #5096
- [deps]: Update actions/create-github-app-token action to v2 by @renovate in #5104
- [deps]: Update sonarsource/sonarqube-scan-action action to v5 by @renovate in #5105
- [deps]: Lock file maintenance by @renovate in #5106
- [deps]: Update gh minor by @renovate in #5102
- [deps]: Update kotlin by @renovate in #5103
- Drop all tables when performing destructive migration in Authenticator by @SaintPatrck in #5108
- Autosync Crowdin Translations by @bw-ghapp in #5122
- Update WorkManager to 2.10.1 by @david-livefront in #5132
- Update Firebase BOM to v33.13.0 by @david-livefront in #5135
- Update mockk to version 1.14.2 by @SaintPatrck in #5139
- Update Compose BOM to 2025.04.01 by @david-livefront in #5134
- PM-21324: Move common UI transitions to UI module by @david-livefront in #5144
- Update compose BOM to 2025.05.00 by @david-livefront in #5148
- Update Dagger Hilt to v2.56.2 by @david-livefront in #5151
- Update AGP to 8.10.0 by @david-livefront in #5152
- Autosync Crowdin Translations by @bw-ghapp in #5164
- [deps]: Update com.google.devtools.ksp to v2.1.20-2.0.1 by @renovate in #5170
- [deps]: Lock file maintenance by @renovate in #5171
- [PM-21676] Relocate Authenticator local manager providers by @SaintPatrck in #5206
- Autosync Crowdin Translations by @bw-ghapp in #5211
- 🍒Bump authenticatorbridge to 1.0.1 by @SaintPatrck in #5248
New Contributors
Builds Source: https://github.com/bitwarden/android/actions/runs/15300242989
2025.4.0 (20100)
What's Changed
- Update Google privileged browsers list by @github-actions in #4910
- PM-19550: Accept app language settings "System default" by @dseverns-livefront in #4922
- PM-19559 Remove "Give feedback" from Settings > About by @dseverns-livefront in #4924
- Update passkey privileged app community list by @SaintPatrck in #4923
- [PM-8331] Using default send url when on US cloud by @aj-rosado in #4925
- PM-19547: Delay the delete account success dialog to avoid flicker by @david-livefront in #4927
- Update the README dependencies section and clean up toml file by @david-livefront in #4926
- [PM-19013] Create core module by @SaintPatrck in #4836
- PM-19543: Add flight recorder feature flag by @david-livefront in #4929
- [PM-19616] Move OmitFromCoverage annotation to core module by @SaintPatrck in #4928
- [PM-19624] Migrate DataState to core module by @SaintPatrck in #4930
- PM-19466: Fix snackbar ime padding by @david-livefront in #4933
- Autosync Crowdin Translations by @bw-ghapp in #4935
- [PM-19626] Migrate SharedFlowExtensions to core module by @SaintPatrck in #4931
- Run detekt on
authenticatorbridge
module by @SaintPatrck in #4940 - PM-19653: Add tooltip and subtext tupport for the switch by @david-livefront in #4936
- [PM-19628] Migrate ResultExtensions to core module by @SaintPatrck in #4934
- PM-19723 Group "no folder" items when there is a collection present. by @dseverns-livefront in #4941
- [PM-19640] Migrate SpecialCharWithPrecedenceComparator to core module by @SaintPatrck in #4942
- Fix detekt issues in
authenticator
tests by @SaintPatrck in #4944 - PM-19404: Improve email validation and validation error parsing by @david-livefront in #4945
- Update to AGP 8.9.1 by @david-livefront in #4947
- Add matching fallback for the
beta
build type torelease
by @SaintPatrck in #4946 - [PM-19652] Consolidate check configurations by @SaintPatrck in #4937
- [PM-19627] Migrate JsonExtensions to core module by @SaintPatrck in #4932
- [PM-19738] Create
network
module by @SaintPatrck in #4948 - [PM-19625] Migrate DataStateExtensions to core module by @SaintPatrck in #4943
- PM-19131 - Custom hidden fields not working properly if TOTP also configured by @phil-livefront in #4916
- [PM-19772] Remove scan-authenticator.yml by @vvolkgang in #4952
- Update the Hilt and Androidx dependencies by @david-livefront in #4954
- PM-19645: Remove new device feature flags by @david-livefront in #4950
- PM-19705: Log reason for logout by @david-livefront in #4959
- [PM-19738] Migrate NetworkResultCallAdapter to
network
module by @SaintPatrck in #4949 - Update network module minSdk version by @SaintPatrck in #4961
- [PM-19782] Migrate network error handling to
network
module by @SaintPatrck in #4957 - Update CODEOWNERS by @SaintPatrck in #4965
- PM-19807: Remove IconResource class by @david-livefront in #4963
- [PM-19793] Migrate ZonedDateTimeSerializer to core module by @SaintPatrck in #4960
- [PM-19820] Replace
ResultCallAdapterFactory
in authenticator module by @SaintPatrck in #4968 - Set SARIF upload branch to the merge commit ref/sha retrieved from GH CLI by @vvolkgang in #4958
- [PM-19783] Migrate ConfigApi and ConfigResponseJson to
network
module by @SaintPatrck in #4964 - PM-19812: Add navigation rail by @david-livefront in #4966
- [PM-19813] Migrate BaseServiceTest to Network module and enable test fixtures by @SaintPatrck in #4967
- PM-19830: Updating padding for last sync time label by @david-livefront in #4974
- PM-19591: Initial flight recorder UI by @david-livefront in #4970
- [PM-19832] Create
data
module by @SaintPatrck in #4973 - [PM-19840] Migrate BaseEnumeratedIntSerializer to core module by @SaintPatrck in #4975
- PM-19812: Navigation Rail design feedback by @david-livefront in #4977
- [PM-19831] Migrate ConfigService to network module by @SaintPatrck in #4971
- [PM-19841] Migrate Event API and models to network module by @SaintPatrck in #4976
- PM-19850: Update dialog scrim by @david-livefront in #4980
- Update Firbase BOM to the latest version (33.12.0) by @david-livefront in #4981
- [PM-19845] Migrate
BaseDiskSource
todata
module by @SaintPatrck in #4978 - [PM-19849] Move PushApi and PushTokenRequest to network module by @SaintPatrck in #4979
- [PM-19854] Migrate AuthenticatedAuthRequestsApi to network module by @SaintPatrck in #4984
- [PM-19855] Migrate AuthenticatedDevicesApi and models to network module by @SaintPatrck in #4985
- [PM-19856] Migrate KeyConnectorApi and models to network module by @SaintPatrck in #4986
- [PM-19857] Migrate AuthenticatedOrganizationApi and models to network module by @SaintPatrck in #4987
- [PM-19858] Migrate HaveIBeenPwnedApi to network module by @SaintPatrck in #4988
- [PM-19866] Migrate
BaseEncryptedDiskSource
todata
module by @SaintPatrck in #4991 - PM-19873: Migrate the screen capture feature from user-scoped to app-scoped by @david-livefront in #4972
- Autosync Crowdin Translations by @bw-ghapp in #4995
- [PM-19851] Migrate network AuthenticatedAccountsApi to network module by @SaintPatrck in #4982
- [PM-19871] Migrate EncryptedPreferences to data module by @SaintPatrck in #4993
- [PM-19859] Migrate UnauthenticatedAccountsApi and models to network module by @SaintPatrck in #4989
- [PM-19860] Migrate UnauthenticateAuthRequestsApi and models to
network
module by @SaintPatrck in #4990 - [PM-19870] Migrate ServerConfig and ConfigDiskSource to the
data
module by @SaintPatrck in #4992 - PM-19645: Remove the new device UI email access flow by @david-livefront in #4996
- Bump internal version name by @david-livefront in #4997
- [PM-19872] Migrate UnencryptedPreferences to data module by @SaintPatrck in #4994
- Remove unused FeatureFlagRepository and FeatureFlagDiskSource by @SaintPatrck in #4998
- PM-19937: Make navigation rail scrollable by @david-livefront in #5005
- [PM-19905] Migrate DispatcherManager to
data
module by @SaintPatrck in #4999 - PM-19938: Add empty and loading state to the recorded logs screen by @david-livefront in #5001
- [PM-19947] Provide system clock in the
core
module by @SaintPatrck in #5000 - [PM-19821] Consolidate scan.yml and scan-ci.yml by @vvolkgang in #4969
- [PM-19948] Migrate ServerConfigRepository to data module by @SaintPatrck in #5002
- [PM-19949] Provide ConfigDiskSource from
data
module by @SaintPatrck in #5003 - [PM-19959] Introduce a new UI module by @SaintPatrck in #5008
- [PM-19951] Move EncryptedPreferences to the correct di package by @SaintPatrck in #5004
- PM-19978: Build out flight recorder UI by @david-livefront in #5009
- [PM-19952] Provide ...