Skip to content

Releases: swagger-api/swagger-codegen

Swagger Codegen 2.4.0 has been released!

30 Nov 10:18
ddc4154
Compare
Choose a tag to compare

Long awaited 2.4.0 release!

Four new generators, and a lot of PRs with bug fixing and enhancement in core and many generators.
Please check out the list of PRs in Notable changes below to see how generators are affected.

New Generators:

  • kotlin-server (Server)
  • typescript-inversify (Client)
  • scala-gatling (Client)
  • dart-jaguar (Client)

Notable changes:

  • disabled spring tests generation. (#8950)
  • fix retrofit2 play imports (#8938)
  • fix rest-assured javadoc (#8937)
  • update spring samples (#8934)
  • update php symfony samples (#8931)
  • update kotlin samples (#8924)
  • Samples update and fixes (#8894)
  • ref #8796 - fix html2 request and response schemas (#8889)
  • fixes python tests in Travis CI (#8887)
  • ref #8884 - fix openapi-yaml serialization (#8885)
  • Frozenstep kotlin fixing file uploading (#8827)
  • Frozenstep kotlin void response type (#8822)
  • Added Windows Docker Run instruction (#8788)
  • added api test files templates for springboot and spring mvc. (#8771)
  • Frozenstep kotlin download file fix (#8769)
  • refactor changes related to #8712 in order to solve maven build fail. (#8748)
  • [PHP] add support deprecated phpdoc tag (#8735)
  • [PHP] update php-symfony/services.mustache (#8730)
  • [Dart] Fix Dart enums (#8426) (#8721)
  • remove system property to avoid affect others generator tests. (#8716)
  • fixed example fields addition (#8713)
  • generator for dart jaguar (#8681)
  • adapt for jenkins CI java7 (#8649)
  • [Cpprest] Check for null values (#8647)
  • adapt for jenkins CI (#8643)
  • Resteasy sample tweaks (#8594)
  • fix(security): bump superagent dependency 3.5.2 -> 3.7.0 (#8580)
  • refs #8530 - fix test spec for jaxrs servers (#8538)
  • Update README.md (#8536)
  • [BUG] [CRITICAL] [PHP] Symfony server incorrect validation: min contstraint in max condition (#8535)
  • PHP 7.2 (#8534)
  • Add support for x-codegen-ignore and x-import-mapping extensions (#8478)
  • Fix for $ref as last element in allOf error (#8476)
  • [C#] Support newlines in comments in various sections (#8472)
  • added logic for newlines in comments for operation descriptions only (#8463)
  • add output file options for swagger codegen (#8454)
  • Fix for Issue #8339 (#8453)
  • refs #3261 - fixes maven plugin example jersey version (#8448)
  • refs #8359 - Fixed setting of custom header (#8446)
  • Revert "Fix getter methods for Java model with additionalProperties" (#8440)
  • added value to required property on test data. (#8434)
  • added mixIn configuration on mapper to fix extra schema on swagger-yaml (#8427)
  • add timeout to circleci (#8422)
  • setup sbt in circle config (#8420)
  • Make spring-mvc jersey tests wait that jetty is closed before terminating (#8418)
  • [PYTHON] Issue 8075 - additionalProperties support (#8414)
  • feat: support for python3.7 (async is a keyword) (#8401)
  • Fix issue #5780 (#8317)
  • Update README.md (#8316)
  • Update README.md (#8312)
  • fixed NPE on getHasQueryParams method. (#8297)
  • Fix getHasQueryParams to take authMethods into account (#8292)
  • added pattern, mixLength, maxLength from "non object" model to a code… (#8277)
  • Make usage of -D more explicit in example (#8276)
  • Docker: use correct MAVEN_CONFIG (#8257)
  • Fix getter methods for Java model with additionalProperties (#8245)
  • updated swagger core and swagger parser versions, also added tests to… (#8225)
  • fixed index out of bound exception for inline empty example field. (#8220)
  • [JAVA] Add import to models for jaxrs-reasteasy-eap (#8185)
  • [typescript-angular] add providedIn support (#8183)
  • Comment out scalaz test due to sbt error (#8172)
  • Strict Typescript output of discriminator (PHNX-805) (#1) (#8157)
  • update typescript-node package-lock.json (#8156)
  • [typescript-angular] Added support for Angular v6 (by adding support for RxJS v6) (#8155)
  • Fix for uncompilable java client if no model definitions is specified … (#8123)
  • [rust-server] Enhance middleware support (+ perf fix) (#8114)
  • typescript-angular: Ng43 with interfaces petstore scripts (#8102)
  • [Clojure] Default */- MIME to application/json (#8096)
  • Fix context import order (#8094)
  • Add option modelPropertyNaming to javascript generator (#8086)
  • Camelize Kotlin model names and filenames (#8085)
  • Add support for typealiases in Kotlin client (#8084)
  • Remove extra spaces breaking line-continuation (#8070)
  • Adapt Python README template, fixes #7269 (#8069)
  • Fix read on closed body. (#8057)
  • [codegen][java]Issue 8055: create javadoc and source jar from gradle build (#8056)
  • [JAVA][Rest-assured] Version rest-assured has been updated to 3.1.0 (#8052)
  • [typescript][angular] query parameter with null value should not be set (#8033)
  • Allow to set values with setApiPackage(..) and setModelPackage(..) (#8013)
  • Add HideGenerationTimestamp getter and setter in CodegenConfig (#8009)
  • show number as strings (#8003)
  • Getter and Setter for hideGenerationTimestamp (#7998)
  • Added vendorExtensions.x-isPrimitive. (#7991)
  • Golang Client Refactor (body and model in errors, typed optional parameters) (#7987)
  • Fixing invalid syntax of commas in build.gradle of generated Java lang client (critical error) (#7985)
  • [typescript-angular] AOT-compatible API client (via ng-packagr and ngc) (#7984)
  • Remove TypescriptInversifyAdditionalPropertiesIntegrationTest.java to fix integration tests (#7983)
  • Removed a duplicated entry in the config file (#7981)
  • Issue 5542, always generate pom and readme (#7977)
  • typescript-angular: added Interfaces to api exports if withInterfaces is selected (#7975)
  • change parseDate in es6/APIClient (#7973)
  • [rust-server] API version constant and composite version support (#7969)
  • [Java] Configuration option to disable HTML escaping when using Gson (#7966)
  • [Dart] Fixes TypeError in Dart 2 mode (#7959)
  • Additional reserved python keywords (#7956)
  • [PHP] Improve duplicated validation logic (#7954)
  • [PHP] Fix string length validation (#7953)
  • Fix the missing tag on FakeApi (#7952)
  • Update ObjcClientCodegen.java (#7950)
  • [Swift 3] removing trailing spaces (#7943)
  • Update README.md (#7940)
  • [qt5cpp] Fix crash when API return a map container (#7933)
  • fix #7906 [cpprest] add parameterToString for number type with unspecified format (#7929)
  • [Swift4] accept empty content with default client (#7921)
  • [kotlin] Add json annotation to each enum value. (#7908)
  • [kotlin] Add OkHttpClient.Builder to ApiClient. (#7907)
  • [NodeJS] make serverPort configurable via CLI option (#7899)
  • Misc typescript Angular code generation improvements (#7898)
  • [rust-server] asynchronous support via hyper v0.11 (#7896)
  • Modify "postProcessOperations" for "jaxrs-cxf-client" (#7886)
  • Add typescript-inversify code generator (#7885)
  • Fix inputSpec for multi module builds (#7883)
  • removed null fields (#7882)
  • Updated version number (#7880)
  • Update to newer version of Ruby in Travis config file (#7879)
  • Update README.md (#7877)
  • [aspnetcore] Update Dockerfile (#7873)
  • [JAVA] 4709: codegen with parcelableMode fails to build if using arra… (#7867)
  • added config to yaml mapper to minimize long text. (#7864)
  • Fix typescript-node generation of array type models (#7861)
  • Fix strict class initialisation in auth classes (#7860)
  • Make optional properties in models optional parameters (#7859)
  • [C++] Add linux as a reserve keyword (#7844)
  • [qt5cpp] delete callback data allocated before signal emission (#7840)
  • Candidature to integrate Qt technical commitee (#7834)
  • [TypeScript][Fetch] Add interfaces option (#7831)
  • [Swift 4] Fix APIHelper to accept array parameter (#7821)
  • [cpprest] Add support for nested vectors (#7820)
  • html: fix typo in class name (#7818)
  • [C++][qt] Fix warning message (#7815)
  • Factorize addOption/addSwitch method (#7814)
  • [qt5cpp] Remove qt5 pro.user file (#7813)
  • Fix nodejs-server path issue in windows platform (#7808)
  • [Jaxrs-cxf] Add bean-level cascaded beanvalidation for pojos (@Valid) fix #4738 (#7807)
  • Mark not required swagger properties as optional typescript properties (#7806)
  • Adding qt project generation fix #7784 (#7799)
  • Remove unused dep when model package is empty (#7793)
  • Qt5cpp plug memleaks part2 (#7792)
  • [Java][google-api-client] Fix bug with empty POST request not sending content-type (#7787)
  • [PHP] Fix code example from README. Variable name was missing when using Basic auth. (#7777)
  • Improve JMeter Template : Fix Issue 7773 (#7774)
  • Update README.md (#7772)
  • Check date value before calling to_iso8601 (#7769)
  • [JAVA] Correct consumes/produces attributes for Spring Controllers (#7760)
  • [Java] fix connection leak on retrofit OAuth token renewal (#7750)
  • Fix python / tornado body handling (#7738)
  • [Elm] Add support for array schemas (#7729)
  • [elm] missing '->' in Main elm template (#7728)
  • Fix for stripping prefix on single enums (#7726)
  • [PHP] Improve: Make validation strict (#7724)
  • [PHP] Non required enum property (#7723)
  • [PHP] Improve: update sample tests automatically (#7717)
  • Feature/javaPlayWithAsynchronousControllers (#7705)
  • [Rails5] make version of the generated Rails stub server to strict Ra… (#7700)
  • Qt5cpp plug memleaks (#7695)
  • Remove tab (#7692)
  • Added FormAPI to the list of companies that are using swagger-codegen (#7687)
  • [PHP] Improve validation on empty arrays (#7686)
  • Fix performance linting problem with maps in java ApiClient template (#7685)
  • Fix inconsistency between model name and file name in python client (#7684)
  • [PHP] Run unit tests on 'tests' directory (#7675)
  • [PHP] Cleanup test (#7673)
  • [PHP] Add path & file separator (/) to return the correct path when deserializing a file (#7671)
  • [Java][retrofit2] Fix for Issue #7446 (#7659)
  • [Ada] by defining x-is-model-type when property is local to the YML file (#7655)
  • [Swift] Add public initializ...
Read more

Swagger Codegen 3.0.2 has been released!

19 Oct 15:31
3d3995d
Compare
Choose a tag to compare

3.0.2 release of swagger-codegen with OpenAPI 3 support.

Supported V3 generators

  • dynamic-html
  • html
  • html2
  • java
  • jaxrs-cxf-client
  • jaxrs-cxf
  • inflector
  • jaxrs-cxf-cdi
  • jaxrs-spec
  • jaxrs-jersey
  • jaxrs-di
  • jaxrs-resteasy-eap
  • jaxrs-resteasy
  • spring (updated)
  • openapi
  • openapi-yaml
  • kotlin-client
  • kotlin-server
  • php
  • swift3
  • swift4
  • typescript-angular
  • scala

Notable features

  • swagger-generator-v3 docker image supporting custom generators (#8820)

Notable changes:

Swagger Codegen 3.0.1 has been released!

05 Oct 14:15
f603d89
Compare
Choose a tag to compare

3.0.1 release of swagger-codegen with OpenAPI 3 support.

Supported V3 generators

  • dynamic-html
  • html
  • html2
  • java
  • jaxrs-cxf-client
  • jaxrs-cxf
  • inflector
  • jaxrs-cxf-cdi
  • jaxrs-spec
  • jaxrs-jersey
  • jaxrs-di
  • jaxrs-resteasy-eap
  • jaxrs-resteasy
  • spring (updated)
  • openapi
  • openapi-yaml
  • kotlin-client
  • kotlin-server
  • php
  • swift3
  • swift4
  • typescript-angular
  • scala

Notable features

  • update Spring generator
  • added option to choose template engine. (#8737)

Notable changes:

Swagger Codegen 3.0.0 has been released!

06 Sep 15:44
713d528
Compare
Choose a tag to compare

First official 3.0.0 release of swagger-codegen with OpenAPI 3 support.

NOTE: artifact groupId and root package of modules have been updated since 3.0.0-RC1 (#8431); the new groupId is io.swagger.codegen.v3 and the new root package is io.swagger.codegen.v3

Supported V3 generators

  • dynamic-html
  • html
  • html2
  • java
  • jaxrs-cxf-client
  • jaxrs-cxf
  • inflector
  • jaxrs-cxf-cdi
  • jaxrs-spec
  • jaxrs-jersey
  • jaxrs-di
  • jaxrs-resteasy-eap
  • jaxrs-resteasy
  • spring
  • openapi
  • openapi-yaml
  • kotlin-client
  • kotlin-server
  • php
  • swift3
  • swift4
  • typescript-angular

Notable features

  • groupId and package renaming #8431
  • allow capability to generate templates with mustache engine #8618
  • refactored online generator (swagger-generator) supporting V3 generators for V3 and V2 converted specs, and V2 generators for V2 specs (#8524). Provides also web UI and advanced docker image (swaggerapi/swagger-generator-v3). See also readme
  • [JAVA] OAS 3.0 - Support both OAS 3.0 and Swagger 1.5.x / OAS 2.x annotations in affected java generators swagger-codegen-generators issue #90
  • Supports jdk 9+ build
  • Ability to specify output json/yaml filename #8480

Notable bug fixes:

Swagger Codegen 3.0.0-rc1 has been released!

29 May 16:07
29bca10
Compare
Choose a tag to compare

Thanks to Swagger Codegen community for contributions and feedbacks for v3.0.0.

We've been working on several issues and improvements, still there is a lot to do so we hope continue getting help from community.

General enhancements & bug fixes:

New migrated languages with OAS 3 support:

  • html
  • php
  • jaxrs-cxf-client
  • jaxrs-cxf
  • jaxrs-cxf-cdi
  • jaxrs-spec
  • jaxrs-jersey
  • jaxrs-resteasy-eap
  • jaxrs-resteasy
  • kotlin-client
  • kotlin-server
  • spring
  • swift3
  • swift4
  • typescript-angular

Known Limitations

  • Templates convertion from mustache to handelbars seems to be complicated process.
  • There is a circular depedency with swagger-codegen and swagger-codegen-generator.
  • Custom templates are not being properly loaded on Windows.

Swagger Codegen 3.0.0-rc0 has been released!

25 Jan 21:15
Compare
Choose a tag to compare

This is our first official release of swagger-codegen with OpenAPI 3 support!

Being a first release (and during the RC (release candidate) releases), we highly depend on the community to provide us with feedback. There are some major changes in this release, so help us test it out. For any issues or concerns, please file a ticket so we can start a discussion. Also, first releases being RC releases - you should expect there to be breaking changes, based on feedback and further development.

Read the FAQ at the end of the release notes for more information about the changes in this version and how you can help!

This release has been implemented for java and inflector languages as a start of OpenAPI 3.0 support.

General enhancements based on issues #6041 and #6077

  • OpenAPI 3.0 support.
  • Switched to Handlebars template engine.
  • Removed all is, isNot, hasand hasNot properties from codegen pojos and use extensions instead.
  • Added helpers to replace the removed properties. i.e {{is this 'enum'}}, {{has this 'more'}} {{isNot this 'form-param'}}, etc.
  • Remote arguments loading for swagger codegen-cli and swagger generator modules.
  • Requires Java 8 for operation.
  • The templates will now be managed in a separate repository swagger-codegen-generators and will be released independently of the engine itself.
  • swagger-generator works with 'inflector 2.0', check open api spec to know endpoint details.

Known Limitations

  • java and inflector are the only supported languages.
  • No supported languages templates are no longer available in this repo. They are going to be eventually moved to swagger-codegen-generators.
  • It's likely that many parts of the documentation are not up to date yet.

FAQ

  • Q: What does support for OAS3 mean?

  • A: API definitions of previous versions of the spec will be automatically converted to OAS3, and only then the code will be generated. Since our conversion is also in RC mode right now, we expect there to be broken conversions, and with your tickets we can have those issues resolved.

  • Q: Switched to Handlebars?! Why?

  • A: Handlebars is mostly compatible with Mustache, meaning migration is not always required, or if so, changes should be minimal. On the other hand, Handlebars offers more flexibility in the templates, which would end up simplifying the templates and the generators.

  • Q: Why have the generators (templates) been separated to a new repository?

  • A: The codegen engine and the generators advance in a significantly different pace. In order to allow for more frequent releases of either, the separation made sense. It's likely that in future RC releases, each generator would be versioned independently allowing for even further release flexibility. This does introduce some challenges, read ahead in the FAQ.

  • Q: What happened to all the existing generators? Why only 2 were migrated?

  • A: We needed an initial start with the new version, and some of the Java templates made sense to us as the codegen itself is written in Java. As you know, the majority of the generators are made by our awesome community of contributors! We'll need the community's help with migrating and testing further templates.

  • Q: What are the main current challenges?

  • A: There are two main challenges. The first - migrating the long list of templates that we have and test them. The second - separating the generators to a new repository has made the build process slightly more complicated. We have thoughts on how to improve it, and would love the community input on it as well.

  • Q: Are there any other major changes coming?

  • A: Maybe, and they may or may not come as part of the 3.0 release. We have some thoughts on improving version management for the generators and the engine to ensure compliance.

  • Q: How can we, as a community, help?

  • A: The codegen community is very active and vibrant, and we're very appreciative of the help we've gotten over the years. As you would expect, with a new major version, the help can come in with testing, migrating templates, filing issues, giving suggestions, and providing feedback to the changes. We'll do our best to listen and incorporate those into the project.

  • Q: swagger-codegen-generators's README is empty?

  • A: Yes, we know. It needs some love. We'll get there by RC1!

Swagger Codegen 2.3.1 has been released!

17 Jan 04:33
Compare
Choose a tag to compare

Thanks for the feedback from the Swagger Codegen community on the v2.3.0 stable release.

We've addressed several important issues as follows:

  • Fix to make Swagger Codegen compatible with JDK7 again #7260
  • [Scala] Fix missing json4s import #7271
  • [Typescript][Angular] fix regression/bug that parameters with an _ ignore naming convention #7313
  • [Java] allow setting boolean getter (is, has, get) in templates #7344
  • [Java][jersey2] Fix logging for jersey2 (Java6) #7348
  • [Java][Vertx] use reflection to instantiate non-generated class #7360

For other minor fixes and enhancements, please refer to the full list here.

We've also included a new Ada server generator in this release:

  • [Ada] Add Ada support for server code generator #7256

Swagger Codegen 2.3.0 has been released!

22 Dec 03:38
Compare
Choose a tag to compare

This release brings a record of 13 new generators in a single release with more than 600 PRs, which contain breaking changes (with fallback, without fallback).

Note! This release does not yet support OpenAPI 3.0, which will be included in the upcoming 3.0.0 release.

Many thanks again to the swagger-codegen team for their continued support of the project and the contributions from the awesome Swagger Codegen community with more than 800 contributors from all around the world.

General enhancements & bug fixes

New Generators:

API Clients

API servers

API Clients (enhancements, bug fixes)

API Servers (enhancements, bug fixes)

Documentation (enhancements, bug fixes)

Swagger Codegen 2.2.3 has been released!

15 Jul 22:36
Compare
Choose a tag to compare

This release brings a record of 11 new generators in a single release with more than 450 PRs. Note! We will stop support on the 2.2.x branch of swagger-codegen and focus on 2.3.x and soon 3.x. Please consider migrating to 2.3 now!

Many thanks again to the swagger-codegen team for their continued support of the project and the contributions from the awesome Swagger Codegen community with 643 contributors from all around the world.

General enhancements & bug fixes

New Generators:

API Clients

API servers

Configuration

API Clients (enhancements, bug fixes)

API Servers (enhancements, bug fixes)

Documentation (enhancements, bug fixes)

Swagger Codegen 2.2.2 has been released!

01 Mar 20:01
Compare
Choose a tag to compare

This release brings 4 new API client generators and 5 new server stub generators. More than 500 enhancements and bug fixes have been successfully merged.

Many thanks to the swagger-codegen team for their continued support of the project and the contributions from the awesome Swagger Codegen community. A special thanks to @wing328 for helping drive the project (and for drafting these release notes...)

General enhancements & bug fixes

New Generators:

API Clients

API servers

API Clients (enhancements, bug fixes)

API Servers (enhancements, bug fixes)

Documentation (enhancements, bug fixes)