Releases: swagger-api/swagger-codegen
Swagger Codegen 3.0.2 has been released!
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:
-
ref #8820 - add external classpath to docker image jetty webapp (#8821)
-
bump codegen v2 to 2.4.0-SNAPSHOT (#8801)
-
fix jaxrs-resteasy template dir (swagger-codegen-generators PR 216)
-
refs #8805 - fix swift template dir (swagger-codegen-generators PR 214)
-
Fixed small typo (swagger-codegen-generators PR 212)
-
added cookie support for scala akka http server generator (swagger-codegen-generators PR 210)
-
refs #8784 - fix meta generator (swagger-codegen-generators PR 209)
Swagger Codegen 3.0.1 has been released!
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:
-
updated inflector templates. (#8776)
-
Update samples 3.0.1 (#8773)
-
set handlebars as default template engine. (#8758)
-
fix ui and spec tags (#8752)
-
Spring sample updates (#8749)
-
added capability to identify template engine names. (#8745)
-
added fields, for test generated files, on codegen objects. (#8725)
-
fix template path for cxf-cdi and jaxrs-spec (swagger-codegen-generators PR 204)
-
fix template path in JavaCXFServer (swagger-codegen-generators PR 203)
-
updated pom.mustache templates for inflector generator. (swagger-codegen-generators PR 202)
-
fix inner enums in cxf-client (swagger-codegen-generators PR 200)
-
Solve template paths for kotlin generators (swagger-codegen-generators PR 197)
-
added right path for cxf templates. (swagger-codegen-generators PR 195)
-
disable spring cloud library (swagger-codegen-generators PR 193)
-
fix NPE with testExample property for codegen param object. (swagger-codegen-generators PR 192)
-
set mustache as default template engine for spring and scala generators. (swagger-codegen-generators PR 191)
-
set templateEngine default as Handlebars (swagger-codegen-generators PR 190)
-
fix null template engine (swagger-codegen-generators PR 189)
-
Spring improvements (swagger-codegen-generators PR 188)
-
Add option to pick template engine (swagger-codegen-generators PR 187)
-
Added mustaches templates for current generators (swagger-codegen-generators PR 182)
-
Fix path assertions so the unit tests also work on Windows (swagger-codegen-generators PR 181)
-
Renamed template source directory (swagger-codegen-generators PR 180)
-
Scala akka http server improvements (swagger-codegen-generators PR 176)
-
Scala generators (swagger-codegen-generators PR 175)
-
fixed import and group id on
meta
generator template. (swagger-codegen-generators PR 174) -
fix handling of additionalProperties as Boolean (swagger-codegen-generators PR 173)
-
Prepared scala for multiple generators and added support for path and query parameters of simple types (swagger-codegen-generators PR 169)
Swagger Codegen 3.0.0 has been released!
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:
-
Fixed template path resolvement to work also on Windows OS #8284
-
Fixed DefaultGenerator.getHandleBars to not use a regex string for the templateDir #8246
-
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 3 #8273
-
refactor
getHandlebars
method to handle properly files paths #8327 -
DefaultCodegenConfig - CodegenProperty minimum and maximum is not set for NumberSchema swagger-codegen-generators issue #80
-
All operation parameters are incorrectly marked as enums swagger-codegen-generators issue #97
-
Updated samples fixing various issues
-
[JAVA] Request body's of multipart/form-data requests are ignored by at least all Java generators swagger-codegen-generators issue #148
-
[JAVA] Port #6852 to 3.0.0 : need to expose getters / setters for readTimeout and writeTimeout values on the generated java clients #8193
-
[JAXRS-CXF-CDI] Invalid argument on OAS 3.0 annotation @parameter swagger-codegen-generators issue #132
-
[JAXRS-RESTEAST-EAP]Build fail for JavaResteasyEapServerCodegen output swagger-codegen-generators issue #141
-
[JAXRS-JERSEY] @patch not found swagger-codegen-generators issue #142
-
[KOTLIN] HandlebarsException in kotlin-client #8300
-
[SPRING] Spring-MVC CamelCase or underscore - not both. 3.0 codegen #8330
-
[SPRING] Duplicate "is" in boolean getter method names swagger-codegen-generators issue #91
-
[SPRING] @JsonTypeInfo property not set to Discriminator propertyName swagger-codegen-generators issue #103
-
[SPRING] @JsonTypeId not set on discriminator property causing serialization issues swagger-codegen-generators issue #105
-
[PHP] php syntax error swagger-codegen-generators issue #121
Swagger Codegen 3.0.0-rc1 has been released!
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:
- Migrate guava logic to java 8 (#7766)
- cannot generated JAVA client from valid YAML file (#8028)
- [swagger-codegen-cli] build failure could not resolve dependencies (#7483)
- Build and swagger-codegen-cli.jar execution issues (#7509)
- Nested objects are not typified as before (#7523)
- [JAVA] Cannot Use Custom Templates (#7721)
- server-code generation always failing due to missing //model.mustache (#7622)
- [HTML] Can't generate static HTML (#7819)
- Error in template file separators on Windows (#7832)
- "swagger-codegen-cli.jar meta" "can't load template codegen/pom.mustache" (#7845)
- Nested array data type missing import and fails in build (#7812)
- Server Stub support (#7776)
- [JAVA] schemas with array types are not generated in 3.0.0 (#7713)
- [3.0.0] running in docker needs some love (#7678)
- Implement template versioning. (#7634)
- [JAVA] Array of Strings as requestBody of a POST request in OAS3 (#7592)
- NullPointerException - processOperation, because default tag is created (#7524)
- Provider io.swagger.codegen.languages.java.JavaClientCodegen not found with maven plugin ver 3.0.0-rc0 (#7518)
- [Java] Array of enum does not generate correctly in 3.0.0 (#7377)
- [Java] petstore.yaml does not generate valid Java code in 3.0.0 branch (#7376)
- Generate all java & jaxrs examples (#7970)
- [Java] Missing import of class OrderEnum when using nested Array in spec. (#7918)
- jaxrs-cxf-client - Generate error in @ApiResponse when the response class is not specified (#7853)
- System properties removed swagger-codegen-generators issues #27
- Added custom arguments for command options swagger-codegen-generators pr 17
- having multiple responses in OpenAPI-3.0.0 schema cause faulty generated code swagger-codegen-generators issue #3
- [JAVA] duplicates fields in the generated code swagger-codegen-generators issue #9
- Build fails because 3.0.0-SNAPSHOT is not deployed to maven repo swagger-codegen-generators issue #12
- NullPointerException with composed-schema containing oneOf in the components swagger-codegen-generators issue #15
- collection-fomat query param template rendering failed for retrofit 1 & 2 swagger-codegen-generators issue #20
- SNAPSHOT not uploaded to https://oss.sonatype.org/content/repositories/snapshots/io/swagger/swagger-codegen-generators/? swagger-codegen-generators issue #23
- CI: integration test problems with latest build swagger-codegen-generators issue #31
- Problem with custom delimiters migration swagger-codegen-generators issue #33
- Model properties are duplicated at every level of the hierarchy swagger-codegen-generators issue #37
- Handle value set with setters the same way than with the additionalProperties map swagger-codegen-generators issue #55
- Java: Object instead of Model Type for Schema in requestBody swagger-codegen-generators issue #60
- form parameters are not included on generation swagger-codegen-generators issue #63
- Migrate: typescript-angular swagger-codegen-generators issue #70
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
tohandelbars
seems to be complicated process. - There is a circular depedency with
swagger-codegen
andswagger-codegen-generator
. - Custom templates are not being properly loaded on Windows.
Swagger Codegen 3.0.0-rc0 has been released!
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
,has
andhasNot
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
andswagger 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
andinflector
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!
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!
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
- Ada API client
- Elm API client
- Erlang API client
- Haskell API client
- Java (vertx) API client
- Lua API client
- R API client
- Rust API client (#6105, #6613)
- Scala (scalaz) API client
- TypeScript (Aurelia) API client
API servers
API Clients (enhancements, bug fixes)
- Ada (2 PRs)
- Android (3 PRs)
- Bash (7 PRs)
- C# (17 PRs)
- C++ (18 PRs)
- Dart (1 PR)
- Eiffel (3 PRs)
- Elixir (5 PRs)
- Erlang (2 PRs)
- Go (11 PRs)
- Haskell (15 PRs)
- Java (56 PRs)
- JavaScript (10 PRs)
- Kotlin (9 PRs)
- Lua (2 PRs)
- Objective-C (11 PRs)
- Perl (1 PR)
- PHP (20 PRs)
- Python (21 PRs)
- R (6 PRs)
- Ruby (5 PRs)
- Rust (8 PRs)
- Scala (14 PRs)
- Swift (39 PRs)
- TypeScript (67 PRs)
API Servers (enhancements, bug fixes)
- C++ (3 PRs)
- C# (17 PRs)
- Erlang (2 PRs)
- Go (5 PRs)
- Haskell (2 PRs)
- Java (66 PRs)
- NodeJS (2 PRs)
- PHP (8 PRs)
- Python (8 PRs)
- Ruby (1 PR)
- Rust (7 PRs)
- Scala (6 PRs)
Documentation (enhancements, bug fixes)
Swagger Codegen 2.2.3 has been released!
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
- General enhancements (13 PRs)
- General bug fixes (4 PRs)
- Swagger generator (2 PRs)
- Maven plug-in (7 PRs)
New Generators:
API Clients
API servers
Configuration
API Clients (enhancements, bug fixes)
- Android (7 PRs)
- Apex (4 PRs)
- C# (29 PRs)
- C++ (21 PRs)
- Dart (4 PRs)
- Eiffel (1 PR)
- Go (3 PRs)
- Java (58 PRs)
- JMeter (1 PR)
- JavaScript (25 PRs)
- Kotlin (5 PRs)
- Objective-C (4 PRs)
- Perl (3 PRs)
- PHP (12 PRs)
- PowerShell (3 PRs)
- Python (13 PRs)
- Ruby (8 PRs)
- Scala (11 PRs)
- Swift (22 PRs)
- TypeScript (29 PRs)
API Servers (enhancements, bug fixes)
- C++ (9 PRs)
- C# (6 PRs)
- Erlang (2 PRs)
- Java (42 PRs)
- NodeJS (3 PRs)
- PHP (5 PRs)
- Python (8 PRs)
- Ruby (4 PRs)
- Scala (1 PR)
Documentation (enhancements, bug fixes)
Swagger Codegen 2.2.2 has been released!
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
- Erlang server
- Java MSF4J server
- JAX-RS CDI server
- JAX-RS RestEasy server (Jboss EAP)
- PHP Zend Expressive server
API Clients (enhancements, bug fixes)
- Android (9 PRs)
- C# (23 PRs)
- C++ (13 PRs)
- Dart (8 PRs)
- Go (15 PRs)
- Java (47 PRs)
- JMeter (2 PRs)
- JavaScript (13 PRs)
- Objective-C (11 PRs)
- Perl (3 PRs)
- PHP (23 PRs)
- Python (31 PRs)
- Ruby (14 PRs)
- Scala (11 PRs)
- Swift (23 PRs)
- TypeScript (37 PRs)
API Servers (enhancements, bug fixes)
- C# (11 PRs)
- Erlang (2 PRs)
- Haskell (1 PR)
- Java (55 PRs)
- NodeJS (6 PRs)
- PHP (3 PRs)
- Python (7 PRs)
- Ruby (4 PRs)
- Scala (7 PRs)
Documentation (enhancements, bug fixes)
Swagger-codegen 2.2.0 Released!
Swagger Codegen 2.2.0 has been released! This release provides major new functionality across multiple generation targets and addresses a number of potential issues.
There are changes in a number of the generation targets which may change the default behavior. Please review links associated with targets for details.
For a list of breaking changes (without fallbacks), please refer to this list.
For a list of breaking changes (with fallbacks), please refer to this list.
Once again, many thanks to the swagger-codegen team for their continued support of the project.
General enhancements & bug fixes
- Update JMustache to the latest version (v1.12): #2360
- Better support example value for string and number: #2689
- Improvement to codegen model #2691, #2712
- Fix naming of the
BEARER
token: #2783 - Fix unicode issue when reading OpenAPI spec: #2785
- Add individual options to exclude tests and docs for apis and models: #2866
- Use title attribute as inline model name: #2872
- Add
.swagger-codegen-ignore
to skip overwriting files: #2899 - Add Apache 2.0 license to all generators: #2993
- Minor improvements to code generator: #2921, #3005, #3289
- Improvements to API documentation: #2928, #2929
- Additional integration tests using Shippable and AppVeyor: #3275, #3333
Security fixes
- Fixes to prevent code injection: #3201, #3224, #3229, #3230, #3231, #3237, #3245, #3246, #3249, #3278, #3344, #3360
API client generators
- Android - enhancements: better gradle support (#2453, #2875, #2922), bug fixes (#2513, #3131)
- C# - enhancements: UWP support, enum, API doc (#2427, #2508, #2632), bug fixes (#2802, #3187)
- C++ (Qt5) - NEW cpprest generator: #3128, bug fixes (#2707, #3109)
- Clojure - Minor fix to media type (#2930)
- Dart - enhancements (#2478, #3179, #3325), bug fixes (#2436, #2614)
- Flash - Minor fix to required parameters (#2614)
- Go - enhancements (#2528, #2544, #2546, #2567, #2593, #2609, #2692, #2749, #2750), bug fixes (#2591, #2718, #2775)
- Groovy - NEW generator (#2693)
- Java - enhancements (#2435, #3030, #3045, #3065, #3075, #3094, #3099, #3101, #3103, #3108, #3174, #3176, #3312) and bug fixes (#2804, #2863, #2984, #3090)
- JavaScript - enhancements (#2445, #2734, #3134, #3254) and bug fixes (#2930, #3156)
- ObjC - enhancements (#2699, #2786, #2798, #2827, #2878, #3056, #3124) and bug fixes (#2908, #3031)
- Perl - Minor coding style fix #2570
- PHP - enhancements (#2508, #2733, #2778, #2854, #2869, #3163, #3256) and bug fixes (#2753, #3126)
- Python - enhancements (#2418, #2650, #2727, #2794, #3034, #3046, #3146) and bug fixes (#3066, #3061)
- Ruby - enhancements (#2647, #2695, #2697, #2912, #3283) and bug fixes (#2708, #3351)
- Scala - enhancements (#3058, #3149), bug fixes (#2551, #2573, #2614)
- Swift - enhancements (#2417, #2516, #2613, #2637, #2640, #2904) and bug fixes (#2705, #2840, #3038)
- TypeScript - NEW Fetch generator (#2763), enhancements (#2518, #2676, #2758, #2771, #2812, #3130, #3367) and bug fixes (#2574, #2864, #2917)
API server generators
- C# - NEW NancyFX generator #3178, ASP.NET enhancements (#2990, #3139, #3169, #3306)
- Go - NEW Go server generator #2979
- Haskell Servant generator - enhancements (#2322, #3027)
- Java JAXRS - enhancements (#2511, #3185, #3080, #3142), bug fixes (#3016, #3152)
- Java SpringMVC - enhancements (#2606, #2720, #3133)
- Java SpringBoot - NEW Spring Boot generator #2774, #2803, #3112, #3190, #3307
- NodeJS - enhancements (#2761, #3212), bug fixes (#2466, #2655)
- PHP Lumen - NEW Lumen generator (#2658, #3165)
- PHP Slim - minor bug fix #3251
- Python Flask - enhancement (#2560), bug fix (#2580)
- Ruby on Rails5 - NEW Rails5 generator (#2871, #3098)
- Scala Scalatra - minor bug fix #2556