Releases: OpenAPITools/openapi-generator
v4.2.2 released
v4.2.2, which is a backward-compatible release covering 20 languages, is the last release in 2019. It comes with 1 new generator: typescript-redux-query
. We appreciate all the contributions from the community and look forward to more contributions from the awesome community in 2020.
For a full list of changes, please refer to the list below:
Here are the highlights:
General
- Add net.java.dev.jna to resolve "Unable to load JNA library" #4634
- Add openapi-generator executable to docker container #4610
- Update kotlin version to 1.3.60 in modules/openapi-generator/pom.xml #4598
- Maintains state of hasMore when security is filtered #4585
- Fix isNullable in the toString method #4554
- Update swagger parser to the latest stable version v2.0.16 #4550
- Fix: prevent ClassCastException when handling options of #4495
- [default codegen] Correct parent variables being duplicated in child #4253
AsciiDoctor
- [asciidoctor] javadoc: add missing tag for declared exception #4630
- [asciidoc] add form params and authorization headers #4505
C
- [C] better support for additional properties #4349
C#
- [csharp-netcore][documentation]: Adding model summary to model documentation files #4309
C++
- [C++][Pistache] Add comparison operators #4619
- cpp-qt5-client: fix warning reordering member initialization #4526
- [C++] [Qt5] Clang format Code #4444
Dart
- Add HEAD method to ApiClient of dart codegen #4504
- [dart-dio] correctly handle
Map<String, Object>
,List<Object>
using JsonObject #4401
Elm
- [elm] Add support for oneOf #4434
Go
- Add go.mod as supporting files to go-server #4592
- Add support for dumping request and response in Go generated clients #4566
- Add an option to prefix Go struct with the classname #4564
- [Go] Bypass object decode in case of empty body #4546
- [Java][Go] Unalias schema in getTypeDeclaration when not generating model for alias #4527
Haskell
- [FIX][Haskell-servant] missing indent on the new feature pull request #4490
- [FEATURE][Haskell] Haskell-Servant serves static files #4058
- [FEATURE][Haskell] Add Middleware support for the haskell servant generator #4056
Kotlin
- [Kotlin-spring] add kotlin runtime compiler #4544
- Fixes Kotlin client property names that include a dollar sign for template overrides #4351
- Add mutable model option to kotlin generators #4115
- [kotlin-spring] add support for the delegate pattern #3925
Java
- [java][client][restassured] add getAllOperations() #4631
- [jaxrs-spec][quarkus] update to 1.0.0.FINAL #4609
- [Java][Spring] minor bug fix on unhandledException flag #4543
- [JAVA] Update Gradle in generated Java projects from 2.14.1 to 6.0.1 #4536
- [Java][Go] Unalias schema in getTypeDeclaration when not generating model for alias #4527
- [java] Fix java version defaulting #4520
- [BUG] [Java] Client resttemplate and webclient. Form Params are badly added when they are lists #4461
- Avoid generating uncompilable response body in Spring's API template #2903
JavaScript
- [JS] Update package.json #4261
OCaml
- [OCAML] Fixes cloud.drone.io ocaml-test #4501
PHP
- [BUG][PHP] Parameter property style not fully implemented #4640
- [PHP] Include microseconds in serialized date-time #4542
Python
- [Python] each Configuration instance now has its own dicts #4485
R
- [BUG][R] use loadNamespace instead of package:pkgName string #4614
- [BUG][R] Fix documentation in R package #4580
Ruby
Rust
- [Rust] Derive more traits #4142
- [Core, Rust Server, ASP.NET Core] Fix Codegen Operation Scope Consistency #3495
Scala
- Fixes issues with Scalaz outputs #4508
Swift
- [Swift] Fix enum encodable #4594
- [Swift] Add option parameter to select response queue #4591
- [CI][Swift4] improve swift ci integration #4571
- [swift 4] improve test suite #4561
- [swift] add option for non public api #4556
- [Swift] Enhancements to iOS tests #4521
- [swift] Introduce result type #4511
- [Swift] Convert default value of enum with not string type to string #4481
TypeScript
v4.2.1 released
v4.2.1 (patch release) covers more than 10 languages with 50+ PRs. For a full list of changes, please refer to the list below:
Here are the highlights:
General
- [core] Fix system properties being immutable #4447
- [ci] Setting ensure-up-to-date to use batch option in CircleCI #4445
- [cli][script] Fix misspelling in cli bootstrapping script #4356
- Remove deprecated API use of ObjectFactory.property() (#2613) #4352
- [core] consider polymorphism when computing unused schemas #4335
- [asciidoc] fix names of parameters #4440
C
- [C] Minor enhancement to C client generator #4457
C#
- [csharp-netcore] Propagate raw content to the ApiException error content #4381
- [Feature] emit default values for optional properties #4347
- csharp-netcore: Replace null literals with default #4345
C++
- Simpler timeout with QTimer::singleShot #4430
- cpp qt5 client: fix prefix bug #4432
- cpp-qt5-client: remove host since it is not well handled #4429
- [C++][Pistache] update cpp flag for pistache #4386
- [C++] [Qt5]Update isSet when the object is received from callback #4385
- Fix cpp-restbed-server json field serialization #4323
Dart
- [Dart] generate keywords as a resource #4449
Go
- [go-server] Add featureCORS option #4400
Kotlin
- [Kotlin][Client] Add option to make all api method return a nullable model #4422
- [kotlin][bugfix] [maven-plugin]: prevent ClassCastException with boolean config options #4361
- [kotlin][client] annotate API exceptions #4339
- [kotlin][client] gson complete integration #4332
- [meta] Support Kotlin meta generator #4156
Java
- [Java] Recursive equal on reflection #4475
- Replace the old ResourceSupport #4426
- [Java][native] Re-interrupt the thread in the generated code #4382
- [Java][resttemplate][webclient] fix array parameters of type integer in path #4379
- Fix Jackson databind security issue #4370
- [jaxrs-spec][quarkus] update to 0.27.0 #4360
- Bugfix and Refactor on Java-Vertx-Web parameters #4353
- [Java] Fix security alerts due to com.fasterxml.jackson.core:jackson-databind #4344
- [Java][Spring] forward throws for delegate to main method #4327
- [Java] Refactor webClient generator to use URI templates to capture correct metrics #4314
JavaScript
- [Javascript][Flowtyped] Adding parent flow type to child type using "& ParentType" to allow flow JS access parent fields from child types #4263
Python
- [Python-Experimental]: Remove redundant else statement #4324
- [python][metadata] Adding license and author fields #4318
- [Python] Avoid pep8 violation #4316
- [Python] [Performance] Avoid unnecessary checks inside the loop #4305
Ruby
- [Ruby][client] better nullable support #4391
TypeScript
- feature: Typescript-angular support single request param #4479
- typescript-fetch: Only generate npm package if npmName specified #4472
- [typescript-rxjs]: Add support for nullable #4438
- [typescript-fetch] Add (de)serializers for oneOfs #4387
- typescript-angular: fix oneOf and anyOf generates incorrect model for primitive types #4341
- [typescript-fetch] Fix discriminator mapping name #4340
- [typescript-angular] do not call .toISOString() on a string #4337
- [typescript-fetch] Fix for nullable enums + separate treatment of null and undefined #4315
v4.2.0 released
v4.2.0 (containing breaking changes with fallbacks) comes with 3 new generators: dart-dio
, php-slim4
, java-vertx-web
. As always, we're very grateful for the contributions from the awesome community.
List of breaking changes with fallbacks
Below is the summary:
General
- [docs] Custom template clarifications and other minor enhancements #4167
- [core] Update Swagger-Parser to '2.0.15' #4145
- Sanitizes model names so they're valid class/interface names #4127
- Fix readonly with isReadOnly #4102
- Serializer object mapper setting fix #4093
- Remove unused property (SecuritySchemeDefinition) #4081
- Add
style
andexplode
#4042 - [CLI] Initial implementation for batch generation #3789
Avro
Bash
- [Bash] Minor improvements #4274
C
- [C] Update build-and-test.bash to fix CI errors #4312
C#
- [C#][NetCore] Rename local variables #4297
- Deprecated netstandard, uwp support in csharp generator #4214
- [CSharp] add optional flag "optionalEmitDefaultValues" and update template #4010
C++
- [C++] Enable Qt5 Petstore tests #4164
- [C++] [Qt5] Add generation of cmake files to qt5 client #4133
- [C++] [Qt5] Add missing supporting files when prefix is provided #4132
- [C++][Pistache] Use optional when required #4082
Confluence wiki
- Fix Confluence wiki format issue #4064
Dart
- [dart-dio] Correctly handles import of Uint8List #4313
- [Dart] [Bug] Handle model names starting with number #4276
- Fix conflict if paramName is data #4266
- fix(dart-dio): enum class generation is not implemented #4235
- Adds Dart Dio generator #4018
Elm
- [elm] fix code generation for nullable types #4136
- Fix NPE in Elm path parameter #4116
- [elm] Add toString for all types #3983
Go
- [go-server] Return Router interface from controller constructor #4196
- Fix boolean operators precedence #4158
- [Go] Upgrade dependencies #4126
- [Go] Fix go.mod and go.sum for 1.13 #4084
- [Go] Fix enum value which is not string #4077
- [go-server] Enhance Go API server with interfaces router binding and services #4038
- [go-experimental] export required fields without pointer #3989
- [Golang] Allow retrieving the underlying configuration for APIClient #3976
- Do not check status code for default response #3322
Haskell
- [FEATURE][Haskell] Haskell-Servant serves static files #4058
- [FEATURE][Haskell] Add Middleware support for the haskell servant generator #4056
- [haskell-http-client] Bump deps to LTS 14.7 #4068
- [haskell-http-client] add dateTimeParseFormat CLI option - overrides the format string used to parse a datetime #4037
- [haskell-http-client] disable unused import warning in Core.hs #4020
- Fix trailing comma wrong in template for haskell-http-client #4013
Java
- Implement Server Stub Code for Vert.x Web #4286
- Add bearer token authentication documentation to template #4278
- okhttp-gson: fix SSL settings with okhttp3 #4226
- [jaxrs-spec][quarkus] update to 0.25.0 #4185
- Update to jackson-datatype-threetenbp 2.9.10 #4176
- [Java] Support cookie-based security schemas in Java clients #4155
- [Java] fix jackson-databind-nullable version variable due to Gradle Incompatibility (Template Update) #4148
- [JaxRS-Java] use @FormParam for form parameters when it is not Multipart #4125
- [Java] fix jackson-databind-nullable version variable due to Gradle Incompatibility #4092
- [jaxrs-spec][quarkus] update to 0.23.2 and fixes for Dockerfile #4053
- Make Java Resttemplate client thread safe by using the withHttpInfo pattern (Breaking change (with fallback)) #4049
- [java][client] Fix regression in Java XML serialization #4023
- [java] Don't import oltu when not necessary #3950
- [java][client] Don't include nullable attributes twice in serialized JSON #3923
- [java] allow to use setArtifactVersion() programmatically #3907
- [JAVA][JAXRS] Fix parameters validation #3862
- [Java][Fix #3310] Respect discriminator case for @JsonTypeInfo #3320
JavaScript
- [JavaScript][ES6] Added a check if response is undefined #4298
Kotlin
- [Kotlin][multiplatform] better authentication support #4284
- Fix Kotlin query collection format #4248
- [Kotlin] Add kotlin.collections.Set support for unique item arrays #4247
- [kotlin][client] only use authentication tokens when they are not null #4238
- Fixes Kotlin client property names that include a dollar sign #4229
- [Kotlin][client] Add nullable query parameter support #4197
- Update to jackson-datatype-threetenbp 2.9.10 #4176
- [Kotlin][Client] fix missing curly bracket when the model contains enum property #4118
- [kotlin] add option for non public API #4089
- Add DELETE with body to kotlin client #4047
- [kotlin-client][kotlin-server] kotlin data class serial version uid #4021
- [kotlin-client] Add support okhttp3 and Android 4.x #4008
- Fix generation of query parameters for optional/nullable function arguments #3903
PHP
PowerShell
- Update API and model path when packageName is updated #4108
- Fix nullable for arrays and complex types #4106
Python
- [Python] Remove redundant else statement #4311
- Python: Flask: Fix: Update setup.py to match requirements.txt #4205
- [Python] Minor fix to code format #4172
- [python] Remove post_params and body from OPTIONS request #4163
- [python] Skip adding None value in query parameters #4161
- [Python-experimental] types now classes, adds additionalProperties handling #4154
- [python] Add ability to get allowed values #4138
- [python] Add option to skip client validations #4137
- [python] Add missing keywords python #4134
- Test Python aiohttp first in Travis #4117
- Fixed Readonly Docs for python #4085
R
- [r][license]: Better license and contact information #4317
Rust
- [Rust] Better support for optional and nullable parameters #4016
- [Rust] Add support for discriminator #3895
- [Rust Server] Support parameters correctly in response headers #3669
- [Rust Server] Support types with additional properties #3666
- [rust] Make it easier to test rust client generator #3543
Swift
- [swift] Add missing keywords in Swift #4153
- [swift4] Add swift package manager and update dependencies #4141
TypeScript
- [TS] Fixes typescript-axios "File custom.d.ts not found" when building consumer TS project #4230
- typescript-angular: Allow for custom naming of ApiModule #4209
- [typescript-rxjs] improve HttpQuery typing #4198
- typescript-rxjs: fix query parameters type #4160
- [typescript-inversify] Fix multipart form uploads #4131
- Disabling linting for typescript-fetch #4110
- typescript-fetch: fix empty URLSearchParams request body #4103
- [typescript-axios] Fix api generating incorrect serialization type check #4051
- typescript-jquery: Update to work with Typescript strict mode #3969
- typescript-angular: set angular version 8 as default for ngVersion (Breaking change (with fallback)) #3680
v4.1.3 released
v4.1.3 (last patch release before the upcoming minor release v4.2.0) comes with 4 new generators:
- asciidoc markup generator #3845
- Add F# Functions server generator #3933
- [Kotlin][server] Add kotlin-vertx-server #3031
- Add Nim client code generator #3879
As always we're grateful for all the contributions by the awesome community.
General
- Update mockito to 3.1.0 #4035
- [FIX][CORE] Repaired Checkstyle #4029
- Update maven-compiler-plugin version #3956
- Fix jackson-databind security issue #3945
- Add a global option to customize the API name suffix #3918
- Add gradle repository for using gralde dependency in plugin #3867
AsciiDoc
- asciidoc markup generator #3845
C++
- [C++] [rest-sdk] Add missing enum processing in C++ Abstract codegen #3986
- [C++] [Pistache] Removed deprecated warnings #3985
- [C++] [cpprest] Fixed wstring on linux #3892
- [C++] bug fix for ishttpcontent not set properly #3888
- [C++] [Qt5] Add initial version of File upload and download for Qt5 client #3853
- [C++][Pistache] Simplified model template #3417
F#
- Add F# Functions server generator #3933
Dart
- Dart fix template tests #4015
- Change Uint8list by List because it cause trouble with last versions of jaguar #3871
Go
- go: add os import in case of File return type #3996
- Import time when properties are slices of time.Time #3973
- Support Multiple API Keys #3450
Java
- [Java][Client][Feign] fix a bug when encoding query parameters using a parameter map #3948
- [jaxrs-spec] add Eclipse MicroProfile file based approach #3901
- updated google-api-client version from 1.23.0 to 1.30.2. #3882
- java-spring: Spring Boot fails to parse LocalDate query parameter #3860
- [spring] Resolve regression on RequestParam for non-objects #3855
Kotlin
- [kotlin] mark 'parcelize' as a stable option #4003
- [kotlin-client][kotlin-server] feature: allow creation of kotlin data classes that implement java.io.Serializable #3997
- Fixes invalid Kotlin client variable names for reserved words #3993
- [Kotlin] add multiplatform support #3900
- [Kotlin][server] Add kotlin-vertx-server #3031
Nim
- Add Nim client code generator #3879
PHP
- [PHP] Correctly format JSON in headers #4024
- Fix wrong variable name in LessThan and LessThanOrEqual asserts #3971
Scala
- [scala][akka] Removed hardcoded baseUrl #3964
- [scala] add [date-time] field to codegen unit test #3939
- [scala][client] ScalaAkkaClientCodegenTest: refactor assertions #3893
Swift
- [Swift4] update swift4 samples with swiftlint, update test scripts #4009
- [swift4] update Alamofire from 4.7.0 to 4.9.0 #3999
- [Swfit4] better support for type=string, format=number #3910
TypeScript
- typescript-node: Add options to specify a form data file #3967
- typescript-fetch: fix return type of primitive value #4028
- [typescript][node]: Add accept header if produces is not empty #3966
- typescript-fetch: Add application/x-www-form-urlencoded content support #3934
- typescript-node: Fix cookie auth, fix multiple API key auth #3927
- [typescript][fetch] Fix null typing errors #3919
- typescript-fetch: fix missing comma in multiple imports #3881
- typescript-node: Use HttpError class when rejecting promises #3876
v4.1.2 released
Another bi-weekly patch release. v4.1.2 comes with a new generator to convert OpenAPI (v2, v3) into Protobuf schemas & gRPC service definition to help with the migration from REST APIs to gRPC services.
For a full list of changes, please refer to the Pull Request page. Below are the highlights:
General
- Fix remote spec handling and hash calculation #3826
- [core] do not always cast to ArraySchema #3780
- [Maven plugin] Allow configuring User-Agent via maven plugin, update readme #3777
- [core] [regression] set parentName when a single possible parent exists #3771
- [core] change JSON serialisation to be deterministic #3763
- Support custom git repository #3757
C++
- [C++][Pistache] Add missing setter for arrays #3837
C#
- [C#] [netcore] Add missing files to the form request #3834
- Fix warnings in the csharp-netcore client #3831
Dart
- Adds Http Info To Dart Api #3851
- [Dart] Fix README template and update testing doco #3809
- [Dart] Don't create redundant samples #3800
- Fix Dart2 default template #3790
- Add flutter web support on jaguar dart #3786
- Fix dart2 custom templates #3656
- Manage enum properly on Dart Jaguar generator #3654
Haskell
- [haskell-http-client] bump deps to LTS 14.3 #3762
Go
- [client][go] Avoid duplicated reflect imports #3847
Java
- [Java][okhttp-gson] fix failure to deserialize floats #3846
- Fixed bug where nullApi.java is generated instead of DefaultApi.java #3821
- [java-client][rest-assured] add jackson support in addition to gson #3795
- [java] add jackson-databind-nullable dependency to the gradle.build file #3793
- [java-client][java-jaxrs-server][jackson] Add @JsonPropertyOrder to models #3778
- [java] fix ClassCastException in toDefaultValue() #3765
- [java][client] Add a "serializationLibrary" option #3759
JavaScript
- Fix regexp fails on Windows because of backslashes in the path #3802
Kotlin
- [Kotlin][client] Support gson and moshi as serialization libraries #3734
Protobuf
- Add gRPC Protobuf schema generator #3818
TypeScript
- typescript-axios: Fix base options #3866
- typescript-inversify: improve check for required parameters, support multiple media types #3849
- typescript-fetch: add option for TypeScript 3.6+ compatible generation #3801
- typescript-angular: Set Content-Type for multipart requests in angular #3779
- [typescript-fetch] fix serialization/deserialization with inheritance #3767
- [typescript-rxjs] support HEAD method, improve formatting #3766
- [typescript-axios] @ts-ignore possible unused imports #3742
- [typescript-angular] allow empty string basePath #3489
v4.1.1 released
v4.1.1 (patch release) comes with 90+ PRs from the community. Thank you.
For a full list of changes, please refer to the Pull Request page. Below are the highlights:
General
- [core] Set isMultipart=true for multipart operations, fix possible NPE #3750
- Better support for multipart #3736
- [core] process TRACE operation #3648
- Fix imports and property name when using anyof/oneof in services #3639
- autoupdating generator script: userdef cache dir #3631
- Fix composed properties missing from allVars #3616
- Fix callback request and response not being flattened to InlineObjects #3398
- [CLI][GENERATOR] NullPointer when not setting outputDir (updated) #3752
- [maven] Support user overrides for serverVariables (carryover from #3363) #3609
- [cli][gradle] filter deprecated generators by default when listing available generators #3612
- [core][maven][gradle] User-defined server variable substitutions #3363
- Update to swagger-parser to 2.0.14-OpenAPITools.org-1 #3737
- Update Mockito to the latest stable version 3.0.0 #3732
Avro Schema
C++
- cpp-qt5-client: Improve tests #3667
- cpp-qt5-client: add valgrind memory test #3663
- cpp-qt5-client: fix memory leak in api-body #3661
C#
- [csharp] Update UserAgent in the async version of ClientAPI execute method #3723
- [csharp-netcore] Making HTTP response headers dictionary case-insensitive #3707
- [aspnetcore] Fix nullable enum and duplicate model #3622
- [aspnetcore] Add max/min length attributes for models #3588
- [aspnetcore] Add TypeConverter for enum string conversion #3557
Dart
- [Dart] Avoid redundant null checking in fromJson #3632
- [Dart] Make clients crossplatform #3608
- [Dart Jaguar] manage nullable definition #3599
Go
- [Go] add option to use class as enum prefix #3675
- Guarantee a unique name for the constants that represent enum values #3644
- [Go] URLEncode path parameters #3643
- Import Go package with leading underscore #3634
- [Golang][Client] Fix collectionFormat=multi request bug #3390
Java
- [java][client][java11-native] Https protocol schema is not handled correctly in java 11 native code #3730
- [java][client][resteasy] support bearer authentication #3706
- [java][client][resteasy][jersey2][google-api-client][okhttp-json] several fixes to make sent requests more accurate #3703
- [java][client][vertx] Two tiny fixes for Java Vertx client #3683
- [java][client][java11-native] Use javax.annotation.processing.Generated for Java 11 native client #3637
- [java][client] set collection to null when not required #3615
- [java][client] make it possible to send explicit nulls for nullable fields #3474
JavaScript
- Use the latest version of superagent #3579
Kotlin
- [Kotlin-client] Fix null assignation to header/query param map #3749
- [Kotlin-client] Authentication support #3722
- [kotlin] Change Kotlin client exceptions to expose lack of support as UnsupportedOperationException rather than NotImplementedException #3611
- Various fix for Kotlin templates #3504
PHP
- [Slim] Distinction between basicBasic and basicBearer authentication #3621
Python
- [BUG][Python-Flask] Primitive type bytearray deserialization missing in util.py #3642
- [Python] support api key refresh in configuration module #3594
- [Python] avoid unnecessary dictionary lookup in get_api_key method #3592
R
- [R] Updating api docs to include HTTP response codes and their corresponding headers #3699
- [R] feat(r): handling error response for 3xx cases #3571
Ruby
- Fix runtime error in the model's
valid?
of Ruby client #3671 - [Ruby][faraday] Properly pass verify_mode to faraday #3652
Rust
- [Rust Server] Support Bearer based Authentication #3606
- [Rust Server] Frunk - LabelledGeneric - support #3552
TypeScript
- [typescript-fetch] prefix request interface #3740
- [typescript-angular] Encode objects for multipart/form-data with JSON #3738
- [typescript-fetch] namespacing the generated request object types #3695
- [typescript-fetch] Add nullable support #3645
- typescript-angular: Add correct library versions for Angular 8.0.0 #3619
- typescript-axios: If the return type is empty, it should be void instead of Response #3617
- [Typescript] Fix typescript-inversify compiler errors #3607
- typescript-fetch: Fix type errors in generated code #3605
v4.1.0 released
v4.1.0 (breaking changes with fallback) released with 4 new generators/libraries:
- OCaml client generator:
ocaml
- NodeJS Express server generator (alpha):
nodejs-express-server
- Java 11 native HTTP client library:
--additional-properties library=native
- Ruby Faraday client library:
--additional-properties library=faraday
Thanks for the OpenAPI Generator community to help move the project forward with another minor release.
We've also launched a new Slack workspace. Please join to discuss OpenAPI Generator.
For a full list of changes, please refer to the Pull Request page. Below are the highlights:
General
- Better handling of dot in inline model name #3498
- [fix] Assign template directory to additional properties #3385
- Updates to address recent lodash Object prototype vulnerability #3348
- [openapi-yaml] Prerequisities for Swagger 2 template #3202
- [core] Initial implementation of a validation framework in core #3183
Bash
- Bash skip empty query param fix #3290
C#
- [C#][client][csharp-netcore] Fix csharp netcore defaultheaders #3562
- Fix logic of
getNullableType
of csharp server and client #3537 - Fix DateTimeOffset nullable issue #3530
- [aspnetcore] Support cookie parameter #3490
- Adds default property values in ASP .NET Core models #3369
C++
- [C++][Pistache] Do not use JSON for primitive types in request body #3509
- [C++][Qt5] Remove QRandomGenerator #3508
- Add modelNamePrefix option for qt5 #3431
- qt5 client: strip whitespace #3406
- [C++][Pistache] Add compatibility for nlohmann-json 3.5.0 #3306
- Fix issue deserializing to nullptr #3572
Dart
- [dart-jaguar] Fixes error accessing default converters #3361
- [dart-jaguar] Adds option to customise the generated API client name #3234
Go
- [Go][experimental-client]: make struct members pointers, provide custom marshalling #3371
Java
- [java][client][jax-rs] Add a constant for Jackson @JsonProperty #3560
- [java-client][okhttp-gson] fixes for interceptors in ApiClient.java #3502
- Expand path templates via resttemplate's uriTemplateHandler #3500
- [Java][RestTemplate] remove wrong Null Check #3481
- [Java] Replace "useNullForUnknownEnumValue" option with the nullable attribute #3455
- [Java] add nullable support to the clients #3453
- [Java] Fix numeric field names #3436
- Java 11 native HTTP client library #3434
- [Java] add nullable annotation to pojo template for non-required fields #3409
- [java rest-assured] prevent reqSpec reuse between requests #3375
- [JaxRS-Spec] add openApiSpecFileLocation parameter #3344
- [java] Support for number enum #3328
- java-springcloud: No dependency management if parent overridden #3301
- Enable async option for spring-cloud library #2670
- Fix invalid spring properties prefix #3501
- [java-client][okhttp-gson] support bearer authentication #3236
JavaScript/NodeJS
- Add a new NodeJS Express server generator #3567
- Upgrade babel packages for Javascript ES6 generator #3424
OCaml
- [OCaml] Add file post-processing #3568
- [OCaml] Response headers were not processed for enums collection #3526
- [OCaml] various enhancements #3483
- [OCaml] new client generator #3446
PHP
- Fix PHP Symfony non-primitive return type being forced to be an array #3515
Python
- [Python][server] Use range for dependencies in python-flask #3470
Rust
- [rust] Stop deriving Eq for models #3463
- [Rust][Client] Correct the Rust client generated documentation #3419
- Better Rust client imports #3332
- Fix enum types in structs #3309
- [Rust Server] Support multipart/form_data request bodies #2846
- [Rust Server] Generate valid Rustdocs for lazy_static items #3556
- [Rust Server] Allow more than 32 configured paths #3494
R
- [R] updated example in doc(.md) file #3429
Ruby
- [Ruby] clean up Ruby dev dependencies #3551
- [Ruby] remove auto-generated Gemfile.lock #3541
- [Ruby][faraday] add TLS setting support #3527
- [Ruby][Faraday] Various improvements #3520
- [Ruby] add support for "faraday" #3405
- Ruby-client: Don't encode slashes if strict-spec false #3204
Swift
- [Swift4] Introduce XcodeGen #3396
Scala
- [scala-play-server] Correct CLI option name #3340
TypeScript
- typescript-fetch: allow configuration of headers and credentials #3586
- [typescript-angular] fix string casting #3558
- [typescript] change accessToken name parameter to optional #3555
- typescript-fetch: Properly detect and encode container request body param #3517
- [typescript-rxjs]: support reponseType blob #3437
- typescript-axios string date format #3423
- [typescript-rxjs] runtime and api cleanup #3316
- [typescript-angular] use correct package with http-client #3465
- [Typescript Axios] fix Content-type not set properly #2695
- [typescript-node] fixed enum generator for top level enums #2266
- Added serialization support for typescript on complex object headers #1874
- Support importMapping definitions for TypeScriptNodeClientCodegen #3469
- [typescript-angular] add flag for using string enums #3464
- [typescript-node] Promise-based Authentication interface #3408
- Fix NPM build for Typescript-fetch #3403
- [typescript-angular] Add encoder configuration, fix default encoder #3389
- typescript-fetch: fix basic type errors #3380
- [typescript-fetch] support custom stringify for query string #3327
- [typescript-fetch] Fix collection formats reference #3324
- [typescript-fetch] Fix access token type #3323
v4.0.3 released
The last patch release before 4.1.0 (minor release). Below please find the highlight of the changes. For a full list, please refer to the Pull Request page
Once again, thanks for all the contributions from the awesome community.
Note: we'll also talk about this release in Open Summit Japan 2019. Please join our presentation on Jul 19 (Friday) 14:00 - 14:30 (GMT+9) if you want to learn more about developer experience for open-source projects.
General
- [online] Remove GENERATOR_HOST defaults #3289
- Handle discriminator mapping non-ref name #3247
- [core] consider content in parameters and headers when computing unused schemas #3243
- Update to swagger-parser to 2.0.13-OpenAPITools.org-2 #3239
- [online generator] integrate with rapidoc (interactive explorer) #3229
- Fix inheritance with modelPrefix #3151
- Update DefaultCodeGen to allow additional primitive types #2799
C++
C#
- [csharp] Adding http response details on api_docs and making example snippet compilable #3129
- [csharp-netcore] Add http response details in api_docs to make example snippet compilable #3128
- [aspnetcore] Add API key authentication support to aspnetcore server #3089
- [aspnetcore] Preliminary support for ASP.NET 3.0 Core preview 5 #2824
Dart
- [dart-jaguar] Makes converters publicly accessible #3245
Documentation
- [openapi-yaml] fix config option outputFile ignored by the generator #3199
Elm
- [elm][haskell-servant] fix StringIndexOutOfBoundsException #3262
Go
- Add new Go client (experimental) generator #3268
- [Go][Client] Use configured Scheme and Host in requests #3115
- [go] Serialize multipart array of complex objects as JSON #2965
Haskell
- [elm][haskell-servant] fix StringIndexOutOfBoundsException #3262
Java
- [Java] fix javadoc configuration #3302
- [Java][Rest-assured] Bump rest-assured version #3282
- Update dependency with jsr250-api #3279
- Added RxJava2 to java-vertx server codegen #3240
- Add missing javax dependencies for Java > 8 #3188
- Added special handling for 'string' types with format 'uri' #3161
- [java][jesery2] fix "InjectionManagerFactory not found" issue #3153
- [Spring] fix documentation containing argument "java8" twice #3122
- Check classVarName against reserved keywords, renamed snakeCase to lowerCamelCase #3079
- Only enable Spring default interface for
java8
#3022 - Add
throws Exception
directive to Spring operation methods #2482
JavaScript
- Update JS flow dependencies to fix security issues #3296
- Fix typo in Javascript generator template #3249
Kotlin
- Ktor Fix KtorExperimentalAPI import #3108
- Add Flow import to kotlin spring reactive #3107
- [KOTLIN Spring] add interfaceOnly option #3050
Perl
PHP
- Set error_reporting(E_ALL) in phpunit.xml settings, to crash on undefined variables #3266
Python
- [Python] Adds new client generator, python-experimental #3244
- [Python] configurable limit of simultaneous connections (python/asyncio) #3200
- [Python] Make example code snippet compilable #3148
R
- [R] Added handling exception with ApiException class and better documentation #3217
- [R] Alternate PR for serialization fixes along with WithHttpInfo method enhancement #3099
- [R] Inclusion of useragent, timeout and serialization #3084
Ruby
- [Ruby][Client] Add "send" to ruby reserved word list #3146
TypeScript
v4.0.2 released
Even though v4.0.2 is the regular bi-weekly patch release, it still comes with enhancements, bug fixes covering many languages. For a full list, please refer to the Pull Request page. Below please find the highlight of the changes:
General
- [gradle] Document consuming via gradle plugin portal #3125
- Import inner items for map #3123
- [maven-plugin] fix strictSpec parameter without alias #3095
- [core] GeneratorSettings, WorkflowSettings, and cleanup in CodegenConfigurator #2946
- Link query parameter to model object #2710
C#
- Update C# client dependency #2678
- [ASP.Net Core] General support to add scopes for bearer authentication #1984
C++
- [C++] [cpprestsdk] Add examples and test for cpprestsdk #3109
- [C++][Qt5] Add Q_DECLARE_METATYPE to the generated models and remove ref in signals #3091
- [C++] [Qt5] Add API timeout handling #3078
- [cpp-pistache-server] Fix wrong include path in api-header template #3062
- [C++][Qt5]Map number to double since float is also parsed as double in Qt5 #3046
Go
- refactor(golang): Use http provided constants for http methods #3028
- [Golang][client] Allow generating go client code as a submodule #3012
Java
- [Java][okhttp-gson] Update dependencies #3103
- [Java][jersey2] Making response headers case-insensitive #3072
- [Java][jersey2] Documentation changes and making example snippet compilable #3056
- [Java][jersey2] Fixing javadocs wark #3040
- [Java][okhttp-gson] Making API response headers case insensitive #3029
Javascript/NodeJS
- Bump up babel-cli version to fix security alert #3121
- Mark nodejs-server as deprecated #3083
- [JavaScript] Remove default parameters syntax as it's an ES6 feature #2848
Kotlin
- [KOTLIN Spring] fix generation with modelNamePrefix/Suffix #3038
- [Kotlin-Spring] template fixes/improvements #3007
- [Kotlin-Spring] add reactive behavior via Kotlin coroutines #2934
Ruby
- Fix rubocop obsolescence #3175
- Ruby: Avoid double escaping path items #3093
- Ruby client: escape path parameters #3039
Rust
- Idiomatic Rust returns for Error conversions #2812
- Add enum support to
rust
and skip none option serialization in clients #2244
Scala
- [scala-play-server] Fix API doc url #3096
- [scala-play-server] Fix generated enums named after a reserved word #3080
TypeScript
- [typescript-fetch] add bearer token support #3097
v.4.0.1 released
The first patch release (v4.0.1) since the major version v4.0.0 released 2 weeks ago. Please refer to the milestone for a full list of changes. Below are the highlights:
General
Apex
- [Apex] Set namedCredential file name from the property #2937
C++
- [C++][Restbed] Add handler callback methods #2911
- [C++] [Qt5] Set default base path and change constructor to const ref #2973
- [C++][Pistache] Separate exception types when handling requests #2930
C#
- [C#] Remove null checks for C# value types #2933
- [aspnetcore] Added support for patterns on model properties #2948
- [csharp] Make API response headers dictionary case insensitive #2998
- [csharp] Add an option to make API response headers dictionary case insensitive #2998
- [csharp-netcore] Enabling XML documentation on csharp-netcore client #2996
- [C#] Enabling XML documentation in the C# client #2953
Dart
- [Dart][Jaguar] fix wrong import on object #3000
- Add auto-generated tests and Travis config to Dart clients #3006
- dart2: update to work with dart 2.3.0 #2894
Elm
- Add support for enums in Elm operations #2982
F#
- [F#][Giraffe] Remove unused import #2893
Go
- [Go] Check error of XML Encode in the API client #3027
Groovy
- [Groovy] improve code parsing body/form params #2879
Java
- [java-okhttpgson]: Include API's Http response codes and their corresponding description and response headers in the documentation #2995
- Update Java Feign client to the latest stable version #2999
- Fix for Java JAX-RS tests in Windows platform #2927
- Disable jdk8 when using responseWrapper #2873
- [Spring] Disable jdk8 when using responseWrapper #2873
Kotlin
- [KOTLIN client] fix Moshi (Serializer/Deserializer) duplicated #3013
- [kotlin] add testFolder configuration for kotlin #2975
- [Kotlin client] Improve JSON parser #2981
- Improve Kotlin code quality #2988
- [Kotlin] Fix parse error when using custom field names with @JSON #2944
PHP
- [PHP] Fix group parameters in WithHttpInfo method #2951
Python
- [python-server] Support python 3.5+ for all server-generators #2884
- [Python] fix ModuleNotFoundError when packageName contains dots #2992
- [Python] Remove unnecessary if else #2985
Ruby
- Add support of Bearer Basic Authorization to Ruby client #2856
TypeScript
- [typescript-fetch] Fix uploading files #2900
- [TS][Inverisify] Adding support for RxJS 6 #2793
- [TS][Axios] To fix conflict params name 'url' #2921
- [Typescript] remove deprecated typings #2880
- [TS][Fetch] Add support for openapi maps/dictionaries to be generated as typescript map #2913
- [Typescript] gets package npm version from API specification #2920