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