Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update package dependencies #6876

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 36 additions & 34 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
<TestcontainersPackageVersion>3.10.0</TestcontainersPackageVersion>
<TestcontainersPackageVersion>4.0.0</TestcontainersPackageVersion>
<AzureProvisiongVersion>1.0.0</AzureProvisiongVersion>
</PropertyGroup>
<ItemGroup>
<!-- AWS SDK for .NET dependencies -->
<PackageVersion Include="AspNetCore.HealthChecks.Oracle" Version="8.0.1" />
<PackageVersion Include="AWSSDK.CloudFormation" Version="3.7.400.36" />
eerhardt marked this conversation as resolved.
Show resolved Hide resolved
<PackageVersion Include="AWSSDK.SQS" Version="3.7.400.36" />
<PackageVersion Include="AWSSDK.SimpleNotificationService" Version="3.7.400.36" />
<PackageVersion Include="AWSSDK.Core" Version="3.7.400.36" />
<PackageVersion Include="AWSSDK.CloudFormation" Version="3.7.401.6" />
<PackageVersion Include="AWSSDK.SQS" Version="3.7.400.59" />
<PackageVersion Include="AWSSDK.SimpleNotificationService" Version="3.7.400.59" />
<PackageVersion Include="AWSSDK.Core" Version="3.7.400.59" />
<PackageVersion Include="AWSSDK.Extensions.NETCore.Setup" Version="3.7.301" />
<PackageVersion Include="AWS.Messaging" Version="0.9.2" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AWS" Version="1.1.0-beta.6" />
<PackageVersion Include="OpenTelemetry.Extensions.AWS" Version="1.3.0-beta.1" />
<!-- AWS CDK dependencies -->
<PackageVersion Include="Amazon.CDK.Lib" Version="2.160.0" />
<PackageVersion Include="Amazon.CDK.Lib" Version="2.171.1" />
<!-- Azure SDK for .NET dependencies -->
<PackageVersion Include="Azure.AI.OpenAI" Version="2.0.0" />
<PackageVersion Include="Azure.Data.Tables" Version="12.9.1" />
Expand All @@ -32,12 +32,12 @@
<PackageVersion Include="Azure.Search.Documents" Version="11.6.0" />
<PackageVersion Include="Azure.Messaging.WebPubSub" Version="1.4.0" />
<PackageVersion Include="Azure.Security.KeyVault.Secrets" Version="4.7.0" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.22.2" />
<PackageVersion Include="Azure.Storage.Queues" Version="12.20.1" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.23.0" />
<PackageVersion Include="Azure.Storage.Queues" Version="12.21.0" />
<PackageVersion Include="Microsoft.Azure.AppConfiguration.AspNetCore" Version="8.0.0" />
<PackageVersion Include="Microsoft.Azure.Cosmos" Version="3.45.0" />
<PackageVersion Include="Microsoft.Azure.SignalR" Version="1.28.0" />
<PackageVersion Include="Microsoft.Extensions.Azure" Version="1.7.6" />
<PackageVersion Include="Microsoft.Azure.Cosmos" Version="3.46.0" />
<PackageVersion Include="Microsoft.Azure.SignalR" Version="1.29.0" />
<PackageVersion Include="Microsoft.Extensions.Azure" Version="1.9.0" />
<!-- Azure Management SDK for .NET dependencies -->
<PackageVersion Include="Azure.Provisioning" Version="$(AzureProvisiongVersion)" />
<PackageVersion Include="Azure.Provisioning.AppConfiguration" Version="$(AzureProvisiongVersion)" />
Expand Down Expand Up @@ -104,48 +104,50 @@
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="$(MicrosoftExtensionsHttpResiliencePackageVersion)" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="$(MicrosoftExtensionsTimeProviderTestingVersion)" />
<!-- NuGet dependencies -->
<PackageVersion Include="NuGet.ProjectModel" Version="6.11.1" />
<PackageVersion Include="NuGet.ProjectModel" Version="6.12.1" />
<!-- external dependencies -->
<PackageVersion Include="Confluent.Kafka" Version="2.6.0" />
<PackageVersion Include="Confluent.Kafka" Version="2.6.1" />
<PackageVersion Include="Dapper" Version="2.1.44" />
<PackageVersion Include="DnsClient" Version="1.8.0" />
<PackageVersion Include="Elastic.Clients.Elasticsearch" Version="8.15.10" />
<PackageVersion Include="Google.Protobuf" Version="3.28.2" />
<PackageVersion Include="Grpc.AspNetCore" Version="2.66.0" />
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.66.0" />
<PackageVersion Include="Elastic.Clients.Elasticsearch" Version="8.16.3" />
<PackageVersion Include="Google.Protobuf" Version="3.29.0" />
<PackageVersion Include="Grpc.AspNetCore" Version="2.67.0" />
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.67.0" />
<PackageVersion Include="Grpc.Tools" Version="2.67.0" />
<PackageVersion Include="Humanizer.Core" Version="2.14.1" />
<PackageVersion Include="KubernetesClient" Version="15.0.1" />
<PackageVersion Include="JsonPatch.Net" Version="3.1.1" />
<PackageVersion Include="JsonPatch.Net" Version="3.2.1" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components" Version="4.10.1" />
<PackageVersion Include="Microsoft.FluentUI.AspNetCore.Components.Icons" Version="4.10.1" />
<PackageVersion Include="Milvus.Client" Version="2.3.0-preview.1" />
<PackageVersion Include="MongoDB.Driver" Version="[2.30.0,3.0.0)" />
<PackageVersion Include="MongoDB.Driver.Core.Extensions.DiagnosticSources" Version="1.5.0" />
<PackageVersion Include="MySqlConnector.DependencyInjection" Version="2.3.6" />
<PackageVersion Include="MySqlConnector.DependencyInjection" Version="2.4.0" />
<PackageVersion Include="MySqlConnector.Logging.Microsoft.Extensions.Logging" Version="2.1.0" />
<PackageVersion Include="NATS.Net" Version="2.5.2" />
<PackageVersion Include="Npgsql.DependencyInjection" Version="8.0.6" />
<PackageVersion Include="NATS.Net" Version="2.5.4" />
<PackageVersion Include="Npgsql.DependencyInjection" Version="9.0.1" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(NpgsqlEntityFrameworkCorePostgreSQLPackageVersion)" />
<PackageVersion Include="OpenAI" Version="2.0.0" />
<PackageVersion Include="Oracle.EntityFrameworkCore" Version="8.23.60" />
<PackageVersion Include="Oracle.ManagedDataAccess.OpenTelemetry" Version="23.6.0" />
<PackageVersion Include="Polly.Core" Version="8.4.2" />
<PackageVersion Include="Polly.Extensions" Version="8.4.2" />
<PackageVersion Include="Polly.Core" Version="8.5.0" />
<PackageVersion Include="Polly.Extensions" Version="8.5.0" />
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
<PackageVersion Include="Qdrant.Client" Version="1.12.0" />
<PackageVersion Include="RabbitMQ.Client" Version="[6.8.1,7.0.0)" />
<PackageVersion Include="StackExchange.Redis" Version="2.8.16" />
<PackageVersion Include="System.IO.Hashing" Version="8.0.0" />
<PackageVersion Include="StackExchange.Redis" Version="2.8.22" />
<PackageVersion Include="System.IO.Hashing" Version="9.0.0" />
<PackageVersion Include="Yarp.ReverseProxy" Version="2.2.0" />
<!-- Open Telemetry -->
<PackageVersion Include="Npgsql.OpenTelemetry" Version="8.0.6" />
<PackageVersion Include="OpenTelemetry" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.9.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Api.ProviderBuilderExtensions" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0" />
<!-- build dependencies -->
Expand All @@ -157,15 +159,15 @@
<PackageVersion Include="Microsoft.DotNet.Build.Tasks.Installers" Version="8.0.0-beta.23564.4" />
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.24324.3" />
<!-- unit test dependencies -->
<PackageVersion Include="bUnit" Version="1.33.3" />
<PackageVersion Include="JsonSchema.Net" Version="7.2.3" />
<PackageVersion Include="bUnit" Version="1.36.0" />
<PackageVersion Include="JsonSchema.Net" Version="7.3.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" Version="1.1.2" />
<PackageVersion Include="Microsoft.DotNet.RemoteExecutor" Version="$(MicrosoftDotNetRemoteExecutorPackageVersion)" />
<PackageVersion Include="Microsoft.DotNet.XUnitExtensions" Version="$(MicrosoftDotNetXUnitExtensionsPackageVersion)" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="$(MicrosoftExtensionsDiagnosticsTestingPackageVersion)" />
<PackageVersion Include="Microsoft.NET.Runtime.WorkloadTesting.Internal" Version="$(MicrosoftNETRuntimeWorkloadTestingInternalVersion)" />
<PackageVersion Include="Microsoft.Playwright" Version="1.47.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.9.0" />
<PackageVersion Include="Microsoft.Playwright" Version="1.49.0" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="7.1.0" />
<PackageVersion Include="Testcontainers.MongoDb" Version="$(TestcontainersPackageVersion)" />
<PackageVersion Include="Testcontainers.MsSql" Version="$(TestcontainersPackageVersion)" />
<PackageVersion Include="Testcontainers.MySql" Version="$(TestcontainersPackageVersion)" />
Expand All @@ -178,11 +180,11 @@
<PackageVersion Include="Testcontainers.Elasticsearch" Version="$(TestcontainersPackageVersion)" />
<!-- playground apps dependencies -->
<PackageVersion Include="Dapr.AspNetCore" Version="1.14.0" />
<PackageVersion Include="Microsoft.Orleans.Clustering.AzureStorage" Version="8.2.0" />
<PackageVersion Include="Microsoft.Orleans.Persistence.AzureStorage" Version="8.2.0" />
<PackageVersion Include="Microsoft.Orleans.Client" Version="8.2.0" />
<PackageVersion Include="Microsoft.Orleans.Server" Version="8.2.0" />
<PackageVersion Include="Microsoft.Orleans.Sdk" Version="8.2.0" />
<PackageVersion Include="Microsoft.Orleans.Clustering.AzureStorage" Version="9.0.1" />
<PackageVersion Include="Microsoft.Orleans.Persistence.AzureStorage" Version="9.0.1" />
<PackageVersion Include="Microsoft.Orleans.Client" Version="9.0.1" />
<PackageVersion Include="Microsoft.Orleans.Server" Version="9.0.1" />
<PackageVersion Include="Microsoft.Orleans.Sdk" Version="9.0.1" />
<!-- playground apps dependencies for AzureFunctionsEndToEnd -->
<PackageVersion Include="Microsoft.Azure.Functions.Worker" Version="1.23.0" />
<PackageVersion Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.0.0-preview1" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<AspireProjectOrPackageReference Include="Aspire.StackExchange.Redis" />
<AspireProjectOrPackageReference Include="Aspire.Microsoft.EntityFrameworkCore.Cosmos" />
<ProjectReference Include="..\..\Playground.ServiceDefaults\Playground.ServiceDefaults.csproj" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<!-- This is an apphost project, doesn't need a Newtonsoft.Json reference -->
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new Azure Cosmos package added a target that runs on restore and surfaces an error when there is no direct dependency on Newtonsoft.Json. Full details can be found here: Azure/azure-cosmos-dotnet-v3#4839 but TL;DR is that they internally depend on newtonsoft but don't want to flow that transitive dependency and instead allow end-user applications to control the version they need.

In our repo, we disable this warning on all places where Newtonsoft isn't needed (as the Cosmos SDK won't run), and we reference Newtonsoft directly when necessary.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is the AppHost project depending on the Cosmos SDK? Is it for the health check? If so, then I think we actually DO want Newtonsoft to be present, or else the AppHost is going to fail the health check when Newtonsoft tries to get loaded and it isn't in the bin directly.

<UserSecretsId>9dc69458-f2b4-4306-9dc5-f7b8e398a3a9</UserSecretsId>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<AspireProjectOrPackageReference Include="Aspire.Microsoft.Azure.Cosmos" />
<AspireProjectOrPackageReference Include="Aspire.Microsoft.EntityFrameworkCore.Cosmos" />
<ProjectReference Include="..\..\Playground.ServiceDefaults\Playground.ServiceDefaults.csproj" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<!-- This is an apphost project, doesn't need a Newtonsoft.Json reference -->
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
<UserSecretsId>1a175a29-0f72-4d3d-85fb-3b8930c8cf7d</UserSecretsId>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<AspireProjectOrPackageReference Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" />
<AspireProjectOrPackageReference Include="Aspire.StackExchange.Redis" />
<ProjectReference Include="..\..\Playground.ServiceDefaults\Playground.ServiceDefaults.csproj" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<!-- This is an apphost project, doesn't need a Newtonsoft.Json reference -->
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
<UserSecretsId>dafae173-3ac0-4100-8cab-602852cb28dd</UserSecretsId>
</PropertyGroup>

Expand Down
2 changes: 2 additions & 0 deletions playground/cdk/CdkSample.AppHost/CdkSample.AppHost.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<!-- This is an apphost project, doesn't need a Newtonsoft.Json reference -->
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
<UserSecretsId>44b9bf37-1892-4852-8b5f-153e3ac5d24c</UserSecretsId>
</PropertyGroup>

Expand Down
4 changes: 4 additions & 0 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
<SkipArcadeNoWarnCS1591>true</SkipArcadeNoWarnCS1591>
<EnablePackageValidation Condition="'$(EnablePackageValidation)' == ''">true</EnablePackageValidation>
<PackageValidationBaselineVersion Condition="'$(EnablePackageValidation)' == 'true' and '$(PackageValidationBaselineVersion)' == ''">$(BaselineVersionForPackageValidation)</PackageValidationBaselineVersion>

<!-- Azure Cosmos is now emitting a wanring if you are and end-user application and are not referencing Newtonsoft directly.
We disable that warning for this project as we are not a consumer application. -->
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's just put this in the 2 projects that need it - not for every src project.

</PropertyGroup>

<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../'))" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<!-- This is an apphost project, doesn't need a Newtonsoft.Json reference -->
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<AspireProjectOrPackageReference Include="Aspire.StackExchange.Redis" />
<AspireProjectOrPackageReference Include="Aspire.Azure.Messaging.EventHubs" />
<AspireProjectOrPackageReference Include="Aspire.Microsoft.EntityFrameworkCore.Cosmos" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading