Commit Graph

7320 Commits

Author SHA1 Message Date
Maciej Zieniuk
0f0990be08 [PM-29728] remove pm-28813-data-recovery-tool feature flag (#7249)
* remove pm-28813-data-recovery-tool feature flag

* remove feature flagged regenerate-keys
2026-03-19 16:45:51 +01:00
cyprain-okeke
768de5f1e2 [PM-32477]PremiumStatusChanged Push Notification (#7198)
* changes for the premium push notification

* Fix the lint build

* implement the hub-helper

* Resolve the pr comments

* fix the lint error

* move PremiumStatusPushNotification to billing
2026-03-19 15:51:36 +01:00
Kyle Denney
2efacd596d [PM-30101] add multiple coupon support to server preview/purchase (#7229)
* [PM-30101] add multiple coupon support to server preview/purchase

* pr feedback
2026-03-19 09:07:49 -05:00
renovate[bot]
3d99dbea99 [deps]: Update Bitwarden.Server.Sdk to 1.5.1 (#7116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-19 09:51:21 -04:00
Ike
1bc5f4ec1e [PM-21926] [PM-30350] [PM-32389] Read salt from database (#7230)
feat: add MasterPasswordSalt to database responses and DTOs

- Add Dapper migration scripts and update SQL project
- Include MasterPasswordSalt in database response models and DTOs
- Add null coalescing to User entity for MasterPasswordSalt
- Update EF queries to return MasterPasswordSalt
- Rename migrations for consistency
- Add test coverage for affected repositories
- Update EmergencyAccessTakeOverResponseModel tests
2026-03-18 16:18:16 -04:00
Nick Krantz
753c8c8642 add feature flag for organization user notification banner (#7244) 2026-03-18 11:46:33 -05:00
Jordan Aasen
0cba609304 [PM-30751] - add secure SSRF protection for internal IPs (#7184)
* secure SSRP protection for internal requests

* remove nullable enable

* explicitly handle redirect requests for SSRF

* track current uri in SsrfProtectionHandler. add followRedirects option in AddSsrfProtection

* preserve request method for 301 and 302 requests
2026-03-18 09:11:25 -07:00
Mick Letofsky
a7259df983 Update the Seeder update skill removing references to unused crates (#7233) 2026-03-18 10:06:00 +01:00
Justin Baur
07a84fbff6 [PM-19659] Add Push READMEs (#6259)
* Add Push READMEs

* Apply suggestions from code review

Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>

* Formatting

* Add notes about notification target and signalR

* Update Push README's

* Little more feedback

Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>

* Update src/Core/Platform/Push/README.md

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

---------

Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-03-17 20:03:43 -04:00
Thomas Rittson
f9f123b757 Revert MasterPasswordPolicyRequirement implementation (#7232)
This was being used to combine policies before sending them
to the client. Instead, the server just send the policies and
the client should process/combine them. Revert this to save
unnecessary QA (etc) and we will refactor this away in the
future.
2026-03-18 09:50:32 +10:00
Jared Snider
80e6f87afd Auth/PM-33168 - Emergency Access - Prevent grantor from inviting themselves as an emergency access contact (#7165) 2026-03-17 14:39:15 -04:00
Jared Snider
e618a645ea Auth/EmergencyAccess - Update IDeleteEmergencyAccessCommand docs (#7237) 2026-03-17 14:10:17 -04:00
Stephon Brown
8302509bf9 [PM-31645] Implement Swiss Tax Logic (#7186)
* feat(tax): introduce direct tax country utilities and Switzerland constant

* refactor(tax): use `TaxHelpers.IsDirectTaxCountry` for country checks

* feat(tax): implement customer tax exempt status alignment

* test(tax): add comprehensive unit tests for tax exempt alignment logic

* tests(billing): clarify tests

* fix(billing): run dotnet format

* fix(billing): run dotnet format

* fix(billing): Prevent NullReferenceException when accessing customer country

* test(billing): Add Stripe adapter mocks for AdjustSubscription scenarios

* refactor(billing): apply null-conditional operator for address country access

* feat(billing): update missing tax exemption determinations

* test(billing): add unit tests for tax exemption updates

* fix(billing) run dotnet format

* fix(billing): add nullability

* style(files): normalize file encoding for billing utilities

* refactor(TaxHelpers): simplify tax exempt status determination

* test(Tax): update tax exempt determination tests

* fix(billing): revert postal code validation

* test(billing): update tax exempt tests

* fix(billing): run dotnet format
2026-03-17 14:09:41 -04:00
Jake Fink
27de29a464 remove windows bio v2 feature flag (#7234) 2026-03-17 13:37:43 -04:00
Bernd Schoolmann
11af4dc2a6 Add feature flags (#7236) 2026-03-17 14:01:00 +00:00
Jimmy Vo
fb2fdb0bc2 [PM-33780] Add ManagePoliciesRequirement (#7235) 2026-03-17 13:58:27 +00:00
Mick Letofsky
cfdd6dfe50 PM-32077 - Add override to KDF iterations from RustSdk for Seeder (#7225) 2026-03-17 09:45:07 +01:00
Thomas Rittson
99454f5fe7 [PM-33216] Finalize RequireSsoPolicyRequirement (#7173)
* Add more efficient sproc to retrieve PolicyDetails
  for a single user. This closely matches the existing sproc
  used by PolicyService and should be performant enough
  to be used in the login flow

* Maintain feature flag for this critical path
2026-03-17 08:30:51 +10:00
John Harrington
c118f23e78 [PM-32885] Fix incorrect behavior for expired sends (#7203)
* fix unexpected/randomized error response for expired Sends
2026-03-16 13:19:35 -07:00
sven-bitwarden
e5fec6af6d [PM-31920] Remove Unused Sprocs (#7060)
* Remove old/unused sprocs

* Consistency
2026-03-16 11:13:29 -05:00
Mick Letofsky
ba242d6d11 PM-33591 - Parallelize CreateUsersStep and GeneratePersonalCiphersStep (#7226) 2026-03-16 15:20:11 +01:00
aj-bw
f72e857584 pin image to sha (#7215) 2026-03-15 21:01:12 -04:00
Todd Martin
2942bec370 chore(flags:): [PM-30245] Remove locked and inactive notifications feature flags from server 2026-03-14 17:34:21 -04:00
John Harrington
864e356d86 introduce feature flag pm-31885-send-controls (#7134) 2026-03-13 14:48:52 -07:00
Amy Galles
c9a1f1e7ef create new dockerfile for SeederApi (#7072)
* create new dockerfile for SeederApi

* troubleshoot cargo issues

* troubleshoot cargo issues

* Ensure Rustup run on build env for appropriate target

* Musl targets do not support cdylibs

* Ensure default triple set to target

* Set target triple rather than update default host

* Change build platforms per project

* Switch to debian since we can't use musl

* Debian build for seeder should work with arm targets

* Move app stage to distroless

* remove SeederApi from server publish section

* suppress unrelated warnings"

* ruling out builds as error source

* override platforms for SeederApi

* troubleshoot matrix

* add extra step for evaluating platforms

* fix syntax error

* exclude unrelated error

* exclude unrelated error

* exclude unrelated error

* exclude unrelated error

* exclude unrelated error

* temporarily reduce number of builds

* exclude unrelated error

* remove temporary block on other builds

* remove unused builds from dockerfile

* add nginx location for seeder, wrap it behind an if check defaulting to false. This was discuss with Matt G, as this will enable QA usage of it without repetitive intervention with config files and reloading the nginx service etc. Handlebars will continously overwrite the nginx conf file on update

* opted to remove conditional location to seederApi, instead include additional conf files in the same directory allowing for extensibility and not directly placing the non-prod seeder location in the config builder

---------

Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
Co-authored-by: AJ Mabry <81774843+aj-bw@users.noreply.github.com>
2026-03-13 16:08:15 -04:00
MtnBurrit0
efccf13f3b SHOT-71: Migrate self-host ownership over to SHOT (#7213)
* Migrate self-host ownership over to SHOT

* Set devcontainers to multi owner

* Update CODEOWNERS for docker-compose.yml

* We already have a multiple owner section
2026-03-13 19:21:33 +00:00
Nick Krantz
1fe173d253 [PM-31657] Address Overwriting Attachments (#7053)
* check permissions when uploading attachment for self hosted users to remove possibility of overwriting an existing attachment.

* expose `ValidateCipherEditForAttachmentAsync`

* add additional logic to support admin users

* add unit tests for new edit checks
2026-03-13 11:22:52 -07:00
Rui Tomé
454a6dbc81 [PM-19143] Refactor public API MembersController POST to use CommandResult pattern (#7182)
* Add CommandResultRefactor constant to FeatureFlagKeys in Constants.cs

* Add method to convert MemberCreateRequestModel to InviteOrganizationUsersRequest

- Introduced ToInviteRequest method for transforming MemberCreateRequestModel into InviteOrganizationUsersRequest.
- Enhanced model with additional using directives for improved functionality.

* Update GetInviterEmailAsync method to include a check for Guid.Empty to prevent unnecessary DB lookups

* Feature flag MembersController POST to use InviteOrganizationUsersCommand

Add a new code path behind the CommandResultRefactor feature flag that
replaces the legacy InviteUserAsync call with the InviteOrganizationUsersCommand.
Integration tests verify both paths produce identical results.

* Refactor feature flag for member invites from CommandResultRefactor to PublicMembersInviteRefactor in MembersController and update related tests.
2026-03-13 16:48:37 +00:00
renovate[bot]
29feedef9e [deps] BRE: Update mariadb Docker tag to v12 (#7119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-13 10:55:08 -04:00
Mick Letofsky
662828a16a Decouple seeder cipher encryption from internal vault crates (#7211) 2026-03-13 14:35:42 +01:00
Jimmy Vo
0ad7a10c56 [PM-32665] Fix Cross-Organization IDOR in Bulk User Revoke (#7206) 2026-03-13 09:32:16 -04:00
mkincaid-bw
8688cfc024 Fixed invalid syntax in OrganizationUser_UpdateMany (#6923) 2026-03-12 16:25:33 -07:00
Jason Ng
fe3a8c2020 [PM-31820] added a null check to the id/partial route (#7066) 2026-03-12 14:04:17 -04:00
Patrick-Pimentel-Bitwarden
e0a08710a8 feat(emergency-access): [PM-29585] Prevent New EA Invitations or Acceptance (#6940)
* feat(emergency-access): [PM-29585] Prevent New EA Invitations or Acceptance - Initial implementation

* fix(emergency-access): [PM-29585] Prevent New EA Invitations or Acceptance - Changes in a good place. Need to write tests.

* test(emergency-access): [PM-29585] Prevent New EA Invitations or Acceptance - Service tests have been added.

* fix(emergency-access): [PM-29585] Prevent New EA Invitations or Acceptance - Fixed comment.
2026-03-12 16:48:19 +00:00
Mick Letofsky
20d94c37dd Add density profiles to Seeder CLI (#7205) 2026-03-12 15:04:07 +01:00
Todd Martin
7677107b27 chore(flags): Remove obsolete client flags 2026-03-11 19:12:45 -04:00
cd-bitwarden
ae5508d146 Restrict users from sending altered project name/value and it being saved to the database as an invalid encrypted value. (#6853) 2026-03-11 17:42:27 -04:00
Mick Letofsky
3b9db315fd Add 9 scale presets and consolidated seeder docs (#7193)
* Add 9 scale presets and consolidated seeder docs
2026-03-11 17:16:41 +01:00
sven-bitwarden
d292b2bc5d Fixes swagger authentication (#7197) 2026-03-11 11:13:01 -05:00
Jared
09f0a7bca3 Refactor email confirmation logic to remove legacy mail service usage and streamline organization confirmation process (#7192) 2026-03-11 11:34:36 -04:00
Jimmy Vo
d96b885432 [PM-33040] Add new interface methods to IApplicationCacheService (#7187) 2026-03-11 11:33:54 -04:00
Bernd Schoolmann
79089a06c6 [PM-30584] Add support for key-connector-migration setting key (#7136)
* Add key-connector enrollment

* Fix tests

* Update src/Api/KeyManagement/Controllers/AccountsKeyManagementController.cs

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Move validation to request model

* Add tests

* Fix build

* Attempt to fix build

* Attempt to fix remaining tests

* Fix tests

* Format

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2026-03-11 09:15:41 +01:00
Jordan Aasen
3bb4467d1d [PM-32597] - create short-lived signed attachment URL for self-hosted instances (#7100)
* create short-lived signed attachment URL for self-hosted instances

* move local attachment logic to service

* remove comment

* remove unusued var. add happy-path test for file download
2026-03-10 13:24:07 -07:00
renovate[bot]
c7c17e850a [deps] Billing: Update coverlet.collector to v8 (#7118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-10 11:02:50 -05:00
Todd Martin
f4956349b6 chore(flags): Remove pm-19394-send-access-control feature flag
* Remove feature flag.

* Fixed import statements.

* Fixed constructor.
2026-03-10 11:40:01 -04:00
Mick Letofsky
bf40668fc8 Seeder - Adding density distributions (#7191) 2026-03-10 16:22:23 +01:00
mpbw2
490a34a9c6 added pm-31697-premium-upgrade-path feature flag (#7162) 2026-03-10 15:20:30 +00:00
Jared
15f3e4065a fix(OrganizationsController): Remove unused GetPlanType method to streamline organization management (#7177) 2026-03-10 10:50:58 -04:00
Jared
8037d373dc [PM-32666] Fixes endpoint issue where you can update another by providing a valid org ID (#7185)
* fix(controller): add null check for provider organization ID in ProviderClientsController

* feat(tests): add test for updating provider organization with different provider ID
2026-03-10 10:49:35 -04:00
Brandon Treston
facf6edf7a remove feature flag (#7180) 2026-03-10 09:34:53 -04:00