Skip to content

v4.2.3 released

Compare
Choose a tag to compare
@wing328 wing328 released this 31 Jan 09:26
· 6990 commits to master since this release
26ace13

The first release in 2020 comes with lots of enhancements, bug fixes and new generators.

New Generators

  • swift5: swift 5 client generator
  • markdown: markdown documentation generator

New HTTP library support (--library option) in the existing generators:

Thanks again for all the contributions from the community.

For a full list of changes, please refer to the list below:

List of all changes

Here are the highlights:

General

  • [gradle] Clarify defining multiple tasks #5167
  • [core] Add back functionality to debug openapi spec, accidentally removed in 4.1.2 #5147
  • Fixing some issues with threading and NPE #5107
  • [test] Removes jmockit in favor of mockito #5063
  • [CORE] Add support for HTTP signature #4993
  • Use UTF-8 charset on writing files #4984
  • Include vendor extensions from security scheme #4830
  • [Core] Refactor: breaking allModels indexing apart from updateAllModels #4753
  • [core] Minor schema validations bug + add pattern property to CodegenResponse #4724
  • Add isCircularReference to properties #4553
  • Support models with multi-level hierarchy (via roxspring) #4503
  • [Java/Core] Adds properties to ComposedSchema models when they exist #4482
  • [core] Initial FeatureSet structures #3614

Ada

  • [Ada] Wrong style for generated Ada model types and missing security scopes #4863

C

  • [C-libcurl] Support HTTPS/SSL for the C client #5140
  • [C-libcurl] Support setting basePath and apiKeys when creating an apiClient #4960
  • [C-libcurl] The JSON key name in request/response body should not be escaped even though it is a C key word #4893
  • [C-libcurl] fix building error when complexType is empty #4768
  • [C-libcurl] Change baseName to name to escape the field name of struct #4735

C#

  • [csharp-netcore] Fixed compiler null-check warning #5119
  • [csharp-netcore] Support .NET Core 3.0/3.1 and .NET Standard 2.1 #5111
  • [csharp-netcore] Update RestSharp and improve async methods #5066
  • [aspnetcore] Fix duplicate enums #5059
  • [C#] allow customization of generated enum suffixes #4301

C++

  • [C++] [Qt5] Support abort operation #5114
  • [C++] [Qt5] Add request compression and handling identity #5088
  • [C++] [Qt5]Add support for response compression and various enhancements #5060
  • [C++][Pistache] Rename value holder to lower chance of collision with parameter name #4948
  • [cpp-restbed] Added "out-of-the-box" functionality #4759

Dart

  • [dart-dio] Fixes issues with DateTime import and form date paramaterToString function #4929
  • [dart-dio] Fix basepath #4911
  • [dart-dio] Adds support for multipart form data post body #4797
  • [dart][dio] add dateLibrary options ( core, timemachine ) #4716
  • [dart-dio] Fixes enum by setting the wireName to the correct value #4708
  • Added Dart config parameters to fulfill pubspec requirements for publishing to pub #3911

Documentation

  • Fix boolean option in asciidoc generator #4856
  • [asciidoc] add option to not generate metadata #4852
  • [markdown] New Markdown Generator #4811

Go

  • [go] Allow user overrides for generated outputs #5132
  • [go-experimental] Fix multiple go compilation errors and enable go integration test in pom.xml #5075
  • [go] fix compilation error in generated go code #5061
  • [go][client] fix when schema have multiple servers #4901
  • [go-experimental] Use builder pattern for requests #4787
  • [REQ][GO] add AWSv4 signature support #4784
  • [go-experimental] Fix issue with Nullable marshaling comparing value to empty string no matter the enum type #4712
  • [go] Fix multi-value path params in go #4664
  • [go-experimental] Add multiple servers support to Go(-experimental) client #4635

Java

  • [Java][jersey2] Escape query params before invoking api #5023
  • [Java] Fixes Spring generator devaultValues for int64/float/double #4969
  • [jaxrs-spec][quarkus] update to version 1.1.1.Final #4935
  • [java][client] jackson update #4907
  • [java] fix Jersey2 and resttemplate not correctly sending defaultCookies #4821
  • [Java][Spring] Fix bean Validation for type:string, format: email #4788
  • [Spring] Fix template for RequestBody, added 'required' attribute #4756
  • [REQ] Java Microprofile REST Client Template #4713
  • Error in the reactive client when the path variables are a list #4689
  • [Java] Fix serialized name of discriminator in JSON.mustache #4672
  • [Java][jersey2] Use builder pattern for requests #4666
  • Fix multi-part binary array form parameters for Spring Boot and Spring Cloud templates #4616
  • [Java] Additional annotations for model type (class level annotations) #4026

JavaScript/NodeJS

  • [HttpBasicAuth] Use positive isBasicBasic tag instead of negative isBasicBearer #5095
  • [javascript] Add npmRepository option to javascript generators #4956
  • Use correct relative paths #4677

Kotlin

  • Add deprecated annotation in kotlin-spring #5090
  • [kotlin][client] Use OffsetDateTime to represent date-time received by the server #4835
  • [kotlin][client] unify JVM libraries #4827
  • [Kotlin][Client] Added new option to enable moshi code generator #4781
  • [kotlin][client] expose http status code on errors #4742
  • [kotlin][client] make serializer configurable #4740
  • [Kotlin][Client] new library support: Retrofit 2.x #4518
  • [Kotlin] enumPropertyNaming UPPERCASE should separate words with _ #4062

Python

  • [Python] Fix operations with req enums of length one #5129
  • [python] Cleanup ThreadPool with atexit rather than del #5094
  • [Python] fix numeric enum in python flask, aiohttp #5019
  • [Python-experimental] Add python experimental openapiv3 sample and fix PEP8 formatting issues #4992
  • [Python] Conditionally set auth attributes #4988
  • [Python] Support for HTTP signature #4958
  • [python-experimental] Allow models to have properties of type self #4888
  • [Python] Fix package name in tox.ini #4776
  • [Python] Updates python test framework to pytest #4765
  • [Python] Removes mutable default argument #4665
  • [Python] Changes to the templates for test code of python client #4514
  • [Python-experimental] Adds allOf/oneOf/anyOf composed models #4446

Swift

  • [Swift5] return ErrorResponse.error when network parsing error #5068
  • [Swift] Minor improvements to swift 5 generator #4910
  • New generator swift5 #4086

PHP

  • [PHP] fix php codegen ordering issue with CodegenSecurity #5001
  • [Slim4] Data mocker for scalar types #4751
  • [PHP] ensure rewound guzzle response body #4744
  • [Slim4] Update templates to comply PSR-12 coding style #4728
  • [PHP] Preserve JSON accept header #4684

MySQL

  • [MySQL] snake_case table and column names #4860

PowerShell

  • [PowerShell] avoid using hardcode prefix in example #4917

R

  • [r] Fixing the CRAN submission issues #4828
  • [r] Adding export of ApiException class #4761
  • [r] fixing serialization bug in empty json array #4667

Ruby

  • [Ruby] remove base_object_spec.mustache from ruby client #4918

Rust

  • [Rust Server] Handle array of objects inside an object correctly #5044
  • [Rust Server] Add support for primitive arrays #5041
  • [Rust Server] Rust 1.39 compatibility #4864
  • [Rust Server] Hyper 0.12 Support #4519

Scala

  • [scala] Support for Set when array has uniqueItems=true #4926

TypeScript

  • [typescript-angular] Sanitize/transform model name after appending modelSuffix #5105
  • Typescript Axios returned types and export paths fixed #5102
  • [typescript-angular] Fix typescript model kebab-cased filenames #5085
  • [typescript-axios] Fixed call of toISOString on a string type when using string type-mapping #5057
  • [typescript-node] Added ability to work with defaultHeaders and fixed authentication #4896
  • [typescript-axios][client] Unnecessary imports occurs when using nested model in allOf #4805
  • [typescript-redux-query] Add proper modeling of allOf usage #4780
  • [typescript-angular] Control Accept header via param #4774
  • [typescript-node]: Add support for nullable #4670
  • Typescript refactor: Platform select for browser and node #4500
  • [REQ][typescript-angular]: support for object as query parameters #4407
  • [typescript-rxjs] performance improvements, bugfix for falsy parameters #4250