Releases: OpenAPITools/openapi-generator
OpenAPI Generator 3.2.0 has been released with 2 new generators!
We're glad to release v3.2.0 (minor) with 50+ PRs from the awesome community. This release comes with 2 new generators:
- C++ Qt5 (QHttpEngine) server generator -
cpp-qt5-qhttpengine-server
#655 by @etherealjoy - PHP Laravel server generator -
php-laravel
#574 by @renepardon
For a list of breaking changes with fallbacks, please refer to the list (6 PRs) and the upgrade note in the PR for more information.
General
- Update swagger-parser #696
- Update Q&A based on feedback from users #695
- Use Released version in maven samples #693
- Better handling of operationId starting with numbers #691
- Migration Guide: add "Validate spec on generation by default" section #683
- [all] Fix NullPointerException with list of simple types #680
- Improve validation error message to show how to disable the validation #653
- [all] Fix inconsistent parameter names when ensuring uniqueness #640
- Support for discriminator.mapping #536
- Validate spec on generation by default #251
Apex
C++
- Update cpp-tizen class to extend AbstractCppCodegen #676
- [qt5 server] Improvement in response handling #675
- [qt5 server] Improve qt5 server naming #655
- [cpp] Sanitize identifier names #631
- [C++][Pistache] Default isAddExternalLibs to true #626
- [Qt5 Server] Add Support for Qt5 server using QHttpEngine #322
Documentation Generators
- [html2] Various enhancements #643
Elm
- [Elm] Template improvements #661
Go
- [Go] Prefix enum number with _ #703
Java
- Fix Javadoc string error in Java (rest-assured) client #702
- [JAVA][Rest-assured] Added constants #697
- [Java][Spring] Add stopWait to pom.xml #670
- [Java][RestTemplate] Fixed invalid URL-encoding of query parameters #646
- [Java] add useNullForUnknownEnumValue option #633
PHP
- [PHP] better operationId handling, add CI for PHP slim server #723
- [PHP] [Laravel] Fix syntax errors in models #721
- [PHP] Decommission "packagePath", add new option "packageName" #681
- [PHP] Escape media type #615
- [Slim] Add Basic authentication middleware #606
- [PHP][LARAVEL] initial PHP-laravel integration #574
Python
- Fix operationId starting with a number for Python client #682
- Support for python 3.7 by renaming
async
toasync_req
#519
Ruby
- [Ruby] Better handling of operationId starting with a number #719
- Add Dockerfile for ROR generator #718
- Prevent throwing another exception if the request fails eg connection reset #715
- [RubyOnRails] Add option to select DB adapter in ROR #711
- Underscore classVarName to fix route issue in ROR #706
Rust
- [Rust] Ignore additional properties #671
- [rust-server] add support for '|' in path segments #667
- [rust-server] add support for multiple samples #658
- [rust-server] Avoid HTML escaping of output #645
- [rust-server] Implement stack for Context #612
TypeScript
- [typescript] allow $ in var name #694
Release 3.1.2
General
- Parameter enhancement in PathItem #639
- Handle variables in server declaration #614
- Fix for arrays with maxItems 2147483647 #603
- Add "docExtension" option to customize generated file extension for docs #591
- Adds a simple bash completion script #277
C++
- [C++][restsdk] Replace tab with spaces, fix empty spaces in new lines #632
- [cpp-restsdk] Generate mockable APIs #595
- [cpp-pistache] Various fixes for Pistache #497
- [cpp-pistache] add the option to fetch dependencies #495
Dart
- Dart-lang template bugs fixed with "baseName" #567
Go
- [Golang][client] Add option for standard Go generated code comment #555
Java
- [Java] Escaping properties to better handle special characters #628
- [Java][Client][RestTemplate] Do not create new Object for empty body #605
- [Java][RESTEasy] Fixed setting of custom headers #599
- [Java][RESTEasy] Update Gradle dependency #597
- [Java][RESTEasy] Fix version incompatibility #594
PHP
- [PHP] Remove platform dependency from file path #610
- [php-symfony] Fixed a bug with access of non-existing property in generated code #578
Rust
- [rust-server] enhance support for middlewares #552
- [rust-server] Drop
file
support #547 - [Rust] Split out request logic, implement form parameters #528
TypeScript
Release 3.1.1
General
- Fix NPE in body parameter due to incorrect parameter/consume (#563)
- This fix the problem of having UNKNOWN_BASE_TYPE and "Object" type (#383)
- Add default http scheme for server URL (#498)
CLI:
- Add --generator-name / -g to config-help (#491)
- Add graceful error handling for unknown command (#494)
Release engineering
- Improve CircleCI caching (#539)
- Remove secondary dependencies in pom.xml (#529)
- Add release checkout script (#485)
- Regenerate haskell-http-client samples (#492)
C++
Java
- Java6 support: fix pom and gradle files, avoid diamond notation (#560) and CI to test it on travis (#568)
- Spring: add check for list size before attempting to set last element field value. (#557)
- Update CXF and Jackson to latest version (#496)
Go
- [client] fix
formData
file
parameter name use (#506) - Fx cache-expires-ineffassign (#466)
- Add RFC-3339 formatting to parameterToString (#502)
PHP
Python
- [Client] pure library client package (#470)
- Use local_var_params to avoid collision with api parameters (#521)
- Improve logging in Python client (#480)
- Update and fix python samples (#489)
Ruby
Rust
OpenAPI Generator 3.1.0 has been released!
Thanks for more than 50+ PRs from the OpenAPI Generator community, we've released 3.1.0 (minor release), which contains breaking changes with fallbacks. Please refer to the migration guide when upgrading from OpenAPI Generator v3.0.x
.
General
- Sanitize pipe in var name (#461)
- Bug fix: The values for
@Produces
annotation were not separated by a comma (#445) - Mark postProcessOperations(Map) as deprecated (#431)
- Mock generator for tests (#429)
- Obtain the example value from examples (#419)
- ModelUtils: isMap only if additionalProperties is a Schema (#410)
- Improve generation of README which has long description (#400)
- Fix alias to map in the model's properties (#360)
Go
- [Golang][client] update test dependencies Client: Go Enhancement: CI/Test (#468)
- [Golang][client] fix file suffix for _test.go (#449)
- Minor improvement to Go client generator, move test case (#430)
- [Golang][client] fix undefined: localVarFile (#382)
- [Golang] Fix Null pointer exception in toVarName (#377)
- [Golang][client] fix RFC-3339 date-time query param (#325)
Kotlin
- Fix some Kotlin formatting issues and make source more Kotlin like (#427)
Java
- [Java] Add support for Spring 5 WebClient as new library (#435)
- [Java] option for the prefix of boolean getters (#432)
- [Java] version in the generated README dependent from the
java8
option (#380) - [Java] Support for Integer, Long values in enum (#75)
PHP
- [PHP] Remove unnecessary IF statement (#421)
Ruby
- [Ruby] Make rake tasks required to publish gem available (#424)
TypeScript
- [typescript][angular] Feature/model suffix (#418)
- [typescript][angular] basePath through injected config (#367)
- Restructure TypeScript Node generation into separate files (PHNX-1041) (#363)
Here are enhancements and bug fixes for the server generators:
C# Server
- [aspnetcore] Add processing of Port defined in spec (#368)
Java Server
- [java-jaxrs] Fix paths when using
useTags=true
in java-jersey (#215), (#437) - [java-jaxrs] New variable
{{commonPath}}
(#437)
PHP Server
Ruby Server
- Eliminate MySQL dependency of Rails 5 stub server (#279)
Release 3.0.3
New Generators:
- New Javascript flowtyped generator (#176)
General:
- Fix path in error message (#403)
- Add wording to clarify the relationship with OAI (#374)
- Add an update to the Q&A (#371)
- Consider ComposedSchema in DefaultCodegen#fromRequestBody(..) (#358)
- Adding in Telstra (#357)
C#
- [aspnetcore] Fix new keyword collection (#385)
C++:
Erlang:
- Disable Erlang server test due to dependency issue (Shippable CI) (#375)
Go:
- Update Go client, server petstore samples (#365)
- Fix issue #51, change object mapping from *interface{} to map[st… (#60)
JMeter:
- Rename codegen class, template folder (#387)
PHP:
- [Slim] Upgrade API server integration tests to use Fake Petstore spec (#354)
Rust:
Scala:
- Rename script, sample folder, template dir (#334)
Swift:
- Add compatibility for unwrapRequired config option (#229)
Typescript:
- Use case sensitivity when checking reserved words (#351)
- Typescript Angular 2: Make service suffix configurable (#341)
- basePath through injected config (#289)
CI:
Release 3.0.2
General:
- Enable recommendations on validate command (#292)
C++:
Javascript:
Java/Spring:
- Configuration option to disable HTML escaping when using Gson (#298)
- Fix spring controller validation (#225)
Go:
- Go server clean up (#328)
- Add dockerfile for building and run petstore service (#274)
- Add Go client test - TestPlaceOrder (#321)
Rust Server:
Typescript:
- Fix cast problem (#303)
CI:
- Various improvement to CI (#326)
- CircleCI migration from 1.0 to 2.0 (#333)
- Shippable changes (#305), (#319)
- Ignore signing for other branches than master (#288)
Documentation:
Release 3.0.1
This release resolves a publishing issue with the Gradle plugin in the previous release, making this the first officially functional release of the Gradle plugin. See the plugin readme for usage details.
This release also includes a handful of feature additions and bugfixes, as well as CLI and build-related improvements. See below for highlights and milestone 3.0.1 for full details.
General
- Fix ModelUtils.getUnusedSchema() #253
- OAS3 feature: add cookie authentication support #240
- Make YAML serialization deterministic #233
- [cli] Completions command for suggestions #213
- [cli] Write to stdout/stderr, allow redirection #207
- Build improvements #202
- [gradle] Plugin release management #201
Ada
- [Ada] Update the code generator for required and optional parameters #211
C++
- [cpp-qt5] Remove std::shared_ptr from Qt5 #267
Java
- [Java][RestTemplate] Fix query parameter URL encoding #260
- [jaxrs-spec] fix empty openapi.yaml file #243
- [Spring] Add apiFirst option #184
- [JAVA][Client] New object instead of null for empty POST request #98
TypeScript
- [typescript-angular] strict type checking #218
The first stable version 3.0.0 has been released
Thanks for the effort from the community, we have released a stable version 3.0.0, which supports both OpenAPI specification v2 and v3 🎉 🎊 . A good starting point is the migration guide.
For more information on why we forked Swagger Codegen to maintain a community-driven version "OpenAPI Generator", please refer to the Q&A
Public chatroom: https://gitter.im/OpenAPITools/openapi-generator
Brew formula for OpenAPI Generator: Homebrew/homebrew-core#28584 (Pending)
For the latest update on OpenAPI Generator, please follow our Twitter account (oas_generator)
Below please find the changelog for this release (relative to v2.3.1 of Swagger Codegen)
New Generators
6debf74 Java rest-assured client - java
with --library=rest-assured
6d2d429 Scala Gatling client - scala-gatling
e2c58fa TypeScript Inversify client - typescript-inversify
7cad47d Kotlin server - kotlin-server
Docker
7dfd940 Docker: use correct MAVEN_CONFIG (#182)
b5a0d17 Revise the usage of OpenAPI Generator online (docker image) (#73)
e58dc2c Fix COPY in Dockerfile (#64)
9d7feaa Fix online generator (docker push) (#58)
9247cd0 Changes for Docker
64037ee update docker-related files to use JDK8
Plug-ins
b6b8c0d [gradle-plugin] Initial implementation (#162)
0a28aad [MAVEN PLUGIN] Checking for null configOptions before looking for property
9c79297 [MAVEN PLUGIN] Use latest version in dependencies snippet
9e1bbe0 Add maven wrapper
API Clients
Ada
edf6be8 [Ada] bug fix by defining x-is-model-type when property is local to the YML file
9ba74f4 [Ada] Fix GNAT project and server skeleton to avoid sending a response when an error is returned
ea27924 [Ada] changed default project/package name, to solve circular dependencies
6b9d38d remove trailing spaces in ada template
0de7f97 Fix the Ada server skeleton to check the authsMethods in the Shared_Instance generic package
4bd8fc6 Fix 7511: [Ada] Client call is not correct with multiple parameters and application/x-www-urlencoded
3035bc6 [Ada] Hotfix/ada model sort
43f0e86 Ada code generator corrected: "=>" instead of "->".
7d2b490 [Ada] wrong order for generated structures in models.ads files
2b2b85e [Ada] wrong JSON in POST operations
C#
0e34bcf [csharp] ctor params should always be camelCase [Breaking change with fallback]
8724719 [csharp] Support arrays of arrays for properties and models
1c4e6b7 [csharp] Fix ToJson to work with composition and polymorphism
ed7af73 [csharp] Reference this.Configuration in client API template
C++
e796e4c [C++] Add linux as a reserve keyword
36f69a0 remove trailing spaces in qt5 c++ templates
f192613 fix string type in c++ generator
4090154 fix file type in qt5cpp
a4bcb3b fix datetime and map type for qt5cpp
23b31ab [qt5cpp] Fix crash when API return a map container
3b031ed [qt5cpp] delete callback data allocated before signal emission
1bb1e44 [qt5cpp] Remove qt5 pro.user file
1947220 Qt5cpp plug memleaks part2
12f3661 Qt5cpp plug memleaks
ea4b948 [qt5cpp] Add nullptr guard to prevent crash when empty model is being serialized
0bf430a Qt5cpp Add support for nested containers
0b3ec6b fix NPE with cpp qt5, add logic to avoid NPE with composed schema
7c73444 fix file parameter in header file (cpprest)
070b5c0 fix object type declaration in cpprest
bad1885 [cpprest] add parameterToString for number type with unspecified format (double)
73bd24d [cpprest] Add support for nested vectors
ee2eb74 [qt] update Qt client
d824999 Adding qt project generation fix
9bd94b4 [qt] Fix warning message
Clojure
d7e3745 [Clojure] Add util method to set the api-context globally (#93)
Dart
f1638a6 [Dart] Allow setting an accessToken for OAuth
a5e26a4 [Dart] Rework Dart client generator to be flutter-compatible [Breaking change without fallback]
Elixir
f9b2839 [Elixir] Check date value before calling to_iso8601
Elm
5a87fe6 [elm] Fix operations with empty responses (#171)
a5cf27b Fix Petstore example for Elm (#96)
c522927 Fix Elm generator for polymorphism (#78)
7d9fb9f Add CI test for Elm in travis (#40)
769a65c [Elm] Add support for array schemas
56a0268 [elm] missing '->' in Main elm template
Erlang
c731185 [erlang-client] Erlang request utils
049eef9 Test erlang client, server petstore
bcc7b78 fix erlang client compilation error
Go
acb63fd Fix go readme, remove resty install
5d8362d Update go client, fix double body read
47614bb Properly capitalize exported go types
ee561fc Add withXml option for Go language
0f66960 [Go] Use consistent indentation in readme
72abb20 [Go] Fix operation files clobbering model files
d1e75b084 Golang Client Refactor (body and model in errors, typed optional parameters) [Breaking change without fallback]
Haskell
34db79b [haskell-http-client] update dependency versions + readme (#81)
e45b378 Fix NPE with Haskell client generator with OAS3 spec
d340139 [haskell-http-client] remove duplicates in produces/consumes; fix pathParam paramName issue
4bc99b9 minor fixes to haskell http client generator
2d0bafb [haskell-http-client] default InlineMimeTypes to true [Breaking change with fallback]
9fba9c3 [haskell-http-client] add config options: cabalPackage, cabalVersion, baseModule, requestType, configType
Kotlin
a3322fb [kotlin] Add OkHttpClient.Builder to ApiClient.
3c5fb1d [kotlin] Add json annotation to each enum value.
39fa375 [kotlin] Fix NPE for POST/PUT/PATCH with empty request models.
c599906 [Kotlin] Correct data_class.mustache to use proper property for inner enum data type
c69925b [Kotlin] Fix issues with threetenbp
a811a48 minor fix to kotlin client generator due to merge conflict
914275f [kotlin] support selection of datelibrary
a61d232 Fixed incorrect renaming of header and query param to camel cases for Kotlin Client template
Lua
dbe78e2 [Lua] Improve auto-generated test files
6c79052 Add auto-generated Lua spec files for APIs, models
38a2c1d [Lua] Fix Rockpec
a2410b2 Add auto-generated rockspec file to Lua API client
df10c72 Add lua test script, minor fix to Lua API files
Java
2e69e6c build.gradle should not have commas
1a4e5a4 Java client: Add constants for libraries (#163)
7db0201 Fix NPEs in Java generator (#154)
4d7ff8c JavaDoc fixes for Java/RESTEasy client (#151)
072ce07 resteasy: fix outer enum case (#139)
ccd0029 [Java] rest-assured: fix javadoc in templates
e7410d4 Allow $ in Java var name
03490e9 Fix Java binary mapping
70b4b55 Fix performance linting problem with maps in Java ApiClient template
cddcda0 [Java][Jersey2] Make generated client code thread safe [Breaking change without fallback]
298ca8d use correct jackson date library when using Java 8
53eeb0c [Java] fix connection leak on retrofit OAuth token renewal
61c25e7 [Java] Fixes for retrofit
f023327 [JAVA] Fix issue when codegen with parcelableMode fails to build if using arrays in OpenAPI spec
4eeb974 [Java][google-api-client] Fix bug with empty POST request not sending content-type
d4543a9 [Java][retrofit2] file upload sets filename as baseName instead of a dynamic filename
62a9302 [JAVA][Rest-assured] reqSpec() method has been added into api.mustache for requests customization
fec0363 [Java] Add back byte array enhancement
59ff4c1 [Java][library: vertx] Add default value and required parameter support to vertx server
3bd2da9 [Java] Fix build warnings
429b96a [JAVA] equals and hashCode for models with byte[] and binary strings
495971c [Java] use html entities in javadoc of generated code (#106)
82ee865 [java] Enum in array of array (#66)
bf7e4e7 Java gson: add @SerializedName value as constant (#22)
30c1448 Fix build.gradle for Java RESTEasy client
642c056 [Java] Use Rx2 Completalbe for Void Retrofit2 responses
72221b1 Adding @deprecated to retrofit2 client interfaces.
47111b3 [Java] fix gson deserialize format byte
9e06f70 [Java] Fix assignment of new object instance to variable
006f084 [Java] Allow to set values with setApiPackage(..) and setModelPackage(..)
JavaScript/NodeJS
d80e295 Fix JS test using baseName in default value (#5)
fe15f46 fix toDefaultValueWithParam in JS
9085957 Fixing variable name typo (instane -> instance)
Objective-C
9fb2c29 7644 objc deprecated afnetworking datataskwithrequest
5d18740 add class as a keyword in objc generator
1b8df5c Update ObjcClientCodegen.java
246ed57 restore objc reserved word: property
PHP
3beeb4e [PHP] Not-required properties now shows as nullable (#129)
37df59d [PHP] Adjust the names (script, sample folder, generator) to lang option (#159)
4a5d16b [PHP] Fix string length validation
d58835e [PHP] Improve: Make validation strict
cf8d8d5 [PHP] Fix code example from README. Variable name was missing when using Basic auth.
0adbf7e [PHP] Improve: update sample tests automatically
32cf2f1 [PHP] Non required enum property
3bcf0ff [PHP] Add path & file separator (/) to return the correct path when deserializing a file
14e1e19 [PHP] Improve validation on empty arrays
809e1f4 [PHP] Cleanup tests
76907ca [PHP] declare property headerSelector
Python
7184f1e [python] asyncio supports _preload_content; remove unused imports (#107)
d74d2ba fix: python clients
8e0a0eb Fix python / tornado body handling
b39c35c Fix inconsistency between model name and file name in python client
dfbef43 Fixed unicode error and supported allow_nonstandard_methods in tornado b...