megachangelog
Feature2026.8.0

CLI v2026.8.0

This release includes multiple bug fixes, feature enhancements, and improvements across CLI, desktop, browser extension, and web components. Notable changes include fixes for password masking, Proton Pass imports, native messaging support, and numerous UI improvements including shared vault terminology migration and new policy components.

What's Changed

💙 Community Highlight

  • [PM-40131] fix(desktop): add Helium as Linux entry for NativeMessagingHosts by @0xk1f0 in #21748
  • [PM-39030] Fix Proton Pass import of item custom fields by @archit-goyal in #21253
  • [PM-19836] Add prefix to fastmail by @lucacome in #14105
  • [PM-40685] Fix forwarder settings cache collision by @cyfrit in #21980
  • [PM-39704] fix(send): restore increment/decrement buttons for max access count by @harikrishna2208 in #21527
  • [PM-39593] reduce calls to nodeIsElement in query (and by extension queryAutofillFormAndFieldElements) by @datdenkikniet in #21498
  • [PM-27495] Do not show true length of password in password mask by @Mauritz8 in #17052
  • [PM-37656] Resolve SSH agent caller name via libproc on macOS by @lnky102 in #20680
  • [PM-39312] Fix Proton Pass importer dropping custom, alias, and SSH key items by @theagg-18 in #21402

:shipit: Feature Development

❗ Breaking Changes

🐛 Bug fixes

  • [PM-40820] Fix add access filter toggle style by @BTreston in #21816
  • [PM-16456] Add occupied seat count check when restoring user by @JaredScar in #21746
  • [PM-33228] Add screen reader only to enhance a11y behavior by @BryanCunningham in #21563
  • [PM-38940] Close Firefox/Safari Permissions-Policy gaps via webRequest by @bensbits91 in #21466
  • [PM-39137] Gate Access Intelligence report reads on new-architecture flag by @Banrion in #21315
  • [PM-16456] Add mock services for billing constraints to fix storybook by @JaredScar in #21833
  • [PM-39992] Add support for SDK IPC unreachability by @quexten in #21653
  • [PM-40303] Fix logout when underprivileged user accesses Manage Send policy by @harr1424 in #21836
  • [CL-1277] Add disabled and readonly variants to Textarea story by @willmartian in #21851
  • [PM-40377] Fix bug with form field to have textarea behave the same as an input when disabled by @jengstrom-bw in #21848
  • [PM-39825] Fix URI reordering, drag handle alignment by @jaasen-livefront in #21697
  • [PM-40444] Hide archive/unarchive from bulk bar in Admin Console by @nick-livefront in #21873
  • [PM-40457] Fix typos in the message catalogs by @jprusik in #21882
  • [PM-40370] Use decrypted ciphers cache when using SDK by @shane-melton in #21888
  • [PM-40484] Fix Autotype IPC channel mismatch by @coltonhurst in #21885
  • [PM-13643] Refactor user avatar rendering in bulk dialogs to utilize userId for correct color match by @JaredScar in #21884
  • [PM-40236] Logging out throws error mid-logout due to a race condition. User left in locked state by @mzieniukbw in #21858
  • Fix SSH Agent concurrent requests by @neuronull in #21881
  • [PM-40446] Enhance AutoConfirmWarningDialog by adding LinkModule to imports by @JaredScar in #21883
  • [PM-40482] Return to Default Filter After Revoking Last Staged User by @sven-bitwarden in #21911
  • [PM-39948][PM-40406] Fix native select issues with dark mode and arrow click handling by @vleague2 in #21877
  • [PM-13643] avatars in org member remove/revoke modal do not match members page fix by @JaredScar in #21931
  • [AppSec] AI Fix for Template Injection in GitHub Workflows Action by @aikido-autofix[bot] in #21787
  • [PM-40247] Fix vault item checkmarks disappearing after clearing a search by @nick-livefront in #21823
  • [PM-40201] SSH key items with a null public key or fingerprint fail to decrypt and break the vault by @gbubemismith in #21778
  • [PM-18638] Prevent collection/cipher creation for suspended organizations by @JaredScar in #21887
  • [PM-40432] Update Send Event Logs copy by @harr1424 in #21890
  • [PM-40502] communicate message extension payloads using symbol by @audreyality in #21909
  • [PM-40188] Apply deletion date policy to CLI-created Sends by @mcamirault in #21845
  • [CL-808] Support forced colors mode for form controls by @vleague2 in #21936
  • [PM-40543] Default new SCIM connections to staged by @sven-bitwarden in #21963
  • [CL-1282] use correct size for base icon tile by @BryanCunningham in #21856
  • fix(desktop): guard will-navigate against renderer escape by @addisonbeck in #21935
  • [PM-39845] Prevent Access Intelligence report freeze on oversized password values by @Banrion in #21987
  • [PM-39772] Detect shadow hosts created from iframes by @bensbits91 in #21857
  • [PM-40241] Bugfix - Rehydrate localData lastUsedDate on local cipher views by @jprusik in #21849
  • [PM-40440] fix: Source upgrade cart total from server invoice preview by @amorask-bitwarden in #21902
  • [PM-40375] Add per-item exception handling to 1Pux import by @harr1424 in #21941
  • [PM-39464] Fix ExpressionChangedAfterItHasBeenCheckedError when assigning collections by @nikwithak in #21743
  • fix(key-connector): fix sdk key-connector login not working by @quexten in #21957
  • [PM-38557] Netwrix Password Secure importer should map URL-like fields to Bitwarden website URI by @harr1424 in #21889
  • [PM-38189] Wire InitiationPath to Organizations to Correct Trial Metadata by @sbrown-livefront in #21769
  • [PM-40771] Update policy enabled method to accept PolicyStatusResponse by @JaredScar in #21997
  • fix: race condition leading to decryption errors by @quexten in #22063
  • fix(desktop): use x11 clipboard by default and only use portal as fallback by @quexten in #22062
  • [PM-24945] Fix bw send receive not recognizing --password parameter by @adudek-bw in #21872
  • [PM-38639] Fix scrollbar color in desktop light mode by @vleague2 in #22039
  • [PM-40800] re-add removed nested collection permissions checkbox by @BTreston in #22000
  • [PM-40961] fix: don't show no master password warning for staged users by @sven-bitwarden in #22075
  • fix(sdk): revert sdk lifecycle changes by @quexten in #22090
  • [PM-2803] Order collections alphabetically in collections dropdown for nested collections by @JaredScar in #22077
  • PM-36838 update template to show deviceName instead of deviceType by @voommen-livefront in #21600
  • [PM-40462] Fix checkbox being unchecked when clicking edit autotype shortcut by @shane-melton in #22085
  • [PM-25560] Align Safe In Cloud import to match native behavior by @harr1424 in #20717
  • [PM-26503] Bugfix - Allow inline menu to escape aria model focus traps by @jprusik in #22017
  • PM-41236 Add additional esccaping to shortcode text element by @mandreko-bitwarden in #22156
  • [PM-16160] Fixes CLI issue where passwords are show via get item command in CLI by @JaredScar in #22083
  • [PM-41027] fix: label add-item tile as shared folder under VFO1 terminology by @gbubemismith in #22137
  • [PM-40766] Handle punycode-unicode domain matching for "Host" URI matching strategy by @jprusik in #21994
  • Auth/PM-41303 - Direct Org Invite Acceptance - fix url paste scenario eternal spinner bug when org has MP policy by @JaredSnider-Bitwarden in #22184
  • [PM-40693] Hide copy button on file Sends by @mcamirault in #22015
  • [PM-41288] Fix bug preventing edits of existing File Sends by @mcamirault in #22203
  • SSH Agent: fix all-or-nothing key parsing by @neuronull in #22200
  • [PM-41256] User Is Unable to Create a Passport Cipher by @jengstrom-bw in #22181
  • [PM-40218] fix: stop autofill and save from deleting the TOTP key by @gbubemismith in #22175
  • [PM-30289] Fix for loss of focus on extension search input by @shane-melton in #18581
  • [PM-41539] fix: recognize both Keeper SSO callback URL forms (#22265) by @itsadrago in #22331
  • [PM-41691] Fix issue where edit item, hidden passwords wipes password, TOTP by @JaredScar in #22329
  • [PM-41880] Hotfix for edit members dialog dependencies (cherry-pick to rc) by @Banrion in #22417

⚙️ Maintenance

  • Bump client version(s) by @github-actions[bot] in #21811
  • Auth/PM-39905 - Restructure organization-invite into subfolders with barrel imports by @JaredSnider-Bitwarden in #21642
  • Auth/PM-3813 - 2FA Management Endpoints - User Verification Refactor by @JaredSnider-Bitwarden in #21385
  • Autosync Crowdin Translations for browser by @bw-ghapp[bot] in #21648
  • Fix/update CODEOWNERS by @djsmith85 in #21826
  • [PM-37476] Source canUseAccessIntelligence from server UseRiskInsights ability by @AlexRubik in #21760
  • [BRE-2044] Keep logic for bumping the Desktop version automatically in clients by @vgrassia in #21745
  • [BRE-1907] Add artifact manifest to build-web.yml by @gitclonebrian in #21726
  • [PM-40345] Ignore Storybook stories in code coverage by @Hinton in #21842
  • [PM-40138] desktop-autofill: refactor Autofill IPC Registration by @iinuwa in #21753
  • [PM-16487] Remove Add/edit v2 component by @jengstrom-bw in #21859
  • [PM-39259] Migrate auth token key generation to SDK by @quexten in #21706
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #21649
  • [PM-40456] Update cSpell settings by @jprusik in #21875
  • [PM-39259] Remove deprecated randomBytes/aesGenerateKey/createKey by @quexten in #21713
  • desktop-autofill: Move macOS-specific window position to macOS code by @iinuwa in #21852
  • chore(biometrics): extract biometrics to separate crate by @quexten in #21822
  • chore: rename biometric_v2 mod to biometric by @quexten in #21891
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #21903
  • Autosync Crowdin Translations for browser by @bw-ghapp[bot] in #21904
  • [PM-34857] Remove PoliciesInAcceptedState feature flag by @eliykat in #21761
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #21905
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #21915
  • [PM-36404] Refactor org guards for ts-strict by @BTreston in #21914
  • [PM-39966] Migrate from @angular/platform-browser-dynamic to @angular/platform-browser by @djsmith85 in #21866
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #21966
  • Autosync Crowdin Translations for browser by @bw-ghapp[bot] in #21916
  • chore(ci): skip platform-community signal for fork PRs by @addisonbeck in #21934
  • desktop-autofill: Add missing Skunkworks codeownership by @iinuwa in #21907
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #21917
  • [PM-40447] Create lit prompt component by @dan-livefront in #21892
  • [PM-40688] Run prettier to fix failing lint after prettier upgrade by @dan-livefront in #21981
  • chore: Add team-ai-sme as CODEOWNERS for .mcp.json by @SaintPatrck in #21985
  • build: allow sdk-internal crypto crates in dependency tooling by @quexten in #21925
  • refactor: gate desktop_native core allocator and windows deps by @quexten in #21926
  • DN Autotype: Move mockall and serial_test to be Dev Deps by @coltonhurst in #21999
  • refactor(login-strategy): clean up crypto-related functions and deprecation notices by @quexten in #21958
  • [BRE-2118] Adding publish CLI workflow for NPM provenance by @pixman20 in #22014
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #22020
  • docs(vault): document deprecation of TypeScript vault item decryption by @quexten in #22004
  • Bump client version(s) by @github-actions[bot] in #22038
  • Bump client version(s) by @github-actions[bot] in #22069
  • [CL] mark bit-table-v2 as Beta in Storybook docs by @willmartian in #22072
  • [PM-40847] Add any missing inline menu renderings to storybook for QA by @dan-livefront in #22037
  • [PM-40590] Run chromatic workflow when the workflow file is updated, to enable dep testing by @vleague2 in #22076
  • [PM-40259] introduce AutofillOrchestrator by @audreyality in #21768
  • [PM-40680] chromium-importer: Replace deprecated LSFindApplicationForInfo function by @iinuwa in #21979
  • [PM-36403] Group view models ts strict by @BTreston in #21825
  • [PM-36405] collection dialog refactor by @BTreston in #21965
  • [PM-36405] Fix types in Storybook after adopting ts-strict by @eliykat in #22086
  • [CL-1292] update icon docs for filename-based build system by @BryanCunningham in #22108
  • Add t:deps label for SDK update PRs automatically by @trmartin4 in #22142
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #22018
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #22162
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #22166
  • Autosync Crowdin Translations for browser by @bw-ghapp[bot] in #22019
  • build: Fix Windows cross-compiled builds by @iinuwa in #22139
  • chore: remove checkmarx from repo by @sognefej in #22183
  • [PM-35791] Remove old Send access endpoints by @mcamirault in #22080
  • [BRE-2153] fix(ci): Stage bit-common for commercial browser builds by @fntyler in #22198
  • [PM-40846] Support Fido2 v4 server update by @ike-kottlowski in #22006
  • chore(kdf-change): port change kdf to sdk by @quexten in #22032
  • [PM-24097] - [Vault] Remove getOrgKey from the key service by @jaasen-livefront in #21480
  • Move browser Health tab files to commercial license by @lastbestdev in #22223
  • [PM-40107] Deprecate TS generator logic available in the SDK by @harr1424 in #22154
  • [BRE-2158] Add PR label to creation step for Crowdin Pull workflow by @vgrassia in #22228
  • mock missing observables to suppress console errors by @audreyality in #22174
  • [CL-1294] Add FormRecord stories for table-v2 by @willmartian in #22160
  • chore(crypto): port crypto sync handler to sdk by @quexten in #22217
  • SSH Agent: fix flaky integration test by @neuronull in #22238
  • Browser: Refactor client state definitions for Health feature by @lastbestdev in #22240
  • [BRE-2105] Updating build process for desktop and browser beta channels by @pixman20 in #22229
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #22274
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #22272
  • Autosync Crowdin Translations for browser by @bw-ghapp[bot] in #22273
  • Autosync Crowdin Translations for browser by @bw-ghapp[bot] in #22281
  • Autosync Crowdin Translations for desktop by @bw-ghapp[bot] in #22279
  • Autosync Crowdin Translations for web by @bw-ghapp[bot] in #22280
  • refactor(crypto): add legacy crypto module by @quexten in #22254
  • chore(native-messaging): rename native messaging plug to dot-native-messaging by @quexten in #22303
  • [BRE-2116] Bump actions/checkout to v7.0.1 in non-privileged workflows by @brandonbiete in #22157
  • Bump client version(s) by @github-actions[bot] in #22320

📦 Dependency Updates

  • Update sdk-internal to 0.2.0-main.897 by @bw-ghapp[bot] in #21718
  • [deps]: Update GitHub Artifact Actions (major) by @renovate[bot] in #19586
  • Pin NPM 11 on CLI builds by @dani-garcia in #21838
  • [deps]: Update Rust by @renovate[bot] in #20390
  • [deps] Platform: Lock file maintenance by @renovate[bot] in #21796
  • [deps]: Update dtolnay/rust-toolchain digest to 4cda84d by @renovate[bot] in #21948
  • [deps] Platform: Update jest-preset-angular to v17 by @renovate[bot] in #21678
  • [deps] Autofill: Update prettier to v3.9.5 by @renovate[bot] in #21668
  • [deps] Platform: Update webpack-dev-server to v5.2.6 [SECURITY] by @renovate[bot] in #21972
  • [deps]: Update cargo-deny to 0.20.0 by @renovate[bot] in #21952
  • [deps] UI Foundation: Update chromatic to v18 by @renovate[bot] in #21954
  • [deps]: Update chromaui/action action to v18 by @renovate[bot] in #21956
  • Auth/PM-40520 - Bump SDK versions in clients to get new registration open org invite crypto APIs by @JaredSnider-Bitwarden in #22134
  • Update sdk-internal to 0.2.0-main.928 by @bw-ghapp[bot] in #21870
  • [deps]: Update Rust crate rusqlite to v0.40.1 by @renovate[bot] in #21115
  • [deps] Tools: Update Rust crate aes-gcm to v0.11.0 by @renovate[bot] in #21675
  • [deps] Tools: Update @bufbuild/protobuf to v2.13.0 by @renovate[bot] in #21950
  • fix: update sdk and add support for kdf in state bridge by @quexten in #22197
  • [deps] Vault: Update @koa/router to v15.7.0 by @renovate[bot] in #21951
  • [deps] Platform: Update electron to v43 by @renovate[bot] in #20844
  • [deps]: Update Rust crate rkyv to v0.8.17 by @renovate[bot] in #22215

🎨 Other

  • [PM-39560] [BEEEP] Add MCP server configuration for Chrome and Electron DevTools by @quexten in #21483

New Contributors

Full Changelog: cli-v2026.7.0...cli-v2026.8.0

clidesktopbrowser-extensionwebpassword-manager

Source: original entry ↗