-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Description
This issue is to start a discussion on how to go forward with implementing OpenAPI 3.1 once it hits GA.
OpenAPI 3.1.0-rc0 was "recently" released. It brought about new, breaking changes that may affect LoopBack 4's development.
Most notably (but not limited to):
- Full support for JSON Schema Draft 2019-09 primitive types and Schema Object
- Semver dropped
- OpenAPI 3-specific implementation was dropped in favour of JSON Schema (e.g.
exclusiveMinimumandexclusiveMaximumare now numbers)
Potential discussion points:
- This would cause a cascading effect where LoopBack 4 components will have a breaking change.
- What about external tooling (e.g. oas generators)? Should we be able to generate both OAS 3.0 and OAS 3.1 spec?
- openapi-generator only supports OAS 3.0
- swagger-ui only supports OAS 3.0
AJV support for JSON Schema Draft 2019-09 is underway:
Full Release Changelog:
Suggestion
Update codebase to utilize OpenAPI 3.1.
Use Cases
Some immediate benefits:
- No conversion between OAS3-flavor and original JSON Schema spec
- Reduced complexity and confusion
- Future-proofing LoopBack 4 for future versions of OpenAPI 3
etc.
Examples
N/A
Acceptance criteria
TBD - will be filled by the team.