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