Feature2026.5.0
Web v2026.5.0
Major release featuring SDK migration for cipher and collection operations, new identity verification document types (Driver's License, Passport), biometric authentication improvements, organization invite link management, and numerous UI enhancements including component refactors and policy management updates.
What's Changed
π Community Highlight
- [PM-32698] feat(vault): add copy button for cardholder name in card detail view by @Sebastianhayashi in #19216
Feature Development
- Allow change-login-password invocation in non-Angular contexts by @blackwood in #15150
- [PM-28190] Migrate clients to use SDK for cipher sharing operations. by @nikwithak in #18548
- [PM-32686] Add bank account item type by @gbubemismith in #19302
- [PM-33174] Remove master key from auth request login by @quexten in #19372
- [PM-31112] Decouple local tools crypto from user key by @mzieniukbw in #19433
- [CL-1108] Migrate billing CTAs to new icon API by @BryanCunningham in #19483
- [CL-1111] Migrate key management CTAs to new icon API by @BryanCunningham in #19486
- [PM-14820] CLI: Replace legacy generator service with credential generator service by @harr1424 in #19607
- [PM-32586] Add readonly view to Send edit flow by @mcamirault in #19688
- Auth/Innovation/PM-34210 - Desktop - Add devices dialog by @JaredSnider-Bitwarden in #19797
- [PM-30483] Remove feature flagged logic for passkey unlock by @eligrubb in #19798
- [PM-29956] Add logging to sponsorship redemption flow by @connerbw in #19947
- [CL-989] updating popover component by @iivins-livefront in #20021
- [CL-962] update banner component styles by @iivins-livefront in #20045
- [PM-28091] - Add copy and quick launch action items by @jaasen-livefront in #20059
- [PM-33797] AIV2: Standardize Models and Services: Wire Up by @Banrion in #20081
- [PM-34830][POC] Atomic writes for SDK client managed state by @mzieniukbw in #20095
- [PM-31364] discard edits dialog to policies page by @JaredScar in #20096
- [PM-34887] - Improve responsiveness of AC collection table by @jaasen-livefront in #20104
- [PM-31061] Implement biometrics migration by @quexten in #20127
- [PM-34918] use sdk for collection decryption by @JaredScar in #20136
- [PM-31635] Update emergency access takeover to use new separate salt by @enmande in #20139
- PM-19944 - remove feature flag pm-19941-migrate-cipher-domain-to-sdk by @nikwithak in #20147
- Autotriage merge candidate by @blackwood in #20149
- PM-24328 Remove feature flag pm-22136-sdk-cipher-encryption by @nikwithak in #20150
- [PM-34408] Refactor invite member dialog and access selector by @BTreston in #20161
- [PM-33314] Add FlightRecorder at @bitwarden/logging by @dani-garcia in #20171
- [PM-33875] Revocation Reason Messages by @sven-bitwarden in #20177
- [PM-33315] Create @bitwarden/logging by @dani-garcia in #20197
- [PM 34174]Do not show renewal reminder banners to exempt organizations by @cyprain-okeke in #20201
- [PM-35253] Add organization ability UseInviteLinks by @r-tome in #20227
- [PM-34409] Create new SCIM UI by @BTreston in #20272
- [CL-1171] remove berry default limit by @BryanCunningham in #20283
- [PM-29073] Remove Premium Badge Opens New Premium Upgrade Feature Flag by @sbrown-livefront in #20287
- [PM-31942] Add FileReportPersistenceService implementation to store Access Intelligence reports as files (pt. 2) by @lastbestdev in #20289
- [PM-34775] Generate Invite Link Lib and API Service by @BTreston in #20301
- [PM-32833] Remove Input Password Feature Flag by @rr-bw in #20306
- [PM-33473] Remove pm-29594-update-individual-subscription-page feature flag by @amorask-bitwarden in #20311
- [PM-34159] - Decouple Auto Confrim and Single Org by @jrmccannon in #20330
- [PM-33951] automatically confirm pending users on admin login by @JaredScar in #20331
- [PM-34155] Enhance policy service with accepted policies retrieval and update sync response structure for new sync response by @JaredScar in #20336
- [PM-34158] - Confirmed User Migrate Items by @jrmccannon in #20337
- [PM-35264] Add org ability, hide UI if UseInviteLink is false by @BTreston in #20358
- [PM-28191] Replace SaveCollectionsWithServerAdmin API calls to use SDK by @nikwithak in #20359
- [PM-28346] Use SDK for attachment delete operations by @gbubemismith in #20361
- [PM-34394] Organization invite service by @BTreston in #20367
- [PM-35268] tech req for push based event delivery splunk by @voommen-livefront in #20369
- [PM-26202] Refactor vault page to subcomponents to make it more wieldy by @JaredScar in #20373
- [PM-31059] Implement state bridge support by @quexten in #20394
- PM-29657: Shift PUT Policy/VNext -> PUT Policy, Finalize MigrateItemsVault FF by @sven-bitwarden in #20404
- [PM-29067] Remove Feature Flag Code for PM-24032 by @sbrown-livefront in #20415
- [PM-30942] Allow user to download logs from a user-initiated button click by @harr1424 in #20420
- PM-35060 specify import return path by @voommen-livefront in #20422
- [PM-34388] Add API method to update organization invite link allowed domains by @r-tome in #20431
- Minimal implementation of DL and Passport by @nick-livefront in #20438
- [PM-33887] Add Revocation Reasons to Member Page UI by @sven-bitwarden in #20442
- [PM-36048] - redirect back to vault after coachmark tour ends by @jaasen-livefront in #20445
- [PM-36106] add test ids and re-add role multiselect by @BTreston in #20450
- [PM-32743] Convert collections to folders when importing into My Items by @mcamirault in #20453
- Revert "[PM-31061] Implement biometrics migration" by @quexten in #20455
- [PM-36187] Refactor sm section by @BTreston in #20457
- [PM-32693] Driver's License for the Web by @nick-livefront in #20461
- [PM-36233] Revert "[PM-14820] CLI: Replace legacy generator service with credential generator service" by @harr1424 in #20465
- [PM-35153] Revert collection encrypt implementation by @eliykat in #20477
- PM-29781 removed feature flag and corresponding code by @bmbitwarden in #20487
- [PM-36629] Cipher Filter Refactor + Feature Flags by @nick-livefront in #20491
- [PM-35201] Enhance password reset logic in MemberActionsService by @JaredScar in #20504
- [PM-31061] Implement biometrics migration by @quexten in #20506
- [CL-1115] accordion component by @BryanCunningham in #20508
- [PM-34397] Allowed domains field by @BTreston in #20513
- [PM-32738] Passport Web by @nick-livefront in #20514
- [PM-34389] Wire refreshInviteLink to dedicated server refresh endpoint by @r-tome in #20522
- [CL-1193] document banner dismiss button binding behavior by @willmartian in #20532
- PM-34680 include enriched tags in the HEC template by @voommen-livefront in #20539
- [PM-36617] Enhance PoliciesComponent: Add focus restoration for active element by @JaredScar in #20550
- [PM-34405 | PM-34406] Invite url field by @BTreston in #20557
- [PM-36560] Create Send event logs by @harr1424 in #20567
- Disable state bridge by @quexten in #20615
- [PM-31317] Remove flagged logic from clients feature flag pm-29438-welcome-dialog-with-extension-prompt by @jengstrom-bw in #20619
- [PM-31054] Add state service for V2UpgradeToken by @Thomas-Avery in #20636
- [PM-36972] [PM-37468] Update revocation reason tooltips by @vincentsalucci in #20649
- π π€ [PM-29067] Remove Feature Flag Code for PM-24032 (#20415) by @sbrown-livefront in #20737
π Bug fixes
- [PM-29199] fix not clear only 20 emails input by @JaredScar in #18950
- [PM-32784] Increase search service search performance by 50x and defer indexing by @quexten in #19251
- [PM-30447] ssoRequiredCache fix by @rr-bw in #19879
- [CL-1130] Fix storybook a11y and console errors for dirt files by @vleague2 in #19919
- [CL-1130] Fix a11y and storybook errors in UIF-owned code by @vleague2 in #19921
- [PM-28045] - Validate Organization Key Population by @jrmccannon in #19954
- [PM-34036] Skip corrupted attachments during zip vault export by @gbubemismith in #19976
- [CL-1128] Fix OnPush Lit Ignore Kitchen Sink Stories by @iivins-livefront in #20044
- [PM-851] custom field reordering not keyboard accessible by @jengstrom-bw in #20099
- [PM-34822] Consistency in handling 400 and 404 in Org Integrations by @voommen-livefront in #20131
- PM-34920 updated icons to be contrast friendly by @voommen-livefront in #20154
- [PM-34788] Fix silent error swallowing in saveRiskInsightsReport$ by @AlexRubik in #20180
- [PM-34669] Fix premium modal dismissal not persisting across browser restarts by @amorask-bitwarden in #20182
- [PM-31441] Improve long attachment file name handling by @shane-melton in #20183
- [PM-35240] Add sync before forced kdf migration by @quexten in #20193
- [PM-35318] Desktop v3/4 - Showing two "Archived" badge by @gbubemismith in #20239
- [PM-23355] - use MP reprompt in bulk assign to collections by @jaasen-livefront in #20249
- [PM-35330] Fix state not being updated on change kdf by @quexten in #20259
- PM-30396 resolved zoho importer by @bmbitwarden in #20265
- [PM-35335] Fix bug making discard edits dialog show on navigate after⦠by @mcamirault in #20267
- Fix typechecking issue in CipherService tests by @nikwithak in #20288
- PM-35363 resolved stale child controllers by @bmbitwarden in #20295
- [PM-26417] Remove eager AccessIntelligenceModule import to enable proper lazy loading by @AlexRubik in #20305
- [PM-35458] fix status check by @BTreston in #20312
- Desktop: Fix ssh import key button by @neuronull in #20314
- [PM-35216] Align at-risk members CSV header with drawer label by @AlexRubik in #20315
- [CL-1130] Fix usage of export message key by @djsmith85 in #20324
- [PM-35354] Fix empty error toast when DisableHideEmail policy is not respected on browser by @harr1424 in #20332
- Auth/PM-35336 - TokenService - prevent stale access token retrieval to fix logout on org user confirm by @JaredSnider-Bitwarden in #20334
- [PM-35698] filters not rendering on page load by @JaredScar in #20357
- [PM-35761] Default sort in PM Vault incorrect by @gbubemismith in #20364
- [PM-35826][PM-35797] SSH Key fixes for new item grid by @nick-livefront in #20378
- [PM-35484] Remove exemption for owners/admins for mp policy by @BTreston in #20398
- [PM-35655] - escape html in new item nudge component by @jaasen-livefront in #20409
- [PM-35038] Fix Link SSO button not rendering in org options menu by @jaasen-livefront in #20410
- Auth/DeviceManagement - Fix flaky test by @JaredSnider-Bitwarden in #20429
- [PM-36015] Fix dialog size for 1-column add-item grid layout by @nick-livefront in #20446
- [PM-36090] Fix placeholder by @BTreston in #20451
- Auth/PM-36080 by @JaredSnider-Bitwarden in #20452
- [PM-29654] Hide copy button when custom field has no value by @gbubemismith in #20459
- [PM-36090] add dynamic seat validation, fix copy by @BTreston in #20470
- [PM-36186] use mousedown for ng-select outside-click detection by @BryanCunningham in #20474
- [PM-36571] Custom field hidden field right buttons are in the wrong place by @jengstrom-bw in #20509
- [PM-31364] Discard edit bug fixes by @JaredScar in #20511
- [PM-34832] Update event logging messages for account recovery by @JaredScar in #20512
- [CL-1191] - spotlight and popover fixes by @jaasen-livefront in #20519
- PM-36610 derive users from cache after import by @voommen-livefront in #20526
- [CL-1192] Improve spotlight behavior and test coverage by @vleague2 in #20527
- PM-36834 Fixes OrganizationId Missing From Access Intelligence API Calls When Switching Tabs. by @prograhamming in #20531
- [PM-34791] fix duplicate call to i18n removing pricing term for non-english languages by @kdenney in #20542
- [PM-31945] Fix missing group access to collections in Access Intelligence V2 by @lastbestdev in #20545
- [PM-21374] Wrong notification is displayed when copying a passphrase from the generator history by @harr1424 in #20546
- Add autocomplete current-password to master password input by @differsthecat in #20552
- [PM-36565] creating new item from new dialog is not working by @JaredScar in #20560
- [PM-36877] Remove nudge from bank account cipher type by @nick-livefront in #20561
- [PM-36858] Fix routing number copy toast showing generic message by @nick-livefront in #20562
- [PM-37065] Failed-to-decrypt vault items are not displayed at the top of the vault list by @gbubemismith in #20616
- [PM-37234] - fix launch button by @jaasen-livefront in #20629
- [PM-37521] Refactor password strength component for improved performance and to properly work by @JaredScar in #20650
- [PM-37560] Respect lock or logout signal during Send edits by @harr1424 in #20669
- PM-37554 resolved double cancel issue by @bmbitwarden in #20683
- PM-37554 resolved double cancel issue (#20683) by @bmbitwarden in #20707
- [PM-37720] Fixes vault changing of orgs by @JaredScar in #20786
βοΈ Maintenance
- [deps]: Update ruby to v4 by @renovate in #18203
- [PM-31826] Update *ngIf to @if and *ngFor to @for in vault lib components by @jengstrom-bw in #18817
- [CL-1106] Migrate vault CTAs to new icon API by @BryanCunningham in #19481
- [CL-1109] Migrate DIRT CTAs to new icon API by @BryanCunningham in #19484
- [deps]: Update nrwl/nx-set-shas action to v5 by @renovate in #19856
- [PM-34380] Remove SASS from apps/web by @Hinton in #19859
- [PM-32598] - Remove Unused sso/details Endpoint by @sven-bitwarden in #20012
- [PM-34577] Refactor Vault Filter Component by @JaredScar in #20098
- [CL-1141] Improve tailwind config structure across apps and libs by @vleague2 in #20102
- [PM-34890] Update icon usage to bit icon by @voommen-livefront in #20181
- [PM-34891] Use star end icons in buttons by @voommen-livefront in #20232
- [PM-35052] Address Access Intelligence refactor feedback by @AlexRubik in #20271
- [BRE-1841] Fix truncate logic for container images tags in Build Web workflow by @vgrassia in #20335
- [deps]: Update actions/github-script action to v9 by @renovate in #20391
- BRE-1844 - Change Choco API Key secret name by @vgrassia in #20396
- chore(deps): group electron in Renovate config by @addisonbeck in #20405
- [BRE-1844] Remove legacy failure check job by @vgrassia in #20408
- BRE-1854: Add actions:write permission to build-web-target workflow by @brandonbiete in #20428
- PM-35200 - Create contributing guide for Claude tooling by @theMickster in #20430
- [PM-36047] Add tech-leads group as owners of the CODEOWNERS file by @coltonhurst in #20435
- [BRE-1851] - Update Crowdin API token by @vgrassia in #20456
- [BRE-1851] Update to use official Crowdin action latest version by @vgrassia in #20464
- [BRE-1845] Triggering web deploy by @pixman20 in #20466
- [PM-28727] Update web docker file to match .NET 10 upgrade done in server by @justindbaur in #20476
- Remove unused NgIf import from SetupExtensionComponent by @nick-livefront in #20490
- [BRE-1851] Remove GPG signing by @vgrassia in #20497
- [BRE-1851] Move all release publish deploy workflows by @vgrassia in #20518
- Remove BW-GHAPP tokens and GPG from repository-management workflow by @AmyLGalles in #20624
π¦ Dependency Updates
- [deps] Tools: Update @types/jsdom to v28 [PM-32324] by @renovate in #19002
- [deps] Platform: Update jest-preset-angular to v16.1.4 by @renovate in #20202
- [PM-35365] [deps] Platform: Update nx monorepo to v22.6.5 by @renovate in #20269
- [PM-35668] [deps] Platform: Update jest-mock-extended to v4.0.1 by @renovate in #20343
- [deps] Architecture: Update Minor and patch linting updates by @renovate in #20345
- [deps] Platform: Update Minor and patch webpack updates by @renovate in #20346
- Update sdk-internal to 0.2.0-main.712 by @bw-ghapp in #20351
- Update sdk-internal to 0.2.0-main.721 by @bw-ghapp in #20488
- Update sdk-internal to 0.2.0-main.723 by @bw-ghapp in #20507
- PM-36583 - Add override for 'tmp' library to 0.2.4 by @nikwithak in #20528
- [deps] Architecture: Update Minor and patch linting updates to v8.59.1 by @renovate in #20576
- [deps] Autofill: Update prettier-plugin-tailwindcss to v0.8.0 by @renovate in #20577
- [deps] Platform: Update jest-junit to v17 by @renovate in #20584
- Update sdk-internal to 0.2.0-main.733 by @bw-ghapp in #20587
- Update sdk-internal to 0.2.0-main.737 by @bw-ghapp in #20590
- [PM-37069] Move rust dep to autofill-desktop-dev ownership by @jprusik in #20597
- Update sdk-internal to 0.2.0-main.757 by @bw-ghapp in #20663
π§ Other
- Migrate client specific skills into correct location by @theMickster in #20233
- Autosync Crowdin Translations for web by @bw-ghapp in #20323
- Autosync Crowdin Translations for web by @bw-ghapp in #20328
- Nx telemetry setting (analytics: false). by @blackwood in #20433
- Autosync Crowdin Translations for web by @bw-ghapp in #20501
- Autosync Crowdin Translations for web by @bw-ghapp in #20555
- Autosync Crowdin Translations for web by @bw-ghapp in #20661
- Bump client version(s) by @github-actions in #20690
websdk-migrationauthuifeatures
Source: original entry β