Releases: OpenAPITools/openapi-generator
v5.4.0 released
v5.4.0 is the last stable release before next major release v6.0.0 scheduled in 2022 Q1/Q2. It comes many enhancements/bug fixes and 5 new generators/libraries:
- java-camel: Apache Camel Server Generator
- java-micronaut-server: Add Micronaut server generator
- jaxrs-spec (kotlin-server): Kotlin client: add volley library support.
- generichost (csharp-netcore) Adding generic host library
- python-experimental Adds a new python client with robust composition, spec naming, and type hints
Thanks for all the contributions from the OpenAPI Generator community.
For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.
General
- Migrate to official Apache Maven Wrapper #11381
- Adds generator default template engine #11366
- Recursively search for types during import type collection in deeply nested schemas #11221
Avro
- Avro schema generation fix for properties with type ref to an enum #11201
C
- keyword conflict with zebos list_creat(), list_free() #11190
C++
- [CPP-QT-QHTTPENGINE Server] various bug fixes #11177
C#
- Improve example value handling in C# generators #11355
- [csharp-netcore] Fix: Add only first Authorization header #11325
- [BUG][csharp-netcore] Fix Multi Files for the same FormField #11259
- [csharp-netcore] Adding generic host library #10627
Go
- Handling golang client generation for oneOf with no discriminator and useOneOfDiscriminatorLookup is true #11178
Java
- [JAVA] new Feature interface: Documentation Provider and Annotation Library #11258
- Avoid using import mapping in model generation #11217
- [Java Spring OAS3] Fix numerous OAS3 related Bugs #11181
- Apache Camel Server Generator #11162 (New Generator)
- Change Helidon MP release in generated project from 1.x to 2.x #11076
- Add Micronaut server generator Enhancement: New generator #10270
JavaScript
- [JS][flow] update node-fetch to newer version #11378
Kotlin
- [KOTLIN][CLIENT] fix unused library additional properties on kotlin generator #11328
- [kotlin] Added fix for wrongly encoded backticks for reserved words when generating kotlin client #11310
- [kotlin-server][jax-rs] Added support for JAX-RS library into Kotlin Server generator #10830
PHP
- [PHP] Allow guzzlehttp/psr7 ^1.7 or ^2.0 #11240
- [php][bug] Fix DateTime microseconds bug in ObjectSerializer #11213
Python
- [Python] fix model to dict #11234
- feat(python-asyncio): add support for proxy config using system env vars #11171
- Adds python-experimental which uses dynamic base classes #8325
Rust
- Rust Client: Add support for collectionFormat="multi" #11169
Scala
- [scala-gatling] use the official Gradle plugin #11208
Swift
- Make moduleObject.mustache confirms to JSONEncodable #11202
- [swift5] Add property x-null-encodable extension for full control over encoding value/nil or nothing #11141
TypeScript
v5.3.1 released
v5.3.1 is the last stable release in 2021. It comes many enhancements/bug fixes and 2 new generators/libraries:
- csharp-netcore-functions: [C#] new Azure functions generator
- volley (kotlin): Kotlin client: add volley library support.
Thanks for all the contributions from the OpenAPI Generator community. We would like to take this opportunity to wish everyone Happy Holdiays!
For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.
General
- Fixes paramName and dataType for request body anyType parameters #11075
- Compare HTTP auth security schema names case-insensitive #10989
- Better handling of NPE in parser when referencing invalid schema #10882
Bash
- [Bash] Support post form data #10795
C
- [C][Client] Support a custom data type (IntOrString) #11074
- [C][Client] Use cpack to build deb package #10935
C#
- [C#] new Azure functions generator #11020
- [C#] Update C# dependencies to newer version #10761
- [csharp-netcore] Support Net 6.0 #10634
C++
- [cpp-pistache-server]: Fix build with pistache #10829
- [cpprestsdk] CMake build system improvements #10660
- [Qt][C++] Oauth2 Authorization Code Flow and Implicit Flow Support #10183
Crystal
- [crystal][client] Update crystal client gitignore.mustache with shards related files #10698
Dart
- [dart][dio][built_value] Fix missing serializer factory builders for additionalProperties #11011
- [dart-dio-next] Removes dioLibrary option #10931
Go
- [GO] dont canonize headers #10779
Groovy
- Fix build-info-extractor-gradle in groovy build.gradle #10760
Kotlin
- [kotlin][client] update request exceptions #11065
- [Kotlin] Fully qualified "Any" for enums in encode and decode function #10985
- [Kotlin][Multiplatform] Support custom Ktor HTTP client configuration #10968
- [kotlin][spring] Add validation to headers #10703
Java
- [java][okhttp-gson-nextgen] Better null handling in oneOf, anyOf model #11056
- Add operation level servers support for java okhttp-gson client #10925
- [Java][okhttp-gson] Support text/plain body #10885
- Fix library generation compatibility with Gradle 7.2 #10716
- [java][microprofile] update dependency to newer version #10714
- Allow Spring generated code to use new OAS 3 annotations #9775
K6
- [K6 Generator] various enhancements (request body example data extraction, support for generating scenario tests and load tests out of the box, and much more) #11106
Php
- [php-slim4] Bump required PHP version to 7.4 #11039
- [php-slim4] Switch to Packaged Body Parsing Middleware #9562
PowerShell
- [powershell] add file upload support #10735
Protobuf
- [Protobuf-Schema] Add numbered field number list switch #10893
- [Protobuf-Schema] Add enum as model support #10868
Python
Rust
- [rust][client] fix breaking regression introduced by #10432
- [rust] Update to modern hyper and futures crates #9919
Scala
- [scala-akka-http-server] Fix array optional parameter invalid default value #10676
Swift
- [swift5][client] allow request cancellation and authentication flow to work together #11019
- [swift5] Refactor encodeToJSON #10961
TypeScript
v5.3.0 released
v5.3.0 comes with many bug fixes and enhancements with breaking changes (with fallbacks). Almost 240 PRs (covered more than 20 programming languages) contributed by the OpenAPI Generator community. Thank you.
For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.
General
- Add snake case lambda #10658
- Add try-with-resources to unclosed streams #10641
- Improve version management, update dependencies, remove unused dependencies #10544
- Fix Windows build failure in some environments #10529
- Updated model generation, addProps handling moved into type object and anyType handling #10505
Bash
- Changing from scriptName to x-codegen-script-name to fix dockerfile #10594
C
- Libcurl CMake adaptations #10249
C#
- Fix compilation issues in the CSharpOperationTest class #10574
- [csharp-netcore]For conditionalSerialization do not initialize the default value. #10551
C++
- [cpp-rest-sdk-client] Serialize boolean parameters as true/false instead of 1/0 #10554
- [cpp][qt] Start cleanup of cpp qt readme #10549
- Improve templates for C++ Restbed #10543
- [cpprestsdk] fix string conversion, add integer enum support #10531
Crystal
- [crystal] Fix some issues in crystal client templates #10629
Dart
- Dart: mark jaguar for deprecation #10533
- [dart] json_serializable: remove experimental generator #10532
- [dart][dio] Respect import-mappings parameter #10528
- [dart-dio-next] Adds an option for using the dio_http package Client: Dart Enhancement: Feature #10497
Elm
- [elm] fix for invalid code being generated for enums #10328
- [bugfix][Elm] Fix template when response schema is Map #10310
Go
- [go]: fix anyOf compilation error #10431
- [go-server] Fix: param names clash with variables, added suffix #10243
Haskell
- [haskell-http-client] add ability to choose additional characters in querystring which should not be encoded (e.g. "+" or ":") #10424
HTML
- Updated the HTML2 Doc Curl Examples to provide sample Request Body & Query Param examples #10323
Java
- [java][jersey2] update dependencies #10659
- Improve Apache Httpclient support #10624
- [Java][Feign] Add http status to feign result #10583
- [Java][RestTemplate] Fix RestTemplate not handling ApiKey in cookie #10578
- [java][jersey2] use implementation, add min version of maven, gradle in the README #10571
- [java] Update Gradle to 7.2 #10538
K6
- [ K6 Generator ] Support for extracting examples defined at parameter level of Swagger/OpenAPI specification, plus minor fixes #9750
Kotlin
- Fix kotlin enum default value #10592
- Kotlin multiplatform updated to fit future Kotlin 1.6.0 release #10468
PHP
- [PHP] Update GuzzleHttp version to 7 #10585
- [php] fix 'mixed' invalid for settype() #10576
- [php-slim4] Migrate PHPUnit config #10230
PowerShell
- Add decimal support to the powershell generator #10486
Python
- [Python] fixes setitem throwing an error for composed instance #10197
- Python client - fixes boolean enum use case #9926
R
- Add decimal support to R client generator #10487
Ruby
- Ruby: Fix deprecation warning for Faraday #10559
- [REQ] [RUBY] [FARADAY] Allow middleware to be configured #10495
Rust
- Fixes doubles type as &str&str for type:string; format:uuid parameter #10569
Scala
- fix: don't send just " " in body, send an empty string #10561
Swift
- [swift5][client] add support for async await #10442
TypeScript
- [typescript-axios] Update to Axios 0.23.0 #10626
- fix(NestJS): use correct typing for default headers #10616
- [typescript-axios] Fix invalid query params usage #10512
WSDL
v5.2.1 released
v5.2.1 release comes with 2 new generators:
- java-micronaut-client
- php-dt: new client generator for PHP language. Generated client is lightweight and extensible, relies on Data Transfer for handling request/response content and complies with PSR-7, PSR-11, PSR-17 and PSR-18.
Thanks for all the contributions from the OpenAPI Generator community.
For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.
C
- [C][Client] Allocate memory for the element of array when the type is number #10124
C#
- [csharp-netcore] Fixed the utc time issue for httpSigning auth #10139
- [csharp] Obsolete attribute on deprecated operations and properties #10084
C++
- [cpp-pistache-server] Fix missing semicolon in template and missing code to set default values of model schema #10136
- [cpp-ue4] Added support for bool in URL parameters, now writes true/false #9951
Dart
- [dart][dio] Nullable parameters & defaults for header/query parameters #10147
- [dart-dio-next] Don't use encodeCollectionQueryParameter on maps #10116
- [dart-dio] Fix parameter generation problems #10061
Elixir
- [Elixir] Adding :package and :description to mix.exs template #9945
Erlang
- [erlang-server] Dialyzer spec #9983
Go
- [go-server] Feat: add required assertions to models #10068
- [go] More idiomatic godoc comments #10044
Haskell
- Haskell-http-generator - Make endpoints which don't return anything yield NoContent #9916
Java
- [BUG][Java] Fix a race condition in RetryingOAuth.mustache #10087
- Add support for Micronaut Client #10063
- [Spring] Use fully qualified name for Pageable #10045
- [jaxrs-resteasy] fix java8 datetime issue #10014
Kotlin
- Add AnyType support to Kotlin generators #10070
- [Kotlin][Multiplatform] Add missing JVM dependency #10051
PHP
- Make php's array primitive #10093
- [PHP] Deprecated annotation on operations and fields #10085
- [PHP] New client generator php-dt #10041
Python
- [python-flask] Fix NoneType when deserialize optional date #10081
Ruby
- [Ruby] Add new Ruby versions to the Travis CI build matrix configuration #9971
Rust
- [rust-client] Fix typo related to the form parameters #10096
TypeScript
- Typescript-angular: Added missing semi colon to interface file #10121
- [typescript-fetch] Add initOverrides #10050
Swift
- [swift5 client] fix filename for binary downloads #9989
v5.2.0 released
v5.2.0, containing breaking changes with fallbacks, has been released with bug fixes, enhancements and 3 new generators:
- cpp-tiny
- python-fastapi
- wsdl-schema
Please give these a try let us know if you've any feedback.
The release comes with 190+ PRs contributed by the OpenAPI Generator community. Once again, we would like to thank all contributors for their contributions.
For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.
General
- Better null check to surpress SonarCloud warning #9888
- operationId: Allow getting only the method name #9724
- Avoid using Properties.clone() which is broken in Gradle plug-in #9653
- Adds isShort + isUnboundedInteger to IJsonSchemaValidationProperties implementers #9519
- Fix Gradle Plugin ValidateTask not working under Gradle 7.0 #9453
Android
- [Android] update httpclient version, fix compilation issue in the sample #9728
Bash
- [Bash] Fix matching of header parameters #9370
C
- [C]: Fix enum values #9537
C#
- Conditionally apply serialization on certain properties #9807
- [aspnetcore] avoid empty string enum value in the option #9501
- [csharp][httpclient] Introduce FileParameter as an abstraction #9426
- [csharp][netcore] Handle Deserialization Asynchronously #9424
C++
- [C++][pistache] string enum code generation improvement #9786
- [cpp-ue4] API calls not return the http request for further manipulation #9693
- [cpp-restsdk] Update json double/float parse #9577
- [cpp][tiny] rename generator, update samples #9560
- [C++] Rename Qt5 to Qt #9490 Breaking change (with fallback)
- New generator | Arduino cpp #9489
Crystal
- [crystal][client] Support authorization #9488
- [crystal] Update crystal version 1.0.0 (from 0.35.1) #9477
Dart
- [dart][dart-dio] Add support for query collection parameter format #9635
- [dart][dart-dio-next] Improve support for file uploads #9542
- [dart] Improve content-type handling #9517
Erlang
Go
- [go-server] Add go-chi generator to go-server via a router property #9748
- [go-gin-server] add PATCH method support #9662
- [goserver] Fix single inheritance code generation for goserver #8356
Haskell
Java
- [Java] [Native] Unify exception messages for async, add the status code #9825
- [Java][Feign] Skip oauth-related files when the spec has no oauth defined #9760
- Hide buildOauthRequestInterceptor under isOAuth section #9736
- [Java][WebClient] add ResponseEntity return for webclient #9327
Kotlin
- Add support for generating a Set for a list with uniqueItems set to true #9849
- [Kotlin Multiplatform] Update and fixes for Kotlin 1.5.10 and Kotlinx.serialization 1.2.1 #9755
- [kotlin][client] fix Android crash on API level 25 and bellow #9578
- [Kotlin][retrofit2] replace okhttpclient with callfactory #9451
- [Kotlin] Allow optional header parameters with Kotlin and retrofit2 #9306
JavaScript
- [JS][Flow] Better code format, update samples #943
- [Javascript-Flowtyped] Handle joining uniqueItems in api template #9417
PHP
PowerShell
- [PowerShell] Improve generated PowerShell examples #9836
Python
- New python-fastapi generator #9611
- Fix python generation when custom files and templates are specified #9572
- [python][client] allow passing floats for request timeout #9532
- [python] readonly constructors #9409
- [python] Fixes additional_properties_type for models #8802 Breaking change (with fallback)
R
- Add support for Boolean in R client generator #9469
Rust
- [rust-client]: fix reqwest not support client::options #9745
Scala
Swift
- [Swift5] support Vapor 4 client library #9625
- [Swift5] namespace changes #9624
- [Swift5] Add useClasses cli option #9608
- Add hashableModels to additional properties #9495
- [swift5][client] make AnyCodable optional #9479
- [swift5] Map file and binary to Data #9419
- [swift5][client] add option to generate or not the model additional properties #9375
- [swift5] Add support for oneOfs #8714
TypeScript
- [typescript-fetch] Support for async accessToken #9659
- Typescript: add paramPropertyNaming #9546
- [typescript-axios] properly mark 'deprecated' routes in #9505
- Add OAuth2 to typescript template #9466
- [typescript] Fix uncompilable output when using allOf #9275
- [Typescript Fetch] New optional mode with redux saga & immutablejs (saga & records) #8578
WSDL
- New generator: WSDL #9545
v5.1.1 released
v5.1.1 is a patch release with enhancements, bug fixes covering 15+ programming languages. As always, we appreciate the contributions from the awesome OpenAPI Generator community. In this release, we've added a new go-echo-server
generator.
For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.
General
- [Enhancement] added support for custom type & format mapping #9285
- [Docker] support multi-arch build #9246
- Gradle plugin -
@Input
and@Internal
should not be apply on the same property #9059 - [core] Allow using lists as globalProperty in config files #8339
- Add executionId to filehash in OpenAPI Generator Maven Plugin #7848
Bash
C#
- [csharp-netcore][httpclient] Issues managing error statuses #9389
- [csharp][netcore-httpclient] Refactor of constructors: removed obsolete attribute #9373
- [C#][netcore] Add multiple frameworks support #9196
- [C#] fix integer enum without format #9136
- [csharp][netcore-httpclient] Reuse HttpClient, Allow use of external HttpClient, Fix Socket Exhaustion, Alternative With Constructor Injection #9085
- [csharp][aspnetcore] Fix FileUpload Parameter Generation for aspnetcore #9000
C++
- [cpp-ue4] Improved retry system to use Unreal's FHttpRetrySystem #9382
- UE4 - Support FGuid with in/out Helpers #9291
- C++ Qt5 support date format enum #9283
- Include QVariant helpers header #9161
- [C++] remove pthread from CMakeLists.txt #9130
Dart
- [dart][dart-dio] Add built_value date support w/o timemachine #9180
- [dart] Improve types & imports #9167
- [Dart2] Add initial support to use an isolate to offload JSON serialization/deserialization #9100
- [Dart] Use interrupted exception instead of just exception #9092
Go
- Add Go echo server codegen #9224
- [Go][server] parse bool in query parameter #9171
- [Go] Parse int arrays and respect the 'required' property #9120
- [go] Add constructor and IsValid method to enum types #8224
Java
- [java][okhttp] Default Java client to Java 8 instead of Java 7 #9344
- [Java][Spring] Different in-parameter types generated for api and delegate for binary (application/octet-stream) #9331
- [Java][JavaJaxRS] Respect readOnly/writeOnly attribute markers #9276
- [Java] [Native] Add response body to exception message #9169
- [BUG] Java (jersey2) ApiClient debug cannot be enabled #8756
- [JAVA][jaxrs-spec] Added custom methods to add/remove elements from java collections #6468
Javascript
- Use prepare script instead of prepack in Javascript package.json #7807
Kotlin
- [Kotlin] Make ApiClient in jvm-retrofit2 be able to add additional retrofit Converter Factory #9316
- Kotlin jvm-retrofit2: Add missing ResponseBody import for binary responses #9239
- [Kotlin] add BigDecimal, BigInteger support #8880
Nim
- [nim] camelize names #9255
PHP
- [php-symfony] remove nested Valid constrain #8994
- [PHP] Fix parentSchema conditional causing parent call when parent isn't present #8705
PowerShell
- [PS] minor improvements to the auto-generated appveyor.yml #9300
- [PowerShell] improve return type documentation #9295
Python
- [Python] Fix exclusive min and max #9340
- Fixes serialization of array items in model_to_dict [python] #9153
Ruby
Rust
- [Rust] Add enum suffix support #9107
- [rust-server] Update templating docs to correct the name of x-response-id #7839
Scala
- [Scala][Akka] Use Files.createTempFile to address security concerns #9348
- [scala-akka-http-server] allows generation of managed sources only #9012
Swift
- Swift5 models improvements #9205
- Add Hashable for Struct #9166
- [swift5] Add useSPMFileStructure #9074
TypeScript
- [typescript-axios] add missing baseName for array params #9273
- typescript-angular: Fix Cannot read property 'apiKey' of undefined #9260
- Resolve response type name conflict in angular typescript lib #9216
- Resolve responseType name conflict in Angular Typescript lib #9202
- [typescript-angular] Provide return value for all code paths #9176
- [typescript-axios] handle uniqueItems in query and header parameters #8965
v5.1.0 released
v5.1.0, the first minor release after the v5.0.0 major release, contains breaking changes with fallbacks, security fixes, new generators and more. For a full list of changes, please refer to https://github.com/OpenAPITools/openapi-generator/pulls?q=is%3Amerged+is%3Apr+milestone%3A5.1.0+
Below are some highlights of the changes:
General
- Adds getAdditionalPropertiesIsAnyType to java schema classes #8908
- Correct use of loggers with placeholders and remove some redundant operations #8842
- [maven plugin] fix security issues #8795
- [online] use Files.createTempFile to address security concerns #8788
- Add an option to skip operation examples #8731
- [Gradle Plugin] Allow to set additional property of any type. Useful for Boolean values #8507
Documentation
- Use Files.createTempFile in asciidoc generator tests if possible #8794
Android
- [android][volley] various improvements #8968
C
- [C][Client] Generate API and module documents automatically #8981
C#
- [C#][netcore] Call static method without creating instance #8889
- [csharp-netcore] Make Blazor Webassembly compatible #8876
- [C#][netcore] update dependencies to newer versions #8872
- [csharp-netcore] Fix handling of Dictionary query parameters and fix deepObject style parameter handling #8848
- C# Netcore WebRequest and HttpClient functionality #8821
- Add ASP.NET Core 5.0 support #8717
- [aspnetcore] Improve model inheritance support by including JsonSubTypes to properly handle serialization #8384
C++
- [C++][Qt]Replace usage of QVariant with a more intuitive optional wrapper #8960
- Fix not processing enums in cpp-pistache-server #8886
- Qt client handle deprecated #8766
- [cpp-qt5-client ] Improve CMake #8724
- [Qt5][C++] Adding Parameter Styling Support for Qt5 #8587
Dart
- [dart][dart-dio] Next-gen dart-dio generator #8869
- [dart][dart-dio] Lower upper bound for built_value #8947
- [dart] Fix api client deserialization for json_serializable #8882
- [dart][dart-dio] Nullable support/improvements #8727 Breaking change (with fallback)
- [dart][dart-dio] Raise min Dart to 2.7.0 & update built_value constraint #8684
Erlang
- [Erlang][Client] better code, update sample #8853
Go
- [Go] bug fix (breaking), minor code format enhancement #8715
- [GO] Add additional AWS v4 signature config options to go client generator #8706
- [REQ] [GO] Added enumClassPrefix option to go-gin-server #8681
- Fix generated go client cannot upload file #8393
Flash/ActionScript
- Remove flash templates #8741
Java
- [JaxRS] Fix ambiguous dependency #8923
- Changed virtualan version from 1.0.0 to 2.1.7 #8910
- [Java] use Files.createTempFile instead #8787
- Update jackson dependencies to address security issues #8778
- [Java][Client] JSON-B serialization support #8729
- [webclient] bug fix to double URL encoding #8660
- [java native][dotnetcore] Implement QueryParameter deepObject style #8563
JavaScript
- Make JS client case sensitive wrt. reserved words #8905
- [JS] the replace statement in parseDate is too greedy #8633
JMeter
- [JMeter] fix header parameter naming #8861
Kotlin
- [Kotlin][Client] create request config method #8617
- Replace deprecated import for kotlin Parcelize annotation #8590
OCaml
- [OCaml] Fix enum returnType in of_json.mustache for Api Impl #8631
Perl
- [Perl] minor improvements #8967
PHP
- [PHP] Use a valid php type for maps #8718
PowerShell
- [REQ][PowerShell] Add additional reserved words list for parameter name in PowerShell #8935
Python
- [python][template] move _path_to_item of simple init to avoid name error #8737
Ruby
- [ruby] Fix syntax error #8675
Rust
- [Rust Client] several small fixes to code generation errors #8845
- Rust: Add support for lists (and sets) of enum values #8693
- [rust client] upgrade reqwest crate to 0.11 #8603
Scala
- [Scala][Finch] use Files.createTempFile to avoid potential security issues #8791
Swift
- Fix for StackOverflow in Swift5 CodeGeneration #8672
TypeScript
v5.0.1 released
v5.0.1, the first patch release after v5.0.0 major release, comes with 2 new generators: crystal
client generator and ktorm-schema
generator.
For a full list of changes (150+ PRs), please refer to the Pull requests tab
Below are some highlights of the changes:
General
- Adds hasValidation to all java core Schema classes #8474
- Adds isNull to codegenX java core classes that represent schemas #8462
- To fix model selection using ":" as the separator #8388
- Update maven wrapper #8305
- Tweak regexp in underscore method #8230
- Make frequently used IO resources autoclosable #8181
- Remove servers urls with trailing slash #7940
Crystal
- Add a new
crystal
client generator (beta) #8304
C
- [C][Client] Fix the memory leak when a JSON of model fails to parse #8390
- [C][Client] Disable escaping the parameter name in URL path string #8243
- [C][Client] Add C++ reserved keywords to C-libcurl client generator #8205
C#
- [csharp-netcore] add .Net 5.0 support #8467
- Style fix: use correct package name in tests #8451
- [csharp-netcore] Fixed ApiClient code generation not respecting modelPackage settings #8272
- Fix csharp-netcore enum var name underscore and space handling #8213
C++
- [Qt5][C++] Fixed QByteArray::toUtf8 with FILE as request body #8550
- [Qt][C++] Updated cpp-qt5-client doc #8251
- [Qt5][C++] Removed deprecated functions to support Qt6 #8234
Dart
- [dart][dart-dio] Improve API & API-Client field initialization #8589
- [dart][dart-dio] Add missing isRedirect parameter to response #8588
- Add getters for private default Headers and authentications #8509
- [feature][dart] Add support for uniqueItems/sets #8375
- [dart][dart-dio] Generate the correct serializers #8357
- [dart][dart-dio] Add missing imports for container parameters #8355
- [dart][dart-dio] Fix collection and date default values not compiling #8306
- [dart][dart-dio] Enable strong-mode and strict types #8231
- [dart-dio] Serializes request bodies using a specific serializer #6384
Documentation
- [cwiki] Added Enum documentation and fix newline problem for description #8338
Elixir
- Add .t in spec generation of Elixir structs #8159
- [Elixir] Adds workaround for httpc for post/put/patch requests #5682
Elm
- Fix bugs with duplicated data type #8223
Go
- [Go] Fix response body #8439
Java
- Upgraded dependency versions in Java (okhttp) client generator #8604
- Bumped Vert.x template to Vert.x 4 GA #8528
- Remove supportJava6 option #8514
- [Java][Client][Vertx] Use Vertx reference instead of static class in ApiImpl template #8501
- [Play Framework] Update the bean validation to use version 2.0 #8354
- [Java] fix generation for JavaTimeFormatter #8348
- Javadoc + operations interface + provider for state(ful/less) handlers #8346
- Spring codegen - fix equals and hashCode methods for byte array and binary #8345
- [JAVA][Feign] Replace Apache oltu with scribejava #8318
- Implement useAbstractionForFiles for webclient library #7567
JavaScript/NodeJS
- --http-user-agent arg support in javascript generator #8531
JMeter
Kotlin
- [kotlin] fix Date types usages #8594
- [Kotlin-Spring] Fix properties default value #8373
- [Kotlin-Spring] Fix required model property deserialization #8337
- [Kotlin-Spring] Fix optional requestBody with delegate #8299
- Add Ktorm schema generator #7759
Nim
- [Nim] test the petstore client in drone.io #8466
- [Nim] bugfix for the case when path contains multiple parameters #8402
PowerShell
- [PowerShell] minor fix to API doc #8496
- [powershell] Fix fields null check in powershell model template #8323
- [powershell] Fix error message templates for some field names #8321
- Implement optional powershell verb parsing #8252
Python
- Removes nulltype from python, updates samples #8555
- [PYTHON] use customized default Configuration() objects if available #8500
- [feature][python-flask] Add CORS support to python-flask server #8472
- [python] Fixes file upload + download, adds tests #8437
- [PYTHON] use _Endoint to allow apis to have Endpoint #8405
- Fixes object serialization when there is an inline array property which contains a refed enum #8387
- Stackoverflow in toExampleValue() for python client #8326
R
- Fix auto-generated R doc #8584
Ruby
- [ruby] Support aliasing of API keys #8124
Rust
- Fix handling of 1xx and 3xx in Rust Reqwest #8574
- [Core, Rust Server] anyOf / oneOf support for Rust Server #6690
Scala
- Renamed basic authentication function in sttp client #8396
Swift
- [swift5] URLSession: Fix memory leak of SessionDelegate #8558
- [swift5] Fix request closure not being called #8537
- [swift5] Fix target SDKs for Combine option #8476
- [Swift 5] fix XcodeGen deploy target to match cocoapods #8279
- [Swift 5] fix Multipart FormData encoding, add support for Form encoding #8275
TypeScript
v5.0.0 released
We're happy to announce the release of v5.0.0 - another major release with lots of enhancements, new generators and bug fixes. More than 1000 PRs contributed by the awesome OpenAPI Generator community have been included in this release.
For a list of breaking changes, please refer to the following:
Here are some new generators added to the v5.0.0 release:
- C++ UE4 client generator:
cpp-ue4
- A rewritten TypeScript client generator supporting fetch & jquery:
typescript
- A Plantuml generator for creating a schema diagram:
plantuml
Here are some generators that have been refactored:
- dart
- dart-dio
- elm
- go
- java (jersey2)
- php-ze-ph => php-mezzio-ph
- powershell
- python
To view the enhancements, bug fixes for a particular generator, please go to the list of changes and apply "Label" to filter out changes accordingly.
v5.0.0-beta3 released
5.0.0-beta3 is the last beta release before the v5.0.0 major stable release scheduled next month (Dec 2020). Thanks again for all the awesome contributions from the openapi-generator community.
Full list of changes (including breaking changes with or without fallback)
Below are the highlights of the changes.
General
- Add "decimal" support #7808 Breaking change (with fallback)
- Adds additionalProperties to core schema classes #7761
- Changes lingering isMapContainer to isMap #7747 Breaking change (without fallback)
- Unifies naming for isArray in Schema class properties #7691 Breaking change (without fallback)
- Adds isDateTime to CodegenModel #7657 Breaking change (without fallback)
- Adds isDate to CodegenModel #7652 Breaking change (without fallback)
- Unifies naming for isMap in Schema class properties #7640 Breaking change (without fallback)
- Fix scopes generation for multiple oauth flows #7615
- Expose batch subcommand #7608
- Replace deprecated methods #7600 Breaking change (with fallback)
- [bug][maven] Fix custom windows classpaths in maven plugin #7587
- [core] Enable multiple oauth2 flows #7570 Breaking change (with fallback)
- [maven] environmentVariables -> globalProperties #7559
- [batch] Option to clean files before generation #7465
- [core][feature] User custom added templates #7366 Breaking change (with fallback)
- [core] Add model cache to speed up code generation #7250
- Removes secondaryParam and hasMore #7882 Breaking change (without fallback)
Ada
- [BUG][Ada] Incorrect client Ada code generated #7719
Apex
- Updated keywords to be aligned with the official ones #7522
- [Apex] better handling of different content-type in the response #7515
C
- [C][Client]Fix coredump in multi-thread environment #7835
- [C][Client]Support data callback function #7467
C++
- [cpp-restbed-server] make the restbed SERVER generator more extensible #7679
- [cpp-ue4] add support for Content-Type containing charset #7379
C#
- [C#] support .NET framework 4.7 #7833
- [C#][netcore] Add anyOf support #7801
- [C#][netcore] Rename HTTPSigningConfiguration.cs to HttpSigningConfiguration.cs #7630
- [C#][netcore] Add discriminator support to oneOf lookup #7626
- [C#][netcore] Add oneOf support to C# .NET Core client #7607
- [C#][netcore] Default OverrideSpecifiedNames to false #7583 Breaking change (with fallback)
- [Aspnetcore] use the term
openapi
#7540 Breaking change (without fallback) - [C#][NetCore] add multi-server support #7433
- [C#][netcore] better support for additional properties in the payload #7396
- [C#][Nancyfx] fix incorrect import #7907
Dart
- [Dart] map AnyType to Object #7822
- Upgrade Dart2 template to advertised best-practices, plenty of additions too #7585
- [Dart][Client] Fix default value of enum variables #7496
- Adds cookie auth support to ApiKeyAuth in dart2 templates #7346
Documentation
- [Core, HTML2] Rendered docs are incomplete #7510
- [cwiki] Path parameter generation fix for split rows #6894
Elixir
- [Elixir] Fixes optional body mapping #7606
- [Elixir] Fixes Typespec for multiple return definitions #7604
Go
- [go] Improve examples generation #7576
- [GO][SERVER] Implement response code #7397 Breaking change (without fallback)
- [Go] minor format change, deprecate "withGoCodegenComment" option #7375 Breaking change (without fallback)
Haskell
- [haskell-http-client] have applyOptionalParemeter (-&-) append values in headers or querystrings instead of replacing values #7805
Java
- [JAXRS-CXF] Improve handling of additional properties #7866
- [Play Framework] Update Play Framework Generator to latest version #7860 Breaking change (without fallback)
- [java][jersey2] add proxy support #7752 Breaking change (without fallback)
- [java][groovy] Fix mangled src paths in some outputs on Windows #7487
- [Java][vertx] Use typeMapping instead of postProcessParameter #7457
- [Play Framework] Fix the configuration package #7391
- Update Vert.x Web template to Vert.x 4 #7364
- Fix multi-part binary form parameters for jaxrs-jersey templates #7363
- [Java][Native] Support oneOf/anyOf schemas #7263
- [Java][Spring] Add Spring pagination with vendor extension x-spring-paginated #5022
- [bug][Java] Honor instantiationMap for default values for array, map, set #4982
JS/NodeJS
- [javascript-flowtyped] Fix Flow error #7786
- [JS] Allow auth.accessToken to be either function or string #7484
Kotlin
- [Kotlin] Fix Spring Kotlin generation of array/map models #7829
- [kotlin] Fix optional header params in openhttp client #7341
- [kotlin] Fix imports of generated class #7314
ObjC
- Update of Objective-C model-body.mustache to support discriminator.mappedModels #7471
OCaml
- Replace '.' characters by '_' in enum type names since OCaml doesn't allow to use '.' in any kind of identifiers #7767
- [Ocaml] Fix missing space on models #7742
PHP
- [php] Implement JsonSerializable in php Model class #7768
- Small tweaks for php generator, PHPStan level 3, Psalm level 7 #7616
- [PHP] Small tweaks for php generator, PHPStan level 1 #7528
- Tweaks for php generator, based on issues reported by PHP static analysis tools (PHPStan) #7376
PowerShell
- [PS] Add proxy support #7739
- [PowerShell] Fixed the empty string issue when server returns null #7633
- [PowerShell] Fixed the maximum minimum range check condition #7482
- Fix the ECDSA signature issue for PowerShellSDK #7386
Protobuf
- [Protobuf] Fix support for AllOf in protobuf-schema #7813
Python
- [python] Renames python generators #7965 Breaking change (with fallback)
- [python] add socket_options to configuration for the rest client #7795
- [python] Add option to return None instead of raising exception when accessing unset attribute #7784
- [python-experimental] implement
in
operator for model classes #7637 - Add option to set recursion limit #7491
- [Python] correct return types if multiple responses are defined #7427 Breaking change (with fallback)
- Adds free form model generation in python-experimental #7373
- Subclass Python exceptions #7321
R
- feat(r): retry configuration for status codes #5925
Ruby
- [Ruby][faraday] fix response streaming #7734
- [Ruby] Replace DateTime with Time #7656 Breaking change (without fallback)
- Update default ruby, faraday versions #7538
- [ruby] Support for per-operation servers #7415
Rust
- Add impls for Error trait for Rust reqwest #7462
- Fix Rust codegen for AnyType #7461
- [rust-server] Fix server example on non-Linux #7399
- [Rust][reqwest] Fixed parameters of Array type #7049
Scala
- Better decimal support in Scala generators #7876
- Update junit to newer version (4.13.1) #7690
- Fix scala-sttp enum generation #7432
Swift
- Add AnyType support to Swift generators #7644
- [Swift5][URLSession] Fix handling of customHeaders between retries #7527
- [Swift5] fix issues causing stack overflow #7301
TypeScript
- typescript-angular: Angular 11 support #7937 Breaking change (with fallback)
- [typescript-rxjs] Added support for servers #7771
- [TYPESCRIPT-ANGULAR] Add configurationPrefix option #7731
- [typescript-inversify] bug fix for array type #7636
- [typescript-axios]: Only call
JSON.stringify
on JSON request bodies #7580 - [typescript] Fix generation of enum models #7529
- [typescript-axios] replace optional-chaining #7476
- [typescript] Fix incorrect enum literal case #7378 (Breaking change (with fallback)