autorest icon indicating copy to clipboard operation
autorest copied to clipboard

Plan to support OpenAPI 3.1

Open OzBob opened this issue 5 years ago • 5 comments

A placeholder Issue for OpenAPI 3.1 support

Just read an article on the differences: https://stoplight.io/blog/difference-between-open-v2-v3-v31/

  1. Full JSON Schema Support
  2. Semantic Versioning Dropped
  3. Paths Are Now Optional
  4. Single “Example” Keyword Has Been Deprecated
  5. Type Can Now Be An Array
  6. Nullable is No More
  7. Null is now supported

OzBob avatar Dec 11 '20 07:12 OzBob

Currently we do not have a plan to add OpenAPI 3.1 support. We will comment back here if that changes!

daviwil avatar Dec 11 '20 19:12 daviwil

Do you have any update regarding OpenAPI 3.1 support?

YohanSciubukgian avatar Jul 27 '23 12:07 YohanSciubukgian

I don't think anything has changed but I'm interested to know what specific features you want.

mikekistler avatar Jul 27 '23 16:07 mikekistler

@mikekistler 3.1 changes new features, i am interested in.

  1. multiple examples
  2. "contentEncoding and contentMediaType" has breaking change side effects
  3. Updated primitive types to be based on JSON Schema Specification Draft 2019-09.

Any of the extended functionality:

Extended Functionality Updated primitive types to be based on JSON Schema Specification Draft 2019-09. This now includes type null. Lifted the restriction of allowing Request Body only in HTTP methods where the HTTP 1.1 specification RFC7231 has explicitly defined semantics for. While allowed in other methods, it is not recommended. Added support to object type for spaceDelimited and pipeDelimited style values. The Encoding Object now supports style, explode and allowReserved for multipart/form-data media type as well. To enable better webhooks support, expressions in the Callback Object can now also reference Path Item Objects. When using the Reference Object, summary and description fields can now be overridden. The Schema Object is now fully compliant with JSON Schema draft 2019-09 (see JSON Schema Core and JSON Schema Validation). See also, Breaking Changes The Discriminator Object can now be extended with Specification Extensions. Added support for mutual TLS (mutualTLS) as a security scheme. Used security requirements can now define an array of roles that are required for execution (and not only scopes for OAuth 2.0 security schemes).

Personally, I have started to sway over to NWagStudio rather than autoreset for client generation.

OzBob avatar Jul 28 '23 01:07 OzBob