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 01/12] 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 04/12] [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 05/12] [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 06/12] 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 07/12] 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 """, "text/html")).ExcludeFromDescription(); } + + public static IEndpointRouteBuilder MapTypesWithRef(this IEndpointRouteBuilder endpoints) + { + endpoints.MapPost("/category", (Category category) => + { + return Results.Ok(category); + }); + endpoints.MapPost("/container", (ContainerType container) => + { + return Results.Ok(container); + }); + endpoints.MapPost("/root", (Root root) => + { + return Results.Ok(root); + }); + endpoints.MapPost("/location", (LocationContainer location) => + { + return Results.Ok(location); + }); + endpoints.MapPost("/parent", (ParentObject parent) => + { + return Results.Ok(parent); + }); + endpoints.MapPost("/child", (ChildObject child) => + { + return Results.Ok(child); + }); + return endpoints; + } + + public sealed class Category + { + public required string Name { get; set; } + + public required Category Parent { get; set; } + + public IEnumerable Tags { get; set; } = []; + } + + public sealed class Tag + { + public required string Name { get; set; } + } + + public sealed class ContainerType + { + public List> Seq1 { get; set; } = []; + public List> Seq2 { get; set; } = []; + } + + public sealed class Root + { + public Item Item1 { get; set; } = null!; + public Item Item2 { get; set; } = null!; + } + + public sealed class Item + { + public string[] Name { get; set; } = null!; + public int value { get; set; } + } + + public sealed class LocationContainer + { + public required LocationDto Location { get; set; } + } + + public sealed class LocationDto + { + public required AddressDto Address { get; set; } + } + + public sealed class AddressDto + { + public required LocationDto RelatedLocation { get; set; } + } + + public sealed class ParentObject + { + public int Id { get; set; } + public List Children { get; set; } = []; + } + + public sealed class ChildObject + { + public int Id { get; set; } + public required ParentObject Parent { get; set; } + } } diff --git a/src/OpenApi/sample/Program.cs b/src/OpenApi/sample/Program.cs index a622780ff482..e2a1c4c0866f 100644 --- a/src/OpenApi/sample/Program.cs +++ b/src/OpenApi/sample/Program.cs @@ -113,6 +113,7 @@ schemas.MapPost("/shape", (Shape shape) => { }); schemas.MapPost("/weatherforecastbase", (WeatherForecastBase forecast) => { }); schemas.MapPost("/person", (Person person) => { }); +schemas.MapTypesWithRef(); app.MapControllers(); diff --git a/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs b/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs index 2e69b10f213f..46f91cd8a494 100644 --- a/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs +++ b/src/OpenApi/src/Comparers/OpenApiSchemaComparer.cs @@ -24,9 +24,30 @@ 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 both have references, compare the final segments to handle + // equivalent types in different contexts, like the same schema + // in a dictionary value or list like "#/components/schemas/#/additionalProperties/properties/location/properties/address" + if (x.Reference != null && y.Reference != null) + { + if (x.Reference.Id.StartsWith("#", StringComparison.OrdinalIgnoreCase) && + y.Reference.Id.StartsWith("#", StringComparison.OrdinalIgnoreCase) && + x.Reference.ReferenceV3 is string xFullReferencePath && + y.Reference.ReferenceV3 is string yFullReferencePath) + { + // Compare the last segments of the reference paths + // to handle equivalent types in different contexts, + // like the same schema in a dictionary value or list + var xLastIndexOf = xFullReferencePath.LastIndexOf('/'); + var yLastIndexOf = yFullReferencePath.LastIndexOf('/'); + + if (xLastIndexOf != -1 && yLastIndexOf != -1) + { + return xFullReferencePath.AsSpan(xLastIndexOf).Equals(yFullReferencePath.AsSpan(yLastIndexOf), StringComparison.OrdinalIgnoreCase); + } + } + } + + // If only one has a reference, compare using schema IDs if ((x.Reference != null && y.Reference == null) || (x.Reference == null && y.Reference != null)) { diff --git a/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs b/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs index 537eb5d5db72..812f896ee25d 100644 --- a/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs +++ b/src/OpenApi/src/Services/Schemas/OpenApiSchemaService.cs @@ -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] = createSchemaReferenceId(context.TypeInfo) }; + schema[OpenApiSchemaKeywords.RefKeyword] = createSchemaReferenceId(context.TypeInfo); } schema.ApplyNullabilityContextInfo(jsonPropertyInfo); } @@ -213,13 +213,118 @@ private async Task InnerApplySchemaTransformersAsync(OpenApiSchema schema, } } - if (schema is { AdditionalPropertiesAllowed: true, AdditionalProperties: not null } && jsonTypeInfo.ElementType is not null) - { + 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); + { + var sourceSchema = JsonSchemaExporter.GetJsonSchemaAsNode(_jsonSerializerOptions, key.Type, _configuration); + + // Resolve any relative references in the schema + ResolveRelativeReferences(sourceSchema, sourceSchema); + + return sourceSchema; + } + + // Helper method to recursively resolve relative references in a schema + private static void ResolveRelativeReferences(JsonNode node, JsonNode rootNode) + { + if (node is JsonObject jsonObj) + { + // Check if this node has a $ref property with a relative reference and no schemaId to + // resolve to + if (jsonObj.TryGetPropertyValue(OpenApiSchemaKeywords.RefKeyword, out var refNode) && + refNode is JsonValue refValue && + refValue.TryGetValue(out var refPath) && + refPath.StartsWith("#/", StringComparison.OrdinalIgnoreCase) && + !jsonObj.TryGetPropertyValue(OpenApiConstants.SchemaId, out var schemaId) && + schemaId is null) + { + // Found a relative reference, resolve it + var resolvedNode = ResolveJsonPointer(rootNode, refPath); + if (resolvedNode != null) + { + // Copy all properties from the resolved node + if (resolvedNode is JsonObject resolvedObj) + { + foreach (var property in resolvedObj) + { + // Clone the property value to avoid modifying the original + var clonedValue = property.Value != null + ? JsonNode.Parse(property.Value.ToJsonString()) + : null; + + jsonObj[property.Key] = clonedValue; + } + } + } + } + else + { + // Recursively process all properties + foreach (var property in jsonObj) + { + if (property.Value is JsonNode propNode) + { + ResolveRelativeReferences(propNode, rootNode); + } + } + } + } + else if (node is JsonArray jsonArray) + { + // Process each item in the array + for (var i = 0; i < jsonArray.Count; i++) + { + if (jsonArray[i] is JsonNode arrayItem) + { + ResolveRelativeReferences(arrayItem, rootNode); + } + } + } + } + + // Helper method to resolve a JSON pointer path and return the referenced node + private static JsonNode? ResolveJsonPointer(JsonNode root, string pointer) + { + if (string.IsNullOrEmpty(pointer) || !pointer.StartsWith("#/", StringComparison.OrdinalIgnoreCase)) + { + return null; // Invalid pointer + } + + // Remove the leading "#/" and split the path into segments + var jsonPointer = pointer.AsSpan(2); + var segments = jsonPointer.Split('/'); + var currentNode = root; + + foreach (var segment in segments) + { + if (currentNode is JsonObject jsonObj) + { + if (!jsonObj.TryGetPropertyValue(jsonPointer[segment].ToString(), out var nextNode)) + { + return null; // Path segment not found + } + currentNode = nextNode; + } + else if (currentNode is JsonArray jsonArray && int.TryParse(jsonPointer[segment], out var index)) + { + if (index < 0 || index >= jsonArray.Count) + { + return null; // Index out of range + } + currentNode = jsonArray[index]; + } + else + { + return null; // Cannot navigate further + } + } + + return currentNode; + } } diff --git a/src/OpenApi/src/Transformers/Implementations/OpenApiSchemaReferenceTransformer.cs b/src/OpenApi/src/Transformers/Implementations/OpenApiSchemaReferenceTransformer.cs index ee7e166daab7..aa98a21894ff 100644 --- a/src/OpenApi/src/Transformers/Implementations/OpenApiSchemaReferenceTransformer.cs +++ b/src/OpenApi/src/Transformers/Implementations/OpenApiSchemaReferenceTransformer.cs @@ -112,6 +112,13 @@ public Task TransformAsync(OpenApiDocument document, OpenApiDocumentTransformerC return new OpenApiSchema { Reference = new OpenApiReference { Type = ReferenceType.Schema, Id = schemaId?.ToString() } }; } + // Handle relative schemas that don't point to the parent document but to another property in the same type. + // In this case, remove the reference and rely on the properties that have been resolved and copied by the OpenApiSchemaService. + if (schema.Reference is { Type: ReferenceType.Schema, Id: var id } && id.StartsWith("#/", StringComparison.Ordinal)) + { + schema.Reference = null; + } + if (schema.AllOf is not null) { for (var i = 0; i < schema.AllOf.Count; i++) diff --git a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Integration/snapshots/OpenApiDocumentIntegrationTests.VerifyOpenApiDocument_documentName=schemas-by-ref.verified.txt b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Integration/snapshots/OpenApiDocumentIntegrationTests.VerifyOpenApiDocument_documentName=schemas-by-ref.verified.txt index cd00d261b632..3e5373a7e36b 100644 --- a/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Integration/snapshots/OpenApiDocumentIntegrationTests.VerifyOpenApiDocument_documentName=schemas-by-ref.verified.txt +++ b/src/OpenApi/test/Microsoft.AspNetCore.OpenApi.Tests/Integration/snapshots/OpenApiDocumentIntegrationTests.VerifyOpenApiDocument_documentName=schemas-by-ref.verified.txt @@ -375,6 +375,138 @@ } } } + }, + "/schemas-by-ref/category": { + "post": { + "tags": [ + "Sample" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Category" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/schemas-by-ref/container": { + "post": { + "tags": [ + "Sample" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContainerType" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/schemas-by-ref/root": { + "post": { + "tags": [ + "Sample" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Root" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/schemas-by-ref/location": { + "post": { + "tags": [ + "Sample" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocationContainer" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/schemas-by-ref/parent": { + "post": { + "tags": [ + "Sample" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ParentObject" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/schemas-by-ref/child": { + "post": { + "tags": [ + "Sample" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChildObject" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } } }, "components": { @@ -391,6 +523,128 @@ } } }, + "AddressDto": { + "required": [ + "relatedLocation" + ], + "type": "object", + "properties": { + "relatedLocation": { + "$ref": "#/components/schemas/LocationDto" + } + } + }, + "Category": { + "required": [ + "name", + "parent" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "parent": { + "$ref": "#/components/schemas/Category" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "ChildObject": { + "required": [ + "parent" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "parent": { + "$ref": "#/components/schemas/ParentObject" + } + } + }, + "ContainerType": { + "type": "object", + "properties": { + "seq1": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "seq2": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "Item": { + "type": "object", + "properties": { + "name": { + "type": "array", + "items": { + "type": "string" + } + }, + "value": { + "type": "integer", + "format": "int32" + } + } + }, + "LocationContainer": { + "required": [ + "location" + ], + "type": "object", + "properties": { + "location": { + "$ref": "#/components/schemas/LocationDto" + } + } + }, + "LocationDto": { + "required": [ + "address" + ], + "type": "object", + "properties": { + "address": { + "$ref": "#/components/schemas/AddressDto" + } + } + }, + "ParentObject": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChildObject" + } + } + } + }, "Person": { "required": [ "discriminator" @@ -454,6 +708,17 @@ } } }, + "Root": { + "type": "object", + "properties": { + "item1": { + "$ref": "#/components/schemas/Item" + }, + "item2": { + "$ref": "#/components/schemas/Item" + } + } + }, "Shape": { "required": [ "$type" @@ -517,6 +782,17 @@ } } }, + "Tag": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, "Triangle": { "type": "object", "properties": { 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 7209715e3516..f8d46f771ca1 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 @@ -505,6 +505,58 @@ await VerifyOpenApiDocument(builder, document => // Assert that $ref is used for related LocationDto var addressSchema = locationSchema.Properties["address"].GetEffective(document); Assert.Equal("LocationDto", addressSchema.Properties["relatedLocation"].Reference.Id); + + // Assert that only expected schemas are generated at the top-level + Assert.Equal(["AddressDto", "LocationContainer", "LocationDto"], document.Components.Schemas.Keys); + }); + } + + [Fact] + public async Task SupportsListOfNestedSchemasWithSelfReference() + { + // Arrange + var builder = CreateBuilder(); + + builder.MapPost("/list", (List items) => { }); + builder.MapPost("/array", (LocationContainer[] items) => { }); + builder.MapPost("/dictionary", (Dictionary items) => { }); + builder.MapPost("/", (LocationContainer item) => { }); + + await VerifyOpenApiDocument(builder, document => + { + var listOperation = document.Paths["/list"].Operations[OperationType.Post]; + var listRequestSchema = listOperation.RequestBody.Content["application/json"].Schema; + + var arrayOperation = document.Paths["/array"].Operations[OperationType.Post]; + var arrayRequestSchema = arrayOperation.RequestBody.Content["application/json"].Schema; + + var dictionaryOperation = document.Paths["/dictionary"].Operations[OperationType.Post]; + var dictionaryRequestSchema = dictionaryOperation.RequestBody.Content["application/json"].Schema; + + var operation = document.Paths["/"].Operations[OperationType.Post]; + var requestSchema = operation.RequestBody.Content["application/json"].Schema; + + // Assert $ref used for top-level + Assert.Equal("LocationContainer", listRequestSchema.Items.Reference.Id); + Assert.Equal("LocationContainer", arrayRequestSchema.Items.Reference.Id); + Assert.Equal("LocationContainer", dictionaryRequestSchema.AdditionalProperties.Reference.Id); + 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); + + // Assert that only expected schemas are generated at the top-level + Assert.Equal(3, document.Components.Schemas.Count); + Assert.Equal(["AddressDto", "LocationContainer", "LocationDto"], document.Components.Schemas.Keys); }); } @@ -531,6 +583,9 @@ await VerifyOpenApiDocument(builder, document => // Assert that $ref is used for nested Parent var childSchema = parentSchema.Properties["children"].Items.GetEffective(document); Assert.Equal("ParentObject", childSchema.Properties["parent"].Reference.Id); + + // Assert that only the expected schemas are registered + Assert.Equal(["ChildObject", "ParentObject"], document.Components.Schemas.Keys); }); } @@ -559,6 +614,161 @@ await VerifyOpenApiDocument(builder, document => }); } + // Test for: https://github.com/dotnet/aspnetcore/issues/60381 + [Fact] + public async Task ResolvesListBasedReferencesCorrectly() + { + // Arrange + var builder = CreateBuilder(); + + builder.MapPost("/", (ContainerType 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("ContainerType", requestSchema.Reference.Id); + + // Get effective schema for ContainerType + var containerSchema = requestSchema.GetEffective(document); + Assert.Equal(2, containerSchema.Properties.Count); + + // Check Seq1 and Seq2 properties + var seq1Schema = containerSchema.Properties["seq1"]; + var seq2Schema = containerSchema.Properties["seq2"]; + + // Assert both are array types + Assert.Equal("array", seq1Schema.Type); + Assert.Equal("array", seq2Schema.Type); + + // Assert items are arrays of strings + Assert.Equal("array", seq1Schema.Items.Type); + Assert.Equal("array", seq2Schema.Items.Type); + + // Since both Seq1 and Seq2 are the same type (List>), + // they should reference the same schema structure + Assert.Equal(seq1Schema.Items.Type, seq2Schema.Items.Type); + + // Verify the inner arrays contain strings + Assert.Equal("string", seq1Schema.Items.Items.Type); + Assert.Equal("string", seq2Schema.Items.Items.Type); + + Assert.Equal(["ContainerType"], document.Components.Schemas.Keys); + }); + } + + // Tests for: https://github.com/dotnet/aspnetcore/issues/60012 + [Fact] + public async Task SupportsListOfClassInSelfReferentialSchema() + { + // Arrange + var builder = CreateBuilder(); + + builder.MapPost("/", (Category 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("Category", requestSchema.Reference.Id); + + // Assert that $ref is used for nested Tags + var categorySchema = requestSchema.GetEffective(document); + Assert.Equal("Tag", categorySchema.Properties["tags"].Items.Reference.Id); + + // Assert that $ref is used for nested Parent + Assert.Equal("Category", categorySchema.Properties["parent"].Reference.Id); + + // Assert that no duplicate schemas are emitted + Assert.Collection(document.Components.Schemas, + schema => + { + Assert.Equal("Category", schema.Key); + }, + schema => + { + Assert.Equal("Tag", schema.Key); + }); + }); + } + + [Fact] + public async Task UsesSameReferenceForSameTypeInDifferentLocations() + { + // Arrange + var builder = CreateBuilder(); + + builder.MapPost("/parent-object", (ParentObject item) => { }); + builder.MapPost("/list", (List item) => { }); + builder.MapPost("/dictionary", (Dictionary item) => { }); + + await VerifyOpenApiDocument(builder, document => + { + var operation = document.Paths["/parent-object"].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); + + operation = document.Paths["/list"].Operations[OperationType.Post]; + requestSchema = operation.RequestBody.Content["application/json"].Schema; + + // Assert $ref used for items in the list definition + Assert.Equal("ParentObject", requestSchema.Items.Reference.Id); + parentSchema = requestSchema.Items.GetEffective(document); + Assert.Equal("ChildObject", parentSchema.Properties["children"].Items.Reference.Id); + + childSchema = parentSchema.Properties["children"].Items.GetEffective(document); + Assert.Equal("ParentObject", childSchema.Properties["parent"].Reference.Id); + + operation = document.Paths["/dictionary"].Operations[OperationType.Post]; + requestSchema = operation.RequestBody.Content["application/json"].Schema; + + // Assert $ref used for items in the dictionary definition + Assert.Equal("ParentObject", requestSchema.AdditionalProperties.Reference.Id); + parentSchema = requestSchema.AdditionalProperties.GetEffective(document); + Assert.Equal("ChildObject", parentSchema.Properties["children"].Items.Reference.Id); + + childSchema = parentSchema.Properties["children"].Items.GetEffective(document); + Assert.Equal("ParentObject", childSchema.Properties["parent"].Reference.Id); + + // Assert that only the expected schemas are registered + Assert.Equal(["ChildObject", "ParentObject"], document.Components.Schemas.Keys); + }); + } + + private class Category + { + public required string Name { get; set; } + + public Category Parent { get; set; } + + public IEnumerable Tags { get; set; } = []; + } + + public class Tag + { + public required string Name { get; set; } + } + + private class ContainerType + { + public List> Seq1 { get; set; } = []; + public List> Seq2 { get; set; } = []; + } + private class Root { public Item Item1 { get; set; } = null!; From cd7e571b413096e4fedbf18f733723ab9b6611ef Mon Sep 17 00:00:00 2001 From: Mackinnon Buck Date: Mon, 10 Mar 2025 18:48:02 -0700 Subject: [PATCH 08/12] Fix CustomElements JS assets not included in build output (#60858) --- .../src/Microsoft.AspNetCore.Components.CustomElements.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Components/CustomElements/src/Microsoft.AspNetCore.Components.CustomElements.csproj b/src/Components/CustomElements/src/Microsoft.AspNetCore.Components.CustomElements.csproj index 4c5ae75fa8a4..5d27de7c059f 100644 --- a/src/Components/CustomElements/src/Microsoft.AspNetCore.Components.CustomElements.csproj +++ b/src/Components/CustomElements/src/Microsoft.AspNetCore.Components.CustomElements.csproj @@ -1,4 +1,4 @@ - + $(DefaultNetCoreTargetFramework) @@ -18,7 +18,7 @@ - + <_JsBuildOutput Include="$(InteropWorkingDir)dist\$(Configuration)\**" Exclude="$(InteropWorkingDir)dist\.gitignore" /> From ec4f4cd4cb5520f12c63ed34e70d9b51195066a5 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Thu, 13 Mar 2025 19:26:22 +0000 Subject: [PATCH 09/12] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-runtime build 20250312.18 Microsoft.Bcl.AsyncInterfaces , Microsoft.Bcl.TimeProvider , Microsoft.Extensions.Caching.Abstractions , Microsoft.Extensions.Caching.Memory , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.Binder , Microsoft.Extensions.Configuration.CommandLine , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.FileExtensions , Microsoft.Extensions.Configuration.Ini , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.Configuration.UserSecrets , Microsoft.Extensions.Configuration.Xml , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyInjection.Abstractions , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.Diagnostics , Microsoft.Extensions.Diagnostics.Abstractions , Microsoft.Extensions.FileProviders.Abstractions , Microsoft.Extensions.FileProviders.Composite , Microsoft.Extensions.FileProviders.Physical , Microsoft.Extensions.FileSystemGlobbing , Microsoft.Extensions.HostFactoryResolver.Sources , Microsoft.Extensions.Hosting , Microsoft.Extensions.Hosting.Abstractions , Microsoft.Extensions.Http , Microsoft.Extensions.Logging , Microsoft.Extensions.Logging.Abstractions , Microsoft.Extensions.Logging.Configuration , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Logging.EventLog , Microsoft.Extensions.Logging.EventSource , Microsoft.Extensions.Logging.TraceSource , Microsoft.Extensions.Options , Microsoft.Extensions.Options.ConfigurationExtensions , Microsoft.Extensions.Options.DataAnnotations , Microsoft.Extensions.Primitives , Microsoft.Internal.Runtime.AspNetCore.Transport , Microsoft.NET.Runtime.MonoAOTCompiler.Task , Microsoft.NET.Runtime.WebAssembly.Sdk , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.BrowserDebugHost.Transport , Microsoft.NETCore.Platforms , System.Collections.Immutable , System.Composition , System.Configuration.ConfigurationManager , System.Diagnostics.DiagnosticSource , System.Diagnostics.EventLog , System.Diagnostics.PerformanceCounter , System.DirectoryServices.Protocols , System.IO.Hashing , System.IO.Pipelines , System.Net.Http.Json , System.Net.Http.WinHttpHandler , System.Net.ServerSentEvents , System.Reflection.Metadata , System.Resources.Extensions , System.Runtime.Caching , System.Security.Cryptography.Pkcs , System.Security.Cryptography.Xml , System.Security.Permissions , System.ServiceProcess.ServiceController , System.Text.Encodings.Web , System.Text.Json , System.Threading.AccessControl , System.Threading.Channels , System.Threading.RateLimiting , Microsoft.SourceBuild.Intermediate.runtime.linux-x64 From Version 9.0.3 -> To Version 9.0.4 --- NuGet.config | 8 +- eng/Version.Details.xml | 288 ++++++++++++++++++++-------------------- eng/Versions.props | 144 ++++++++++---------- 3 files changed, 222 insertions(+), 218 deletions(-) diff --git a/NuGet.config b/NuGet.config index f8b0b0f8f7db..e7289285a27c 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,10 +4,12 @@ - + + + @@ -30,10 +32,12 @@ + + - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 989cca9ca192..df72e9422c51 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -42,292 +42,292 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore 68c7e19496df80819410fc6de1682a194aad33d3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 https://github.com/dotnet/xdt @@ -367,9 +367,9 @@ bc1c3011064a493b0ca527df6fb7215e2e5cfa96 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 @@ -380,9 +380,9 @@ - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 831d23e56149cd59c40fc00c7feb7c5334bd19c4 + 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 https://github.com/dotnet/winforms diff --git a/eng/Versions.props b/eng/Versions.props index 7d377eb03252..8e0f66872fd5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -68,80 +68,80 @@ --> - 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.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4-servicing.25162.18 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4-servicing.25162.18 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4-servicing.25162.18 + 9.0.4-servicing.25162.18 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 - 9.0.3-servicing.25111.13 - 9.0.3 + 9.0.4-servicing.25162.18 + 9.0.4 - 9.0.3 - 9.0.3 - 9.0.3 - 9.0.3 - 9.0.3 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 9.3.0-preview.1.25156.1 9.3.0-preview.1.25156.1 From 859cccdad69e916110daf72cec7731486416c536 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Thu, 13 Mar 2025 20:53:32 +0000 Subject: [PATCH 10/12] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-efcore build 20250313.6 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.4 --- NuGet.config | 8 ++------ eng/Version.Details.xml | 32 ++++++++++++++++---------------- eng/Versions.props | 16 ++++++++-------- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/NuGet.config b/NuGet.config index e7289285a27c..13b6be6d6537 100644 --- a/NuGet.config +++ b/NuGet.config @@ -7,9 +7,7 @@ - - - + @@ -32,9 +30,7 @@ - - - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index df72e9422c51..7f0751583f72 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -9,38 +9,38 @@ --> - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a - + https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - 68c7e19496df80819410fc6de1682a194aad33d3 + bb7c8435d82b8701a779d505b724a7107c1b0b4a https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index 8e0f66872fd5..389ddb02db7b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -146,14 +146,14 @@ 9.3.0-preview.1.25156.1 9.3.0-preview.1.25156.1 - 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.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 + 9.0.4 4.11.0-3.24554.2 4.11.0-3.24554.2 From 6ded96b88efcc263039d5d31d53d2a919ac737bb Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Fri, 14 Mar 2025 02:59:44 +0000 Subject: [PATCH 11/12] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-runtime build 20250313.5 Microsoft.Bcl.AsyncInterfaces , Microsoft.Bcl.TimeProvider , Microsoft.Extensions.Caching.Abstractions , Microsoft.Extensions.Caching.Memory , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.Binder , Microsoft.Extensions.Configuration.CommandLine , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.FileExtensions , Microsoft.Extensions.Configuration.Ini , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.Configuration.UserSecrets , Microsoft.Extensions.Configuration.Xml , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyInjection.Abstractions , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.Diagnostics , Microsoft.Extensions.Diagnostics.Abstractions , Microsoft.Extensions.FileProviders.Abstractions , Microsoft.Extensions.FileProviders.Composite , Microsoft.Extensions.FileProviders.Physical , Microsoft.Extensions.FileSystemGlobbing , Microsoft.Extensions.HostFactoryResolver.Sources , Microsoft.Extensions.Hosting , Microsoft.Extensions.Hosting.Abstractions , Microsoft.Extensions.Http , Microsoft.Extensions.Logging , Microsoft.Extensions.Logging.Abstractions , Microsoft.Extensions.Logging.Configuration , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Logging.EventLog , Microsoft.Extensions.Logging.EventSource , Microsoft.Extensions.Logging.TraceSource , Microsoft.Extensions.Options , Microsoft.Extensions.Options.ConfigurationExtensions , Microsoft.Extensions.Options.DataAnnotations , Microsoft.Extensions.Primitives , Microsoft.Internal.Runtime.AspNetCore.Transport , Microsoft.NET.Runtime.MonoAOTCompiler.Task , Microsoft.NET.Runtime.WebAssembly.Sdk , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.BrowserDebugHost.Transport , Microsoft.NETCore.Platforms , System.Collections.Immutable , System.Composition , System.Configuration.ConfigurationManager , System.Diagnostics.DiagnosticSource , System.Diagnostics.EventLog , System.Diagnostics.PerformanceCounter , System.DirectoryServices.Protocols , System.IO.Hashing , System.IO.Pipelines , System.Net.Http.Json , System.Net.Http.WinHttpHandler , System.Net.ServerSentEvents , System.Reflection.Metadata , System.Resources.Extensions , System.Runtime.Caching , System.Security.Cryptography.Pkcs , System.Security.Cryptography.Xml , System.Security.Permissions , System.ServiceProcess.ServiceController , System.Text.Encodings.Web , System.Text.Json , System.Threading.AccessControl , System.Threading.Channels , System.Threading.RateLimiting , Microsoft.SourceBuild.Intermediate.runtime.linux-x64 From Version 9.0.3 -> To Version 9.0.4 --- NuGet.config | 4 +- eng/Version.Details.xml | 154 ++++++++++++++++++++-------------------- eng/Versions.props | 10 +-- 3 files changed, 84 insertions(+), 84 deletions(-) diff --git a/NuGet.config b/NuGet.config index 13b6be6d6537..fd8ee7ae267a 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -33,7 +33,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7f0751583f72..9d38dd34e8a3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -44,268 +44,268 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://github.com/dotnet/xdt @@ -369,7 +369,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 @@ -380,9 +380,9 @@ - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 0c9b70db7b7bfcbc33e85bc40e215c3b138823e5 + f57e6dc747158ab7ade4e62a75a6750d16b771e8 https://github.com/dotnet/winforms diff --git a/eng/Versions.props b/eng/Versions.props index 389ddb02db7b..3e45eded9065 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -74,7 +74,7 @@ 9.0.4 9.0.4 9.0.4 - 9.0.4-servicing.25162.18 + 9.0.4-servicing.25163.5 9.0.4 9.0.4 9.0.4 @@ -95,7 +95,7 @@ 9.0.4 9.0.4 9.0.4 - 9.0.4-servicing.25162.18 + 9.0.4-servicing.25163.5 9.0.4 9.0.4 9.0.4 @@ -111,8 +111,8 @@ 9.0.4 9.0.4 9.0.4 - 9.0.4-servicing.25162.18 - 9.0.4-servicing.25162.18 + 9.0.4-servicing.25163.5 + 9.0.4-servicing.25163.5 9.0.4 9.0.4 9.0.4 @@ -134,7 +134,7 @@ 9.0.4 9.0.4 - 9.0.4-servicing.25162.18 + 9.0.4-servicing.25163.5 9.0.4 9.0.4 From 032c147f56f6b5c5a8751dee499f0d5bd82a08ac Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Fri, 14 Mar 2025 06:56:31 +0000 Subject: [PATCH 12/12] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-efcore build 20250313.10 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.4 -> To Version 9.0.4 --- NuGet.config | 4 ++-- eng/Version.Details.xml | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/NuGet.config b/NuGet.config index fd8ee7ae267a..9bc1f58f58ef 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 9d38dd34e8a3..28d773064132 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -11,36 +11,36 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-efcore - bb7c8435d82b8701a779d505b724a7107c1b0b4a + 9275e9ac55e413546a09551c29d5227d6d009747 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime