Tree:
b360d6a00a
2026-01-29/revert-persistent-grants
AC-1527-refactor-the-stripe-webhook-logic
AC-1601-require-sso-for-tde
AC-1833-2FA-Check-mark-still-visible
AC-2035-when-a-subscription-is-cancelled,-the-customer-cannot-self-server
ActivityDecorator
Add-MsSqlMigratorUtility-run-configuration-for-VS-Code
ApiKeyAuthInTheCli
Auth/PM-52-add-rbac-for-providers
Auth/pm-6333/remove-security-validation-exception
BRE-1037/update-rc-deploy-trigger
BRE-193-demo
BRE-193-test
BRE-247-create-test-env
BRE-292-sync-ephemeral-env-on-build-test
BRE-443-get-major-repos-to-bwwl-lint-passing-stage
BRE-demo-ee-01
DEVOPS-1039-update-release-flow-dry-run-step-names
DEVOPS-1215-Build-Migrator-project-artifact
DEVOPS-1537-Update-dbo.Migrations-table-to-support-repeatable-migrations
DEVOPS-1551-test-branch-for-server3
DEVOPS-1594-pin-all-uses-of-bitwarden-gh-actions-to-master
EC-502-cherry-pick
MergePlanAndPriceUpdates
PM-11525-Estimated-tax-shown-to-customers-potentially-incorrect
PM-13128
PM-13446-Database-Add-IsMultiOrgEnterprise-column-to-Provider-table
PM-14163-Sales-Tax-Compliance
PM-14891-Sales-Tax-Estimation-For-Organizations
PM-14892-Sales-Tax-Estimation-For-Accounts
PM-14894-Drop-Sales-Tax-Database-Tables
PM-15404-Provider-portal-contains-incorrect-styling-for-the-table-filters
PM-15536-Unsupported-Provider-Type-Reseller-on-Create-New-Org-under-Reseller
PM-16196
PM-16682
PM-16921
PM-17132
PM-17732
PM-18018
PM-18881
PM-19147
PM-19147_2
PM-19147_3
PM-19562-remove-desktop-flag
PM-19643
PM-2014-passkey-registration
PM-2032-troubleshoot-actions
PM-22372
PM-2448
PM-25697
PM-27886
PM-2844-beeep-add-custom-error-codes-for-server-api-exceptions
PM-30751
PM-31787-Defect-Users-can-access-the-sends-after-the-limit-was-reached
PM-3263-Fix-EF-tests-for-passkey-registration-and-test-EF-repository-implementation
PM-33144-fix-send-password-on-edit
PM-33500
PM-33501-Don-t-leave-orphaned-sends-in-storage
PM-33889-Innovation-sprint-Bitwarden-Receive
PM-34383-VULN-Authorization-Bypass-in-POST-ciphers-import-organization-Allows-Unauthorized-Cipher-Injection-into-Any-Organization
PM-3807-store-all-passkeys-as-login-cipher-type
PM-4128-Tools-Remove-nullability-of-Send.Data-and-Send.Keys
POC/cipher-versioning
PS-590
QA
Remove-Return-ValidateSponsorshipCommand.cs
SG-497/Health-checks
SG-660
SG-701
SM-1301-get-by-id-changes-events
SM-1548-SecretViewSlow
SM-1588-secret-versioning
SM-1588-small-controller-changes
SM-1743-featureflag
SM-1805-OrgLic
SM-1878-feature-flag-versioning
SM-2-Organization
SM-249-Delete-Secrets
SM-381]-Access-Policy-Secrets
SM-73
SM-73-signed
SM-910-BasedOn923
SM-923-Issues
SM-prototype-for-manage-permissions
SRE-3019-using-claude-implement-the-azure-mail-queue-retry-feature
Secrets-Access
ac-1409/secrets_manager_subscription_stripe
ac-1427/add_new_organisation_properties
ac-1427/add_new_organisation_properties_update_db_objects_and_create_migration
ac-1753-automatically-assign-providers-pricing-to-new-organizations
ac-1779/fix-validation-for-expirationWithoutGracePeriod-in-organizationLicense
ac-2266-two-email-notifications-is-sent-when-creating-org-from-sm-Trial-page
ac-2306-Self-serve-upgrade-automatically-updates-subscription
ac-2310-dont-reset-billing-cycle-if-upcoming-invoice-exceeds-dollar-threshold
ac-2385-as-a-billing-system-I-need-to-handle-attempting-to-pay-an-invoice-with-braintree-for-a-provider
ac-2570-existing-providers-see-new-cb-experience-on-admin-console
ac-2957-delete-the-feature-flag-PM-5864-dollar-threshold
ac/ac-1174/master-bulk-collection-management
ac/ac-1174/testing-unidirectional-dataflow
ac/addison/pm-10863/turn-on-for-self-host
ac/addison/pw-10314/auto-enable-policy
ac/jmccannon/pm-12479-changing-groups-model
ac/jmccannon/pm-12488-pt2-refactor
ac/pm-15621/add-commandresultvalidator
ac/pm-17217/add-use-policy-check-for-accept-endpoint
ac/pm-20633/rename-remove-individual
ac/pm-21031/get-members-performance-optimization
ac/pm-21411/refactor-interface-for-determining-premium-status-and-features
ac/pm-21742/update-confirmed-to-org-family-free
ac/pm-22102/metadata-prototype
ac/pm-22108/add-bulk-interfaces-for-checking-policies
ac/pm-22450/collection-revision-date-is-not-updated
ac/pm-22525-log-provider-accessing-org-vault
ac/pm-23845/fix-concurrent-access-feature-flag
ac/pm-24278/add-ipostsavepolicysideeffect
ac/pm-24278/prototype
ac/pm-24279/add-new-policy-endpoint
ac/pm-24279/vnext-policy-endpoint
ac/pm-26714/seat-count-increase-email-not-being-sent
ac/pm-29129/add-policy-update-event-readme
ac/pm-29129/add-the-policy-readme
ac/pm-29152/rename-vnextsavepolicycommand-to-savepolicycommand
ac/pm-31153-add-email-updates-to-rc
ac/pm-31193/cache-migration-4
ac/pm-31193/cache-migration-5
ac/pm-31475-remove-decline-org-transfer-event-log-being-blank
ac/pm-32159-provider-userids-endpoint
ac/pm-32741/add-organization-data-owner-ship-policy-data
ac/pm-32741/add-organizationdataownershippolicydata
ac/pm-33213/remove-resetpassword-feature-flag
ac/pm-34595/provider-authorization-plumbing
ac/pm-5966/fix-entity-framework-query
ac1191-tde-approval-email
ac1454-2fa-directory
acostarj-patch-1-cs-server
add-2017-to-db-test-script
add-backport-workflow
add-captcha-logging
add-encrypted-key-column
add-gitlens-settings
add-linux-cert-helper
add-needs-qa-label
add-notification-channels
add-notification-hub-logging
add-peer-dependency
additional-load-tests
aesgcm
agalles/add-SeederApi-to-GHCR
ai/exercise-claude-code-review-do-not-merge
akd
anders/add-devcontainer-docs
anders/increase-passkey-limit
api-integration-tests
arch/PM-33142/add-sync-metric
arch/add-hosted-service-to-clear-old-play-data
arch/emailers-razor
arch/mailer-enqueue
arch/qa-automation-freeaccount-preset
arch/simplify-install
architecture/api-versioning
auth/add-cosmos-persisted-grant-to-sso
auth/context-rules
auth/logging-admin-new-device-verification
auth/pm-11537/increase-passkey-limit
auth/pm-17129/login-with-2fa-recovery-code-bugfix
auth/pm-18612
auth/pm-18720/change-password-component-non-dialog
auth/pm-18720/change-password-component-non-dialog-v3
auth/pm-18720/change-password-component-non-dialog-v4
auth/pm-19209/revert-to-original-message
auth/pm-19685/remove-email-delay-flag
auth/pm-20377/token-add-user-details
auth/pm-20532/tech-breakdown-poc-token-based-send-authn-and-authz
auth/pm-21926/add-salt-to-dtos
auth/pm-24207
auth/pm-24281/enhance-email
auth/pm-24579/prevent-existing-sso-rejected-users-nullish-fix
auth/pm-24617/throttling-report
auth/pm-24662/tech-breakdown-comments
auth/pm-26578/http-redirect-cloud
auth/pm-27062/prelogin-new-data-types
auth/pm-27084/register-accepts-new-data-types
auth/pm-27510/prevent-existing-sso-rejected-users-nullish-fix
auth/pm-31327/emergency-access-deletion-use-new-command
auth/pm-32526/salt-in-change-set-rotate-flows
auth/pm-32626/standardize-unlock-authentication-validation
auth/pm-33011/salt-endpoint-update
auth/pm-33788/ef-emergency-access
auth/pm-34246/rename-set-password-to-finalize-onboarding
auth/pm-3797/key-rotation-upgrades
auth/pm-4142/remove-old-invite-token-validation
auth/pm-4517/devices-add-last-activity-date
auth/pm-5947/self-host-duo-redirect
auth/pm-6631/handle-webauthn-creation-exception
auth/pm-8882/add-logging-feature-flag
auth/pm-9826/2fa-get-remove-validation
auth/poc/master-password-service-example
auth/poc/query-command-password-solution
auth/poc/set-update-password-changes
auth/proto/webauthn-limit-increase
auth/refactor-sso-jit-provision-finish-process
auth/remove-captcha
auth/remove-feature-flags
auth/tools/unlock-authentication-migration-tool
authreq
autofill-feature-flag-cleanup
autofill/idp-auto-submit
autofill/pm-10418-expiration-date-on-cards-does-not-autofill-the-correct-format
azure-table-tests
beeep-lazy-user-currentcontext
beeep/recipe-seeding
billing/AC-2379/webhook-update-provider-status
billing/AC-2515/stripe-upgrade
billing/PM-11516/license-stuff
billing/PM-27702/cant-purchase-subscription-with-PayPal
billing/PM-31909/remove-m3-flagged-logic-server
billing/PM-31911/remove-m3-flag-definition-server
billing/aspire
billing/codeowner-changes
billing/env-based-dev-container
billing/license-claims-data-type-expansion
billing/license-refactor
billing/mjml-template-migration
billing/pm-21643-create-stripe-webhook-endpoints-for-api-version-2025-04-30-basil
billing/pm-27603/initial-migration-for-storage-increase
billing/pm-28662-fix-duplicate-premium-subscriptions
billing/pm-28662/individual-Premium-automatically-disabled-due-to-duplicate-subscription-leftover
billing/pm-29090/step-2-remove-feature-flag-from-server
billing/pm-29595/user-that-upgraded-from-premium-reverts-an-organization-upgrade-during-the-trial-period
billing/pm-31771/default-payment-method-not-updated-within-subscription
billing/pm-33301/upgrade-using-paypal-account
blazor
brant/move-organization-connection-to-integrations
brant/move-organization-connection-to-integrations-step-2
bre-1241-ephemeral-environment-test
bre-1685/nginx-configuration-for-seeder-api-service
bre/fix-repository-management-perms
bre/th/dev
bsephem
bug/PS-2120-purge-vault-not-refreshing-items
build-tvp-arrays-outside-connection
bump-server-sdk-1.5
collectiongroupsapi
community-pm-3309-fixes-for-kerberos-auth
community/pm-2242/add-kerberos-auth-to-docker
context-rules
copilot/add-sdk-key-rotation-flag
copilot/install-sql-2022-arm
copilot/review-draft-pr-6748
cosmosevents
create-mailers
database-seeder
db-migration
debug-self-hosted-passwordless
debug/push-notifications
demo/flexible-collections-v1
devcontainer-updates
dirt/PM-23358/move-phishing-code-to-dirt-team
dirt/PM-25576/change-member-access-query-to-use-views
dirt/PM-29828/modify-dbseeder-to-make-test-data-quickly
dirt/access-intelligence-db-seeder
dirt/pm-20112_member_access_report_503error
dirt/pm-20577/report-summary-for-db
dirt/pm-20577/risk-insight-server-endpoints
dirt/pm-23030/add_report_key_for_key_rotation
dirt/pm-23044/organization-application-server-implementation
dirt/pm-23754/alter-org-report-table
dirt/pm-23754/organization-report-summary-table
dirt/pm-28531/organization-report-view-metrics
dirt/pm-30542/remove-m11-flag
dirt/pm-31747/download-risk-insights-report
dirt/pm-31923-azure-blob-access-intelligence
dirt/pm-31923-whole-report-data-v2-endpoints-access-intelligence
dirt/pm-32517-migration-access-intelligence-blob-storage
dirt/pm-32518-summary-data-endpoints-v2-access-intelligence
dirt/pm-32519-application-data-v2-endpoints-access-intelligence
dirt/pm-33194/single-integration-of-a-given-type
disable-claude-attribution
dn/wp-poc
duo-sdk-upgrade
ec-598
ee-db-seeder
ee-patch-01
ee-test-image-updater
ee/test/branch
enable-xunit-diagnostic-messages
ephem-test-01
ephemeral-environment-api-env
ephemeral-environment-hello-world
ephemeral-test-01
external-dns-test
feat/SG-651-activate-org-with-stripe-activation
feat/passwordless
feature/decouple-icon-service
feature/dev-migrator-script-rerun-option
feature/org-admin-refresh-v3
feature/refactor-organization-service-to-feature-services
feature/seeder-crypto-abstraction
feature/self-hosted-F4E-sync
feature/self-hosted-f4e-orgsponsorship-migration
fedemkr-patch-1
fix-build
fix-identity-resource
fix-rc
fix-tde-provider-user
formatjan2023csp
hosting-env-change
hotfix-EC-529
hotfix-rc
hotfix-sendgrid
idphost
iinuwa/mobile-device-login-passkey
iinuwa/store-prf-secrets
iinuwa/webauthn-credential-limit-error
innovation-sprint-2026-send-folder
innovation-sprint/autotriage/report-issue
innovation/2026/magnify
innovation/autofill-triage
innovation/bw-receive-add-table-entity
innovation/opaque
innovation/seeded-csprng-fake-user
innovation/sync-user-preferences
introduce-server-sdk-everywhere
is/pm-34456/innovation-sprint-enable-automated-release-notes
jim-test
jmccannon/ac/pm-12474-org-user-auth-handlers
jmccannon/ac/pm-12487-restore-user-command
jmccannon/ac/pm-15547-revoke-user-remove-2fa
jmccannon/ac/pm-24462-seat-limit-ignored
jmccannon/ac/pm-28045-org-keys
jmccannon/ac/pm-28627/restore-create-default-collection
jmccannon/ac/pm-3175-send-invite-async
jmccannon/ac/transaction-attempt
jmccannon/ac/transaction-attempt-2
jmccannon/ac/validation-result-poc
jmccannon/inno/passkey-directory-report
jmccannon/testing-improvements
justindbaur-patch-1
justindbaur-patch-2
k8-alpine-test-bre-917
k8s/use-mounted-secrets
keyedcache
km/auto-enroll-name
km/auto-kdf-qa
km/beeep/qr-login
km/key-rotation-signing
km/km-10648/remove-reference-to-feature-flag
km/pm-27278/register-password-based-account-v2
km/pm-30483/remove-passkey-ff-logic
km/poc-user-key-rotation-composition
km/remove-old-ssh-flags
km/remove-unused-file
km/sdk-key-rotation
km/signing-keys
km/tde-offboarding-fix
linting-again
main
make-roles-change-at-runtime
metadata/badges
minimal-codespace
misc/use-host-environment
mobile/PM-18936-key-connector-ephemeral
move-azurite-scaffolding
move_old_DbScripts_future_to_DbScripts
mtmorgdomains
named-http-clients
notfoundcheck
notification-hub-debug-logging
null-operator-on-fido2keys
nullable-entities
orgapikeys
passwordless/add_fingerprintphrase_reponse
passwordless/getUserAuthRequests
passwordless/notifications
passwordless/signalR
patch/ee-bot-test
perfindexes
platform/addison/PM-11129/codeownership-assignments
platform/addison/PM-11129/implemetation
platform/pm-2182/harden-captcha-bypass-conditions
platform/pm-23123/test-cookie-endpoint
platform/pm-2944/make-entities-nullable
platform/pm-3626/write-collections-tests
platform/remove-storage-reseed-flag
pm-12071-only-verified-org-domain-sso
pm-13345-Add-Remove-Bitwarden-Families-policy-in-Admin-Console
pm-13347-web-app-impacts
pm-13429-Seat-Count-Increase-Email-Only-Sending-For-First-Auto-Scale-But-Not-Subsequent
pm-14496-non-root-self-hosted-images
pm-15625-disable-trial-send-verification-email-endpoint-for-self-host
pm-15808-Show-suspended-org-modals-for-orgs-in-unpaid-and-canceled-status
pm-15814-alert-owners-of-reseller-managed-orgs-to-renewal-events
pm-17592-remove-feature-flag-disable-free-families-sponsorship
pm-20084-add-trial-length-parameter-to-trial-send-verification-email-endpoint
pm-2023-fido2-authentication
pm-21106-remove-button-not-responsive
pm-22968-ui-when-MSP/BUP-is-suspended-feature-flag
pm-28727-dotnet-10
pm-28727-net10-dockerfiles
pm-28973
pm-34171-card-scanner-feature-flag
pm-3891-implement-time-based-threshold
pm-3892-implement-dollar-threshold-for-monthly-sub
pm-6768-error-autoscaling-when-organisation-is-subscription-is-still-trialing
pm-6774-reduce-the-dollar-threshold-from-500-to-300-dollars
pm-9162
poc/structurizr
pre-tde-self-host
proxy-project
ps/explore-required
ps/include-flag-context-in-config-response
ps/pm-21571/implement-smtp-oauth
ps/pm-2944/make-entities-nullable-auth
ps/pm-336/nullable-unowned-services
quexten-patch-1
rc
rebase-demo-ex-2
receive-request-response-models-empty-controller
receive-storage-service
receive-validation-service
remove-accept-org-user-method
renovate/actions-create-github-app-token-3.x
renovate/azure-azure-sdk-for-net-monorepo
renovate/braintree-5.x
renovate/crazy-max-ghaction-import-gpg-7.x
renovate/dbup-sqlserver-7.x
renovate/docker-compose-minor
renovate/docker-login-action-4.x
renovate/docker-setup-buildx-action-4.x
renovate/docker-setup-qemu-action-4.x
renovate/dotnet-monorepo
renovate/dtolnay-rust-toolchain-digest
renovate/fido2.aspnet-4.x
renovate/fusioncache-monorepo
renovate/github-action-minor
renovate/jquery-4.x
renovate/kenchan0130-simplesamlphp-1.x
renovate/kralizek.autofixture.extensions.mockhttp-2.x
renovate/linq2db-6.x
renovate/linq2db.entityframeworkcore-10.x
renovate/linq2db.entityframeworkcore-8.x
renovate/lock-file-maintenance
renovate/major-aspnet-health-checks-monorepo
renovate/major-dotnet-monorepo
renovate/major-entityframeworkcore
renovate/major-github-artifact-actions
renovate/major-vstest-monorepo
renovate/mcr.microsoft.com-devcontainers-dotnet-10.x
renovate/mcr.microsoft.com-mssql-server-2025.x
renovate/microsoft.azure.cosmos-3.x
renovate/microsoft.build.sql-2.x
renovate/microsoft.data.sqlclient-7.x
renovate/mini-css-extract-plugin-2.x
renovate/mjml-4.x
renovate/mjml-core-4.x
renovate/npgsql.entityframeworkcore.postgresql-10.x
renovate/npgsql.entityframeworkcore.postgresql-8.x
renovate/pin-dependencies
renovate/pomelo.entityframeworkcore.mysql-9.x
renovate/postgres-18.x
renovate/rabbitmq.client-7.x
renovate/stripe.net-46.x
renovate/swashbuckle-aspnetcore-monorepo
renovate/vstest-monorepo
renovate/webpack-5.x
renovate/webpack-cli-7.x
renovate/yamldotnet-16.x
repository-management-workflow-fix
return-non-zero-exit-code-on-failure
revert-2346-SG-698
revert-2992-PM-2448
revert-3891-ac-2293-Two-email-notifications-is-sent-when-creating-org-from-SM-Trial-page
revert-6582-revert-6577-auth/pm-27062/prelogin-new-data-types
sdk-decrypt
server-PM-33964/cache-rsa-material
setup-integration-tests
sg/SG-58
sm-10995-removefeatureflag
sm-910-923
sm-923
sm-add-bulk-move-to-project
sm/sm-873
sm/sm-904
sns
snyk-fix-261dbaccec3d4355caadddbd8dc44b4b
snyk-fix-6d56d7b220780f29826f4338d1631736
snyk-fix-8b823cd3ec0299ef141df1252a243e9b
snyk-fix-9a25996054355dc90914c1d4e62b99fc
snyk-fix-9ab4f8e979d891859939b5e19e825a45
snyk-fix-afde10973a7206485a89218280e291d8
snyk-fix-d0b5c3ca960136a116ca02dbf1b0b2b4
sre
sso-default-logging
sso-device-key-callback-poc
ssoconfig
strongly-typed-orgusers
sven/drafts/revocation-reason-active-status-example
sven/drafts/revocation-reason-policy-details-example
sven/examples/org-user-status-type-extension-logic
task/BRE-128
task/BRE-342
test
test-docker-stuff
test-email-subject-automation
test-ephemeral-env-key-connector
test-image-updater-ee
test-new-trigger-ee
testing
th-ee-test
tools/AC-2496/graphql-experiment
tools/AC-2496/odata-init
tools/AC-2496/odata-test
tools/PM-31884-send-access-policies
tools/generator-modernization
tools/pm-16085/increase-import-limitations
tools/pm-26732/remove-chromium-importer-abe-flag
tools/pm-31066/add-sends-sdk-feature-flag
tools/pm-31884/send-access-controls-policy
tools/pm-8895/groups-controller-decouple
tools/pm-9709/group-details-query
tools/tech-debt/remove-unused-response-parameters
true-unified
trustmssql
tt-test-branch
update-renovate-for-auth
upgrade-npgsql-version
use-pr-for-release-version
util/support-dev-env-installations
vault/PM-32686-bank-account-type
vault/ac-2106/fix-provider-creating-collection
vault/delete-only-can-manage
vault/feature/cipher-versioning
vault/pm-20379/security-task-hidden-password
vault/pm-31019/add-feature-flag
vault/pm-31671/attachment-checks
vault/pm-31671/ssrf-change-password
vault/pm-31825/attachment-checks
vault/pm-32463/disabled-org-cipher-access
vault/pm-34500
vault/pm-4185/regression-testing
vault/pm-5072/update-minimum-server-version-for-cipher-key-encryption
verifypasswordhashonenrollment
vgrassia/test
vgrassia/test-warfields
vuln-252-check-run-least-priv
xunit-v3-full-upgrade
xunit-v3-migration
yubikey-logging
1.22.0
1.4.0
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.1.0
v1.10.0
v1.11.0
v1.11.1
v1.12.0
v1.12.1
v1.13.0
v1.13.1
v1.14.0
v1.14.1
v1.14.2
v1.15.0
v1.15.1
v1.16.0
v1.17.0
v1.17.1
v1.17.2
v1.18.0
v1.18.1
v1.19.0
v1.2.0
v1.20.0
v1.21.0
v1.23.0
v1.24.0
v1.25.0
v1.26.0
v1.27.0
v1.28.0
v1.29.0
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.30.0
v1.30.1
v1.30.2
v1.30.3
v1.30.4
v1.31.0
v1.31.1
v1.32.0
v1.33.0
v1.33.1
v1.34.0
v1.35.0
v1.35.1
v1.36.0
v1.36.1
v1.37.0
v1.37.1
v1.37.2
v1.38.0
v1.38.1
v1.38.2
v1.38.3
v1.38.4
v1.39.0
v1.39.1
v1.39.2
v1.39.3
v1.39.4
v1.4.1
v1.40.0
v1.41.0
v1.41.1
v1.41.2
v1.41.3
v1.41.4
v1.41.5
v1.41.6
v1.42.0
v1.42.1
v1.42.2
v1.42.3
v1.43.0
v1.43.1
v1.44.0
v1.44.1
v1.45.0
v1.45.1
v1.45.2
v1.45.3
v1.45.4
v1.46.0
v1.46.1
v1.46.2
v1.46.3
v1.47.0
v1.47.1
v1.48.0
v1.48.1
v1.5.0
v1.5.1
v1.6.0
v1.7.0
v1.8.0
v1.8.1
v1.8.2
v1.9.0
v2022.05.0
v2022.10.0
v2022.11.0
v2022.11.1
v2022.12.0
v2022.5.1
v2022.5.2
v2022.6.0
v2022.6.1
v2022.6.2
v2022.8.0
v2022.8.2
v2022.8.3
v2022.8.4
v2022.9.0
v2022.9.1
v2022.9.2
v2022.9.4
v2022.9.5
v2023.1.0
v2023.10.0
v2023.10.1
v2023.10.2
v2023.10.3
v2023.12.0
v2023.12.1
v2023.2.0
v2023.2.1
v2023.3.0
v2023.4.0
v2023.4.1
v2023.4.2
v2023.4.3
v2023.5.0
v2023.5.1
v2023.7.0
v2023.7.1
v2023.7.2
v2023.8.0
v2023.8.1
v2023.8.2
v2023.8.3
v2023.9.0
v2023.9.1
v2024.1.0
v2024.1.1
v2024.1.2
v2024.10.0
v2024.10.1
v2024.10.2
v2024.11.0
v2024.12.0
v2024.12.1
v2024.2.0
v2024.2.1
v2024.2.2
v2024.2.3
v2024.3.0
v2024.3.1
v2024.4.0
v2024.4.1
v2024.4.2
v2024.5.0
v2024.6.0
v2024.6.1
v2024.6.2
v2024.7.0
v2024.7.1
v2024.7.2
v2024.7.3
v2024.7.4
v2024.8.0
v2024.8.1
v2024.9.0
v2024.9.1
v2024.9.2
v2025.1.0
v2025.1.1
v2025.1.2
v2025.1.3
v2025.1.4
v2025.10.0
v2025.10.1
v2025.10.2
v2025.11.0
v2025.11.1
v2025.12.0
v2025.12.1
v2025.12.2
v2025.2.0
v2025.2.1
v2025.2.2
v2025.2.3
v2025.2.4
v2025.3.0
v2025.3.3
v2025.4.0
v2025.4.1
v2025.4.2
v2025.4.3
v2025.5.0
v2025.5.1
v2025.5.2
v2025.5.3
v2025.6.0
v2025.6.1
v2025.6.2
v2025.7.0
v2025.7.1
v2025.7.2
v2025.7.3
v2025.8.0
v2025.8.1
v2025.9.0
v2025.9.1
v2025.9.2
v2026.1.0
v2026.1.1
v2026.2.0
v2026.2.1
v2026.3.0
v2026.3.1
v2026.3.2
${ noResults }
150 Commits (b360d6a00a547e88e4c524aea63c7bfaa25274fb)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
ad19efcff7
|
[PM-22236] Fix invited accounts stuck in intermediate claimed status (#6810)
* Exclude invited users from claimed domain checks. These users should be excluded by the JOIN on UserId, but it's a known issue that some invited users have this FK set. |
3 months ago |
|
|
ebb0712e33
|
[PM-28555] Add idempotent sproc to create My Items collections (#6801)
* Add sproc to create multiple default collections. SqlBulkCopy implementation is overkill for most cases. This provides a lighter weight sproc implementation for smaller data sets. * DRY up collection arrangement * DRY up tests because bulk and non-bulk share same behavior * use EF native AddRange instead of bulk insert, because we expect smaller data sizes on self-host |
3 months ago |
|
|
f144828a87
|
[PM-22263] [PM-29849] Initial PoC of seeder API (#6424)
We want to reduce the amount of business critical test data in the company. One way of doing that is to generate test data on demand prior to client side testing. Clients will request a scene to be set up with a JSON body set of options, specific to a given scene. Successful seed requests will be responded to with a mangleMap which maps magic strings present in the request to the mangled, non-colliding versions inserted into the database. This way, the server is solely responsible for understanding uniqueness requirements in the database. scenes also are able to return custom data, depending on the scene. For example, user creation would benefit from a return value of the userId for further test setup on the client side. Clients will indicate they are running tests by including a unique header, x-play-id which specifies a unique testing context. The server uses this PlayId as the seed for any mangling that occurs. This allows the client to decide it will reuse a given PlayId if the test context builds on top of previously executed tests. When a given context is no longer needed, the API user will delete all test data associated with the PlayId by calling a delete endpoint. --------- Co-authored-by: Matt Gibson <mgibson@bitwarden.com> |
3 months ago |
|
|
d559b1da11
|
Make CA1304 & CA1305 warnings (#6813)
|
3 months ago |
|
|
02c03f4493
|
[PM-27884][PM-27886][PM-27885] - Add Cipher Archives (#6578)
* add Archives column to ciphers table * add archives column * update cipher archive/unarchive and cipher deatils query * add migrations * add missing migrations * fixes * update tests. cleanup * syntax fix * fix sql syntax * fix sql * fix CreateWithCollections * fix sql * fix migration file * fix migration * add go * add missing go * fix migrations * add missing proc * fix migrations * implement claude suggestions * fix test * update cipher service and tests * updates to soft delete * update UserCipherDetailsQuery and migration * update migration * update archive ciphers command to allow org ciphers to be archived * updates to archivedDate * revert change to UserCipherDetails * updates to migration and procs * remove archivedDate from Cipher_CreateWithCollections * remove trailing comma * fix syntax errors * fix migration * add double quotes around datetime * fix syntax error * remove archivedDate from cipher entity * re-add ArchivedDate into cipher * fix migration * do not set Cipher.ArchivedDate in CipherRepository * re-add ArchivedDate until removed from the db * set defaults * change to CREATE OR ALTER * fix migration * fix migration file * quote datetime * fix existing archiveAsync test. add additional test * quote datetime * update migration * do not wrap datetime in quotes * do not wrap datetime in quotes * fix migration * clean up archives and archivedDate from procs * fix UserCipherDetailsQuery * fix setting date in JSON_MODIFY * prefer cast over convert * fix cipher response model * re-add ArchivedDate * add new keyword * remove ArchivedDate from entity * use custom parameters for CipherDetails_CreateWithCollections * remove reference to archivedDate * add missing param * add missing param * fix params * fix cipher repository * fix migration file * update request/response models * update migration * remove Archives from Cipher_CreateWithCollections * revert last change * clean up * remove comment * remove column in migration * change language in drop * wrap in brackets * put drop column in separate migration * remove archivedDate column * re-add archivedDate * add refresh module * bump migration name * fix proc and migration * do not require edit permission for archiving ciphers * do not require edit permission for unarchiving ciphers |
3 months ago |
|
|
afd47ad085
|
[SM-1570] Adding new item to organization license to disable SM ads for users (#6482)
* Adding new item to organization license * fixing whitespace issues * fixing missing comment * fixing merge conflicts * merge fix * db merge fixes * fix * Updating SM to Sm, and adding more view refreshes * fixing merge conflicts * Redoing migration * Update OrganizationLicense.cs * Update OrganizationLicense.cs * fixes * fixes * fixing db issues * fix * rearranging sql after merge conflicts * Merge conflicts with dbscripts are fixed, adding missing usedisableSMadsForUsers where needed * removing incorrect merge fix * fixes * adding feature flag to disable sm ads --------- Co-authored-by: Conner Turnbull <cturnbull@bitwarden.com> |
3 months ago |
|
|
a92d7ac129
|
[PM-27280] Support v2 encryption on key-connector signups (#6712)
* account v2 registration for key connector * use new user repository functions * test coverage * integration test coverage * documentation * code review * missing test coverage * fix failing test * failing test * incorrect ticket number * moved back request model to Api, created dedicated data class in Core * sql stored procedure type mismatch, simplification * key connector authorization handler |
4 months ago |
|
|
de504d800b
|
[PM-24055] - Collection Users and Groups null on Public response (#6713)
* Integration test around getting and saving collection with group/user permissions * This adds groups to the collections returned. * Added new stored procedures so we don't accidentally wipe out access due to null parameters. * wrapping all calls in transaction in the event that there is an error. |
4 months ago |
|
|
f7c615cc01
|
[PM-21411] Refactor interface for determining premium status and features (#6688)
* Removed 2FA user interface from premium method signatures * Added some more comments for clarity and small touchups. * Add PremiumAccessCacheCheck feature flag to Constants.cs * Add IPremiumAccessQuery interface and PremiumAccessQuery implementation for checking user premium access status * Add unit tests for PremiumAccessQuery to validate user premium access logic * Add XML documentation to Premium in OrganizationUserUserDetails and User classes * Add PremiumAccessQueries to UserServiceCollectionExtensions * Refactor TwoFactorIsEnabledQuery to incorporate PremiumAccessQuery and feature flag for premium access checks. Enhanced user premium status retrieval logic and improved handling of user details based on feature flag state. * Mark methods in IUserRepository and IUserService as obsolete, directing users to new methods in IPremiumAccessQuery for premium access checks. * Rename CanAccessPremiumBulkAsync to CanAccessPremiumAsync in IPremiumAccessQuery * Update TwoFactorIsEnabledQuery to use CanAccessPremiumAsync for premium status checks * Refactor TwoFactorIsEnabledQuery to introduce VNextAsync methods for improved premium access checks and user detail handling. Removed obsolete feature service dependency and enhanced test coverage for new functionality. * Refactor IPremiumAccessQuery and PremiumAccessQuery to remove the overloaded CanAccessPremiumAsync method. Update related methods to streamline premium access checks using the User object directly. Enhance test coverage by removing obsolete tests and ensuring proper functionality with the new method signatures. * Add new sync static method to determine if TwoFactor is enabled * Enhance XML documentation for Premium property in OrganizationUserUserDetails and User classes to clarify its usage and limitations regarding personal and organizational premium access. * Refactor IPremiumAccessQuery and PremiumAccessQuery to replace User parameter with Guid for user ID in CanAccessPremiumAsync methods. Update related methods and tests to streamline premium access checks and improve clarity in method signatures. * Update feature flag references in IUserRepository and IUserService to use 'PremiumAccessQuery' instead of 'PremiumAccessCacheCheck'. Adjust related XML documentation for clarity on premium access methods. * Rename IPremiumAccessQuery to IHasPremiumAccessQuery and move to Billing owned folder * Remove unnecessary whitespace from IHasPremiumAccessQuery interface. * Refactor HasPremiumAccessQuery to throw NotFoundException for null users * Add NotFoundException handling in HasPremiumAccessQuery for mismatched user counts * Refactor TwoFactorIsEnabledQuery to optimize premium access checks and improve two-factor provider handling. Introduced bulk fetching of premium status for users with only premium providers and streamlined the logic for determining if two-factor authentication is enabled. * Refactor TwoFactorIsEnabledQueryTests to enhance clarity and optimize test scenarios. Consolidated test cases for two-factor authentication, improved naming conventions, and ensured premium access checks are only performed when necessary. * Add UserPremiumAccess model to represent user premium access status from personal subscriptions and memberships * Add User_ReadPremiumAccessByIds stored procedure and UserPremiumAccessView view to enhance premium access retrieval. Updated Organization table index to include UsersGetPremium for optimized queries. * Add SQL migration script * Add premium access retrieval methods to IUserRepository and implementations in UserRepository classes. Introduced GetPremiumAccessByIdsAsync and GetPremiumAccessAsync methods to fetch premium status for multiple users and a single user, respectively. Updated using directives to include necessary models. * Refactor HasPremiumAccessQuery and IHasPremiumAccessQuery to streamline premium access checks. Updated method names for clarity and improved documentation. Adjusted test cases to reflect changes in user premium access retrieval logic. * Update IUserRepository to reflect new method names for premium access retrieval. Changed obsolete method messages to point to GetPremiumAccessByIdsAsync and GetPremiumAccessAsync. Added internal use notes for IHasPremiumAccessQuery. Improved documentation for clarity. * Refactor TwoFactorIsEnabledQuery to utilize IFeatureService for premium access checks. * Enhance EF UserRepository to improve premium access retrieval by including related organization data. * Add unit tests for premium access retrieval in UserRepositoryTests. * Optimize HasPremiumAccessQuery to eliminate duplicate user IDs before checking premium access. Updated logic to ensure accurate comparison of premium users against distinct user IDs. * Refactor TwoFactorIsEnabledQuery to improve handling of users without two-factor providers. Added early exit for users lacking providers and streamlined premium status checks for enabled two-factor authentication. * Update HasPremiumAccessQueryTests to use simplified exception handling and improve test clarity * Replaced fully qualified exception references with simplified ones. * Refactored test setup to use individual user variables for better readability. * Ensured assertions reflect the updated user variable structure. * Enhance TwoFactorIsEnabledQuery to throw NotFoundException for non-existent users * Updated TwoFactorIsEnabledQuery to throw NotFoundException when a user is not found instead of returning false. * Added a new unit test to verify that the NotFoundException is thrown when a user is not found while premium access query is enabled. * Move premium access query to Billing owned ServiceCollectionExtensions * Refactor IUserService to enhance premium access checks * Updated CanAccessPremium and HasPremiumFromOrganization methods to clarify usage with the new premium access query. * Integrated IHasPremiumAccessQuery into UserService for improved premium access handling based on feature flag. * Adjusted method documentation to reflect changes in premium access logic. * Update IUserRepository to clarify usage of premium access methods * Modified Obsolete attribute messages for GetManyWithCalculatedPremiumAsync and GetCalculatedPremiumAsync to indicate that callers should use the new methods when the 'PremiumAccessQuery' feature flag is enabled. * Enhanced documentation to improve clarity regarding premium access handling. * Update IUserRepository and IUserService to clarify deprecation of premium access methods * Modified Obsolete attribute messages for GetManyWithCalculatedPremiumAsync and GetCalculatedPremiumAsync in IUserRepository to indicate these methods will be removed in a future version. * Updated Obsolete attribute message for HasPremiumFromOrganization in IUserService to reflect the same deprecation notice. * Refactor TwoFactorIsEnabledQuery to streamline user ID retrieval * Consolidated user ID retrieval logic to avoid redundancy. * Ensured consistent handling of user ID checks for premium access queries. * Improved code readability by reducing duplicate code blocks. * Rename migration script to fix the date * Update migration script to create the index with DROP_EXISTING = ON * Refactor UserPremiumAccessView to use LEFT JOINs and GROUP BY for improved performance and clarity * Update HasPremiumAccessQueryTests to return null for GetPremiumAccessAsync instead of throwing NotFoundException * Add unit tests for premium access scenarios in UserRepositoryTests - Implement tests for GetPremiumAccessAsync to cover various user and organization premium access combinations. - Validate behavior when users belong to multiple organizations, including cases with and without premium access. - Update email generation for user creation to ensure uniqueness without specific prefixes. - Enhance assertions to verify expected premium access results across different test cases. * Bump date on migration script * Update OrganizationEntityTypeConfiguration to include UsersGetPremium in index properties * Add migration scripts for OrganizationUsersGetPremiumIndex across MySQL, PostgreSQL, and SQLite - Introduced new migration files to create the OrganizationUsersGetPremiumIndex. - Updated the DatabaseContextModelSnapshot to include UsersGetPremium in index properties for all database types. - Ensured consistency in index creation across different database implementations. --------- Co-authored-by: Todd Martin <tmartin@bitwarden.com> Co-authored-by: Patrick Pimentel <ppimentel@bitwarden.com> |
4 months ago |
|
|
18a8829476
|
[PM-26377] Correcting Auto Confirm Handler Provider Check (#6681)
* Fixed bug where providers weren't being checked correctly in auto confirm handler. |
4 months ago |
|
|
599fbc0efd
|
[PM-28616] Add flag UsePhishingBlocker to dbo.Organization (#6625)
* PM-28616 Add flag UsePhishingBlocker to dbo.Organization * PM-28616 updated as per comments from claude * PM-28616 updated ToLicense Method to copy the license file * PM-28616 allow phishing blocker to be imported via license files for self-hosted * PM-28616 updated PR comments - added more views to be refreshed * PM-28616 removed proeprty from constructor as it is not used anymore. We have moved to claims based properties |
4 months ago |
|
|
c0700a6946
|
[PM-27766] Add policy for blocking account creation from claimed domains. (#6537)
* Add policy for blocking account creation from claimed domains. * dotnet format * check as part of email verification * add feature flag * fix tests * try to fix dates on database integration tests * PR feedback from claude * remove claude local settings * pr feedback * format * fix test * create or alter * PR feedback * PR feedback * Update src/Core/Constants.cs Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> * fix merge issues * fix tests --------- Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> |
5 months ago |
|
|
1eb396cb40
|
[PM-26636] - Auto Confirm Org User Command (#6488)
* Adding auto confirm endpoint and initial command work.
* Adding validator
* Finished command implementation.
* Enabled the feature renomved used method. Enabled the policy in the tests.
* Added extension functions to allow for railroad programming.
* Removed guid from route template. Added xml docs
* Added validation for command.
* Added default collection creation to command.
* formatting.
* Added additional error types and mapped to appropriate results.
* Added tests for auto confirm validator
* Adding tests
* fixing file name
* Cleaned up OrgUserController. Added integration tests.
* Consolidated CommandResult and validation result stuff into a v2 directory.
* changing result to match handle method.
* Moves validation thenasync method.
* Added brackets.
* Updated XML comment
* Adding idempotency comment.
* Fixed up merge problems. Fixed return types for handle.
* Renamed to ValidationRequest
* I added some methods for CommandResult to cover some future use cases. Added ApplyAsync method to execute multiple functions against CommandResult without an error stopping the workflow for side-effects.
* Fixed up logic around should create default colleciton. Added more methods for chaining ValidationResult together. Added logic for user type.
* Clearing nullable enable.
* Fixed up validator tests.
* Tests for auto confirm command
* Fixed up command result and AutoConfirmCommand.
* Removed some unused methods.
* Moved autoconfirm tests to their own class.
* Moved some stuff around. Need to clean up creation of accepted org user yet.
* Moved some more code around. Folded Key into accepted constructor. removed unneeded tests since key and accepted are now a part of AcceptedOrgUser Creation.
* Clean up clean up everybody everywhere. Clean up clean up everybody do your share.
* Another quick one
* Removed aggregate Errors.cs
* Cleaned up validator and fixed up tests.
* Fixed auto confirm repo
* Cleaned up command tests.
* Unused method.
* Restoring Bulk command back to what it was. deleted handle method for bulk.
* Remove unused method.
* removed unnecssary lines and comments
* fixed layout.
* Fixed test.
* fixed spelling mistake. removed unused import.
* Update test/Core.Test/AdminConsole/OrganizationFeatures/OrganizationUsers/AutoConfirmUsers/AutomaticallyConfirmUsersCommandTests.cs
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
* Ensuring collection is created before full sync. Cleaning up tests and added a few more. Added check that the policy is enabled.
* Added org cleanup
* Lowering to 5 to see if that helps the runner.
* 🤷
* Trying this
* Maybe this time will be different.
* seeing if awaiting and checking independently will work in ci
* I figured it out. Locally, it would be fast enough to all return NoContent, however in CI, its slow enough for it to return 400 due to the user already being confirmed via validation.
* Updated tests and validator
* Fixed name
---------
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
|
5 months ago |
|
|
4de10c830d
|
[PM-26636] Set Key when Confirming (#6550)
* When confirming a uesr, we need to set the key. :face_palm: * Adding default value. |
5 months ago |
|
|
087c6915e7
|
when ciphers are soft deleted, complete any associated security tasks (#6492)
|
5 months ago |
|
|
9b313d9c0a
|
[PM-25923] Simplify and align response models for Organization members and Provider users (#6385)
* Update ProviderUserOrganizationDetailsView to include SSO configuration data * Updated the ProviderUserOrganizationDetailsViewQuery to join with SsoConfigs and select SSO-related fields. * Modified the SQL view to reflect the inclusion of SSO configuration data. * Added a new migration script for the updated view structure. * Add SSO configuration properties to ProviderUserOrganizationDetails model * Add SSO configuration handling to ProfileProviderOrganizationResponseModel * Introduced properties for SSO configuration, including SSO enabled status and KeyConnector details. * Implemented deserialization of SSO configuration data to populate new fields in the response model. * Add integration tests for ProviderUserRepository.GetManyOrganizationDetailsByUserAsync * Add BaseUserOrganizationDetails model to encapsulate common properties * Introduced a new abstract class to define shared properties for organization users and provider organization users * Add BaseProfileOrganizationResponseModel to encapsulate organization response properties * Introduced a new abstract class that ensures all properties are fully populated for profile organization responses. * Update ProviderUserOrganizationDetailsViewQuery to include missing ProviderUserId * Refactor OrganizationUserOrganizationDetails and ProviderUserOrganizationDetails to inherit from BaseUserOrganizationDetails * Updated both models to extend BaseUserOrganizationDetails, promoting code reuse and ensure they have the same base properties * Refactor ProfileOrganizationResponseModel and ProfileProviderOrganizationResponseModel to inherit from BaseProfileOrganizationResponseModel * Refactor ProviderUserRepositoryTests to improve organization detail assertions * Consolidated assertions for organization details into a new method, AssertProviderOrganizationDetails, enhancing code readability and maintainability. * Updated test cases to verify all relevant properties for organizations with and without SSO configurations. * Add integration test for GetManyDetailsByUserAsync to verify SSO properties * Implemented a new test case to ensure that the SSO properties are correctly populated for organizations with and without SSO configurations. * The test verifies the expected behavior of the method when interacting with the user and organization repositories, including cleanup of created entities after the test execution. * Add unit tests for ProfileOrganizationResponseModel and ProfileProviderOrganizationResponseModel * Introduced tests to validate the constructors of ProfileOrganizationResponseModel and ProfileProviderOrganizationResponseModel, ensuring that all properties are populated correctly based on the provided organization details. * Verified expected behavior for both organization and provider models, including SSO configurations and relevant properties. * Update SyncControllerTests.Get_ProviderPlanTypeProperlyPopulated to nullify SSO configurations in provider user organization details * Refactor BaseProfileOrganizationResponseModel and ProfileOrganizationResponseModel for null safety Updated properties in BaseProfileOrganizationResponseModel and ProfileOrganizationResponseModel to support null safety by introducing nullable types where appropriate. * Enhance null safety in BaseUserOrganizationDetails and OrganizationUserOrganizationDetails Updated properties in BaseUserOrganizationDetails and OrganizationUserOrganizationDetails to support null safety by introducing nullable types where appropriate, ensuring better handling of potential null values. * Move common properties from ProfileOrganizationResponseModel to BaseProfileOrganizationResponseModel * Refactor organization details: Remove BaseUserOrganizationDetails and introduce IProfileMemberOrganizationDetails interface for improved structure and clarity in organization user data management. * Enhance OrganizationUserOrganizationDetails: Implement IProfileMemberOrganizationDetails interface * Refactor ProviderUserOrganizationDetails: Implement IProfileMemberOrganizationDetails interface * Refactor ProfileOrganizationResponseModelTests and ProfileProviderOrganizationResponseModelTests: Update constructors to utilize Organization and ProviderUserOrganizationDetails, enhancing property population and test coverage. * Enhance ProviderUserOrganizationDetails: Add UseResetPassword, UseSecretsManager, and UsePasswordManager properties to the query and SQL views * Update BaseProfileOrganizationResponseModel documentation: Clarify purpose and usage of organization properties for OrganizationUsers and ProviderUsers. * Rename ProfileOrganizationResponseModel to ProfileMemberOrganizationResponseModel, update references and update related test names * Add XML documentation for ProfileMemberOrganizationResponseModel and ProfileProviderOrganizationResponseModel to clarify their purpose and relationships * Remove unnecessary cleanup code from OrganizationUserRepositoryTests * Remove unnecessary cleanup code from ProviderUserRepositoryTests * Rename test method in ProviderUserRepositoryTests to improve clarity on property population * Add CreateFullOrganization method to ProviderUserRepositoryTests for improved organization setup in tests * Refactor organization creation in tests to use CreateTestOrganizationAsync for consistency and improved setup * Rename IProfileMemberOrganizationDetails to IProfileOrganizationDetails * Rename ProfileMemberOrganizationResponseModel back to ProfileOrganizationResponseModel * Refactor organization response models to remove Family Sponsorship properties from BaseProfileOrganizationResponseModel and reintroduce them in ProfileOrganizationResponseModel. Update related interfaces and tests accordingly. * Bump date on migration script * Update OrganizationUserOrganizationDetailsViewQuery to include UseAutomaticUserConfirmation property |
5 months ago |
|
|
3866bc5155
|
[PM-23134] Update PolicyDetails sprocs for performance (#6421)
* Add integration tests for GetByUserIdWithPolicyDetailsAsync in OrganizationUserRepository - Implemented multiple test cases to verify the behavior of GetByUserIdWithPolicyDetailsAsync for different user statuses (Confirmed, Accepted, Invited, Revoked). - Ensured that the method returns correct policy details based on user status and organization. - Added tests for scenarios with multiple organizations and non-existing policy types. - Included checks for provider users and custom user permissions. These tests enhance coverage and ensure the correctness of policy retrieval logic. * Add UserProviderAccessView to identify which organizations a user can access as a provider * Refactor PolicyDetails_ReadByUserId stored procedure to improve user access logic - Introduced a Common Table Expression (CTE) for organization users to streamline the selection process based on user status and email. - Added a CTE for providers to enhance clarity and maintainability. - Updated the main query to utilize the new CTEs, improving readability and performance. - Ensured that the procedure correctly identifies provider access based on user permissions. * Refactor OrganizationUser_ReadByUserIdWithPolicyDetails stored procedure to enhance user access logic - Introduced a Common Table Expression (CTE) for organization users to improve selection based on user status and email. - Updated the main query to utilize the new CTEs, enhancing readability and performance. - Adjusted the logic for identifying provider access to ensure accurate policy retrieval based on user permissions. * Add new SQL migration script to refactor policy details queries - Created a new view, UserProviderAccessView, to streamline user access to provider organizations. - Introduced two stored procedures: PolicyDetails_ReadByUserId and OrganizationUser_ReadByUserIdWithPolicyDetails, enhancing the logic for retrieving policy details based on user ID and policy type. - Utilized Common Table Expressions (CTEs) to improve query readability and performance, ensuring accurate policy retrieval based on user permissions and organization status. * Remove GetPolicyDetailsByUserIdTests * Refactor PolicyRequirementQuery to use GetPolicyDetailsByUserIdsAndPolicyType and update unit tests * Remove GetPolicyDetailsByUserId method from IPolicyRepository and its implementations in PolicyRepository classes * Revert changes to PolicyDetails_ReadByUserId stored procedure * Refactor OrganizationUser_ReadByUserIdWithPolicyDetails stored procedure to use UNION instead of OR * Reduce UserEmail variable size from NVARCHAR(320) to NVARCHAR(256) for consistency in stored procedures * Bump date on migration script |
5 months ago |
|
|
449603d180
|
[PM-26632] - Adding Idempotent Confirm User (#6459)
* Added repo call for idempotent user confirm. PLUS TESTS! * Code review changes |
6 months ago |
|
|
0fbc314fb4
|
[PM-24954] [PM-24955] Remove BulkResourceCreationService Feature Flag (#6428)
* chore: remove ff implementation and superflous tests, refs PM-24954 * chore: remove UpdateForKeyRotation vNext, refs PM-24954 * chore: remove CreateAsync vNext for ImportCiphersCommand, refs PM-24954 * chore: remove UpdateCiphersAsync vNext from CipherService, refs PM-24954 * chore: formatting, refs PM-24954 * chore: fix CipherRepositoryTests by removing vNext references, refs PM-24954 * chore: remove bulk cipher copy ff key, refs PM-24954 |
6 months ago |
|
|
7cefca330b
|
[PM-26050] Migrate all DefaultUserCollection when claimed user is deleted (#6366)
* feat: migrate DefaultUserCollection to SharedCollection during user deletion - Implemented migration of DefaultUserCollection to SharedCollection in EF UserRepository before deleting organization users. - Updated stored procedures User_DeleteById and User_DeleteByIds to include migration logic. - Added new migration script for updating stored procedures. * Add unit test for user deletion and DefaultUserCollection migration - Implemented a new test to verify the migration of DefaultUserCollection to SharedCollection during user deletion in UserRepository. - The test ensures that the user is deleted and the associated collection is updated correctly. * Refactor user deletion process in UserRepository - Moved migrating DefaultUserCollection to SharedCollection to happen before the deletion of user-related entities. - Updated the deletion logic to use ExecuteDeleteAsync for improved performance and clarity. - Ensured that all related entities are removed in a single transaction to maintain data integrity. * Add unit test for DeleteManyAsync in UserRepository - Implemented a new test to verify the deletion of multiple users and the migration of their DefaultUserCollections to SharedCollections. - Ensured that both users are deleted and their associated collections are updated correctly in a single transaction. * Refactor UserRepositoryTests to use test user creation methods and streamline collection creation * Ensure changes are saved after deleting users in bulk * Refactor UserRepository to simplify migration queries and remove unnecessary loops for better performance * Refactor UserRepository to encapsulate DefaultUserCollection migration logic in a separate method * Refactor UserRepository to optimize deletion queries by using joins instead of subqueries for improved performance * Refactor UserRepositoryTest DeleteManyAsync_Works to ensure GroupUser and CollectionUser deletion --------- Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com> |
6 months ago |
|
|
3a6b9564d5
|
[PM-26004] - fix DeleteByOrganizationIdAsync_ExcludesDefaultCollectionCiphers test (#6389)
* fix test * fix test |
6 months ago |
|
|
6edab46d97
|
[PM-24357] Do not purge ciphers in the default collection (#6320)
* do not purge ciphers in the default collection * Update `DeleteByOrganizationId` procedure to be more performant based on PR review feedback * update EF integration for purge to match new SQL implementation * update Cipher_DeleteByOrganizationId based on PR feedback from dbops team |
6 months ago |
|
|
d83395aeb0
|
[PM-25372] Filter out DefaultUserCollections from CiphersController.GetAssignedOrganizationCiphers (#6274)
Co-authored-by: Jimmy Vo <huynhmaivo82@gmail.com> |
7 months ago |
|
|
4e64d35f89
|
[PM-19151] [PM-19161] Innovation/archive/server (#5672)
* Added the ArchivedDate to cipher entity and response model * Created migration scripts for sqlserver and ef core migration to add the ArchivedDate column --------- Co-authored-by: gbubemismith <gsmithwalter@gmail.com> Co-authored-by: SmithThe4th <gsmith@bitwarden.com> Co-authored-by: Shane <smelton@bitwarden.com> Co-authored-by: cd-bitwarden <106776772+cd-bitwarden@users.noreply.github.com> Co-authored-by: jng <jng@bitwarden.com> |
7 months ago |
|
|
2986a883eb
|
[PM-25126] Add Bulk Policy Details (#6256)
* Added new bulk get for policy details * Query improvements to avoid unnecessary look-ups. |
7 months ago |
|
|
1b0be3e87f
|
[PM-22839] Add SSO configuration fields to organization user details for hiding device approvals page (#6245)
* Add SsoEnabled field to OrganizationUserOrganizationDetailsView - Updated OrganizationUserOrganizationDetailsViewQuery to include SsoEnabled property. - Modified SQL view to select SsoEnabled from SsoConfig. - Created migration script to alter the view and refresh dependent views. * Enhance OrganizationUserRepositoryTests to include SSO configuration - Added ISsoConfigRepository dependency to GetManyDetailsByUserAsync test. - Created SsoConfigurationData instance and integrated SSO configuration checks in assertions. - Updated tests to validate SSO-related properties in the response model. * Add SSO properties to ProfileOrganizationResponseModel and OrganizationUserOrganizationDetails - Introduced SsoEnabled and SsoMemberDecryptionType fields in ProfileOrganizationResponseModel. - Added SsoEnabled property to OrganizationUserOrganizationDetails for enhanced SSO configuration support. |
7 months ago |
|
|
1dade9d4b8
|
[PM-24233] Use BulkResourceCreationService in CipherRepository (#6201)
* Add constant for CipherRepositoryBulkResourceCreation in FeatureFlagKeys * Add bulk creation methods for Ciphers, Folders, and CollectionCiphers in BulkResourceCreationService - Implemented CreateCiphersAsync, CreateFoldersAsync, CreateCollectionCiphersAsync, and CreateTempCiphersAsync methods for bulk insertion. - Added helper methods to build DataTables for Ciphers, Folders, and CollectionCiphers. - Enhanced error handling for empty collections during bulk operations. * Refactor CipherRepository to utilize BulkResourceCreationService - Introduced IFeatureService to manage feature flag checks for bulk operations. - Updated methods to conditionally use BulkResourceCreationService for creating Ciphers, Folders, and CollectionCiphers based on feature flag status. - Enhanced existing bulk copy logic to maintain functionality while integrating feature flag checks. * Add InlineFeatureService to DatabaseDataAttribute for feature flag management - Introduced EnabledFeatureFlags property to DatabaseDataAttribute for configuring feature flags. - Integrated InlineFeatureService to provide feature flag checks within the service collection. - Enhanced GetData method to utilize feature flags for conditional service registration. * Add tests for bulk creation of Ciphers in CipherRepositoryTests - Implemented tests for bulk creation of Ciphers, Folders, and Collections with feature flag checks. - Added test cases for updating multiple Ciphers to validate bulk update functionality. - Enhanced existing test structure to ensure comprehensive coverage of bulk operations in the CipherRepository. * Refactor BulkResourceCreationService to use dynamic types for DataColumns - Updated DataColumn definitions in BulkResourceCreationService to utilize the actual types of properties from the cipher object instead of hardcoded types. - Simplified the assignment of nullable properties to directly use their values, improving code readability and maintainability. * Update BulkResourceCreationService to use specific types for DataColumns - Changed DataColumn definitions to use specific types (short and string) instead of dynamic types based on cipher properties. - Improved handling of nullable properties when assigning values to DataTable rows, ensuring proper handling of DBNull for null values. * Refactor CipherRepositoryTests for improved clarity and consistency - Renamed test methods to better reflect their purpose and improve readability. - Updated test data to use more descriptive names for users, folders, and collections. - Enhanced test structure with clear Arrange, Act, and Assert sections for better understanding of test flow. - Ensured all tests validate the expected outcomes for bulk operations with feature flag checks. * Update CipherRepositoryBulkResourceCreation feature flag key * Refactor DatabaseDataAttribute usage in CipherRepositoryTests to use array syntax for EnabledFeatureFlags * Update CipherRepositoryTests to use GenerateComb for generating unique IDs * Refactor CipherRepository methods to accept a boolean parameter for enabling bulk resource creation based on feature flags. Update tests to verify functionality with and without the feature flag enabled. * Refactor CipherRepository and related services to support new methods for bulk resource creation without boolean parameters. |
7 months ago |
|
|
8ceb6f5621
|
[PM-24278] Create Remove Individual Vault validator (#6139)
|
7 months ago |
|
|
5a712ebb6b
|
Xunit v3 (#6241)
* Initial v3 Migration * Migrate tests and debug duplicate ids * Debug duplicate ids * Support seeding * remove seeder * Upgrade to latest XUnit.v3 version * Remove Theory changes for now * Remove Theory change from DeviceRepositoryTests * Remove cancellation token additions |
7 months ago |
|
|
c189e4aaf5
|
[PM-22104] Migrate default collection when org user is removed (#6135)
* migrate default collection to a shared collection when users are removed * remove redundant logic * fix test * fix tests * fix test * clean up * add migrations * run dotnet format * clean up, refactor duplicate logic to sproc, wip integration test * fix sql * add migration for new sproc * integration test wip * integration test wip * integration test wip * integration test wip * fix integration test LINQ expression * fix using wrong Id * wip integration test for DeleteManyAsync * fix LINQ * only set DefaultUserEmail when it is null in sproc * check for null * spelling, separate create and update request models * fix test * fix child class * refactor sproc * clean up * more cleanup * fix tests * fix user email * remove unneccesary test * add DefaultUserCollectionEmail to EF query * fix test * fix EF logic to match sprocs * clean up logic * cleanup |
8 months ago |
|
|
03327cb082
|
[PM-24278] Fix sproc to return UserId (#6203)
|
8 months ago |
|
|
41f82bb357
|
[PM-23116/PM-23117] Remove deprecated feature flag MembersGetEndpointOptimization (#6179)
* Refactor OrganizationUserRepositoryTests: Swap GetManyByOrganizationWithClaimedDomainsAsync_vNext with GetManyByOrganizationWithClaimedDomainsAsync and remove outdated test * Refactor GetOrganizationUsersClaimedStatusQuery: Remove unused IFeatureService dependency and simplify domain claimed status retrieval logic. * Refactor OrganizationUserUserDetailsQuery: Remove unused IFeatureService dependency and streamline user details retrieval methods. * Refactor OrganizationUserRepository: Remove deprecated GetManyByOrganizationWithClaimedDomainsAsync_vNext method and its implementation * Remove deprecated feature flag MembersGetEndpointOptimization |
8 months ago |
|
|
f88baba66b
|
[PM-23580] Security Task Metrics (#6164)
* add metrics endpoint for an organization to return completed and total security tasks * refactor metrics fetch to use sql sproc for efficiency rather than having to pull all security task data * add separate response model for security task metrics endpoint * Pascal Case to match existing implementations * refactor org to organization for consistency with other methods * alter security task endpoint: - remove "count" from variable naming - update sproc naming * remove enablement check * replace orgId with organizationId |
8 months ago |
|
|
de13932ffe
|
[PM-22108] Add PolicyDetails_ReadByOrganizationId proc (#6019)
|
8 months ago |
|
|
ff5659cc0f
|
Add bulk default collection creation method (#6075)
|
8 months ago |
|
|
86ce3a86e9
|
[PM-20452] - Offloading Stripe Update (#6034)
* Adding job to update stripe subscriptions and increment seat count when inviting a user. * Updating name * Added ef migrations * Fixing script * Fixing procedures. Added repo tests. * Fixed set stored procedure. Fixed parameter name. * Added tests for database calls and updated stored procedures * Fixed build for sql file. * fixing sproc * File is nullsafe * Adding view to select from instead of table. * Updating UpdateSubscriptionStatus to use a CTE and do all the updates in 1 statement. * Setting revision date when incrementing seat count * Added feature flag check for the background job. * Fixing nullable property. * Removing new table and just adding the column to org. Updating to query and command. Updated tests. * Adding migration script rename * Add SyncSeats to Org.sql def * Adding contraint name * Removing old table files. * Added tests * Upped the frequency to be at the top of every 3rd hour. * Updating error message. * Removing extension method * Changed to GuidIdArray * Added xml doc and switched class to record |
8 months ago |
|
|
b00e689ff6
|
[PM-22558] Update IOrganizationUserRepository.ReplaceAsync to preserve existing access to collections of the type DefaultUserCollection (#6037)
* feat: exclude DefaultUserCollection from GetManyByOrganizationIdWithPermissionsAsync Updated EF implementation, SQL procedure, and unit test to verify that default user collections are filtered from results * Update the public CollectionsController.Get method to return a NotFoundResult for collections of type DefaultUserCollection. * Add unit tests for the public CollectionsController * Update ICollectionRepository.GetManyByOrganizationIdAsync to exclude results of the type DefaultUserCollection Modified the SQL stored procedure and the EF query to reflect this change and added a new integration test to ensure the functionality works as expected. * Refactor CollectionsController to remove unused IApplicationCacheService dependency * Update IOrganizationUserRepository.GetDetailsByIdWithCollectionsAsync to exclude DefaultUserCollections * Update IOrganizationUserRepository.GetManyDetailsByOrganizationAsync to exclude DefaultUserCollections * Undo change to GetByIdWithCollectionsAsync * Update integration test to verify exclusion of DefaultUserCollection in OrganizationUserRepository.GetDetailsByIdWithCollectionsAsync * Clarify documentation in ICollectionRepository to specify that GetManyByOrganizationIdWithAccessAsync returns only shared collections belonging to the organization. * Update IOrganizationUserRepository.ReplaceAsync to preserve existing access to collections of the type DefaultUserCollection |
8 months ago |
|
|
6dea40c868
|
[PM-23987] Fix saving to default collections by updating collection lookup (#6122)
* Refactor ICollectionRepository.GetManyByOrganizationIdAsync logic to include default user collections * Add stored procedure Collection_ReadSharedCollectionsByOrganizationId to retrieve collections by organization ID, excluding default user collections. * Add GetManySharedCollectionsByOrganizationIdAsync method to ICollectionRepository and its implementations to retrieve collections excluding default user collections. * Add unit test for GetManySharedCollectionsByOrganizationIdAsync method in CollectionRepositoryTests to verify retrieval of collections excluding default user collections. * Refactor controllers to use GetManySharedCollectionsByOrganizationIdAsync for retrieving shared collections * Update unit tests to use GetManySharedCollectionsByOrganizationIdAsync for verifying shared collections retrieval * Revert CiphersController.CanEditItemsInCollections to use GetManyByOrganizationIdAsync for retrieving organization collections * Update stored procedures to retrieve only DefaultUserCollection by modifying the WHERE clause in Collection_ReadSharedCollectionsByOrganizationId.sql and its corresponding migration script. * Update EF CollectionRepository.GetManySharedCollectionsByOrganizationIdAsync to filter collections by SharedCollection * Update OrganizationUserRepository.GetManyDetailsByOrganizationAsync_vNext to only include Shared collections * Update comments in stored procedure and migration script to clarify filtering for SharedCollections only |
8 months ago |
|
|
acd556d56f
|
[PM-21031] Optimize GET Members endpoint performance (#5907)
* Add new feature flag for Members Get Endpoint Optimization * Add a new version of OrganizationUser_ReadByOrganizationIdWithClaimedDomains that uses CTE for better performance * Add stored procedure OrganizationUserUserDetails_ReadByOrganizationId_V2 for retrieving user details, group associations, and collection associations by organization ID. * Add the sql migration script to add the new stored procedures * Introduce GetManyDetailsByOrganizationAsync_vNext and GetManyByOrganizationWithClaimedDomainsAsync_vNext in IOrganizationUserRepository to enhance performance by reducing database round trips. * Updated GetOrganizationUsersClaimedStatusQuery to use an optimized query when the feature flag is enabled * Updated OrganizationUserUserDetailsQuery to use optimized queries when the feature flag is enabled * Add integration tests for GetManyDetailsByOrganizationAsync_vNext * Add integration tests for GetManyByOrganizationWithClaimedDomainsAsync_vNext to validate behavior with verified and unverified domains. * Optimize performance by conditionally setting permissions only for Custom user types in OrganizationUserUserDetailsQuery. * Create UserEmailDomainView to extract email domains from users' email addresses * Create stored procedure Organization_ReadByClaimedUserEmailDomain_V2 that uses UserEmailDomainView to fetch Email domains * Add GetByVerifiedUserEmailDomainAsync_vNext method to IOrganizationRepository and its implementations * Refactor OrganizationUser_ReadByOrganizationIdWithClaimedDomains_V2 stored procedure to use UserEmailDomainView for email domain extraction, improving query efficiency and clarity. * Enhance IOrganizationUserRepository with detailed documentation for GetManyDetailsByOrganizationAsync method, clarifying its purpose and performance optimizations. Added remarks for better understanding of its functionality. * Fix missing newline at the end of Organization_ReadByClaimedUserEmailDomain_V2.sql to adhere to coding standards. * Update the database migration script to include UserEmailDomainView * Bumped the date on the migration script * Remove GetByVerifiedUserEmailDomainAsync_vNext method and its stored procedure. * Refactor UserEmailDomainView index creation to check for existence before creation * Update OrganizationUser_ReadByOrganizationIdWithClaimedDomains_V2 to use CTE and add indexes * Remove creation of unique clustered index from UserEmailDomainView and related migration script adjustments * Update indexes and sproc * Fix index name when checking if it already exists * Bump up date on migration script |
9 months ago |
|
|
30300bc59b
|
[PM-22103] Exclude default collections from admin apis (#6021)
* feat: exclude DefaultUserCollection from GetManyByOrganizationIdWithPermissionsAsync Updated EF implementation, SQL procedure, and unit test to verify that default user collections are filtered from results * Update the public CollectionsController.Get method to return a NotFoundResult for collections of type DefaultUserCollection. * Add unit tests for the public CollectionsController * Update ICollectionRepository.GetManyByOrganizationIdAsync to exclude results of the type DefaultUserCollection Modified the SQL stored procedure and the EF query to reflect this change and added a new integration test to ensure the functionality works as expected. * Refactor CollectionsController to remove unused IApplicationCacheService dependency * Update IOrganizationUserRepository.GetDetailsByIdWithCollectionsAsync to exclude DefaultUserCollections * Update IOrganizationUserRepository.GetManyDetailsByOrganizationAsync to exclude DefaultUserCollections * Undo change to GetByIdWithCollectionsAsync * Update integration test to verify exclusion of DefaultUserCollection in OrganizationUserRepository.GetDetailsByIdWithCollectionsAsync * Clarify documentation in ICollectionRepository to specify that GetManyByOrganizationIdWithAccessAsync returns only shared collections belonging to the organization. * Add Arrange, Act, and Assert comments to CollectionsControllerTests |
9 months ago |
|
|
20bf1455cf
|
[PM-20348] Add pending auth request endpoint (#5957)
* Feat(pm-20348): * Add migration scripts for Read Pending Auth Requests by UserId stored procedure and new `view` for pending AuthRequest. * View only returns the most recent pending authRequest, or none at all if the most recent is answered. * Implement stored procedure in AuthRequestRepository for both Dapper and Entity Framework. * Update AuthRequestController to query the new View to get a user's most recent pending auth requests response includes the requesting deviceId. * Doc: * Move summary xml comments to interface. * Added comments for the AuthRequestService. * Test: * Added testing for AuthRequestsController. * Added testing for repositories. * Added integration tests for multiple auth requests but only returning the most recent. |
9 months ago |
|
|
8bccf255c0
|
[PM-22974] Cascade delete NotificationStatus entities (#6011)
* cascade delete NotificationStatus entities * add userId to test for foreign constraint * add missing properties for Notification * add check for foreign key |
9 months ago |
|
|
d2410747d0
|
[PM-22503] Fix manage cipher permission (#5972)
* Added new tests to validate that the ciphers are being grouped and filtered correctly when assigned to multiple collections and changing order of grouping properties. |
10 months ago |
|
|
a618f97234
|
[PM 20621]Update error message when lowering seat count (#5836)
* implement the seat decrease error message * Resolve the comment regarding abstraction * Resolved the database failure Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing upgrade test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Removed the unused method * Remove the total calculation from the stored procedure * Refactoring base on pr feedback * Refactoring base on pr feedback * Resolve the fauiling database * Resolve the failing database test * Resolve the database test * Remove duplicate migrations * resolve the failing test * Removed the unneeded change * remove this file * Reverted Deleted migration * revert the added space * resolve the stored procedure name * Rename the migration name * Updated the stored procedure name * Revert the changes on the sproc * Revert unrelated changes * Remove the unused method * improved the xmldoc * Add an integration testing * Add the use of helper test class Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * remove object look up * Resolve message rollback Signed-off-by: Cy Okeke <cokeke@bitwarden.com> --------- Signed-off-by: Cy Okeke <cokeke@bitwarden.com> |
10 months ago |
|
|
c7b0c30370
|
Bump account revision date in OrgUserRepository (#5884)
Match equivalent MSSQL logic. Also ensures that the revision date is bumped when the user is revoked. |
10 months ago |
|
|
198d96e155
|
[PM-21612] [Unified] Fix unhandled error when editing an invited member (#5817)
* Check for UserId instead of passing potentially default value to bump account revision date method. * Pass explicit UserId into CipherRepository.CreateAsync method used for imports. |
11 months ago |
|
|
83478f9c69
|
[PM-13274] [Unified] Add integration tests for creating and updating collections (#5814)
|
11 months ago |
|
|
e4359f071c
|
[PM-21097] Fix: Prevent admin-added sponsored families from appearing in individual vault settings (#5767)
* Changes to resolve sponsorship showing in individual vault * Resolve the failing unit test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing test * Resolve the failing test * Resolve the failing test * fix make IsAdminInitiated nullable Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Add the isAdminInitiated property Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the database error Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the failing unit test Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the scan error Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the database issue * resolve the database build error * Resolve the database build error * Resolve the synchronization issue --------- Signed-off-by: Cy Okeke <cokeke@bitwarden.com> |
11 months ago |
|
|
15b498184f
|
Resolve platform warnings (#5798)
* Installation Repository tests * Formatting * Remove extra LastActivityDate property * Remove exclusion |
11 months ago |
|
|
6809709628
|
[PM-20064] Add cascade deletion for cipher with tasks (#5690)
* add cascade deletion for cipher tasks * add migrations for cascade delete on ciphers and security tasks * remove trailing comma * add SQL migration for PasswordHealthReportApplication - Allow cascade delete when an organization is deleted |
12 months ago |