Openapi-generator: Announcement: Upcoming major release 4.0.x

Created on 16 Nov 2018  路  18Comments  路  Source: OpenAPITools/openapi-generator

Description

The upcoming major release with breaking changes (4.0.x) is scheduled on Jan 31st. There will be no minor release before that and the last patch release 3.3.4 will be on Nov 29th. 4.0.0-beta will be released on Dec 20th.

For a list of breaking changes in 4.0.x, please refer to the list

If you've any question, please reply to let us know.

UPDATE (Jan 31st):

  • revised the release date of 4.0.0-beta2 to Jan 31st
  • postponed release date of 4.0.0 to Feb 28th instead
Announcement

Most helpful comment

Why

As the code base was first created back in 2011, we want to gradually refactor the code base to make it more maintainable as we add more and more features to the project.

What

We will refactor the base classes (e.g. DefaultCodegen.java, DefaultGenerator.java, CodegenModel, etc) and generators (e.g. GoClientCodegen.java). These changes will not be considered as breaking changes, which are measured with respect to the output (code, documentation, schema, etc) in terms of functionality.

If you heavily customize the generators (e.g. DefaultCodegen.java, GoClientCoidegen.java) to meet your requirements, please contact us via [email protected] so that we can discuss your use case in details and how we can minimize the impact to your usage.

We also plan to finalize a public interface for OpenAPI Generator (core) so let us know if your requirements so that we can incorporate your feedback into the public interface.

How

For changes relates to refactoring, we'll label the PRs and issues with "Enhancement: Refactoring" so that users will be able to more easily identify these changes and volunteers can help out with the refactoring as well.

When

Starting from v4.0.0

All 18 comments

Why

As the code base was first created back in 2011, we want to gradually refactor the code base to make it more maintainable as we add more and more features to the project.

What

We will refactor the base classes (e.g. DefaultCodegen.java, DefaultGenerator.java, CodegenModel, etc) and generators (e.g. GoClientCodegen.java). These changes will not be considered as breaking changes, which are measured with respect to the output (code, documentation, schema, etc) in terms of functionality.

If you heavily customize the generators (e.g. DefaultCodegen.java, GoClientCoidegen.java) to meet your requirements, please contact us via [email protected] so that we can discuss your use case in details and how we can minimize the impact to your usage.

We also plan to finalize a public interface for OpenAPI Generator (core) so let us know if your requirements so that we can incorporate your feedback into the public interface.

How

For changes relates to refactoring, we'll label the PRs and issues with "Enhancement: Refactoring" so that users will be able to more easily identify these changes and volunteers can help out with the refactoring as well.

When

Starting from v4.0.0

We're addressing some issues related to how alias to map/array is handled and working on some enhancements related to the parser, and therefore we'll delay the 4.0.0-beta release to the end of this month.

UPDATE: 4.0.0-beta has been released: https://twitter.com/oas_generator/status/1079727020374806529

4.0.0-beta2 has been released:
https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.0.0-beta2

Coordinates on maven central:

<dependency>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator</artifactId>
    <version>4.0.0-beta2</version>
</dependency>

UPDATE: we will need to further postpone the release as we've some ongoing refactoring works (e.g. C# client refactor). We hope to release 4.0.0 by mid-March 2019.

hi team,

I don't know which should I use, the openapi-generator or swagger-codegen?

quick question, what is the difference between swagger-codegen?

@weiwunb please refer to the Q&A for more information.

Let us know if you've further questions.

@wing328 Any ETA/update on when 4.0.0 will be released?

We plan to release it in mid-May to better align with the project anniversary.

Any chance of a few more (maybe monthly?) beta releases until then?

That sounds reasonable. What about another beta release in the 1st week of April?

FYI: 4.0.0-beta3 was released as scheduled last week.

<dependency>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator</artifactId>
    <version>4.0.0-beta3</version>
</dependency>

Beta 3 gave false validation errors (duplicate parameters) when running it as a npm package to generate angular services.

@davidwcarlson please use --skip-validate-spec as a workaround for the time being.

@wing328 davidkarlsen :)
Yes - that would ignore the validation errors - but are you aware of the bug (because it is a false positive) - should I create a ticket for it?

Same issue here, did you create a ticket?

@gpor89 nope

I just tried the latest because I wanted the change related to OAuth scopes in spring codegen (https://github.com/OpenAPITools/openapi-generator/issues/392). The new API interface classes are generated with correct scopes now. However, I have an attribute on one of my resources called "eTag" and the generated getter for that model class is now geteTag(). Previously, that generated a getter as getETag(). Is that a known breaking change or a bug? If it's a known change, I will change my code to call the new getter.

  @JsonProperty("eTag")
  private String eTag;

...

  /**
   * Unique tag for current version of the object. Should be used with \"If-Match\" header to prevent lost updates.
   * @return eTag
  */
  @ApiModelProperty(value = "Unique tag for current version of the object. Should be used with \"If-Match\" header to prevent lost updates.")
  public String geteTag() {
    return eTag;
  }

  public void seteTag(String eTag) {
    this.eTag = eTag;
  }

Was this page helpful?
0 / 5 - 0 ratings