-
Notifications
You must be signed in to change notification settings - Fork 271
feat!: adds support for OpenAPI 3.2.0 #2529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
baywet
wants to merge
193
commits into
microsoft:main
Choose a base branch
from
BinkyLabs:feat/oai-3-2-support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
adds new OAS vesion and serialization/deserialization infrastructure
…d value in OAS 3.2
sync from upstream main
…ialization-infrastructure-for-v32 Adds serialization/deserialization unit tests for 3.2
* Initial plan * Add Summary support to OpenApiResponse with serialization/deserialization Co-authored-by: baywet <7905502+baywet@users.noreply.github.com> * Complete implementation with reference support and test fixes Co-authored-by: baywet <7905502+baywet@users.noreply.github.com> * Update IOpenApiResponse to derive from IOpenApiSummarizedElement Co-authored-by: baywet <7905502+baywet@users.noreply.github.com> * Apply suggestions from code review * Apply suggestion from @baywet * chore: copy reference implementation Signed-off-by: Vincent Biret <vibiret@microsoft.com> * chore: adds missing using Signed-off-by: Vincent Biret <vibiret@microsoft.com> * chore: linting Signed-off-by: Vincent Biret <vibiret@microsoft.com> * chore: updates public API export Signed-off-by: Vincent Biret <vibiret@microsoft.com> --------- Signed-off-by: Vincent Biret <vibiret@microsoft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: baywet <7905502+baywet@users.noreply.github.com> Co-authored-by: Vincent Biret <vincentbiret@hotmail.com> Co-authored-by: Vincent Biret <vibiret@microsoft.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
chore: updates benchmark results
…e8-b196-901596c61b07
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
…b196-901596c61b07 feat: Implement OpenAPI 3.2.0 server name field
…ization Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
…9aa8-a50a721fd288 feat: Add support for media types components in OAS 3.2.0
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vincentbiret@hotmail.com>
Signed-off-by: Vincent Biret <vincentbiret@hotmail.com>
Signed-off-by: Vincent Biret <vincentbiret@hotmail.com>
Signed-off-by: Vincent Biret <vincentbiret@hotmail.com>
feat: add new v32 properties for Path Items (query, additional operations)
Signed-off-by: Vincent Biret <vincentbiret@hotmail.com>
chore: disables WPF solution on non windows platforms
docs: adds the v3 upgrade guide
This was referenced Oct 6, 2025
docs: adds a pull request template Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
adrian05-ms
approved these changes
Oct 8, 2025
adrian05-ms
previously approved these changes
Oct 8, 2025
docs: adds guidance regarding branches
Chore/main to feat 3 2
Chore/pr-automated-feedback
Comment on lines
+200
to
+204
foreach(var type in list.Where(static t => t is not null)) | ||
{ | ||
var schemaType = type.ToJsonSchemaType(); | ||
combinedType |= schemaType; | ||
} |
Check notice
Code scanning / CodeQL
Missed opportunity to use Select Note
This foreach loop immediately - consider mapping the sequence explicitly using '.Select(...)'.
maps its iteration variable to another variable
Error loading related location
Loading
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This large PR adds support for OpenAPI 3.2.0 🎉🎉🎉🎉
This PR contains multiple source breaking changes (see the updated public API export) and will require a new major version bump. OAI 3.2.0 is fully backward compatible with 3.1.0 (additive), and provides many new interesting features like support for additional HTTP methods, better support for streaming APIs in the age of AI integration, and much more. This PR contains all the new features, except for resolution of references relying on $self since resolution based off $id is not implemented either. This PR also contains CI configuration changes to have a support branch for v2.X like we have a support branch for v1.X. This PR also contains an upgrade guide to v3 (feedback welcome).
In terms of implementation work, you'll notice that all the deserialization infrastructure from 3.1 was duplicated for 3.2. While not optimal in terms of code management (which is somewhat mitigated by coding assistants being able to replicate changes across versions) and binary size, it was done this way to:
I'll still need to tackle this issue before it's code complete BinkyLabs#47, opening for visibility and so we can start the review process.
I've also reached out to @captainsafia internally, who has confirmed NET10 will ship with version 2.X of this library, adding support for OAI3.1. But they've already communicated with customers support for 3.2.0 won't ship with this upcoming version since the standard version came out too late for this release.
fixes #2516
TODO BEFORE MERGE:
TODO AFTER MERGE: