What's Changed
- Added direct Keepass import
- Various under-the-hood improvements and minor bug fixes
💙 Community Highlight
- [PM-33285] Enhance privacy in password leak detection with response padding by @TheDcoder in #19439
- [PM-38123] [bug] Preserve 1Password archive state on 1pux import (closes #20694) by @999purple999 in #20867
- [PM-39177] fix(libs): correct various typos in shared libraries and documentation by @luojiyin1987 in #21320
Feature Development
- [PM-33198] Keeper direct importer by @detunized in #19395
- [PM-31884] implemented controls for send policy access dropdown by @bmbitwarden in #19777
- [PM-32696] Add data field to Cipher object to support blob encryption by @nikwithak in #20765
- [PM-37875] Automatic V2 Upgrade Migration by @quexten in #20831
- Auth/PM-38298 - Org Invite Acceptance Refactor by @JaredSnider-Bitwarden in #21011
- [PM-38565] Replace tray settings with "Keep Bitwarden running in the background" by @quexten in #21044
- [PM-38387] Introduce KeePass KDBX importer by @harr1424 in #21052
- [PM-33408] Add OrganizationUserNotification banner to vault by @jengstrom-bw in #21209
- feat: add Region.Gov to available environments by @addisonbeck in #21211
- [PM-39048] Feat: scaffold @bitwarden/pam library by @Hinton in #21259
- [PM-34779] Add accept method to OrganizationInviteLinkApiService by @r-tome in #21266
- [PM-34023] Remove 2FA account recovery flag by @eliykat in #21291
- [PM-33054] Remove feature flag
cipher-key-encryptionby @jengstrom-bw in #21309 - [PM-34053] Swap verify trust to new SDK method by @Thomas-Avery in #21347
- feat(platform): introduce GovModeService for FedRAMP region gating by @addisonbeck in #21366
- [PM-34580] Rename "Note" to "Secure note" for SecureNote cipher type by @nick-livefront in #21423
- [PM-33740] Remove unlock service for password flagged logic by @mzieniukbw in #21427
- [PM-20344] Disallow multiple attachments with the same name, handle existing in zip export format by @mcamirault in #21596
🐛 Bug fixes
- [PM-39731] Hotfix: Revert "[Shared Unlock] [PM-34508] Default enable native messaging permission on browser (#19907) by @mzieniukbw in #21559
- [PM-34926] Allow single-character CJK vault searches by @jaasen-livefront in #21013
- Auth/PM-35783 - Fix Org Invite Policy State Pollution and State Clearing Issue by @JaredSnider-Bitwarden in #21218
- [PM-38608] [PM-38560] Fix diacritic normalization and multi-word query handling in searchCiphersBasic by @nick-livefront in #21232
- [PM-27041] - CLI - respect passphrase param in /generate by @jaasen-livefront in #21290
- fix(platform): remove hardcoded vault.bitwarden.com checks in getSendUrl and getScimUrl by @addisonbeck in #21373
- [SM-1483] Fix self-hosted environment URLs in Secrets Manager config by @vincentsalucci in #21375
- [PM-39204] Add extra spacing to vault items when batch bar is visible by @nick-livefront in #21390
- [PM-38940] Close Firefox/Safari Permissions-Policy gaps via webRequest by @bensbits91 in #21466
- [PM-7036] Add support for latest LogMeOnce CSV import format, add folder mapping by @mcamirault in #21473
- Revert "[PM-38760] Recursively create directory when writing manifest (#21141)" by @addisonbeck in #21568
- [PM-31068] Wire send SDK repository for edit/removePassword by @adudek-bw in #21579
- [PM-39380] Bitwarden unencrypted JSON files containing cipher keys prevent import by @harr1424 in #21587
- [PM-39556] Fix access selector not saving changes when the dialog field is modified by @BTreston in #21640
- Revert "[Shared Unlock] [PM-34508] Default enable native messaging pe… by @quexten in #21687
- [PM-38392] Route password-protected Send saves through the SDK by @adudek-bw in #21725
- [PM-38595] Update local collections from server response by @BTreston in #21744
- [PM-40303] Fix logout when underprivileged user accesses Manage Send policy by @harr1424 in #21836
- [PM-40303] Cherry-pick to rc: Fix user logout when missing permissions by @harr1424 in #21846
- [PM-40236][RC] Logging out throws error mid-logout due to a race condition. User left in locked state by @mzieniukbw in #21869
⚙️ Maintenance
- [PM-35600] Update Password Request Models (Key Management) by @rr-bw in #20665
- [PM-38958] Add ESLint no package self import rule by @quexten in #21198
- [BRE-2013] Fix repo name in PR description link by @vgrassia in #21276
- fix(codeowners): Added environment selector to auth's responsibilities by @Patrick-Pimentel-Bitwarden in #21284
- [PM-39182] Migrate to relative imports - @bitwarden/team-billing-dev by @quexten in #21325
- [PM-39182] Migrate to relative imports - @bitwarden/team-data-insights-and-reporting-dev by @quexten in #21327
- [PM-39182] Migrate to relative imports - @bitwarden/team-admin-console-dev by @quexten in #21329
- [PM-39182] Migrate to relative imports - @bitwarden/team-auth-dev by @quexten in #21330
- [PM-39182] Migrate to relative imports - @bitwarden/team-vault-dev by @quexten in #21331
- [PM-39182] Migrate to relative imports - @bitwarden/team-key-management-dev by @quexten in #21333
- [PM 34708] Use new shared enforce label workflow by @djsmith85 in #21365
- [PM-9420] - add cipher$ observable to cipher service by @jaasen-livefront in #21383
- [deps]: Pin dependencies by @renovate in #21406
- [VULN-649] ci: Remove deprecated scan workflow by @theMickster in #21429
- [PM-38904] - Managed to Claimed Rename by @jrmccannon in #21430
- [deps] Fix Rust nightly toolchain reference in lint workflow by @coroiu in #21457
- [PM-39182] Enable no relative imports rule by @quexten in #21515
- [PM-39259] Migrate key-management consumers to SDK key generation by @quexten in #21707
- [PM-39259] Migrate vault export and generator to SDK random number client by @quexten in #21708
- [PM-39259] Remove typescript cipherkey generation by @quexten in #21729
- [PM-34458] Add release.yml to bitwarden/clients by @djsmith85 in #21732
- chore(ci): add platform-community code-review signal by @addisonbeck in #21751
- Bump client version(s) by @github-actions in #21811
- Bumped client version(s) (#21811) by @addisonbeck in #21817
- [BRE-2118] Adding publish CLI workflow for NPM provenance by @pixman20 in #22014
📦 Dependency Updates
- [PM-35903] Update clients to node 24 by @dani-garcia in #20400
- [deps] Vault: Update @koa/router to v15.6.0 by @renovate in #21114
- Update sdk-internal to 0.2.0-main.843 by @bw-ghapp in #21233
- [deps] Platform: Update @babel/core to v7.29.6 [SECURITY] by @renovate in #21277
- [deps] Vault: Update form-data to v4.0.6 [SECURITY] by @renovate in #21279
- Update sdk-internal to 0.2.0-main.849 by @bw-ghapp in #21299
- Update sdk-internal to 0.2.0-main.857 by @bw-ghapp in #21393
- [deps] Vault: Update multer to v2.2.0 [SECURITY] by @renovate in #21396
- [deps] Platform: Update webpack-dev-server to v5.2.5 [SECURITY] by @renovate in #21404
- [deps] Vault: Update https-proxy-agent to v9.1.0 by @renovate in #21408
- [deps]: Update codecov/codecov-action action to v7 by @renovate in #21409
- Update sdk-internal to 0.2.0-main.859 by @bw-ghapp in #21475
- Update sdk-internal to 0.2.0-main.870 by @bw-ghapp in #21482
- Update sdk-internal to 0.2.0-main.872 by @bw-ghapp in #21651
- [deps]: Update dtolnay/rust-toolchain digest to 4be7066 by @renovate in #21667
- [deps] Platform: Update @types/node to v22.20.0 by @renovate in #21673
- Update sdk-internal to 0.2.0-main.883 by @bw-ghapp in #21686
- chore(deps): move rand to KM Renovate ownership by @addisonbeck in #21719
- Fix lockfile by @dani-garcia in #21763
🎨 Other
- Bump client version(s) by @github-actions in #21271
- Auth/Add CLAUDE.md files to angular/src/auth and common/src/auth on file organization + barrel files by @JaredSnider-Bitwarden in #21283
- Disable self import rule by @quexten in #21410
- Add claude snap permissions rule by @quexten in #21514
New Contributors
- @TheDcoder made their first contribution in #19439
- @luojiyin1987 made their first contribution in #21322
- @999purple999 made their first contribution in #20867
Full Changelog: cli-v2026.6.0...cli-v2026.7.0