diff --git a/.pipelines/cosmos-pipelines.yml b/.pipelines/cosmos-pipelines.yml index c664879288..bb596b7702 100644 --- a/.pipelines/cosmos-pipelines.yml +++ b/.pipelines/cosmos-pipelines.yml @@ -57,7 +57,7 @@ steps: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x installationPath: $(Agent.ToolsDirectory)/dotnet - task: NuGetToolInstaller@1 diff --git a/.pipelines/dwsql-pipelines.yml b/.pipelines/dwsql-pipelines.yml index bc1e36dd6d..61f1f3ff17 100644 --- a/.pipelines/dwsql-pipelines.yml +++ b/.pipelines/dwsql-pipelines.yml @@ -50,7 +50,7 @@ jobs: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x - task: NuGetToolInstaller@1 @@ -179,7 +179,7 @@ jobs: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x - task: NuGetToolInstaller@1 diff --git a/.pipelines/mssql-pipelines.yml b/.pipelines/mssql-pipelines.yml index c11bfa133c..66321a9448 100644 --- a/.pipelines/mssql-pipelines.yml +++ b/.pipelines/mssql-pipelines.yml @@ -52,7 +52,7 @@ jobs: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x - task: NuGetToolInstaller@1 diff --git a/.pipelines/mysql-pipelines.yml b/.pipelines/mysql-pipelines.yml index e6fe59d6c0..2207509792 100644 --- a/.pipelines/mysql-pipelines.yml +++ b/.pipelines/mysql-pipelines.yml @@ -49,7 +49,7 @@ jobs: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x - task: NuGetToolInstaller@1 diff --git a/.pipelines/pg-pipelines.yml b/.pipelines/pg-pipelines.yml index 6cd223aca6..93dfafd6fc 100644 --- a/.pipelines/pg-pipelines.yml +++ b/.pipelines/pg-pipelines.yml @@ -44,7 +44,7 @@ jobs: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x - task: NuGetToolInstaller@1 diff --git a/.pipelines/templates/build-pipelines.yml b/.pipelines/templates/build-pipelines.yml index 5f166084a3..3963ff521a 100644 --- a/.pipelines/templates/build-pipelines.yml +++ b/.pipelines/templates/build-pipelines.yml @@ -57,7 +57,7 @@ steps: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x installationPath: $(Agent.ToolsDirectory)/dotnet - task: NuGetToolInstaller@1 diff --git a/.pipelines/templates/mssql-test-steps.yml b/.pipelines/templates/mssql-test-steps.yml index e834132639..96bb8e45f5 100644 --- a/.pipelines/templates/mssql-test-steps.yml +++ b/.pipelines/templates/mssql-test-steps.yml @@ -34,7 +34,7 @@ steps: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x - task: NuGetToolInstaller@1 diff --git a/.pipelines/templates/static-tools.yml b/.pipelines/templates/static-tools.yml index 14bc25764f..e24d088726 100644 --- a/.pipelines/templates/static-tools.yml +++ b/.pipelines/templates/static-tools.yml @@ -24,7 +24,7 @@ jobs: displayName: Setup .NET SDK v8.0.x inputs: packageType: sdk - version: 8.0.x + version: 10.0.x # Analyze source and build output text files for credentials - task: CredScan@3 diff --git a/Dockerfile b/Dockerfile index 21dfece640..a1532beb1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,13 @@ # Version values referenced from https://hub.docker.com/_/microsoft-dotnet-aspnet -FROM mcr.microsoft.com/dotnet/sdk:8.0-cbl-mariner2.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:10.0-azurelinux3.0 AS build WORKDIR /src COPY [".", "./"] RUN dotnet build "./src/Service/Azure.DataApiBuilder.Service.csproj" -c Docker -o /out -r linux-x64 -FROM mcr.microsoft.com/dotnet/aspnet:8.0-cbl-mariner2.0 AS runtime +FROM mcr.microsoft.com/dotnet/aspnet:10.0-azurelinux3.0 AS runtime COPY --from=build /out /App # Add default dab-config.json to /App in the image diff --git a/external_licenses/Microsoft.Data.SqlClient.SNI.5.2.0.License.txt b/external_licenses/Microsoft.Data.SqlClient.SNI.6.0.0.License.txt similarity index 96% rename from external_licenses/Microsoft.Data.SqlClient.SNI.5.2.0.License.txt rename to external_licenses/Microsoft.Data.SqlClient.SNI.6.0.0.License.txt index ec940f9243..42dc7d59a9 100644 --- a/external_licenses/Microsoft.Data.SqlClient.SNI.5.2.0.License.txt +++ b/external_licenses/Microsoft.Data.SqlClient.SNI.6.0.0.License.txt @@ -1,3 +1,8 @@ +[TODO prereq-PR Usr/sogh/upgrade-net10-sqlclient6: This file was renamed from +Microsoft.Data.SqlClient.SNI.5.2.0.License.txt for the SqlClient 5.2.3 -> 6.0.2 +bump. Please refresh contents from the upstream license URL for the new SNI +version 6.0.0 before merge. The body below is still the 5.2.0 text.] + MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT.DATA.SQLCLIENT.SNI LIBRARY diff --git a/global.json b/global.json index df2d0ef27d..f365c8c0e0 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "8.0.420", + "version": "10.0.301", "rollForward": "latestFeature" } } diff --git a/scripts/create-manifest-file.ps1 b/scripts/create-manifest-file.ps1 index 85e1579ba4..f10a78719b 100644 --- a/scripts/create-manifest-file.ps1 +++ b/scripts/create-manifest-file.ps1 @@ -21,7 +21,11 @@ if ($isReleaseBuild -eq 'true') } # Generating hash for DAB packages -$dotnetTargetFrameworks = "net8.0" +# TODO(prereq-PR Usr/sogh/upgrade-net10-sqlclient6): String-only swap of +# net8.0 -> net10.0. Release-engineering: please confirm the +# net10.0_{linux,win,osx}-x64 download URLs and SHA hashes referenced +# downstream still resolve after the .NET 10 publish cycle runs. +$dotnetTargetFrameworks = "net10.0" $RIDs = "win-x64", "linux-x64", "osx-x64" [hashtable]$frameworkPlatformDownloadMetadata = @{} [hashtable]$frameworkPlatformFileHashMetadata = @{} @@ -62,16 +66,16 @@ $latestBlock = @' "releaseDate": "${releaseDate}", "files": { "linux-x64":{ - "url": "$($frameworkPlatformDownloadMetadata["net8.0_linux-x64"])", - "sha": "$($frameworkPlatformFileHashMetadata["net8.0_linux-x64"])" + "url": "$($frameworkPlatformDownloadMetadata["net10.0_linux-x64"])", + "sha": "$($frameworkPlatformFileHashMetadata["net10.0_linux-x64"])" }, "win-x64":{ - "url": "$($frameworkPlatformDownloadMetadata["net8.0_win-x64"])", - "sha": "$($frameworkPlatformFileHashMetadata["net8.0_win-x64"])" + "url": "$($frameworkPlatformDownloadMetadata["net10.0_win-x64"])", + "sha": "$($frameworkPlatformFileHashMetadata["net10.0_win-x64"])" }, "osx-x64":{ - "url": "$($frameworkPlatformDownloadMetadata["net8.0_osx-x64"])", - "sha": "$($frameworkPlatformFileHashMetadata["net8.0_osx-x64"])" + "url": "$($frameworkPlatformDownloadMetadata["net10.0_osx-x64"])", + "sha": "$($frameworkPlatformFileHashMetadata["net10.0_osx-x64"])" }, "nuget": { "url": "${download_url_nuget_cli}", diff --git a/scripts/notice-generation.ps1 b/scripts/notice-generation.ps1 index 3b263a4b8f..0d01e2167d 100644 --- a/scripts/notice-generation.ps1 +++ b/scripts/notice-generation.ps1 @@ -15,7 +15,7 @@ Invoke-WebRequest $chiliCreamLicenseMetadataURL -UseBasicParsing | Out-File $chiliCreamLicenseSavePath # Define the path to the license file in your repository and Read the content of the license file -$sqlClientSNILicenseFilePath = "$BuildSourcesDir/external_licenses/Microsoft.Data.SqlClient.SNI.5.2.0.License.txt" +$sqlClientSNILicenseFilePath = "$BuildSourcesDir/external_licenses/Microsoft.Data.SqlClient.SNI.6.0.0.License.txt" $sqlClientSNILicense = Get-Content -Path $sqlClientSNILicenseFilePath -Raw # Replace erroneous copyright, using [System.IO.File] for better performance than Get-Content and Set-Content diff --git a/scripts/publish.ps1 b/scripts/publish.ps1 index 8716f36928..5a3d0b5b59 100644 --- a/scripts/publish.ps1 +++ b/scripts/publish.ps1 @@ -10,12 +10,12 @@ param ( ) $BuildRoot = Split-Path $PSScriptRoot -Parent -$dotnetTargetFrameworks = "net8.0" +$dotnetTargetFrameworks = "net10.0" $RIDs = "win-x64", "linux-x64", "osx-x64" # Runs dotnet publish for each target framework and RID. # Example results: -# \dotnetpublishout\publish\Release\net8.0\win-x64\dab +# \dotnetpublishout\publish\Release\net10.0\win-x64\dab if ($Package) { foreach ($targetFramework in $dotnetTargetFrameworks) @@ -30,7 +30,7 @@ if ($Package) # Zips the published output for each target framework and RID. # For example: -# \dotnetpublishout\publish\Release\net8.0\win-x64\dab_net8.0_win-x64-0.14.123-rc.zip +# \dotnetpublishout\publish\Release\net10.0\win-x64\dab_net10.0_win-x64-0.14.123-rc.zip if ($CreateZip) { foreach ($targetFramework in $dotnetTargetFrameworks) diff --git a/src/Aspire.AppHost/AppHost.cs b/src/Aspire.AppHost/AppHost.cs index 3e4e3f597c..428b75a499 100644 --- a/src/Aspire.AppHost/AppHost.cs +++ b/src/Aspire.AppHost/AppHost.cs @@ -25,7 +25,7 @@ } var mssqlService = builder.AddProject("mssql-service", "Development") - .WithArgs("-f", "net8.0") + .WithArgs("-f", "net10.0") .WithEndpoint(endpointName: "https", (e) => e.Port = 1234) .WithEndpoint(endpointName: "http", (e) => e.Port = 2345) .WithEnvironment("db-type", "mssql") @@ -65,7 +65,7 @@ } var pgService = builder.AddProject("pg-service", "Development") - .WithArgs("-f", "net8.0") + .WithArgs("-f", "net10.0") .WithEndpoint(endpointName: "https", (e) => e.Port = 1234) .WithEndpoint(endpointName: "http", (e) => e.Port = 2345) .WithEnvironment("db-type", "postgresql") diff --git a/src/Aspire.AppHost/Aspire.AppHost.csproj b/src/Aspire.AppHost/Aspire.AppHost.csproj index 79d44e51a1..d47030e64f 100644 --- a/src/Aspire.AppHost/Aspire.AppHost.csproj +++ b/src/Aspire.AppHost/Aspire.AppHost.csproj @@ -4,7 +4,7 @@ Exe - net8.0 + net10.0 enable NU1603;NU1605 enable diff --git a/src/Auth/Azure.DataApiBuilder.Auth.csproj b/src/Auth/Azure.DataApiBuilder.Auth.csproj index 9537d48834..3a34ee30c0 100644 --- a/src/Auth/Azure.DataApiBuilder.Auth.csproj +++ b/src/Auth/Azure.DataApiBuilder.Auth.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable $(BaseOutputPath)\engine diff --git a/src/Azure.DataApiBuilder.Mcp/Azure.DataApiBuilder.Mcp.csproj b/src/Azure.DataApiBuilder.Mcp/Azure.DataApiBuilder.Mcp.csproj index c1e4f9cfe4..f7c1e831ec 100644 --- a/src/Azure.DataApiBuilder.Mcp/Azure.DataApiBuilder.Mcp.csproj +++ b/src/Azure.DataApiBuilder.Mcp/Azure.DataApiBuilder.Mcp.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable diff --git a/src/Cli.Tests/Cli.Tests.csproj b/src/Cli.Tests/Cli.Tests.csproj index a8081f5250..1d9c1e83f0 100644 --- a/src/Cli.Tests/Cli.Tests.csproj +++ b/src/Cli.Tests/Cli.Tests.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable false diff --git a/src/Cli/Cli.csproj b/src/Cli/Cli.csproj index 3cacab6b4b..7ae0276a39 100644 --- a/src/Cli/Cli.csproj +++ b/src/Cli/Cli.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 Cli enable enable diff --git a/src/Config/Azure.DataApiBuilder.Config.csproj b/src/Config/Azure.DataApiBuilder.Config.csproj index 6b5bdf0955..1a6e44704d 100644 --- a/src/Config/Azure.DataApiBuilder.Config.csproj +++ b/src/Config/Azure.DataApiBuilder.Config.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable $(BaseOutputPath)\engine diff --git a/src/Core/Azure.DataApiBuilder.Core.csproj b/src/Core/Azure.DataApiBuilder.Core.csproj index 412dd316ab..3497fa516a 100644 --- a/src/Core/Azure.DataApiBuilder.Core.csproj +++ b/src/Core/Azure.DataApiBuilder.Core.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable ./nupkg diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 8bb02bc13c..a9bc031835 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -32,9 +32,9 @@ - - - + + + @@ -43,9 +43,9 @@ - - - + + + @@ -81,7 +81,7 @@ - + diff --git a/src/Product/Azure.DataApiBuilder.Product.csproj b/src/Product/Azure.DataApiBuilder.Product.csproj index a385f21a53..f2237e2fba 100644 --- a/src/Product/Azure.DataApiBuilder.Product.csproj +++ b/src/Product/Azure.DataApiBuilder.Product.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable $(BaseOutputPath)\engine diff --git a/src/Service.GraphQLBuilder/Azure.DataApiBuilder.Service.GraphQLBuilder.csproj b/src/Service.GraphQLBuilder/Azure.DataApiBuilder.Service.GraphQLBuilder.csproj index c2df983509..87c2a5637e 100644 --- a/src/Service.GraphQLBuilder/Azure.DataApiBuilder.Service.GraphQLBuilder.csproj +++ b/src/Service.GraphQLBuilder/Azure.DataApiBuilder.Service.GraphQLBuilder.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable $(BaseOutputPath)\engine diff --git a/src/Service.Tests/Azure.DataApiBuilder.Service.Tests.csproj b/src/Service.Tests/Azure.DataApiBuilder.Service.Tests.csproj index ae274a4dc2..b7f7cbb054 100644 --- a/src/Service.Tests/Azure.DataApiBuilder.Service.Tests.csproj +++ b/src/Service.Tests/Azure.DataApiBuilder.Service.Tests.csproj @@ -1,11 +1,17 @@ - net8.0 + net10.0 false disable $(BaseOutputPath)\tests - NU1603 + + NU1603;ASPDEPR008 diff --git a/src/Service/Azure.DataApiBuilder.Service.csproj b/src/Service/Azure.DataApiBuilder.Service.csproj index 2ba352c02f..eba3437571 100644 --- a/src/Service/Azure.DataApiBuilder.Service.csproj +++ b/src/Service/Azure.DataApiBuilder.Service.csproj @@ -1,12 +1,20 @@ - + - net8.0 + net10.0 Debug;Release;Docker $(BaseOutputPath)\engine win-x64;linux-x64;osx-x64 true - NU1603 + + NU1603;ASPDEPR008 @@ -64,8 +72,6 @@ - -