Overview
What's New
- Policy changes apply instantly, no manual sync needed
- Clear archived items directly from your vault
Improvements - Clearer menu labels and in-app prompts
- Better screen reader labels and icon contrast
- Passphrase generator and password history fixes
Bug Fixes - Fixed crashes related to autofill, navigation, and screen loading
- Fixed duplicate items after TOTP QR code scans
- Fixed passkey creation failing for certain apps
- Fixed verification codes not syncing
- Org transfer decline no longer creates a blank log entry
What's Changed
Feature Development
- Remove remember ViewModel by @david-livefront in #6618
- [PM-33262] feat: Add cookie support to Glide image requests by @SaintPatrck in #6627
- [PM-32123] feat: Propagate informative cookie redirect error message by @SaintPatrck in #6622
- [PM-33227] feat: Add Clear SSO Cookies button to debug menu by @SaintPatrck in #6620
- PM-18596: feat: SSN field should be hidden by default by @david-livefront in #6628
- [PM-29673] feat: Improved pre-polutated data on the FlightRecorder logs by @aj-rosado in #6616
- [PM-33505] feat: Add MobilePremiumUpgrade feature flag by @SaintPatrck in #6655
- [PM-33507] feat: Add premium upgrade banner dismissal persistence by @SaintPatrck in #6657
- [PM-33506] feat: Add PremiumStatusChanged push notification support by @SaintPatrck in #6656
- PM-33565: Update premium dialog for attachments by @david-livefront in #6663
- [PM-33511] feat: Add creationDate to UserState.Account by @SaintPatrck in #6662
- [PM-32663] feat: Update vault migration screens by @aj-rosado in #6660
- [PM-33356] feat: Sync when push notification policy changed is received by @andrebispo5 in #6664
- [PM-33365] feat: Add GmsManager to gate CXP features on GMS Core version by @SaintPatrck in #6678
- [PM-33508] feat: Add AuthenticatedBillingApi and BillingService network layer by @SaintPatrck in #6668
- [PM-33509] feat: Add BillingRepository and Hilt billing modules by @SaintPatrck in #6674
- [PM-33510] feat: Add Play Billing Library dependency and PlayBillingManager by @SaintPatrck in #6680
- [PM-33512] feat: Add PremiumStateManager for upgrade banner eligibility by @SaintPatrck in #6690
- [PM-33513] feat: Add checkout callback deep link handling by @SaintPatrck in #6692
- [PM-33514] feat: Add premium upgrade banner visibility logic by @SaintPatrck in #6696
🐛 Bug fixes
- PM-33266: Allow the VaultUnlockViewModel and VaultViewModel to safely initialize without a UserState by @david-livefront in #6623
- PM-29871: Add additional callouts for external links in the app by @david-livefront in #6614
- PM-29861: Update overflow content description to 'More options' by @david-livefront in #6621
- PM-29871: bug: Add external link callouts by @david-livefront in #6634
- [PM-33394] fix: Propagate CookieRedirectException error message by @SaintPatrck in #6639
- PM-33411: bug: Defer early navigation until lifecycle is resumed by @david-livefront in #6638
- PM-33428: bug: Fix loading dialog statusbar content color by @david-livefront in #6641
- [PM-33394] fix: Surface CookieRedirectException message during sync-on-unlock by @SaintPatrck in #6643
- PM-33441: bug: Add external link callout for start registration screen by @david-livefront in #6646
- PM-29869: bug: Update colorscheme to improve accessibility by @david-livefront in #6647
- PM-29871: bug: Add external link callouts for buttons by @david-livefront in #6648
- [PM-33553] fix: Remove "Why am I seeing this?" link from cookie sync screen by @SaintPatrck in #6676
- PM-33893: bug: Crash caused by empty credential password by @david-livefront in #6693
- PM-33907: bug: Handle exceptions thrown when querying the AutofillManager by @david-livefront in #6695
- PM-33909: bug: Check the column index before querying for 3rd party autofill data by @david-livefront in #6697
- PM-33913: bug: Remove org event to avoid duplicate entry by @david-livefront in #6699
- PM-32721: bug: Add sorting to password history by @david-livefront in #6700
- [PM-23560] bug: Added guard to ensure duplicate scan events are not fired by @aj-rosado in #6687
- PM-34193: Rollback SDK update for Vault lockout bug by @david-livefront in #6724
- PM-34193: bug: Unlock vault from Never-Lock should be on io thread by @david-livefront in #6727
⚙️ Maintenance
- Crowdin Pull by @bw-ghapp[bot] in #6625
- PM-26059: Remove CipherKeyEncryption feature flag by @david-livefront in #6617
- docs: Clean up kdoc issues by @david-livefront in #6629
- [PM-33394] debt: Add userFriendlyMessage extension and errorMessage to result types by @SaintPatrck in #6642
- [PM-33495] ci: Remove build job to reduce Build workflows time by @vvolkgang in #6658
- Update error state to allow for a more customizable button by @david-livefront in #6654
- [PM-33560] debt: Wire SendManager and Send ViewModel error handlers by @SaintPatrck in #6652
- [PM-33394] debt: Wire FolderManager and folder ViewModel error handlers by @SaintPatrck in #6653
- [PM-33561] debt: Wire CipherManager and cipher ViewModel error handlers by @SaintPatrck in #6651
- Crowdin Pull by @bw-ghapp[bot] in #6669
- [deps]: Update actions/upload-artifact action to v7 by @renovate[bot] in #6672
- [PM-18892] ci: Comment linked issues when a new GitHub Release is published by @vvolkgang in #6552
- misc: Add support for icons in buttons via BitwardenButtonData by @david-livefront in #6682
- misc: Add an error message to the DownloadAttachmentResult by @david-livefront in #6688
- misc: Rename the VaultDiskSource Flows by @david-livefront in #6689
- chore: Reorganize imports in VaultViewModel by @SaintPatrck in #6701
- chore: Remove unused how_to_manage_my_vault string by @david-livefront in #6702
📦 Dependency Updates
- Update SDK to 2.0.0-5451-c73f9161 by @bw-ghapp[bot] in #6605
- Update AGP and gradle wrapper by @david-livefront in #6619
- Update protobuf library by @david-livefront in #6626
- [deps]: Lock file maintenance by @renovate[bot] in #6604
- [deps]: Update androidx.credentials:credentials to v1.6.0-rc02 by @renovate[bot] in #6670
- [deps]: Update org.sonarqube to v7.2.3.7755 by @renovate[bot] in #6671
- [deps]: Lock file maintenance by @renovate[bot] in #6673
- Update SDK to 2.0.0-5676-14521973 by @bw-ghapp[bot] in #6615
- Revert "Update SDK to 2.0.0-5676-14521973" by @SaintPatrck in #6679
- Update Androidx dependencies by @david-livefront in #6683
- PM-33160: Instantiate SDK client with Repositories class by @david-livefront in #6681
- Update app to use the latest version of Kotlin by @david-livefront in #6684
- Revert "PM-34193: Rollback SDK update for Vault lockout bug" by @david-livefront in #6725
🎨 Other
- [PM-33478] llm: Add android-implementer agent for autonomous development workflow by @SaintPatrck in #6635
- llm: Capture test failures on first run in build-test-verify skill by @SaintPatrck in #6661
- llm: Clarify @Suppress("MaxLineLength") usage in testing skill by @SaintPatrck in #6685
- llm: Add /review-android command and align reviewing-changes skill with agent by @SaintPatrck in #6665
Full Changelog: v2026.3.0-bwpm...v2026.3.1-bwpm
Builds Source: https://github.com/bitwarden/android/actions/runs/23660459640