From 98fa6f5405212842b748ea519663125385986c81 Mon Sep 17 00:00:00 2001 From: Youssef Fahmy Date: Mon, 29 Jun 2026 17:17:31 +0200 Subject: [PATCH 1/2] Don't silently skip null assignment to OpenApiDocument.Tags --- src/Microsoft.OpenApi/Models/OpenApiDocument.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Microsoft.OpenApi/Models/OpenApiDocument.cs b/src/Microsoft.OpenApi/Models/OpenApiDocument.cs index 0ac0c1941..62a1afa22 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiDocument.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiDocument.cs @@ -89,6 +89,7 @@ public ISet? Tags { if (value is null) { + _tags = null; return; } _tags = value switch From b8dbf9804df810f4721a0593707c40b089567bae Mon Sep 17 00:00:00 2001 From: Youssef Fahmy Date: Mon, 29 Jun 2026 17:19:22 +0200 Subject: [PATCH 2/2] Update OpenApiDocumentTests.cs --- .../Models/OpenApiDocumentTests.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs b/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs index 7a47b8597..f7095bd31 100644 --- a/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs +++ b/test/Microsoft.OpenApi.Tests/Models/OpenApiDocumentTests.cs @@ -2145,6 +2145,17 @@ public void TagsSupportsCustomComparer() Assert.Equal(2, document.Tags.Count); } + [Fact] + public void TagsCanBeReInitializedToNull() + { + var document = new OpenApiDocument(); + Assert.Null(document.Tags); + document.Tags = new HashSet(); + Assert.NotNull(document.Tags); + document.Tags = null; + Assert.Null(document.Tags); + } + private sealed class CaseInsensitiveOpenApiTagEqualityComparer : IEqualityComparer { public bool Equals(OpenApiTag x, OpenApiTag y)