Skip to content

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

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

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

Conversation

@baywet

@baywetVincent Biret (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

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-qualityBot commented Jun 26, 2026

Copy link
Copy Markdown

Code Coverage Overview

Languages: C#

C# / code-coverage/dotnet

The overall coverage in the feat/additional-sibl... branch remains at 88%, unchanged from the main branch.

Show a code coverage summary of the most impacted files.
Filemain26c2358feat/additional-sibl...6043551+/-
/home/runner/wo...emaReference.cs99%92%-7%
/home/runner/wo...Deserializer.cs91%93%+2%
/home/runner/wo...Deserializer.cs91%94%+3%

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

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 FailedQuality Gate failed

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

See analysis details on SonarQube Cloud

@baywet
Vincent Biret (baywet) marked this pull request as ready for review June 26, 2026 18:53
@baywet
Vincent Biret (baywet) requested a review from a team as a code ownerJune 26, 2026 18:53
@baywet
Vincent Biret (baywet) merged commit 434b2f8 into mainJun 26, 2026
18 of 19 checks passed
@baywet
Vincent Biret (baywet) deleted the feat/additional-siblings branch June 26, 2026 19:20
Sign up for freeto 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

@baywet@peombwa