Bitwarden

ProductivityDesktop

An open-source password manager.

Latest v2026.7.0 · · Desktopby BitwardenWebsitebitwarden/clients

Release activity

Release activity — 19 releases across 19 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 20261 release on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 20261 release on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 20261 release on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 20261 release on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 20261 release on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

19 releases in the last year

Changelog

v2026.7.0

Desktop v2026.7.0

Added 18
  • 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
Changed 7
  • 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
Fixed 5
  • 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
Removed 3
  • 2FA account recovery flag
  • Feature flag cipher-key-encryption
  • Unlock service for password flagged logic
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
How v2026.7.0 went
v2026.6.0

Desktop v2026.6.0

Added 9
  • 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
Changed 4
  • 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
Fixed 2
  • Bug fix for keyboard shortcuts
  • Per-request memory leak in bw serve (authStatusFor$)

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
How v2026.6.0 went
v2026.5.0

Desktop v2026.5.0

Changed 1
  • Updated UI for Archive to more clearly communicate it is a Premium feature
  • Updated UI for Archive to more clearly communicate it is a Premium feature
  • Various under-the-hood improvements and minor bug fixes
View originalPermalink
How v2026.5.0 went
v2026.4.0

Desktop v2026.4.0

Changed 3
  • Targeted performance improvements on read/write
  • Refactor unlock service to use Bitwarden SDK
  • Updated default clipboard clearing time to 5 minutes
Fixed 1
  • Prevent losing unsaved changes when creating a Send
  • 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
How v2026.4.0 went
v2026.3.1

Desktop 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
How v2026.3.1 went
v2026.2.1

Desktop 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
How v2026.2.1 went
v2026.1.1

Desktop v2026.1.1

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

View originalPermalink
How v2026.1.1 went
v2026.1.0

Desktop 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
How v2026.1.0 went
v2025.12.1

Desktop v2025.12.1

Updated Windows portable app to use disk storage for authentication tokens rather than secure storage to allow login session to persist through moves from one device to another.

Added UI for fixing old attachments

Desktop now enforces additional session timeout policy options

Updated copy when joining a Key Connector organization

Moved RSA encryption to SDK

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

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

LehMichael - Add support for Helium browser integration on mac

View originalPermalink
How v2025.12.1 went
v2025.12.0

Desktop v2025.12.0

  • Update for self-hosted to re-add the ability to unlock with Windows Hello following app restart.
  • Added direct import option from Chrome
  • Updated Premium callouts and signup experience
  • Small performance improvement when logging in
  • Various under-the-hood improvements and minor bug fixes.

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

View originalPermalink
How v2025.12.0 went
v2025.11.2

Desktop v2025.11.2

  • Fixed bug that resulted in application crash after window resize.
View originalPermalink
How v2025.11.2 went
v2025.11.1

Desktop v2025.11.1

  • Fixed an issue where users saw an infinite loading spinner in Safari
View originalPermalink
How v2025.11.1 went
v2025.10.0

Desktop v2025.10.0

  • Updated vault behavior for users subject to organization data ownership policy
  • Added direct importer for non-Chrome Chromium browsers
  • Updated behavior when logging in when SSO is required
  • Various under-the-hood improvements and minor bug fixes
View originalPermalink
How v2025.10.0 went
v2025.9.0

Desktop v2025.9.0

  • Added support for organization-owned SSH keys
  • Security fixes for biometrics
  • Improved search speed
  • Various under-the-hood improvements and minor bug fixes.

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

gonir - added Tamil translations for browser, web, and desktop clients

View originalPermalink
How v2025.9.0 went
v2025.8.2

Desktop v2025.8.2

  • Improved autofill menu positioning logic in the Safari browser extension to keep it displayed above other content on the page
View originalPermalink
How v2025.8.2 went
v2025.8.1

Desktop v2025.8.1

  • Fixes issues with the autofill not working on some sites with the Safari extension
  • Do not render the inline autofill menu if the page has an open popover window
View originalPermalink
How v2025.8.1 went
v2025.8.0

Desktop v2025.8.0

  • Show website icons when viewing an item
  • Updated flow for assigning items to collections
  • Removed setting for requiring password or PIN on app-start when using biometric unlock. Password or PIN now always required on Windows and Linux, and never required on macOS.
  • Dependency updates, bug-fixes, and small enhancements
View originalPermalink
How v2025.8.0 went
v2025.7.0

Desktop v2025.7.0

Bug-fix for DuckDuckGo integration

Added an environment variable for toggling GPU acceleration when launching the application from the terminal

Removed setting for requiring password or PIN on app start from macOS

Dependency updates, small bug-fixes, and enhancements

View originalPermalink
How v2025.7.0 went
v2025.6.1

Desktop v2025.6.1

Fixed Password generator is broken. Version 2025.6.0 (43904)

View originalPermalink
How v2025.6.1 went
v2025.6.0

Desktop v2025.6.0

  • Added logging for which transport method is in use for notifications
  • Bug-fix for Duckduckgo integration
  • Bug-fix for starting automatically on Flatpak distribution
  • Dependency updates, small enhancements, and bug-fixes
View originalPermalink
How v2025.6.0 went
View all

Discussion