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]",