Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bitwarden/server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: bitwarden/server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: hotfix-rc
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 6 files changed
  • 6 contributors

Commits on Jul 13, 2026

  1. Bumped version to 2026.7.0 (#7967) (#7970)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    addisonbeck and github-actions[bot] authored Jul 13, 2026
    Configuration menu
    Copy the full SHA
    34f3b90 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a48972b View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2026

  1. fix: Isolate ExtendedCache backplane per cache name on shared Redis (#…

    …8004) (#8007)
    
    The shared-Redis path registered a single unnamed IFusionCacheBackplane
    singleton and bound every named cache to it via WithRegisteredBackplane().
    A RedisBackplane instance is bound to one pub/sub channel at Subscribe time,
    so sharing one instance across caches collapses them onto a single channel.
    Cross-instance invalidations were misrouted, leaving stale L1 entries on
    other nodes (e.g. an OrganizationAbilities RemoveAsync publishing on the
    OrganizationReports channel).
    
    Register the backplane as a keyed singleton per cache name and resolve it
    with WithRegisteredKeyedBackplaneByCacheName(), matching the keyed-Redis
    path. The multiplexer and distributed cache remain shared.
    
    (cherry picked from commit a93cf75)
    
    Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
    sven-bitwarden and withinfocus authored Jul 17, 2026
    Configuration menu
    Copy the full SHA
    5d4461a View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2026

  1. [PM-40537] fix: Only rewrite Stripe schedules for plan-migration orga…

    …nizations (#8040)
    
    * Bumped version to 2026.7.1 (#8038)
    
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    (cherry picked from commit 0c468c4)
    
    * [PM-40537] fix: Only rewrite Stripe schedules for plan-migration organizations (#8035)
    
    UpdateOrganizationSubscriptionCommand treated every active Stripe
    subscription schedule as one of Bitwarden's own plan-migration schedules
    and rewrote its phases. A schedule Finance hand-builds in the Stripe
    Dashboard (negotiated renewal seats + coupon, end_behavior=release) is
    indistinguishable to that code, so a routine change (e.g. adding a seat)
    silently clobbered the negotiated future-phase seats and stripped its
    discount, returning success while corrupting the terms.
    
    Gate the schedule-rewrite path on whether the org is actually in a plan
    migration, using the presence of a migration cohort assignment as the
    discriminator (ResolvePhasePlansAsync now returns null for non-migration).
    Non-migration orgs fall through to the existing direct subscription
    update; Stripe self-manages the current phase and leaves the negotiated
    downstream phases intact. Migration code paths are unchanged.
    
    Scoped to the existing PM32581_UseUpdateOrganizationSubscriptionCommand
    flag path. No API contract change.
    
    (cherry picked from commit cd22c6c)
    
    ---------
    
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    amorask-bitwarden and github-actions[bot] authored Jul 22, 2026
    Configuration menu
    Copy the full SHA
    97ad380 View commit details
    Browse the repository at this point in the history
Loading