What changed in Bitwarden from 2025 to 2026

10 releases numbered after v2025.12.1 up to and including v2026.8.0, stable releases only. v2025.12.1 and v2026.8.0 are the newest stable releases of 2025 and 2026 we track; this page follows them as new ones ship.

100 changes across 10 releases

Added 46

v2026.8.0

  • Create file upload component
  • Add bit-table-v2 and related components
  • Add Windows biometrics format based on SDK cryptography
  • Add Delinea XML parser for imports
  • Add missing IPC methods for desktop autofill
  • Add support for visually-hidden labels in bit-form-field
  • Add bitMenuClose directive to decouple menu dismissal from ARIA roles
  • Add shared-folder icon
  • Add access rules domain for PAM
  • Add v0.1.0 of the AppPairingData schema
  • Add linksEnabled to invite-link status response model
  • Add Vfo1TerminologyService and VFO1I18nPipe infrastructure
  • Add vfo1Icon pipe for flag-gated icon swaps
  • Support trusted devices in shared-unlock

v2026.7.0

  • Keeper direct importer
  • KeePass KDBX importer
  • Controls for send policy access dropdown
  • Stacked drawer support with back button
  • Native messaging permission default enabled on browser for Shared Unlock
  • IPC Desktop to Browser transport
  • Send policy for deletion days
  • Restrict send type policy
  • Windows Passkey Plugin Authenticator COM implementation
  • Toggle group styles
  • Stripe Checkout from upgrade dialog for Browser and Desktop
  • Data field to Cipher object to support blob encryption
  • Disable auto-start option for snap
  • Region.Gov to available environments
  • OrganizationUserNotification banner to vault
  • Bulk selection and batch bar for Desktop
  • VaultBatchBarComponent on organization vault
  • GovModeService for FedRAMP region gating

v2026.6.0

  • Shared Unlock for Web, Browser, Desktop
  • Auto submit on OTP paste
  • SDK managed PIN unlock
  • Premium Status Changed Push Notification
  • Copy actions for bank account cipher type
  • Passport to the desktop
  • SSH Agent v2 sign request support
  • Biometrics over SDK IPC for shared unlock
  • Send access event logs

v2026.3.1

  • Sends can now use generated passwords

v2026.2.1

  • Email protected Sends
  • Background upgrade of KDF settings for accounts below allowed minimums
  • Prompt to upgrade KDF settings for accounts below allowed minimums

v2026.1.0

  • Auto-assign new logins to current folder/collection
Changed 26

v2026.8.0

  • Set email on sync
  • Update copy from new to create/add in browser
  • Update button copy on desktop
  • Call SDK for password prelogin
  • Rename Owner field to Vault field
  • Remove PoliciesInAcceptedState feature flag

v2026.7.0

  • Replace tray settings with Keep Bitwarden running in the background
  • Rename Note to Secure note for SecureNote cipher type
  • Make AES-GCM the default algorithm in crypto.rs for secure memory
  • Update copy from new to add or create in web app
  • Pin vault bulk-actions bar to the viewport on scroll
  • Default enable organization invite acceptance flow
  • Automatic V2 Upgrade Migration

v2026.6.0

  • Hide Send from navigation for users subject to policy removing send
  • Default enable native messaging permission on browser
  • Migrate cipher attachment operations to use SDK instead of APIs
  • Route bulk-collections, move, and assigned-cipher operations to SDK

v2026.5.0

  • Updated UI for Archive to more clearly communicate it is a Premium feature

v2026.4.0

  • Targeted performance improvements on read/write
  • Refactor unlock service to use Bitwarden SDK
  • Updated default clipboard clearing time to 5 minutes

v2026.3.1

  • Users subject to the organization data ownership policy will now be prompted to transfer their My Vault items to My Items

v2026.2.1

  • Send UI updated
  • Core cryptography improvements to master password salt

v2026.1.0

  • Various UI tweaks
  • Various under-the-hood improvements and minor bug fixes
Fixed 25

v2026.8.0

  • Do not show true length of password in password mask
  • Resolve SSH agent caller name via libproc on macOS
  • Fix Proton Pass import of item custom fields
  • Fix Proton Pass importer dropping custom, alias, and SSH key items
  • Restore increment/decrement buttons for max access count in Send
  • Add Helium as Linux entry for NativeMessagingHosts on desktop
  • Fix forwarder settings cache collision
  • Recognize both Keeper SSO callback URL forms
  • Fix subtitles when using SDK
  • Confirm before deleting a passkey
  • Add prefix to Fastmail

v2026.7.0

  • Preserve 1Password archive state on 1pux import
  • Improve connection handling in powermonitor
  • Recursively create directory when writing manifest
  • Enhance privacy in password leak detection with response padding
  • Add less confusing argument and environment variable name to disable updates

v2026.6.1

  • Fix keyboard shortcuts in desktop

v2026.6.0

  • Bug fix for keyboard shortcuts
  • Per-request memory leak in bw serve (authStatusFor$)

v2026.4.0

  • Prevent losing unsaved changes when creating a Send

v2026.3.1

  • Various under-the-hood improvements and minor bug fixes

v2026.2.1

  • Lock vault from system tray not working

v2026.1.1

  • Correct manifest issue that prevented the app from showing up in the Windows Store

v2026.1.0

  • Bug-fix for at risk password warning not disappearing
  • Handle delayed availability of biometric unlock
Removed 3

v2026.7.0

  • 2FA account recovery flag
  • Feature flag cipher-key-encryption
  • Unlock service for password flagged logic

Original release notes, newest first

The list above is our reading of these notes; the originals from Bitwarden are here, one fold per release.

v2026.8.0Desktop v2026.8.0
What's Changed
💙 Community Highlight
  • [PM-19836] Add prefix to fastmail by @lucacome in #14105
  • [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-39030] Fix Proton Pass import of item custom fields by @archit-goyal in #21253
  • [PM-39312] Fix Proton Pass importer dropping custom, alias, and SSH key items by @theagg-18 in #21402
  • [PM-39704] fix(send): restore increment/decrement buttons for max access count by @harikrishna2208 in #21527
  • [PM-40131] fix(desktop): add Helium as Linux entry for NativeMessagingHosts by @0xk1f0 in #21748
  • [PM-40685] Fix forwarder settings cache collision by @cyfrit in #21980
  • [PM-41559] [PM-41539] Recognize both Keeper SSO callback URL forms by @detunized in #22265
:shipit: Feature Development
  • [CL-51] create file upload component by @BryanCunningham in #20899
  • [CL-998] bit-table-v2 and related components by @willmartian in #20900
  • [PM-27844] Set email on sync by @ike-kottlowski in #21349
  • feat(biometrics): add windows biometrics format based on sdk cryptography by @quexten in #21433
  • [PM-10383] - confirm before deleting a passkey by @jaasen-livefront in #21497
  • [PM-32384] Update copy new to create/add browser by @jengstrom-bw in #21524
  • [PM-32403] Update button copy desktop by @jengstrom-bw in #21528
  • [PM-39778] Fix subtitles when using sdk by @jengstrom-bw in #21591
  • [PM-17584] Delinea XML parser by @mcamirault in #21620
  • [PM-34857] Remove PoliciesInAcceptedState feature flag by @eliykat in #21761
  • desktop-autofill: Add missing IPC methods by @iinuwa in #21775
  • [CL-972] card updates by @BryanCunningham in #21776
  • [PM-27060] feat: Call SDK for password prelogin by @ike-kottlowski in #21777
  • [CL-1272] Support visually-hidden labels in bit-form-field by @willmartian in #21788
  • [CL-1273] Add bitMenuClose directive to decouple menu dismissal from ARIA roles by @willmartian in #21789
  • [PM-40194] - add shared-folder icon by @jaasen-livefront in #21801
  • [PM-40335] PAM - Add access rules domain (1/2) by @Hinton in #21810
  • [PM-40283] Add v0.1.0 of the AppPairingData schema by @coltonhurst in #21814
  • [PM-40216] feat: Scope organization invite link lookups by organization ID by @r-tome in #21815
  • feat(llm): add claude note to make key-management aware of encryption related changes by @quexten in #21818
  • [PM-40240][PM-40239] Updated card control features by @BryanCunningham in #21819
  • [PM-39815] feat: Add linksEnabled to invite-link status response model by @r-tome in #21820
  • Pm 38122 fastmail checkbox by @bmbitwarden in #21830
  • [PM-40195] feat: add shared-folder localization keys by @jaasen-livefront in #21832
  • [PM-40381] Desktop Autofill Cancellation by @iinuwa in #21853
  • [PM-40286] - Add Vfo1TerminologyService and VFO1I18nPipe infrastructure by @nick-livefront in #21860
  • [PM-40119] Assign Collection -> "Add to shared folder" action & dialog copy by @jengstrom-bw in #21874
  • [PM-40193] feat: add vfo1Icon pipe for flag-gated icon swaps by @jaasen-livefront in #21876
  • add problem detail support, wire up email changing by @BTreston in #21878
  • feat(shared-unlock): support trusted devices by @quexten in #21895
  • [PM-40111] Rename Owner to Vault field by @nick-livefront in #21897
  • [PM-40381] desktop-autofill: FIDO2 UI cancellation by @iinuwa in #21906
  • [PM-36007] Admin change email event logging by @BTreston in #21908
  • Autotype AppData path normalization by @neuronull in #21910
  • [CL-1285] create Storybook feature-flags addon in new @bitwarden/storybook lib by @willmartian in #21913
  • [PM-40134] RoutedVaultFilterService accept a vaultId query parameter alongside organizationId by @jengstrom-bw in #21930
  • [PM-38794] Add OrganizationInviteLinkApiService.getInvite by @JimmyVo16 in #21932
  • [PM-38749] Add OrganizationInviteLinkApiService.updateSupportsConfirmation by @JimmyVo16 in #21933
  • [PM-38333] feat: Annual billing savings offer on cancel by @kdenney in #21939
  • feat(register-finish-request): Add sales_assisted_token to request by @enmande in #21961
  • [PM-40252] feat: migrate shared vault components to shared-folder terminology by @jaasen-livefront in #21967
  • [PM-40510] feat: rename vault-filter query param to sharedFolderId by @jaasen-livefront in #21968
  • [PM-40654] feat: gate org-creation default collection name behind VFO1 terminology by @jaasen-livefront in #21969
  • desktop-autofill: Omit CTAP2 status code in assertion response by @iinuwa in #21978
  • [PM-40682] desktop-autofill: Graceful Windows plugin registration by @iinuwa in #21982
  • [PM-39997] desktop-autofill: Package Windows passkey plugin resources by @iinuwa in #21983
  • [PM-40682] desktop-autofill: Register Windows native passkey plugin by @iinuwa in #21986
  • [PM-40255] Update collection icon to bwi-shared-folder by @nick-livefront in #21996
  • [PM-40623] Update invite link service to match SDK by @eliykat in #22054
  • [PM-35157] Remove feature flagged logic for SDK decryption flag by @JaredScar in #22078
  • [PM-40254] feat(desktop): migrate vault components to shared-folder terminology by @gbubemismith in #22096
  • [PM-41015] Add feature flag for Managed Device Framework by @djsmith85 in #22097
  • desktop-autofill: Implement Windows plugin credential sync [PM-41025] by @iinuwa in #22109
  • [PM-38799] Add translation for confirm flow audit events by @JimmyVo16 in #22117
  • [PM-40548] Web add quick copy icon setting by @jengstrom-bw in #22118
  • [PM-40549] Desktop add quick copy icon setting by @jengstrom-bw in #22120
  • [PM-38248] Remove SendEventLogging feature flag by @harr1424 in #22131
  • [PM-39978] Add Item Send enum and fix resulting build errors by @mcamirault in #22135
  • desktop-autofill: Implement Windows native status command [PM-41025] by @iinuwa in #22138
  • desktop-autofill: Prepare native OS user verification [PM-29791] by @iinuwa in #22176
  • [PM-40679] Autotype MVP Naming Refactor by @coltonhurst in #22201
  • [PM-41312] Bump sdk-internal for Fill Assist policy type by @bensbits91 in #22206
  • [PM-40944] Add Delinea CSV importer, improve types for Delinea XML by @mcamirault in #22207
  • [PM-31619]Create feature-flag for inline menu component by @dan-livefront in #22234
  • SSH Agent contain edge case IPC failures by @neuronull in #22236
❗ Breaking Changes
  • Fix AuthEdit SDK break by @adudek-bw in #22071
🐛 Bug fixes
  • [PM-30289] Fix for loss of focus on extension search input by @shane-melton in #18581
  • [PM-39137] Gate Access Intelligence report reads on new-architecture flag by @Banrion in #21315
  • [PM-39387] fix: Auto-sync premium status after returning from Stripe checkout by @cyprain-okeke in #21518
  • [PM-33228] Add screen reader only to enhance a11y behavior by @BryanCunningham in #21563
  • [PM-39992] Add support for SDK IPC unreachability by @quexten in #21653
  • [PM-39825] Fix URI reordering, drag handle alignment by @jaasen-livefront in #21697
  • [PM-39464] Fix ExpressionChangedAfterItHasBeenCheckedError when assigning collections by @nikwithak in #21743
  • [PM-38189] Wire InitiationPath to Organizations to Correct Trial Metadata by @sbrown-livefront in #21769
  • [PM-40201] SSH key items with a null public key or fingerprint fail to decrypt and break the vault by @gbubemismith in #21778
  • [PM-40247] Fix vault item checkmarks disappearing after clearing a search by @nick-livefront in #21823
  • [PM-40377] Fix bug with form field to have textarea behave the same as an input when disabled by @jengstrom-bw in #21848
  • [PM-40241] Bugfix - Rehydrate localData lastUsedDate on local cipher views by @jprusik in #21849
  • [CL-1277] Add disabled and readonly variants to Textarea story by @willmartian in #21851
  • [CL-1282] use correct size for base icon tile by @BryanCunningham in #21856
  • [PM-40236] Logging out throws error mid-logout due to a race condition. User left in locked state by @mzieniukbw in #21858
  • [PM-40444] Hide archive/unarchive from bulk bar in Admin Console by @nick-livefront in #21873
  • [PM-39948][PM-40406] Fix native select issues with dark mode and arrow click handling by @vleague2 in #21877
  • Fix SSH Agent concurrent requests by @neuronull in #21881
  • [PM-40457] Fix typos in the message catalogs by @jprusik in #21882
  • [PM-40446] Enhance AutoConfirmWarningDialog by adding LinkModule to imports by @JaredScar in #21883
  • [PM-40484] Fix Autotype IPC channel mismatch by @coltonhurst in #21885
  • [PM-18638] Prevent collection/cipher creation for suspended organizations by @JaredScar in #21887
  • [PM-40370] Use decrypted ciphers cache when using SDK by @shane-melton in #21888
  • [PM-38557] Netwrix Password Secure importer should map URL-like fields to Bitwarden website URI by @harr1424 in #21889
  • [PM-40440] fix: Source upgrade cart total from server invoice preview by @amorask-bitwarden in #21902
  • fix(desktop): guard will-navigate against renderer escape by @addisonbeck in #21935
  • [CL-808] Support forced colors mode for form controls by @vleague2 in #21936
  • [PM-40375] Add per-item exception handling to 1Pux import by @harr1424 in #21941
  • fix(key-connector): fix sdk key-connector login not working by @quexten in #21957
  • [PM-39845] Prevent Access Intelligence report freeze on oversized password values by @Banrion in #21987
  • [PM-39452] fix: Show premium membership status from desktop Account menu by @cyprain-okeke in #21992
  • [PM-40766] Handle punycode-unicode domain matching for "Host" URI matching strategy by @jprusik in #21994
  • [PM-40693] Hide copy button on file Sends by @mcamirault in #22015
  • [PM-38639] Fix scrollbar color in desktop light mode by @vleague2 in #22039
  • fix(desktop): use x11 clipboard by default and only use portal as fallback by @quexten in #22062
  • fix: race condition leading to decryption errors by @quexten in #22063
  • [PM-40462] Fix checkbox being unchecked when clicking edit autotype shortcut by @shane-melton in #22085
  • fix(sdk): revert sdk lifecycle changes by @quexten in #22090
  • [PM-41027] fix: label add-item tile as shared folder under VFO1 terminology by @gbubemismith in #22137
  • [PM-41256] User Is Unable to Create a Passport Cipher by @jengstrom-bw in #22181
  • Auth/PM-41303 - Direct Org Invite Acceptance - fix url paste scenario eternal spinner bug when org has MP policy by @JaredSnider-Bitwarden in #22184
  • fix: update sdk and add support for kdf in state bridge by @quexten in #22197
  • SSH Agent: fix all-or-nothing key parsing by @neuronull in #22200
  • [PM-41288] Fix bug preventing edits of existing File Sends by @mcamirault in #22203
  • [PM-41539] fix: recognize both Keeper SSO callback URL forms (#22265) by @itsadrago in #22331
⚙️ Maintenance
  • Auth/PM-3813 - 2FA Management Endpoints - User Verification Refactor by @JaredSnider-Bitwarden in #21385
  • [PM-24097] - [Vault] Remove getOrgKey from the key service by @jaasen-livefront in #21480
  • Auth/PM-39905 - Restructure organization-invite into subfolders with barrel imports by @JaredSnider-Bitwarden in #21642
  • [PM-39259] Migrate auth token key generation to SDK by @quexten in #21706
  • [PM-39259] Remove deprecated randomBytes/aesGenerateKey/createKey by @quexten in #21713
  • [BRE-2044] Keep logic for bumping the Desktop version automatically in clients by @vgrassia in #21745
  • [PM-40138] desktop-autofill: refactor Autofill IPC Registration by @iinuwa in #21753
  • [PM-37476] Source canUseAccessIntelligence from server UseRiskInsights ability by @AlexRubik in #21760
  • [AppSec] AI Fix for Template Injection in GitHub Workflows Action by @aikido-autofix in #21787
  • Bump client version(s) by @github-actions in #21811
  • chore(biometrics): extract biometrics to separate crate by @quexten in #21822
  • Fix/update CODEOWNERS by @djsmith85 in #21826
  • [PM-40345] Ignore Storybook stories in code coverage by @Hinton in #21842
  • desktop-autofill: Move macOS-specific window position to macOS code by @iinuwa in #21852
  • [PM-39966] Migrate from @angular/platform-browser-dynamic to @angular/platform-browser by @djsmith85 in #21866
  • [PM-40456] Update cSpell settings by @jprusik in #21875
  • chore: rename biometric_v2 mod to biometric by @quexten in #21891
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21903
  • desktop-autofill: Add missing Skunkworks codeownership by @iinuwa in #21907
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21915
  • 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
  • chore(ci): skip platform-community signal for fork PRs by @addisonbeck in #21934
  • refactor(login-strategy): clean up crypto-related functions and deprecation notices by @quexten in #21958
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21966
  • [PM-40680] chromium-importer: Replace deprecated LSFindApplicationForInfo function by @iinuwa in #21979
  • chore: Add team-ai-sme as CODEOWNERS for .mcp.json by @SaintPatrck in #21985
  • DN Autotype: Move mockall and serial_test to be Dev Deps by @coltonhurst in #21999
  • docs(vault): document deprecation of TypeScript vault item decryption by @quexten in #22004
  • [PM-40846] Support Fido2 v4 server update by @ike-kottlowski in #22006
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #22018
  • chore(kdf-change): port change kdf to sdk by @quexten in #22032
  • Bump client version(s) by @github-actions in #22038
  • [CL] mark bit-table-v2 as Beta in Storybook docs by @willmartian in #22072
  • [PM-40590] Run chromatic workflow when the workflow file is updated, to enable dep testing by @vleague2 in #22076
  • [PM-35791] Remove old Send access endpoints by @mcamirault in #22080
  • [CL-1292] update icon docs for filename-based build system by @BryanCunningham in #22108
  • build: Fix Windows cross-compiled builds by @iinuwa in #22139
  • Add t:deps label for SDK update PRs automatically by @trmartin4 in #22142
  • [PM-40107] Deprecate TS generator logic available in the SDK by @harr1424 in #22154
  • [CL-1294] Add FormRecord stories for table-v2 by @willmartian in #22160
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #22166
  • chore: remove checkmarx from repo by @sognefej in #22183
  • [BRE-2153] fix(ci): Stage bit-common for commercial browser builds by @fntyler in #22198
  • chore(crypto): port crypto sync handler to sdk by @quexten in #22217
  • [BRE-2158] Add PR label to creation step for Crowdin Pull workflow by @vgrassia in #22228
  • [BRE-2105] Updating build process for desktop and browser beta channels by @pixman20 in #22229
  • SSH Agent: fix flaky integration test by @neuronull in #22238
  • Browser: Refactor client state definitions for Health feature by @lastbestdev in #22240
  • refactor(crypto): add legacy crypto module by @quexten in #22254
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #22272
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #22279
  • chore(native-messaging): rename native messaging plug to dot-native-messaging by @quexten in #22303
  • Bump client version(s) by @github-actions in #22320
📦 Dependency Updates
  • [deps]: Update GitHub Artifact Actions (major) by @renovate in #19586
  • [deps]: Update Rust by @renovate in #20390
  • [deps] Platform: Update electron to v43 by @renovate in #20844
  • [deps]: Update Rust crate rusqlite to v0.40.1 by @renovate in #21115
  • [deps] Autofill: Update prettier to v3.9.5 by @renovate in #21668
  • [deps] Tools: Update Rust crate aes-gcm to v0.11.0 by @renovate in #21675
  • [deps] Platform: Update jest-preset-angular to v17 by @renovate in #21678
  • Update sdk-internal to 0.2.0-main.897 by @bw-ghapp in #21718
  • [deps] Platform: Lock file maintenance by @renovate in #21796
  • Update sdk-internal to 0.2.0-main.928 by @bw-ghapp in #21870
  • [deps]: Update dtolnay/rust-toolchain digest to 4cda84d by @renovate in #21948
  • [deps] Tools: Update @bufbuild/protobuf to v2.13.0 by @renovate in #21950
  • [deps]: Update cargo-deny to 0.20.0 by @renovate in #21952
  • [deps] UI Foundation: Update chromatic to v18 by @renovate in #21954
  • [deps]: Update chromaui/action action to v18 by @renovate in #21956
  • [deps] Platform: Update webpack-dev-server to v5.2.6 [SECURITY] by @renovate in #21972
  • Auth/PM-40520 - Bump SDK versions in clients to get new registration open org invite crypto APIs by @JaredSnider-Bitwarden in #22134
  • [BRE-2116] Bump actions/checkout to v7.0.1 in non-privileged workflows by @brandonbiete in #22157
  • [deps]: Update Rust crate rkyv to v0.8.17 by @renovate in #22215
🎨 Other
  • [PM-39560] [BEEEP] Add MCP server configuration for Chrome and Electron DevTools by @quexten in #21483
New Contributors

Full Changelog: https://github.com/bitwarden/clients/compare/desktop-v2026.7.0...desktop-v2026.8.0

View originalPermalink

v2026.7.0Desktop v2026.7.0
What's Changed
💙 Community Highlight
  • [PM-32423] Add a less confusing argument and environment variable name to disable updates by @marcquark in #19045
  • [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-38362] fix(powermonitor): Improve connection handling and remove unwraps by @ChihweiLHBird in #20919
  • [PM-38760] Recursively create directory when writing manifest by @pschlan in #21141
  • [PM-39177] fix(libs): correct various typos in shared libraries and documentation by @luojiyin1987 in #21320
  • [PM-39179] fix(desktop): correct various typos in desktop application by @luojiyin1987 in #21322
:shipit: Feature Development
  • [PM-33198] Keeper direct importer by @detunized in #19395
  • [PM-31884] implemented controls for send policy access dropdown by @bmbitwarden in #19777
  • [CL-1138] Add stacked drawer support with back button by @willmartian in #19804
  • [Shared Unlock] [PM-34508] Default enable native messaging permission on browser by @quexten in #19907
  • IPC Desktop <-> Browser transport by @coroiu in #19908
  • Pm 31929 new send policy for deletion days by @bmbitwarden in #20128
  • PM-32187 implemented restrict send type by @bmbitwarden in #20129
  • [PM-29785] Abstract Windows Passkey Plugin Authenticator COM implementation by @iinuwa in #20285
  • [CL-1001] adding new toggle group styles by @BryanCunningham in #20403
  • PM 35229 [Browser/Desktop] Stripe Checkout from upgrade dialog by @cyprain-okeke in #20592
  • [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
  • [BEEEP] [PM-38226] Add disable auto-start option for snap by @quexten in #20855
  • 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
  • Auth/PM-38742 - SSO Invited Existing User Flow Improvement - Show SSO redirect error notification on LoginComponent by @JaredSnider-Bitwarden in #21134
  • [PM-38787] Pin vault bulk-actions bar to the viewport on scroll by @nick-livefront in #21154
  • [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-37808] Bulk Selection + Batch Bar for Desktop by @nick-livefront in #21308
  • [PM-33054] Remove feature flag cipher-key-encryption by @jengstrom-bw in #21309
  • [PM-37807] Implement VaultBatchBarComponent on organization vault by @gbubemismith in #21345
  • [PM-34053] Swap verify trust to new SDK method by @Thomas-Avery in #21347
  • [PM-32402] Update copy from new to add/create web app by @jengstrom-bw in #21355
  • 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-33410] Add organizationusernotification banners to vault desktop by @jengstrom-bw in #21462
  • [PM-33362] Autotype Edit Cipher Initial Changes by @coltonhurst in #21500
  • [PM-35106] Make AES-GCM the default algorithm in crypto.rs for secure memory by @mzieniukbw in #21553
  • [PM-29785] CTAP2 CBOR Parser by @iinuwa in #21584
  • [PM-20344] Disallow multiple attachments with the same name, handle existing in zip export format by @mcamirault in #21596
  • [PM-39147] Batch bar copy fixes — singular/plural toasts and dialog title by @nick-livefront in #21602
  • [PM-29785] Allow waiting for Autofill IPC connection in Windows authenticator by @iinuwa in #21615
  • [PM-29790] Prepare for separate Windows Passkey Plugin Authenticator exe by @iinuwa in #21616
  • [PM-29790] Add credential request processing for Windows passkey plugin by @iinuwa in #21618
  • [PM-29790] Wire up authenticator IPC and COM server for Windows passkey plugin by @iinuwa in #21622
  • [PM-29790] Windows passkey plugin: unify signature verification by @iinuwa in #21634
  • windows-plugin: Add plugin entrypoint by @iinuwa in #21635
  • [PM-36505] Finalize Send Controls policy design, adjust base policy component enabled display logic by @mcamirault in #21739
  • [CL-1274] Add bit-page layout region for bit-layout main content by @willmartian in #21790
🐛 Bug fixes
  • [PM-39731] Hotfix: Revert "[Shared Unlock] [PM-34508] Default enable native messaging permission on browser (#19907) by @mzieniukbw in #21559
  • [PM-32445] Extension Scrollbar Fix by @rr-bw in #20478
  • [PM-37752] - fix collections control when extension loses focus by @jaasen-livefront in #20812
  • [PM-34926] Allow single-character CJK vault searches by @jaasen-livefront in #21013
  • [PM-38643] Fix default broken on wayland only systems by @quexten in #21079
  • [PM-38581] - disable drag for single custom fields by @jaasen-livefront in #21136
  • [PM-38409] - update custom field value on reorder by @jaasen-livefront in #21137
  • [PM-25277] SSH Key desktop translations by @nick-livefront in #21208
  • 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
  • Fix SSH Agent v2 behavior before first unlock by @neuronull in #21273
  • 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-39295] Fix SDK IPC messages being parsed by legacy IPC, resetting the connection by @quexten in #21387
  • [PM-39204] Add extra spacing to vault items when batch bar is visible by @nick-livefront in #21390
  • [SM-1993][CL-1227] Fix textarea height and fix SM button spacing by @vleague2 in #21417
  • [PM-39392] Use readonly styles for fields intended to be readonly by @vleague2 in #21425
  • [CL-1228] hide actions container if empty and always render button outside by @BryanCunningham in #21440
  • [PM-39429] remeasure bulk actions bar width when actions change by @BryanCunningham in #21443
  • [PM-39447] [Shared Unlock] Shared unlock stuck on lock component by @quexten in #21446
  • [PM-39450] [Shared Unlock] Scan Secure Preferences when detecting installed Chrome extensions by @quexten in #21449
  • [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
  • manually recompile select css by @BryanCunningham in #21488
  • [CL-1225] Berry should hide when count is 0 in toggle group by @vleague2 in #21491
  • [PM-39349]] - make ssh key cipher fields readonly by @jaasen-livefront in #21505
  • [PM-38771] - add missing i18n strings for button labels by @jaasen-livefront in #21509
  • [PM-18344] Remove XDG_CURRENT_DESKTOP Unity override to fix clipboard on wayland by @quexten in #21513
  • [PM-39610] Keyboard shortcuts only work once by @gbubemismith in #21520
  • reduce select label font size by @BryanCunningham in #21525
  • [PM-39695] Send fields are unexpectedly editable and changes cannot be saved by @harr1424 in #21542
  • [PM-39746] Exclude search and select components from legacy global desktop css by @vleague2 in #21556
  • Revert "[PM-38760] Recursively create directory when writing manifest (#21141)" by @addisonbeck in #21568
  • [PM-39380] Bitwarden unencrypted JSON files containing cipher keys prevent import by @harr1424 in #21587
  • [PM-39841] Fix unlocking crashing the desktop app by @quexten in #21610
  • [PM-31138] Perform full sync on other clients after upgrade key rotation by @quexten in #21628
  • [PM-39556] Fix access selector not saving changes when the dialog field is modified by @BTreston in #21640
  • [PM-37196] Tooltip expand max-width by @JaredScar in #21646
  • [PM-39974] Remove Biometric Integration Setting Fully by @quexten in #21684
  • Revert "[Shared Unlock] [PM-34508] Default enable native messaging pe… by @quexten in #21687
  • [PM-39977] Fix broken shared unlock for browser-desktop in non-dev mode by @quexten in #21688
  • [PM-39570] use correct fill for bup logo by @BryanCunningham in #21694
  • [PM-38392] Route password-protected Send saves through the SDK by @adudek-bw in #21725
  • fix(vault): archive and unarchive missing from bulk bar for org items by @nick-livefront in #21741
  • Render native form control UI in dark theme with color-scheme: dark by @maxkpower in #21771
  • fix(desktop): fix crash generating DuckDuckGo native messaging manifests by @quexten in #21783
  • fix(desktop): fix Firefox native messaging host manifest directory creation by @quexten in #21784
  • [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-23485] Share types between autofill_provider and napi crates by @iinuwa in #18787
  • [PM-32249] Electron custom file protocol by @dani-garcia in #19208
  • [PM-35600] Update Password Request Models (Key Management) by @rr-bw in #20665
  • [PM-4439] Replace oidc-client-ts with oauth4webapi by @harr1424 in #20824
  • [PM-12043] Remove usage of ActiveUserState from biometric-state.service by @mzieniukbw in #20860
  • [PM-38892] Remove unused methods invokeMenu and openContextMenu by @djsmith85 in #21197
  • [PM-38958] Add ESLint no package self import rule by @quexten in #21198
  • Auth/BEEEP/PM-21301 - Move SelfHostedEnvConfigDialog out of libs/auth by @JaredSnider-Bitwarden in #21268
  • [BRE-2013] Fix repo name in PR description link by @vgrassia in #21276
  • [CL-1223] simplify banner component by @BryanCunningham in #21301
  • [PM-36841] Align Subtitles for all new Item Types by @jengstrom-bw in #21316
  • [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-ui-foundation by @quexten in #21328
  • [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
  • Remove unneeded import for ChipActionComponent by @jengstrom-bw in #21342
  • [PM-38190] Improve sanitization of storybook args helper by @vleague2 in #21362
  • [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
  • add data-testids to log in elements by @nthompson-bitwarden in #21458
  • [PM-23485] Use a staticlib for UniFFI by @iinuwa in #21495
  • [PM-39182] Enable no relative imports rule by @quexten in #21515
  • [PM-35812] Remove feature flag by @JaredScar in #21567
  • [PM-28139] Remove V1 Linux Biometrics by @quexten in #21571
  • Bump client version(s) by @github-actions in #21580
  • build: Add arm64-only MacOS pack step by @iinuwa in #21588
  • [PM-39898] desktop_core: Don't compile objc when cross-compiling for non-macOS by @iinuwa in #21636
  • [PM-33362] Use signals for the app label by @coltonhurst in #21638
  • [BRE-2044] Migrate Auto Bump Desktop Version workflow logic to the deploy repo by @vgrassia in #21641
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21647
  • SSH Agent v2: restructure the SignRequest by @neuronull in #21654
  • Fix clippy lint by @iinuwa in #21691
  • [CL-1258] Add NumberInput story to bit-form-field by @willmartian in #21692
  • [PM-39889] Acknowledge quick-xml advisory by @iinuwa in #21693
  • [CL-1261] Add date input form field story by @willmartian in #21695
  • [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] Migrate DuckDuckGo secure channel to SDK key generation by @quexten in #21711
  • [PM-39259] Migrate FIDO2 credential id to SDK random by @quexten in #21712
  • [PM-39259] Remove typescript cipherkey generation by @quexten in #21729
  • [PM-34458] Add release.yml to bitwarden/clients by @djsmith85 in #21732
  • [BRE-2018] Add snapcraft compatibility note to electron-builder PRs by @brandonbiete in #21735
  • Tidy Desktop Autofill Service by @iinuwa in #21736
  • [PM-23485] Use strong types for autofill IPC request parsing by @iinuwa in #21737
  • chore(ci): add platform-community code-review signal by @addisonbeck in #21751
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21779
  • refactor(desktop_native): extract secure_memory into its own crate by @quexten in #21780
  • SSH Agent v2: add README by @neuronull in #21791
  • Bump client version(s) by @github-actions in #21811
  • Bumped client version(s) (#21811) by @addisonbeck in #21817
📦 Dependency Updates
  • [deps] UI Foundation: Update @storybook/test-runner to v0.24.4 by @renovate in #17854
  • [deps]: Update @napi-rs/cli to v3.7.2 by @renovate in #20121
  • [deps] Platform: Update macOS/iOS bindings by @renovate in #20344
  • [PM-35903] Update clients to node 24 by @dani-garcia in #20400
  • [PM-34331] Update electron to 41 by @dani-garcia in #20448
  • [deps]: Update Rust crate pbkdf2 to v0.13.0 by @renovate in #20581
  • [PM-18344] Implement Clipboard Support on Wayland/Gnome via RemoteDesktop Portal by @quexten in #21068
  • 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
  • Update sdk-internal to 0.2.0-main.849 by @bw-ghapp in #21299
  • [PM-39351][PM-39353][PM-39369] Update Angular to 21.2.17 by @vleague2 in #21377
  • Update sdk-internal to 0.2.0-main.857 by @bw-ghapp in #21393
  • [deps] Platform: Update webpack-dev-server to v5.2.5 [SECURITY] by @renovate in #21404
  • [deps] Platform: Update Rust crate serde_with to v3.21.0 by @renovate in #21407
  • [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
  • Address RUSTSEC-2026-0190 by @neuronull in #21558
  • Bump client version(s) by @github-actions in #21644
  • 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] Desktop Native: Update Rust crate mockall to v0.15.0 by @renovate in #21671
  • [deps] Platform: Update @types/node to v22.20.0 by @renovate in #21673
  • [deps] Platform: Update Rust crate itertools to v0.15.0 by @renovate in #21674
  • [deps]: Update actions/cache action to v6 by @renovate in #21681
  • 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
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21379
  • Disable self import rule by @quexten in #21410
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21506
  • Add claude snap permissions rule by @quexten in #21514
New Contributors

Full Changelog: https://github.com/bitwarden/clients/compare/desktop-v2026.6.1...desktop-v2026.7.0

View originalPermalink

v2026.6.1Desktop v2026.6.1
v2026.6.0Desktop v2026.6.0

Overview

  • Hide Send from navigation for users subject to policy removing send
  • Bug fix for keyboard shortcuts
  • Various under-the-hood improvements and minor bug fixes
What's Changed
💙 Community Highlight
  • [PM-31854] fix: simplify switching unlock methods by @iHildy in #18826
  • [PM-38330] Fix per-request memory leak in bw serve (authStatusFor$) by @ggiesen in #20912
:shipit: Feature Development
  • [Shared Unlock] [PM-35083] Shared Unlock for Web, Browser, Desktop by @quexten in #19698
  • [CL-1077] Update Menu Item styles by @lxiong-livefront in #19763
  • [Shared Unlock] [PM-34508] Default enable native messaging permission on browser by @quexten in #19907
  • [CL-999] Update tabs by @lxiong-livefront in #20010
  • [CL-963] Update breadcrumb styles by @lxiong-livefront in #20085
  • Add new SendApiServer that uses the SDK by @adudek-bw in #20170
  • [PM-23585] Migrate desktop settings dialog to CL by @Hinton in #20230
  • [PM-35224] Add route provider parameters support to featureFlaggedRoute by @Banrion in #20235
  • BEEEP/Auth/PM-35338 - Auto Submit on OTP Paste by @JaredSnider-Bitwarden in #20250
  • Desktop UI Cleanup milestone 3 & 4 by @Hinton in #20266
  • [PM-34157] Wire up SDK to NewPolicyService by @eliykat in #20377
  • [PM-31059] Implement SDK managed PIN unlock by @quexten in #20395
  • [CL-1042] Design system refresh: Milestone 3 by @vleague2 in #20425
  • [PM-35228] Add Premium Status Changed Push Notification by @sbrown-livefront in #20498
  • [Shared Unlock] [PM-35083] Add shared unlock typescript drivers and services by @quexten in #20589
  • [PM-36857] Add copy actions for bank account cipher type by @nick-livefront in #20605
  • [PM-27679] Remove flagged logic from clients/server and clients feature flag by @jengstrom-bw in #20609
  • [PM-34113] Add Passport to the desktop by @nick-livefront in #20617
  • [PM-34156] Add accepted-state organization sync by @eliykat in #20627
  • [PM-28192] Migrate Cipher Attachment Operations to use SDK instead of APIs by @gbubemismith in #20628
  • [PM-37295] Ignore upgrade key rotation logout based on feature flag by @Thomas-Avery in #20637
  • [PM-32016] - hide at-risk callout behind feature flag by @jaasen-livefront in #20639
  • [PM-31054] Add V2UpgradeToken handling to sync by @Thomas-Avery in #20641
  • SSH Agent v2: Sign Request by @neuronull in #20657
  • Remove feature flag check from password generation by @adudek-bw in #20671
  • [PM-2588] resolved sends root url conditionally by @bmbitwarden in #20684
  • [Shared Unlock] [PM-35083] Implement biometrics over sdk IPC by @quexten in #20689
  • [PM-37251] Add getStatus API method for public invite link status endpoint by @r-tome in #20695
  • [PM-35656] Update Copy functionality for new item types by @nick-livefront in #20708
  • [PM-36967] Update rotate_user_keys to use UpgradeTokenAction by @Thomas-Avery in #20711
  • [PM-37229] Add bwi-passport icon for passport cipher type by @nick-livefront in #20712
  • [PM-36229] Route bulk-collections, move, and assigned-cipher ops to SDK by @gbubemismith in #20718
  • [CL-1204] bulk actions bar by @BryanCunningham in #20735
  • [PM-36563] Send access event logs by @harr1424 in #20740
  • [PM-37797] Add API method to check if email is valid for a given organization invite link by @r-tome in #20749
  • SSH Agent v2: testing coverage for unsupported key types by @neuronull in #20789
  • [CL-1214] remove tabs min height by @BryanCunningham in #20796
  • [PM-30848] Key connector for user key rotation by @mzieniukbw in #20805
  • Add feature flag for SSH ecdsa by @neuronull in #20813
  • [PM-33753] Remove unlock-via-sdk-flag by @quexten in #20832
  • [PM-37875] Split out crypto verification UI by @quexten in #20856
  • [CL-1172] Improved non-color a11y for selected vs unselected nav items by @vleague2 in #20865
  • [CL-1201] update row selected state and hover state by @BryanCunningham in #20869
  • update contrast variant text color by @BryanCunningham in #20878
  • SSH Agent v2: agent forwarding by @neuronull in #20879
  • chore(platform): add FedRampGovRegion to client feature flag enum by @addisonbeck in #20880
  • [CL-1213] allow tab label to be anchor for spotlight by @BryanCunningham in #20882
  • [PM-37175] Preserve individual vault export folders when importing to My Items by @mcamirault in #20883
  • [PM-37800] Add VaultBatchBarService to libs/vault by @nick-livefront in #20885
  • [PM-38165] Limit Send Email character length by @harr1424 in #20895
  • PM-32577 implemeneted send policy check of nav for desktop and browser by @bmbitwarden in #20934
  • [PM-31625] Removes feature flag pm-30521-autofill-button-view-login-screen by @jengstrom-bw in #20968
  • SSH Agent support of ECDSA key type by @neuronull in #21028
  • [PM-18400] Update multi-select component to add title attribute for better accessibility by @JaredScar in #21031
  • Gate import of SSH key ECDSA type on FF by @neuronull in #21059
  • [PM-38163] Add getPoliciesByInviteLinkCode to PolicyApiService by @r-tome in #21075
  • [PM-38012] Initialize feature flag overrides state to empty object by @quexten in #21166
🐛 Bug fixes
  • [PM-35120] - Update user delete flows with org ownership by @jaasen-livefront in #20462
  • [PM-32445] Extension Scrollbar Fix by @rr-bw in #20478
  • [PM-36880] Filter Linked field type for Bank Account cipher type by @nick-livefront in #20564
  • [PM-36947] Restrict bank account PIN field to numeric characters only by @nick-livefront in #20598
  • PM-37554 resolved double cancel issue by @bmbitwarden in #20683
  • [CL-1046] Add no-bit-dialog-wrapper lint rule by @willmartian in #20698
  • Fix errors from UUID and yargs packages in the native messaging test runner by @differsthecat in #20706
  • [CL-1203] Place tab overflow More button next to last visible tab by @willmartian in #20709
  • [PM-36642] Fixing LastPass direct import for non-SSO accounts by @itsadrago in #20716
  • Disable Native popover use from Angular 21 by @nick-livefront in #20730
  • [PM-8123] Clearing import target selector as necessary by @itsadrago in #20739
  • [PM-37782] User with view permission cannot favorite or add an item to a folder by @jengstrom-bw in #20764
  • [PM-37798] Fix bank account section label to show "Bank account details" by @nick-livefront in #20779
  • [PM-37776] - fix empty vault on pin and touch id unlock by @jaasen-livefront in #20793
  • [PM-37825] Fix partial date validation blocking save and improve error count accuracy by @nick-livefront in #20799
  • [PM-24173] Fix credential generator constraint bypass by @harr1424 in #20810
  • [PM-37970] Fix vault list icons for Login and Identity with new item types flag by @nick-livefront in #20818
  • [PM-37479] Assign to collection dialog displays dummy string 0"> by @jengstrom-bw in #20819
  • PM-37696 resolved broswer popup when trying to close tab by @bmbitwarden in #20861
  • [PM-23564] Item view shows removed attachment/does not show added attachment temporarily by @jengstrom-bw in #20884
  • SSH Agent fix calling unregistered IPC handlers upon account switch by @neuronull in #20914
  • [PM-37948] Add back missing desktop shortcuts by @BryanCunningham in #20942
  • Fix: SSH Agent v1 no agent forwarding warning by @neuronull in #20944
  • [PM-38400] Fix avoid ambiguous character bug by @adudek-bw in #20953
  • PM-38423 - Fix unsavedSendEditsGuard blocking logout by @JaredSnider-Bitwarden in #20967
  • [PM-38405] Fix SDK ref leaking out of scope and add eslint rule by @quexten in #20999
  • [PM-35573] - Refocus login input on Desktop restore by @jaasen-livefront in #21012
  • [PM-38421] Remove duplicate copy actions by @nick-livefront in #21023
  • [PM-38544] Fix flatpak auto-start by @quexten in #21039
  • [PM-38547] Fix missing Flatpak desktop icon by @quexten in #21040
  • [PM-38026] Fix desktop client saturates gpu usage at 99% after start when using fallapart effect in KDE/KWIN by @quexten in #21043
  • [PM-38529] Fix virtual scroll after Angular 21 update by @vleague2 in #21055
  • [PM-37913] - fix cloning archived cipher by @jaasen-livefront in #21058
  • [PM-38357] Surface more descriptive error messages from server on Send edit failure by @mcamirault in #21067
  • [PM-38571] Fix shareReplay memory leaks by @nick-livefront in #21087
  • [CL-1217] Fix menu item role after menu item style changes by @vleague2 in #21091
  • [PM-38759] Fix desktop not launching by @quexten in #21140
  • [PM-38621] Fix desktop settings dialog saving stale form values by @nick-livefront in #21148
  • [CL-1208] Remove extra header space in desktop by @vleague2 in #21157
  • [PM-37913] - set archivedDate when cloning ciphers by @jaasen-livefront in #21160
  • [PM-38831] fix: defective SyncPolicy push notification parsing by @eliykat in #21189
  • [CL-1222] m3 fast follows by @BryanCunningham in #21202
  • fix(nx): clear build dependsOn workspace default by @addisonbeck in #21203
  • [PM-38867] Fix: add error toast if no owner for a new item by @eliykat in #21222
  • [PM-38012] Fix local override migration by @quexten in #21223
  • fix(extension-scrollbar): Auth [PM-32445] Extension Scrollbar Fix (#2… by @rr-bw in #21353
  • [SM-1993][CL-1227] Fix textarea height and fix SM button spacing by @vleague2 in #21417
  • [SM-1993][CL-1227] Fix textarea height and fix SM button spacing (#21417) by @vleague2 in #21418
  • [PM-39392] Use readonly styles for fields intended to be readonly by @vleague2 in #21425
  • [PM-39392] Use readonly styles for fields intended to be readonly (#21425) by @vleague2 in #21428
  • PM-39449 resolved root url issues by @itsadrago in #21481
⚙️ Maintenance
  • [CL-965] update spinner component by @iivins-livefront in #19017
  • [CL-1129] Enable @angular-eslint/template/elements-content lint rule by @willmartian in #19505
  • [PM-36363] Refactors org user view models and consumers to be ts-strict compliant by @BTreston in #20559
  • [PM-31084] - migrate badge to chip-action in vault components by @jaasen-livefront in #20606
  • [PM-6796] implemented file reorg by @bmbitwarden in #20648
  • PM-36952 - Improve code review workflow with added triggers by @theMickster in #20702
  • [PM-377730] Refactor unlock service & add decrypted user key method by @quexten in #20719
  • Desktop Native: Clean up SSH Agent v1 deps by @neuronull in #20733
  • fixed perms in cherry-pick workflow by @gitclonebrian in #20758
  • [BRE-1938] Simplify and optimize Retrieve Current Desktop Rollout workflow by @vgrassia in #20778
  • [bre-1942] improve native module cache busting logic by @aj-bw in #20791
  • Temporarily increase shared ownership of desktop SSH Agent owned files by @neuronull in #20806
  • refactor(platform): migrate Region enum to const object per ADR-0025 by @addisonbeck in #20887
  • Remove cargo-deny check from the pre-commit hooks by @neuronull in #21005
  • [BEEEP] [PM-38497] Dev-ex: Add attach VSCode debugger to desktop, web configs by @quexten in #21016
  • [PM-36510] Remove dead "SDK not available" guards from SDK-backed services by @gbubemismith in #21173
  • [BRE-2013] Add repository_dispatch trigger to sdk-update workflow by @vgrassia in #21187
  • [BRE-2017] Pin snapcraft to 8.x/stable to fix Linux builds by @brandonbiete in #21217
📦 Dependency Updates
  • [deps] Platform: Update Rust crate serde_with to v3.20.0 by @renovate in #18712
  • [CL-954] Upgrade to Angular 21 by @willmartian in #19725
  • [PM-36068] Update NAPI versions by @iinuwa in #20460
  • Update sdk-internal to 0.2.0-main.765 by @bw-ghapp in #20744
  • Update sdk-internal to 0.2.0-main.774 by @bw-ghapp in #20770
  • [PM-37729] SDK Bump by @nick-livefront in #20776
  • [bre-1942] fix package lock issue by @aj-bw in #20785
  • Update sdk-internal to 0.2.0-main.779 by @bw-ghapp in #20798
  • Update sdk-internal to 0.2.0-main.782 by @bw-ghapp in #20807
  • [deps] Architecture: Update lint-staged to v17 by @renovate in #20843
  • Update sdk-internal to 0.2.0-main.798 by @bw-ghapp in #20937
  • Add cargo deny ignore RUSTSEC-2026-0153 by @neuronull in #21003
  • [deps] KM: Pin dependencies by @renovate in #21111
  • [deps] Autofill: Update tldts to v7.4.2 by @renovate in #21112
  • [deps] Desktop Native: Update Rust crate serial_test to v3.5.0 by @renovate in #21113
  • Bump SDK version for ECDSA key support by @neuronull in #21176
🔧 Other
  • Bump client version(s) by @github-actions in #20690
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #20691
  • [BEEEP] [PM-38012] Add local feature flag overrides by @quexten in #20833
  • Improve claude.md by @Hinton in #20941
  • [BEEEP] [PM-38497] Dev-ex: Add debugger attach rust desktop-native support by @quexten in #21036
  • Expand .claude/rules to cover i18n, Tailwind, testing, and Angular DI by @Hinton in #21051
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21063
  • Add flatpak manifest claude md by @quexten in #21078
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21109
  • [PM-38719] Add env var to override access token location by @quexten in #21125
  • Remove FF caching for dev env by default by @coltonhurst in #21131
  • Change configRetrievalIntervalMs by @coltonhurst in #21143
  • Bump client version(s) by @github-actions in #21145
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21194
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21219
  • Auth - Add claude.md for libs/auth by @JaredSnider-Bitwarden in #21235
  • Autosync Crowdin Translations for desktop by @bw-ghapp in #21260
  • Bump client version(s) by @github-actions in #21271
  • Bumped client version(s) (#21271) by @addisonbeck in #21274

Full Changelog: https://github.com/bitwarden/clients/compare/desktop-v2026.5.0...desktop-v2026.6.0

View originalPermalink

v2026.5.0Desktop v2026.5.0
  • Updated UI for Archive to more clearly communicate it is a Premium feature
  • Various under-the-hood improvements and minor bug fixes

View originalPermalink

v2026.4.0Desktop v2026.4.0
  • Targeted performance improvements on read/write
  • Refactor unlock service to use Bitwarden SDK
  • Updates to prevent losing unsaved changes when creating a Send
  • Updated default clipboard clearing time to 5 minutes
  • Various under-the-hood improvements and minor bug fixes

View originalPermalink

v2026.3.1Desktop v2026.3.1
  • Users subject to the organization data ownership policy will now be prompted to transfer their My Vault items to My Items
  • Sends can now use generated passwords
  • Various under-the-hood improvements and minor bug fixes

View originalPermalink

v2026.2.1Desktop v2026.2.1
  • Added email protected Sends
  • Added background upgrade of KDF settings for accounts below allowed minimums
  • Added prompt to upgrade KDF settings for accounts below allowed minimums
  • Updated Send UI
  • Core cryptography improvements to master password salt
  • Various under-the-hood improvements and minor bug fixes

Thank you! 💙 A big shout-out to the following community members for their contributions!

lzl0304 - Fix lock vault from system tray not working

View originalPermalink

v2026.1.1Desktop v2026.1.1

Correct manifest issue that prevented the app from showing up in the Windows Store.

View originalPermalink

v2026.1.0Desktop v2026.1.0
  • Various UI tweaks
  • Bug-fix for at risk password warning not disappearing
  • Various under-the-hood improvements and minor bug fixes

Thank you! 💙 A big shout-out to the following community members for their contributions!

  • lzl0304 - auto-assign new logins to current folder/collection
  • Dubzer - Handle delayed availability of biometric unlock

View originalPermalink