Skip to content

Releases: OpenAPITools/openapi-generator

v5.4.0 released

31 Jan 05:05
4a36be7
Compare
Choose a tag to compare

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:

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

  • [TypeScript Fetch] Default TypeScript fetch configuration to 3.6+ true #11331
  • [typescript-angular] Support blob response types #11085

v5.3.1 released

21 Dec 10:21
6269a98
Compare
Choose a tag to compare

v5.3.1 is the last stable release in 2021. It comes many enhancements/bug fixes and 2 new generators/libraries:

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

  • [Python] fix model.mustache import #10988
  • [Python] Add option to select/detect content-type #10978

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

  • Fixed http errors deserialization #10940
  • Support Angular 13 #10877
  • Typescript saga immutablejs enhancements and small fixes #10444

v5.3.0 released

24 Oct 14:24
bb124e1
Compare
Choose a tag to compare

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

  • [wsdl] string comparison bug fix, minor format change #10446
  • [Wsdl] Handle schema property of type array with oneOf items and other minor updates/fixes #10434

v5.2.1 released

16 Aug 11:16
8403e59
Compare
Choose a tag to compare

v5.2.1 release comes with 2 new generators:

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

09 Jul 09:21
90f7bcd
Compare
Choose a tag to compare

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

  • Fix regex in Erlang by removing the delimiter #9892
  • [erlang-server] minor bug fixes #9784

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

  • [BUG][Haskell] Fix returning NoContent #9830
  • [haskell][server]: Set "AnyType" to Aeson.Value #9733

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

  • [php-mezzio-ph] PHP 8 support #9445
  • [php-slim4] Decouple Slim4 codegen from Slim3 #9208

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

  • [Scala] better code format #9463
  • [scala][client] invoker package enhancement #9381

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

07 May 02:02
560bf7e
Compare
Choose a tag to compare

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

  • [bash] Update Bash Client Dockerfile.mustache #9310
  • [Bash] escape tabs properly #8970

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

  • Dockerfile for the Ruby-Sinatra generator #9299
  • [Ruby] postpone require models with parent #9103

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

20 Mar 08:46
e023eaa
Compare
Choose a tag to compare

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

  • typescript-nestjs: removed unused basePath from api.service template #8811
  • [typescript-axios] Support array query arguments #8772
  • [typescript-fetch] handle uniqueItems correctly in model and api #8695
  • typescript-node: Fixed models.mustache with for...in on an empty array #8575

v5.0.1 released

06 Feb 08:38
c7fcb39
Compare
Choose a tag to compare

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

  • [JMeter] Support json data in csv #8461
  • [Jmeter] Support securityDefinitions #8459

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

  • Add typescript-nestjs client generator #8522
  • [typescript-axios] bump axios version to 0.21.1 to fix vulnerability #8445
  • typescript-fetch: fix isCollectionFormatMulti for arrays of files #8376
  • typescript-angular: add providedIn for Angular 9+ #8324
  • [typescript(experimental)] fix for Deno v1.6 #8265

v5.0.0 released

21 Dec 05:06
d7d5e53
Compare
Choose a tag to compare

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

20 Nov 09:02
2715f13
Compare
Choose a tag to compare
v5.0.0-beta3 released Pre-release
Pre-release

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)