Skip to content

feat(library): support schema keywords on references#2906

Merged
baywet merged 5 commits into
mainfrom
feat/additional-siblings
Jun 26, 2026
Merged

feat(library): support schema keywords on references#2906
baywet merged 5 commits into
mainfrom
feat/additional-siblings

Conversation

@baywet

@baywet baywet commented Jun 26, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds JSON Schema keyword sibling support on JsonSchemaReference and OpenApiSchemaReference
  • Parses and serializes native OpenAPI 3.1+/3.2 reference siblings
  • Adds reference tests for keyword overrides, 3.0 extension parsing/serialization, and updates public API entries
  • Refreshes benchmark reports

Fixes #2903

Validation

  • dotnet build Microsoft.OpenApi.slnx -c Release --no-restore
  • dotnet test Microsoft.OpenApi.slnx -c Release --no-build -v n --collect:"XPlat Code Coverage"
  • dotnet run -c Release in performance\benchmark

baywet and others added 2 commits June 26, 2026 13:42
Add JSON Schema keyword sibling storage, parsing, accessors, and serialization for schema references across OpenAPI 3.0 extension compatibility and OpenAPI 3.1+ native keywords.

Fixes #2903

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-code-quality

github-code-quality Bot commented Jun 26, 2026

Copy link
Copy Markdown

Code Coverage Overview

Languages: C#

C# / code-coverage/dotnet

The overall coverage in the branch remains at 88%, unchanged from the branch.

Show a code coverage summary of the most impacted files.
File 26c2358 6043551 +/-
/home/runner/wo...emaReference.cs 99% 92% -7%
/home/runner/wo...Deserializer.cs 91% 93% +2%
/home/runner/wo...Deserializer.cs 91% 94% +3%

Updated June 26, 2026 18:21 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

baywet and others added 3 commits June 26, 2026 13:59
Remove OpenAPI 3.0 schema reference extension sibling parsing and serialization, restoring Reference Object behavior to  only. Also updates JsonSchemaReference documentation links to use clickable XML see href entries.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
15.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@baywet baywet marked this pull request as ready for review June 26, 2026 18:53
@baywet baywet requested a review from a team as a code owner June 26, 2026 18:53
@baywet baywet enabled auto-merge June 26, 2026 18:53
@baywet baywet merged commit 434b2f8 into main Jun 26, 2026
18 of 19 checks passed
@baywet baywet deleted the feat/additional-siblings branch June 26, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add missing keywords support for OpenAPIReference (and JsonSchemaRefernece

2 participants