diff --git a/Directory.Build.props b/Directory.Build.props
index 124c1910e7c2..c55a4d4cf135 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -11,15 +11,18 @@
annotations
enable
true
-
- $(WarningsNotAsErrors);BWA0001
+
+ $(WarningsNotAsErrors);BWA0001;BWA0002
critical
true
false
- false
@@ -38,4 +41,4 @@
4.18.1
-
\ No newline at end of file
+
diff --git a/bitwarden_license/src/Commercial.Core/packages.lock.json b/bitwarden_license/src/Commercial.Core/packages.lock.json
index 5f90fe68bef3..15603356411f 100644
--- a/bitwarden_license/src/Commercial.Core/packages.lock.json
+++ b/bitwarden_license/src/Commercial.Core/packages.lock.json
@@ -160,6 +160,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -256,16 +264,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -281,13 +289,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -745,6 +753,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -898,6 +921,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1157,6 +1267,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1164,7 +1275,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1182,6 +1292,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json
index d5e38efed741..a4234551f6b8 100644
--- a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json
+++ b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json
@@ -163,6 +163,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -264,16 +272,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -289,13 +297,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -838,6 +846,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1018,6 +1041,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1313,6 +1423,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1320,7 +1431,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1338,6 +1448,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1356,7 +1473,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
diff --git a/bitwarden_license/src/Scim/Program.cs b/bitwarden_license/src/Scim/Program.cs
index 02f2e00d324a..c0c3f23474a9 100644
--- a/bitwarden_license/src/Scim/Program.cs
+++ b/bitwarden_license/src/Scim/Program.cs
@@ -8,6 +8,7 @@ public static void Main(string[] args)
{
Host
.CreateDefaultBuilder(args)
+ .UseBitwardenSdk()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
diff --git a/bitwarden_license/src/Scim/Startup.cs b/bitwarden_license/src/Scim/Startup.cs
index a912562f72cd..a117d33beb05 100644
--- a/bitwarden_license/src/Scim/Startup.cs
+++ b/bitwarden_license/src/Scim/Startup.cs
@@ -127,6 +127,10 @@ public void Configure(
// Add current context
app.UseMiddleware();
+ // Gates endpoints carrying IFeatureMetadata; required in any app that
+ // routes requests through endpoints tagged with [RequireFeature].
+ app.UseFeatureFlagChecks();
+
// Add MVC to the request pipeline.
app.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute());
}
diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json
index 8625c76d6ebd..8e4b27a0a079 100644
--- a/bitwarden_license/src/Scim/packages.lock.json
+++ b/bitwarden_license/src/Scim/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -321,16 +330,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -343,13 +352,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1095,6 +1104,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1102,7 +1112,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1120,6 +1129,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1137,7 +1153,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1145,7 +1161,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1158,10 +1174,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/bitwarden_license/src/Services/Pam/packages.lock.json b/bitwarden_license/src/Services/Pam/packages.lock.json
index 7c0020671190..3ed33f6bb66f 100644
--- a/bitwarden_license/src/Services/Pam/packages.lock.json
+++ b/bitwarden_license/src/Services/Pam/packages.lock.json
@@ -150,6 +150,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -248,16 +256,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -270,13 +278,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -623,6 +631,83 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -841,6 +926,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -848,7 +934,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -866,6 +951,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/bitwarden_license/src/Sso/Program.cs b/bitwarden_license/src/Sso/Program.cs
index bac3bb3d13d8..9b9b404637fe 100644
--- a/bitwarden_license/src/Sso/Program.cs
+++ b/bitwarden_license/src/Sso/Program.cs
@@ -8,6 +8,7 @@ public static void Main(string[] args)
{
Host
.CreateDefaultBuilder(args)
+ .UseBitwardenSdk()
.ConfigureCustomAppConfiguration(args)
.ConfigureWebHostDefaults(webBuilder =>
{
diff --git a/bitwarden_license/src/Sso/Startup.cs b/bitwarden_license/src/Sso/Startup.cs
index c4c676d51f5b..303dab182b3e 100644
--- a/bitwarden_license/src/Sso/Startup.cs
+++ b/bitwarden_license/src/Sso/Startup.cs
@@ -147,6 +147,9 @@ public void Configure(
// Add Mvc stuff
app.UseAuthorization();
+ // Gates endpoints carrying IFeatureMetadata; required in any app that
+ // routes requests through endpoints tagged with [RequireFeature].
+ app.UseFeatureFlagChecks();
app.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute());
// Log startup
diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json
index 6f465e25e41e..657d2b535338 100644
--- a/bitwarden_license/src/Sso/packages.lock.json
+++ b/bitwarden_license/src/Sso/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -330,16 +339,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -352,13 +361,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1134,6 +1143,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1141,7 +1151,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1159,6 +1168,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1176,7 +1192,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1184,7 +1200,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1197,10 +1213,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json
index d7910e3d6d94..f06c77275e2f 100644
--- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json
+++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json
@@ -213,6 +213,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -339,16 +347,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -364,13 +372,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -852,6 +860,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.ObjectPool": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1048,6 +1071,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1341,7 +1451,7 @@
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1350,7 +1460,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1372,6 +1482,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1379,7 +1490,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1397,6 +1507,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1416,8 +1533,8 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Common": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.Diagnostics.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
diff --git a/bitwarden_license/test/SSO.Test/packages.lock.json b/bitwarden_license/test/SSO.Test/packages.lock.json
index 95ba88612159..b00be417683a 100644
--- a/bitwarden_license/test/SSO.Test/packages.lock.json
+++ b/bitwarden_license/test/SSO.Test/packages.lock.json
@@ -230,6 +230,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -361,16 +369,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -386,13 +394,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1633,7 +1641,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1655,6 +1663,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1662,7 +1671,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1680,6 +1688,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1697,7 +1712,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1705,7 +1720,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1718,17 +1733,26 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
},
"sso": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1736,7 +1760,7 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )",
+ "SharedWeb": "[2026.6.2, )",
"Sustainsys.Saml2.AspNetCore2": "[2.11.0, 2.11.0]"
}
}
diff --git a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json
index d9b61693da29..fd3554410692 100644
--- a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json
+++ b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json
@@ -234,6 +234,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -378,16 +386,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -400,13 +408,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1278,7 +1286,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1300,6 +1308,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1307,7 +1316,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1325,6 +1333,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1342,7 +1357,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1350,13 +1366,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1364,7 +1380,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1377,17 +1393,17 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.1, )",
- "Identity": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1398,7 +1414,8 @@
"scim": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1406,26 +1423,34 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"seeder": {
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/bitwarden_license/test/Scim.Test/packages.lock.json b/bitwarden_license/test/Scim.Test/packages.lock.json
index d17a84f4c0f2..02d12d00e509 100644
--- a/bitwarden_license/test/Scim.Test/packages.lock.json
+++ b/bitwarden_license/test/Scim.Test/packages.lock.json
@@ -230,6 +230,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -361,16 +369,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -386,13 +394,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1593,7 +1601,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1615,6 +1623,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1622,7 +1631,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1640,6 +1648,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1657,7 +1672,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1665,7 +1680,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1678,7 +1693,8 @@
"scim": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1686,16 +1702,24 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/bitwarden_license/test/Services/Pam.Test/packages.lock.json b/bitwarden_license/test/Services/Pam.Test/packages.lock.json
index 603b17d76ff9..32bb468d0416 100644
--- a/bitwarden_license/test/Services/Pam.Test/packages.lock.json
+++ b/bitwarden_license/test/Services/Pam.Test/packages.lock.json
@@ -187,6 +187,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -288,16 +296,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -313,13 +321,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -782,6 +790,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -949,6 +972,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1234,13 +1344,6 @@
"ZiggyCreatures.FusionCache": "2.0.2"
}
},
- "pam": {
- "type": "Project",
- "dependencies": {
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )"
- }
- },
"core": {
"type": "Project",
"dependencies": {
@@ -1255,6 +1358,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1262,7 +1366,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1280,6 +1383,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1296,6 +1406,13 @@
},
"httpextensions": {
"type": "Project"
+ },
+ "pam": {
+ "type": "Project",
+ "dependencies": {
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )"
+ }
}
}
}
diff --git a/bitwarden_license/test/Sso.IntegrationTest/packages.lock.json b/bitwarden_license/test/Sso.IntegrationTest/packages.lock.json
index defc181251d2..f3f145206ef9 100644
--- a/bitwarden_license/test/Sso.IntegrationTest/packages.lock.json
+++ b/bitwarden_license/test/Sso.IntegrationTest/packages.lock.json
@@ -234,6 +234,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -378,16 +386,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -400,13 +408,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1316,7 +1324,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1338,6 +1346,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1345,7 +1354,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1363,6 +1371,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1380,7 +1395,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1388,13 +1404,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1402,7 +1418,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1415,17 +1431,17 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.1, )",
- "Identity": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1437,26 +1453,35 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
},
"sso": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1464,7 +1489,7 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )",
+ "SharedWeb": "[2026.6.2, )",
"Sustainsys.Saml2.AspNetCore2": "[2.11.0, 2.11.0]"
}
}
diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json
index 005c04ccc13d..219c3830adca 100644
--- a/perf/MicroBenchmarks/packages.lock.json
+++ b/perf/MicroBenchmarks/packages.lock.json
@@ -185,6 +185,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -306,16 +314,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -331,13 +339,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1553,6 +1561,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1560,7 +1569,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1578,6 +1586,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1595,7 +1610,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1603,13 +1619,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1617,7 +1633,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1630,10 +1646,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/Admin/Startup.cs b/src/Admin/Startup.cs
index acbdc300ac15..53e971ffcb90 100644
--- a/src/Admin/Startup.cs
+++ b/src/Admin/Startup.cs
@@ -159,6 +159,9 @@ public void Configure(
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
+ // Gates endpoints carrying IFeatureMetadata; required in any app that
+ // routes requests through endpoints tagged with [RequireFeature].
+ app.UseFeatureFlagChecks();
app.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute());
}
}
diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json
index a40eec3eb9aa..29596519e26c 100644
--- a/src/Admin/packages.lock.json
+++ b/src/Admin/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -335,16 +344,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -357,13 +366,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1103,7 +1112,7 @@
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1111,8 +1120,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"core": {
@@ -1129,6 +1138,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1136,7 +1146,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1154,6 +1163,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1171,7 +1187,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1179,7 +1195,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1192,7 +1208,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1200,32 +1216,40 @@
"mysqlmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"postgresmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
},
"sqlitemigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
}
}
diff --git a/src/Api/Controllers/ConfigController.cs b/src/Api/Controllers/ConfigController.cs
index 9f38a644c2aa..899e5b369113 100644
--- a/src/Api/Controllers/ConfigController.cs
+++ b/src/Api/Controllers/ConfigController.cs
@@ -1,7 +1,6 @@
using Bit.Api.Models.Response;
-using Bit.Core.Services;
using Bit.Core.Settings;
-
+using Bitwarden.Server.Sdk.Features;
using Microsoft.AspNetCore.Mvc;
namespace Bit.Api.Controllers;
diff --git a/src/Api/Models/Response/ConfigResponseModel.cs b/src/Api/Models/Response/ConfigResponseModel.cs
index f188f2d4804f..490e28bb020e 100644
--- a/src/Api/Models/Response/ConfigResponseModel.cs
+++ b/src/Api/Models/Response/ConfigResponseModel.cs
@@ -1,12 +1,13 @@
// FIXME: Update this file to be null safe and then delete the line below
#nullable disable
+using System.Text.Json;
+using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using Bit.Core;
using Bit.Core.Enums;
using Bit.Core.Models.Api;
-using Bit.Core.Services;
using Bit.Core.Settings;
using Bit.Core.Utilities;
@@ -18,7 +19,7 @@ public class ConfigResponseModel : ResponseModel
public string GitHash { get; set; }
public ServerConfigResponseModel Server { get; set; }
public EnvironmentConfigResponseModel Environment { get; set; }
- public IDictionary FeatureStates { get; set; }
+ public IReadOnlyDictionary FeatureStates { get; set; }
public PushSettings Push { get; set; }
public CommunicationSettings Communication { get; set; }
public ServerSettingsResponseModel Settings { get; set; }
@@ -28,12 +29,12 @@ public ConfigResponseModel() : base("config")
Version = AssemblyHelpers.GetVersion();
GitHash = AssemblyHelpers.GetGitHash();
Environment = new EnvironmentConfigResponseModel();
- FeatureStates = new Dictionary();
+ FeatureStates = new Dictionary();
Settings = new ServerSettingsResponseModel();
}
public ConfigResponseModel(
- IFeatureService featureService,
+ Bitwarden.Server.Sdk.Features.IFeatureService featureService,
IGlobalSettings globalSettings
) : base("config")
{
@@ -50,7 +51,8 @@ IGlobalSettings globalSettings
FillAssistRules = globalSettings.BaseServiceUri.FillAssistRules
};
FeatureStates = featureService.GetAll();
- var webPushEnabled = FeatureStates.TryGetValue(FeatureFlagKeys.WebPush, out var webPushEnabledValue) ? (bool)webPushEnabledValue : false;
+ var webPushEnabled = FeatureStates.TryGetValue(FeatureFlagKeys.WebPush, out var webPushEnabledValue)
+ && webPushEnabledValue?.GetValueKind() == JsonValueKind.True;
Push = PushSettings.Build(webPushEnabled, globalSettings);
Communication = CommunicationSettings.Build(globalSettings);
Settings = new ServerSettingsResponseModel
diff --git a/src/Api/Startup.cs b/src/Api/Startup.cs
index 85f9008763c2..b755e286ac50 100644
--- a/src/Api/Startup.cs
+++ b/src/Api/Startup.cs
@@ -278,6 +278,10 @@ public void Configure(
// Add current context
app.UseMiddleware();
+ // Gates endpoints carrying IFeatureMetadata; required in any app that
+ // routes requests through endpoints tagged with [RequireFeature].
+ app.UseFeatureFlagChecks();
+
// Add endpoints to the request pipeline.
app.UseEndpoints(endpoints =>
{
diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json
index c0346e29ff5c..d8228a987824 100644
--- a/src/Api/packages.lock.json
+++ b/src/Api/packages.lock.json
@@ -27,6 +27,15 @@
"Azure.Messaging.EventGrid.SystemEvents": "1.0.0"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -366,16 +375,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -388,13 +397,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1139,7 +1148,7 @@
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1147,15 +1156,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
- }
- },
- "pam": {
- "type": "Project",
- "dependencies": {
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"core": {
@@ -1172,6 +1174,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1179,7 +1182,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1197,6 +1199,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1217,7 +1226,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1225,7 +1234,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1235,13 +1244,28 @@
"linq2db.EntityFrameworkCore": "[8.1.0, 8.1.0]"
}
},
+ "pam": {
+ "type": "Project",
+ "dependencies": {
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )"
+ }
+ },
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/Billing/Billing.csproj b/src/Billing/Billing.csproj
index 74b2ddf2d057..9b0a5c6a7a45 100644
--- a/src/Billing/Billing.csproj
+++ b/src/Billing/Billing.csproj
@@ -7,12 +7,6 @@
$(WarningsNotAsErrors);CA1305
-
-
- false
- false
-
-
diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json
index 70fc8eba4d38..f42a6c8840c7 100644
--- a/src/Billing/packages.lock.json
+++ b/src/Billing/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Markdig": {
"type": "Direct",
"requested": "[1.1.0, 1.1.0]",
@@ -339,16 +348,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -361,13 +370,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1112,7 +1121,7 @@
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1130,6 +1139,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1137,7 +1147,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1155,6 +1164,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1172,7 +1188,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1180,7 +1196,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1193,10 +1209,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj
index 5d6466dfef6e..7c4ce3f690f0 100644
--- a/src/Core/Core.csproj
+++ b/src/Core/Core.csproj
@@ -1,4 +1,5 @@

+
false
@@ -64,7 +65,6 @@
-
diff --git a/src/Core/Services/IFeatureService.cs b/src/Core/Services/IFeatureService.cs
index d1a7344ddb5d..df1dd1fd7d06 100644
--- a/src/Core/Services/IFeatureService.cs
+++ b/src/Core/Services/IFeatureService.cs
@@ -1,16 +1,11 @@
-// FIXME: Update this file to be null safe and then delete the line below
-#nullable disable
-
-namespace Bit.Core.Services;
+namespace Bit.Core.Services;
+///
+/// Should not be used, use instead.
+///
+[Obsolete("Use Bitwarden.Server.Sdk.Features.IFeatureService instead", DiagnosticId = "BWA0002")]
public interface IFeatureService
{
- ///
- /// Checks whether online access to feature status is available.
- ///
- /// True if the service is online, otherwise false.
- bool IsOnline();
-
///
/// Checks whether a given feature is enabled.
///
@@ -33,11 +28,5 @@ public interface IFeatureService
/// The key of the feature to check.
/// The default value for the feature.
/// The feature variation value.
- string GetStringVariation(string key, string defaultValue = null);
-
- ///
- /// Gets all feature values.
- ///
- /// A dictionary of feature keys and their values.
- Dictionary GetAll();
+ string? GetStringVariation(string key, string? defaultValue = null);
}
diff --git a/src/Core/Services/Implementations/DelegatingFeatureService.cs b/src/Core/Services/Implementations/DelegatingFeatureService.cs
new file mode 100644
index 000000000000..7d3dc2e035c4
--- /dev/null
+++ b/src/Core/Services/Implementations/DelegatingFeatureService.cs
@@ -0,0 +1,27 @@
+namespace Bit.Core.Services.Implementations;
+
+public class DelegatingFeatureService : IFeatureService
+{
+ private readonly Bitwarden.Server.Sdk.Features.IFeatureService _featureService;
+
+ public DelegatingFeatureService(
+ Bitwarden.Server.Sdk.Features.IFeatureService featureService)
+ {
+ _featureService = featureService;
+ }
+
+ public bool IsEnabled(string key, bool defaultValue = false)
+ {
+ return _featureService.IsEnabled(key, defaultValue);
+ }
+
+ public int GetIntVariation(string key, int defaultValue = 0)
+ {
+ return _featureService.GetIntVariation(key, defaultValue);
+ }
+
+ public string? GetStringVariation(string key, string? defaultValue = null)
+ {
+ return _featureService.GetStringVariation(key, defaultValue);
+ }
+}
diff --git a/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs b/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs
deleted file mode 100644
index f118146cb17f..000000000000
--- a/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs
+++ /dev/null
@@ -1,266 +0,0 @@
-// FIXME: Update this file to be null safe and then delete the line below
-#nullable disable
-
-using Bit.Core.Auth.Identity;
-using Bit.Core.Context;
-using Bit.Core.Settings;
-using Bit.Core.Utilities;
-using LaunchDarkly.Logging;
-using LaunchDarkly.Sdk;
-using LaunchDarkly.Sdk.Server;
-using LaunchDarkly.Sdk.Server.Integrations;
-using LaunchDarkly.Sdk.Server.Interfaces;
-
-namespace Bit.Core.Services;
-
-public class LaunchDarklyFeatureService : IFeatureService
-{
- private readonly ILdClient _client;
- private readonly ICurrentContext _currentContext;
- private const string _anonymousUser = "25a15cac-58cf-4ac0-ad0f-b17c4bd92294";
-
- private const string _contextKindDevice = "device";
- private const string _contextKindOrganization = "organization";
- private const string _contextKindServiceAccount = "service-account";
-
- private const string _contextAttributeClientVersion = "client-version";
- private const string _contextAttributeClientVersionIsPrerelease = "client-version-is-prerelease";
- private const string _contextAttributeDeviceType = "device-type";
- private const string _contextAttributeClientType = "client-type";
- private const string _contextAttributeOrganizations = "organizations";
-
- public LaunchDarklyFeatureService(
- ILdClient client,
- ICurrentContext currentContext)
- {
- _client = client;
- _currentContext = currentContext;
- }
-
- public static Configuration GetConfiguredClient(GlobalSettings globalSettings)
- {
- var ldConfig = Configuration.Builder(globalSettings.LaunchDarkly?.SdkKey);
- ldConfig.Logging(Components.Logging().Level(LogLevel.Error));
-
- if (!string.IsNullOrEmpty(globalSettings.ProjectName))
- {
- ldConfig.ApplicationInfo(Components.ApplicationInfo()
- .ApplicationId(globalSettings.ProjectName)
- .ApplicationName(globalSettings.ProjectName)
- .ApplicationVersion(AssemblyHelpers.GetGitHash() ?? $"v{AssemblyHelpers.GetVersion()}")
- .ApplicationVersionName(AssemblyHelpers.GetVersion())
- );
- }
-
- if (string.IsNullOrEmpty(globalSettings.LaunchDarkly?.SdkKey))
- {
- // support a file to load flag values
- if (File.Exists(globalSettings.LaunchDarkly?.FlagDataFilePath))
- {
- ldConfig.DataSource(
- FileData.DataSource()
- .FilePaths(globalSettings.LaunchDarkly?.FlagDataFilePath)
- .AutoUpdate(true)
- );
- }
- // support configuration directly from settings
- else if (globalSettings.LaunchDarkly?.FlagValues?.Any() is true)
- {
- ldConfig.DataSource(BuildDataSource(globalSettings.LaunchDarkly.FlagValues));
- }
- // support local overrides
- else if (FeatureFlagKeys.GetLocalOverrideFlagValues()?.Any() is true)
- {
- ldConfig.DataSource(BuildDataSource(FeatureFlagKeys.GetLocalOverrideFlagValues()));
- }
- else
- {
- // when fallbacks aren't available, work offline
- ldConfig.Offline(true);
- }
-
- // do not provide analytics events
- ldConfig.Events(Components.NoEvents);
- }
- else if (globalSettings.SelfHosted)
- {
- // when self-hosted, work offline
- ldConfig.Offline(true);
- }
-
- return ldConfig.Build();
- }
-
- public bool IsOnline()
- {
- return _client.Initialized && !_client.IsOffline();
- }
-
- public bool IsEnabled(string key, bool defaultValue = false)
- {
- return _client.BoolVariation(key, BuildContext(), defaultValue);
- }
-
- public int GetIntVariation(string key, int defaultValue = 0)
- {
- return _client.IntVariation(key, BuildContext(), defaultValue);
- }
-
- public string GetStringVariation(string key, string defaultValue = null)
- {
- return _client.StringVariation(key, BuildContext(), defaultValue);
- }
-
- public Dictionary GetAll()
- {
- var results = new Dictionary();
-
- var keys = FeatureFlagKeys.GetAllKeys();
-
- var values = _client.AllFlagsState(BuildContext());
- if (values.Valid)
- {
- foreach (var key in keys)
- {
- var value = values.GetFlagValueJson(key);
- switch (value.Type)
- {
- case LdValueType.Bool:
- results.Add(key, value.AsBool);
- break;
-
- case LdValueType.Number:
- results.Add(key, value.AsInt);
- break;
-
- case LdValueType.String:
- results.Add(key, value.AsString);
- break;
- }
- }
- }
-
- return results;
- }
-
- private LaunchDarkly.Sdk.Context BuildContext()
- {
- void SetCommonContextAttributes(ContextBuilder builder)
- {
- if (_currentContext.ClientVersion != null)
- {
- builder.Set(_contextAttributeClientVersion, _currentContext.ClientVersion.ToString());
- builder.Set(_contextAttributeClientVersionIsPrerelease, _currentContext.ClientVersionIsPrerelease);
- }
-
- if (_currentContext.DeviceType.HasValue)
- {
- builder.Set(_contextAttributeDeviceType, (int)_currentContext.DeviceType.Value);
- builder.Set(_contextAttributeClientType, (int)DeviceTypes.ToClientType(_currentContext.DeviceType.Value));
- }
- }
-
- var builder = LaunchDarkly.Sdk.Context.MultiBuilder();
-
- if (!string.IsNullOrWhiteSpace(_currentContext.DeviceIdentifier))
- {
- var ldDevice = LaunchDarkly.Sdk.Context.Builder(_currentContext.DeviceIdentifier);
-
- ldDevice.Kind(_contextKindDevice);
- SetCommonContextAttributes(ldDevice);
-
- builder.Add(ldDevice.Build());
- }
-
- switch (_currentContext.IdentityClientType)
- {
- case IdentityClientType.User:
- {
- ContextBuilder ldUser;
- if (_currentContext.UserId.HasValue)
- {
- ldUser = LaunchDarkly.Sdk.Context.Builder(_currentContext.UserId.Value.ToString());
- }
- else
- {
- // group all unauthenticated activity under one anonymous user key and mark as such
- ldUser = LaunchDarkly.Sdk.Context.Builder(_anonymousUser);
- ldUser.Anonymous(true);
- }
-
- ldUser.Kind(ContextKind.Default);
- SetCommonContextAttributes(ldUser);
-
- if (_currentContext.Organizations?.Any() ?? false)
- {
- var ldOrgs = _currentContext.Organizations.Select(o => LdValue.Of(o.Id.ToString()));
- ldUser.Set(_contextAttributeOrganizations, LdValue.ArrayFrom(ldOrgs));
- }
-
- builder.Add(ldUser.Build());
- }
- break;
-
- case IdentityClientType.Organization:
- {
- if (_currentContext.OrganizationId.HasValue)
- {
- var ldOrg = LaunchDarkly.Sdk.Context.Builder(_currentContext.OrganizationId.Value.ToString());
-
- ldOrg.Kind(_contextKindOrganization);
- SetCommonContextAttributes(ldOrg);
-
- builder.Add(ldOrg.Build());
- }
- }
- break;
-
- case IdentityClientType.ServiceAccount:
- {
- if (_currentContext.UserId.HasValue)
- {
- var ldServiceAccount = LaunchDarkly.Sdk.Context.Builder(_currentContext.UserId.Value.ToString());
-
- ldServiceAccount.Kind(_contextKindServiceAccount);
- SetCommonContextAttributes(ldServiceAccount);
-
- builder.Add(ldServiceAccount.Build());
- }
- else if (_currentContext.OrganizationId.HasValue)
- {
- var ldServiceAccount = LaunchDarkly.Sdk.Context.Builder(_currentContext.OrganizationId.Value.ToString());
-
- ldServiceAccount.Kind(_contextKindServiceAccount);
- SetCommonContextAttributes(ldServiceAccount);
-
- builder.Add(ldServiceAccount.Build());
- }
- }
- break;
- }
-
- return builder.Build();
- }
-
- private static TestData BuildDataSource(Dictionary values)
- {
- var source = TestData.DataSource();
- foreach (var kvp in values)
- {
- if (bool.TryParse(kvp.Value, out var boolValue))
- {
- source.Update(source.Flag(kvp.Key).ValueForAll(LdValue.Of(boolValue)));
- }
- else if (int.TryParse(kvp.Value, out var intValue))
- {
- source.Update(source.Flag(kvp.Key).ValueForAll(LdValue.Of(intValue)));
- }
- else
- {
- source.Update(source.Flag(kvp.Key).ValueForAll(LdValue.Of(kvp.Value)));
- }
- }
-
- return source;
- }
-}
diff --git a/src/Core/Services/Implementations/ServerContextBuilder.cs b/src/Core/Services/Implementations/ServerContextBuilder.cs
new file mode 100644
index 000000000000..0117f0467a6a
--- /dev/null
+++ b/src/Core/Services/Implementations/ServerContextBuilder.cs
@@ -0,0 +1,141 @@
+using Bit.Core.Auth.Identity;
+using Bit.Core.Context;
+using Bit.Core.Utilities;
+using Bitwarden.Server.Sdk.Features;
+using LaunchDarkly.Sdk;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Bit.Core.Services.Implementations;
+
+public class ServerContextBuilder : IContextBuilder
+{
+ private const string _anonymousUser = "25a15cac-58cf-4ac0-ad0f-b17c4bd92294";
+
+ private const string _contextKindDevice = "device";
+ private const string _contextKindOrganization = "organization";
+ private const string _contextKindServiceAccount = "service-account";
+
+ private const string _contextAttributeClientVersion = "client-version";
+ private const string _contextAttributeClientVersionIsPrerelease = "client-version-is-prerelease";
+ private const string _contextAttributeDeviceType = "device-type";
+ private const string _contextAttributeClientType = "client-type";
+ private const string _contextAttributeOrganizations = "organizations";
+
+ private readonly IHttpContextAccessor _httpContextAccessor;
+
+ public ServerContextBuilder(IHttpContextAccessor httpContextAccessor)
+ {
+ _httpContextAccessor = httpContextAccessor;
+ }
+
+ public LaunchDarkly.Sdk.Context Build()
+ {
+ var currentContext = _httpContextAccessor.HttpContext
+ ?.RequestServices.GetRequiredService();
+
+ if (currentContext is null)
+ {
+ return LaunchDarkly.Sdk.Context.Builder(_anonymousUser)
+ .Kind(ContextKind.Default)
+ .Anonymous(true)
+ .Build();
+ }
+
+ var builder = LaunchDarkly.Sdk.Context.MultiBuilder();
+
+ if (!string.IsNullOrWhiteSpace(currentContext.DeviceIdentifier))
+ {
+ var ldDevice = LaunchDarkly.Sdk.Context.Builder(currentContext.DeviceIdentifier);
+
+ ldDevice.Kind(_contextKindDevice);
+ SetCommonContextAttributes(ldDevice);
+
+ builder.Add(ldDevice.Build());
+ }
+
+ switch (currentContext.IdentityClientType)
+ {
+ case IdentityClientType.User:
+ {
+ ContextBuilder ldUser;
+ if (currentContext.UserId.HasValue)
+ {
+ ldUser = LaunchDarkly.Sdk.Context.Builder(currentContext.UserId.Value.ToString());
+ }
+ else
+ {
+ // group all unauthenticated activity under one anonymous user key and mark as such
+ ldUser = LaunchDarkly.Sdk.Context.Builder(_anonymousUser);
+ ldUser.Anonymous(true);
+ }
+
+ ldUser.Kind(ContextKind.Default);
+ SetCommonContextAttributes(ldUser);
+
+ if (currentContext.Organizations?.Any() ?? false)
+ {
+ var ldOrgs = currentContext.Organizations.Select(o => LdValue.Of(o.Id.ToString()));
+ ldUser.Set(_contextAttributeOrganizations, LdValue.ArrayFrom(ldOrgs));
+ }
+
+ builder.Add(ldUser.Build());
+ }
+ break;
+
+ case IdentityClientType.Organization:
+ {
+ if (currentContext.OrganizationId.HasValue)
+ {
+ var ldOrg = LaunchDarkly.Sdk.Context.Builder(currentContext.OrganizationId.Value.ToString());
+
+ ldOrg.Kind(_contextKindOrganization);
+ SetCommonContextAttributes(ldOrg);
+
+ builder.Add(ldOrg.Build());
+ }
+ }
+ break;
+
+ case IdentityClientType.ServiceAccount:
+ {
+ if (currentContext.UserId.HasValue)
+ {
+ var ldServiceAccount = LaunchDarkly.Sdk.Context.Builder(currentContext.UserId.Value.ToString());
+
+ ldServiceAccount.Kind(_contextKindServiceAccount);
+ SetCommonContextAttributes(ldServiceAccount);
+
+ builder.Add(ldServiceAccount.Build());
+ }
+ else if (currentContext.OrganizationId.HasValue)
+ {
+ var ldServiceAccount = LaunchDarkly.Sdk.Context.Builder(currentContext.OrganizationId.Value.ToString());
+
+ ldServiceAccount.Kind(_contextKindServiceAccount);
+ SetCommonContextAttributes(ldServiceAccount);
+
+ builder.Add(ldServiceAccount.Build());
+ }
+ }
+ break;
+ }
+
+ return builder.Build();
+
+ void SetCommonContextAttributes(ContextBuilder builder)
+ {
+ if (currentContext.ClientVersion != null)
+ {
+ builder.Set(_contextAttributeClientVersion, currentContext.ClientVersion.ToString());
+ builder.Set(_contextAttributeClientVersionIsPrerelease, currentContext.ClientVersionIsPrerelease);
+ }
+
+ if (currentContext.DeviceType.HasValue)
+ {
+ builder.Set(_contextAttributeDeviceType, (int)currentContext.DeviceType.Value);
+ builder.Set(_contextAttributeClientType, (int)DeviceTypes.ToClientType(currentContext.DeviceType.Value));
+ }
+ }
+ }
+}
diff --git a/src/Core/Utilities/RequireFeatureAttribute.cs b/src/Core/Utilities/RequireFeatureAttribute.cs
index 62343e891887..5e9fb17d037d 100644
--- a/src/Core/Utilities/RequireFeatureAttribute.cs
+++ b/src/Core/Utilities/RequireFeatureAttribute.cs
@@ -9,6 +9,7 @@ namespace Bit.Core.Utilities;
/// Specifies that the class or method that this attribute is applied to requires the specified boolean feature flag
/// to be enabled. If the feature flag is not enabled, a is thrown
///
+[Obsolete("Use Bitwarden.Server.Sdk.Features.RequireFeatureAttribute instead", DiagnosticId = "BWA0002")]
public class RequireFeatureAttribute : ActionFilterAttribute
{
private readonly string _featureFlagKey;
diff --git a/src/Core/packages.lock.json b/src/Core/packages.lock.json
index 9be0c037339c..f11f2225c1b6 100644
--- a/src/Core/packages.lock.json
+++ b/src/Core/packages.lock.json
@@ -113,6 +113,15 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Braintree": {
"type": "Direct",
"requested": "[5.36.0, 5.36.0]",
@@ -170,19 +179,6 @@
"resolved": "2.1.6",
"contentHash": "WsYWCEXsIM6hEOSOSRHtIYLjC8BnbT5MVmqhNKRqUI7qiv0t8x3nJiBTEv0ZZfvUAMAFnadGIzSsS/U2anVG1Q=="
},
- "LaunchDarkly.ServerSdk": {
- "type": "Direct",
- "requested": "[8.11.0, 8.11.0]",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
- "dependencies": {
- "LaunchDarkly.Cache": "1.0.2",
- "LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
- "LaunchDarkly.Logging": "2.0.0"
- }
- },
"MailKit": {
"type": "Direct",
"requested": "[4.16.0, 4.16.0]",
@@ -380,6 +376,76 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Direct",
+ "requested": "[1.15.3, )",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Direct",
+ "requested": "[1.15.3, )",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Direct",
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Direct",
+ "requested": "[1.12.0-beta.2, )",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Direct",
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Direct",
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Direct",
+ "requested": "[1.12.0-beta.3, )",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Direct",
"requested": "[1.4.0, 1.4.0]",
@@ -600,16 +666,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -623,6 +689,18 @@
"Microsoft.Extensions.Logging.Abstractions": "6.0.0"
}
},
+ "LaunchDarkly.ServerSdk": {
+ "type": "Transitive",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
+ "dependencies": {
+ "LaunchDarkly.Cache": "1.0.2",
+ "LaunchDarkly.CommonSdk": "7.1.1",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
+ "LaunchDarkly.Logging": "2.0.0"
+ }
+ },
"libsodium": {
"type": "Transitive",
"resolved": "1.0.18.2",
@@ -907,6 +985,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1050,6 +1143,30 @@
"libsodium": "[1.0.18.2, 1.0.19)"
}
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
"Pipelines.Sockets.Unofficial": {
"type": "Transitive",
"resolved": "2.2.8",
diff --git a/src/Events/Startup.cs b/src/Events/Startup.cs
index 878142b7fa81..1cebe7bbb6f9 100644
--- a/src/Events/Startup.cs
+++ b/src/Events/Startup.cs
@@ -71,7 +71,7 @@ public void ConfigureServices(IServiceCollection services)
services.AddEventWriteServices(globalSettings);
services.AddScoped();
- services.AddOptionality();
+ services.ApplyServerCompatibilityLayer();
// Mvc
services.AddMvc(config =>
@@ -125,6 +125,10 @@ public void Configure(
// Add current context
app.UseMiddleware();
+ // Gates endpoints carrying IFeatureMetadata; required in any app that
+ // routes requests through endpoints tagged with [RequireFeature].
+ app.UseFeatureFlagChecks();
+
// Add MVC to the request pipeline.
app.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute());
}
diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json
index 8625c76d6ebd..8e4b27a0a079 100644
--- a/src/Events/packages.lock.json
+++ b/src/Events/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -321,16 +330,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -343,13 +352,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1095,6 +1104,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1102,7 +1112,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1120,6 +1129,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1137,7 +1153,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1145,7 +1161,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1158,10 +1174,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json
index 8625c76d6ebd..8e4b27a0a079 100644
--- a/src/EventsProcessor/packages.lock.json
+++ b/src/EventsProcessor/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -321,16 +330,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -343,13 +352,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1095,6 +1104,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1102,7 +1112,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1120,6 +1129,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1137,7 +1153,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1145,7 +1161,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1158,10 +1174,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/HttpExtensions/packages.lock.json b/src/HttpExtensions/packages.lock.json
index cefa69043d66..4a91a8cd78fb 100644
--- a/src/HttpExtensions/packages.lock.json
+++ b/src/HttpExtensions/packages.lock.json
@@ -1,886 +1,6 @@
{
"version": 1,
"dependencies": {
- "net10.0": {
- "AdaptiveCards": {
- "type": "Transitive",
- "resolved": "3.1.0",
- "contentHash": "b+sPwH0oyAflpgxCyNPMzH92xrQjWl6GuuEBv86/VhO6iHhiWv+PtwzqMS70nOXZQRzpl9YVHXAvn+dKot5IBQ==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "AspNetCoreRateLimit": {
- "type": "Transitive",
- "resolved": "5.0.0",
- "contentHash": "6fq9+o1maGADUmpK/PvcF0DtXW2+7bSkIL7MDIo/agbIHKN8XkMQF4oze60DO731WaQmHmK260hB30FwPzCmEg==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.2"
- }
- },
- "AspNetCoreRateLimit.Redis": {
- "type": "Transitive",
- "resolved": "2.0.0",
- "contentHash": "3g6Mb4Y+rW14/oE7Qt8WFA9zS7XNdHx7TH3k/XQix7PtUWEZSSAK+VsqDhDIPkUysUHFBDUA7olNeTjytpzA/g==",
- "dependencies": {
- "AspNetCoreRateLimit": "5.0.0",
- "StackExchange.Redis": "2.6.80"
- }
- },
- "AWSSDK.Core": {
- "type": "Transitive",
- "resolved": "4.0.3.3",
- "contentHash": "YQv10JuxnciWh0QwnkarSbge4gXQV1qTURf5jkBjNUH/3jYS9QrbxopA4TK1qdjfOfP37tqiJkLSrRRNqX81aw=="
- },
- "AWSSDK.SimpleEmail": {
- "type": "Transitive",
- "resolved": "4.0.2.5",
- "contentHash": "LvV5mXlvpR3fTAJysO3KmUC6bR/KUZpdkcMJ5b6lYNpStlsFN+MXcaMh34TuwYaTCgIjF3bJb4oZifFkgh+Ccw==",
- "dependencies": {
- "AWSSDK.Core": "[4.0.3.3, 5.0.0)"
- }
- },
- "AWSSDK.SQS": {
- "type": "Transitive",
- "resolved": "4.0.2.5",
- "contentHash": "bHA9m/2RZHNKt6NGvQ56rfEDj/pfUlcwPeCg2HmPJ3jZPyoerBuEsYvFkMP3YJNv3aoycNWZoiDk0/ULP0tEyA==",
- "dependencies": {
- "AWSSDK.Core": "[4.0.3.3, 5.0.0)"
- }
- },
- "Azure.Core": {
- "type": "Transitive",
- "resolved": "1.47.3",
- "contentHash": "u/uCNtUWT+Q/Is7/PAMy3KP9kq5vY5klRnyAvRxO/kEa5OnV3/X5lHlCajNANC7vmej6jAqceqLBJNO/VyCKzg==",
- "dependencies": {
- "Microsoft.Bcl.AsyncInterfaces": "8.0.0",
- "System.ClientModel": "1.6.1",
- "System.Memory.Data": "8.0.1"
- }
- },
- "Azure.Core.Amqp": {
- "type": "Transitive",
- "resolved": "1.3.1",
- "contentHash": "AY1ZM4WwLBb9L2WwQoWs7wS2XKYg83tp3yVVdgySdebGN0FuIszuEqCy3Nhv6qHpbkjx/NGuOTsUbF/oNGBgwA==",
- "dependencies": {
- "Microsoft.Azure.Amqp": "2.6.7",
- "System.Memory.Data": "1.0.2"
- }
- },
- "Azure.Data.Tables": {
- "type": "Transitive",
- "resolved": "12.11.0",
- "contentHash": "MabH2HegMvZA1ocaMhEfW/idyTa3CoH64s43/V9/KFRGdVqEj0EETvd3ItDe6Bbs2teiR40KE9Kz9NLDc5DJJw==",
- "dependencies": {
- "Azure.Core": "1.44.1"
- }
- },
- "Azure.Extensions.AspNetCore.DataProtection.Blobs": {
- "type": "Transitive",
- "resolved": "1.3.4",
- "contentHash": "zS+x0MpUMSbvZD598lwAoax+ohIeSAvGlXpT71iP7FFmMZ+Tjz/8hx+jZH/RbV2cJYTYbux8XFDll7LMPuz46g==",
- "dependencies": {
- "Azure.Core": "1.38.0",
- "Azure.Storage.Blobs": "12.16.0"
- }
- },
- "Azure.Identity": {
- "type": "Transitive",
- "resolved": "1.11.4",
- "contentHash": "Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==",
- "dependencies": {
- "Azure.Core": "1.38.0",
- "Microsoft.Identity.Client": "4.61.3",
- "Microsoft.Identity.Client.Extensions.Msal": "4.61.3",
- "System.Security.Cryptography.ProtectedData": "4.7.0"
- }
- },
- "Azure.Messaging.ServiceBus": {
- "type": "Transitive",
- "resolved": "7.20.1",
- "contentHash": "DxCkedWPQuiXrIyFcriOhsQcZmDZW+j9d55Ev4nnK3yjMUFjlVe4Hj37fuZTJlNhC3P+7EumqBTt33R6DfOxGA==",
- "dependencies": {
- "Azure.Core": "1.46.2",
- "Azure.Core.Amqp": "1.3.1",
- "Microsoft.Azure.Amqp": "2.7.0"
- }
- },
- "Azure.Storage.Blobs": {
- "type": "Transitive",
- "resolved": "12.26.0",
- "contentHash": "EBRSHmI0eNzdufcIS1Rf7Ez9M8V1Jl7pMV4UWDERDMCv513KtAVsgz2ez2FQP9Qnwg7uEQrP+Uc7vBtumlr7sQ==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "Azure.Storage.Common": "12.25.0"
- }
- },
- "Azure.Storage.Blobs.Batch": {
- "type": "Transitive",
- "resolved": "12.23.0",
- "contentHash": "1Cj2/OEPoNpcwjQZ/vtng4ImrwuDlOZhYd3mKCxQXzUe50dl0lM5AWX8KE8GGKd5pLuRKYMNmn3mRvWpv/Me+A==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "Azure.Storage.Blobs": "12.26.0",
- "Azure.Storage.Common": "12.25.0"
- }
- },
- "Azure.Storage.Common": {
- "type": "Transitive",
- "resolved": "12.25.0",
- "contentHash": "MHGWp4aLHRo0BdLj25U2qYdYK//Zz21k4bs3SVyNQEmJbBl3qZ8GuOmTSXJ+Zad93HnFXfvD8kyMr0gjA8Ftpw==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "System.IO.Hashing": "8.0.0"
- }
- },
- "Azure.Storage.Queues": {
- "type": "Transitive",
- "resolved": "12.24.0",
- "contentHash": "YSR051EMu421JZNCOyOB2JpVyA4bSW8CnbTYmYlwxsYIUJuwiMy2toSXIoq9RKG9PuBtnT5dS9M6QCYNGaswAw==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "Azure.Storage.Common": "12.25.0"
- }
- },
- "BitPay.Light": {
- "type": "Transitive",
- "resolved": "1.0.1907",
- "contentHash": "QTTIgXakHrRNQPxNyH7bZ7frm0bI8N6gRDtiqVyKG/QYQ+KfjN70xt0zQ0kO0zf8UBaKuwcV5B7vvpXtzR9ijg==",
- "dependencies": {
- "Newtonsoft.Json": "12.0.2"
- }
- },
- "BouncyCastle.Cryptography": {
- "type": "Transitive",
- "resolved": "2.6.2",
- "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
- },
- "Braintree": {
- "type": "Transitive",
- "resolved": "5.36.0",
- "contentHash": "K43RjhEU5qXoYYxo0C0o54msQxbdRjVP+hDMZwSXsei4fLBHA2xwS1NCooZ9girCQNjoWOM8bygkHTVGgN+sag==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.1",
- "System.Xml.XPath.XmlDocument": "4.3.0"
- }
- },
- "CsvHelper": {
- "type": "Transitive",
- "resolved": "33.1.0",
- "contentHash": "kqfTOZGrn7NarNeXgjh86JcpTHUoeQDMB8t9NVa/ZtlSYiV1rxfRnQ49WaJsob4AiGrbK0XDzpyKkBwai4F8eg=="
- },
- "DnsClient": {
- "type": "Transitive",
- "resolved": "1.8.0",
- "contentHash": "RRwtaCXkXWsx0mmsReGDqCbRLtItfUbkRJlet1FpdciVhyMGKcPd57T1+8Jki9ojHlq9fntVhXQroOOgRak8DQ=="
- },
- "Duende.IdentityModel": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "8i+Tv4c38LgwoTRKbD0+MqtnNNDSVA83G6JkjGHgC4/7jH0nxZBP0RBhH8xTsvNQ5Pv9zrg+TR8rmtWK9HDOPg=="
- },
- "Duende.IdentityServer": {
- "type": "Transitive",
- "resolved": "7.4.6",
- "contentHash": "Zvri5e+SrOWLz0wmJry0ZaU8gVygv966jzP/CbMSCtV0K/nqK7abL9gQr9aKKmjt5DsONauUMT2E0cK/GbXJAg==",
- "dependencies": {
- "Duende.IdentityServer.Storage": "7.4.6",
- "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0"
- }
- },
- "Duende.IdentityServer.Storage": {
- "type": "Transitive",
- "resolved": "7.4.6",
- "contentHash": "qPNsoj5H1TaT5gYptA/Z5LZE/UT4PFsgDen8K1DLj4W9O8i1PuEfFiba9CbmwLPs/TUS2xikCbxfiUgBUqn8GQ==",
- "dependencies": {
- "Duende.IdentityModel": "8.0.0"
- }
- },
- "DuoUniversal": {
- "type": "Transitive",
- "resolved": "1.3.1",
- "contentHash": "BZUJplORCBO1PVDFT5v7HDYAlpgHAkay5N9vzRpJ/sBm+GU44pxNlo7v95Ym0tvUeKy0WWWv/iE4FjErYoZUHQ==",
- "dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "6.34.0"
- }
- },
- "Fido2": {
- "type": "Transitive",
- "resolved": "3.0.1",
- "contentHash": "S0Bz1vfcKlO4Jase3AWp5XnQ746psf4oGx5kL+D2A10j1SsjoAOAIIpanSwfi0cEepDHgk1bClcOKY5TjOzGdA==",
- "dependencies": {
- "Fido2.Models": "3.0.1",
- "NSec.Cryptography": "22.4.0",
- "System.IdentityModel.Tokens.Jwt": "6.17.0"
- }
- },
- "Fido2.AspNet": {
- "type": "Transitive",
- "resolved": "3.0.1",
- "contentHash": "5n5shEXD7RFUyTesjUHGDjkpgES7j4KotQo1GwUcS08k+fx+1tl/zCFHJ9RFDuUwO+S681ZILT2PyA67IPYpaA==",
- "dependencies": {
- "Fido2": "3.0.1",
- "Fido2.Models": "3.0.1"
- }
- },
- "Fido2.Models": {
- "type": "Transitive",
- "resolved": "3.0.1",
- "contentHash": "mgjcuGETuYSCUEaZG+jQeeuuEMkDLc4GDJHBvKDdOz6oSOWp5adPdWP4btZx7Pi+9fu4szN3JIjJmby67MaILw=="
- },
- "Handlebars.Net": {
- "type": "Transitive",
- "resolved": "2.1.6",
- "contentHash": "WsYWCEXsIM6hEOSOSRHtIYLjC8BnbT5MVmqhNKRqUI7qiv0t8x3nJiBTEv0ZZfvUAMAFnadGIzSsS/U2anVG1Q=="
- },
- "LaunchDarkly.Cache": {
- "type": "Transitive",
- "resolved": "1.0.2",
- "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw=="
- },
- "LaunchDarkly.CommonSdk": {
- "type": "Transitive",
- "resolved": "7.1.1",
- "contentHash": "J557Na/XeYV8JjgWbGRMzi5eOgXrEMqcuPBtkZP/y7EgFLiWgvaPBGDm+hq766Kp0Kxs2MaZaNTQn4Fog7Hebw==",
- "dependencies": {
- "LaunchDarkly.Logging": "2.0.0"
- }
- },
- "LaunchDarkly.EventSource": {
- "type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
- "dependencies": {
- "LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
- }
- },
- "LaunchDarkly.InternalSdk": {
- "type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
- "dependencies": {
- "LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
- "LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
- }
- },
- "LaunchDarkly.Logging": {
- "type": "Transitive",
- "resolved": "2.0.0",
- "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA=="
- },
- "LaunchDarkly.ServerSdk": {
- "type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
- "dependencies": {
- "LaunchDarkly.Cache": "1.0.2",
- "LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
- "LaunchDarkly.Logging": "2.0.0"
- }
- },
- "libsodium": {
- "type": "Transitive",
- "resolved": "1.0.18.2",
- "contentHash": "flArHoVdscSzyV8ZdPV+bqqY2TTFlaN+xZf/vIqsmHI51KVcD/mOdUPaK3n/k/wGKz8dppiktXUqSmf3AXFgig=="
- },
- "MailKit": {
- "type": "Transitive",
- "resolved": "4.16.0",
- "contentHash": "trJ82DOpAmo8i1jO1vNE+dGn4mPRyeYfy4swRcAGgMJhPoI1Kohf4OFJJf0+YIj4iUxgxPn8W+ht7e7KiYzSjg==",
- "dependencies": {
- "MimeKit": "4.16.0"
- }
- },
- "Microsoft.AspNetCore.Authentication.JwtBearer": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "oGnE+X/SN6jdqao9WOkOIfyZ5+a0AtluJWy1Mxndq+kcWG6sx5k6l6tucu8/wJ7o9fHfLgVCzm/c4v/KVgVk6w==",
- "dependencies": {
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1"
- }
- },
- "Microsoft.AspNetCore.Authentication.OpenIdConnect": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==",
- "dependencies": {
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1"
- }
- },
- "Microsoft.AspNetCore.DataProtection": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "Rlbrr3XSGB4dwnUY/pA70TpVyrQhelDAUkIiGfJ2Tm32mscTYxrRnk9Ooy1rRhGZ1g7rliJPuNzhyMMKmRH5pw=="
- },
- "Microsoft.Azure.Amqp": {
- "type": "Transitive",
- "resolved": "2.7.0",
- "contentHash": "gm/AEakujttMzrDhZ5QpRz3fICVkYDn/oDG9SmxDP+J7R8JDBXYU9WWG7hr6wQy40mY+wjUF0yUGXDPRDRNJwQ=="
- },
- "Microsoft.Azure.Cosmos": {
- "type": "Transitive",
- "resolved": "3.52.0",
- "contentHash": "NEjNpaO19gvJrXowqHFcYPSpro5+TNjHO/JpU4VXP37by2aU2RVnmgpZsWL1GUl5wCPZ4VIOUsP1lrHpfW8ADQ==",
- "dependencies": {
- "Azure.Core": "1.44.1",
- "Microsoft.Bcl.AsyncInterfaces": "6.0.0",
- "Microsoft.Bcl.HashCode": "1.1.0",
- "System.Configuration.ConfigurationManager": "6.0.0"
- }
- },
- "Microsoft.Azure.NotificationHubs": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "LOCxFB/sB1frfuXjecdDRDKEHkH+I1qKRatS5NyWIgYhpKhIcAlPNIJajcwLgQBShckdc3hMG9E+75CnL3qDhQ==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.1"
- }
- },
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw=="
- },
- "Microsoft.Bcl.Cryptography": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "5T+bH3Lb1nEe8Hf/ixMxLmhlrx5wRi53wv7OhVwG2F1ZviW1ejFRS1NHur3uqPpJRGtkQwUchtY6zhVK2R+v+w=="
- },
- "Microsoft.Bcl.HashCode": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "J2G1k+u5unBV+aYcwxo94ip16Rkp65pgWFb0R6zwJipzWNMgvqlWeuI7/+R+e8bob66LnSG+llLJ+z8wI94cHg=="
- },
- "Microsoft.Bot.Builder": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "bLTrp/tfSNWDAIJ90TqyZ8JtpjCvNO7kgvhW0R5eSu72tAifwEIi2uxhFS+c8alsa2DM4EW3JSemoDgn0r6Hog==",
- "dependencies": {
- "Microsoft.Bot.Connector": "4.23.0",
- "Microsoft.Bot.Connector.Streaming": "4.23.0",
- "Microsoft.Bot.Streaming": "4.23.0"
- }
- },
- "Microsoft.Bot.Builder.Integration.AspNet.Core": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "p6xghjJfg3Vh/q2NSd77TtuvCykuEakzMaELHctf3Cw4eTILsXWIgEJ0QxyelMnJGJjgfBwFS9ZeC2hWUFYzBA==",
- "dependencies": {
- "Microsoft.Bot.Builder": "4.23.0",
- "Microsoft.Bot.Configuration": "4.23.0",
- "Microsoft.Bot.Connector.Streaming": "4.23.0",
- "Microsoft.Bot.Streaming": "4.23.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Configuration": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "yCzxNU5QAEQ6zy7VBNuz3GwOY8OZcDkNYOmPw/QuVzViozxuJI200BMl+a5jhY9Nd7j6bGxO7Y3mmHy4Tu7Teg==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Connector": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "/vgAQ8LonwAnyu6CzYYElU4k65k+9V2ncwztpZtBM+IuwkhDe3iAO2ycObqcyhMMWYUV81IOb0JZYcabjiZ4NQ==",
- "dependencies": {
- "Microsoft.Bot.Schema": "4.23.0",
- "Microsoft.Identity.Client": "4.66.1",
- "Microsoft.Identity.Web.Certificateless": "3.3.0",
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.1.2",
- "Microsoft.Rest.ClientRuntime": "2.3.24",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Connector.Streaming": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "Yz6PcySgtje88IGEJXj6agzya48pBL34/A5Zs3/xqmHvEQlI2ypMNc3OBOo2TRGxykklCSwc60PN2k95d4pbFw==",
- "dependencies": {
- "Microsoft.Bot.Schema": "4.23.0",
- "Microsoft.Bot.Streaming": "4.23.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Schema": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "HZeEXg/PuniNRIUU8ioSx/LrOXcbTZCZ1hUIqDdc6akWwhjrC2sTv7TaBpD0FlY4hDyUvj3GLyurPI/YChGPzA==",
- "dependencies": {
- "AdaptiveCards": "3.1.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Streaming": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "gYudjsFAVjwZBRU5irJh7sdsD7gNRFfZEUwWTqkNp1eGaR1t+4sJY+YyqYL3PyCMSgLrKE46bt/JWuDi3CjRfA==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Data.SqlClient": {
- "type": "Transitive",
- "resolved": "7.0.0",
- "contentHash": "/oolEwtHuDtpLKU8OItOTTxVJalgPtIkcNBwzXJ3YGyrkOAvLYqMtin9Z1jxqryJpds3PjuZBF5iKIYVVYVSvQ==",
- "dependencies": {
- "Microsoft.Bcl.Cryptography": "9.0.13",
- "Microsoft.Data.SqlClient.Extensions.Abstractions": "1.0.0",
- "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0",
- "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
- "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.16.0",
- "Microsoft.SqlServer.Server": "1.0.0",
- "System.Configuration.ConfigurationManager": "9.0.13",
- "System.Security.Cryptography.Pkcs": "9.0.13"
- }
- },
- "Microsoft.Data.SqlClient.Extensions.Abstractions": {
- "type": "Transitive",
- "resolved": "1.0.0",
- "contentHash": "rlnxc0KfwDSbE8ZHntFnl8SCgOa9QtJZblMv2zXLhRwl1Je7fsdsVzxSjzzC4JMsfAK+jXJWyezRB8SxUY4BdA==",
- "dependencies": {
- "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0"
- }
- },
- "Microsoft.Data.SqlClient.Internal.Logging": {
- "type": "Transitive",
- "resolved": "1.0.0",
- "contentHash": "Kue/7CF8KNT9zozfr30C94dMZVZml3atqWZvQemSXvTau76tRdypzeKiBKXadqgbOME0UiQIyVTNo5WxCRNVNg=="
- },
- "Microsoft.Data.SqlClient.SNI.runtime": {
- "type": "Transitive",
- "resolved": "6.0.2",
- "contentHash": "f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w=="
- },
- "Microsoft.Extensions.Caching.Cosmos": {
- "type": "Transitive",
- "resolved": "1.8.0",
- "contentHash": "8UI41/U5yla1z48klbtRdXxxloAChRzhAm592bitBNzTlXBq87zeO6Lbdvuh5d6oLNCU0I01kw6ovTD9Z6y05g==",
- "dependencies": {
- "Microsoft.Azure.Cosmos": "3.47.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Extensions.Caching.SqlServer": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GSP1UIw/VFiLOWBOCQYwLHsLnkqqqqEC9sc8IqCXpbSkwz03EZ9u4jcFORTE4TJ/gkKXKP6L3AO+ZFZ5MFX4Gg==",
- "dependencies": {
- "Azure.Identity": "1.11.4",
- "Microsoft.Data.SqlClient": "5.2.2"
- }
- },
- "Microsoft.Extensions.Caching.StackExchangeRedis": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fle9ns3q2kk63vt/wHFtLw1U9kiEbM42vTk2Sar8VBjiGJFkXAgm0QEKFx15YMHkJIPRVdknWaovpvgGEgn10g==",
- "dependencies": {
- "StackExchange.Redis": "2.7.27"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA=="
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA=="
- },
- "Microsoft.Extensions.Identity.Stores": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "xVbg4qLWyjKSJVxtL56PQPlHu/URpWPKufhfOj61+tkCmNs6DIgnGxG8BAO/fAfacoBDDYg+p1zBjFzzj/EQog=="
- },
- "Microsoft.Identity.Client": {
- "type": "Transitive",
- "resolved": "4.66.1",
- "contentHash": "mE+m3pZ7zSKocSubKXxwZcUrCzLflC86IdLxrVjS8tialy0b1L+aECBqRBC/ykcPlB4y7skg49TaTiA+O2UfDw==",
- "dependencies": {
- "Microsoft.IdentityModel.Abstractions": "6.35.0"
- }
- },
- "Microsoft.Identity.Client.Extensions.Msal": {
- "type": "Transitive",
- "resolved": "4.61.3",
- "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
- "dependencies": {
- "Microsoft.Identity.Client": "4.61.3",
- "System.Security.Cryptography.ProtectedData": "4.5.0"
- }
- },
- "Microsoft.Identity.Web.Certificateless": {
- "type": "Transitive",
- "resolved": "3.3.0",
- "contentHash": "ybEVPCLeJFuTCDVTtt3OlD5n+CYQgUAzmn0YZw+Z4NR5XwB4iGQ/zMqQ+ruJfgoKGWe6BTl0vCfsv1O4XPqCvg==",
- "dependencies": {
- "Microsoft.Identity.Client": "4.66.1",
- "Microsoft.IdentityModel.JsonWebTokens": "8.1.2"
- }
- },
- "Microsoft.IdentityModel.Abstractions": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "gSxKLWRZzBpIsEoeUPkxfywNCCvRvl7hkq146XHPk5vOQc9izSf1I+uL1vh4y2U19QPxd9Z8K/8AdWyxYz2lSg=="
- },
- "Microsoft.IdentityModel.JsonWebTokens": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "prBU72cIP4V8E9fhN+o/YdskTsLeIcnKPbhZf0X6mD7fdxoZqnS/NdEkSr+9Zp+2q7OZBOMfNBKGbTbhXODO4w==",
- "dependencies": {
- "Microsoft.IdentityModel.Tokens": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Logging": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "MTzXmETkNQPACR7/XCXM1OGM6oU9RkyibqeJRtO9Ndew2LnGjMf9Atqj2VSf4XC27X0FQycUAlzxxEgQMWn2xQ==",
- "dependencies": {
- "Microsoft.IdentityModel.Abstractions": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Protocols": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "UFrU7d46UTsPQTa2HIEIpB9H1uJe1BW9FLw5uhEJ2ZuKdur8bcUA/bO5caq5dlBt5gNJeRIB3QQXYNs5fCQCZA==",
- "dependencies": {
- "Microsoft.IdentityModel.Tokens": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "h4yVXyJsEBBX5lg2G5ftMsi5JzcNEGAzrNphA6DQ6eOd8P0s+cDCOyPwVTYLePZvJL5unbPvYIvzrbTXzFjXnQ==",
- "dependencies": {
- "Microsoft.IdentityModel.Protocols": "8.16.0",
- "System.IdentityModel.Tokens.Jwt": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Tokens": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "rtViGJcGsN7WcfUNErwNeQgjuU5cJNl6FDQsfi9TncwO+Epzn0FTfBsg3YuFW1Q0Ch/KPxaVdjLw3/+5Z5ceFQ==",
- "dependencies": {
- "Microsoft.IdentityModel.Logging": "8.16.0"
- }
- },
- "Microsoft.NETCore.Platforms": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
- },
- "Microsoft.Rest.ClientRuntime": {
- "type": "Transitive",
- "resolved": "2.3.24",
- "contentHash": "hZH7XgM3eV2jFrnq7Yf0nBD4WVXQzDrer2gEY7HMNiwio2hwDsTHO6LWuueNQAfRpNp4W7mKxcXpwXUiuVIlYw==",
- "dependencies": {
- "Newtonsoft.Json": "10.0.3"
- }
- },
- "Microsoft.SqlServer.Server": {
- "type": "Transitive",
- "resolved": "1.0.0",
- "contentHash": "N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug=="
- },
- "MimeKit": {
- "type": "Transitive",
- "resolved": "4.16.0",
- "contentHash": "X0LFxeM4gPRIhODyY/HYS9b+zRZ7y//v59rFzgS6wLxcPuZThnMtNZHtrr0fjLyRRkg3gqJBtvW36XfUzZ7Djw==",
- "dependencies": {
- "BouncyCastle.Cryptography": "2.6.2",
- "System.Security.Cryptography.Pkcs": "10.0.0"
- }
- },
- "NETStandard.Library": {
- "type": "Transitive",
- "resolved": "1.6.1",
- "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
- "dependencies": {
- "Microsoft.NETCore.Platforms": "1.1.0"
- }
- },
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.3",
- "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
- },
- "NSec.Cryptography": {
- "type": "Transitive",
- "resolved": "22.4.0",
- "contentHash": "lEntcPYd7h3aZ8xxi/y/4TML7o8w0GEGqd+w4L1omqFLbdCBmhxJAeO2YBmv/fXbJKgKCQLm7+TD4bR605PEUQ==",
- "dependencies": {
- "libsodium": "[1.0.18.2, 1.0.19)"
- }
- },
- "OneOf": {
- "type": "Transitive",
- "resolved": "3.0.271",
- "contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
- },
- "Otp.NET": {
- "type": "Transitive",
- "resolved": "1.4.0",
- "contentHash": "Fk1NKc0lWmlo6LAFYpFJInRgFKt72knRNEvxndDYoQHFwYOPXav+WEUBvQA0k4lxq5xt0SymrZ+oi0F/G40bPQ=="
- },
- "Pipelines.Sockets.Unofficial": {
- "type": "Transitive",
- "resolved": "2.2.8",
- "contentHash": "zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ=="
- },
- "Quartz": {
- "type": "Transitive",
- "resolved": "3.15.1",
- "contentHash": "XIbhzUAKSm3xdl1ORLPnK7mc5XANP3cuvYQhCtuX/8888IN41e9OXJak4R9OlmAGRnyAMqHE40yojVa89NS1wg=="
- },
- "Quartz.Extensions.DependencyInjection": {
- "type": "Transitive",
- "resolved": "3.15.1",
- "contentHash": "LinB9z54aPn49C/DGM1v3OflX2nosrEo4zNz10vfYqcCndFJ8MNU9k++Ap9T7vxeZc355WStPDggpX60TYj1Lg==",
- "dependencies": {
- "Quartz": "3.15.1"
- }
- },
- "Quartz.Extensions.Hosting": {
- "type": "Transitive",
- "resolved": "3.15.1",
- "contentHash": "svqLTEnVLb0VPUcNCd/khRqagwxM/yybUZ2sEOd7HFdPO+5dAOttL+ARtXSyBeaGWPWAaxY4VvU7pJTZzYhORw==",
- "dependencies": {
- "Quartz.Extensions.DependencyInjection": "3.15.1"
- }
- },
- "RabbitMQ.Client": {
- "type": "Transitive",
- "resolved": "7.1.2",
- "contentHash": "y3c6ulgULScWthHw5PLM1ShHRLhxg0vCtzX/hh61gRgNecL3ZC3WoBW2HYHoXOVRqTl99Br9E7CZEytGZEsCyQ=="
- },
- "SendGrid": {
- "type": "Transitive",
- "resolved": "9.29.3",
- "contentHash": "nb/zHePecN9U4/Bmct+O+lpgK994JklbCCNMIgGPOone/DngjQoMCHeTvkl+m0Nglvm0dqMEshmvB4fO8eF3dA==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.1",
- "starkbank-ecdsa": "[1.3.3, 2.0.0)"
- }
- },
- "Serilog": {
- "type": "Transitive",
- "resolved": "2.10.0",
- "contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA=="
- },
- "Serilog.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "3.1.0",
- "contentHash": "IWfem7wfrFbB3iw1OikqPFNPEzfayvDuN4WP7Ue1AVFskalMByeWk3QbtUXQR34SBkv1EbZ3AySHda/ErDgpcg==",
- "dependencies": {
- "Serilog": "2.9.0"
- }
- },
- "Serilog.Extensions.Logging.File": {
- "type": "Transitive",
- "resolved": "3.0.0",
- "contentHash": "bUYjMHn7NhpK+/8HDftG7+G5hpWzD49XTSvLoUFZGgappDa6FoseqFOsLrjLRjwe1zM+igH5mySFJv3ntb+qcg==",
- "dependencies": {
- "Serilog": "2.10.0",
- "Serilog.Extensions.Logging": "3.1.0",
- "Serilog.Formatting.Compact": "1.1.0",
- "Serilog.Sinks.Async": "1.5.0",
- "Serilog.Sinks.RollingFile": "3.3.0"
- }
- },
- "Serilog.Formatting.Compact": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "pNroKVjo+rDqlxNG5PXkRLpfSCuDOBY0ri6jp9PLe505ljqwhwZz8ospy2vWhQlFu5GkIesh3FcDs4n7sWZODA==",
- "dependencies": {
- "Serilog": "2.8.0"
- }
- },
- "Serilog.Sinks.Async": {
- "type": "Transitive",
- "resolved": "1.5.0",
- "contentHash": "csHYIqAwI4Gy9oAhXYRwxGrQEAtBg3Ep7WaCzsnA1cZuBZjVAU0n7hWaJhItjO7hbLHh/9gRVxALCUB4Dv+gZw==",
- "dependencies": {
- "Serilog": "2.9.0"
- }
- },
- "Serilog.Sinks.File": {
- "type": "Transitive",
- "resolved": "3.2.0",
- "contentHash": "VHbo68pMg5hwSWrzLEdZv5b/rYmIgHIRhd4d5rl8GnC5/a8Fr+RShT5kWyeJOXax1el6mNJ+dmHDOVgnNUQxaw==",
- "dependencies": {
- "Serilog": "2.3.0"
- }
- },
- "Serilog.Sinks.RollingFile": {
- "type": "Transitive",
- "resolved": "3.3.0",
- "contentHash": "2lT5X1r3GH4P0bRWJfhA7etGl8Q2Ipw9AACvtAHWRUSpYZ42NGVyHoVs2ALBZ/cAkkS+tA4jl80Zie144eLQPg==",
- "dependencies": {
- "Serilog.Sinks.File": "3.2.0"
- }
- },
- "StackExchange.Redis": {
- "type": "Transitive",
- "resolved": "2.8.31",
- "contentHash": "RCHVQa9Zke8k0oBgJn1Yl6BuYy8i6kv+sdMObiH60nOwD6QvWAjxdDwOm+LO78E8WsGiPqgOuItkz98fPS6haQ==",
- "dependencies": {
- "Pipelines.Sockets.Unofficial": "2.2.8"
- }
- },
- "starkbank-ecdsa": {
- "type": "Transitive",
- "resolved": "1.3.3",
- "contentHash": "OblOaKb1enXn+dSp7tsx9yjwV+/BEKM9jFhshIkZTwCk7LuTFTp+wSon6rFzuPiIiTGtvVWQNUw2slHjGktJog=="
- },
- "Stripe.net": {
- "type": "Transitive",
- "resolved": "48.5.0",
- "contentHash": "wOAZYR0EnrLMok/ScfVOpTxjci+n3vFP0A7w/BE63yJdkRSDwZVCJIhlOjeJvgyQnMX8ZbwDAHMaxaiDa0Z5TA==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3",
- "System.Configuration.ConfigurationManager": "8.0.0"
- }
- },
- "System.ClientModel": {
- "type": "Transitive",
- "resolved": "1.6.1",
- "contentHash": "xcHHhDqB5MnOOY8yIn64Vzp6gtBEs6k5J1hluG04CrShSvQNXOx4PSDs7wJiXLDidlY/FZJmxJdKTKskyJwjvw==",
- "dependencies": {
- "System.Memory.Data": "8.0.1"
- }
- },
- "System.Configuration.ConfigurationManager": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "GbBrJq9S/gYpHzm7Pxx6Y5tDyfSfyxW6tlP5oiKJV38uf19Wp+GIIAnWfyL1zmNiz1+EjwVapw2WkBFvvqKQzg==",
- "dependencies": {
- "System.Security.Cryptography.ProtectedData": "9.0.13"
- }
- },
- "System.IdentityModel.Tokens.Jwt": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "rrs2u7DRMXQG2yh0oVyF/vLwosfRv20Ld2iEpYcKwQWXHjfV+gFXNQsQ9p008kR9Ou4pxBs68Q6/9zC8Gi1wjg==",
- "dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
- "Microsoft.IdentityModel.Tokens": "8.16.0"
- }
- },
- "System.IO.Hashing": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "ne1843evDugl0md7Fjzy6QjJrzsjh46ZKbhf8GwBXb5f/gw97J4bxMs0NQKifDuThh/f0bZ0e62NPl1jzTuRqA=="
- },
- "System.Memory.Data": {
- "type": "Transitive",
- "resolved": "8.0.1",
- "contentHash": "BVYuec3jV23EMRDeR7Dr1/qhx7369dZzJ9IWy2xylvb4YfXsrUxspWc4UWYid/tj4zZK58uGZqn2WQiaDMhmAg=="
- },
- "System.Security.Cryptography.Pkcs": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "UPWqLSygJlFerRi9XNIuM0a1VC8gHUIufyP24xQ0sc+XimqUAEcjpOz9DhKpyDjH+5B/wO3RpC0KpkEeDj/ddg=="
- },
- "System.Security.Cryptography.ProtectedData": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "t8S9IDpjJKsLpLkeBdW8cWtcPyYqrGu93Dej1RO6WwuL/lkFSqWlan3rMJfortqz1mRIh+sys2AFsSA6jWJ3Jg=="
- },
- "System.Xml.XPath.XmlDocument": {
- "type": "Transitive",
- "resolved": "4.3.0",
- "contentHash": "A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A=="
- },
- "YubicoDotNetClient": {
- "type": "Transitive",
- "resolved": "1.2.0",
- "contentHash": "uP5F3Ko1gqZi3lwS2R/jAAwhBxXs/6PKDpS6FdQjsBA5qmF0hQmbtfxM6QHTXOMoWbUtfetG7+LtgmG8T5zDIg==",
- "dependencies": {
- "NETStandard.Library": "1.6.1"
- }
- },
- "ZiggyCreatures.FusionCache": {
- "type": "Transitive",
- "resolved": "2.0.2",
- "contentHash": "nO6ysiVP/1S1zVZMzsK0xASeSUay27iIlK8GjeyTpIAmq5P4/0KOzV9AqlabZYFgzeQDAu5IcB39ela2w/HCwQ=="
- },
- "ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis": {
- "type": "Transitive",
- "resolved": "2.0.2",
- "contentHash": "E9KfGnhY+xcy8bmxoB/jJbfYwBlQwDD6c0v0P/Qr3IxGyJXyncza/45vFo5nI+5CggqczQ1GwQeEJqk0Lg8Q5g==",
- "dependencies": {
- "StackExchange.Redis": "2.8.31",
- "ZiggyCreatures.FusionCache": "2.0.2"
- }
- },
- "ZiggyCreatures.FusionCache.Serialization.SystemTextJson": {
- "type": "Transitive",
- "resolved": "2.0.2",
- "contentHash": "gt5ia5PHpCxhnI0hr51Y6L/acrrU17OuBqiU3vJPFXZxS3R1pIj2hr6WGB5fzW64VZDVdHTYsD5gTr2Pu8I+QQ==",
- "dependencies": {
- "ZiggyCreatures.FusionCache": "2.0.2"
- }
- },
- "core": {
- "type": "Project",
- "dependencies": {
- "AWSSDK.SQS": "[4.0.2.5, 4.0.2.5]",
- "AWSSDK.SimpleEmail": "[4.0.2.5, 4.0.2.5]",
- "AspNetCoreRateLimit": "[5.0.0, 5.0.0]",
- "AspNetCoreRateLimit.Redis": "[2.0.0, 2.0.0]",
- "Azure.Data.Tables": "[12.11.0, 12.11.0]",
- "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.4, 1.3.4]",
- "Azure.Messaging.ServiceBus": "[7.20.1, 7.20.1]",
- "Azure.Storage.Blobs": "[12.26.0, 12.26.0]",
- "Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
- "Azure.Storage.Queues": "[12.24.0, 12.24.0]",
- "BitPay.Light": "[1.0.1907, 1.0.1907]",
- "Braintree": "[5.36.0, 5.36.0]",
- "CsvHelper": "[33.1.0, 33.1.0]",
- "DnsClient": "[1.8.0, 1.8.0]",
- "Duende.IdentityServer": "[7.4.6, 7.4.6]",
- "DuoUniversal": "[1.3.1, 1.3.1]",
- "Fido2.AspNet": "[3.0.1, 3.0.1]",
- "Handlebars.Net": "[2.1.6, 2.1.6]",
- "HttpExtensions": "[2026.6.1, )",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
- "MailKit": "[4.16.0, 4.16.0]",
- "Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
- "Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
- "Microsoft.Azure.Cosmos": "[3.52.0, 3.52.0]",
- "Microsoft.Azure.NotificationHubs": "[4.2.0, 4.2.0]",
- "Microsoft.Bot.Builder": "[4.23.0, 4.23.0]",
- "Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
- "Microsoft.Bot.Connector": "[4.23.0, 4.23.0]",
- "Microsoft.Data.SqlClient": "[7.0.0, 7.0.0]",
- "Microsoft.Extensions.Caching.Cosmos": "[1.8.0, 1.8.0]",
- "Microsoft.Extensions.Caching.SqlServer": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Caching.StackExchangeRedis": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Configuration.UserSecrets": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
- "Newtonsoft.Json": "[13.0.3, 13.0.3]",
- "OneOf": "[3.0.271, 3.0.271]",
- "Otp.NET": "[1.4.0, 1.4.0]",
- "Quartz": "[3.15.1, 3.15.1]",
- "Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
- "Quartz.Extensions.Hosting": "[3.15.1, 3.15.1]",
- "RabbitMQ.Client": "[7.1.2, 7.1.2]",
- "SendGrid": "[9.29.3, 9.29.3]",
- "Serilog.Extensions.Logging.File": "[3.0.0, 3.0.0]",
- "Stripe.net": "[48.5.0, 48.5.0]",
- "YubicoDotNetClient": "[1.2.0, 1.2.0]",
- "ZiggyCreatures.FusionCache": "[2.0.2, 2.0.2]",
- "ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis": "[2.0.2, 2.0.2]",
- "ZiggyCreatures.FusionCache.Serialization.SystemTextJson": "[2.0.2, 2.0.2]"
- }
- }
- }
+ "net10.0": {}
}
}
\ No newline at end of file
diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json
index b76de39cd5be..581d56082ef9 100644
--- a/src/Icons/packages.lock.json
+++ b/src/Icons/packages.lock.json
@@ -8,6 +8,15 @@
"resolved": "1.4.0",
"contentHash": "6ph8mpaQx0KL0COYRt0kI8MB9gSp1PtKijKMhJU//+aVFgKAJLKDesG/+26JSaVCOrHNgPf12wpfoyRcMYOeXg=="
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -327,16 +336,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -349,13 +358,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1101,6 +1110,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1108,7 +1118,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1126,6 +1135,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1143,7 +1159,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1151,7 +1167,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1164,10 +1180,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/Identity/Startup.cs b/src/Identity/Startup.cs
index bb1a974d82a7..fb9a0666a1a6 100644
--- a/src/Identity/Startup.cs
+++ b/src/Identity/Startup.cs
@@ -146,7 +146,6 @@ public void ConfigureServices(IServiceCollection services)
// Services
services.AddBaseServices(globalSettings);
services.AddDefaultServices(globalSettings);
- services.AddOptionality();
services.AddCoreLocalizationServices();
services.AddBillingOperations();
@@ -231,6 +230,10 @@ public void Configure(
// Add IdentityServer to the request pipeline.
app.UseIdentityServer();
+ // Gates endpoints carrying IFeatureMetadata; required in any app that
+ // routes requests through endpoints tagged with [RequireFeature].
+ app.UseFeatureFlagChecks();
+
// Add Mvc stuff
app.UseEndpoints(endpoints => endpoints.MapDefaultControllerRoute());
diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json
index 8625c76d6ebd..8e4b27a0a079 100644
--- a/src/Identity/packages.lock.json
+++ b/src/Identity/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"type": "Direct",
"requested": "[1.15.3, )",
@@ -321,16 +330,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -343,13 +352,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1095,6 +1104,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1102,7 +1112,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1120,6 +1129,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1137,7 +1153,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1145,7 +1161,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1158,10 +1174,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/Infrastructure.Dapper/packages.lock.json b/src/Infrastructure.Dapper/packages.lock.json
index 40467ba44e1e..61ef4696ca35 100644
--- a/src/Infrastructure.Dapper/packages.lock.json
+++ b/src/Infrastructure.Dapper/packages.lock.json
@@ -160,6 +160,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -261,16 +269,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -286,13 +294,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -750,6 +758,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -903,6 +926,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1162,6 +1272,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1169,7 +1280,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1187,6 +1297,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/src/Infrastructure.EntityFramework/packages.lock.json b/src/Infrastructure.EntityFramework/packages.lock.json
index 012f6402bfa8..91d93427b1fe 100644
--- a/src/Infrastructure.EntityFramework/packages.lock.json
+++ b/src/Infrastructure.EntityFramework/packages.lock.json
@@ -231,6 +231,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -332,16 +340,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -357,13 +365,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -865,6 +873,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1034,6 +1057,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1320,6 +1430,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1327,7 +1438,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1345,6 +1455,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json
index 50c27c067db1..a06ba4974a9e 100644
--- a/src/Notifications/packages.lock.json
+++ b/src/Notifications/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"MessagePack": {
"type": "Direct",
"requested": "[3.1.7, 3.1.7]",
@@ -351,16 +360,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -373,13 +382,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1140,6 +1149,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1147,7 +1157,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1165,6 +1174,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1182,7 +1198,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1190,7 +1206,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1203,10 +1219,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/src/SharedWeb/SharedWeb.csproj b/src/SharedWeb/SharedWeb.csproj
index 58164a3d89f6..d2182ba7a948 100644
--- a/src/SharedWeb/SharedWeb.csproj
+++ b/src/SharedWeb/SharedWeb.csproj
@@ -1,4 +1,5 @@
+
diff --git a/src/SharedWeb/Utilities/GlobalSettingsServiceCollectionExtensions.cs b/src/SharedWeb/Utilities/GlobalSettingsServiceCollectionExtensions.cs
new file mode 100644
index 000000000000..92c5cd632d62
--- /dev/null
+++ b/src/SharedWeb/Utilities/GlobalSettingsServiceCollectionExtensions.cs
@@ -0,0 +1,97 @@
+using System.Diagnostics;
+using Bit.Core.Settings;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using Microsoft.Extensions.Hosting;
+
+namespace Bit.SharedWeb.Utilities;
+
+public static class GlobalSettingsServiceCollectionExtensions
+{
+ private static GlobalSettings CreateGlobalSettings(IConfiguration configuration, IHostEnvironment environment)
+ {
+ var globalSettings = new GlobalSettings();
+ ConfigurationBinder.Bind(configuration.GetSection("GlobalSettings"), globalSettings);
+
+ if (environment.IsDevelopment() && configuration.GetValue("developSelfHosted"))
+ {
+ // Override settings with selfHostedOverride settings
+ ConfigurationBinder.Bind(configuration.GetSection("Dev:SelfHostOverride:GlobalSettings"), globalSettings);
+ }
+
+ return globalSettings;
+ }
+
+ ///
+ /// A convenience method to ensure and
+ /// are added to the but does not require any up front dependencies.
+ ///
+ /// The services to add to.
+ /// The service collection for additional chaining.
+ public static IServiceCollection AddGlobalSettings(this IServiceCollection services)
+ {
+ ArgumentNullException.ThrowIfNull(services);
+
+ services.TryAddSingleton(sp =>
+ {
+ var config = sp.GetRequiredService();
+ var environment = sp.GetRequiredService();
+
+ return CreateGlobalSettings(config, environment);
+ });
+
+ services.TryAddSingleton(sp => sp.GetRequiredService());
+
+ return services;
+ }
+
+ ///
+ /// Ensures that and are registered
+ /// as services in the .
+ ///
+ ///
+ /// If has already been registered as an instance
+ /// in the then binding with the configuration passed in
+ /// it is not done and the existing instance is used instead.
+ ///
+ /// The collection to add the services to.
+ ///
+ ///
+ /// The newly binded instance or the existing instance stored in the services.
+ public static GlobalSettings AddGlobalSettingsServices(this IServiceCollection services, IConfiguration configuration, IHostEnvironment environment)
+ {
+ ArgumentNullException.ThrowIfNull(services);
+ ArgumentNullException.ThrowIfNull(configuration);
+ ArgumentNullException.ThrowIfNull(environment);
+
+ var globalSettingsService = services.SingleOrDefault(
+ sd => sd.ServiceType == typeof(GlobalSettings)
+ );
+
+ // If we've already created an instance service, re-use that and avoid re-binding
+ if (globalSettingsService is not null
+ && globalSettingsService.ImplementationInstance is not null)
+ {
+
+ Debug.Assert(services.Any(sd => sd.ServiceType == typeof(IGlobalSettings)));
+ return (GlobalSettings)globalSettingsService.ImplementationInstance;
+ }
+
+ if (globalSettingsService is not null)
+ {
+ // If it has been added before but not as an instance, remove it
+ // so we can add it again as an instance
+ services.Remove(globalSettingsService);
+ }
+
+ var globalSettings = CreateGlobalSettings(configuration, environment);
+
+ // No try needed because we validated that no service of this
+ // type exists or we just removed it.
+ services.AddSingleton(globalSettings);
+ services.TryAddSingleton(sp => sp.GetRequiredService());
+
+ return globalSettings;
+ }
+}
diff --git a/src/SharedWeb/Utilities/ServerSdkCompatibilityExtensions.cs b/src/SharedWeb/Utilities/ServerSdkCompatibilityExtensions.cs
new file mode 100644
index 000000000000..7c0b7bb65733
--- /dev/null
+++ b/src/SharedWeb/Utilities/ServerSdkCompatibilityExtensions.cs
@@ -0,0 +1,99 @@
+using Bit.Core;
+using Bit.Core.Context;
+using Bit.Core.Models.Api;
+using Bit.Core.Services.Implementations;
+using Bit.Core.Settings;
+using Bitwarden.Server.Sdk.Features;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using Microsoft.Extensions.Logging;
+
+namespace Bit.SharedWeb.Utilities;
+
+public static class ServerSdkCompatibilityExtensions
+{
+ ///
+ /// Wires the server up to the Bitwarden.Server.Sdk feature flag pipeline: maps the
+ /// existing settings onto ,
+ /// registers a server-aware , and registers the deprecated
+ /// as a shim that delegates to the new SDK service.
+ ///
+ ///
+ /// Assumes the SDK's own feature flag services have already been registered (either through
+ /// BitIncludeFeatures auto-wireup or an explicit AddFeatureFlagServices() call).
+ ///
+ public static IServiceCollection ApplyServerCompatibilityLayer(this IServiceCollection services)
+ {
+ ArgumentNullException.ThrowIfNull(services);
+
+ services.AddGlobalSettings();
+
+ services.Configure(options =>
+ {
+ // OnFeatureCheckFailed fires from middleware before MVC routing, so the standard
+ // ExceptionHandlerFilterAttribute cannot shape the response. Until server adopts
+ // ProblemDetails (which the SDK default relies on), emit the same NotFound envelope
+ // through Results so serialization follows the configured Http JsonOptions.
+ options.OnFeatureCheckFailed = (context) =>
+ Results.NotFound(new ErrorResponseModel("Resource not found."))
+ .ExecuteAsync(context.HttpContext);
+ });
+
+ // Server already has their own settings for the SdkKey and flag values
+ // we map those existing settings to FeatureFlagOptions here
+ services.AddOptions()
+ .Configure((options, globalSettings, loggerFactory) =>
+ {
+ // Always prefer the SdkKey given in the new config location
+ if (string.IsNullOrEmpty(options.LaunchDarkly.SdkKey))
+ {
+ options.LaunchDarkly.SdkKey = globalSettings.LaunchDarkly.SdkKey;
+ }
+
+ // Self-hosted instances must never contact LaunchDarkly, even if an SdkKey was
+ // carried over from a sample config or prior install. Clearing the key here forces
+ // the SDK's LaunchDarklyClientProvider into offline mode.
+ if (globalSettings.SelfHosted)
+ {
+ options.LaunchDarkly.SdkKey = null;
+ }
+
+ // The legacy LaunchDarklyFeatureService loaded flag values from a JSON file pointed
+ // at by FlagDataFilePath. The new SDK does not support that input - surface a warning
+ // so any operator still relying on it migrates the values under Features:FlagValues.
+ if (!string.IsNullOrEmpty(globalSettings.LaunchDarkly.FlagDataFilePath)
+ && File.Exists(globalSettings.LaunchDarkly.FlagDataFilePath))
+ {
+ var logger = loggerFactory.CreateLogger(typeof(ServerSdkCompatibilityExtensions).FullName!);
+ logger.LogWarning(
+ "GlobalSettings:LaunchDarkly:FlagDataFilePath points at '{FlagDataFilePath}', but loading flag values from a file is no longer supported. Move these values under Features:FlagValues.",
+ globalSettings.LaunchDarkly.FlagDataFilePath);
+ }
+
+ // GlobalSettings flag values should not win over flag values added through the new way
+ foreach (var (key, value) in globalSettings.LaunchDarkly.FlagValues)
+ {
+ options.FlagValues.TryAdd(key, value);
+ }
+ });
+
+ // Server has a class that contains all the feature flag keys
+ // the application cares about, add them here.
+ services.AddKnownFeatureFlags(FeatureFlagKeys.GetAllKeys());
+
+ // ServerContextBuilder needs IHttpContextAccessor and resolves ICurrentContext per-request.
+ // Every consuming Startup already registers ICurrentContext, but TryAdd lets this compat
+ // layer stand on its own (e.g. in tests) without overriding any custom registrations.
+ services.AddHttpContextAccessor();
+ services.TryAddScoped();
+ services.AddContextBuilder();
+
+ // Add the existing IFeatureService with a stub implementation that delegates to
+ // the new IFeatureService under the hood. This should help ease migration but should
+ // eventually go away
+ services.TryAddScoped();
+
+ return services;
+ }
+}
diff --git a/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs b/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs
index 3b2756b63feb..1a944b825e2c 100644
--- a/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs
+++ b/src/SharedWeb/Utilities/ServiceCollectionExtensions.cs
@@ -62,8 +62,6 @@
using Bit.SharedWeb.Play;
using DnsClient;
using Duende.IdentityModel;
-using LaunchDarkly.Sdk.Server;
-using LaunchDarkly.Sdk.Server.Interfaces;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Authorization;
@@ -76,7 +74,6 @@
using Microsoft.Azure.Cosmos.Fluent;
using Microsoft.Extensions.Caching.Cosmos;
using Microsoft.Extensions.Caching.Distributed;
-using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
@@ -294,7 +291,7 @@ public static void AddDefaultServices(this IServiceCollection services, GlobalSe
return new LookupClient(options);
});
services.AddSingleton();
- services.AddOptionality();
+ services.ApplyServerCompatibilityLayer();
services.AddTokenizers();
services.AddScoped();
services.AddOrganizationAbilityCache(globalSettings);
@@ -517,23 +514,6 @@ public static IIdentityServerBuilder AddIdentityServerCertificate(
return identityServerBuilder;
}
- public static GlobalSettings AddGlobalSettingsServices(this IServiceCollection services,
- IConfiguration configuration, IHostEnvironment environment)
- {
- var globalSettings = new GlobalSettings();
- ConfigurationBinder.Bind(configuration.GetSection("GlobalSettings"), globalSettings);
-
- if (environment.IsDevelopment() && configuration.GetValue("developSelfHosted"))
- {
- // Override settings with selfHostedOverride settings
- ConfigurationBinder.Bind(configuration.GetSection("Dev:SelfHostOverride:GlobalSettings"), globalSettings);
- }
-
- services.AddSingleton(s => globalSettings);
- services.AddSingleton(s => globalSettings);
- return globalSettings;
- }
-
public static void UseDefaultMiddleware(this IApplicationBuilder app,
IWebHostEnvironment env, GlobalSettings globalSettings)
{
@@ -751,19 +731,6 @@ public static void AddDistributedCache(
}
}
- public static IServiceCollection AddOptionality(this IServiceCollection services)
- {
- services.AddSingleton(s =>
- {
- return new LdClient(LaunchDarklyFeatureService.GetConfiguredClient(
- s.GetRequiredService()));
- });
-
- services.AddScoped();
-
- return services;
- }
-
private static (SupportedDatabaseProviders provider, string connectionString)
GetDatabaseProvider(GlobalSettings globalSettings)
{
diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json
index e724a17c7a13..0a745c100334 100644
--- a/src/SharedWeb/packages.lock.json
+++ b/src/SharedWeb/packages.lock.json
@@ -2,6 +2,15 @@
"version": 1,
"dependencies": {
"net10.0": {
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Microsoft.Bot.Builder.Integration.AspNet.Core": {
"type": "Direct",
"requested": "[4.23.0, 4.23.0]",
@@ -16,6 +25,76 @@
"Newtonsoft.Json": "13.0.3"
}
},
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Direct",
+ "requested": "[1.15.3, )",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Direct",
+ "requested": "[1.15.3, )",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Direct",
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Direct",
+ "requested": "[1.12.0-beta.2, )",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Direct",
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Direct",
+ "requested": "[1.15.0, )",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Direct",
+ "requested": "[1.12.0-beta.3, )",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Swashbuckle.AspNetCore.SwaggerGen": {
"type": "Direct",
"requested": "[10.1.7, 10.1.7]",
@@ -291,16 +370,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -316,13 +395,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -852,6 +931,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1037,6 +1131,30 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1340,6 +1458,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1347,7 +1466,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1365,6 +1483,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1382,7 +1507,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1390,7 +1515,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
diff --git a/test/Admin.Test/packages.lock.json b/test/Admin.Test/packages.lock.json
index 031803ee4b76..0fc00cf23bdd 100644
--- a/test/Admin.Test/packages.lock.json
+++ b/test/Admin.Test/packages.lock.json
@@ -221,6 +221,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -369,16 +377,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -394,13 +402,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1607,11 +1615,12 @@
"admin": {
"type": "Project",
"dependencies": {
- "Commercial.Core": "[2026.6.1, )",
- "Commercial.Infrastructure.EntityFramework": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
- "Migrator": "[2026.6.1, )",
- "MySqlMigrations": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Commercial.Infrastructure.EntityFramework": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
+ "Migrator": "[2026.6.2, )",
+ "MySqlMigrations": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1619,15 +1628,15 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "PostgresMigrations": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )",
- "SqliteMigrations": "[2026.6.1, )"
+ "PostgresMigrations": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )",
+ "SqliteMigrations": "[2026.6.2, )"
}
},
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1635,8 +1644,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"common": {
@@ -1644,7 +1653,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1666,6 +1675,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1673,7 +1683,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1691,6 +1700,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1708,7 +1724,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1716,7 +1732,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1729,7 +1745,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1737,32 +1753,40 @@
"mysqlmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"postgresmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
},
"sqlitemigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
}
}
diff --git a/test/Api.IntegrationTest/packages.lock.json b/test/Api.IntegrationTest/packages.lock.json
index 97de3c99ae93..60ca4c9ff020 100644
--- a/test/Api.IntegrationTest/packages.lock.json
+++ b/test/Api.IntegrationTest/packages.lock.json
@@ -253,6 +253,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -397,16 +405,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -419,13 +427,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1349,11 +1357,11 @@
"AspNetCore.HealthChecks.SqlServer": "[8.0.2, 8.0.2]",
"AspNetCore.HealthChecks.Uris": "[8.0.1, 8.0.1]",
"Azure.Messaging.EventGrid": "[5.0.0, 5.0.0]",
- "Commercial.Core": "[2026.6.1, )",
- "Commercial.Infrastructure.EntityFramework": "[2026.6.1, )",
- "Pam": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Commercial.Infrastructure.EntityFramework": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1361,14 +1369,15 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )",
+ "Pam": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )",
"Swashbuckle.AspNetCore": "[10.1.7, 10.1.7]"
}
},
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1376,15 +1385,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
- }
- },
- "pam": {
- "type": "Project",
- "dependencies": {
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"common": {
@@ -1392,7 +1394,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1414,6 +1416,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1421,7 +1424,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1439,6 +1441,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1459,7 +1468,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1467,13 +1477,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1481,7 +1491,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1494,21 +1504,28 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.1, )",
- "Identity": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
},
+ "pam": {
+ "type": "Project",
+ "dependencies": {
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )"
+ }
+ },
"rustsdk": {
"type": "Project"
},
@@ -1516,19 +1533,27 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Api.Test/Controllers/ConfigControllerTests.cs b/test/Api.Test/Controllers/ConfigControllerTests.cs
index 941ad70f3320..29125974efe3 100644
--- a/test/Api.Test/Controllers/ConfigControllerTests.cs
+++ b/test/Api.Test/Controllers/ConfigControllerTests.cs
@@ -1,7 +1,8 @@
-using AutoFixture.Xunit2;
+using System.Text.Json.Nodes;
+using AutoFixture.Xunit2;
using Bit.Api.Controllers;
-using Bit.Core.Services;
using Bit.Core.Settings;
+using Bitwarden.Server.Sdk.Features;
using NSubstitute;
using Xunit;
@@ -17,7 +18,7 @@ public ConfigControllerTests()
{
_globalSettings = new GlobalSettings();
_featureService = Substitute.For();
- _featureService.GetAll().Returns(new Dictionary());
+ _featureService.GetAll().Returns(new Dictionary());
_sut = new ConfigController(
_globalSettings,
@@ -31,15 +32,16 @@ public void Dispose()
}
[Theory, AutoData]
- public void GetConfigs_WithFeatureStates(Dictionary featureStates)
+ public void GetConfigs_WithFeatureStates(Dictionary featureStates)
{
- _featureService.GetAll().Returns(featureStates);
+ var actualFeatureStates = featureStates.ToDictionary(kvp => kvp.Key, kvp => JsonValue.Create(kvp.Value));
+ _featureService.GetAll().Returns(actualFeatureStates);
var response = _sut.GetConfigs();
Assert.NotNull(response);
Assert.NotNull(response.FeatureStates);
- Assert.Equal(featureStates, response.FeatureStates);
+ Assert.Equal(actualFeatureStates, response.FeatureStates);
}
[Fact]
diff --git a/test/Api.Test/Models/Response/ServerSettingsResponseModelTests.cs b/test/Api.Test/Models/Response/ServerSettingsResponseModelTests.cs
index eda1b83cc5db..af03d94d67f5 100644
--- a/test/Api.Test/Models/Response/ServerSettingsResponseModelTests.cs
+++ b/test/Api.Test/Models/Response/ServerSettingsResponseModelTests.cs
@@ -1,6 +1,7 @@
-using Bit.Api.Models.Response;
-using Bit.Core.Services;
+using System.Text.Json.Nodes;
+using Bit.Api.Models.Response;
using Bit.Core.Settings;
+using Bitwarden.Server.Sdk.Features;
using NSubstitute;
using Xunit;
@@ -18,7 +19,7 @@ public void ConfigResponseModel_SuppressOnboardingInterstitialsTrue_MapsToSettin
globalSettings.WebPush.Returns(Substitute.For());
var featureService = Substitute.For();
- featureService.GetAll().Returns(new Dictionary());
+ featureService.GetAll().Returns(new Dictionary());
var model = new ConfigResponseModel(featureService, globalSettings);
@@ -35,7 +36,7 @@ public void ConfigResponseModel_SuppressOnboardingInterstitialsFalse_MapsToSetti
globalSettings.WebPush.Returns(Substitute.For());
var featureService = Substitute.For();
- featureService.GetAll().Returns(new Dictionary());
+ featureService.GetAll().Returns(new Dictionary());
var model = new ConfigResponseModel(featureService, globalSettings);
diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json
index 1e824e446690..c2fdf4c43248 100644
--- a/test/Api.Test/packages.lock.json
+++ b/test/Api.Test/packages.lock.json
@@ -266,6 +266,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -397,16 +405,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -422,13 +430,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1702,11 +1710,11 @@
"AspNetCore.HealthChecks.SqlServer": "[8.0.2, 8.0.2]",
"AspNetCore.HealthChecks.Uris": "[8.0.1, 8.0.1]",
"Azure.Messaging.EventGrid": "[5.0.0, 5.0.0]",
- "Commercial.Core": "[2026.6.1, )",
- "Commercial.Infrastructure.EntityFramework": "[2026.6.1, )",
- "Pam": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Commercial.Infrastructure.EntityFramework": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1714,14 +1722,15 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )",
+ "Pam": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )",
"Swashbuckle.AspNetCore": "[10.1.7, 10.1.7]"
}
},
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1729,15 +1738,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
- }
- },
- "pam": {
- "type": "Project",
- "dependencies": {
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"common": {
@@ -1745,7 +1747,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1767,6 +1769,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1774,7 +1777,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1792,6 +1794,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1811,8 +1820,8 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Common": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.Diagnostics.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1826,7 +1835,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1834,7 +1843,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1844,13 +1853,28 @@
"linq2db.EntityFrameworkCore": "[8.1.0, 8.1.0]"
}
},
+ "pam": {
+ "type": "Project",
+ "dependencies": {
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )"
+ }
+ },
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Billing.IntegrationTest/packages.lock.json b/test/Billing.IntegrationTest/packages.lock.json
index 3add696ca043..0d4d47cfc389 100644
--- a/test/Billing.IntegrationTest/packages.lock.json
+++ b/test/Billing.IntegrationTest/packages.lock.json
@@ -265,6 +265,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -418,16 +426,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -443,13 +451,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1824,11 +1832,12 @@
"admin": {
"type": "Project",
"dependencies": {
- "Commercial.Core": "[2026.6.0, )",
- "Commercial.Infrastructure.EntityFramework": "[2026.6.0, )",
- "Core": "[2026.6.0, )",
- "Migrator": "[2026.6.0, )",
- "MySqlMigrations": "[2026.6.0, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Commercial.Infrastructure.EntityFramework": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
+ "Migrator": "[2026.6.2, )",
+ "MySqlMigrations": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1836,9 +1845,9 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "PostgresMigrations": "[2026.6.0, )",
- "SharedWeb": "[2026.6.0, )",
- "SqliteMigrations": "[2026.6.0, )"
+ "PostgresMigrations": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )",
+ "SqliteMigrations": "[2026.6.2, )"
}
},
"api": {
@@ -1847,9 +1856,11 @@
"AspNetCore.HealthChecks.SqlServer": "[8.0.2, 8.0.2]",
"AspNetCore.HealthChecks.Uris": "[8.0.1, 8.0.1]",
"Azure.Messaging.EventGrid": "[5.0.0, 5.0.0]",
- "Commercial.Core": "[2026.6.0, )",
- "Commercial.Infrastructure.EntityFramework": "[2026.6.0, )",
- "Core": "[2026.6.0, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Commercial.Infrastructure.EntityFramework": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1857,26 +1868,28 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.0, )",
+ "Pam": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )",
"Swashbuckle.AspNetCore": "[10.1.7, 10.1.7]"
}
},
"api.integrationtest": {
"type": "Project",
"dependencies": {
- "Api": "[2026.6.0, )",
- "IntegrationTestCommon": "[2026.6.0, )",
+ "Api": "[2026.6.2, )",
+ "IntegrationTestCommon": "[2026.6.2, )",
"Microsoft.Extensions.Diagnostics.Testing": "[9.10.0, 9.10.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
- "Seeder": "[2026.6.0, )",
+ "Seeder": "[2026.6.2, )",
"xunit": "[2.6.6, )"
}
},
"billing": {
"type": "Project",
"dependencies": {
- "Commercial.Core": "[2026.6.0, )",
- "Core": "[2026.6.0, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"MarkDig": "[1.1.0, 1.1.0]",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
@@ -1885,14 +1898,14 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.0, )",
+ "SharedWeb": "[2026.6.2, )",
"Swashbuckle.AspNetCore": "[10.1.7, 10.1.7]"
}
},
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1900,8 +1913,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.0, )",
- "Infrastructure.EntityFramework": "[2026.6.0, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"common": {
@@ -1909,7 +1922,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.0, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1931,13 +1944,14 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
+ "CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
"Duende.IdentityServer": "[7.4.6, 7.4.6]",
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1955,6 +1969,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1969,10 +1990,14 @@
"ZiggyCreatures.FusionCache.Serialization.SystemTextJson": "[2.0.2, 2.0.2]"
}
},
+ "httpextensions": {
+ "type": "Project"
+ },
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1980,13 +2005,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.0, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1994,7 +2019,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.0, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -2007,17 +2032,17 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.0, )",
- "Identity": "[2026.6.0, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.0, )",
- "Seeder": "[2026.6.0, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -2025,15 +2050,22 @@
"mysqlmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
- "Infrastructure.EntityFramework": "[2026.6.0, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
+ }
+ },
+ "pam": {
+ "type": "Project",
+ "dependencies": {
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )"
}
},
"postgresmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
- "Infrastructure.EntityFramework": "[2026.6.0, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"rustsdk": {
@@ -2043,27 +2075,35 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.0, )",
- "Infrastructure.EntityFramework": "[2026.6.0, )",
- "RustSdk": "[2026.6.0, )",
- "SharedWeb": "[2026.6.0, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
- "Infrastructure.Dapper": "[2026.6.0, )",
- "Infrastructure.EntityFramework": "[2026.6.0, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
},
"sqlitemigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.0, )",
- "Infrastructure.EntityFramework": "[2026.6.0, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
}
}
diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json
index ed30c12d9370..0a481d5d7e7e 100644
--- a/test/Billing.Test/packages.lock.json
+++ b/test/Billing.Test/packages.lock.json
@@ -247,6 +247,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -378,16 +386,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -403,13 +411,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1664,8 +1672,9 @@
"billing": {
"type": "Project",
"dependencies": {
- "Commercial.Core": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"MarkDig": "[1.1.0, 1.1.0]",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
@@ -1674,14 +1683,14 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )",
+ "SharedWeb": "[2026.6.2, )",
"Swashbuckle.AspNetCore": "[10.1.7, 10.1.7]"
}
},
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1690,7 +1699,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1712,6 +1721,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1719,7 +1729,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1737,6 +1746,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1756,8 +1772,8 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Common": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.Diagnostics.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1768,7 +1784,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1776,7 +1792,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1789,10 +1805,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json
index fd6d75d51e5b..f648d20ed244 100644
--- a/test/Common/packages.lock.json
+++ b/test/Common/packages.lock.json
@@ -234,6 +234,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -351,16 +359,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -376,13 +384,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -845,6 +853,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1012,6 +1035,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1316,6 +1426,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1323,7 +1434,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1341,6 +1451,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/test/Core.IntegrationTest/packages.lock.json b/test/Core.IntegrationTest/packages.lock.json
index ae3c95924d0e..58bb0f4a0f09 100644
--- a/test/Core.IntegrationTest/packages.lock.json
+++ b/test/Core.IntegrationTest/packages.lock.json
@@ -209,6 +209,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -310,16 +318,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -335,13 +343,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -825,6 +833,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -992,6 +1015,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1291,6 +1401,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1298,7 +1409,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1316,6 +1426,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs b/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs
deleted file mode 100644
index a173566b888b..000000000000
--- a/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-using AutoFixture;
-using Bit.Core.Context;
-using Bit.Core.Services;
-using Bit.Core.Settings;
-using Bit.Core.Utilities;
-using Bit.Test.Common.AutoFixture;
-using Bit.Test.Common.AutoFixture.Attributes;
-using LaunchDarkly.Sdk.Server.Interfaces;
-using NSubstitute;
-using Xunit;
-using GlobalSettings = Bit.Core.Settings.GlobalSettings;
-
-namespace Bit.Core.Test.Services;
-
-[SutProviderCustomize]
-public class LaunchDarklyFeatureServiceTests
-{
- private const string _fakeFeatureKey = "somekey";
- private const string _fakeSdkKey = "somesdkkey";
-
- private static SutProvider GetSutProvider(IGlobalSettings globalSettings)
- {
- globalSettings.ProjectName = "LaunchDarkly Tests";
-
- var currentContext = Substitute.For();
- currentContext.DeviceIdentifier.Returns(Guid.NewGuid().ToString());
- currentContext.UserId.Returns(Guid.NewGuid());
- currentContext.ClientVersion.Returns(new Version(AssemblyHelpers.GetVersion()));
- currentContext.ClientVersionIsPrerelease.Returns(true);
- currentContext.DeviceType.Returns(Enums.DeviceType.ChromeBrowser);
-
- var client = Substitute.For();
-
- var fixture = new Fixture();
- return new SutProvider(fixture)
- .SetDependency(globalSettings)
- .SetDependency(currentContext)
- .SetDependency(client)
- .Create();
- }
-
- [Theory, BitAutoData]
- public void DefaultFeatureValue_WhenSelfHost(string key)
- {
- var sutProvider = GetSutProvider(new GlobalSettings { SelfHosted = true });
-
- Assert.False(sutProvider.Sut.IsEnabled(key));
- }
-
- [Fact]
- public void DefaultFeatureValue_NoSdkKey()
- {
- var sutProvider = GetSutProvider(new GlobalSettings());
-
- Assert.False(sutProvider.Sut.IsEnabled(_fakeFeatureKey));
- }
-
- [Fact(Skip = "For local development")]
- public void FeatureValue_Boolean()
- {
- var settings = new GlobalSettings { LaunchDarkly = { SdkKey = _fakeSdkKey } };
-
- var sutProvider = GetSutProvider(settings);
-
- Assert.False(sutProvider.Sut.IsEnabled(_fakeFeatureKey));
- }
-
- [Fact(Skip = "For local development")]
- public void FeatureValue_Int()
- {
- var settings = new GlobalSettings { LaunchDarkly = { SdkKey = _fakeSdkKey } };
-
- var sutProvider = GetSutProvider(settings);
-
- Assert.Equal(0, sutProvider.Sut.GetIntVariation(_fakeFeatureKey));
- }
-
- [Fact(Skip = "For local development")]
- public void FeatureValue_String()
- {
- var settings = new GlobalSettings { LaunchDarkly = { SdkKey = _fakeSdkKey } };
-
- var sutProvider = GetSutProvider(settings);
-
- Assert.Null(sutProvider.Sut.GetStringVariation(_fakeFeatureKey));
- }
-
- [Fact(Skip = "For local development")]
- public void GetAll()
- {
- var sutProvider = GetSutProvider(new GlobalSettings());
-
- var results = sutProvider.Sut.GetAll();
-
- Assert.NotNull(results);
- Assert.NotEmpty(results);
- }
-}
diff --git a/test/Core.Test/Services/ServerContextBuilderTests.cs b/test/Core.Test/Services/ServerContextBuilderTests.cs
new file mode 100644
index 000000000000..578619a6f340
--- /dev/null
+++ b/test/Core.Test/Services/ServerContextBuilderTests.cs
@@ -0,0 +1,102 @@
+using Bit.Core.Auth.Identity;
+using Bit.Core.Context;
+using Bit.Core.Enums;
+using Bit.Core.Services.Implementations;
+using LaunchDarkly.Sdk;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.DependencyInjection;
+using NSubstitute;
+using Xunit;
+
+namespace Bit.Core.Test.Services;
+
+public class ServerContextBuilderTests
+{
+ private const string AnonymousUser = "25a15cac-58cf-4ac0-ad0f-b17c4bd92294";
+
+ [Fact]
+ public void Build_NoHttpContext_ReturnsAnonymousDefaultContext()
+ {
+ var accessor = Substitute.For();
+ accessor.HttpContext.Returns((HttpContext?)null);
+ var builder = new ServerContextBuilder(accessor);
+
+ var context = builder.Build();
+
+ Assert.False(context.Multiple);
+ Assert.Equal(ContextKind.Default, context.Kind);
+ Assert.Equal(AnonymousUser, context.Key);
+ Assert.True(context.Anonymous);
+ }
+
+ [Fact]
+ public void Build_AuthenticatedUserWithDevice_ReturnsMultiKindContext()
+ {
+ var userId = Guid.Parse("11111111-1111-1111-1111-111111111111");
+ var currentContext = Substitute.For();
+ currentContext.IdentityClientType.Returns(IdentityClientType.User);
+ currentContext.UserId.Returns(userId);
+ currentContext.DeviceIdentifier.Returns("device-key");
+ currentContext.DeviceType.Returns(DeviceType.ChromeBrowser);
+
+ var builder = new ServerContextBuilder(BuildAccessor(currentContext));
+
+ var context = builder.Build();
+
+ Assert.True(context.Multiple);
+
+ Assert.True(context.TryGetContextByKind(ContextKind.Default, out var user));
+ Assert.Equal(userId.ToString(), user.Key);
+ Assert.False(user.Anonymous);
+
+ Assert.True(context.TryGetContextByKind(ContextKind.Of("device"), out var device));
+ Assert.Equal("device-key", device.Key);
+ }
+
+ [Fact]
+ public void Build_UnauthenticatedUser_ReturnsAnonymousUserContext()
+ {
+ var currentContext = Substitute.For();
+ currentContext.IdentityClientType.Returns(IdentityClientType.User);
+ currentContext.UserId.Returns((Guid?)null);
+
+ var builder = new ServerContextBuilder(BuildAccessor(currentContext));
+
+ var context = builder.Build();
+
+ Assert.True(context.TryGetContextByKind(ContextKind.Default, out var user));
+ Assert.Equal(AnonymousUser, user.Key);
+ Assert.True(user.Anonymous);
+ }
+
+ [Fact]
+ public void Build_OrganizationClientType_ReturnsOrganizationContext()
+ {
+ var orgId = Guid.Parse("22222222-2222-2222-2222-222222222222");
+ var currentContext = Substitute.For();
+ currentContext.IdentityClientType.Returns(IdentityClientType.Organization);
+ currentContext.OrganizationId.Returns(orgId);
+
+ var builder = new ServerContextBuilder(BuildAccessor(currentContext));
+
+ var context = builder.Build();
+
+ Assert.True(context.TryGetContextByKind(ContextKind.Of("organization"), out var org));
+ Assert.Equal(orgId.ToString(), org.Key);
+ }
+
+ private static IHttpContextAccessor BuildAccessor(ICurrentContext currentContext)
+ {
+ var services = new ServiceCollection();
+ services.AddScoped(_ => currentContext);
+
+ var httpContext = new DefaultHttpContext
+ {
+ RequestServices = services.BuildServiceProvider().CreateScope().ServiceProvider,
+ };
+
+ var accessor = Substitute.For();
+ accessor.HttpContext.Returns(httpContext);
+ return accessor;
+ }
+}
diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json
index dbdd344a334e..7643c08669ec 100644
--- a/test/Core.Test/packages.lock.json
+++ b/test/Core.Test/packages.lock.json
@@ -245,6 +245,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -362,16 +370,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -387,13 +395,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -865,6 +873,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.ObjectPool": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1053,6 +1076,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1348,7 +1458,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1370,6 +1480,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1377,7 +1488,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1395,6 +1505,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/test/Events.IntegrationTest/packages.lock.json b/test/Events.IntegrationTest/packages.lock.json
index 1a8873446b18..1d6ef06c79c1 100644
--- a/test/Events.IntegrationTest/packages.lock.json
+++ b/test/Events.IntegrationTest/packages.lock.json
@@ -221,6 +221,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -374,16 +382,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -399,13 +407,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1713,7 +1721,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1735,6 +1743,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1742,7 +1751,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1760,6 +1768,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1777,7 +1792,8 @@
"events": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1785,13 +1801,14 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1799,13 +1816,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1813,7 +1830,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1826,17 +1843,17 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.1, )",
- "Identity": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1848,19 +1865,27 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Events.Test/packages.lock.json b/test/Events.Test/packages.lock.json
index 43f320e54795..e4c623042646 100644
--- a/test/Events.Test/packages.lock.json
+++ b/test/Events.Test/packages.lock.json
@@ -231,6 +231,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -362,16 +370,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -387,13 +395,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1594,7 +1602,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1616,6 +1624,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1623,7 +1632,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1641,6 +1649,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1658,7 +1673,8 @@
"events": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1666,13 +1682,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1680,7 +1696,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1693,10 +1709,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/EventsProcessor.Test/packages.lock.json b/test/EventsProcessor.Test/packages.lock.json
index ea114ad21c85..ab26ef256640 100644
--- a/test/EventsProcessor.Test/packages.lock.json
+++ b/test/EventsProcessor.Test/packages.lock.json
@@ -195,6 +195,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -301,16 +309,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -326,13 +334,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1532,6 +1540,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1539,7 +1548,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1557,6 +1565,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1574,7 +1589,8 @@
"eventsprocessor": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1582,13 +1598,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1596,7 +1612,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1609,10 +1625,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/HttpExtensions.Test/packages.lock.json b/test/HttpExtensions.Test/packages.lock.json
index 3e0f3ef481b8..24037b8f688c 100644
--- a/test/HttpExtensions.Test/packages.lock.json
+++ b/test/HttpExtensions.Test/packages.lock.json
@@ -54,34 +54,6 @@
"resolved": "2.5.6",
"contentHash": "CW6uhMXNaQQNMSG1IWhHkBT+V5eqHqn7MP0zfNMhU9wS/sgKX7FGL3rzoaUgt26wkY3bpf7pDVw3IjXhwfiP4w=="
},
- "AdaptiveCards": {
- "type": "Transitive",
- "resolved": "3.1.0",
- "contentHash": "b+sPwH0oyAflpgxCyNPMzH92xrQjWl6GuuEBv86/VhO6iHhiWv+PtwzqMS70nOXZQRzpl9YVHXAvn+dKot5IBQ==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "AspNetCoreRateLimit": {
- "type": "Transitive",
- "resolved": "5.0.0",
- "contentHash": "6fq9+o1maGADUmpK/PvcF0DtXW2+7bSkIL7MDIo/agbIHKN8XkMQF4oze60DO731WaQmHmK260hB30FwPzCmEg==",
- "dependencies": {
- "Microsoft.Extensions.Caching.Abstractions": "6.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "6.0.3",
- "Microsoft.Extensions.Options": "6.0.0",
- "Newtonsoft.Json": "13.0.2"
- }
- },
- "AspNetCoreRateLimit.Redis": {
- "type": "Transitive",
- "resolved": "2.0.0",
- "contentHash": "3g6Mb4Y+rW14/oE7Qt8WFA9zS7XNdHx7TH3k/XQix7PtUWEZSSAK+VsqDhDIPkUysUHFBDUA7olNeTjytpzA/g==",
- "dependencies": {
- "AspNetCoreRateLimit": "5.0.0",
- "StackExchange.Redis": "2.6.80"
- }
- },
"AutoFixture": {
"type": "Transitive",
"resolved": "4.18.1",
@@ -90,144 +62,6 @@
"Fare": "[2.1.1, 3.0.0)"
}
},
- "AWSSDK.Core": {
- "type": "Transitive",
- "resolved": "4.0.3.3",
- "contentHash": "YQv10JuxnciWh0QwnkarSbge4gXQV1qTURf5jkBjNUH/3jYS9QrbxopA4TK1qdjfOfP37tqiJkLSrRRNqX81aw=="
- },
- "AWSSDK.SimpleEmail": {
- "type": "Transitive",
- "resolved": "4.0.2.5",
- "contentHash": "LvV5mXlvpR3fTAJysO3KmUC6bR/KUZpdkcMJ5b6lYNpStlsFN+MXcaMh34TuwYaTCgIjF3bJb4oZifFkgh+Ccw==",
- "dependencies": {
- "AWSSDK.Core": "[4.0.3.3, 5.0.0)"
- }
- },
- "AWSSDK.SQS": {
- "type": "Transitive",
- "resolved": "4.0.2.5",
- "contentHash": "bHA9m/2RZHNKt6NGvQ56rfEDj/pfUlcwPeCg2HmPJ3jZPyoerBuEsYvFkMP3YJNv3aoycNWZoiDk0/ULP0tEyA==",
- "dependencies": {
- "AWSSDK.Core": "[4.0.3.3, 5.0.0)"
- }
- },
- "Azure.Core": {
- "type": "Transitive",
- "resolved": "1.47.3",
- "contentHash": "u/uCNtUWT+Q/Is7/PAMy3KP9kq5vY5klRnyAvRxO/kEa5OnV3/X5lHlCajNANC7vmej6jAqceqLBJNO/VyCKzg==",
- "dependencies": {
- "Microsoft.Bcl.AsyncInterfaces": "8.0.0",
- "System.ClientModel": "1.6.1",
- "System.Memory.Data": "8.0.1"
- }
- },
- "Azure.Core.Amqp": {
- "type": "Transitive",
- "resolved": "1.3.1",
- "contentHash": "AY1ZM4WwLBb9L2WwQoWs7wS2XKYg83tp3yVVdgySdebGN0FuIszuEqCy3Nhv6qHpbkjx/NGuOTsUbF/oNGBgwA==",
- "dependencies": {
- "Microsoft.Azure.Amqp": "2.6.7",
- "System.Memory.Data": "1.0.2"
- }
- },
- "Azure.Data.Tables": {
- "type": "Transitive",
- "resolved": "12.11.0",
- "contentHash": "MabH2HegMvZA1ocaMhEfW/idyTa3CoH64s43/V9/KFRGdVqEj0EETvd3ItDe6Bbs2teiR40KE9Kz9NLDc5DJJw==",
- "dependencies": {
- "Azure.Core": "1.44.1"
- }
- },
- "Azure.Extensions.AspNetCore.DataProtection.Blobs": {
- "type": "Transitive",
- "resolved": "1.3.4",
- "contentHash": "zS+x0MpUMSbvZD598lwAoax+ohIeSAvGlXpT71iP7FFmMZ+Tjz/8hx+jZH/RbV2cJYTYbux8XFDll7LMPuz46g==",
- "dependencies": {
- "Azure.Core": "1.38.0",
- "Azure.Storage.Blobs": "12.16.0",
- "Microsoft.AspNetCore.DataProtection": "3.1.32"
- }
- },
- "Azure.Identity": {
- "type": "Transitive",
- "resolved": "1.11.4",
- "contentHash": "Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==",
- "dependencies": {
- "Azure.Core": "1.38.0",
- "Microsoft.Identity.Client": "4.61.3",
- "Microsoft.Identity.Client.Extensions.Msal": "4.61.3",
- "System.Security.Cryptography.ProtectedData": "4.7.0"
- }
- },
- "Azure.Messaging.ServiceBus": {
- "type": "Transitive",
- "resolved": "7.20.1",
- "contentHash": "DxCkedWPQuiXrIyFcriOhsQcZmDZW+j9d55Ev4nnK3yjMUFjlVe4Hj37fuZTJlNhC3P+7EumqBTt33R6DfOxGA==",
- "dependencies": {
- "Azure.Core": "1.46.2",
- "Azure.Core.Amqp": "1.3.1",
- "Microsoft.Azure.Amqp": "2.7.0"
- }
- },
- "Azure.Storage.Blobs": {
- "type": "Transitive",
- "resolved": "12.26.0",
- "contentHash": "EBRSHmI0eNzdufcIS1Rf7Ez9M8V1Jl7pMV4UWDERDMCv513KtAVsgz2ez2FQP9Qnwg7uEQrP+Uc7vBtumlr7sQ==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "Azure.Storage.Common": "12.25.0"
- }
- },
- "Azure.Storage.Blobs.Batch": {
- "type": "Transitive",
- "resolved": "12.23.0",
- "contentHash": "1Cj2/OEPoNpcwjQZ/vtng4ImrwuDlOZhYd3mKCxQXzUe50dl0lM5AWX8KE8GGKd5pLuRKYMNmn3mRvWpv/Me+A==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "Azure.Storage.Blobs": "12.26.0",
- "Azure.Storage.Common": "12.25.0"
- }
- },
- "Azure.Storage.Common": {
- "type": "Transitive",
- "resolved": "12.25.0",
- "contentHash": "MHGWp4aLHRo0BdLj25U2qYdYK//Zz21k4bs3SVyNQEmJbBl3qZ8GuOmTSXJ+Zad93HnFXfvD8kyMr0gjA8Ftpw==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "System.IO.Hashing": "8.0.0"
- }
- },
- "Azure.Storage.Queues": {
- "type": "Transitive",
- "resolved": "12.24.0",
- "contentHash": "YSR051EMu421JZNCOyOB2JpVyA4bSW8CnbTYmYlwxsYIUJuwiMy2toSXIoq9RKG9PuBtnT5dS9M6QCYNGaswAw==",
- "dependencies": {
- "Azure.Core": "1.47.3",
- "Azure.Storage.Common": "12.25.0"
- }
- },
- "BitPay.Light": {
- "type": "Transitive",
- "resolved": "1.0.1907",
- "contentHash": "QTTIgXakHrRNQPxNyH7bZ7frm0bI8N6gRDtiqVyKG/QYQ+KfjN70xt0zQ0kO0zf8UBaKuwcV5B7vvpXtzR9ijg==",
- "dependencies": {
- "Newtonsoft.Json": "12.0.2"
- }
- },
- "BouncyCastle.Cryptography": {
- "type": "Transitive",
- "resolved": "2.6.2",
- "contentHash": "7oWOcvnntmMKNzDLsdxAYqApt+AjpRpP2CShjMfIa3umZ42UQMvH0tl1qAliYPNYO6vTdcGMqnRrCPmsfzTI1w=="
- },
- "Braintree": {
- "type": "Transitive",
- "resolved": "5.36.0",
- "contentHash": "K43RjhEU5qXoYYxo0C0o54msQxbdRjVP+hDMZwSXsei4fLBHA2xwS1NCooZ9girCQNjoWOM8bygkHTVGgN+sag==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.1",
- "System.Xml.XPath.XmlDocument": "4.3.0"
- }
- },
"Castle.Core": {
"type": "Transitive",
"resolved": "5.1.1",
@@ -236,47 +70,6 @@
"System.Diagnostics.EventLog": "6.0.0"
}
},
- "CsvHelper": {
- "type": "Transitive",
- "resolved": "33.1.0",
- "contentHash": "kqfTOZGrn7NarNeXgjh86JcpTHUoeQDMB8t9NVa/ZtlSYiV1rxfRnQ49WaJsob4AiGrbK0XDzpyKkBwai4F8eg=="
- },
- "DnsClient": {
- "type": "Transitive",
- "resolved": "1.8.0",
- "contentHash": "RRwtaCXkXWsx0mmsReGDqCbRLtItfUbkRJlet1FpdciVhyMGKcPd57T1+8Jki9ojHlq9fntVhXQroOOgRak8DQ=="
- },
- "Duende.IdentityModel": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "8i+Tv4c38LgwoTRKbD0+MqtnNNDSVA83G6JkjGHgC4/7jH0nxZBP0RBhH8xTsvNQ5Pv9zrg+TR8rmtWK9HDOPg=="
- },
- "Duende.IdentityServer": {
- "type": "Transitive",
- "resolved": "7.4.6",
- "contentHash": "Zvri5e+SrOWLz0wmJry0ZaU8gVygv966jzP/CbMSCtV0K/nqK7abL9gQr9aKKmjt5DsONauUMT2E0cK/GbXJAg==",
- "dependencies": {
- "Duende.IdentityServer.Storage": "7.4.6",
- "Microsoft.AspNetCore.Authentication.OpenIdConnect": "10.0.0"
- }
- },
- "Duende.IdentityServer.Storage": {
- "type": "Transitive",
- "resolved": "7.4.6",
- "contentHash": "qPNsoj5H1TaT5gYptA/Z5LZE/UT4PFsgDen8K1DLj4W9O8i1PuEfFiba9CbmwLPs/TUS2xikCbxfiUgBUqn8GQ==",
- "dependencies": {
- "Duende.IdentityModel": "8.0.0",
- "Microsoft.AspNetCore.DataProtection.Abstractions": "10.0.0"
- }
- },
- "DuoUniversal": {
- "type": "Transitive",
- "resolved": "1.3.1",
- "contentHash": "BZUJplORCBO1PVDFT5v7HDYAlpgHAkay5N9vzRpJ/sBm+GU44pxNlo7v95Ym0tvUeKy0WWWv/iE4FjErYoZUHQ==",
- "dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "6.34.0"
- }
- },
"Fare": {
"type": "Transitive",
"resolved": "2.1.1",
@@ -285,664 +78,16 @@
"NETStandard.Library": "1.6.1"
}
},
- "Fido2": {
- "type": "Transitive",
- "resolved": "3.0.1",
- "contentHash": "S0Bz1vfcKlO4Jase3AWp5XnQ746psf4oGx5kL+D2A10j1SsjoAOAIIpanSwfi0cEepDHgk1bClcOKY5TjOzGdA==",
- "dependencies": {
- "Fido2.Models": "3.0.1",
- "Microsoft.Extensions.Http": "6.0.0",
- "NSec.Cryptography": "22.4.0",
- "System.Formats.Cbor": "6.0.0",
- "System.IdentityModel.Tokens.Jwt": "6.17.0"
- }
- },
- "Fido2.AspNet": {
- "type": "Transitive",
- "resolved": "3.0.1",
- "contentHash": "5n5shEXD7RFUyTesjUHGDjkpgES7j4KotQo1GwUcS08k+fx+1tl/zCFHJ9RFDuUwO+S681ZILT2PyA67IPYpaA==",
- "dependencies": {
- "Fido2": "3.0.1",
- "Fido2.Models": "3.0.1"
- }
- },
- "Fido2.Models": {
- "type": "Transitive",
- "resolved": "3.0.1",
- "contentHash": "mgjcuGETuYSCUEaZG+jQeeuuEMkDLc4GDJHBvKDdOz6oSOWp5adPdWP4btZx7Pi+9fu4szN3JIjJmby67MaILw=="
- },
- "Handlebars.Net": {
- "type": "Transitive",
- "resolved": "2.1.6",
- "contentHash": "WsYWCEXsIM6hEOSOSRHtIYLjC8BnbT5MVmqhNKRqUI7qiv0t8x3nJiBTEv0ZZfvUAMAFnadGIzSsS/U2anVG1Q=="
- },
- "LaunchDarkly.Cache": {
- "type": "Transitive",
- "resolved": "1.0.2",
- "contentHash": "0bEnUVFVeW1TTDXb/bW6kS3FLQTLeGtw7Xh8yt6WNO56utVmtgcrMLvcnF6yeTn+N4FXrKfW09KkLNmK8YYQvw=="
- },
- "LaunchDarkly.CommonSdk": {
- "type": "Transitive",
- "resolved": "7.1.1",
- "contentHash": "J557Na/XeYV8JjgWbGRMzi5eOgXrEMqcuPBtkZP/y7EgFLiWgvaPBGDm+hq766Kp0Kxs2MaZaNTQn4Fog7Hebw==",
- "dependencies": {
- "LaunchDarkly.Logging": "2.0.0"
- }
- },
- "LaunchDarkly.EventSource": {
- "type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
- "dependencies": {
- "LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
- }
- },
- "LaunchDarkly.InternalSdk": {
- "type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
- "dependencies": {
- "LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
- "LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
- }
- },
- "LaunchDarkly.Logging": {
- "type": "Transitive",
- "resolved": "2.0.0",
- "contentHash": "lsLKNqAZ7HIlkdTIrf4FetfRA1SUDE3WlaZQn79aSVkLjYWEhUhkDDK7hORGh4JoA3V2gXN+cIvJQax2uR/ijA==",
- "dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "6.0.0"
- }
- },
- "LaunchDarkly.ServerSdk": {
- "type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
- "dependencies": {
- "LaunchDarkly.Cache": "1.0.2",
- "LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
- "LaunchDarkly.Logging": "2.0.0"
- }
- },
- "libsodium": {
- "type": "Transitive",
- "resolved": "1.0.18.2",
- "contentHash": "flArHoVdscSzyV8ZdPV+bqqY2TTFlaN+xZf/vIqsmHI51KVcD/mOdUPaK3n/k/wGKz8dppiktXUqSmf3AXFgig=="
- },
- "MailKit": {
- "type": "Transitive",
- "resolved": "4.16.0",
- "contentHash": "trJ82DOpAmo8i1jO1vNE+dGn4mPRyeYfy4swRcAGgMJhPoI1Kohf4OFJJf0+YIj4iUxgxPn8W+ht7e7KiYzSjg==",
- "dependencies": {
- "MimeKit": "4.16.0"
- }
- },
- "Microsoft.AspNetCore.Authentication.JwtBearer": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "oGnE+X/SN6jdqao9WOkOIfyZ5+a0AtluJWy1Mxndq+kcWG6sx5k6l6tucu8/wJ7o9fHfLgVCzm/c4v/KVgVk6w==",
- "dependencies": {
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1"
- }
- },
- "Microsoft.AspNetCore.Authentication.OpenIdConnect": {
- "type": "Transitive",
- "resolved": "10.0.0",
- "contentHash": "6ATONu+5A2oh/vzmoFhf3cuQcclMaWGHrb1kvjVsYtml+gzuWD48MmbsItM4xAUQkJZ2t8XFmbGp8pZLPxKneA==",
- "dependencies": {
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.0.1"
- }
- },
- "Microsoft.AspNetCore.Cryptography.Internal": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "R0TKX26vPlw4kfyaLECwxn5GUIUAv6B+5s8kiEku9cl9VVCrDQDslPuhUUhN6oI/TvLj1lMFkz6AhHIpbPC3Lg=="
- },
- "Microsoft.AspNetCore.Cryptography.KeyDerivation": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "eKKLdOmdyr8TrzvD9eKdcvh8OlfomZiN6FwZNlK+F8fihZJBRgNVReqt3evYvZMHK3N/0Ui6P14cubllt1cFUg==",
- "dependencies": {
- "Microsoft.AspNetCore.Cryptography.Internal": "10.0.8"
- }
- },
- "Microsoft.AspNetCore.DataProtection": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "Rlbrr3XSGB4dwnUY/pA70TpVyrQhelDAUkIiGfJ2Tm32mscTYxrRnk9Ooy1rRhGZ1g7rliJPuNzhyMMKmRH5pw==",
- "dependencies": {
- "Microsoft.AspNetCore.Cryptography.Internal": "10.0.8",
- "Microsoft.AspNetCore.DataProtection.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Hosting.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "System.Security.Cryptography.Xml": "10.0.8"
- }
- },
- "Microsoft.AspNetCore.DataProtection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "NYxEmhe2tDPwwGgl0kNraUOJdOqaIYJpnZ1Lf7OlqWRf3aLagniVxMl8JSVmy0jiRtElsPYq8lTvLlbvRSwCLA=="
- },
- "Microsoft.Azure.Amqp": {
- "type": "Transitive",
- "resolved": "2.7.0",
- "contentHash": "gm/AEakujttMzrDhZ5QpRz3fICVkYDn/oDG9SmxDP+J7R8JDBXYU9WWG7hr6wQy40mY+wjUF0yUGXDPRDRNJwQ=="
- },
- "Microsoft.Azure.Cosmos": {
- "type": "Transitive",
- "resolved": "3.52.0",
- "contentHash": "NEjNpaO19gvJrXowqHFcYPSpro5+TNjHO/JpU4VXP37by2aU2RVnmgpZsWL1GUl5wCPZ4VIOUsP1lrHpfW8ADQ==",
- "dependencies": {
- "Azure.Core": "1.44.1",
- "Microsoft.Bcl.AsyncInterfaces": "6.0.0",
- "Microsoft.Bcl.HashCode": "1.1.0",
- "System.Configuration.ConfigurationManager": "6.0.0"
- }
- },
- "Microsoft.Azure.NotificationHubs": {
- "type": "Transitive",
- "resolved": "4.2.0",
- "contentHash": "LOCxFB/sB1frfuXjecdDRDKEHkH+I1qKRatS5NyWIgYhpKhIcAlPNIJajcwLgQBShckdc3hMG9E+75CnL3qDhQ==",
- "dependencies": {
- "Microsoft.Extensions.Caching.Memory": "6.0.1",
- "Newtonsoft.Json": "13.0.1"
- }
- },
- "Microsoft.Bcl.AsyncInterfaces": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw=="
- },
- "Microsoft.Bcl.Cryptography": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "5T+bH3Lb1nEe8Hf/ixMxLmhlrx5wRi53wv7OhVwG2F1ZviW1ejFRS1NHur3uqPpJRGtkQwUchtY6zhVK2R+v+w=="
- },
- "Microsoft.Bcl.HashCode": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "J2G1k+u5unBV+aYcwxo94ip16Rkp65pgWFb0R6zwJipzWNMgvqlWeuI7/+R+e8bob66LnSG+llLJ+z8wI94cHg=="
- },
- "Microsoft.Bot.Builder": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "bLTrp/tfSNWDAIJ90TqyZ8JtpjCvNO7kgvhW0R5eSu72tAifwEIi2uxhFS+c8alsa2DM4EW3JSemoDgn0r6Hog==",
- "dependencies": {
- "Microsoft.Bot.Connector": "4.23.0",
- "Microsoft.Bot.Connector.Streaming": "4.23.0",
- "Microsoft.Bot.Streaming": "4.23.0",
- "Microsoft.Extensions.DependencyInjection": "8.0.0",
- "Microsoft.Extensions.Logging": "8.0.0"
- }
- },
- "Microsoft.Bot.Builder.Integration.AspNet.Core": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "p6xghjJfg3Vh/q2NSd77TtuvCykuEakzMaELHctf3Cw4eTILsXWIgEJ0QxyelMnJGJjgfBwFS9ZeC2hWUFYzBA==",
- "dependencies": {
- "Microsoft.Bot.Builder": "4.23.0",
- "Microsoft.Bot.Configuration": "4.23.0",
- "Microsoft.Bot.Connector.Streaming": "4.23.0",
- "Microsoft.Bot.Streaming": "4.23.0",
- "Microsoft.Extensions.Configuration.Binder": "8.0.2",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Configuration": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "yCzxNU5QAEQ6zy7VBNuz3GwOY8OZcDkNYOmPw/QuVzViozxuJI200BMl+a5jhY9Nd7j6bGxO7Y3mmHy4Tu7Teg==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Connector": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "/vgAQ8LonwAnyu6CzYYElU4k65k+9V2ncwztpZtBM+IuwkhDe3iAO2ycObqcyhMMWYUV81IOb0JZYcabjiZ4NQ==",
- "dependencies": {
- "Microsoft.Bot.Schema": "4.23.0",
- "Microsoft.Extensions.Http": "8.0.0",
- "Microsoft.Extensions.Logging": "8.0.0",
- "Microsoft.Identity.Client": "4.66.1",
- "Microsoft.Identity.Web.Certificateless": "3.3.0",
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.1.2",
- "Microsoft.Rest.ClientRuntime": "2.3.24",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Connector.Streaming": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "Yz6PcySgtje88IGEJXj6agzya48pBL34/A5Zs3/xqmHvEQlI2ypMNc3OBOo2TRGxykklCSwc60PN2k95d4pbFw==",
- "dependencies": {
- "Microsoft.Bot.Schema": "4.23.0",
- "Microsoft.Bot.Streaming": "4.23.0",
- "Microsoft.Extensions.Logging": "8.0.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Schema": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "HZeEXg/PuniNRIUU8ioSx/LrOXcbTZCZ1hUIqDdc6akWwhjrC2sTv7TaBpD0FlY4hDyUvj3GLyurPI/YChGPzA==",
- "dependencies": {
- "AdaptiveCards": "3.1.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Bot.Streaming": {
- "type": "Transitive",
- "resolved": "4.23.0",
- "contentHash": "gYudjsFAVjwZBRU5irJh7sdsD7gNRFfZEUwWTqkNp1eGaR1t+4sJY+YyqYL3PyCMSgLrKE46bt/JWuDi3CjRfA==",
- "dependencies": {
- "Microsoft.Extensions.Logging": "8.0.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
"Microsoft.CodeCoverage": {
"type": "Transitive",
"resolved": "18.0.1",
"contentHash": "O+utSr97NAJowIQT/OVp3Lh9QgW/wALVTP4RG1m2AfFP4IyJmJz0ZBmFJUsRQiAPgq6IRC0t8AAzsiPIsaUDEA=="
},
- "Microsoft.Data.SqlClient": {
- "type": "Transitive",
- "resolved": "7.0.0",
- "contentHash": "/oolEwtHuDtpLKU8OItOTTxVJalgPtIkcNBwzXJ3YGyrkOAvLYqMtin9Z1jxqryJpds3PjuZBF5iKIYVVYVSvQ==",
- "dependencies": {
- "Microsoft.Bcl.Cryptography": "9.0.13",
- "Microsoft.Data.SqlClient.Extensions.Abstractions": "1.0.0",
- "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0",
- "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
- "Microsoft.Extensions.Caching.Memory": "9.0.13",
- "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.16.0",
- "Microsoft.SqlServer.Server": "1.0.0",
- "System.Configuration.ConfigurationManager": "9.0.13",
- "System.Security.Cryptography.Pkcs": "9.0.13"
- }
- },
- "Microsoft.Data.SqlClient.Extensions.Abstractions": {
- "type": "Transitive",
- "resolved": "1.0.0",
- "contentHash": "rlnxc0KfwDSbE8ZHntFnl8SCgOa9QtJZblMv2zXLhRwl1Je7fsdsVzxSjzzC4JMsfAK+jXJWyezRB8SxUY4BdA==",
- "dependencies": {
- "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0"
- }
- },
- "Microsoft.Data.SqlClient.Internal.Logging": {
- "type": "Transitive",
- "resolved": "1.0.0",
- "contentHash": "Kue/7CF8KNT9zozfr30C94dMZVZml3atqWZvQemSXvTau76tRdypzeKiBKXadqgbOME0UiQIyVTNo5WxCRNVNg=="
- },
- "Microsoft.Data.SqlClient.SNI.runtime": {
- "type": "Transitive",
- "resolved": "6.0.2",
- "contentHash": "f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w=="
- },
- "Microsoft.Extensions.Caching.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "EoK2TwVR1daxmfXUPnvIYZSk5XQjHe45sGekox4kvMt88KQZQhDVzYW5Na5+oNwTuRpE48hipyGJg12F1Tm70w==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Caching.Cosmos": {
- "type": "Transitive",
- "resolved": "1.8.0",
- "contentHash": "8UI41/U5yla1z48klbtRdXxxloAChRzhAm592bitBNzTlXBq87zeO6Lbdvuh5d6oLNCU0I01kw6ovTD9Z6y05g==",
- "dependencies": {
- "Microsoft.Azure.Cosmos": "3.47.0",
- "Microsoft.Extensions.Caching.Abstractions": "6.0.0",
- "Microsoft.Extensions.Options": "6.0.0",
- "Newtonsoft.Json": "13.0.3"
- }
- },
- "Microsoft.Extensions.Caching.Memory": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "OdQmN8LYcUEu20Fxii9mk68nHJGL+JPXF3w0+hxenf0oDDdDBA+ZV/S92FmIgAWAElowIiFA/g0x+8YB1g80Hg==",
- "dependencies": {
- "Microsoft.Extensions.Caching.Abstractions": "9.0.13",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.13",
- "Microsoft.Extensions.Logging.Abstractions": "9.0.13",
- "Microsoft.Extensions.Options": "9.0.13",
- "Microsoft.Extensions.Primitives": "9.0.13"
- }
- },
- "Microsoft.Extensions.Caching.SqlServer": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GSP1UIw/VFiLOWBOCQYwLHsLnkqqqqEC9sc8IqCXpbSkwz03EZ9u4jcFORTE4TJ/gkKXKP6L3AO+ZFZ5MFX4Gg==",
- "dependencies": {
- "Azure.Identity": "1.11.4",
- "Microsoft.Data.SqlClient": "5.2.2",
- "Microsoft.Extensions.Caching.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Caching.StackExchangeRedis": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fle9ns3q2kk63vt/wHFtLw1U9kiEbM42vTk2Sar8VBjiGJFkXAgm0QEKFx15YMHkJIPRVdknWaovpvgGEgn10g==",
- "dependencies": {
- "Microsoft.Extensions.Caching.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "StackExchange.Redis": "2.7.27"
- }
- },
- "Microsoft.Extensions.Configuration": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "ehZcoPbjzWzS4XFvuz7R3V55SmpdkyMqFURLH3yXaN9NtXd9tR6CGB7pd49HYtCkenl+G7ctXSFLhNI08xLfRg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "I63esIFbL3h5pSt7gXpXOlmcwDmYBUoYNEglKfDPFUqtYvSV84f2l28hO2lfVXsV0wdlplgAM7IVz16matapSg==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Binder": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "R3NN1X+kVu14uoxLEW6sBSQyhogDSbaOQzILnCtuXxBN4hx22AgjWPwZX6v/suERFkEDgU1lk12AglHTrUxhlw==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.EnvironmentVariables": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "bVGqctAfPGfTxJvNp8pMshtvpsUj6r6JkeiCNVIGVYO5gBxuxdN0Lbr25kEvE/zXdctkEc44g8HssnPgDnFGVA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.FileExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "1g9mzuu8gIHkjYb0jLxOTQVl/QDG5nn0b0JzgT/gbgNKr6gXZzxOHRAsdYRc1eDApB7LdHR8uK5vQrNjIQdRrQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.Json": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "KLtAZ6A38s1pIfCO2ns6aG14NNGMYNZ4PBYfFK4M+R4A+xuSc6oklhqDcpHZxvDpyBWeFtR5C8iQBw2ng8tUHQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.FileExtensions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Configuration.UserSecrets": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "6XTfFOnf27WY8kEeZkTZ4YNn0t+imgvdQ0YaAdR4vgURKATo9bCaVJ1KB71IOJAQtJP7Elb53VHlTNXg2CtSsA==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Json": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Physical": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "daf62xHIrq8pnE709hgaZZN9tSam9TGGepWe1+bE6V3GEuVwJiMs6ib+38lfMCyAJAHiX0vapxBhsuMSV7U+cg==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.DependencyInjection.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "21nbDV60SRPWGIivsyl6lqBeEJNG1sginhhfWgRrr3Ais7aQ12To25OAHQxgoiJkjqy1aQ6RxpZBGYuTi7Ge6A=="
- },
- "Microsoft.Extensions.Diagnostics": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "uduyw9d3Fi+sbredO5drA1S44AQS2FRNFyn72UmB2vmQIO1qaXprpp1U/2lYhYi8yFdVERfY9sy/pxw/qPOU9w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Diagnostics.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "+f4C5g78QCGNyxzUfrTYsB7qYx06Zca0e88s3qFlea9/lQhgPImYdNprlgzl1uHhRU3fVHLfmbijayU2sJEZ6w==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "U+oquaPxFdY8lYeEIWO/AD7jDIl9sPW6aVWMQRHU/pZ/SWpLcOrAj2fcLe1HwXl4sYw1ONI56K/eELT3xr4RRQ==",
- "dependencies": {
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileProviders.Physical": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "GkPvQe6IdidLu6Q3Lw6+B8NJpW8feW8czZ5mBKt5rXM/x8MvZfEp5WvAsjznzDGd23chIDrW0b2mmt+ScnEgiw==",
- "dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileSystemGlobbing": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.FileSystemGlobbing": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "IUQet3SY51xIFcFZKtAB6a54/Zdxs7T3SQ84kJtOD6yeXfZgiOMksACWD5qtTmXGQGFH4QYGBOT0KIO8Uy/dJw=="
- },
- "Microsoft.Extensions.Hosting.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "MoOWFPT88/pDfmWpbU9PydKRX/rJFQkliowE/L9wbQcl94IicUphb5BFgepkWiDkYYxPnuEqjN4buzOGW4vJpQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.8",
- "Microsoft.Extensions.FileProviders.Abstractions": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Http": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "cWz4caHwvx0emoYe7NkHPxII/KkTI8R/LC9qdqJqnKv2poTJ4e2qqPGQqvRoQ5kaSA4FU5IV3qFAuLuOhoqULQ==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
- "Microsoft.Extensions.Diagnostics": "8.0.0",
- "Microsoft.Extensions.Logging": "8.0.0",
- "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
- "Microsoft.Extensions.Options": "8.0.0"
- }
- },
- "Microsoft.Extensions.Identity.Core": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "ZOuH3nlDslon9a0kJSRBTWnHNCKoiOoaurc3H1F4D6xLT+4UDvBNAqlLkEFyQdcxZFyUvYdwgc1+D/EjsD+RXA==",
- "dependencies": {
- "Microsoft.AspNetCore.Cryptography.KeyDerivation": "10.0.8",
- "Microsoft.Extensions.Diagnostics": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Identity.Stores": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "xVbg4qLWyjKSJVxtL56PQPlHu/URpWPKufhfOj61+tkCmNs6DIgnGxG8BAO/fAfacoBDDYg+p1zBjFzzj/EQog==",
- "dependencies": {
- "Microsoft.Extensions.Caching.Abstractions": "10.0.8",
- "Microsoft.Extensions.Identity.Core": "10.0.8",
- "Microsoft.Extensions.Logging": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "K60JhWC2hN/Gi7TP68tBxSzk5ACWOs7lkmPzsfA8Bcf/IXTajujt2ORMf9rSMk1bsng6Lv4Y3fuxp3bm1+15ug==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection": "10.0.8",
- "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8"
- }
- },
- "Microsoft.Extensions.Logging.Abstractions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "fdVadZmsC8jRP0KvKy8mO8f6GV/HyBvElfcSxEhd+5FM5boAw/01iSaCto5G3G37ApJira4A3pNaVvBv8cUiLQ==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "VBD+131DpTNCNDfA4kIyKTiCySvJGNhwibdWBSdFRu7GMfXLXcXODkgA+KStKbbhzraLglZWUN4nXyHgW4JIRA==",
- "dependencies": {
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Options.ConfigurationExtensions": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "VOapXeO3lhBH0zYoyAH7tjapuo4V5pTHlevPpiSHueEquAajqd5nF0mttm+h/uE/exwAEuM5s26SzOJtletE3w==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "10.0.8",
- "Microsoft.Extensions.Configuration.Binder": "10.0.8",
- "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
- "Microsoft.Extensions.Options": "10.0.8",
- "Microsoft.Extensions.Primitives": "10.0.8"
- }
- },
- "Microsoft.Extensions.Primitives": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
- },
- "Microsoft.Identity.Client": {
- "type": "Transitive",
- "resolved": "4.66.1",
- "contentHash": "mE+m3pZ7zSKocSubKXxwZcUrCzLflC86IdLxrVjS8tialy0b1L+aECBqRBC/ykcPlB4y7skg49TaTiA+O2UfDw==",
- "dependencies": {
- "Microsoft.IdentityModel.Abstractions": "6.35.0"
- }
- },
- "Microsoft.Identity.Client.Extensions.Msal": {
- "type": "Transitive",
- "resolved": "4.61.3",
- "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
- "dependencies": {
- "Microsoft.Identity.Client": "4.61.3",
- "System.Security.Cryptography.ProtectedData": "4.5.0"
- }
- },
- "Microsoft.Identity.Web.Certificateless": {
- "type": "Transitive",
- "resolved": "3.3.0",
- "contentHash": "ybEVPCLeJFuTCDVTtt3OlD5n+CYQgUAzmn0YZw+Z4NR5XwB4iGQ/zMqQ+ruJfgoKGWe6BTl0vCfsv1O4XPqCvg==",
- "dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "2.1.0",
- "Microsoft.Identity.Client": "4.66.1",
- "Microsoft.IdentityModel.JsonWebTokens": "8.1.2"
- }
- },
- "Microsoft.IdentityModel.Abstractions": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "gSxKLWRZzBpIsEoeUPkxfywNCCvRvl7hkq146XHPk5vOQc9izSf1I+uL1vh4y2U19QPxd9Z8K/8AdWyxYz2lSg=="
- },
- "Microsoft.IdentityModel.JsonWebTokens": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "prBU72cIP4V8E9fhN+o/YdskTsLeIcnKPbhZf0X6mD7fdxoZqnS/NdEkSr+9Zp+2q7OZBOMfNBKGbTbhXODO4w==",
- "dependencies": {
- "Microsoft.IdentityModel.Tokens": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Logging": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "MTzXmETkNQPACR7/XCXM1OGM6oU9RkyibqeJRtO9Ndew2LnGjMf9Atqj2VSf4XC27X0FQycUAlzxxEgQMWn2xQ==",
- "dependencies": {
- "Microsoft.IdentityModel.Abstractions": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Protocols": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "UFrU7d46UTsPQTa2HIEIpB9H1uJe1BW9FLw5uhEJ2ZuKdur8bcUA/bO5caq5dlBt5gNJeRIB3QQXYNs5fCQCZA==",
- "dependencies": {
- "Microsoft.IdentityModel.Tokens": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Protocols.OpenIdConnect": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "h4yVXyJsEBBX5lg2G5ftMsi5JzcNEGAzrNphA6DQ6eOd8P0s+cDCOyPwVTYLePZvJL5unbPvYIvzrbTXzFjXnQ==",
- "dependencies": {
- "Microsoft.IdentityModel.Protocols": "8.16.0",
- "System.IdentityModel.Tokens.Jwt": "8.16.0"
- }
- },
- "Microsoft.IdentityModel.Tokens": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "rtViGJcGsN7WcfUNErwNeQgjuU5cJNl6FDQsfi9TncwO+Epzn0FTfBsg3YuFW1Q0Ch/KPxaVdjLw3/+5Z5ceFQ==",
- "dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
- "Microsoft.IdentityModel.Logging": "8.16.0"
- }
- },
"Microsoft.NETCore.Platforms": {
"type": "Transitive",
"resolved": "1.1.0",
"contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
},
- "Microsoft.Rest.ClientRuntime": {
- "type": "Transitive",
- "resolved": "2.3.24",
- "contentHash": "hZH7XgM3eV2jFrnq7Yf0nBD4WVXQzDrer2gEY7HMNiwio2hwDsTHO6LWuueNQAfRpNp4W7mKxcXpwXUiuVIlYw==",
- "dependencies": {
- "Newtonsoft.Json": "10.0.3"
- }
- },
- "Microsoft.SqlServer.Server": {
- "type": "Transitive",
- "resolved": "1.0.0",
- "contentHash": "N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug=="
- },
"Microsoft.TestPlatform.ObjectModel": {
"type": "Transitive",
"resolved": "18.0.1",
@@ -957,15 +102,6 @@
"Newtonsoft.Json": "13.0.3"
}
},
- "MimeKit": {
- "type": "Transitive",
- "resolved": "4.16.0",
- "contentHash": "X0LFxeM4gPRIhODyY/HYS9b+zRZ7y//v59rFzgS6wLxcPuZThnMtNZHtrr0fjLyRRkg3gqJBtvW36XfUzZ7Djw==",
- "dependencies": {
- "BouncyCastle.Cryptography": "2.6.2",
- "System.Security.Cryptography.Pkcs": "10.0.0"
- }
- },
"NETStandard.Library": {
"type": "Transitive",
"resolved": "1.6.1",
@@ -979,230 +115,10 @@
"resolved": "13.0.3",
"contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
},
- "NSec.Cryptography": {
- "type": "Transitive",
- "resolved": "22.4.0",
- "contentHash": "lEntcPYd7h3aZ8xxi/y/4TML7o8w0GEGqd+w4L1omqFLbdCBmhxJAeO2YBmv/fXbJKgKCQLm7+TD4bR605PEUQ==",
- "dependencies": {
- "libsodium": "[1.0.18.2, 1.0.19)"
- }
- },
- "OneOf": {
- "type": "Transitive",
- "resolved": "3.0.271",
- "contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
- },
- "Otp.NET": {
- "type": "Transitive",
- "resolved": "1.4.0",
- "contentHash": "Fk1NKc0lWmlo6LAFYpFJInRgFKt72knRNEvxndDYoQHFwYOPXav+WEUBvQA0k4lxq5xt0SymrZ+oi0F/G40bPQ=="
- },
- "Pipelines.Sockets.Unofficial": {
- "type": "Transitive",
- "resolved": "2.2.8",
- "contentHash": "zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ=="
- },
- "Quartz": {
- "type": "Transitive",
- "resolved": "3.15.1",
- "contentHash": "XIbhzUAKSm3xdl1ORLPnK7mc5XANP3cuvYQhCtuX/8888IN41e9OXJak4R9OlmAGRnyAMqHE40yojVa89NS1wg==",
- "dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "2.1.1"
- }
- },
- "Quartz.Extensions.DependencyInjection": {
- "type": "Transitive",
- "resolved": "3.15.1",
- "contentHash": "LinB9z54aPn49C/DGM1v3OflX2nosrEo4zNz10vfYqcCndFJ8MNU9k++Ap9T7vxeZc355WStPDggpX60TYj1Lg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "9.0.0",
- "Microsoft.Extensions.Options": "9.0.0",
- "Quartz": "3.15.1"
- }
- },
- "Quartz.Extensions.Hosting": {
- "type": "Transitive",
- "resolved": "3.15.1",
- "contentHash": "svqLTEnVLb0VPUcNCd/khRqagwxM/yybUZ2sEOd7HFdPO+5dAOttL+ARtXSyBeaGWPWAaxY4VvU7pJTZzYhORw==",
- "dependencies": {
- "Microsoft.Extensions.Hosting.Abstractions": "9.0.0",
- "Quartz.Extensions.DependencyInjection": "3.15.1"
- }
- },
- "RabbitMQ.Client": {
- "type": "Transitive",
- "resolved": "7.1.2",
- "contentHash": "y3c6ulgULScWthHw5PLM1ShHRLhxg0vCtzX/hh61gRgNecL3ZC3WoBW2HYHoXOVRqTl99Br9E7CZEytGZEsCyQ==",
- "dependencies": {
- "System.Threading.RateLimiting": "8.0.0"
- }
- },
- "SendGrid": {
- "type": "Transitive",
- "resolved": "9.29.3",
- "contentHash": "nb/zHePecN9U4/Bmct+O+lpgK994JklbCCNMIgGPOone/DngjQoMCHeTvkl+m0Nglvm0dqMEshmvB4fO8eF3dA==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.1",
- "starkbank-ecdsa": "[1.3.3, 2.0.0)"
- }
- },
- "Serilog": {
- "type": "Transitive",
- "resolved": "2.10.0",
- "contentHash": "+QX0hmf37a0/OZLxM3wL7V6/ADvC1XihXN4Kq/p6d8lCPfgkRdiuhbWlMaFjR9Av0dy5F0+MBeDmDdRZN/YwQA=="
- },
- "Serilog.Extensions.Logging": {
- "type": "Transitive",
- "resolved": "3.1.0",
- "contentHash": "IWfem7wfrFbB3iw1OikqPFNPEzfayvDuN4WP7Ue1AVFskalMByeWk3QbtUXQR34SBkv1EbZ3AySHda/ErDgpcg==",
- "dependencies": {
- "Microsoft.Extensions.Logging": "2.0.0",
- "Serilog": "2.9.0"
- }
- },
- "Serilog.Extensions.Logging.File": {
- "type": "Transitive",
- "resolved": "3.0.0",
- "contentHash": "bUYjMHn7NhpK+/8HDftG7+G5hpWzD49XTSvLoUFZGgappDa6FoseqFOsLrjLRjwe1zM+igH5mySFJv3ntb+qcg==",
- "dependencies": {
- "Microsoft.Extensions.Configuration.Abstractions": "6.0.0",
- "Microsoft.Extensions.Configuration.Binder": "6.0.0",
- "Serilog": "2.10.0",
- "Serilog.Extensions.Logging": "3.1.0",
- "Serilog.Formatting.Compact": "1.1.0",
- "Serilog.Sinks.Async": "1.5.0",
- "Serilog.Sinks.RollingFile": "3.3.0"
- }
- },
- "Serilog.Formatting.Compact": {
- "type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "pNroKVjo+rDqlxNG5PXkRLpfSCuDOBY0ri6jp9PLe505ljqwhwZz8ospy2vWhQlFu5GkIesh3FcDs4n7sWZODA==",
- "dependencies": {
- "Serilog": "2.8.0"
- }
- },
- "Serilog.Sinks.Async": {
- "type": "Transitive",
- "resolved": "1.5.0",
- "contentHash": "csHYIqAwI4Gy9oAhXYRwxGrQEAtBg3Ep7WaCzsnA1cZuBZjVAU0n7hWaJhItjO7hbLHh/9gRVxALCUB4Dv+gZw==",
- "dependencies": {
- "Serilog": "2.9.0"
- }
- },
- "Serilog.Sinks.File": {
- "type": "Transitive",
- "resolved": "3.2.0",
- "contentHash": "VHbo68pMg5hwSWrzLEdZv5b/rYmIgHIRhd4d5rl8GnC5/a8Fr+RShT5kWyeJOXax1el6mNJ+dmHDOVgnNUQxaw==",
- "dependencies": {
- "Serilog": "2.3.0"
- }
- },
- "Serilog.Sinks.RollingFile": {
- "type": "Transitive",
- "resolved": "3.3.0",
- "contentHash": "2lT5X1r3GH4P0bRWJfhA7etGl8Q2Ipw9AACvtAHWRUSpYZ42NGVyHoVs2ALBZ/cAkkS+tA4jl80Zie144eLQPg==",
- "dependencies": {
- "Serilog.Sinks.File": "3.2.0"
- }
- },
- "StackExchange.Redis": {
- "type": "Transitive",
- "resolved": "2.8.31",
- "contentHash": "RCHVQa9Zke8k0oBgJn1Yl6BuYy8i6kv+sdMObiH60nOwD6QvWAjxdDwOm+LO78E8WsGiPqgOuItkz98fPS6haQ==",
- "dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "6.0.0",
- "Pipelines.Sockets.Unofficial": "2.2.8"
- }
- },
- "starkbank-ecdsa": {
- "type": "Transitive",
- "resolved": "1.3.3",
- "contentHash": "OblOaKb1enXn+dSp7tsx9yjwV+/BEKM9jFhshIkZTwCk7LuTFTp+wSon6rFzuPiIiTGtvVWQNUw2slHjGktJog=="
- },
- "Stripe.net": {
- "type": "Transitive",
- "resolved": "48.5.0",
- "contentHash": "wOAZYR0EnrLMok/ScfVOpTxjci+n3vFP0A7w/BE63yJdkRSDwZVCJIhlOjeJvgyQnMX8ZbwDAHMaxaiDa0Z5TA==",
- "dependencies": {
- "Newtonsoft.Json": "13.0.3",
- "System.Configuration.ConfigurationManager": "8.0.0"
- }
- },
- "System.ClientModel": {
- "type": "Transitive",
- "resolved": "1.6.1",
- "contentHash": "xcHHhDqB5MnOOY8yIn64Vzp6gtBEs6k5J1hluG04CrShSvQNXOx4PSDs7wJiXLDidlY/FZJmxJdKTKskyJwjvw==",
- "dependencies": {
- "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
- "System.Memory.Data": "8.0.1"
- }
- },
- "System.Configuration.ConfigurationManager": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "GbBrJq9S/gYpHzm7Pxx6Y5tDyfSfyxW6tlP5oiKJV38uf19Wp+GIIAnWfyL1zmNiz1+EjwVapw2WkBFvvqKQzg==",
- "dependencies": {
- "System.Diagnostics.EventLog": "9.0.13",
- "System.Security.Cryptography.ProtectedData": "9.0.13"
- }
- },
"System.Diagnostics.EventLog": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "675Rk4RwaVrWo09wrR2rpDVKixtgtnhd5NhPrn6O21uj92JvE61KTGupn76M2N6Ff/xJjY3SHSfSg0MIanEzGw=="
- },
- "System.Formats.Cbor": {
"type": "Transitive",
"resolved": "6.0.0",
- "contentHash": "mGaLOoiw7KurJagOOcIsWUoCT5ACIiGxKlCcbYQASefBGXjnCcKTq5Hdjb94eEAKg38zXKlHw4c6EjzgBl9dIw=="
- },
- "System.IdentityModel.Tokens.Jwt": {
- "type": "Transitive",
- "resolved": "8.16.0",
- "contentHash": "rrs2u7DRMXQG2yh0oVyF/vLwosfRv20Ld2iEpYcKwQWXHjfV+gFXNQsQ9p008kR9Ou4pxBs68Q6/9zC8Gi1wjg==",
- "dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
- "Microsoft.IdentityModel.Tokens": "8.16.0"
- }
- },
- "System.IO.Hashing": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "ne1843evDugl0md7Fjzy6QjJrzsjh46ZKbhf8GwBXb5f/gw97J4bxMs0NQKifDuThh/f0bZ0e62NPl1jzTuRqA=="
- },
- "System.Memory.Data": {
- "type": "Transitive",
- "resolved": "8.0.1",
- "contentHash": "BVYuec3jV23EMRDeR7Dr1/qhx7369dZzJ9IWy2xylvb4YfXsrUxspWc4UWYid/tj4zZK58uGZqn2WQiaDMhmAg=="
- },
- "System.Security.Cryptography.Pkcs": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "2wOycCqMyg9Tu+SDP03FFwDEWBni/3xOKgt0bRXplOvyeIcUJmWO7m3gTCF2mIdtQLROLtOP5VwWRT8YBwP/bA=="
- },
- "System.Security.Cryptography.ProtectedData": {
- "type": "Transitive",
- "resolved": "9.0.13",
- "contentHash": "t8S9IDpjJKsLpLkeBdW8cWtcPyYqrGu93Dej1RO6WwuL/lkFSqWlan3rMJfortqz1mRIh+sys2AFsSA6jWJ3Jg=="
- },
- "System.Security.Cryptography.Xml": {
- "type": "Transitive",
- "resolved": "10.0.8",
- "contentHash": "Fb+L55vEJaf8RCOzrzN564sfyCL8SZEfce9z6XkuhHg+294SBfyS4fIoLU3EljofDCkp+EKDeleI8ug5WO2NtA==",
- "dependencies": {
- "System.Security.Cryptography.Pkcs": "10.0.8"
- }
- },
- "System.Threading.RateLimiting": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "7mu9v0QDv66ar3DpGSZHg9NuNcxDaaAcnMULuZlaTpP9+hwXhrxNGsF5GmLkSHxFdb5bBc1TzeujsRgTrPWi+Q=="
- },
- "System.Xml.XPath.XmlDocument": {
- "type": "Transitive",
- "resolved": "4.3.0",
- "contentHash": "A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A=="
+ "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw=="
},
"xunit.abstractions": {
"type": "Transitive",
@@ -1244,98 +160,8 @@
"xunit.extensibility.core": "[2.6.6]"
}
},
- "YubicoDotNetClient": {
- "type": "Transitive",
- "resolved": "1.2.0",
- "contentHash": "uP5F3Ko1gqZi3lwS2R/jAAwhBxXs/6PKDpS6FdQjsBA5qmF0hQmbtfxM6QHTXOMoWbUtfetG7+LtgmG8T5zDIg==",
- "dependencies": {
- "NETStandard.Library": "1.6.1"
- }
- },
- "ZiggyCreatures.FusionCache": {
- "type": "Transitive",
- "resolved": "2.0.2",
- "contentHash": "nO6ysiVP/1S1zVZMzsK0xASeSUay27iIlK8GjeyTpIAmq5P4/0KOzV9AqlabZYFgzeQDAu5IcB39ela2w/HCwQ==",
- "dependencies": {
- "Microsoft.Extensions.Caching.Memory": "8.0.1"
- }
- },
- "ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis": {
- "type": "Transitive",
- "resolved": "2.0.2",
- "contentHash": "E9KfGnhY+xcy8bmxoB/jJbfYwBlQwDD6c0v0P/Qr3IxGyJXyncza/45vFo5nI+5CggqczQ1GwQeEJqk0Lg8Q5g==",
- "dependencies": {
- "StackExchange.Redis": "2.8.31",
- "ZiggyCreatures.FusionCache": "2.0.2"
- }
- },
- "ZiggyCreatures.FusionCache.Serialization.SystemTextJson": {
- "type": "Transitive",
- "resolved": "2.0.2",
- "contentHash": "gt5ia5PHpCxhnI0hr51Y6L/acrrU17OuBqiU3vJPFXZxS3R1pIj2hr6WGB5fzW64VZDVdHTYsD5gTr2Pu8I+QQ==",
- "dependencies": {
- "ZiggyCreatures.FusionCache": "2.0.2"
- }
- },
- "core": {
- "type": "Project",
- "dependencies": {
- "AWSSDK.SQS": "[4.0.2.5, 4.0.2.5]",
- "AWSSDK.SimpleEmail": "[4.0.2.5, 4.0.2.5]",
- "AspNetCoreRateLimit": "[5.0.0, 5.0.0]",
- "AspNetCoreRateLimit.Redis": "[2.0.0, 2.0.0]",
- "Azure.Data.Tables": "[12.11.0, 12.11.0]",
- "Azure.Extensions.AspNetCore.DataProtection.Blobs": "[1.3.4, 1.3.4]",
- "Azure.Messaging.ServiceBus": "[7.20.1, 7.20.1]",
- "Azure.Storage.Blobs": "[12.26.0, 12.26.0]",
- "Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
- "Azure.Storage.Queues": "[12.24.0, 12.24.0]",
- "BitPay.Light": "[1.0.1907, 1.0.1907]",
- "Braintree": "[5.36.0, 5.36.0]",
- "CsvHelper": "[33.1.0, 33.1.0]",
- "DnsClient": "[1.8.0, 1.8.0]",
- "Duende.IdentityServer": "[7.4.6, 7.4.6]",
- "DuoUniversal": "[1.3.1, 1.3.1]",
- "Fido2.AspNet": "[3.0.1, 3.0.1]",
- "Handlebars.Net": "[2.1.6, 2.1.6]",
- "HttpExtensions": "[2026.6.1, )",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
- "MailKit": "[4.16.0, 4.16.0]",
- "Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
- "Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
- "Microsoft.Azure.Cosmos": "[3.52.0, 3.52.0]",
- "Microsoft.Azure.NotificationHubs": "[4.2.0, 4.2.0]",
- "Microsoft.Bot.Builder": "[4.23.0, 4.23.0]",
- "Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
- "Microsoft.Bot.Connector": "[4.23.0, 4.23.0]",
- "Microsoft.Data.SqlClient": "[7.0.0, 7.0.0]",
- "Microsoft.Extensions.Caching.Cosmos": "[1.8.0, 1.8.0]",
- "Microsoft.Extensions.Caching.SqlServer": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Caching.StackExchangeRedis": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Configuration.EnvironmentVariables": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Configuration.UserSecrets": "[10.0.8, 10.0.8]",
- "Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
- "Newtonsoft.Json": "[13.0.3, 13.0.3]",
- "OneOf": "[3.0.271, 3.0.271]",
- "Otp.NET": "[1.4.0, 1.4.0]",
- "Quartz": "[3.15.1, 3.15.1]",
- "Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
- "Quartz.Extensions.Hosting": "[3.15.1, 3.15.1]",
- "RabbitMQ.Client": "[7.1.2, 7.1.2]",
- "SendGrid": "[9.29.3, 9.29.3]",
- "Serilog.Extensions.Logging.File": "[3.0.0, 3.0.0]",
- "Stripe.net": "[48.5.0, 48.5.0]",
- "YubicoDotNetClient": "[1.2.0, 1.2.0]",
- "ZiggyCreatures.FusionCache": "[2.0.2, 2.0.2]",
- "ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis": "[2.0.2, 2.0.2]",
- "ZiggyCreatures.FusionCache.Serialization.SystemTextJson": "[2.0.2, 2.0.2]"
- }
- },
"httpextensions": {
- "type": "Project",
- "dependencies": {
- "Core": "[2026.6.1, )"
- }
+ "type": "Project"
}
}
}
diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json
index 917ef6a8999d..0a09bccc23d7 100644
--- a/test/Icons.Test/packages.lock.json
+++ b/test/Icons.Test/packages.lock.json
@@ -235,6 +235,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -366,16 +374,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -391,13 +399,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1598,7 +1606,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1620,6 +1628,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1627,7 +1636,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1645,6 +1653,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1663,7 +1678,8 @@
"type": "Project",
"dependencies": {
"AngleSharp": "[1.4.0, 1.4.0]",
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1671,13 +1687,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1685,7 +1701,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1698,10 +1714,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json
index f6698ac89a58..fab3552a7552 100644
--- a/test/Identity.IntegrationTest/packages.lock.json
+++ b/test/Identity.IntegrationTest/packages.lock.json
@@ -234,6 +234,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -378,16 +386,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -400,13 +408,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1299,7 +1307,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1321,6 +1329,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1328,7 +1337,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1346,6 +1354,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1365,8 +1380,8 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Common": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.Diagnostics.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1377,7 +1392,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1385,13 +1401,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1399,7 +1415,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1412,17 +1428,17 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.1, )",
- "Identity": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1434,19 +1450,27 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json
index 8e244526fdca..912d72f86a91 100644
--- a/test/Identity.Test/packages.lock.json
+++ b/test/Identity.Test/packages.lock.json
@@ -242,6 +242,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -373,16 +381,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -398,13 +406,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1630,7 +1638,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1652,6 +1660,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1659,7 +1668,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1677,6 +1685,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1694,7 +1709,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1702,13 +1718,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1716,7 +1732,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1729,10 +1745,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Infrastructure.Dapper.Test/packages.lock.json b/test/Infrastructure.Dapper.Test/packages.lock.json
index 9059314c92b7..ce1840035af0 100644
--- a/test/Infrastructure.Dapper.Test/packages.lock.json
+++ b/test/Infrastructure.Dapper.Test/packages.lock.json
@@ -187,6 +187,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -293,16 +301,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -318,13 +326,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -787,6 +795,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -954,6 +977,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1253,6 +1363,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1260,7 +1371,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1278,6 +1388,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1295,7 +1412,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
}
diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json
index 0d96dacda281..c3000910b114 100644
--- a/test/Infrastructure.EFIntegration.Test/packages.lock.json
+++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json
@@ -232,6 +232,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -363,16 +371,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -388,13 +396,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -961,6 +969,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.ObjectPool": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1176,6 +1199,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1507,7 +1617,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1529,6 +1639,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1536,7 +1647,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1554,6 +1664,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1573,8 +1690,8 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Common": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.Diagnostics.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1585,7 +1702,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1593,7 +1710,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1606,22 +1723,22 @@
"mysqlmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"postgresmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"sqlitemigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
}
}
diff --git a/test/Infrastructure.IntegrationTest/packages.lock.json b/test/Infrastructure.IntegrationTest/packages.lock.json
index eca7f595296c..6f04fbf3e859 100644
--- a/test/Infrastructure.IntegrationTest/packages.lock.json
+++ b/test/Infrastructure.IntegrationTest/packages.lock.json
@@ -233,6 +233,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -356,16 +364,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -381,13 +389,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -925,6 +933,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.ObjectPool": {
"type": "Transitive",
"resolved": "10.0.6",
@@ -1161,6 +1184,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1512,6 +1622,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1519,7 +1630,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1537,6 +1647,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1554,7 +1671,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1562,7 +1679,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1575,7 +1692,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1583,22 +1700,22 @@
"mysqlmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"postgresmigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"sqlitemigrations": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
}
}
diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json
index 9080a21766fd..c6e7dff44a27 100644
--- a/test/IntegrationTestCommon/packages.lock.json
+++ b/test/IntegrationTestCommon/packages.lock.json
@@ -199,6 +199,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -352,16 +360,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -377,13 +385,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1700,7 +1708,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1722,6 +1730,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1729,7 +1738,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1747,6 +1755,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1764,7 +1779,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1772,13 +1788,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1786,7 +1802,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1799,7 +1815,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1811,19 +1827,27 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Notifications.Test/packages.lock.json b/test/Notifications.Test/packages.lock.json
index bd717218d0df..a1cd2f925437 100644
--- a/test/Notifications.Test/packages.lock.json
+++ b/test/Notifications.Test/packages.lock.json
@@ -221,6 +221,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -352,16 +360,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -377,13 +385,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1693,7 +1701,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1715,6 +1723,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1722,7 +1731,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1740,6 +1748,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1759,8 +1774,8 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Common": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.Diagnostics.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1771,7 +1786,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1779,7 +1794,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1792,7 +1807,8 @@
"notifications": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"MessagePack": "[3.1.7, 3.1.7]",
"Microsoft.AspNetCore.SignalR.Protocols.MessagePack": "[10.0.9, 10.0.9]",
"Microsoft.AspNetCore.SignalR.StackExchangeRedis": "[10.0.8, 10.0.8]",
@@ -1803,16 +1819,24 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/SeederApi.IntegrationTest/packages.lock.json b/test/SeederApi.IntegrationTest/packages.lock.json
index 4ae9eb3954b5..a08fc8df30fb 100644
--- a/test/SeederApi.IntegrationTest/packages.lock.json
+++ b/test/SeederApi.IntegrationTest/packages.lock.json
@@ -214,6 +214,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -363,16 +371,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -385,13 +393,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1293,7 +1301,7 @@
"dependencies": {
"AutoFixture.AutoNSubstitute": "[4.18.1, )",
"AutoFixture.Xunit2": "[4.18.1, )",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Kralizek.AutoFixture.Extensions.MockHttp": "[2.2.1, 2.2.1]",
"Microsoft.Extensions.TimeProvider.Testing": "[10.6.0, 10.6.0]",
"Microsoft.NET.Test.Sdk": "[18.0.1, )",
@@ -1315,6 +1323,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1322,7 +1331,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1340,6 +1348,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1357,7 +1372,8 @@
"identity": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1365,13 +1381,13 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )"
+ "SharedWeb": "[2026.6.2, )"
}
},
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1379,7 +1395,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1392,17 +1408,17 @@
"integrationtestcommon": {
"type": "Project",
"dependencies": {
- "Common": "[2026.6.1, )",
- "Identity": "[2026.6.1, )",
+ "Common": "[2026.6.2, )",
+ "Identity": "[2026.6.2, )",
"Microsoft.AspNetCore.Mvc.Testing": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )"
+ "Migrator": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )"
}
},
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1414,35 +1430,43 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"seederapi": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Seeder": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Seeder": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"seederutility": {
"type": "Project",
"dependencies": {
"CommandDotNet": "[7.0.5, 7.0.5]",
- "Seeder": "[2026.6.1, )",
+ "Seeder": "[2026.6.2, )",
"Spectre.Console": "[0.55.2, 0.55.2]"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/test/Setup.Test/packages.lock.json b/test/Setup.Test/packages.lock.json
index f7f7b71ad4ac..0e91ac32143c 100644
--- a/test/Setup.Test/packages.lock.json
+++ b/test/Setup.Test/packages.lock.json
@@ -206,6 +206,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -340,16 +348,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -365,13 +373,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -839,6 +847,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1041,6 +1064,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1377,6 +1487,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1384,7 +1495,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1402,6 +1512,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1419,7 +1536,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
@@ -1427,10 +1544,10 @@
"setup": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Handlebars.Net": "[2.1.6, 2.1.6]",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
- "Migrator": "[2026.6.1, )",
+ "Migrator": "[2026.6.2, )",
"YamlDotNet": "[11.2.1, 11.2.1]"
}
}
diff --git a/test/SharedWeb.Test/GlobalSettingsServiceCollectionExtensionsTests.cs b/test/SharedWeb.Test/GlobalSettingsServiceCollectionExtensionsTests.cs
new file mode 100644
index 000000000000..19dd3a22ebd0
--- /dev/null
+++ b/test/SharedWeb.Test/GlobalSettingsServiceCollectionExtensionsTests.cs
@@ -0,0 +1,200 @@
+using Bit.Core.Settings;
+using Bit.SharedWeb.Utilities;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using NSubstitute;
+
+namespace Bit.SharedWeb.Test.Utilities;
+
+public class GlobalSettingsServiceCollectionExtensionsTests
+{
+ [Fact]
+ public void AddGlobalSettings_RegistersGlobalSettingsAndIGlobalSettingsAsSameSingleton()
+ {
+ var services = new ServiceCollection();
+ services.AddSingleton(BuildConfiguration());
+ services.AddSingleton(BuildEnvironment("Production"));
+
+ services.AddGlobalSettings();
+
+ using var provider = services.BuildServiceProvider();
+ var concrete = provider.GetRequiredService();
+ var iface = provider.GetRequiredService();
+
+ Assert.Same(concrete, iface);
+ }
+
+ [Fact]
+ public void AddGlobalSettings_BindsGlobalSettingsConfigurationSection()
+ {
+ var services = new ServiceCollection();
+ services.AddSingleton(BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "bound-site" },
+ }));
+ services.AddSingleton(BuildEnvironment("Production"));
+
+ services.AddGlobalSettings();
+
+ using var provider = services.BuildServiceProvider();
+ Assert.Equal("bound-site", provider.GetRequiredService().SiteName);
+ }
+
+ [Fact]
+ public void AddGlobalSettings_DoesNotOverrideExistingRegistration()
+ {
+ var preExisting = new GlobalSettings { SiteName = "pre-existing" };
+ var services = new ServiceCollection();
+ services.AddSingleton(preExisting);
+ services.AddSingleton(BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "should-not-bind" },
+ }));
+ services.AddSingleton(BuildEnvironment("Production"));
+
+ services.AddGlobalSettings();
+
+ using var provider = services.BuildServiceProvider();
+ Assert.Same(preExisting, provider.GetRequiredService());
+ Assert.Equal("pre-existing", provider.GetRequiredService().SiteName);
+ }
+
+ [Fact]
+ public void AddGlobalSettings_DevelopmentWithDevelopSelfHosted_AppliesSelfHostOverride()
+ {
+ var services = new ServiceCollection();
+ services.AddSingleton(BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "base" },
+ { "GlobalSettings:ProjectName", "base-project" },
+ { "developSelfHosted", "true" },
+ { "Dev:SelfHostOverride:GlobalSettings:SiteName", "override" },
+ }));
+ services.AddSingleton(BuildEnvironment("Development"));
+
+ services.AddGlobalSettings();
+
+ using var provider = services.BuildServiceProvider();
+ var settings = provider.GetRequiredService();
+ Assert.Equal("override", settings.SiteName);
+ Assert.Equal("base-project", settings.ProjectName);
+ }
+
+ [Fact]
+ public void AddGlobalSettings_NotDevelopment_IgnoresSelfHostOverride()
+ {
+ var services = new ServiceCollection();
+ services.AddSingleton(BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "base" },
+ { "developSelfHosted", "true" },
+ { "Dev:SelfHostOverride:GlobalSettings:SiteName", "override" },
+ }));
+ services.AddSingleton(BuildEnvironment("Production"));
+
+ services.AddGlobalSettings();
+
+ using var provider = services.BuildServiceProvider();
+ Assert.Equal("base", provider.GetRequiredService().SiteName);
+ }
+
+ [Fact]
+ public void AddGlobalSettings_DevelopmentWithoutDevelopSelfHostedFlag_IgnoresSelfHostOverride()
+ {
+ var services = new ServiceCollection();
+ services.AddSingleton(BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "base" },
+ { "Dev:SelfHostOverride:GlobalSettings:SiteName", "override" },
+ }));
+ services.AddSingleton(BuildEnvironment("Development"));
+
+ services.AddGlobalSettings();
+
+ using var provider = services.BuildServiceProvider();
+ Assert.Equal("base", provider.GetRequiredService().SiteName);
+ }
+
+ [Fact]
+ public void AddGlobalSettingsServices_BindsConfigurationAndExposesAsSingletonInstance()
+ {
+ var services = new ServiceCollection();
+ var configuration = BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "bound-site" },
+ });
+ var environment = BuildEnvironment("Production");
+
+ var returned = services.AddGlobalSettingsServices(configuration, environment);
+
+ Assert.Equal("bound-site", returned.SiteName);
+
+ using var provider = services.BuildServiceProvider();
+ Assert.Same(returned, provider.GetRequiredService());
+ Assert.Same(returned, provider.GetRequiredService());
+ }
+
+ [Fact]
+ public void AddGlobalSettingsServices_WhenAlreadyRegisteredAsInstance_ReturnsExistingWithoutReBinding()
+ {
+ var preExisting = new GlobalSettings { SiteName = "pre-existing" };
+ var services = new ServiceCollection();
+ services.AddSingleton(preExisting);
+ services.AddSingleton(preExisting);
+
+ var returned = services.AddGlobalSettingsServices(
+ BuildConfiguration(new() { { "GlobalSettings:SiteName", "should-not-bind" } }),
+ BuildEnvironment("Production"));
+
+ Assert.Same(preExisting, returned);
+ Assert.Equal("pre-existing", returned.SiteName);
+ }
+
+ [Fact]
+ public void AddGlobalSettingsServices_WhenAlreadyRegisteredAsFactory_RemovesAndRebindsAsInstance()
+ {
+ var services = new ServiceCollection();
+ services.AddSingleton(_ => new GlobalSettings { SiteName = "from-factory" });
+
+ var returned = services.AddGlobalSettingsServices(
+ BuildConfiguration(new() { { "GlobalSettings:SiteName", "bound-site" } }),
+ BuildEnvironment("Production"));
+
+ Assert.Equal("bound-site", returned.SiteName);
+
+ using var provider = services.BuildServiceProvider();
+ Assert.Same(returned, provider.GetRequiredService());
+ }
+
+ [Fact]
+ public void AddGlobalSettingsServices_DevelopmentWithDevelopSelfHosted_AppliesSelfHostOverride()
+ {
+ var services = new ServiceCollection();
+
+ var returned = services.AddGlobalSettingsServices(
+ BuildConfiguration(new()
+ {
+ { "GlobalSettings:SiteName", "base" },
+ { "developSelfHosted", "true" },
+ { "Dev:SelfHostOverride:GlobalSettings:SiteName", "override" },
+ }),
+ BuildEnvironment("Development"));
+
+ Assert.Equal("override", returned.SiteName);
+ }
+
+ private static IConfiguration BuildConfiguration(Dictionary? values = null)
+ {
+ return new ConfigurationBuilder()
+ .AddInMemoryCollection(values ?? new Dictionary())
+ .Build();
+ }
+
+ private static IHostEnvironment BuildEnvironment(string environmentName)
+ {
+ var env = Substitute.For();
+ env.EnvironmentName = environmentName;
+ return env;
+ }
+}
diff --git a/test/SharedWeb.Test/ServerSdkCompatibilityExtensionsTests.cs b/test/SharedWeb.Test/ServerSdkCompatibilityExtensionsTests.cs
new file mode 100644
index 000000000000..a6a61d409eed
--- /dev/null
+++ b/test/SharedWeb.Test/ServerSdkCompatibilityExtensionsTests.cs
@@ -0,0 +1,122 @@
+using Bit.SharedWeb.Utilities;
+using Bitwarden.Server.Sdk.Features;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Testing;
+using Microsoft.Extensions.Options;
+using NSubstitute;
+
+namespace Bit.SharedWeb.Test.Utilities;
+
+public class ServerSdkCompatibilityExtensionsTests
+{
+ [Fact]
+ public void NewConfigLocationArePreferred()
+ {
+ using var provider = CreateProvider(new Dictionary
+ {
+ { "Features:LaunchDarkly:SdkKey", "primary" },
+ { "Features:FlagValues:Flag", "new-value" },
+ { "Features:FlagValues:OtherFlag", "hi!" },
+
+ { "GlobalSettings:LaunchDarkly:SdkKey", "secondary" },
+ { "GlobalSettings:LaunchDarkly:FlagValues:Flag", "old-value" },
+ { "GlobalSettings:LaunchDarkly:FlagValues:AnotherFlag", "hello!" },
+ });
+
+ var options = provider.GetRequiredService>().Value;
+
+ Assert.Equal("primary", options.LaunchDarkly.SdkKey);
+ Assert.NotEmpty(options.KnownFlags);
+ Assert.Equal("new-value", Assert.Contains("Flag", options.FlagValues));
+ Assert.Equal("hi!", Assert.Contains("OtherFlag", options.FlagValues));
+ Assert.Equal("hello!", Assert.Contains("AnotherFlag", options.FlagValues));
+ }
+
+ [Fact]
+ public void OnlyGlobalSettingsSdkKeySet()
+ {
+ using var provider = CreateProvider(new Dictionary
+ {
+ { "GlobalSettings:LaunchDarkly:SdkKey", "original" },
+ });
+
+ var options = provider.GetRequiredService>().Value;
+
+ Assert.Equal("original", options.LaunchDarkly.SdkKey);
+ }
+
+ [Fact]
+ public void FlagDataFilePath_PointsToExistingFile_LogsWarning()
+ {
+ var flagFile = Path.Combine(Path.GetTempPath(), $"flags-{Guid.NewGuid():N}.json");
+ File.WriteAllText(flagFile, "{}");
+
+ try
+ {
+ using var fakeProvider = new FakeLoggerProvider();
+ using var provider = CreateProvider(
+ new Dictionary
+ {
+ { "GlobalSettings:LaunchDarkly:FlagDataFilePath", flagFile },
+ },
+ services => services.AddLogging(b => b.AddProvider(fakeProvider)));
+
+ _ = provider.GetRequiredService>().Value;
+
+ var warning = Assert.Single(
+ fakeProvider.Collector.GetSnapshot(),
+ record => record.Level == LogLevel.Warning);
+ Assert.Contains(flagFile, warning.Message);
+ }
+ finally
+ {
+ File.Delete(flagFile);
+ }
+ }
+
+ [Fact]
+ public void FlagDataFilePath_FileMissing_DoesNotLog()
+ {
+ using var fakeProvider = new FakeLoggerProvider();
+ using var provider = CreateProvider(
+ new Dictionary
+ {
+ { "GlobalSettings:LaunchDarkly:FlagDataFilePath", "/does/not/exist.json" },
+ },
+ services => services.AddLogging(b => b.AddProvider(fakeProvider)));
+
+ _ = provider.GetRequiredService>().Value;
+
+ Assert.DoesNotContain(
+ fakeProvider.Collector.GetSnapshot(),
+ record => record.Level == LogLevel.Warning);
+ }
+
+ private static ServiceProvider CreateProvider(
+ Dictionary config,
+ Action? extraServices = null)
+ {
+ var services = new ServiceCollection();
+
+ var configuration = new ConfigurationBuilder()
+ .AddInMemoryCollection(config)
+ .Build();
+
+ var environment = Substitute.For();
+ environment.ApplicationName = "SharedWeb";
+
+ services.AddSingleton(environment);
+ services.AddLogging();
+ services.AddSingleton(configuration);
+
+ services.AddFeatureFlagServices();
+ services.ApplyServerCompatibilityLayer();
+
+ extraServices?.Invoke(services);
+
+ return services.BuildServiceProvider();
+ }
+}
diff --git a/test/SharedWeb.Test/SharedWeb.Test.csproj b/test/SharedWeb.Test/SharedWeb.Test.csproj
index 04f30adb6797..e50eee55bd2d 100644
--- a/test/SharedWeb.Test/SharedWeb.Test.csproj
+++ b/test/SharedWeb.Test/SharedWeb.Test.csproj
@@ -8,6 +8,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
+
diff --git a/test/SharedWeb.Test/packages.lock.json b/test/SharedWeb.Test/packages.lock.json
index 0f9fba605b02..61c3970cb7e3 100644
--- a/test/SharedWeb.Test/packages.lock.json
+++ b/test/SharedWeb.Test/packages.lock.json
@@ -8,6 +8,17 @@
"resolved": "6.0.0",
"contentHash": "tW3lsNS+dAEII6YGUX/VMoJjBS1QvsxqJeqLaJXub08y1FSjasFPtQ4UBUsudE9PNrzLjooClMsPtY2cZLdXpQ=="
},
+ "Microsoft.Extensions.Diagnostics.Testing": {
+ "type": "Direct",
+ "requested": "[10.6.0, 10.6.0]",
+ "resolved": "10.6.0",
+ "contentHash": "WFgkep0Nxz0aht9k/OKwXdBOZ/uIB8VULY35ou91BiK4k0gj9CJz985T8GN0Q7XjCOMjNgjVFnv/9FmqcDEivg==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "10.0.8",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.8",
+ "Microsoft.Extensions.Telemetry.Abstractions": "10.6.0"
+ }
+ },
"Microsoft.NET.Test.Sdk": {
"type": "Direct",
"requested": "[18.0.1, )",
@@ -217,6 +228,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -347,16 +366,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -372,13 +391,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -733,6 +752,15 @@
"StackExchange.Redis": "2.7.27"
}
},
+ "Microsoft.Extensions.Compliance.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.6.0",
+ "contentHash": "L8zTKn8e2LCQbsDFLWFm6fZQ54F/1FisLx43nkEof4HmmsO2HaZHshV85+qF8HXO48MlGJdrWUg+uVBj/WDmmw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8",
+ "Microsoft.Extensions.ObjectPool": "10.0.8"
+ }
+ },
"Microsoft.Extensions.Configuration": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -926,6 +954,26 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
+ "Microsoft.Extensions.ObjectPool": {
+ "type": "Transitive",
+ "resolved": "10.0.8",
+ "contentHash": "aQBFbY8i/dacE0fP+ZJ8Lhx/unYRnGHhtM+tHb46GLkeNjBdOzgFk88sX6BVZBhoa6JrYIOBGYTc5K4WItBsag=="
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -952,6 +1000,17 @@
"resolved": "10.0.8",
"contentHash": "OBPo4nYhMyIbtueoC10CBm6AGAbo/A9IV8QQ/6ryZS7VvmqpGT7hunazeHLxFawRzn3oLOq4jhqhpBX4tfswWQ=="
},
+ "Microsoft.Extensions.Telemetry.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.6.0",
+ "contentHash": "aNQEJu5DD2YVQEWWmC/ALEiV1Qt400BaDO+SExtfAaGqYaNu/r2sW9xGLuc71fcjbrmzqX8LzNgK5mzjjMW9RQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Compliance.Abstractions": "10.6.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.8",
+ "Microsoft.Extensions.ObjectPool": "10.0.8",
+ "Microsoft.Extensions.Options": "10.0.8"
+ }
+ },
"Microsoft.Identity.Client": {
"type": "Transitive",
"resolved": "4.66.1",
@@ -1125,6 +1184,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1490,6 +1636,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1497,7 +1644,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1515,6 +1661,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1532,7 +1685,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1540,7 +1693,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1553,10 +1706,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/util/Migrator/packages.lock.json b/util/Migrator/packages.lock.json
index 7f2638dbd1b1..005089a55ae7 100644
--- a/util/Migrator/packages.lock.json
+++ b/util/Migrator/packages.lock.json
@@ -175,6 +175,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -284,16 +292,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -309,13 +317,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -763,6 +771,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -916,6 +939,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1175,6 +1285,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1182,7 +1293,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1200,6 +1310,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
diff --git a/util/MsSqlMigratorUtility/packages.lock.json b/util/MsSqlMigratorUtility/packages.lock.json
index 45dfd44fe5d3..a99ef5a16614 100644
--- a/util/MsSqlMigratorUtility/packages.lock.json
+++ b/util/MsSqlMigratorUtility/packages.lock.json
@@ -184,6 +184,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -302,16 +310,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -327,13 +335,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -949,6 +957,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1208,6 +1303,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1215,7 +1311,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1233,6 +1328,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1250,7 +1352,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json
index e952f2e86716..1a14d47c25e3 100644
--- a/util/MySqlMigrations/packages.lock.json
+++ b/util/MySqlMigrations/packages.lock.json
@@ -175,6 +175,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -281,16 +289,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -306,13 +314,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -898,6 +906,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1086,6 +1109,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1434,6 +1544,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1441,7 +1552,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1459,6 +1569,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1477,7 +1594,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json
index e952f2e86716..1a14d47c25e3 100644
--- a/util/PostgresMigrations/packages.lock.json
+++ b/util/PostgresMigrations/packages.lock.json
@@ -175,6 +175,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -281,16 +289,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -306,13 +314,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -898,6 +906,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1086,6 +1109,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1434,6 +1544,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1441,7 +1552,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1459,6 +1569,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1477,7 +1594,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
diff --git a/util/Seeder/packages.lock.json b/util/Seeder/packages.lock.json
index daa9f3800746..485bb0569512 100644
--- a/util/Seeder/packages.lock.json
+++ b/util/Seeder/packages.lock.json
@@ -168,6 +168,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -274,16 +282,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -299,13 +307,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -848,6 +856,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1033,6 +1056,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1344,6 +1454,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1351,7 +1462,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1369,6 +1479,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1386,7 +1503,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1394,7 +1511,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1410,10 +1527,18 @@
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/util/SeederApi/packages.lock.json b/util/SeederApi/packages.lock.json
index ab0bb8268098..c0f901ecfac8 100644
--- a/util/SeederApi/packages.lock.json
+++ b/util/SeederApi/packages.lock.json
@@ -155,6 +155,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -263,16 +271,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -285,13 +293,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -746,6 +754,83 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1016,6 +1101,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1023,7 +1109,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1041,6 +1126,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1058,7 +1150,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1066,7 +1158,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1083,19 +1175,27 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/util/SeederUtility/packages.lock.json b/util/SeederUtility/packages.lock.json
index f796cd70ee11..25b083197391 100644
--- a/util/SeederUtility/packages.lock.json
+++ b/util/SeederUtility/packages.lock.json
@@ -177,6 +177,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"Bogus": {
"type": "Transitive",
"resolved": "35.6.5",
@@ -288,16 +296,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -313,13 +321,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -862,6 +870,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1047,6 +1070,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1363,6 +1473,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1370,7 +1481,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1388,6 +1498,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1405,7 +1522,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1413,7 +1530,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1430,19 +1547,27 @@
"type": "Project",
"dependencies": {
"Bogus": "[35.6.5, 35.6.5]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
- "RustSdk": "[2026.6.1, )",
- "SharedWeb": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
+ "RustSdk": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )"
}
},
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json
index e0296d2f48f1..71caa0f6819b 100644
--- a/util/Setup/packages.lock.json
+++ b/util/Setup/packages.lock.json
@@ -177,6 +177,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -290,16 +298,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -315,13 +323,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -769,6 +777,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -922,6 +945,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1181,6 +1291,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1188,7 +1299,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1206,6 +1316,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1223,7 +1340,7 @@
"migrator": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.Extensions.Logging": "[10.0.8, 10.0.8]",
"dbup-sqlserver": "[7.2.0, 7.2.0]"
}
diff --git a/util/SqlServerEFScaffold/packages.lock.json b/util/SqlServerEFScaffold/packages.lock.json
index 7b400eabd485..ac026d4d7caf 100644
--- a/util/SqlServerEFScaffold/packages.lock.json
+++ b/util/SqlServerEFScaffold/packages.lock.json
@@ -210,6 +210,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -321,16 +329,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -346,13 +354,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -1626,11 +1634,11 @@
"AspNetCore.HealthChecks.SqlServer": "[8.0.2, 8.0.2]",
"AspNetCore.HealthChecks.Uris": "[8.0.1, 8.0.1]",
"Azure.Messaging.EventGrid": "[5.0.0, 5.0.0]",
- "Commercial.Core": "[2026.6.1, )",
- "Commercial.Infrastructure.EntityFramework": "[2026.6.1, )",
- "Pam": "[2026.6.1, )",
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Commercial.Core": "[2026.6.2, )",
+ "Commercial.Infrastructure.EntityFramework": "[2026.6.2, )",
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )",
"OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
"OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
"OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
@@ -1638,14 +1646,15 @@
"OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
"OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
"OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
- "SharedWeb": "[2026.6.1, )",
+ "Pam": "[2026.6.2, )",
+ "SharedWeb": "[2026.6.2, )",
"Swashbuckle.AspNetCore": "[10.1.7, 10.1.7]"
}
},
"commercial.core": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"CsvHelper": "[33.1.0, 33.1.0]"
}
},
@@ -1653,15 +1662,8 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )"
- }
- },
- "pam": {
- "type": "Project",
- "dependencies": {
- "Core": "[2026.6.1, )",
- "HttpExtensions": "[2026.6.1, )"
+ "Core": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )"
}
},
"core": {
@@ -1678,6 +1680,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1685,7 +1688,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1703,6 +1705,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1723,7 +1732,7 @@
"infrastructure.dapper": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Dapper": "[2.1.66, 2.1.66]"
}
},
@@ -1731,7 +1740,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",
@@ -1741,13 +1750,28 @@
"linq2db.EntityFrameworkCore": "[8.1.0, 8.1.0]"
}
},
+ "pam": {
+ "type": "Project",
+ "dependencies": {
+ "Core": "[2026.6.2, )",
+ "HttpExtensions": "[2026.6.2, )"
+ }
+ },
"sharedweb": {
"type": "Project",
"dependencies": {
- "Core": "[2026.6.1, )",
- "Infrastructure.Dapper": "[2026.6.1, )",
- "Infrastructure.EntityFramework": "[2026.6.1, )",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
+ "Core": "[2026.6.2, )",
+ "Infrastructure.Dapper": "[2026.6.2, )",
+ "Infrastructure.EntityFramework": "[2026.6.2, )",
"Microsoft.Bot.Builder.Integration.AspNet.Core": "[4.23.0, 4.23.0]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Swashbuckle.AspNetCore.SwaggerGen": "[10.1.7, 10.1.7]"
}
}
diff --git a/util/SqliteMigrations/packages.lock.json b/util/SqliteMigrations/packages.lock.json
index e952f2e86716..1a14d47c25e3 100644
--- a/util/SqliteMigrations/packages.lock.json
+++ b/util/SqliteMigrations/packages.lock.json
@@ -175,6 +175,14 @@
"Newtonsoft.Json": "12.0.2"
}
},
+ "Bitwarden.Server.Sdk.Features": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "ede0XZGHaqTRyZoVjbSO0cLc2Ht+yZruHq1aRFjDnfQqaiJ4tbMxfwV8OsbKsn24Q3daj7JGZg+LDt50K5zoxg==",
+ "dependencies": {
+ "LaunchDarkly.ServerSdk": "8.10.3"
+ }
+ },
"BouncyCastle.Cryptography": {
"type": "Transitive",
"resolved": "2.6.2",
@@ -281,16 +289,16 @@
},
"LaunchDarkly.EventSource": {
"type": "Transitive",
- "resolved": "5.3.0",
- "contentHash": "i++YvdrzvTc1tOxfVreU2yjo/E+iTFcVtwiB4PZ/3uTouNdhABLbJfz1jmGN3jmnvJKWhsMeEZLZM0dzkI+PXQ==",
+ "resolved": "5.2.1",
+ "contentHash": "BHsoKW3TE0g+2FZSe8jaIBp2/RgHbjHJCKjQ7zSiOBK0V4JJaVYlmeVmhU0kXb2ru8QzLQ9ftEDITZ/ZSac/Gg==",
"dependencies": {
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
}
},
"LaunchDarkly.InternalSdk": {
"type": "Transitive",
- "resolved": "3.6.0",
- "contentHash": "Drf1rL+sZ/4UZDUovDLgRN9qQPf8J4QTQjJR2A8nCuxkFU7QjVFXqqW9+KL8RfX3DmJkhpgC3QVA1B9B6xEYJQ==",
+ "resolved": "3.5.5",
+ "contentHash": "/UBcVe9s0tf2pmJ23CFPwy/xF+mQoHte/BrfRXHiEqJcfN0Xidopw7o2xAeBUko9bf+UuESqjE1HGWUEB7dxXA==",
"dependencies": {
"LaunchDarkly.CommonSdk": "[7.1.1, 8.0.0)",
"LaunchDarkly.Logging": "[2.0.0, 3.0.0)"
@@ -306,13 +314,13 @@
},
"LaunchDarkly.ServerSdk": {
"type": "Transitive",
- "resolved": "8.11.0",
- "contentHash": "MMXfyGMDtul9UhEleHXdGNe2amLY1gjTZ9K2R18XoZp5OOlSGu4CmBqE4MXMsXhLYoEtYg2GIibmoTSPaU2Y+A==",
+ "resolved": "8.10.3",
+ "contentHash": "dHV6SBtRft88XUv0YuTGcdXPLr7BLn/yS0fYrZCD3uhsiPh+jJ5Ir1sYW/as1bUoIP3yo55SFPvbIDtewOWESg==",
"dependencies": {
"LaunchDarkly.Cache": "1.0.2",
"LaunchDarkly.CommonSdk": "7.1.1",
- "LaunchDarkly.EventSource": "5.3.0",
- "LaunchDarkly.InternalSdk": "3.6.0",
+ "LaunchDarkly.EventSource": "5.2.1",
+ "LaunchDarkly.InternalSdk": "3.5.5",
"LaunchDarkly.Logging": "2.0.0"
}
},
@@ -898,6 +906,21 @@
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.8"
}
},
+ "Microsoft.Extensions.Logging.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0"
+ }
+ },
"Microsoft.Extensions.Options": {
"type": "Transitive",
"resolved": "10.0.8",
@@ -1086,6 +1109,93 @@
"resolved": "3.0.271",
"contentHash": "pqpqeK8xQGggExhr4tesVgJkjdn+9HQAO0QgrYV2hFjE3y90okzk1kQMntMiUOGfV7FrCUfKPaVvPBD4IANqKg=="
},
+ "OpenTelemetry": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "N0i6WjPoHPbZyms1ugbDIFAJFuGlpeExJMU/+XSL0lQRUkg/D0utFkDoLXf8Z1km5B+xVZ2GyMXXiX8qdeNmPg==",
+ "dependencies": {
+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
+ "Microsoft.Extensions.Logging.Configuration": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Api": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "fX+fkCysfPut+qCcT3bKqyX4QN9Saf4CgX8HLOHywEVD+Xr7sULtfuypITpoDysjx8R59dn/3mWhgimMH8cm/g=="
+ },
+ "OpenTelemetry.Api.ProviderBuilderExtensions": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "SYn0lqYDwLMWhv/zlNGsQcl2yX++yTumanX46bmOZE/ZDOd1WjPBO2kZaZgKLEZTZk48pavIFGJ6vOvxXgWVFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
+ "OpenTelemetry.Api": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "FEXJepcseTGbATiCkUfP7ipoFEYYfl/0UmmUwi0KxCPg9PaUA8ab2P1LGopK+/HExasJ1ZutFhZrN6WvUIR23g==",
+ "dependencies": {
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Extensions.Hosting": {
+ "type": "Transitive",
+ "resolved": "1.15.3",
+ "contentHash": "u8n/W8yIlqv0BXZmvId1iVaeWXG42tGKdTkuLYg5g57Y/r9CeUNzqtrSHNdG5IoO8iPX79w3v+WsbAHgUQbfeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
+ "OpenTelemetry": "1.15.3"
+ }
+ },
+ "OpenTelemetry.Instrumentation.AspNetCore": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "mte1nRYefxjed2syXgVWq3UCfMKO7MkebvTZmf0O1aLgVgCktLsVjQ6mftyjIbWGBBCHN0wg+Glxj8BSFS70pQ==",
+ "dependencies": {
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.2",
+ "contentHash": "4D2PLiJWbBbQbauojkIflT11WGVXoRU+xgox1mvOkpfm7YXIfwTtROOlcdscS51sMh5fgwjGKJtLWpLKppe7dw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Http": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "uToc7bUp8IEdb0ny9mKsL6FrrYelINPzxxiSShJgOf4XmQc4Azww6S5RjRj24YhsOn2a1MABOrxfVTZXtDk4Eg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.0",
+ "Microsoft.Extensions.Options": "10.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.Runtime": {
+ "type": "Transitive",
+ "resolved": "1.15.0",
+ "contentHash": "OOvpqR/j2Pb6+tWhHNODIbSJ53Or/MDtTiXEyrsWI02K2lLAgvBFcxUOrHggS/8015cYR3AdSaXv6NZrkz5yQA==",
+ "dependencies": {
+ "OpenTelemetry.Api": "[1.15.0, 2.0.0)"
+ }
+ },
+ "OpenTelemetry.Instrumentation.SqlClient": {
+ "type": "Transitive",
+ "resolved": "1.12.0-beta.3",
+ "contentHash": "w1cOTM5U6c9MYbBALgqynwGNuGGn6uxbh0hV1LW7zmsQyq6e4kJrW0jIMcGgYIEYnIomOvUwoTEwEFb1ZClAeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.0",
+ "Microsoft.Extensions.Options": "9.0.0",
+ "OpenTelemetry.Api.ProviderBuilderExtensions": "[1.12.0, 2.0.0)"
+ }
+ },
"Otp.NET": {
"type": "Transitive",
"resolved": "1.4.0",
@@ -1434,6 +1544,7 @@
"Azure.Storage.Blobs.Batch": "[12.23.0, 12.23.0]",
"Azure.Storage.Queues": "[12.24.0, 12.24.0]",
"BitPay.Light": "[1.0.1907, 1.0.1907]",
+ "Bitwarden.Server.Sdk.Features": "[1.1.0, )",
"Braintree": "[5.36.0, 5.36.0]",
"CsvHelper": "[33.1.0, 33.1.0]",
"DnsClient": "[1.8.0, 1.8.0]",
@@ -1441,7 +1552,6 @@
"DuoUniversal": "[1.3.1, 1.3.1]",
"Fido2.AspNet": "[3.0.1, 3.0.1]",
"Handlebars.Net": "[2.1.6, 2.1.6]",
- "LaunchDarkly.ServerSdk": "[8.11.0, 8.11.0]",
"MailKit": "[4.16.0, 4.16.0]",
"Microsoft.AspNetCore.Authentication.JwtBearer": "[10.0.8, 10.0.8]",
"Microsoft.AspNetCore.DataProtection": "[10.0.8, 10.0.8]",
@@ -1459,6 +1569,13 @@
"Microsoft.Extensions.Identity.Stores": "[10.0.8, 10.0.8]",
"Newtonsoft.Json": "[13.0.3, 13.0.3]",
"OneOf": "[3.0.271, 3.0.271]",
+ "OpenTelemetry.Exporter.OpenTelemetryProtocol": "[1.15.3, )",
+ "OpenTelemetry.Extensions.Hosting": "[1.15.3, )",
+ "OpenTelemetry.Instrumentation.AspNetCore": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.EntityFrameworkCore": "[1.12.0-beta.2, )",
+ "OpenTelemetry.Instrumentation.Http": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.Runtime": "[1.15.0, )",
+ "OpenTelemetry.Instrumentation.SqlClient": "[1.12.0-beta.3, )",
"Otp.NET": "[1.4.0, 1.4.0]",
"Quartz": "[3.15.1, 3.15.1]",
"Quartz.Extensions.DependencyInjection": "[3.15.1, 3.15.1]",
@@ -1477,7 +1594,7 @@
"type": "Project",
"dependencies": {
"AutoMapper": "[14.0.0, 14.0.0]",
- "Core": "[2026.6.1, )",
+ "Core": "[2026.6.2, )",
"Microsoft.EntityFrameworkCore.Relational": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.SqlServer": "[8.0.8, 8.0.8]",
"Microsoft.EntityFrameworkCore.Sqlite": "[8.0.8, 8.0.8]",