The OpenAPI Generator project works on multiple versions in parallel:
- upcoming patch release
- next minor release containing breaking changes with fallback
- next major release containing breaking changes with no fallback
Branches
To support several versions, several branches are used:

Status in June 2018:
-
master
branch is for upcoming patch releases (3.0.1
,3.0.2
,3.0.3
, ...) -
3.1.x
branch for the next minor release -
4.0.x
branch for the next major release
Merge direction
To port changes from one branch to an other, the merge direction is always from the lowest version to the newer.
Example:
- Merge
master
branch into3.1.0
branch - Merge
3.1.0
branch into4.0.0
branch
Those merge commits are done regularly by the core team.
Merge commit is kept in the history in order to facilitate merge conflict resolution.
Merging back on master
When we drop the support for 3.0.x
, we'll merge 3.1.0
back into master
.
Solving conflicts during merge
TODO, add useful git command, inspired by the discussion in https://github.com/OpenAPITools/openapi-generator/issues/245