What bitwarden/server shipped
Written by FoxPlug from the repository's own releases; not affiliated with Bitwarden. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/bitwarden/server; Bitwarden did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Authorization grants are now saved when they change, so active users are no longer timed out and forced to sign in again on non-MSSQL databases. Pull request #8450
- Icon requests now return 404 when no icon exists for a domain instead of a placeholder globe image that clients upscaled. Pull request #8792
- Added a POST organizations keys organization-key-id endpoint for owners and admins to backfill the new Organization KeyId column, and the value now appears in sync. Pull request #8647
- Collection and cipher reads now apply the highest permission level when a member's groups grant different levels on one collection, matching the full vault sync. Pull request #8802
- When several access rules govern a cipher, an automatic access rule now takes precedence over an older human-approval rule. Pull request #8806
- Added an SSO JIT provision finish trusted device endpoint to complete onboarding for SSO JIT provisioned users. Pull request #8697
- Added an SSO JIT provision finish key connector endpoint to complete onboarding for SSO JIT provisioned users in organizations using Key Connector. Pull request #8694
- Added an endpoint for owners to remove Privileged Controls. Pull request #8776
- Added a self-host setting to turn off email verification for invite links only, leaving account creation verification unchanged. Pull request #8772
- Mail delivery moved out of Core into a new MailDelivery library so mail can be delivered without depending on Core. Pull request #8766
Why it matters
This week fixes two problems users would notice: sessions being dropped after a set time on non-MSSQL databases, and clients showing an upscaled placeholder where a site has no icon. It also tightens permission handling by applying the highest group permission on collection reads and preferring automatic access rules over older approval rules, and makes the invite link flow check join requirements before returning an invite.
Changelog entry
- Authorization grants are saved on change, preventing forced sign-outs for active users on non-MSSQL databases. Pull request #8450
- Unknown domain icons now return 404 instead of a placeholder globe image. Pull request #8792
- Added POST organizations keys organization-key-id for owner and admin backfill, with Organization KeyId included in sync. Pull request #8647
- Collection and cipher reads apply the highest group permission level. Pull request #8802
- Automatic access rules take precedence over older human-approval rules on the same cipher. Pull request #8806
- Added the SSO JIT provision finish trusted device endpoint. Pull request #8697
- Added the SSO JIT provision finish key connector endpoint. Pull request #8694
- Added the Privileged Controls removal endpoint for owners. Pull request #8776
- Added a self-host setting to skip email verification for invite links. Pull request #8772
- Slack and Teams organization integration creation now uses three endpoints instead of one. Pull request #8780
- Mail delivery moved into a new MailDelivery library. Pull request #8766
- EF migration assemblies excluded from test coverage collection, speeding up CI test runs. Pull request #8801
This week: authorization grants now save on change so active sessions stop timing out, missing icons return 404, collection reads apply the highest group permission, and SSO JIT provisioning gets finish endpoints for trusted devices and Key Connector.
This week's server changes: authorization grants are now saved when they change, which stops active users on non-MSSQL databases from being timed out and forced to sign in again. Icon requests return 404 when a domain has no icon instead of serving a placeholder. Collection and cipher reads now apply the highest permission level when groups grant different levels, and an automatic access rule now takes precedence over an older human-approval rule on the same cipher. SSO JIT provisioned users get finish endpoints for trusted device and Key Connector onboarding, owners get an endpoint to remove Privileged Controls, and self-hosted instances can turn off email verification for invite links. Mail delivery also moves into its own library.
Week of October 26, 2026
What shipped
- The sync stored procedures now return one row per cipher instead of one row per access group, so users in many groups no longer get duplicated collection items from sync. Pull request #8751
- Collected events are now stamped with server time, so organization event logs no longer mix client and server clocks. Pull request #8296
- The verify-otp endpoint now marks a user's email as verified when a valid emailed code is accepted. Pull request #8748
- A new command sends reminder emails with fresh invite links to invited members who have not accepted yet. Pull request #8698
- Emergency access, provider and business unit invite links now have their own lifetime settings, both defaulting to 5 days. Pull request #8629
- A new sso-jit-provision-finish password endpoint lets SSO JIT provisioned users finish onboarding in organizations that use master password decryption. Pull request #8682
- An owner of a standalone Enterprise organization can now buy Privileged Controls through a new purchase endpoint, behind the pam billing support flag. Pull request #8684
- The Privileged Controls seat minimum is replaced by a cap at Password Manager seats, behind the pam billing support flag. Pull request #8750
- Organizations whose subscription ended as
incomplete_expirednow see the resubscribe warning. Pull request #8755 - The Privileged Controls seat change endpoint now accepts a seat adjustment rather than only an absolute seat total. Pull request #8739
Why it matters
This week tightened sync correctness so large collections stop inflating payloads, and aligned organization event logs on a single clock. It also filled in billing and invitation behavior around Privileged Controls, restarts and invite reminders, so customers see what they are charged and invited members get follow-ups. Several fixes keep provider, pending and self-hosted organization flows consistent with the ability cache and access rules.
Changelog entry
- Sync stored procedures return one row per cipher. Pull request #8751
- Collected events are stamped with server time. Pull request #8296
- Verify-otp marks the user's email as verified on success. Pull request #8748
- Invite reminders send fresh links to pending members. Pull request #8698
- Emergency access, provider and business unit invites have their own lifetime settings. Pull request #8629
- New SSO JIT provision finish password endpoint. Pull request #8682
- New Privileged Controls purchase endpoint. Pull request #8684
- Privileged Controls seats are capped at Password Manager seats. Pull request #8750
- Seat change endpoint accepts a seat adjustment. Pull request #8739
- Resubscribe warning shows for
incomplete_expiredorganizations. Pull request #8755 - VAT preview matches the restart charge when the tax ID is cleared. Pull request #8782
- Attaching a Privileged Controls organization to a provider is rejected. Pull request #8681
Sync now returns one row per cipher instead of one per access group. Event logs use server time. Invite reminders now send fresh links. Email verification is set on a valid emailed OTP. Privileged Controls gained a purchase endpoint and a seat cap, and invite links have their own
This week's server work focused on correctness in sync, events and billing. The sync stored procedures now return one row per cipher rather than one row per access group, so users with many groups no longer get duplicated items. Collected events are stamped with server time, so organization logs no longer mix two clocks. A new command sends reminder emails with fresh invite links to members who have not accepted, and the verify-otp endpoint now marks email as verified on success. Invite links for emergency access, providers and business units have their own lifetime settings. Privileged Controls gained a purchase endpoint and a seat cap at Password Manager seats.
Week of October 19, 2026
What shipped
- User cipher rows are now streamed during sync so that large vaults no longer risk running out of memory. Pull request #8683
- CipherRepository.GetManyByUserIdAsync now reads rows unbuffered and keeps only the most privileged row per cipher. Pull request #8654
- Provider and organization ability caches are now updated when provider records change in the Admin Console. Pull request #8672
- A join organization policy validation service now provides reusable checks for Single Organization, two-factor, automatic confirmation and account recovery policies. Pull request #8593
- Self-hosted Seeder API instances now reject cloud-only seeder data. Pull request #8689
- Seeder vault scenes now reject collection, member, group and folder ids that production would not allow. Pull request #8688
- Registration now marks an email verified only when the verification token was actually delivered by email. Pull request #8666
- Organizations whose subscription is
incomplete_expiredcan now restart it. Pull request #8665 - An Owner-only endpoint now lets an organization change its Privileged Controls seat count and autoscale limit. Pull request #8676
- File Sends no longer require email verification. Pull request #8664
Why it matters
This week's changes reduce sync memory pressure for large vaults, tighten provider cache consistency and registration email verification, and make billing recovery possible for expired subscriptions. They also extend the Seeder tooling with stricter production-like data rules and add the initial pieces for Privileged Controls seats and permissions. Teams gain more reusable policy checks and an endpoint to adjust Privileged Controls seats.
Changelog entry
- Sync now streams user cipher rows so large vaults no longer risk running out of memory. Pull request #8683
- Provider and organization ability caches update when provider records change in the Admin Console. Pull request #8672
- Registration marks an email verified only when the verification token was sent by email. Pull request #8666
- Organizations with an
incomplete_expiredsubscription can now restart it. Pull request #8665 - File Sends no longer require email verification. Pull request #8664
- Self-hosted Seeder API instances reject cloud-only seeder data. Pull request #8689
- Seeder vault scenes reject collection, member, group and folder ids production would not allow. Pull request #8688
- An Owner-only endpoint lets an organization change Privileged Controls seat count and autoscale limit. Pull request #8676
- Autoscaling ensures enough Privileged Controls seats before access is granted. Pull request #8633
- Reusable policy checks are available for users joining an organization. Pull request #8593
- A ManageRotation custom permission lets organizations delegate management of access connectors, target systems and rotation configs. Pull request #8703
- A feature flag for mobile SDK PIN unlock is added. Pull request #8600
This week: user cipher rows now stream during sync to prevent out-of-memory errors, provider ability caches stay in sync with Admin Console updates, registration only marks email verified when the token was emailed, incomplete_expired organization subscriptions can restart, and f
This week's server work focuses on reliability and consistency. User cipher rows are now streamed during sync so large vaults no longer risk out-of-memory failures, and provider ability caches stay in sync when provider records change in the Admin Console. Registration now marks an email verified only when the verification token was actually sent by email. Organizations with an incomplete_expired subscription can restart it, and file Sends no longer require email verification. Seeder tooling also gained stricter checks that reject data production would never allow, including cloud-only data on self-hosted instances.
Week of October 12, 2026
What shipped
- Version 2026.10.0 was released, adding support for sharing vault items through temporary links and a setting to configure access token lifetime. Release
- The web vault can now run the Teams and Slack OAuth flows, allowing organizations to connect those services from the Web Vault. Pull request #8591
- Cipher create and update endpoints now reject Data that does not match the shape required by the cipher Type. Pull request #8434
- SSRF protections were added to the OpenID Connect backchannel HTTP client used for discovery metadata, JWKS, tokens, and userinfo. Pull request #8421
- Clients can now report the Cipher_ClientHttpAuthReleased event when the browser extension answers an HTTP authentication request. Pull request #8578
- Members' account recovery keys are now updated after a V1 to V2 key upgrade that cannot re-wrap the organization recovery key. Pull request #8459
- PAM organizations now reject cipher writes that contain only partial data, such as name and URLs. Pull request #8557
- The policies by token endpoint now checks that the user is invited before returning policies. Pull request #8499
- A GetOrganizationInviteValidator was added so invites can run more accept and confirm checks before returning the invite. Pull request #8577
- Credential rotation outcomes are now recorded in the organization event log and the item's event history, not only the PAM audit log. Pull request #8608
Why it matters
This week brought a new release with temporary link sharing and configurable access token lifetime. It also added protections against unsafe cipher data and SSRF in SSO, and expanded PAM rotation permissions, audit logging, and subscription support.
Changelog entry
- Released Version 2026.10.0 with temporary link sharing and configurable access token lifetime. Release
- Cipher create and update endpoints now validate that Data matches the cipher Type. Pull request #8434
- Added SSRF protections to the OIDC backchannel HTTP client. Pull request #8421
- Web vault can now run the Teams and Slack OAuth flows. Pull request #8591
- Added support for the Cipher_ClientHttpAuthReleased client event. Pull request #8578
- Managing an item's rotation now requires Edit permission with the password visible. Pull request #8601
- Credential rotation outcomes now appear in the organization event log and item event history. Pull request #8608
- PAM organizations now reject partial-shaped cipher writes. Pull request #8557
- Updated members' account recovery keys after V2 key upgrades. Pull request #8459
- Policies by token endpoint now checks that the user is invited. Pull request #8499
- Organization subscription responses now include Privileged Controls seats and trial status. Pull request #8580
- Admin portal now offers an extend trial option for organizations. Pull request #8506
Version 2026.10.0 is out with temporary link sharing and configurable access token lifetime. This week also added cipher data shape checks, SSRF protections for OIDC, and PAM rotation audit events.
Version 2026.10.0 is available, adding support for sharing vault items through temporary links and a setting to configure access token lifetime. The week's changes also tightened cipher create and update endpoints so Data must match the cipher Type, added SSRF protections to the OpenID Connect backchannel HTTP client, and let clients report the Cipher_ClientHttpAuthReleased event. PAM work included requiring Edit on an item to manage its rotation, recording rotation outcomes in the organization event log, and rejecting partial-shaped cipher writes in PAM organizations.
Week of October 5, 2026
What shipped
- Creating a group now validates collection access the same way updating a group does, through a shared validator both commands use. Pull request #8374
- The create cipher endpoint now checks collection permissions, closing a path that let org users create ciphers in collections they could not access on some self-hosted instances. Pull request #8482
- The GetAdmin cipher endpoint no longer authorizes custom roles through the org-wide ViewAllCollections check. Pull request #8472
- Account recovery no longer trusts a caller-supplied data protection sentinel prefix in the request. Pull request #8438
- Saving the SendControls policy no longer re-enables disabled sends for revoked or excluded roles and members. Pull request #8469
- Redeeming the annual upgrade offer during a free trial now keeps the trial instead of ending it and invoicing a full monthly period, and that fix is also on the release branch. Pull request #8519
- YubiKeys registered as U2F and migrated to WebAuthn can complete two-factor login again, with the U2F AppID sent and applied, and that fix is also on the release branch. Pull request #8554
- Cipher leases gained API support and a commercial gate as part of the extraction of the access request and lease work. Pull request #8494
- PAM access notifications were added, building on the access request and lease APIs. Pull request #8541
- A PAM access audit API was added on top of the existing access-audit store. Pull request #8507
Why it matters
This week leans on access control: group creation, cipher creation, the admin cipher endpoint and account recovery all got tighter checks, so callers can no longer reach collections or data they should not. Billing and trial behavior also improved, with the annual upgrade offer no longer cutting a trial short, and WebAuthn-migrated YubiKeys working for two-factor login again. The PAM work continued landing through cipher leases, notifications and the access audit API.
Changelog entry
- Creating a group now validates collection access, matching update behavior through a shared validator. Pull request #8374
- Creating a cipher now checks collection permissions on all instances. Pull request #8482
- Admin cipher retrieval no longer authorizes custom roles through the org-wide collection check. Pull request #8472
- Account recovery rejects malformed requests that supply their own data protection sentinel prefix. Pull request #8438
- Saving the SendControls policy no longer re-enables sends for excluded or revoked roles and members. Pull request #8469
- Redeeming the annual upgrade offer during a trial keeps the trial. Pull request #8519
- U2F keys migrated to WebAuthn can complete two-factor login again. Pull request #8554
- Cipher leases: API and commercial gate. Pull request #8494
- PAM access notifications. Pull request #8541
- PAM access audit API. Pull request #8507
- Organization plan-change preview endpoint added for cart summaries. Pull request #8457
- New feature flag for health report exclusions can be served to clients. Pull request #8546
This week: group creation, cipher creation, the admin cipher endpoint and account recovery all got stricter access checks. Trial stays alive when redeeming the annual upgrade offer. U2F-migrated YubiKeys work for 2FA again. PAM gained cipher leases, notifications and an audit API
This week's server changes focus on access control and billing correctness. Creating a group now validates collection access like updating one does, cipher creation checks collection permissions, the admin cipher endpoint no longer authorizes custom roles via the org-wide collection check, and account recovery no longer trusts a caller-supplied data protection sentinel. On billing, redeeming the annual upgrade offer during a free trial no longer ends the trial and invoices a full period, and that fix was cherry-picked to the release branch. Two-factor login works again for YubiKeys registered as U2F and migrated to WebAuthn. PAM work continued with cipher lease APIs and a commercial gate, access notifications, and an access audit API.
Week of September 28, 2026
What shipped
- Version 2026.9.2 released with multiple feature and policy improvements. Release
- New endpoint to fetch login-only ciphers for organizations, supporting Access Intelligence needs. Pull request #8443
- New GET /organizations/{orgId}/collections/details endpoint returns all collections with their details for an organization. Pull request #8425
- Restrict item deletion policy now applies to attachment deletion paths. Pull request #8422
- Premium and organization purchase invoice preview endpoints added. Pull request #8453
- Teams integration now supports posting messages to specific channels instead of only the General channel. Pull request #8480
- Access Leasing API added for PAM functionality. Pull request #8461
- Stripe subscription schedules now carry
managing_systemmetadata to track which part of the code owns them. Pull request #8478 - Item Send data structure updated to include item ID in unencrypted metadata. Pull request #8485
Why it matters
This week includes new API endpoints for organizations to retrieve filtered cipher and collection data, improvements to policy enforcement and deletion restrictions, and expanded integrations with Teams channels. Several deprecated feature flags were removed and infrastructure changes improve reliability of seeding and testing systems.
Changelog entry
- Feat: New endpoint for organization login cipher fetch supporting Access Intelligence Pull request #8443
- Feat: GET /organizations/{orgId}/collections/details endpoint returning collections with details Pull request #8425
- Fix: Apply Restrict item deletion policy to attachment deletion paths Pull request #8422
- Feat: Premium and organization purchase invoice preview endpoints Pull request #8453
- Feat: Teams integration now supports posting to specific channels Pull request #8480
- Feat: Item Send data includes item ID in unencrypted metadata Pull request #8485
- Feat: Stripe subscription schedules include
managing_systemmetadata Pull request #8478 - Feat: Access Leasing API added for PAM Pull request #8461
- Feat: PreAccessPolicyEnforce added for policy enforcement before organization join Pull request #8437
- Fix: Confirm endpoint accounts for staged users in seat expansion Pull request #8447
- Fix: SCIM group patch parsing correctly handles member GUIDs Pull request #8455
- Fix: OrganizationDomainSeeder sets NextRunDate to prevent SQL DateTime overflow Pull request #8500
V2026.9.2 ships with new org endpoints for collections and login ciphers, Teams channel selection, invoice previews, improved item deletion policies, and multiple infrastructure improvements.
Bitwarden v2026.9.2 adds new organization API endpoints for accessing collections and login ciphers with detailed metadata, enables Teams integration to post to specific channels, includes invoice preview functionality for purchases, strengthens item deletion policy enforcement, and resolves several infrastructure reliability issues.
Week of September 21, 2026
What shipped
- Fixed API base URL scheme for Slack and Teams integration to use HTTPS instead of HTTP. Pull request #8449
- Added required TenantId setting for Teams integration to comply with Microsoft requirements. Pull request #8452
- Added GET /account/billing/subscription/preview endpoint for individual subscription page preview cart. Pull request #8435
- Added SCIM 2.0 discovery endpoints (ServiceProviderConfig, Schemas, ResourceTypes) for RFC 7643/7644 compliance. Pull request #8430
- Added PamSeats and MaxAutoscalePamSeats columns to Organization table for PAM billing support. Pull request #8405
- Fixed EF Core CollectionCipherRepository.UpdateCollectionsAsync() to scope collection removal to caller's available collections. Pull request #8441
- Fixed collection access validation to reject invalid permission combinations of Manage with ReadOnly or HidePasswords for users. Pull request #8413
- Made dead letter sweep interval configurable via AzureServiceBus.DeadLetterCleanupInterval setting. Pull request #8401
- Added email verification check to confirm-invite endpoint. Pull request #8418
- Upgraded mjml and mjml-core from 4.15.3 to 5.4.1 with security fixes. Pull request #8388
Why it matters
This week includes security fixes for collection access validation and Teams/Slack integrations, new SCIM 2.0 discovery endpoints for enterprise compliance, and billing infrastructure improvements for PAM and subscription preview features. Configuration flexibility was added for dead letter queue cleanup and email template tooling was modernized.
Changelog entry
- Fixed API base URL scheme for Slack and Teams integration Pull request #8449
- Added TenantId setting for Teams integration Pull request #8452
- Added GET /account/billing/subscription/preview endpoint Pull request #8435
- Added SCIM 2.0 discovery endpoints Pull request #8430
- Added PamSeats and MaxAutoscalePamSeats columns to Organization Pull request #8405
- Fixed EF Core collection removal scoping to caller's collections Pull request #8441
- Fixed collection access validation for invalid permission combinations Pull request #8413
- Made dead letter sweep interval configurable Pull request #8401
- Added email verification check to confirm-invite endpoint Pull request #8418
- Upgraded mjml to 5.4.1 with security fixes Pull request #8388
This week: SCIM 2.0 discovery endpoints for Microsoft Entra eligibility, fixed collection access validation, Teams integration TenantId support, and security updates for billing and SSO error handling.
New in Bitwarden server: SCIM 2.0 discovery endpoints (ServiceProviderConfig, Schemas, ResourceTypes) now available for RFC 7643/7644 compliance and Microsoft Entra App Gallery eligibility. Also shipped: fixed collection access validation to prevent invalid permission combinations, Teams integration TenantId requirement, configurable dead letter queue cleanup intervals, and security improvements for billing and SSO error disclosure.
Week of September 14, 2026
What shipped
- Version 2026.9.0 released with organization delete tasks, event integration dead letter retention, and Fido2 v4 upgrades. Release
- Dead letter retention added for event integrations to prevent unbounded queue growth. Pull request #8364
- Secrets versioning implemented with feature flag gating and event logging for restore operations. Pull request #8307
- Fido2 v4 migration completed with Base64UrlSchemaFilter extended across all required properties. Pull request #8071
- Invited member collection and group access scoped to organization to prevent cross-organization access. Pull request #8347
- Encrypted string validation enhanced to check byte lengths of IV and MAC pieces at API boundary. Pull request #8328
- Email notifications added for collection approvers when access requests require decisions. Pull request #8290
- Email notifications added for requesters when their access requests are approved or denied. Pull request #8291
- Email notifications added for lease holders when operators revoke their access. Pull request #8292
- File ID validation added to reject manipulated file ID values from clients. Pull request #8326
Why it matters
Version 2026.9.0 ships critical infrastructure improvements for event handling and security validation, along with the completed Fido2 v4 migration and secrets versioning feature. Access control scoping fixes close authorization gaps, and a new PAM email notification system enables stakeholders to stay informed about access request decisions.
Changelog entry
- Version 2026.9.0 Release
- Secrets versioning with event logging and feature flag gating Pull request #8307
- Dead letter retention for event integrations Pull request #8364
- Fido2 v4 migration with Base64UrlSchemaFilter extended to all required properties Pull request #8071
- Invited member collection and group access scoped to organization Pull request #8347
- Encrypted string validation for IV and MAC piece byte lengths Pull request #8328
- File ID validation to reject manipulated values Pull request #8326
- Collection group and member access scoped to organization Pull request #8329
- PAM access notification mailer infrastructure Pull request #8289
- Email notifications for collection approvers on pending access requests Pull request #8290
- Email notifications for requesters on access request decisions Pull request #8291
- Email notifications for lease holders on access revocation Pull request #8292
- Deprecated Admin Console API endpoints removed Pull request #8342
- Service Bus application-cache broadcast removed in favor of ExtendedCache Pull request #8349
- Global lease duration ceiling raised to one year with enforcement Pull request #8378
- Send invite response type declared in OpenAPI spec Pull request #8283
- Send invite ability for staged users with configurable options Pull request #8281
Bitwarden Server 2026.9.0 is live. Secrets versioning, Fido2 v4, dead letter retention for event integrations, access control scoping fixes, and PAM email notifications.
Bitwarden Server 2026.9.0 is now available. This release includes secrets versioning with feature flag gating, completed Fido2 v4 migration, dead letter retention for event integrations to prevent queue growth, access control scoping fixes for invited members and collections, enhanced encrypted string validation, and a new PAM email notification system for access request decisions.