From 5ab5755dfc4e90e2bf980ffafa804122cc8ce5f5 Mon Sep 17 00:00:00 2001
From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:12:29 -0800
Subject: [PATCH 001/181] Update branding to 9.0.2 (#59757)
---
eng/Versions.props | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eng/Versions.props b/eng/Versions.props
index a83f1f630ad4..79bc3a9d63b8 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -8,10 +8,10 @@
9
0
- 1
+ 2
- true
+ false
8.0.1
*-*
-
+
https://github.com/dotnet/source-build-externals
- c65b1c1affed1f4847f9c3f81623dfa929d21e1a
+ ab469606a3e6b026dcac301e2dab96117c94faeb
diff --git a/eng/Versions.props b/eng/Versions.props
index 79bc3a9d63b8..f24b6747a95d 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -171,7 +171,7 @@
9.0.0-beta.24572.2
9.0.0-beta.24572.2
- 9.0.0-alpha.1.24568.2
+ 9.0.0-alpha.1.24575.1
9.0.0-alpha.1.24413.1
From 56652335db4431487e635dd91481398b4e620c5b Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:26:50 -0800
Subject: [PATCH 003/181] [release/9.0] Update dependencies from
dotnet/extensions (#59266)
* Update dependencies from https://github.com/dotnet/extensions build 20241127.1
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.24575.1 -> To Version 9.1.0-preview.1.24577.1
* Update dependencies from https://github.com/dotnet/extensions build 20241209.1
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.24575.1 -> To Version 9.1.0-preview.1.24609.1
* Update dependencies from https://github.com/dotnet/extensions build 20241211.2
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.24575.1 -> To Version 9.1.0-preview.1.24611.2
---------
Co-authored-by: dotnet-maestro[bot]
---
eng/Version.Details.xml | 8 ++++----
eng/Versions.props | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index c5574fb8d6bc..b1a1bb10cefc 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,13 +414,13 @@
https://github.com/dotnet/arcade
b41381d5cd633471265e9cd72e933a7048e03062
-
+
https://github.com/dotnet/extensions
- cfed375f3161f2e553e946b4f968b818e8e858f1
+ 7d9d58969e56b84beb35b05ce29d22b26f8c97ce
-
+
https://github.com/dotnet/extensions
- cfed375f3161f2e553e946b4f968b818e8e858f1
+ 7d9d58969e56b84beb35b05ce29d22b26f8c97ce
https://github.com/nuget/nuget.client
diff --git a/eng/Versions.props b/eng/Versions.props
index f24b6747a95d..fa5a24d9991f 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -143,8 +143,8 @@
9.0.0
9.0.0
- 9.1.0-preview.1.24575.1
- 9.1.0-preview.1.24575.1
+ 9.1.0-preview.1.24611.2
+ 9.1.0-preview.1.24611.2
9.0.0
9.0.0
From 46ad18072c920382885d66583c2fee081e09abbf Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:27:03 -0800
Subject: [PATCH 004/181] Update OSX helix queue (#59743)
Co-authored-by: Mackinnon Buck
---
eng/targets/Helix.Common.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index cedd59cd34ad..a6d7b8a81f44 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -49,7 +49,7 @@
-
+
From 7e247f6126b181700554046e5a7f852be6442a1b Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:27:34 -0800
Subject: [PATCH 005/181] Update dependencies from
https://github.com/dotnet/arcade build 20241223.3 (#59728)
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor
From Version 9.0.0-beta.24572.2 -> To Version 9.0.0-beta.24623.3
Co-authored-by: dotnet-maestro[bot]
---
eng/Version.Details.xml | 24 ++++++------
eng/Versions.props | 8 ++--
eng/common/cross/toolchain.cmake | 67 +++++++++++++++-----------------
eng/common/tools.ps1 | 2 +-
eng/common/tools.sh | 2 +-
global.json | 4 +-
6 files changed, 51 insertions(+), 56 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index b1a1bb10cefc..a2926f3676d6 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -388,31 +388,31 @@
https://github.com/dotnet/winforms
9b822fd70005bf5632d12fe76811b97b3dd044e4
-
+
https://github.com/dotnet/arcade
- b41381d5cd633471265e9cd72e933a7048e03062
+ e0e05154656254a735ebf19ffa5a37a8b915039b
-
+
https://github.com/dotnet/arcade
- b41381d5cd633471265e9cd72e933a7048e03062
+ e0e05154656254a735ebf19ffa5a37a8b915039b
-
+
https://github.com/dotnet/arcade
- b41381d5cd633471265e9cd72e933a7048e03062
+ e0e05154656254a735ebf19ffa5a37a8b915039b
-
+
https://github.com/dotnet/arcade
- b41381d5cd633471265e9cd72e933a7048e03062
+ e0e05154656254a735ebf19ffa5a37a8b915039b
-
+
https://github.com/dotnet/arcade
- b41381d5cd633471265e9cd72e933a7048e03062
+ e0e05154656254a735ebf19ffa5a37a8b915039b
-
+
https://github.com/dotnet/arcade
- b41381d5cd633471265e9cd72e933a7048e03062
+ e0e05154656254a735ebf19ffa5a37a8b915039b
https://github.com/dotnet/extensions
diff --git a/eng/Versions.props b/eng/Versions.props
index fa5a24d9991f..f75037c82b05 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -166,10 +166,10 @@
6.2.4
6.2.4
- 9.0.0-beta.24572.2
- 9.0.0-beta.24572.2
- 9.0.0-beta.24572.2
- 9.0.0-beta.24572.2
+ 9.0.0-beta.24623.3
+ 9.0.0-beta.24623.3
+ 9.0.0-beta.24623.3
+ 9.0.0-beta.24623.3
9.0.0-alpha.1.24575.1
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 9a4e285a5ae3..9a7ecfbd42c5 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -81,7 +81,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
else()
set(TOOLCHAIN "riscv64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0")
+ set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu")
endif()
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -98,7 +98,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
elseif(LINUX)
set(TOOLCHAIN "x86_64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "x86_64-unknown-freebsd12")
@@ -115,7 +115,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(TOOLCHAIN "i686-linux-gnu")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
endif()
else()
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
@@ -127,30 +127,25 @@ endif()
# Specify include paths
if(TIZEN)
- if(TARGET_ARCH_NAME STREQUAL "arm")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "armel")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "arm64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x86")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "riscv64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu)
+ function(find_toolchain_dir prefix)
+ # Dynamically find the version subdirectory
+ file(GLOB DIRECTORIES "${prefix}/*")
+ list(GET DIRECTORIES 0 FIRST_MATCH)
+ get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
+
+ set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE)
+ endfunction()
+
+ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ else()
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
endif()
+
+ message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
+
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++)
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN})
endif()
if(ANDROID)
@@ -272,21 +267,21 @@ endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64|riscv64)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -297,10 +292,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
endif()
add_toolchain_linker_flag(-m32)
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(ILLUMOS)
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index aa94fb174596..a46b6deb7598 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -320,7 +320,7 @@ function InstallDotNet([string] $dotnetRoot,
$variations += @($installParameters)
$dotnetBuilds = $installParameters.Clone()
- $dotnetbuilds.AzureFeed = "https://dotnetbuilds.azureedge.net/public"
+ $dotnetbuilds.AzureFeed = "https://ci.dot.net/public"
$variations += @($dotnetBuilds)
if ($runtimeSourceFeed) {
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 00473c9f918d..1159726a10fd 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -232,7 +232,7 @@ function InstallDotNet {
local public_location=("${installParameters[@]}")
variations+=(public_location)
- local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://dotnetbuilds.azureedge.net/public")
+ local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://ci.dot.net/public")
variations+=(dotnetbuilds)
if [[ -n "${6:-}" ]]; then
diff --git a/global.json b/global.json
index e4674ed713f8..1a62e6a0e420 100644
--- a/global.json
+++ b/global.json
@@ -27,7 +27,7 @@
"jdk": "11.0.24"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24572.2",
- "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24572.2"
+ "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24623.3",
+ "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24623.3"
}
}
From 3c5f863566ae36d1b274622f1c1626818c7bef47 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:27:46 -0800
Subject: [PATCH 006/181] [release/9.0] (deps): Bump src/submodules/googletest
(#59679)
Bumps [src/submodules/googletest](https://github.com/google/googletest) from `d144031` to `7d76a23`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](https://github.com/google/googletest/compare/d144031940543e15423a25ae5a8a74141044862f...7d76a231b0e29caf86e68d1df858308cd53b2a66)
---
updated-dependencies:
- dependency-name: src/submodules/googletest
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/submodules/googletest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/submodules/googletest b/src/submodules/googletest
index d14403194054..7d76a231b0e2 160000
--- a/src/submodules/googletest
+++ b/src/submodules/googletest
@@ -1 +1 @@
-Subproject commit d144031940543e15423a25ae5a8a74141044862f
+Subproject commit 7d76a231b0e29caf86e68d1df858308cd53b2a66
From f6d7536a4e890edf077fe01f01ee57e314c7c38b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:30:19 -0800
Subject: [PATCH 007/181] [release/9.0] Skip tests on internal queues too
(#59578)
* Skip tests on internal too
* StringComparison
---------
Co-authored-by: wtgodbe
---
src/Testing/src/xunit/SkipOnHelixAttribute.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/Testing/src/xunit/SkipOnHelixAttribute.cs b/src/Testing/src/xunit/SkipOnHelixAttribute.cs
index 38b376cb6808..2c7b66f75a67 100644
--- a/src/Testing/src/xunit/SkipOnHelixAttribute.cs
+++ b/src/Testing/src/xunit/SkipOnHelixAttribute.cs
@@ -66,7 +66,10 @@ private bool ShouldSkip()
return true;
}
- return Queues.ToLowerInvariant().Split(';').Contains(targetQueue);
+ // We have "QueueName" and "QueueName.Open" queues for internal and public builds
+ // If we want to skip the test in the public queue, we want to skip it in the internal queue, and vice versa
+ return Queues.ToLowerInvariant().Split(';').Any(q => q.Equals(targetQueue, StringComparison.Ordinal) || q.StartsWith(targetQueue, StringComparison.Ordinal) ||
+ targetQueue.StartsWith(q, StringComparison.Ordinal));
}
public static bool OnHelix() => HelixHelper.OnHelix();
From c7de78c9e4063fb33e2df9c161b74d99487d1e64 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:30:31 -0800
Subject: [PATCH 008/181] Fix loading dotnet user-jwts config (#59473)
Co-authored-by: Stephen Halter
---
.../src/JwtBearerConfigureOptions.cs | 2 +-
.../test/JwtBearerTests_Handler.cs | 8 ++++
src/Tools/Tools.slnf | 5 ++-
.../dotnet-user-jwts/test/UserJwtsTests.cs | 45 +++++++++++++++++--
.../test/dotnet-user-jwts.Tests.csproj | 6 +++
5 files changed, 59 insertions(+), 7 deletions(-)
diff --git a/src/Security/Authentication/JwtBearer/src/JwtBearerConfigureOptions.cs b/src/Security/Authentication/JwtBearer/src/JwtBearerConfigureOptions.cs
index 6ce4d6014bbb..1ec03cca626c 100644
--- a/src/Security/Authentication/JwtBearer/src/JwtBearerConfigureOptions.cs
+++ b/src/Security/Authentication/JwtBearer/src/JwtBearerConfigureOptions.cs
@@ -72,7 +72,7 @@ public void Configure(string? name, JwtBearerOptions options)
ValidAudiences = audiences,
ValidAudience = audience,
ValidateIssuerSigningKey = true,
- IssuerSigningKeys = GetIssuerSigningKeys(configSection, issuers),
+ IssuerSigningKeys = GetIssuerSigningKeys(configSection, [issuer, ..issuers]),
};
}
diff --git a/src/Security/Authentication/test/JwtBearerTests_Handler.cs b/src/Security/Authentication/test/JwtBearerTests_Handler.cs
index 1c24afe93cc0..dc5eb760a270 100644
--- a/src/Security/Authentication/test/JwtBearerTests_Handler.cs
+++ b/src/Security/Authentication/test/JwtBearerTests_Handler.cs
@@ -957,6 +957,7 @@ public async Task ExpirationAndIssuedWhenMinOrMaxValue()
public void CanReadJwtBearerOptionsFromConfig()
{
var services = new ServiceCollection();
+ var key = "qPG6tDtfxFYZifHW3sEueQ==";
var config = new ConfigurationBuilder().AddInMemoryCollection([
new("Authentication:Schemes:Bearer:ValidIssuer", "dotnet-user-jwts"),
new("Authentication:Schemes:Bearer:ValidIssuers:0", "dotnet-user-jwts-2"),
@@ -965,6 +966,9 @@ public void CanReadJwtBearerOptionsFromConfig()
new("Authentication:Schemes:Bearer:BackchannelTimeout", "00:01:00"),
new("Authentication:Schemes:Bearer:RequireHttpsMetadata", "false"),
new("Authentication:Schemes:Bearer:SaveToken", "True"),
+ new("Authentication:Schemes:Bearer:SigningKeys:0:Issuer", "dotnet-user-jwts"),
+ new("Authentication:Schemes:Bearer:SigningKeys:0:Value", key),
+ new("Authentication:Schemes:Bearer:SigningKeys:0:Length", "32"),
]).Build();
services.AddSingleton(config);
@@ -987,6 +991,10 @@ public void CanReadJwtBearerOptionsFromConfig()
Assert.True(jwtBearerOptions.MapInboundClaims);
Assert.True(jwtBearerOptions.TokenValidationParameters.ValidateIssuer);
Assert.True(jwtBearerOptions.TokenValidationParameters.ValidateAudience);
+
+ var securityKey = Assert.Single(jwtBearerOptions.TokenValidationParameters.IssuerSigningKeys);
+ var symmetricKey = Assert.IsType(securityKey);
+ Assert.Equal(key, Convert.ToBase64String(symmetricKey.Key));
}
[Fact]
diff --git a/src/Tools/Tools.slnf b/src/Tools/Tools.slnf
index 484313af8712..38dbc4a65ae9 100644
--- a/src/Tools/Tools.slnf
+++ b/src/Tools/Tools.slnf
@@ -29,6 +29,7 @@
"src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
"src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
"src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
+ "src\\Hosting\\TestHost\\src\\Microsoft.AspNetCore.TestHost.csproj",
"src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
"src\\Http\\Authentication.Abstractions\\src\\Microsoft.AspNetCore.Authentication.Abstractions.csproj",
"src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
@@ -109,9 +110,9 @@
"src\\Tools\\Extensions.ApiDescription.Server\\src\\Microsoft.Extensions.ApiDescription.Server.csproj",
"src\\Tools\\FirstRunCertGenerator\\src\\Microsoft.AspNetCore.DeveloperCertificates.XPlat.csproj",
"src\\Tools\\FirstRunCertGenerator\\test\\Microsoft.AspNetCore.DeveloperCertificates.XPlat.Tests.csproj",
+ "src\\Tools\\GetDocumentInsider\\sample\\GetDocumentSample.csproj",
"src\\Tools\\GetDocumentInsider\\src\\GetDocument.Insider.csproj",
"src\\Tools\\GetDocumentInsider\\tests\\GetDocumentInsider.Tests.csproj",
- "src\\Tools\\GetDocumentInsider\\sample\\GetDocumentSample.csproj",
"src\\Tools\\LinkabilityChecker\\LinkabilityChecker.csproj",
"src\\Tools\\Microsoft.dotnet-openapi\\src\\Microsoft.dotnet-openapi.csproj",
"src\\Tools\\Microsoft.dotnet-openapi\\test\\dotnet-microsoft.openapi.Tests.csproj",
@@ -125,4 +126,4 @@
"src\\WebEncoders\\src\\Microsoft.Extensions.WebEncoders.csproj"
]
}
-}
+}
\ No newline at end of file
diff --git a/src/Tools/dotnet-user-jwts/test/UserJwtsTests.cs b/src/Tools/dotnet-user-jwts/test/UserJwtsTests.cs
index 71cc2cdb7d10..801e414fe95e 100644
--- a/src/Tools/dotnet-user-jwts/test/UserJwtsTests.cs
+++ b/src/Tools/dotnet-user-jwts/test/UserJwtsTests.cs
@@ -1,14 +1,19 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System.IdentityModel.Tokens.Jwt;
+using System.Security.Claims;
+using System.Text.Json;
+using System.Text.Json.Nodes;
+using System.Text.RegularExpressions;
+using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.InternalTesting;
+using Microsoft.AspNetCore.TestHost;
+using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.UserSecrets;
+using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Tools.Internal;
using Xunit.Abstractions;
-using System.Text.RegularExpressions;
-using System.Text.Json;
-using System.Text.Json.Nodes;
-using System.IdentityModel.Tokens.Jwt;
namespace Microsoft.AspNetCore.Authentication.JwtBearer.Tools.Tests;
@@ -62,6 +67,38 @@ public void Create_WritesGeneratedTokenToDisk()
Assert.Contains("dotnet-user-jwts", File.ReadAllText(appsettings));
}
+ [Fact]
+ public async Task Create_TokenAcceptedByJwtBearerHandler()
+ {
+ var project = Path.Combine(fixture.CreateProject(), "TestProject.csproj");
+ var appsettings = Path.Combine(Path.GetDirectoryName(project), "appsettings.Development.json");
+ var secrets = PathHelper.GetSecretsPathFromSecretsId(fixture.TestSecretsId);
+ var app = new Program(_console);
+
+ app.Run(["create", "--project", project, "-o", "token"]);
+ var token = _console.GetOutput().Trim();
+
+ var builder = WebApplication.CreateEmptyBuilder(new());
+ builder.WebHost.UseTestServer();
+
+ builder.Configuration.AddJsonFile(appsettings);
+ builder.Configuration.AddJsonFile(secrets);
+
+ builder.Services.AddRouting();
+ builder.Services.AddAuthentication().AddJwtBearer();
+ builder.Services.AddAuthorization();
+
+ using var webApp = builder.Build();
+ webApp.MapGet("/secret", (ClaimsPrincipal user) => $"Hello {user.Identity?.Name}!")
+ .RequireAuthorization();
+
+ await webApp.StartAsync();
+
+ var client = webApp.GetTestClient();
+ client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");
+ Assert.Equal($"Hello {Environment.UserName}!", await client.GetStringAsync("/secret"));
+ }
+
[Fact]
public void Create_CanModifyExistingScheme()
{
diff --git a/src/Tools/dotnet-user-jwts/test/dotnet-user-jwts.Tests.csproj b/src/Tools/dotnet-user-jwts/test/dotnet-user-jwts.Tests.csproj
index 5ad17868a98a..b362c30d0611 100644
--- a/src/Tools/dotnet-user-jwts/test/dotnet-user-jwts.Tests.csproj
+++ b/src/Tools/dotnet-user-jwts/test/dotnet-user-jwts.Tests.csproj
@@ -14,4 +14,10 @@
+
+
+
+
+
+
From 1d1d5a759ce0b5ca2c8edfe3494ef6d772441136 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:30:56 -0800
Subject: [PATCH 009/181] Fix MultipartReaderStream synchronous read when using
buffer offset (#59422)
Co-authored-by: Brennan
---
.../WebUtilities/src/MultipartReaderStream.cs | 2 +-
.../WebUtilities/test/MultipartReaderTests.cs | 24 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/Http/WebUtilities/src/MultipartReaderStream.cs b/src/Http/WebUtilities/src/MultipartReaderStream.cs
index 208d1b38f0e0..9dd5ce6a76f8 100644
--- a/src/Http/WebUtilities/src/MultipartReaderStream.cs
+++ b/src/Http/WebUtilities/src/MultipartReaderStream.cs
@@ -174,7 +174,7 @@ public override int Read(byte[] buffer, int offset, int count)
if (index != 0)
{
// Sync, it's already buffered
- var slice = buffer.AsSpan(0, Math.Min(buffer.Length, index));
+ var slice = buffer.AsSpan(offset, Math.Min(count, index));
var readAmount = _innerStream.Read(slice);
return UpdatePosition(readAmount);
diff --git a/src/Http/WebUtilities/test/MultipartReaderTests.cs b/src/Http/WebUtilities/test/MultipartReaderTests.cs
index 8231ec472bc0..bc442b567dc0 100644
--- a/src/Http/WebUtilities/test/MultipartReaderTests.cs
+++ b/src/Http/WebUtilities/test/MultipartReaderTests.cs
@@ -389,4 +389,28 @@ public async Task MultipartReader_StripQuotesFromBoundary()
var section = await reader.ReadNextSectionAsync();
Assert.NotNull(section);
}
+
+ [Fact]
+ public async Task SyncReadWithOffsetWorks()
+ {
+ var stream = MakeStream(OnePartBody);
+ var reader = new MultipartReader(Boundary, stream);
+ var buffer = new byte[5];
+
+ var section = await reader.ReadNextSectionAsync();
+ Assert.NotNull(section);
+ Assert.Single(section.Headers);
+ Assert.Equal("form-data; name=\"text\"", section.Headers["Content-Disposition"][0]);
+
+ var read = section.Body.Read(buffer, 2, buffer.Length - 2);
+ Assert.Equal("\0\0tex", GetString(buffer, read + 2));
+
+ read = section.Body.Read(buffer, 1, buffer.Length - 1);
+ Assert.Equal("\0t de", GetString(buffer, read + 1));
+
+ read = section.Body.Read(buffer, 0, buffer.Length);
+ Assert.Equal("fault", GetString(buffer, read));
+
+ Assert.Null(await reader.ReadNextSectionAsync());
+ }
}
From 645fcac2fe920e297dfa95e07e42c816ac0ef167 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 14:31:11 -0800
Subject: [PATCH 010/181] Update dependencies from
https://github.com/dotnet/xdt build 20241209.2 (#59419)
Microsoft.SourceBuild.Intermediate.xdt , Microsoft.Web.Xdt
From Version 9.0.0-preview.24522.2 -> To Version 10.0.0-preview.24609.2
Co-authored-by: dotnet-maestro[bot]
---
eng/Version.Details.xml | 8 ++++----
eng/Versions.props | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index a2926f3676d6..413ac42d9a63 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -329,14 +329,14 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
9d5a6a9aa463d6d10b0b0ba6d5982cc82f363dc3
-
+
https://github.com/dotnet/xdt
- 1a54480f52703fb45fac2a6b955247d33758383e
+ 63ae81154c50a1cf9287cc47d8351d55b4289e6d
-
+
https://github.com/dotnet/xdt
- 1a54480f52703fb45fac2a6b955247d33758383e
+ 63ae81154c50a1cf9287cc47d8351d55b4289e6d
diff --git a/eng/Versions.props b/eng/Versions.props
index f75037c82b05..148beee957a4 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -179,8 +179,8 @@
9.0.0-rtm.24512.2
- 9.0.0-preview.24522.2
- 9.0.0-preview.24522.2
+ 10.0.0-preview.24609.2
+ 10.0.0-preview.24609.2
- 9.1.0-preview.1.24611.2
- 9.1.0-preview.1.24611.2
+ 9.1.0-preview.1.25056.1
+ 9.1.0-preview.1.25056.1
9.0.0
9.0.0
From c7529f929107a9a3209a6b7bca1a11c157870379 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 7 Jan 2025 16:01:13 -0800
Subject: [PATCH 012/181] [release/9.0] Fix Kestrel host header mismatch
handling when port in Url (#59362)
* Fix Kestrel host header mismatch handling when port in Url
* avoid some allocs
---------
Co-authored-by: Brennan
---
.../Core/src/Internal/Http/Http1Connection.cs | 15 +++++++++++----
.../Kestrel/shared/test/HttpParsingData.cs | 7 ++++++-
.../BadHttpRequestTests.cs | 13 ++++++++-----
3 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
index b8714d601f9c..178007ec06ac 100644
--- a/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
@@ -3,7 +3,6 @@
using System.Buffers;
using System.Diagnostics;
-using System.Globalization;
using System.IO.Pipelines;
using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Connections.Features;
@@ -644,16 +643,24 @@ private void ValidateNonOriginHostHeader(string hostText)
// authority component, excluding any userinfo subcomponent and its "@"
// delimiter.
+ // Accessing authority always allocates, store it in a local to only allocate once
+ var authority = _absoluteRequestTarget!.Authority;
+
// System.Uri doesn't not tell us if the port was in the original string or not.
// When IsDefaultPort = true, we will allow Host: with or without the default port
- if (hostText != _absoluteRequestTarget!.Authority)
+ if (hostText != authority)
{
if (!_absoluteRequestTarget.IsDefaultPort
- || hostText != _absoluteRequestTarget.Authority + ":" + _absoluteRequestTarget.Port.ToString(CultureInfo.InvariantCulture))
+ || hostText != $"{authority}:{_absoluteRequestTarget.Port}")
{
if (_context.ServiceContext.ServerOptions.AllowHostHeaderOverride)
{
- hostText = _absoluteRequestTarget.Authority + ":" + _absoluteRequestTarget.Port.ToString(CultureInfo.InvariantCulture);
+ // No need to include the port here, it's either already in the Authority
+ // or it's the default port
+ // see: https://datatracker.ietf.org/doc/html/rfc2616/#section-14.23
+ // A "host" without any trailing port information implies the default
+ // port for the service requested (e.g., "80" for an HTTP URL).
+ hostText = authority;
HttpRequestHeaders.HeaderHost = hostText;
}
else
diff --git a/src/Servers/Kestrel/shared/test/HttpParsingData.cs b/src/Servers/Kestrel/shared/test/HttpParsingData.cs
index 6b240e18b5c8..a301e27e3877 100644
--- a/src/Servers/Kestrel/shared/test/HttpParsingData.cs
+++ b/src/Servers/Kestrel/shared/test/HttpParsingData.cs
@@ -497,8 +497,10 @@ public static TheoryData HostHeaderData
{ "GET /pub/WWW/", "www.example.org" },
{ "GET http://localhost/", "localhost" },
{ "GET http://localhost:80/", "localhost:80" },
+ { "GET http://localhost:80/", "localhost" },
{ "GET https://localhost/", "localhost" },
{ "GET https://localhost:443/", "localhost:443" },
+ { "GET https://localhost:443/", "localhost" },
{ "CONNECT asp.net:80", "asp.net:80" },
{ "CONNECT asp.net:443", "asp.net:443" },
{ "CONNECT user-images.githubusercontent.com:443", "user-images.githubusercontent.com:443" },
@@ -534,10 +536,13 @@ public static TheoryData HostHeaderInvalidData
data.Add("CONNECT contoso.com", host);
}
- // port mismatch when target contains port
+ // port mismatch when target contains default https port
data.Add("GET https://contoso.com:443/", "contoso.com:5000");
data.Add("CONNECT contoso.com:443", "contoso.com:5000");
+ // port mismatch when target contains default http port
+ data.Add("GET http://contoso.com:80/", "contoso.com:5000");
+
return data;
}
}
diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/BadHttpRequestTests.cs b/src/Servers/Kestrel/test/InMemory.FunctionalTests/BadHttpRequestTests.cs
index d7076dacfd4c..af9d93aea3d6 100644
--- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/BadHttpRequestTests.cs
+++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/BadHttpRequestTests.cs
@@ -153,9 +153,12 @@ public Task BadRequestIfHostHeaderDoesNotMatchRequestTarget(string requestTarget
}
[Theory]
- [InlineData("Host: www.foo.comConnection: keep-alive")] // Corrupted - missing line-break
- [InlineData("Host: www.notfoo.com")] // Syntactically correct but not matching
- public async Task CanOptOutOfBadRequestIfHostHeaderDoesNotMatchRequestTarget(string hostHeader)
+ [InlineData("http://www.foo.com", "Host: www.foo.comConnection: keep-alive", "www.foo.com")] // Corrupted - missing line-break
+ [InlineData("http://www.foo.com/", "Host: www.notfoo.com", "www.foo.com")] // Syntactically correct but not matching
+ [InlineData("http://www.foo.com:80", "Host: www.notfoo.com", "www.foo.com")] // Explicit default port in request string
+ [InlineData("http://www.foo.com:5129", "Host: www.foo.com", "www.foo.com:5129")] // Non-default port in request string
+ [InlineData("http://www.foo.com:5129", "Host: www.foo.com:5128", "www.foo.com:5129")] // Different port in host header
+ public async Task CanOptOutOfBadRequestIfHostHeaderDoesNotMatchRequestTarget(string requestString, string hostHeader, string expectedHost)
{
var testMeterFactory = new TestMeterFactory();
using var connectionDuration = new MetricCollector(testMeterFactory, "Microsoft.AspNetCore.Server.Kestrel", "kestrel.connection.duration");
@@ -175,13 +178,13 @@ public async Task CanOptOutOfBadRequestIfHostHeaderDoesNotMatchRequestTarget(str
{
using (var client = server.CreateConnection())
{
- await client.SendAll($"GET http://www.foo.com/api/data HTTP/1.1\r\n{hostHeader}\r\n\r\n");
+ await client.SendAll($"GET {requestString} HTTP/1.1\r\n{hostHeader}\r\n\r\n");
await client.Receive("HTTP/1.1 200 OK");
}
}
- Assert.Equal("www.foo.com:80", receivedHost);
+ Assert.Equal(expectedHost, receivedHost);
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.NoError(m.Tags));
}
From c1578028f712c65b694df7d372404646ad71fef5 Mon Sep 17 00:00:00 2001
From: v-firzha <44628218+v-firzha@users.noreply.github.com>
Date: Wed, 8 Jan 2025 09:44:29 +0800
Subject: [PATCH 013/181] Migrate off of Fedora 38 (#59613)
* Remove redundant SourceBuildTrimNetFrameworkTargets property
* Remove redundant SourceBuildTrimNetFrameworkTargets property
---
eng/targets/Helix.Common.props | 4 ++--
eng/targets/Helix.targets | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index a6d7b8a81f44..326cbab27103 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -4,7 +4,7 @@
(AlmaLinux.8.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-helix-amd64
(Alpine.318.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.18-helix-amd64
(Debian.12.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64
- (Fedora.38.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38-helix
+ (Fedora.40.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-40-helix
(Mariner)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-helix-amd64
(Debian.12.Arm64.Open)ubuntu.2204.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm64v8
@@ -44,7 +44,7 @@
-
+
diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets
index 43bf0cb7f7f1..70e01877befa 100644
--- a/eng/targets/Helix.targets
+++ b/eng/targets/Helix.targets
@@ -19,7 +19,7 @@
$(HelixQueueAlmaLinux8);
$(HelixQueueAlpine318);
$(HelixQueueDebian12);
- $(HelixQueueFedora38);
+ $(HelixQueueFedora40);
$(HelixQueueMariner);
Ubuntu.2004.Amd64.Open;
From 0df936630460a42f45c30e06fbbb9b52b73383b9 Mon Sep 17 00:00:00 2001
From: Mackinnon Buck
Date: Thu, 9 Jan 2025 15:51:10 -0800
Subject: [PATCH 014/181] Don't cache index.html during development (#59340)
(#59348)
---
.../WebAssembly/DevServer/src/Server/Startup.cs | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/Components/WebAssembly/DevServer/src/Server/Startup.cs b/src/Components/WebAssembly/DevServer/src/Server/Startup.cs
index 046031a29f79..a9870bf688fb 100644
--- a/src/Components/WebAssembly/DevServer/src/Server/Startup.cs
+++ b/src/Components/WebAssembly/DevServer/src/Server/Startup.cs
@@ -6,6 +6,7 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Components.WebAssembly.DevServer.Server;
@@ -69,6 +70,14 @@ public static void Configure(IApplicationBuilder app, IConfiguration configurati
{
OnPrepareResponse = fileContext =>
{
+ // Avoid caching index.html during development.
+ // When hot reload is enabled, a middleware injects a hot reload script into the response HTML.
+ // We don't want the browser to bypass this injection by using a cached response that doesn't
+ // contain the injected script. In the future, if script injection is removed in favor of a
+ // different mechanism, we can delete this comment and the line below it.
+ // See also: https://github.com/dotnet/aspnetcore/issues/45213
+ fileContext.Context.Response.Headers[HeaderNames.CacheControl] = "no-store";
+
if (applyCopHeaders)
{
// Browser multi-threaded runtime requires cross-origin policy headers to enable SharedArrayBuffer.
From 05c5f81fde895f8c81d7cb2a5a57a377218dd493 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 10 Jan 2025 12:02:46 -0800
Subject: [PATCH 015/181] Update to Fedora 41 (#59816)
Supposedly Fedora 40 images never existed for helix...
Co-authored-by: Brennan
---
eng/targets/Helix.Common.props | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index 326cbab27103..ea3801bb8226 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -4,7 +4,7 @@
(AlmaLinux.8.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-helix-amd64
(Alpine.318.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.18-helix-amd64
(Debian.12.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-amd64
- (Fedora.40.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-40-helix
+ (Fedora.41.Amd64.Open)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-41-helix
(Mariner)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-helix-amd64
(Debian.12.Arm64.Open)ubuntu.2204.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm64v8
@@ -44,7 +44,7 @@
-
+
From 8e6dbc63bc12eb8e53c377ebf65a580f9a7f5202 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 10 Jan 2025 13:23:52 -0800
Subject: [PATCH 016/181] [release/9.0] Don't throw exception for parameters
with custom binding source (#59533)
* Don't through exception for parameters with custom binding source
* Default to ParameterLocation.Query for ambiguous source
---------
Co-authored-by: Safia Abdalla
---
.../src/Services/OpenApiDocumentService.cs | 2 +-
.../OpenApiDocumentServiceTests.Parameters.cs | 26 +++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/src/OpenApi/src/Services/OpenApiDocumentService.cs b/src/OpenApi/src/Services/OpenApiDocumentService.cs
index a9a7ecf6a1a6..5d678e67c8c7 100644
--- a/src/OpenApi/src/Services/OpenApiDocumentService.cs
+++ b/src/OpenApi/src/Services/OpenApiDocumentService.cs
@@ -411,7 +411,7 @@ private async Task GetResponseAsync(
"Query" => ParameterLocation.Query,
"Header" => ParameterLocation.Header,
"Path" => ParameterLocation.Path,
- _ => throw new InvalidOperationException($"Unsupported parameter source: {parameter.Source.Id}")
+ _ => ParameterLocation.Query
},
Required = IsRequired(parameter),
Schema = await _componentService.GetOrCreateSchemaAsync(GetTargetType(description, parameter), scopedServiceProvider, schemaTransformers, parameter, cancellationToken: cancellationToken),
diff --git a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Parameters.cs b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Parameters.cs
index 10c65ae2787f..999283022706 100644
--- a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Parameters.cs
+++ b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Parameters.cs
@@ -4,6 +4,7 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.OpenApi.Models;
public partial class OpenApiDocumentServiceTests : OpenApiDocumentServiceTestBase
@@ -190,4 +191,29 @@ await VerifyOpenApiDocument(builder, document =>
Assert.Null(document.Paths["/api/content-type-lower"].Operations[OperationType.Get].Parameters);
});
}
+
+ [Fact]
+ public async Task GetOpenApiParameters_ToleratesCustomBindingSource()
+ {
+ var action = CreateActionDescriptor(nameof(ActionWithCustomBinder));
+
+ await VerifyOpenApiDocument(action, document =>
+ {
+ var operation = document.Paths["/custom-binding"].Operations[OperationType.Get];
+ var parameter = Assert.Single(operation.Parameters);
+ Assert.Equal("model", parameter.Name);
+ Assert.Equal(ParameterLocation.Query, parameter.In);
+ });
+ }
+
+ [Route("/custom-binding")]
+ private void ActionWithCustomBinder([ModelBinder(BinderType = typeof(CustomBinder))] Todo model) { }
+
+ public class CustomBinder : IModelBinder
+ {
+ public Task BindModelAsync(ModelBindingContext bindingContext)
+ {
+ return Task.CompletedTask;
+ }
+ }
}
From 6238e5d6f9d75992ccc95a220fd6d293c3f19187 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 10 Jan 2025 13:24:04 -0800
Subject: [PATCH 017/181] Apply schema transformer to AdditionalProperties
(#59730)
Co-authored-by: Jelle Teeuwissen
---
src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs | 8 +++++++-
.../Transformers/SchemaTransformerTests.cs | 9 ++++++++-
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs b/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs
index d7ea158b919a..90d818bc38d9 100644
--- a/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs
+++ b/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs
@@ -212,7 +212,13 @@ private async Task InnerApplySchemaTransformersAsync(OpenApiSchema schema,
}
}
}
- }
+
+ if (schema is { AdditionalPropertiesAllowed: true, AdditionalProperties: not null } && jsonTypeInfo.ElementType is not null)
+ {
+ var elementTypeInfo = _jsonSerializerOptions.GetTypeInfo(jsonTypeInfo.ElementType);
+ await InnerApplySchemaTransformersAsync(schema.AdditionalProperties, elementTypeInfo, null, context, transformer, cancellationToken);
+ }
+ }
private JsonNode CreateSchema(OpenApiSchemaKey key)
=> JsonSchemaExporter.GetJsonSchemaAsNode(_jsonSerializerOptions, key.Type, _configuration);
diff --git a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/SchemaTransformerTests.cs b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/SchemaTransformerTests.cs
index 5d20c810d6fa..565c3a2b48b1 100644
--- a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/SchemaTransformerTests.cs
+++ b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/SchemaTransformerTests.cs
@@ -444,6 +444,7 @@ public async Task SchemaTransformer_CanModifyItemTypesInADocument()
builder.MapGet("/list", () => new List { 1, 2, 3, 4 });
builder.MapGet("/single", () => 1);
+ builder.MapGet("/dictionary", () => new Dictionary {{ "key", 1 }});
var options = new OpenApiOptions();
options.AddSchemaTransformer((schema, context, cancellationToken) =>
@@ -469,7 +470,13 @@ await VerifyOpenApiDocument(builder, options, document =>
getOperation = path.Operations[OperationType.Get];
responseSchema = getOperation.Responses["200"].Content["application/json"].Schema.GetEffective(document);
Assert.Equal("modified-number-format", responseSchema.Format);
- });
+
+ // Assert that the schema represent dictionary values has been modified
+ path = document.Paths["/dictionary"];
+ getOperation = path.Operations[OperationType.Get];
+ responseSchema = getOperation.Responses["200"].Content["application/json"].Schema.GetEffective(document);
+ Assert.Equal("modified-number-format", responseSchema.AdditionalProperties.Format);
+ });
}
[Fact]
From b439f9bd782f2889978471480da21de1bcaabbf1 Mon Sep 17 00:00:00 2001
From: Safia Abdalla
Date: Fri, 10 Jan 2025 13:24:18 -0800
Subject: [PATCH 018/181] [release/9.0] Harden schema reference transformer for
relative references (#59779)
* Harden schema reference transformer for relative references (#59763)
* Harden schema reference transformer for relative references
* Apply suggestions from code review
Co-authored-by: Brennan
* Remove uneeded setting
* One more cleanup
* Check for top-level schemas in tests
---------
Co-authored-by: Brennan
* Update src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/Implementations/OpenApiSchemaReferenceTransformerTests.cs
---------
Co-authored-by: Brennan
---
.../src/Comparers/OpenApiSchemaComparer.cs | 9 ++
.../Services/Schemas/OpenApiSchemaService.cs | 4 +-
.../OpenApiSchemaReferenceTransformerTests.cs | 122 ++++++++++++++++++
3 files changed, 133 insertions(+), 2 deletions(-)
diff --git a/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs b/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs
index 0591035d2f47..2e69b10f213f 100644
--- a/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs
+++ b/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs
@@ -24,6 +24,15 @@ public bool Equals(OpenApiSchema? x, OpenApiSchema? y)
return true;
}
+ // If a local reference is present, we can't compare the schema directly
+ // and should instead use the schema ID as a type-check to assert if the schemas are
+ // equivalent.
+ if ((x.Reference != null && y.Reference == null)
+ || (x.Reference == null && y.Reference != null))
+ {
+ return SchemaIdEquals(x, y);
+ }
+
// Compare property equality in an order that should help us find inequality faster
return
x.Type == y.Type &&
diff --git a/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs b/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs
index 90d818bc38d9..537eb5d5db72 100644
--- a/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs
+++ b/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs
@@ -32,7 +32,7 @@ internal sealed class OpenApiSchemaService(
IOptionsMonitor optionsMonitor)
{
private readonly OpenApiSchemaStore _schemaStore = serviceProvider.GetRequiredKeyedService(documentName);
- private readonly OpenApiJsonSchemaContext _jsonSchemaContext = new OpenApiJsonSchemaContext(new(jsonOptions.Value.SerializerOptions));
+ private readonly OpenApiJsonSchemaContext _jsonSchemaContext = new(new(jsonOptions.Value.SerializerOptions));
private readonly JsonSerializerOptions _jsonSerializerOptions = new(jsonOptions.Value.SerializerOptions)
{
// In order to properly handle the `RequiredAttribute` on type properties, add a modifier to support
@@ -102,7 +102,7 @@ internal sealed class OpenApiSchemaService(
// "nested": "#/properties/nested" becomes "nested": "#/components/schemas/NestedType"
if (jsonPropertyInfo.PropertyType == jsonPropertyInfo.DeclaringType)
{
- return new JsonObject { [OpenApiSchemaKeywords.RefKeyword] = context.TypeInfo.GetSchemaReferenceId() };
+ return new JsonObject { [OpenApiSchemaKeywords.RefKeyword] = createSchemaReferenceId(context.TypeInfo) };
}
schema.ApplyNullabilityContextInfo(jsonPropertyInfo);
}
diff --git a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/Implementations/OpenApiSchemaReferenceTransformerTests.cs b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/Implementations/OpenApiSchemaReferenceTransformerTests.cs
index 4d16ff51d4e7..7209715e3516 100644
--- a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/Implementations/OpenApiSchemaReferenceTransformerTests.cs
+++ b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Transformers/Implementations/OpenApiSchemaReferenceTransformerTests.cs
@@ -477,4 +477,126 @@ await VerifyOpenApiDocument(builder, options, document =>
Assert.Equal(ReferenceType.Link, responseSchema.Reference.Type);
});
}
+
+ [Fact]
+ public async Task SupportsNestedSchemasWithSelfReference()
+ {
+ // Arrange
+ var builder = CreateBuilder();
+
+ builder.MapPost("/", (LocationContainer item) => { });
+
+ await VerifyOpenApiDocument(builder, document =>
+ {
+ var operation = document.Paths["/"].Operations[OperationType.Post];
+ var requestSchema = operation.RequestBody.Content["application/json"].Schema;
+
+ // Assert $ref used for top-level
+ Assert.Equal("LocationContainer", requestSchema.Reference.Id);
+
+ // Assert that $ref is used for nested LocationDto
+ var locationContainerSchema = requestSchema.GetEffective(document);
+ Assert.Equal("LocationDto", locationContainerSchema.Properties["location"].Reference.Id);
+
+ // Assert that $ref is used for nested AddressDto
+ var locationSchema = locationContainerSchema.Properties["location"].GetEffective(document);
+ Assert.Equal("AddressDto", locationSchema.Properties["address"].Reference.Id);
+
+ // Assert that $ref is used for related LocationDto
+ var addressSchema = locationSchema.Properties["address"].GetEffective(document);
+ Assert.Equal("LocationDto", addressSchema.Properties["relatedLocation"].Reference.Id);
+ });
+ }
+
+ [Fact]
+ public async Task SupportsListNestedSchemasWithSelfReference()
+ {
+ // Arrange
+ var builder = CreateBuilder();
+
+ builder.MapPost("/", (ParentObject item) => { });
+
+ await VerifyOpenApiDocument(builder, document =>
+ {
+ var operation = document.Paths["/"].Operations[OperationType.Post];
+ var requestSchema = operation.RequestBody.Content["application/json"].Schema;
+
+ // Assert $ref used for top-level
+ Assert.Equal("ParentObject", requestSchema.Reference.Id);
+
+ // Assert that $ref is used for nested Children
+ var parentSchema = requestSchema.GetEffective(document);
+ Assert.Equal("ChildObject", parentSchema.Properties["children"].Items.Reference.Id);
+
+ // Assert that $ref is used for nested Parent
+ var childSchema = parentSchema.Properties["children"].Items.GetEffective(document);
+ Assert.Equal("ParentObject", childSchema.Properties["parent"].Reference.Id);
+ });
+ }
+
+ [Fact]
+ public async Task SupportsMultiplePropertiesWithSameType()
+ {
+ // Arrange
+ var builder = CreateBuilder();
+
+ builder.MapPost("/", (Root item) => { });
+
+ await VerifyOpenApiDocument(builder, document =>
+ {
+ var operation = document.Paths["/"].Operations[OperationType.Post];
+ var requestSchema = operation.RequestBody.Content["application/json"].Schema;
+
+ // Assert $ref used for top-level
+ Assert.Equal("Root", requestSchema.Reference.Id);
+
+ // Assert that $ref is used for nested Item1
+ var rootSchema = requestSchema.GetEffective(document);
+ Assert.Equal("Item", rootSchema.Properties["item1"].Reference.Id);
+
+ // Assert that $ref is used for nested Item2
+ Assert.Equal("Item", rootSchema.Properties["item2"].Reference.Id);
+ });
+ }
+
+ private class Root
+ {
+ public Item Item1 { get; set; } = null!;
+ public Item Item2 { get; set; } = null!;
+ }
+
+ private class Item
+ {
+ public string[] Name { get; set; } = null!;
+ public int value { get; set; }
+ }
+
+ private class LocationContainer
+ {
+ public LocationDto Location { get; set; }
+ }
+
+ private class LocationDto
+ {
+ public AddressDto Address { get; set; }
+ }
+
+ private class AddressDto
+ {
+ public LocationDto RelatedLocation { get; set; }
+ }
+
+#nullable enable
+ private class ParentObject
+ {
+ public int Id { get; set; }
+ public List Children { get; set; } = [];
+ }
+
+ private class ChildObject
+ {
+ public int Id { get; set; }
+ public required ParentObject Parent { get; set; }
+ }
}
+#nullable restore
From 7d10ee96928d1169c1f2035baefa5666496b82b8 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Mon, 13 Jan 2025 09:04:08 -0800
Subject: [PATCH 019/181] Update dependencies from
https://github.com/dotnet/extensions build 20250110.3 (#59847)
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.25056.1 -> To Version 9.1.0-preview.1.25060.3
Co-authored-by: dotnet-maestro[bot]
---
eng/Version.Details.xml | 8 ++++----
eng/Versions.props | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index fa38320fd64c..1715a024c5c7 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,13 +414,13 @@
https://github.com/dotnet/arcade
e0e05154656254a735ebf19ffa5a37a8b915039b
-
+
https://github.com/dotnet/extensions
- dbb12c368fab1914e847c6b07f020c1c116dc429
+ 309f2b7f73a28ffd75dac15434d160e5bd765384
-
+
https://github.com/dotnet/extensions
- dbb12c368fab1914e847c6b07f020c1c116dc429
+ 309f2b7f73a28ffd75dac15434d160e5bd765384
https://github.com/nuget/nuget.client
diff --git a/eng/Versions.props b/eng/Versions.props
index 9a3eb69bd0cb..036e9a483f5a 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -143,8 +143,8 @@
9.0.0
9.0.0
- 9.1.0-preview.1.25056.1
- 9.1.0-preview.1.25056.1
+ 9.1.0-preview.1.25060.3
+ 9.1.0-preview.1.25060.3
9.0.0
9.0.0
From 74fecc30f27aa79191ab7cfa417b422397f6ad23 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Mon, 13 Jan 2025 10:39:30 -0800
Subject: [PATCH 020/181] Update dependencies from
https://github.com/dotnet/arcade build 20250108.5 (#59848)
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor
From Version 9.0.0-beta.24623.3 -> To Version 9.0.0-beta.25058.5
Co-authored-by: dotnet-maestro[bot]
---
eng/Version.Details.xml | 24 ++++++++++++------------
eng/Versions.props | 8 ++++----
global.json | 4 ++--
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 1715a024c5c7..e3087524c0e7 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -388,31 +388,31 @@
https://github.com/dotnet/winforms
9b822fd70005bf5632d12fe76811b97b3dd044e4
-
+
https://github.com/dotnet/arcade
- e0e05154656254a735ebf19ffa5a37a8b915039b
+ 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
-
+
https://github.com/dotnet/arcade
- e0e05154656254a735ebf19ffa5a37a8b915039b
+ 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
-
+
https://github.com/dotnet/arcade
- e0e05154656254a735ebf19ffa5a37a8b915039b
+ 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
-
+
https://github.com/dotnet/arcade
- e0e05154656254a735ebf19ffa5a37a8b915039b
+ 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
-
+
https://github.com/dotnet/arcade
- e0e05154656254a735ebf19ffa5a37a8b915039b
+ 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
-
+
https://github.com/dotnet/arcade
- e0e05154656254a735ebf19ffa5a37a8b915039b
+ 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
https://github.com/dotnet/extensions
diff --git a/eng/Versions.props b/eng/Versions.props
index 036e9a483f5a..7b2360e59faa 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -166,10 +166,10 @@
6.2.4
6.2.4
- 9.0.0-beta.24623.3
- 9.0.0-beta.24623.3
- 9.0.0-beta.24623.3
- 9.0.0-beta.24623.3
+ 9.0.0-beta.25058.5
+ 9.0.0-beta.25058.5
+ 9.0.0-beta.25058.5
+ 9.0.0-beta.25058.5
9.0.0-alpha.1.24575.1
diff --git a/global.json b/global.json
index 1a62e6a0e420..bc7551bdac36 100644
--- a/global.json
+++ b/global.json
@@ -27,7 +27,7 @@
"jdk": "11.0.24"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24623.3",
- "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.24623.3"
+ "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25058.5",
+ "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25058.5"
}
}
From 7128f3eb89703752b89b7852b1b426fbb73cf225 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 14 Jan 2025 13:04:41 -0800
Subject: [PATCH 021/181] [release/9.0] Return 206 Partial Content on Valid
Range for Static Assets (#59325)
* Return 206 Partial Content on Valid Range for Static Assets
* Assert content length is correct
---------
Co-authored-by: Justin Perez
---
src/StaticAssets/src/StaticAssetsInvoker.cs | 2 +-
.../test/StaticAssetsIntegrationTests.cs | 27 +++++++++++++++++++
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/StaticAssets/src/StaticAssetsInvoker.cs b/src/StaticAssets/src/StaticAssetsInvoker.cs
index 1d21cc2929ec..c7555c901b93 100644
--- a/src/StaticAssets/src/StaticAssetsInvoker.cs
+++ b/src/StaticAssets/src/StaticAssetsInvoker.cs
@@ -223,7 +223,7 @@ private async Task SendRangeAsync(StaticAssetInvocationContext requestContext, R
if (requestContext.Response.StatusCode == StatusCodes.Status200OK)
{
- requestContext.Response.StatusCode = StatusCodes.Status416RangeNotSatisfiable;
+ requestContext.Response.StatusCode = StatusCodes.Status206PartialContent;
}
await ApplyResponseHeadersAsync(requestContext, StatusCodes.Status206PartialContent);
diff --git a/src/StaticAssets/test/StaticAssetsIntegrationTests.cs b/src/StaticAssets/test/StaticAssetsIntegrationTests.cs
index 541a468a15a2..fda161ea055a 100644
--- a/src/StaticAssets/test/StaticAssetsIntegrationTests.cs
+++ b/src/StaticAssets/test/StaticAssetsIntegrationTests.cs
@@ -989,6 +989,33 @@ public async Task IfUnmodifiedSinceDateLessThanLastModifiedShouldReturn412(HttpM
Assert.Equal(HttpStatusCode.PreconditionFailed, res2.StatusCode);
}
+ // 14.35.2 Range Retrieval Requests
+ // The presence of a Range header in an unconditional GET modifies
+ // what is returned if the GET is otherwise successful. In other
+ // words, the response carries a status code of 206 (Partial
+ // Content) instead of 200 (OK).
+ [Fact]
+ public async Task RangeGivesMatchingRange()
+ {
+ var client = await CreateClient();
+
+ var req1 = new HttpRequestMessage(HttpMethod.Get, "http://localhost/sample.txt");
+ req1.Headers.Range = new RangeHeaderValue(0, 4);
+ var res1 = await client.SendAsync(req1);
+
+ var req2 = new HttpRequestMessage(HttpMethod.Get, "http://localhost/sample.txt");
+ req2.Headers.Range = new RangeHeaderValue(7, 11);
+ var res2 = await client.SendAsync(req2);
+
+ Assert.Equal(HttpStatusCode.PartialContent, res1.StatusCode);
+ Assert.Equal("Hello", await res1.Content.ReadAsStringAsync());
+ Assert.Equal(5, res1.Content.Headers.ContentLength);
+
+ Assert.Equal(HttpStatusCode.PartialContent, res2.StatusCode);
+ Assert.Equal("World", await res2.Content.ReadAsStringAsync());
+ Assert.Equal(5, res2.Content.Headers.ContentLength);
+ }
+
public static IEnumerable
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
https://github.com/dotnet/xdt
@@ -367,9 +367,9 @@
bc1c3011064a493b0ca527df6fb7215e2e5cfa96
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
@@ -380,9 +380,9 @@
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- c8acea22626efab11c13778c028975acdc34678f
+ 80aa709f5d919c6814726788dc6dabe23e79e672
https://github.com/dotnet/winforms
diff --git a/eng/Versions.props b/eng/Versions.props
index 1c84ba570b05..185f76392187 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -68,80 +68,80 @@
-->
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1-servicing.24610.10
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1-servicing.24610.10
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1-servicing.24610.10
- 9.0.1-servicing.24610.10
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2-servicing.25066.10
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2-servicing.25066.10
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2-servicing.25066.10
+ 9.0.2-servicing.25066.10
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
- 9.0.1-servicing.24610.10
- 9.0.1
+ 9.0.2-servicing.25066.10
+ 9.0.2
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
9.1.0-preview.1.25060.3
9.1.0-preview.1.25060.3
From 704f7cb1d2cea33afb00c2097731216f121c2c73 Mon Sep 17 00:00:00 2001
From: ProductConstructionServiceProd
Date: Fri, 17 Jan 2025 19:44:10 +0000
Subject: [PATCH 024/181] Merged PR 46855: [internal/release/9.0] Update
dependencies from dnceng/internal/dotnet-efcore
This pull request updates the following dependencies
[marker]: <> (Begin:67a6df8f-40a9-4218-839a-e336f1bd1d79)
## From https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- **Subscription**: 67a6df8f-40a9-4218-839a-e336f1bd1d79
- **Build**: 20250117.1
- **Date Produced**: January 17, 2025 7:11:23 PM UTC
- **Commit**: 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
- **Branch**: refs/heads/internal/release/9.0
[DependencyUpdate]: <> (Begin)
- **Updates**:
- **dotnet-ef**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore.Design**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore.InMemory**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore.Relational**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore.Sqlite**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore.SqlServer**: [from 9.0.1 to 9.0.2][1]
- **Microsoft.EntityFrameworkCore.Tools**: [from 9.0.1 to 9.0.2][1]
[1]: https://dev.azure.com/dnceng/internal/_git/dotnet-efcore/branches?baseVersion=GC480480b57cd6e43fe5cab1b552ac0ef917bf3fe8&targetVersion=GC7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e&_a=files
[DependencyUpdate]: <> (End)
[marker]: <> (End:67a6df8f-40a9-4218-839a-e336f1bd1d79)
---
NuGet.config | 20 ++------------------
eng/Version.Details.xml | 32 ++++++++++++++++----------------
eng/Versions.props | 16 ++++++++--------
3 files changed, 26 insertions(+), 42 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index 73f2d28f46ab..e1e647dd1771 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,15 +7,7 @@
-
-
-
-
-
-
-
-
-
+
@@ -38,15 +30,7 @@
-
-
-
-
-
-
-
-
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index b538dbf11298..206dc89ef3ad 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -9,38 +9,38 @@
-->
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 480480b57cd6e43fe5cab1b552ac0ef917bf3fe8
+ 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
diff --git a/eng/Versions.props b/eng/Versions.props
index 185f76392187..796893bce1e8 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -146,14 +146,14 @@
9.1.0-preview.1.25060.3
9.1.0-preview.1.25060.3
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
- 9.0.1
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
+ 9.0.2
4.11.0-3.24554.2
4.11.0-3.24554.2
From eda0f9c02b16245a584be6c224dce773ca72e6c7 Mon Sep 17 00:00:00 2001
From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com>
Date: Wed, 5 Feb 2025 13:43:40 -0800
Subject: [PATCH 025/181] Update branding to 9.0.3 (#60198)
---
eng/Versions.props | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eng/Versions.props b/eng/Versions.props
index 1c84ba570b05..367732c4f3a5 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -8,10 +8,10 @@
9
0
- 2
+ 3
- true
+ false
8.0.1
*-*
true
release
- rtm
- RTM
+ servicing
+ Servicing
true
false
$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)
From f71e283286d8470639486804053f28391f92fafc Mon Sep 17 00:00:00 2001
From: Stephen Halter
Date: Thu, 6 Feb 2025 19:31:42 +0000
Subject: [PATCH 027/181] Merged PR 47274: Prevent RefreshSignInAsync if it is
called with wrong user
Since this is a patch, instead of throwing an exception in cases where we wouldn't before like we do in the PR to `main`, we instead log an error and fail to refresh the cookie if RefreshSignInAsync is called with a TUser that does not have the same user ID as the currently authenticated user.
While this does not make it *as* obvious to developers that something has gone wrong, error logs are still pretty visible, and stale cookies are something web developers have to account for regardless. The big upside to not throwing in the patch is that we do not have to react to it in the email change confirmation flow to account for the possibility of RefreshSignInAsync throwing.
----
#### AI description (iteration 1)
#### PR Classification
Bug fix
#### PR Summary
This pull request disables the `RefreshSignInAsync` method if it is called with the wrong user or if the user is not authenticated.
- `src/Identity/Core/src/SignInManager.cs`: Added checks to log errors and return early if the user is not authenticated or if the authenticated user ID does not match the provided user ID.
- `src/Identity/test/Identity.Test/SignInManagerTest.cs`: Added tests to verify that `RefreshSignInAsync` logs errors and does not proceed if the user is not authenticated or if authenticated with a different user.
---
src/Identity/Core/src/SignInManager.cs | 15 +++-
.../test/Identity.Test/SignInManagerTest.cs | 80 +++++++++++++++----
2 files changed, 80 insertions(+), 15 deletions(-)
diff --git a/src/Identity/Core/src/SignInManager.cs b/src/Identity/Core/src/SignInManager.cs
index b5659b329854..66f06c4d3465 100644
--- a/src/Identity/Core/src/SignInManager.cs
+++ b/src/Identity/Core/src/SignInManager.cs
@@ -162,8 +162,21 @@ public virtual async Task CanSignInAsync(TUser user)
public virtual async Task RefreshSignInAsync(TUser user)
{
var auth = await Context.AuthenticateAsync(AuthenticationScheme);
- IList claims = Array.Empty();
+ if (!auth.Succeeded || auth.Principal?.Identity?.IsAuthenticated != true)
+ {
+ Logger.LogError("RefreshSignInAsync prevented because the user is not currently authenticated. Use SignInAsync instead for initial sign in.");
+ return;
+ }
+ var authenticatedUserId = UserManager.GetUserId(auth.Principal);
+ var newUserId = await UserManager.GetUserIdAsync(user);
+ if (authenticatedUserId == null || authenticatedUserId != newUserId)
+ {
+ Logger.LogError("RefreshSignInAsync prevented because currently authenticated user has a different UserId. Use SignInAsync instead to change users.");
+ return;
+ }
+
+ IList claims = Array.Empty();
var authenticationMethod = auth?.Principal?.FindFirst(ClaimTypes.AuthenticationMethod);
var amr = auth?.Principal?.FindFirst("amr");
diff --git a/src/Identity/test/Identity.Test/SignInManagerTest.cs b/src/Identity/test/Identity.Test/SignInManagerTest.cs
index d1072676138a..73fe6d6be218 100644
--- a/src/Identity/test/Identity.Test/SignInManagerTest.cs
+++ b/src/Identity/test/Identity.Test/SignInManagerTest.cs
@@ -592,38 +592,38 @@ public async Task CanExternalSignIn(bool isPersistent, bool supportsLockout)
[InlineData(true, false)]
[InlineData(false, true)]
[InlineData(false, false)]
- public async Task CanResignIn(
- // Suppress warning that says theory methods should use all of their parameters.
- // See comments below about why this isn't used.
-#pragma warning disable xUnit1026
- bool isPersistent,
-#pragma warning restore xUnit1026
- bool externalLogin)
+ public async Task CanResignIn(bool isPersistent, bool externalLogin)
{
// Setup
var user = new PocoUser { UserName = "Foo" };
var context = new DefaultHttpContext();
var auth = MockAuth(context);
var loginProvider = "loginprovider";
- var id = new ClaimsIdentity();
+ var id = new ClaimsIdentity("authscheme");
if (externalLogin)
{
id.AddClaim(new Claim(ClaimTypes.AuthenticationMethod, loginProvider));
}
- // REVIEW: auth changes we lost the ability to mock is persistent
- //var properties = new AuthenticationProperties { IsPersistent = isPersistent };
- var authResult = AuthenticateResult.NoResult();
+
+ var claimsPrincipal = new ClaimsPrincipal(id);
+ var properties = new AuthenticationProperties { IsPersistent = isPersistent };
+ var authResult = AuthenticateResult.Success(new AuthenticationTicket(claimsPrincipal, properties, "authscheme"));
auth.Setup(a => a.AuthenticateAsync(context, IdentityConstants.ApplicationScheme))
.Returns(Task.FromResult(authResult)).Verifiable();
var manager = SetupUserManager(user);
+ manager.Setup(m => m.GetUserId(claimsPrincipal)).Returns(user.Id.ToString());
var signInManager = new Mock>(manager.Object,
new HttpContextAccessor { HttpContext = context },
new Mock>().Object,
null, null, new Mock().Object, null)
{ CallBase = true };
- //signInManager.Setup(s => s.SignInAsync(user, It.Is(p => p.IsPersistent == isPersistent),
- //externalLogin? loginProvider : null)).Returns(Task.FromResult(0)).Verifiable();
- signInManager.Setup(s => s.SignInWithClaimsAsync(user, It.IsAny(), It.IsAny>())).Returns(Task.FromResult(0)).Verifiable();
+
+ signInManager.Setup(s => s.SignInWithClaimsAsync(user,
+ It.Is(properties => properties.IsPersistent == isPersistent),
+ It.Is>(claims => !externalLogin ||
+ claims.Any(claim => claim.Type == ClaimTypes.AuthenticationMethod && claim.Value == loginProvider))))
+ .Returns(Task.FromResult(0)).Verifiable();
+
signInManager.Object.Context = context;
// Act
@@ -634,6 +634,58 @@ public async Task CanResignIn(
signInManager.Verify();
}
+ [Fact]
+ public async Task ResignInNoOpsAndLogsErrorIfNotAuthenticated()
+ {
+ var user = new PocoUser { UserName = "Foo" };
+ var context = new DefaultHttpContext();
+ var auth = MockAuth(context);
+ var manager = SetupUserManager(user);
+ var logger = new TestLogger>();
+ var signInManager = new Mock>(manager.Object,
+ new HttpContextAccessor { HttpContext = context },
+ new Mock>().Object,
+ null, logger, new Mock().Object, null)
+ { CallBase = true };
+ auth.Setup(a => a.AuthenticateAsync(context, IdentityConstants.ApplicationScheme))
+ .Returns(Task.FromResult(AuthenticateResult.NoResult())).Verifiable();
+
+ await signInManager.Object.RefreshSignInAsync(user);
+
+ Assert.Contains("RefreshSignInAsync prevented because the user is not currently authenticated. Use SignInAsync instead for initial sign in.", logger.LogMessages);
+ auth.Verify();
+ signInManager.Verify(s => s.SignInWithClaimsAsync(It.IsAny(), It.IsAny(), It.IsAny>()),
+ Times.Never());
+ }
+
+ [Fact]
+ public async Task ResignInNoOpsAndLogsErrorIfAuthenticatedWithDifferentUser()
+ {
+ var user = new PocoUser { UserName = "Foo" };
+ var context = new DefaultHttpContext();
+ var auth = MockAuth(context);
+ var manager = SetupUserManager(user);
+ var logger = new TestLogger>();
+ var signInManager = new Mock>(manager.Object,
+ new HttpContextAccessor { HttpContext = context },
+ new Mock>().Object,
+ null, logger, new Mock().Object, null)
+ { CallBase = true };
+ var id = new ClaimsIdentity("authscheme");
+ var claimsPrincipal = new ClaimsPrincipal(id);
+ var authResult = AuthenticateResult.Success(new AuthenticationTicket(claimsPrincipal, new AuthenticationProperties(), "authscheme"));
+ auth.Setup(a => a.AuthenticateAsync(context, IdentityConstants.ApplicationScheme))
+ .Returns(Task.FromResult(authResult)).Verifiable();
+ manager.Setup(m => m.GetUserId(claimsPrincipal)).Returns("different");
+
+ await signInManager.Object.RefreshSignInAsync(user);
+
+ Assert.Contains("RefreshSignInAsync prevented because currently authenticated user has a different UserId. Use SignInAsync instead to change users.", logger.LogMessages);
+ auth.Verify();
+ signInManager.Verify(s => s.SignInWithClaimsAsync(It.IsAny(), It.IsAny(), It.IsAny>()),
+ Times.Never());
+ }
+
[Theory]
[InlineData(true, true, true, true)]
[InlineData(true, true, false, true)]
From ab70b2667edfa0e21d24dc45f4189285dea6b77f Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 13:13:37 -0800
Subject: [PATCH 028/181] Update to MacOS 15 in Helix (#60238)
Co-authored-by: William Godbe
---
eng/targets/Helix.Common.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index ea3801bb8226..8a0fdf3481d3 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -29,7 +29,7 @@
-
+
From 1f7f4dea2e56da407673e95b638666d4f8eb0604 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 13:34:57 -0800
Subject: [PATCH 029/181] [release/9.0] Revert "Revert "Use the latest
available jdk"" (#60229)
* Revert "Revert "Use the latest available jdk (#59788)" (#60143)"
This reverts commit 83da5913a4d65743343b280b25c1d522ee7504c2.
* Update DelegateTests.cs
---------
Co-authored-by: Viktor Hofer
Co-authored-by: Korolev Dmitry
---
eng/scripts/InstallJdk.ps1 | 3 +--
global.json | 2 +-
src/Servers/HttpSys/test/FunctionalTests/DelegateTests.cs | 1 +
src/SignalR/clients/java/signalr/build.gradle | 2 +-
.../java/signalr/test/signalr.client.java.Tests.javaproj | 2 ++
.../main/java/com/microsoft/signalr/GsonHubProtocolTest.java | 2 +-
6 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/eng/scripts/InstallJdk.ps1 b/eng/scripts/InstallJdk.ps1
index 0872f241a982..1ba711b5eaa4 100644
--- a/eng/scripts/InstallJdk.ps1
+++ b/eng/scripts/InstallJdk.ps1
@@ -22,8 +22,7 @@ $installDir = "$repoRoot\.tools\jdk\win-x64\"
$javacExe = "$installDir\bin\javac.exe"
$tempDir = "$repoRoot\obj"
if (-not $JdkVersion) {
- $globalJson = Get-Content "$repoRoot\global.json" | ConvertFrom-Json
- $JdkVersion = $globalJson.'native-tools'.jdk
+ $JdkVersion = "11.0.24"
}
if (Test-Path $javacExe) {
diff --git a/global.json b/global.json
index f0a083e23ce2..c3b06d904c6f 100644
--- a/global.json
+++ b/global.json
@@ -24,7 +24,7 @@
"xcopy-msbuild": "17.1.0"
},
"native-tools": {
- "jdk": "11.0.24"
+ "jdk": "latest"
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25058.5",
diff --git a/src/Servers/HttpSys/test/FunctionalTests/DelegateTests.cs b/src/Servers/HttpSys/test/FunctionalTests/DelegateTests.cs
index 79b77e32a93e..8cb6332a8f6d 100644
--- a/src/Servers/HttpSys/test/FunctionalTests/DelegateTests.cs
+++ b/src/Servers/HttpSys/test/FunctionalTests/DelegateTests.cs
@@ -217,6 +217,7 @@ public async Task UpdateDelegationRuleTest()
[ConditionalFact]
[DelegateSupportedCondition(true)]
+ [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/60141")]
public async Task DelegateAfterReceiverRestart()
{
var queueName = Guid.NewGuid().ToString();
diff --git a/src/SignalR/clients/java/signalr/build.gradle b/src/SignalR/clients/java/signalr/build.gradle
index 895f8c4338d3..3e192445c97e 100644
--- a/src/SignalR/clients/java/signalr/build.gradle
+++ b/src/SignalR/clients/java/signalr/build.gradle
@@ -22,7 +22,7 @@ allprojects {
version project.findProperty('packageVersion') ?: "99.99.99-dev"
java {
- sourceCompatibility = 1.8
+ sourceCompatibility = 1.9
}
repositories {
diff --git a/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj b/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj
index 823c53ae8a72..e4e95d1cb3f3 100644
--- a/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj
+++ b/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj
@@ -6,6 +6,8 @@
true
true
+
+ OSX.13.Amd64.Open;$(SkipHelixQueues)
$(OutputPath)
true
diff --git a/src/SignalR/clients/java/signalr/test/src/main/java/com/microsoft/signalr/GsonHubProtocolTest.java b/src/SignalR/clients/java/signalr/test/src/main/java/com/microsoft/signalr/GsonHubProtocolTest.java
index 53454be031b6..d696a74850eb 100644
--- a/src/SignalR/clients/java/signalr/test/src/main/java/com/microsoft/signalr/GsonHubProtocolTest.java
+++ b/src/SignalR/clients/java/signalr/test/src/main/java/com/microsoft/signalr/GsonHubProtocolTest.java
@@ -444,7 +444,7 @@ public void invocationBindingFailureWhenParsingLocalDateTimeWithoutAppropriateTy
assertEquals(HubMessageType.INVOCATION_BINDING_FAILURE, message.getMessageType());
InvocationBindingFailureMessage failureMessage = (InvocationBindingFailureMessage) messages.get(0);
- assertEquals("java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 41 path $.arguments[0]", failureMessage.getException().getMessage());
+ assertEquals("com.google.gson.JsonSyntaxException", failureMessage.getException().getClass().getName());
}
@Test
From 1181cbfbec05876399caa6c91b2496e5ff9175a1 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 14:38:07 -0800
Subject: [PATCH 030/181] Fix `HtmlAttributePropertyHelper` hot reload (#59908)
Co-authored-by: Mackinnon Buck
---
src/Mvc/Mvc.ViewFeatures/src/HtmlAttributePropertyHelper.cs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/Mvc/Mvc.ViewFeatures/src/HtmlAttributePropertyHelper.cs b/src/Mvc/Mvc.ViewFeatures/src/HtmlAttributePropertyHelper.cs
index c1ac26b46742..f04f8895bd9a 100644
--- a/src/Mvc/Mvc.ViewFeatures/src/HtmlAttributePropertyHelper.cs
+++ b/src/Mvc/Mvc.ViewFeatures/src/HtmlAttributePropertyHelper.cs
@@ -25,8 +25,7 @@ public HtmlAttributePropertyHelper(PropertyHelper propertyHelper)
///
/// Part of contract.
///
- ///
- public static void UpdateCache(Type _)
+ public static void ClearCache(Type[] _)
{
ReflectionCache.Clear();
}
From baff3f006653742cf2fc7147fd6fb880e536cf69 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 14:40:29 -0800
Subject: [PATCH 031/181] Fix skip condition for java tests (#60242)
Co-authored-by: William Godbe
---
.../java/signalr/test/signalr.client.java.Tests.javaproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj b/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj
index e4e95d1cb3f3..8068629f03b3 100644
--- a/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj
+++ b/src/SignalR/clients/java/signalr/test/signalr.client.java.Tests.javaproj
@@ -7,7 +7,7 @@
true
true
- OSX.13.Amd64.Open;$(SkipHelixQueues)
+ OSX.15.Amd64.Open;$(SkipHelixQueues)
$(OutputPath)
true
From 8b2b207b3e4d62a9f806a58a89f5873251bedda8 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 14:48:37 -0800
Subject: [PATCH 032/181] [release/9.0] (deps): Bump src/submodules/googletest
(#60151)
Bumps [src/submodules/googletest](https://github.com/google/googletest) from `7d76a23` to `e235eb3`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](https://github.com/google/googletest/compare/7d76a231b0e29caf86e68d1df858308cd53b2a66...e235eb34c6c4fed790ccdad4b16394301360dcd4)
---
updated-dependencies:
- dependency-name: src/submodules/googletest
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
src/submodules/googletest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/submodules/googletest b/src/submodules/googletest
index 7d76a231b0e2..e235eb34c6c4 160000
--- a/src/submodules/googletest
+++ b/src/submodules/googletest
@@ -1 +1 @@
-Subproject commit 7d76a231b0e29caf86e68d1df858308cd53b2a66
+Subproject commit e235eb34c6c4fed790ccdad4b16394301360dcd4
From f67becaf2e46eafd3cf201347a2cec418974a366 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 14:54:10 -0800
Subject: [PATCH 033/181] [release/9.0] Readd DiagnosticSource to
KestrelServerImpl (#60202)
* Readd DiagnosticSource to KestrelServerImpl
* null
---------
Co-authored-by: Brennan
---
.../Kestrel/Core/src/Internal/KestrelServerImpl.cs | 6 ++++--
src/Servers/Kestrel/Core/src/KestrelServer.cs | 1 +
src/Servers/Kestrel/Core/test/KestrelServerTests.cs | 1 +
.../Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs | 9 ++++++++-
4 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/Servers/Kestrel/Core/src/Internal/KestrelServerImpl.cs b/src/Servers/Kestrel/Core/src/Internal/KestrelServerImpl.cs
index cefdd3d65282..6bcede93dbea 100644
--- a/src/Servers/Kestrel/Core/src/Internal/KestrelServerImpl.cs
+++ b/src/Servers/Kestrel/Core/src/Internal/KestrelServerImpl.cs
@@ -39,8 +39,9 @@ public KestrelServerImpl(
IEnumerable multiplexedFactories,
IHttpsConfigurationService httpsConfigurationService,
ILoggerFactory loggerFactory,
+ DiagnosticSource? diagnosticSource,
KestrelMetrics metrics)
- : this(transportFactories, multiplexedFactories, httpsConfigurationService, CreateServiceContext(options, loggerFactory, diagnosticSource: null, metrics))
+ : this(transportFactories, multiplexedFactories, httpsConfigurationService, CreateServiceContext(options, loggerFactory, diagnosticSource, metrics))
{
}
@@ -111,7 +112,8 @@ private static ServiceContext CreateServiceContext(IOptions ServiceContext.ServerOptions;
- private ServiceContext ServiceContext { get; }
+ // Internal for testing
+ internal ServiceContext ServiceContext { get; }
private KestrelTrace Trace => ServiceContext.Log;
diff --git a/src/Servers/Kestrel/Core/src/KestrelServer.cs b/src/Servers/Kestrel/Core/src/KestrelServer.cs
index 75cec0130767..7f2909c77cf6 100644
--- a/src/Servers/Kestrel/Core/src/KestrelServer.cs
+++ b/src/Servers/Kestrel/Core/src/KestrelServer.cs
@@ -36,6 +36,7 @@ public KestrelServer(IOptions options, IConnectionListener
Array.Empty(),
new SimpleHttpsConfigurationService(),
loggerFactory,
+ diagnosticSource: null,
new KestrelMetrics(new DummyMeterFactory()));
}
diff --git a/src/Servers/Kestrel/Core/test/KestrelServerTests.cs b/src/Servers/Kestrel/Core/test/KestrelServerTests.cs
index a0709d00ad19..e688812a6075 100644
--- a/src/Servers/Kestrel/Core/test/KestrelServerTests.cs
+++ b/src/Servers/Kestrel/Core/test/KestrelServerTests.cs
@@ -309,6 +309,7 @@ private static KestrelServerImpl CreateKestrelServer(
multiplexedFactories,
httpsConfigurationService,
loggerFactory ?? new LoggerFactory(new[] { new KestrelTestLoggerProvider() }),
+ diagnosticSource: null,
metrics ?? new KestrelMetrics(new TestMeterFactory()));
}
diff --git a/src/Servers/Kestrel/Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs b/src/Servers/Kestrel/Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs
index 759d074a6d82..b24da893ab53 100644
--- a/src/Servers/Kestrel/Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs
+++ b/src/Servers/Kestrel/Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs
@@ -2,10 +2,12 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System.Collections;
+using System.IO.Pipelines;
using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Hosting.Server;
using Microsoft.AspNetCore.Server.Kestrel.Core;
+using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.Internal;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets;
using Microsoft.Extensions.DependencyInjection;
@@ -107,6 +109,11 @@ public void ServerIsKestrelServerImpl()
.UseKestrel()
.Configure(app => { });
- Assert.IsType(hostBuilder.Build().Services.GetService());
+ var server = Assert.IsType(hostBuilder.Build().Services.GetService());
+
+ Assert.NotNull(server.ServiceContext.DiagnosticSource);
+ Assert.IsType(server.ServiceContext.Metrics);
+ Assert.Equal(PipeScheduler.ThreadPool, server.ServiceContext.Scheduler);
+ Assert.Equal(TimeProvider.System, server.ServiceContext.TimeProvider);
}
}
From 00d293ba0ee71dc8534c8c9927eb8deca7d5337e Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 15:03:52 -0800
Subject: [PATCH 034/181] Add HybridCache usage signal, similar to DC (#59886)
Co-authored-by: Marc Gravell
---
.../StackExchangeRedis/src/RedisCache.cs | 7 +++
.../StackExchangeRedis/src/RedisCacheImpl.cs | 13 +++++-
.../test/CacheServiceExtensionsTests.cs | 43 +++++++++++++++++++
3 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/src/Caching/StackExchangeRedis/src/RedisCache.cs b/src/Caching/StackExchangeRedis/src/RedisCache.cs
index debec0237040..4ecbf3628222 100644
--- a/src/Caching/StackExchangeRedis/src/RedisCache.cs
+++ b/src/Caching/StackExchangeRedis/src/RedisCache.cs
@@ -53,6 +53,8 @@ private static RedisValue[] GetHashFields(bool getData) => getData
private long _firstErrorTimeTicks;
private long _previousErrorTimeTicks;
+ internal bool HybridCacheActive { get; set; }
+
// StackExchange.Redis will also be trying to reconnect internally,
// so limit how often we recreate the ConnectionMultiplexer instance
// in an attempt to reconnect
@@ -375,6 +377,11 @@ private void TryAddSuffix(IConnectionMultiplexer connection)
{
connection.AddLibraryNameSuffix("aspnet");
connection.AddLibraryNameSuffix("DC");
+
+ if (HybridCacheActive)
+ {
+ connection.AddLibraryNameSuffix("HC");
+ }
}
catch (Exception ex)
{
diff --git a/src/Caching/StackExchangeRedis/src/RedisCacheImpl.cs b/src/Caching/StackExchangeRedis/src/RedisCacheImpl.cs
index dab5bfc8655b..67d262002eb3 100644
--- a/src/Caching/StackExchangeRedis/src/RedisCacheImpl.cs
+++ b/src/Caching/StackExchangeRedis/src/RedisCacheImpl.cs
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using Microsoft.Extensions.Caching.Hybrid;
+using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
@@ -8,13 +11,19 @@ namespace Microsoft.Extensions.Caching.StackExchangeRedis;
internal sealed class RedisCacheImpl : RedisCache
{
- public RedisCacheImpl(IOptions optionsAccessor, ILogger logger)
+ public RedisCacheImpl(IOptions optionsAccessor, ILogger logger, IServiceProvider services)
: base(optionsAccessor, logger)
{
+ HybridCacheActive = IsHybridCacheDefined(services);
}
- public RedisCacheImpl(IOptions optionsAccessor)
+ public RedisCacheImpl(IOptions optionsAccessor, IServiceProvider services)
: base(optionsAccessor)
{
+ HybridCacheActive = IsHybridCacheDefined(services);
}
+
+ // HybridCache optionally uses IDistributedCache; if we're here, then *we are* the DC
+ private static bool IsHybridCacheDefined(IServiceProvider services)
+ => services.GetService() is not null;
}
diff --git a/src/Caching/StackExchangeRedis/test/CacheServiceExtensionsTests.cs b/src/Caching/StackExchangeRedis/test/CacheServiceExtensionsTests.cs
index 29a49a7cec70..1d8ce4c3fd40 100644
--- a/src/Caching/StackExchangeRedis/test/CacheServiceExtensionsTests.cs
+++ b/src/Caching/StackExchangeRedis/test/CacheServiceExtensionsTests.cs
@@ -1,9 +1,15 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using System;
+using System.Collections.Generic;
using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed;
+using Microsoft.Extensions.Caching.Hybrid;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
@@ -121,4 +127,41 @@ public void AddStackExchangeRedisCache_UsesLoggerFactoryAlreadyRegisteredWithSer
loggerFactory.Verify();
}
+
+ [Theory]
+ [InlineData(true)]
+ [InlineData(false)]
+ public void AddStackExchangeRedisCache_HybridCacheDetected(bool hybridCacheActive)
+ {
+ // Arrange
+ var services = new ServiceCollection();
+
+ services.AddLogging();
+
+ // Act
+ services.AddStackExchangeRedisCache(options => { });
+ if (hybridCacheActive)
+ {
+ services.TryAddSingleton(new DummyHybridCache());
+ }
+
+ using var provider = services.BuildServiceProvider();
+ var cache = Assert.IsAssignableFrom(provider.GetRequiredService());
+ Assert.Equal(hybridCacheActive, cache.HybridCacheActive);
+ }
+
+ sealed class DummyHybridCache : HybridCache
+ {
+ public override ValueTask GetOrCreateAsync(string key, TState state, Func> factory, HybridCacheEntryOptions options = null, IEnumerable tags = null, CancellationToken cancellationToken = default)
+ => throw new NotSupportedException();
+
+ public override ValueTask RemoveAsync(string key, CancellationToken cancellationToken = default)
+ => throw new NotSupportedException();
+
+ public override ValueTask RemoveByTagAsync(string tag, CancellationToken cancellationToken = default)
+ => throw new NotSupportedException();
+
+ public override ValueTask SetAsync(string key, T value, HybridCacheEntryOptions options = null, IEnumerable tags = null, CancellationToken cancellationToken = default)
+ => throw new NotSupportedException();
+ }
}
From 7db3d1090276e669078ae9b28481f71a05a774a4 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 16:47:46 -0800
Subject: [PATCH 035/181] [release/9.0] Update dependencies from dotnet/arcade
(#59952)
* Update dependencies from https://github.com/dotnet/arcade build 20250115.2
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor
From Version 9.0.0-beta.25058.5 -> To Version 9.0.0-beta.25065.2
* Update dependencies from https://github.com/dotnet/arcade build 20250127.4
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor
From Version 9.0.0-beta.25058.5 -> To Version 9.0.0-beta.25077.4
* Remove redundant package sources from NuGet.config
---------
Co-authored-by: dotnet-maestro[bot]
Co-authored-by: William Godbe
---
eng/Version.Details.xml | 24 ++++++++++++------------
eng/Versions.props | 8 ++++----
eng/common/internal/Tools.csproj | 10 ----------
eng/common/template-guidance.md | 2 +-
global.json | 8 ++++----
5 files changed, 21 insertions(+), 31 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index b4207ebf11cf..675f7c135ef6 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -388,31 +388,31 @@
https://github.com/dotnet/winforms
9b822fd70005bf5632d12fe76811b97b3dd044e4
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/arcade
- 8cc6ecd76c24ef6665579a5c5e386a211a1e7c54
+ bac7e1caea791275b7c3ccb4cb75fd6a04a26618
https://github.com/dotnet/extensions
diff --git a/eng/Versions.props b/eng/Versions.props
index 70fd11875291..73e520092690 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -166,10 +166,10 @@
6.2.4
6.2.4
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
- 9.0.0-beta.25058.5
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
+ 9.0.0-beta.25077.4
9.0.0-alpha.1.24575.1
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
index 32f79dfb3402..feaa6d20812d 100644
--- a/eng/common/internal/Tools.csproj
+++ b/eng/common/internal/Tools.csproj
@@ -15,16 +15,6 @@
-
-
-
- https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
-
-
- $(RestoreSources);
- https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
-
-
diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md
index 5ef6c30ba924..98bbc1ded0ba 100644
--- a/eng/common/template-guidance.md
+++ b/eng/common/template-guidance.md
@@ -57,7 +57,7 @@ extends:
Note: Multiple outputs are ONLY applicable to 1ES PT publishing (only usable when referencing `templates-official`).
-# Development notes
+## Development notes
**Folder / file structure**
diff --git a/global.json b/global.json
index c3b06d904c6f..5a9c3712cc63 100644
--- a/global.json
+++ b/global.json
@@ -1,9 +1,9 @@
{
"sdk": {
- "version": "9.0.101"
+ "version": "9.0.102"
},
"tools": {
- "dotnet": "9.0.101",
+ "dotnet": "9.0.102",
"runtimes": {
"dotnet/x86": [
"$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
@@ -27,7 +27,7 @@
"jdk": "latest"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25058.5",
- "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25058.5"
+ "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25077.4",
+ "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25077.4"
}
}
From 4e7a00ab5d6f3685ae03daec4f857fddfa154652 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Thu, 6 Feb 2025 19:23:25 -0800
Subject: [PATCH 036/181] [release/9.0] Update dependencies from
dotnet/extensions (#59951)
* Update dependencies from https://github.com/dotnet/extensions build 20250117.2
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.25060.3 -> To Version 9.2.0-preview.1.25067.2
* Update dependencies from https://github.com/dotnet/extensions build 20250126.1
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.25060.3 -> To Version 9.2.0-preview.1.25076.1
* Update dependencies from https://github.com/dotnet/extensions build 20250130.2
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.1.0-preview.1.25060.3 -> To Version 9.2.0-preview.1.25080.2
* Remove redundant package sources from NuGet.config
---------
Co-authored-by: dotnet-maestro[bot]
Co-authored-by: William Godbe
---
eng/Version.Details.xml | 8 ++++----
eng/Versions.props | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 675f7c135ef6..807e43462672 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,13 +414,13 @@
https://github.com/dotnet/arcade
bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/extensions
- 309f2b7f73a28ffd75dac15434d160e5bd765384
+ cc2317e220509a75fe457fc73ac83091c2b531ce
-
+
https://github.com/dotnet/extensions
- 309f2b7f73a28ffd75dac15434d160e5bd765384
+ cc2317e220509a75fe457fc73ac83091c2b531ce
https://github.com/nuget/nuget.client
diff --git a/eng/Versions.props b/eng/Versions.props
index 73e520092690..db8b576cbf07 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -143,8 +143,8 @@
9.0.1
9.0.1
- 9.1.0-preview.1.25060.3
- 9.1.0-preview.1.25060.3
+ 9.2.0-preview.1.25080.2
+ 9.2.0-preview.1.25080.2
9.0.1
9.0.1
From eafd73fbd8ea38179ad8af020d61b8647844ec7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Ros?=
Date: Mon, 10 Feb 2025 09:49:45 -0800
Subject: [PATCH 037/181] [release/9.0] Update remnants of azureedge.net
(#60263)
* Update remnants of azureedge.net
* Update storage domains
---
.azure/pipelines/ci.yml | 4 ++--
eng/common/core-templates/steps/source-build.yml | 2 +-
eng/helix/helix.proj | 4 ++--
.../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 6 +++---
src/Installers/Windows/WindowsHostingBundle/Product.targets | 6 +++---
5 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index d9f2afd0e9b6..a090da1127ee 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -97,14 +97,14 @@ variables:
- name: WindowsArm64InstallersLogArgs
value: /bl:artifacts/log/Release/Build.Installers.Arm64.binlog
- name: _InternalRuntimeDownloadArgs
- value: -RuntimeSourceFeed https://dotnetbuilds.blob.core.windows.net/internal
+ value: -RuntimeSourceFeed https://ci.dot.net/internal
-RuntimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
/p:DotNetAssetRootAccessTokenSuffix='$(dotnetbuilds-internal-container-read-token-base64)'
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have to be passed directly. This
# is awkward but necessary because the eng/common/ build scripts don't add the msbuild properties automatically.
- name: _InternalRuntimeDownloadCodeSignArgs
value: $(_InternalRuntimeDownloadArgs)
- /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
+ /p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
- group: DotNet-HelixApi-Access
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml
index 2915d29bb7f6..29515fc23f64 100644
--- a/eng/common/core-templates/steps/source-build.yml
+++ b/eng/common/core-templates/steps/source-build.yml
@@ -37,7 +37,7 @@ steps:
# in the default public locations.
internalRuntimeDownloadArgs=
if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
- internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
buildConfig=Release
diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj
index f31e201d516e..a772993a3592 100644
--- a/eng/helix/helix.proj
+++ b/eng/helix/helix.proj
@@ -58,12 +58,12 @@
runtime
-
$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))
-
$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index 48725d72139d..db44b1bd8b84 100644
--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -560,9 +560,9 @@ This package is an internal implementation of the .NET Core SDK and is not meant
-
-
-
+
+
$(DotnetRuntimeSourceFeedKey)
diff --git a/src/Installers/Windows/WindowsHostingBundle/Product.targets b/src/Installers/Windows/WindowsHostingBundle/Product.targets
index 3b1cf82c1076..c1dc097445d4 100644
--- a/src/Installers/Windows/WindowsHostingBundle/Product.targets
+++ b/src/Installers/Windows/WindowsHostingBundle/Product.targets
@@ -83,9 +83,9 @@
-->
-
-
-
+
+
$(DotnetRuntimeSourceFeedKey)
From ef00efdc594af25054226a399f84a1f7e0503f4a Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Mon, 10 Feb 2025 09:50:22 -0800
Subject: [PATCH 038/181] Update dependencies from
https://github.com/dotnet/extensions build 20250207.9 (#60291)
Microsoft.Extensions.Diagnostics.Testing , Microsoft.Extensions.TimeProvider.Testing
From Version 9.2.0-preview.1.25080.2 -> To Version 9.3.0-preview.1.25107.9
Co-authored-by: dotnet-maestro[bot]
---
NuGet.config | 20 ++++++++++++++++++++
eng/Version.Details.xml | 8 ++++----
eng/Versions.props | 4 ++--
3 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index 9fa908668f8f..4df3f3ee5d19 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -5,9 +5,19 @@
+
+
+
+
+
+
+
+
+
+
@@ -30,9 +40,19 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 807e43462672..93174182c680 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,13 +414,13 @@
https://github.com/dotnet/arcade
bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/extensions
- cc2317e220509a75fe457fc73ac83091c2b531ce
+ ca2fe808b3d6c55817467f46ca58657456b4a928
-
+
https://github.com/dotnet/extensions
- cc2317e220509a75fe457fc73ac83091c2b531ce
+ ca2fe808b3d6c55817467f46ca58657456b4a928
https://github.com/nuget/nuget.client
diff --git a/eng/Versions.props b/eng/Versions.props
index db8b576cbf07..9a0d983eaec0 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -143,8 +143,8 @@
9.0.1
9.0.1
- 9.2.0-preview.1.25080.2
- 9.2.0-preview.1.25080.2
+ 9.3.0-preview.1.25107.9
+ 9.3.0-preview.1.25107.9
9.0.1
9.0.1
From d4bfd6a2e206050ddc81d37bb81db482bf50add8 Mon Sep 17 00:00:00 2001
From: William Godbe
Date: Mon, 10 Feb 2025 16:54:47 -0800
Subject: [PATCH 039/181] [release/9.0] Centralize on one docker container
(#60298)
* Centralize on one container
* Centralize on one docker container
* Fix name
* Update ci-public.yml
* Update Microsoft.AspNetCore.App.Runtime.csproj
* Remove '--bl' option from pipeline script
---
.azure/pipelines/ci-public.yml | 8 ++++----
.azure/pipelines/ci.yml | 14 +++++---------
.../src/Microsoft.AspNetCore.App.Runtime.csproj | 6 +++---
3 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/.azure/pipelines/ci-public.yml b/.azure/pipelines/ci-public.yml
index 9bcb4699e93a..3d823e234dc6 100644
--- a/.azure/pipelines/ci-public.yml
+++ b/.azure/pipelines/ci-public.yml
@@ -446,7 +446,7 @@ stages:
jobName: Linux_musl_x64_build
jobDisplayName: "Build: Linux Musl x64"
agentOs: Linux
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
buildArgs:
--arch x64
--os-name linux-musl
@@ -480,7 +480,7 @@ stages:
jobDisplayName: "Build: Linux Musl ARM"
agentOs: Linux
useHostedUbuntu: false
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
buildArgs:
--arch arm
--os-name linux-musl
@@ -513,7 +513,7 @@ stages:
jobDisplayName: "Build: Linux Musl ARM64"
agentOs: Linux
useHostedUbuntu: false
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
buildArgs:
--arch arm64
--os-name linux-musl
@@ -645,7 +645,7 @@ stages:
parameters:
platform:
name: 'Managed'
- container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
+ container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64'
buildScript: './eng/build.sh --publish --no-build-repo-tasks $(_PublishArgs) $(_InternalRuntimeDownloadArgs)'
skipPublishValidation: true
jobProperties:
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index a090da1127ee..08eab9052b12 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -149,12 +149,8 @@ extends:
tsa:
enabled: true
containers:
- alpine319WithNode:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
- mariner20CrossArmAlpine:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
- mariner20CrossArm64Alpine:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
+ azureLinux30Net9BuildAmd64:
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
stages:
- stage: build
displayName: Build
@@ -515,7 +511,7 @@ extends:
jobName: Linux_musl_x64_build
jobDisplayName: "Build: Linux Musl x64"
agentOs: Linux
- container: alpine319WithNode
+ container: azureLinux30Net9BuildAmd64
buildArgs:
--arch x64
--os-name linux-musl
@@ -549,7 +545,7 @@ extends:
jobDisplayName: "Build: Linux Musl ARM"
agentOs: Linux
useHostedUbuntu: false
- container: mariner20CrossArmAlpine
+ container: azureLinux30Net9BuildAmd64
buildArgs:
--arch arm
--os-name linux-musl
@@ -582,7 +578,7 @@ extends:
jobDisplayName: "Build: Linux Musl ARM64"
agentOs: Linux
useHostedUbuntu: false
- container: mariner20CrossArm64Alpine
+ container: azureLinux30Net9BuildAmd64
buildArgs:
--arch arm64
--os-name linux-musl
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index db44b1bd8b84..5f488e03a398 100644
--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -100,12 +100,12 @@ This package is an internal implementation of the .NET Core SDK and is not meant
PkgMicrosoft_NETCore_App_Runtime_$(RuntimeIdentifier.Replace('.', '_'))
$(TargetOsName)
- linux
+ linux
$(TargetRuntimeIdentifier.Substring(0,$(TargetRuntimeIdentifier.IndexOf('-'))))
x64
$(BuildArchitecture)
From 1edafc4d9f6869d6cc259ff46b19ea678536bd07 Mon Sep 17 00:00:00 2001
From: Will Godbe
Date: Tue, 11 Feb 2025 17:47:07 +0000
Subject: [PATCH 040/181] Merged PR 47512: [internal/release/9.0] Merge from
public
Fixes some merge conflicts
----
#### AI description (iteration 1)
#### PR Classification
Code cleanup and dependency updates.
#### PR Summary
This pull request updates dependencies and cleans up configuration files to align with the latest internal and public build sources.
- Updated dependency versions in `/eng/Version.Details.xml` and `/eng/Versions.props`.
- Changed container images in `.azure/pipelines/ci.yml` and `.azure/pipelines/ci-public.yml` to `azurelinux-3.0-net9.0-build-amd64`.
- Updated runtime download URLs in `/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj`, `/eng/helix/helix.proj`, and `/src/Installers/Windows/WindowsHostingBundle/Product.targets`.
- Modified `BuildOsName` condition in `/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj` for `linux-musl` builds.
---
.azure/pipelines/ci-public.yml | 8 ++++----
.azure/pipelines/ci.yml | 18 +++++++-----------
eng/Version.Details.xml | 8 ++++----
eng/Versions.props | 4 ++--
.../core-templates/steps/source-build.yml | 2 +-
eng/helix/helix.proj | 4 ++--
.../Microsoft.AspNetCore.App.Runtime.csproj | 12 ++++++------
.../WindowsHostingBundle/Product.targets | 6 +++---
8 files changed, 29 insertions(+), 33 deletions(-)
diff --git a/.azure/pipelines/ci-public.yml b/.azure/pipelines/ci-public.yml
index 9bcb4699e93a..3d823e234dc6 100644
--- a/.azure/pipelines/ci-public.yml
+++ b/.azure/pipelines/ci-public.yml
@@ -446,7 +446,7 @@ stages:
jobName: Linux_musl_x64_build
jobDisplayName: "Build: Linux Musl x64"
agentOs: Linux
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
buildArgs:
--arch x64
--os-name linux-musl
@@ -480,7 +480,7 @@ stages:
jobDisplayName: "Build: Linux Musl ARM"
agentOs: Linux
useHostedUbuntu: false
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
buildArgs:
--arch arm
--os-name linux-musl
@@ -513,7 +513,7 @@ stages:
jobDisplayName: "Build: Linux Musl ARM64"
agentOs: Linux
useHostedUbuntu: false
- container: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
+ container: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
buildArgs:
--arch arm64
--os-name linux-musl
@@ -645,7 +645,7 @@ stages:
parameters:
platform:
name: 'Managed'
- container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
+ container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64'
buildScript: './eng/build.sh --publish --no-build-repo-tasks $(_PublishArgs) $(_InternalRuntimeDownloadArgs)'
skipPublishValidation: true
jobProperties:
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index d9f2afd0e9b6..08eab9052b12 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -97,14 +97,14 @@ variables:
- name: WindowsArm64InstallersLogArgs
value: /bl:artifacts/log/Release/Build.Installers.Arm64.binlog
- name: _InternalRuntimeDownloadArgs
- value: -RuntimeSourceFeed https://dotnetbuilds.blob.core.windows.net/internal
+ value: -RuntimeSourceFeed https://ci.dot.net/internal
-RuntimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
/p:DotNetAssetRootAccessTokenSuffix='$(dotnetbuilds-internal-container-read-token-base64)'
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have to be passed directly. This
# is awkward but necessary because the eng/common/ build scripts don't add the msbuild properties automatically.
- name: _InternalRuntimeDownloadCodeSignArgs
value: $(_InternalRuntimeDownloadArgs)
- /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
+ /p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
- group: DotNet-HelixApi-Access
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
@@ -149,12 +149,8 @@ extends:
tsa:
enabled: true
containers:
- alpine319WithNode:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
- mariner20CrossArmAlpine:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm-alpine
- mariner20CrossArm64Alpine:
- image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-cross-arm64-alpine
+ azureLinux30Net9BuildAmd64:
+ image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-build-amd64
stages:
- stage: build
displayName: Build
@@ -515,7 +511,7 @@ extends:
jobName: Linux_musl_x64_build
jobDisplayName: "Build: Linux Musl x64"
agentOs: Linux
- container: alpine319WithNode
+ container: azureLinux30Net9BuildAmd64
buildArgs:
--arch x64
--os-name linux-musl
@@ -549,7 +545,7 @@ extends:
jobDisplayName: "Build: Linux Musl ARM"
agentOs: Linux
useHostedUbuntu: false
- container: mariner20CrossArmAlpine
+ container: azureLinux30Net9BuildAmd64
buildArgs:
--arch arm
--os-name linux-musl
@@ -582,7 +578,7 @@ extends:
jobDisplayName: "Build: Linux Musl ARM64"
agentOs: Linux
useHostedUbuntu: false
- container: mariner20CrossArm64Alpine
+ container: azureLinux30Net9BuildAmd64
buildArgs:
--arch arm64
--os-name linux-musl
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 60221fe45c3c..107557e7eb3c 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -414,13 +414,13 @@
https://github.com/dotnet/arcade
bac7e1caea791275b7c3ccb4cb75fd6a04a26618
-
+
https://github.com/dotnet/extensions
- cc2317e220509a75fe457fc73ac83091c2b531ce
+ ca2fe808b3d6c55817467f46ca58657456b4a928
-
+
https://github.com/dotnet/extensions
- cc2317e220509a75fe457fc73ac83091c2b531ce
+ ca2fe808b3d6c55817467f46ca58657456b4a928
https://github.com/nuget/nuget.client
diff --git a/eng/Versions.props b/eng/Versions.props
index 8ad59a55e262..64dce1a41bb2 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -143,8 +143,8 @@
9.0.2
9.0.2
- 9.2.0-preview.1.25080.2
- 9.2.0-preview.1.25080.2
+ 9.3.0-preview.1.25107.9
+ 9.3.0-preview.1.25107.9
9.0.2
9.0.2
diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml
index 2915d29bb7f6..29515fc23f64 100644
--- a/eng/common/core-templates/steps/source-build.yml
+++ b/eng/common/core-templates/steps/source-build.yml
@@ -37,7 +37,7 @@ steps:
# in the default public locations.
internalRuntimeDownloadArgs=
if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
- internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
buildConfig=Release
diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj
index f31e201d516e..a772993a3592 100644
--- a/eng/helix/helix.proj
+++ b/eng/helix/helix.proj
@@ -58,12 +58,12 @@
runtime
-
$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))
-
$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index 48725d72139d..5f488e03a398 100644
--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -100,12 +100,12 @@ This package is an internal implementation of the .NET Core SDK and is not meant
PkgMicrosoft_NETCore_App_Runtime_$(RuntimeIdentifier.Replace('.', '_'))
$(TargetOsName)
- linux
+ linux
$(TargetRuntimeIdentifier.Substring(0,$(TargetRuntimeIdentifier.IndexOf('-'))))
x64
$(BuildArchitecture)
@@ -560,9 +560,9 @@ This package is an internal implementation of the .NET Core SDK and is not meant
-
-
-
+
+
$(DotnetRuntimeSourceFeedKey)
diff --git a/src/Installers/Windows/WindowsHostingBundle/Product.targets b/src/Installers/Windows/WindowsHostingBundle/Product.targets
index 3b1cf82c1076..c1dc097445d4 100644
--- a/src/Installers/Windows/WindowsHostingBundle/Product.targets
+++ b/src/Installers/Windows/WindowsHostingBundle/Product.targets
@@ -83,9 +83,9 @@
-->
-
-
-
+
+
$(DotnetRuntimeSourceFeedKey)
From 09c70742b344f22c723448edff3c9d3b67054512 Mon Sep 17 00:00:00 2001
From: wtgodbe
Date: Tue, 11 Feb 2025 13:57:50 -0800
Subject: [PATCH 041/181] Update baseline, SDK, nuget.config
---
NuGet.config | 2 -
eng/Baseline.Designer.props | 776 ++++++++++++++++++------------------
eng/Baseline.xml | 212 +++++-----
eng/Versions.props | 2 +-
global.json | 4 +-
5 files changed, 497 insertions(+), 499 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index e1e647dd1771..190ae868aab9 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,10 +4,8 @@
-
-
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index dfd9247704ed..038221fceef4 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -2,117 +2,117 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
@@ -120,279 +120,279 @@
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
-
-
-
+
+
+
+
+
- 9.0.1
+ 9.0.2
-
-
-
-
-
+
+
+
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
-
-
-
-
+
+
+
+
+
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
-
+
-
+
- 9.0.1
+ 9.0.2
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
-
-
+
+
-
-
+
+
- 9.0.1
+ 9.0.2
-
+
-
+
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
@@ -401,83 +401,83 @@
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
-
+
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
@@ -493,510 +493,510 @@
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
+
+
-
-
+
+
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
-
+
-
+
-
+
- 9.0.1
+ 9.0.2
-
+
-
+
-
+
- 9.0.1
+ 9.0.2
-
+
-
+
-
+
- 9.0.1
+ 9.0.2
-
-
-
-
+
+
+
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
+
+
-
-
+
+
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
-
-
+
+
-
-
+
+
-
-
+
+
- 9.0.1
+ 9.0.2
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
-
+
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
- 9.0.1
+ 9.0.2
- 9.0.1
+ 9.0.2
-
+
- 9.0.1
+ 9.0.2
-
+
\ No newline at end of file
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index b081a19bb966..d15a11b1f2fd 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -4,110 +4,110 @@ This file contains a list of all the packages and their versions which were rele
Update this list when preparing for a new patch.
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eng/Versions.props b/eng/Versions.props
index 64dce1a41bb2..d943694a8527 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -11,7 +11,7 @@
3
- false
+ true
8.0.1
*-*
-
-
From ea2a0ca36098121d959ac2c1c0d40af59e7667b5 Mon Sep 17 00:00:00 2001
From: William Godbe
Date: Tue, 11 Feb 2025 17:45:00 -0800
Subject: [PATCH 043/181] Revert "[release/9.0] Update remnants of
azureedge.net" (#60323)
* Revert "[release/9.0] Update remnants of azureedge.net (#60263)"
This reverts commit eafd73fbd8ea38179ad8af020d61b8647844ec7b.
* Update eng/common/core-templates/steps/source-build.yml
---
.azure/pipelines/ci.yml | 4 ++--
eng/helix/helix.proj | 4 ++--
.../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 6 +++---
src/Installers/Windows/WindowsHostingBundle/Product.targets | 6 +++---
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 08eab9052b12..c085e925a528 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -97,14 +97,14 @@ variables:
- name: WindowsArm64InstallersLogArgs
value: /bl:artifacts/log/Release/Build.Installers.Arm64.binlog
- name: _InternalRuntimeDownloadArgs
- value: -RuntimeSourceFeed https://ci.dot.net/internal
+ value: -RuntimeSourceFeed https://dotnetbuilds.blob.core.windows.net/internal
-RuntimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
/p:DotNetAssetRootAccessTokenSuffix='$(dotnetbuilds-internal-container-read-token-base64)'
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have to be passed directly. This
# is awkward but necessary because the eng/common/ build scripts don't add the msbuild properties automatically.
- name: _InternalRuntimeDownloadCodeSignArgs
value: $(_InternalRuntimeDownloadArgs)
- /p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal
+ /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
- group: DotNet-HelixApi-Access
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
diff --git a/eng/helix/helix.proj b/eng/helix/helix.proj
index a772993a3592..f31e201d516e 100644
--- a/eng/helix/helix.proj
+++ b/eng/helix/helix.proj
@@ -58,12 +58,12 @@
runtime
-
$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))
-
$([System.Environment]::GetEnvironmentVariable('DotNetBuildsInternalReadSasToken'))
diff --git a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
index 5f488e03a398..512c53439ccc 100644
--- a/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
+++ b/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
@@ -560,9 +560,9 @@ This package is an internal implementation of the .NET Core SDK and is not meant
-
-
-
+
+
$(DotnetRuntimeSourceFeedKey)
diff --git a/src/Installers/Windows/WindowsHostingBundle/Product.targets b/src/Installers/Windows/WindowsHostingBundle/Product.targets
index c1dc097445d4..3b1cf82c1076 100644
--- a/src/Installers/Windows/WindowsHostingBundle/Product.targets
+++ b/src/Installers/Windows/WindowsHostingBundle/Product.targets
@@ -83,9 +83,9 @@
-->
-
-
-
+
+
$(DotnetRuntimeSourceFeedKey)
From a1d8afd1d97bd338d50bfb03a57fa064182f6ca5 Mon Sep 17 00:00:00 2001
From: ProductConstructionServiceProd
Date: Wed, 12 Feb 2025 05:01:39 +0000
Subject: [PATCH 044/181] Merged PR 47534: [internal/release/9.0] Update
dependencies from dnceng/internal/dotnet-runtime
This pull request updates the following dependencies
[marker]: <> (Begin:ff8719c2-a1bf-4aef-ad09-b38561e103bc)
## From https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- **Subscription**: ff8719c2-a1bf-4aef-ad09-b38561e103bc
- **Build**: 20250211.13
- **Date Produced**: February 12, 2025 3:59:19 AM UTC
- **Commit**: 831d23e56149cd59c40fc00c7feb7c5334bd19c4
- **Branch**: refs/heads/internal/release/9.0
[DependencyUpdate]: <> (Begin)
- **Updates**:
- **Microsoft.Bcl.AsyncInterfaces**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Bcl.TimeProvider**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Caching.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Caching.Memory**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.Binder**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.CommandLine**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.EnvironmentVariables**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.FileExtensions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.Ini**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.Json**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.UserSecrets**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Configuration.Xml**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.DependencyInjection**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.DependencyInjection.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.DependencyModel**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Diagnostics**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Diagnostics.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.FileProviders.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.FileProviders.Composite**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.FileProviders.Physical**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.FileSystemGlobbing**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.HostFactoryResolver.Sources**: [from 9.0.2-servicing.25066.10 to 9.0.3-servicing.25111.13][1]
- **Microsoft.Extensions.Hosting**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Hosting.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Http**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging.Abstractions**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging.Configuration**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging.Console**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging.Debug**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging.EventLog**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.Extensions.Logging.EventS...
---
NuGet.config | 34 ++++-
eng/Version.Details.xml | 288 ++++++++++++++++++++--------------------
eng/Versions.props | 144 ++++++++++----------
3 files changed, 248 insertions(+), 218 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index e1e647dd1771..50547f3dcd29 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,10 +4,25 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -30,10 +45,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 107557e7eb3c..a44a08dc5e51 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -42,292 +42,292 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
https://github.com/dotnet/xdt
@@ -367,9 +367,9 @@
bc1c3011064a493b0ca527df6fb7215e2e5cfa96
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
@@ -380,9 +380,9 @@
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 80aa709f5d919c6814726788dc6dabe23e79e672
+ 831d23e56149cd59c40fc00c7feb7c5334bd19c4
https://github.com/dotnet/winforms
diff --git a/eng/Versions.props b/eng/Versions.props
index 64dce1a41bb2..1f57dad549e8 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -68,80 +68,80 @@
-->
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2-servicing.25066.10
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2-servicing.25066.10
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2-servicing.25066.10
- 9.0.2-servicing.25066.10
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3-servicing.25111.13
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3-servicing.25111.13
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3-servicing.25111.13
+ 9.0.3-servicing.25111.13
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
- 9.0.2-servicing.25066.10
- 9.0.2
+ 9.0.3-servicing.25111.13
+ 9.0.3
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
9.3.0-preview.1.25107.9
9.3.0-preview.1.25107.9
From 1e53ca927010deb7c1e0c64a258775bdffc6b034 Mon Sep 17 00:00:00 2001
From: ProductConstructionServiceProd
Date: Wed, 12 Feb 2025 17:13:18 +0000
Subject: [PATCH 045/181] Merged PR 47575: [internal/release/9.0] Update
dependencies from dnceng/internal/dotnet-efcore
This pull request updates the following dependencies
[marker]: <> (Begin:67a6df8f-40a9-4218-839a-e336f1bd1d79)
## From https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- **Subscription**: 67a6df8f-40a9-4218-839a-e336f1bd1d79
- **Build**: 20250211.7
- **Date Produced**: February 12, 2025 7:25:19 AM UTC
- **Commit**: 85856237290a59157865454c9e8337dd4d591f53
- **Branch**: refs/heads/internal/release/9.0
[DependencyUpdate]: <> (Begin)
- **Updates**:
- **dotnet-ef**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore.Design**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore.InMemory**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore.Relational**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore.Sqlite**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore.SqlServer**: [from 9.0.2 to 9.0.3][1]
- **Microsoft.EntityFrameworkCore.Tools**: [from 9.0.2 to 9.0.3][1]
[1]: https://dev.azure.com/dnceng/internal/_git/dotnet-efcore/branches?baseVersion=GC7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e&targetVersion=GC85856237290a59157865454c9e8337dd4d591f53&_a=files
[DependencyUpdate]: <> (End)
[marker]: <> (End:67a6df8f-40a9-4218-839a-e336f1bd1d79)
---
NuGet.config | 34 ++--------------------------------
eng/Version.Details.xml | 32 ++++++++++++++++----------------
eng/Versions.props | 16 ++++++++--------
3 files changed, 26 insertions(+), 56 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index 50547f3dcd29..c90f038e155c 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,22 +7,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -45,22 +30,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index a44a08dc5e51..355d0f7cef89 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -9,38 +9,38 @@
-->
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 7bb42e8dd6df45b8570b7cb7ccdcfd5fb6460b0e
+ 85856237290a59157865454c9e8337dd4d591f53
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
diff --git a/eng/Versions.props b/eng/Versions.props
index 1f57dad549e8..a68cf6a82d8b 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -146,14 +146,14 @@
9.3.0-preview.1.25107.9
9.3.0-preview.1.25107.9
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
- 9.0.2
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
+ 9.0.3
4.11.0-3.24554.2
4.11.0-3.24554.2
From d47e5f07c5ffdac90a90fe6f8247280a712cd127 Mon Sep 17 00:00:00 2001
From: DotNet-Bot
Date: Thu, 13 Feb 2025 02:34:04 +0000
Subject: [PATCH 046/181] Update dependencies from
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore build 20250212.2
dotnet-ef , Microsoft.EntityFrameworkCore , Microsoft.EntityFrameworkCore.Design , Microsoft.EntityFrameworkCore.InMemory , Microsoft.EntityFrameworkCore.Relational , Microsoft.EntityFrameworkCore.Sqlite , Microsoft.EntityFrameworkCore.SqlServer , Microsoft.EntityFrameworkCore.Tools
From Version 9.0.3 -> To Version 9.0.3
---
NuGet.config | 4 ++--
eng/Version.Details.xml | 16 ++++++++--------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/NuGet.config b/NuGet.config
index c90f038e155c..f8b0b0f8f7db 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,7 +7,7 @@
-
+
@@ -30,7 +30,7 @@
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 355d0f7cef89..ccae9cf9ba4d 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -11,36 +11,36 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 85856237290a59157865454c9e8337dd4d591f53
+ 68c7e19496df80819410fc6de1682a194aad33d3
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
From 4e3b363d6d1af3dd8d6b1428beade76390deed1c Mon Sep 17 00:00:00 2001
From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com>
Date: Thu, 6 Mar 2025 16:00:49 -0800
Subject: [PATCH 047/181] Update branding to 9.0.4 (#60785)
---
eng/Versions.props | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eng/Versions.props b/eng/Versions.props
index d943694a8527..d5666e157c0c 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -8,10 +8,10 @@
9
0
- 3
+ 4
- true
+ false
8.0.1
*-*
- 9.3.0-preview.1.25107.9
- 9.3.0-preview.1.25107.9
+ 9.3.0-preview.1.25156.1
+ 9.3.0-preview.1.25156.1
9.0.2
9.0.2
From 444cd97741958f3bda0acfacb3541a40f687c2ae Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 10 Mar 2025 12:18:56 -0700
Subject: [PATCH 050/181] [release/9.0] (deps): Bump src/submodules/googletest
from `e235eb3` to `24a9e94` (#60678)
* [release/9.0] (deps): Bump src/submodules/googletest
Bumps [src/submodules/googletest](https://github.com/google/googletest) from `e235eb3` to `24a9e94`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](https://github.com/google/googletest/compare/e235eb34c6c4fed790ccdad4b16394301360dcd4...24a9e940d481f992ba852599c78bb2217362847b)
---
updated-dependencies:
- dependency-name: src/submodules/googletest
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
* Fix cpp test
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: wtgodbe
---
src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/main.cpp | 2 +-
src/submodules/googletest | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/main.cpp b/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/main.cpp
index 86c764df8533..3e1bbc1add95 100644
--- a/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/main.cpp
+++ b/src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/main.cpp
@@ -8,5 +8,5 @@ DECLARE_DEBUG_PRINT_OBJECT2("tests", ASPNETCORE_DEBUG_FLAG_INFO | ASPNETCORE_DEB
int wmain(int argc, wchar_t* argv[])
{
::testing::InitGoogleTest(&argc, argv);
- RUN_ALL_TESTS();
+ return RUN_ALL_TESTS();
}
diff --git a/src/submodules/googletest b/src/submodules/googletest
index e235eb34c6c4..24a9e940d481 160000
--- a/src/submodules/googletest
+++ b/src/submodules/googletest
@@ -1 +1 @@
-Subproject commit e235eb34c6c4fed790ccdad4b16394301360dcd4
+Subproject commit 24a9e940d481f992ba852599c78bb2217362847b
From 1de0bf15d1aeb92b5a5542ff4247ba41d154f218 Mon Sep 17 00:00:00 2001
From: "dotnet-maestro[bot]"
<42748379+dotnet-maestro[bot]@users.noreply.github.com>
Date: Mon, 10 Mar 2025 12:19:16 -0700
Subject: [PATCH 051/181] [release/9.0] Update dependencies from dotnet/arcade
(#60356)
* Update dependencies from https://github.com/dotnet/arcade build 20250211.5
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor
From Version 9.0.0-beta.25077.4 -> To Version 9.0.0-beta.25111.5
* Remove obsolete package sources from NuGet.config
---------
Co-authored-by: dotnet-maestro[bot]
Co-authored-by: William Godbe
---
eng/Version.Details.xml | 24 +++++++++----------
eng/Versions.props | 8 +++----
.../core-templates/steps/source-build.yml | 2 +-
global.json | 4 ++--
4 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index c8f6a3d5eae3..acf8364911b3 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -388,31 +388,31 @@
https://github.com/dotnet/winforms
9b822fd70005bf5632d12fe76811b97b3dd044e4
-
+
https://github.com/dotnet/arcade
- bac7e1caea791275b7c3ccb4cb75fd6a04a26618
+ 5da211e1c42254cb35e7ef3d5a8428fb24853169
-
+
https://github.com/dotnet/arcade
- bac7e1caea791275b7c3ccb4cb75fd6a04a26618
+ 5da211e1c42254cb35e7ef3d5a8428fb24853169
-
+
https://github.com/dotnet/arcade
- bac7e1caea791275b7c3ccb4cb75fd6a04a26618
+ 5da211e1c42254cb35e7ef3d5a8428fb24853169
-
+
https://github.com/dotnet/arcade
- bac7e1caea791275b7c3ccb4cb75fd6a04a26618
+ 5da211e1c42254cb35e7ef3d5a8428fb24853169
-
+
https://github.com/dotnet/arcade
- bac7e1caea791275b7c3ccb4cb75fd6a04a26618
+ 5da211e1c42254cb35e7ef3d5a8428fb24853169
-
+
https://github.com/dotnet/arcade
- bac7e1caea791275b7c3ccb4cb75fd6a04a26618
+ 5da211e1c42254cb35e7ef3d5a8428fb24853169
https://github.com/dotnet/extensions
diff --git a/eng/Versions.props b/eng/Versions.props
index 380dbc4215be..de9306c59d2f 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -166,10 +166,10 @@
6.2.4
6.2.4
- 9.0.0-beta.25077.4
- 9.0.0-beta.25077.4
- 9.0.0-beta.25077.4
- 9.0.0-beta.25077.4
+ 9.0.0-beta.25111.5
+ 9.0.0-beta.25111.5
+ 9.0.0-beta.25111.5
+ 9.0.0-beta.25111.5
9.0.0-alpha.1.24575.1
diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml
index 29515fc23f64..2915d29bb7f6 100644
--- a/eng/common/core-templates/steps/source-build.yml
+++ b/eng/common/core-templates/steps/source-build.yml
@@ -37,7 +37,7 @@ steps:
# in the default public locations.
internalRuntimeDownloadArgs=
if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
- internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
buildConfig=Release
diff --git a/global.json b/global.json
index 97b2439c9343..e52525e2ebde 100644
--- a/global.json
+++ b/global.json
@@ -27,7 +27,7 @@
"jdk": "latest"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25077.4",
- "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25077.4"
+ "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25111.5",
+ "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25111.5"
}
}
From 561e31af4400939a138937b1ba0f21e988e0cb82 Mon Sep 17 00:00:00 2001
From: Safia Abdalla
Date: Mon, 10 Mar 2025 13:01:18 -0700
Subject: [PATCH 052/181] Fix OpenAPI server URLs for Aspire scenarios (#60673)
* Support resolving OpenAPI server URLs from HttpRequest (#60617)
* Support resolving OpenAPI server URLs from HttpRequest
* Try passing optional params everywhere
* Fix up handling for forwarded headers
* Revert "Fix up handling for forwarded headers"
This reverts commit bf991f64c789c0c7e4cbb650b44ff561afc6cbef.
---
.../OpenApiEndpointRouteBuilderExtensions.cs | 2 +-
.../src/Services/OpenApiDocumentService.cs | 23 +++++++++--
.../OpenApiDocumentServiceTests.Servers.cs | 40 +++++++++++++++++++
.../OpenApiDocumentServiceTestsBase.cs | 6 +--
4 files changed, 63 insertions(+), 8 deletions(-)
diff --git a/src/OpenApi/src/Extensions/OpenApiEndpointRouteBuilderExtensions.cs b/src/OpenApi/src/Extensions/OpenApiEndpointRouteBuilderExtensions.cs
index c5bed38669e4..de74fd8d1257 100644
--- a/src/OpenApi/src/Extensions/OpenApiEndpointRouteBuilderExtensions.cs
+++ b/src/OpenApi/src/Extensions/OpenApiEndpointRouteBuilderExtensions.cs
@@ -43,7 +43,7 @@ public static IEndpointConventionBuilder MapOpenApi(this IEndpointRouteBuilder e
}
else
{
- var document = await documentService.GetOpenApiDocumentAsync(context.RequestServices, context.RequestAborted);
+ var document = await documentService.GetOpenApiDocumentAsync(context.RequestServices, context.Request, context.RequestAborted);
var documentOptions = options.Get(documentName);
using var output = MemoryBufferWriter.Get();
using var writer = Utf8BufferTextWriter.Get(output);
diff --git a/src/OpenApi/src/Services/OpenApiDocumentService.cs b/src/OpenApi/src/Services/OpenApiDocumentService.cs
index 5d678e67c8c7..b907cc6ecb20 100644
--- a/src/OpenApi/src/Services/OpenApiDocumentService.cs
+++ b/src/OpenApi/src/Services/OpenApiDocumentService.cs
@@ -14,6 +14,7 @@
using Microsoft.AspNetCore.Hosting.Server;
using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Http.Extensions;
using Microsoft.AspNetCore.Http.Metadata;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
@@ -55,7 +56,7 @@ internal sealed class OpenApiDocumentService(
internal bool TryGetCachedOperationTransformerContext(string descriptionId, [NotNullWhen(true)] out OpenApiOperationTransformerContext? context)
=> _operationTransformerContextCache.TryGetValue(descriptionId, out context);
- public async Task GetOpenApiDocumentAsync(IServiceProvider scopedServiceProvider, CancellationToken cancellationToken = default)
+ public async Task GetOpenApiDocumentAsync(IServiceProvider scopedServiceProvider, HttpRequest? httpRequest = null, CancellationToken cancellationToken = default)
{
// For good hygiene, operation-level tags must also appear in the document-level
// tags collection. This set captures all tags that have been seen so far.
@@ -74,7 +75,7 @@ public async Task GetOpenApiDocumentAsync(IServiceProvider scop
{
Info = GetOpenApiInfo(),
Paths = await GetOpenApiPathsAsync(capturedTags, scopedServiceProvider, operationTransformers, schemaTransformers, cancellationToken),
- Servers = GetOpenApiServers(),
+ Servers = GetOpenApiServers(httpRequest),
Tags = [.. capturedTags]
};
try
@@ -192,12 +193,26 @@ internal OpenApiInfo GetOpenApiInfo()
};
}
- internal List GetOpenApiServers()
+ // Resolve server URL from the request to handle reverse proxies.
+ // If there is active request object, assume a development environment and use the server addresses.
+ internal List GetOpenApiServers(HttpRequest? httpRequest = null)
+ {
+ if (httpRequest is not null)
+ {
+ var serverUrl = UriHelper.BuildAbsolute(httpRequest.Scheme, httpRequest.Host, httpRequest.PathBase);
+ return [new OpenApiServer { Url = serverUrl }];
+ }
+ else
+ {
+ return GetDevelopmentOpenApiServers();
+ }
+ }
+ private List GetDevelopmentOpenApiServers()
{
if (hostEnvironment.IsDevelopment() &&
server?.Features.Get()?.Addresses is { Count: > 0 } addresses)
{
- return addresses.Select(address => new OpenApiServer { Url = address }).ToList();
+ return [.. addresses.Select(address => new OpenApiServer { Url = address })];
}
return [];
}
diff --git a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Servers.cs b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Servers.cs
index c84c7e258510..1bc247c95ad4 100644
--- a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Servers.cs
+++ b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentService/OpenApiDocumentServiceTests.Servers.cs
@@ -1,6 +1,7 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
+using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.AspNetCore.OpenApi;
using Microsoft.Extensions.DependencyInjection;
@@ -10,6 +11,45 @@
public partial class OpenApiDocumentServiceTests
{
+ [Theory]
+ [InlineData("Development", "localhost:5001", "", "http", "http://localhost:5001/")]
+ [InlineData("Development", "example.com", "/api", "https", "https://example.com/api")]
+ [InlineData("Staging", "localhost:5002", "/v1", "http", "http://localhost:5002/v1")]
+ [InlineData("Staging", "api.example.com", "/base/path", "https", "https://api.example.com/base/path")]
+ [InlineData("Development", "localhost", "/", "http", "http://localhost/")]
+ public void GetOpenApiServers_FavorsHttpContextRequestOverServerAddress(string environment, string host, string pathBase, string scheme, string expectedUri)
+ {
+ // Arrange
+ var hostEnvironment = new HostingEnvironment
+ {
+ ApplicationName = "TestApplication",
+ EnvironmentName = environment
+ };
+ var docService = new OpenApiDocumentService(
+ "v1",
+ new Mock().Object,
+ hostEnvironment,
+ GetMockOptionsMonitor(),
+ new Mock().Object,
+ new OpenApiTestServer(["http://localhost:5000"]));
+ var httpContext = new DefaultHttpContext()
+ {
+ Request =
+ {
+ Host = new HostString(host),
+ PathBase = pathBase,
+ Scheme = scheme
+
+ }
+ };
+
+ // Act
+ var servers = docService.GetOpenApiServers(httpContext.Request);
+
+ // Assert
+ Assert.Contains(expectedUri, servers.Select(s => s.Url));
+ }
+
[Fact]
public void GetOpenApiServers_HandlesServerAddressFeatureWithValues()
{
diff --git a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentServiceTestsBase.cs b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentServiceTestsBase.cs
index e773ebf5ff89..b33eb153de4c 100644
--- a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentServiceTestsBase.cs
+++ b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Services/OpenApiDocumentServiceTestsBase.cs
@@ -35,16 +35,16 @@ public static async Task VerifyOpenApiDocument(IEndpointRouteBuilder builder, Op
{
var documentService = CreateDocumentService(builder, openApiOptions);
var scopedService = ((TestServiceProvider)builder.ServiceProvider).CreateScope();
- var document = await documentService.GetOpenApiDocumentAsync(scopedService.ServiceProvider, cancellationToken);
+ var document = await documentService.GetOpenApiDocumentAsync(scopedService.ServiceProvider, null, cancellationToken);
verifyOpenApiDocument(document);
}
- public static async Task VerifyOpenApiDocument(ActionDescriptor action, Action verifyOpenApiDocument)
+ public static async Task VerifyOpenApiDocument(ActionDescriptor action, Action verifyOpenApiDocument, CancellationToken cancellationToken = default)
{
var builder = CreateBuilder();
var documentService = CreateDocumentService(builder, action);
var scopedService = ((TestServiceProvider)builder.ServiceProvider).CreateScope();
- var document = await documentService.GetOpenApiDocumentAsync(scopedService.ServiceProvider);
+ var document = await documentService.GetOpenApiDocumentAsync(scopedService.ServiceProvider, null);
verifyOpenApiDocument(document);
}
From 792b6a9773d7718fc12ca6a9641908c91de26d44 Mon Sep 17 00:00:00 2001
From: Safia Abdalla
Date: Mon, 10 Mar 2025 17:33:56 -0700
Subject: [PATCH 053/181] Fix self-referential schema handling in collection
schemas (#60410)
* Fix self-referential schema handling in collection schemas
* Resolve relative references and add more tests
* Add snapshot tests and prune more refs
* Perf for comparer and resolution
* Use span comparison for reference path
---
.../sample/EndpointRouteBuilderExtensions.cs | 88 ++++++
src/OpenApi/sample/Program.cs | 1 +
.../src/Comparers/OpenApiSchemaComparer.cs | 27 +-
.../Services/Schemas/OpenApiSchemaService.cs | 115 +++++++-
.../OpenApiSchemaReferenceTransformer.cs | 7 +
...t_documentName=schemas-by-ref.verified.txt | 276 ++++++++++++++++++
.../OpenApiSchemaReferenceTransformerTests.cs | 210 +++++++++++++
7 files changed, 716 insertions(+), 8 deletions(-)
diff --git a/src/OpenApi/sample/EndpointRouteBuilderExtensions.cs b/src/OpenApi/sample/EndpointRouteBuilderExtensions.cs
index fd196d7fc101..acf7ae1bd41d 100644
--- a/src/OpenApi/sample/EndpointRouteBuilderExtensions.cs
+++ b/src/OpenApi/sample/EndpointRouteBuilderExtensions.cs
@@ -43,4 +43,92 @@ public static IEndpointConventionBuilder MapSwaggerUi(this IEndpointRouteBuilder