OpenAPITools / OpenAPITools/openapi-generator

[REQ] List of generators that will first support openapi 3.1.0 features

Open
#13,073 23 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement: Feature Feature: OAS 3.1.0 spec support
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Is your feature request related to a problem? Please describe.

This ticket is a record of which generator will first support opeanpi 3.1.0 specs and feature

The issue tracking 3.1.0 spec support is here: https://github.com/OpenAPITools/openapi-generator/issues/9083

Note:
One could track the supported features by adding features to our supported feature matrix like we see here:
https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/python.md#schema-support-feature
It may also be useful to run unit tests specs on generated servers/clients like python does in these 3.0.3 json schema tests.
Which run on node4 here

For generators to be able to implement 3.1.0 unevaluatedProperties they need to have properties, patternProperties + additionalProperties working. Not all generators have additionalProperties working for all schema use cases.
There is a java property supportsAdditionalPropertiesWithComposedSchema which indicates broader support for the addditionalProperties keyword on composition use cases (which are usually type unset=AnyType schemas)
The generators which have this set to true are:

  • python
  • python-prior
  • java

Generators

Generator Reason Included in the 3.1.0 list
python - it supports inline schemas of any depth
- it is very compliant with json schema 3.0.3 per 3.0.3 unit tests
- it already supports schema type arrays under the hood because it converts type: nullable X to type X + type null
- it is structured in a way that new validations like prefixItems/contains etc can be easily added
Please vote on Generators that you want

Please vote on generators that you want added by adding +s to the generator name in a comment.

If you want a feature, how about you write a PR adding it?

This is an open source project, so if you want a generator to support the new features please consider writing a PR adding the feature that you want. We are all volunteers here and we can all improve and contribute to this project.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading issue #9083 and the documented Python schema-support feature matrix. Compare generator support for properties, patternProperties, additionalProperties, and the referenced 3.0.3 unit tests. Done would require a decided generator list or updated tracking documentation, but the issue does not define a concrete implementation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, openapi
Domain
api, documentation, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.