Download Latest Version v7.21.0 released source code.tar.gz (52.9 MB)
Email in envelope

Get an email when there's a new version of OpenAPI Generator

Home / v7.21.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-03-24 6.4 kB
v7.21.0 released source code.tar.gz 2026-03-24 52.9 MB
v7.21.0 released source code.zip 2026-03-24 105.0 MB
Totals: 3 Items   157.9 MB 3

v7.21.0 stable release (breaking changes with fallbacks) comes with 190+ enhancements and bug fixes.

This release comes with 3 breaking changes (with fallback):

  • Use Spring Boot 3.x by default (useSpringBoot3=true) [#23318]
  • Add option to fallback to non-pointer number, boolean types [#23197]
  • fix c-libcurl generator for int and boolean values by moving to int* [#23052]

Below are the highlights of the changes. For a full list of changes, please refer to the "Pull Request" tab.

General

  • Update jackson dependencies to newer versions [#23152]
  • fix: core: preserve OAS 3.1 numeric exclusive validation constraints in composed schemas [#23053]
  • fix: OAS3.1 deprecated property for array properties [#23019]
  • openapi-generator-gradle-plugin: upgrade Gradle to v8 [#22864]
  • (OpenAPINormalizer): Removed reset of OAS content [#22573]

C

  • Add option to fallback to non-pointer number, boolean types [#23197] (Breaking change (with fallback))
  • fix c-libcurl generator for int and boolean values by moving to int* (Breaking change (with fallback)) [#23052]

C

  • [C#] Fix invalid implicit casts [#23192]
  • [csharp] Fix/override central package versions for csharp test projects [#23092]
  • [csharp][generichost] Better file support [#22806]

C++

  • [cpp-qt-client] Remove deprecated SignalE/SignalEFull signals in API classes [#23113]
  • [cpp-qt-client] Optimize generated code [#23089]
  • [cpp-qt-client]Fix variable redeclarations in the api-body.mustache [#22982]
  • Move C++ virtual destructor definition to .cpp files [#21530]

Dart

  • [dart] Fix enum defaults, Object arrays, and nullable required assertions in native serialization [#23027]
  • [dart] Preserve inner generic type for Map<String, List\<T>> deserialization [#22717]
  • Add support for Optional<T> in Dart generator (both dart and dart-dio) to distinguish absent, null, and present states [#22257]

Go

  • Update go client README to match modern module support [#23292]

Java

  • Use Spring Boot 3.x by default (useSpringBoot3=true) (Breaking change (with fallback)) [#23318]
  • Decommission springfox from spring generator [#23280]
  • fix(jaxrs): correct add/remove methods for JsonNullable<List\<T>> fields [#23258]
  • [Java] Optimize All Enum fromValue Mustache Templates [#23165]
  • Update jackson core in Java restclient to newer version [#23151]
  • [java][resttemplate] Add support for Jackson 3 and Spring Boot 4 in Java resttemplate [#23144]
  • [spring] Add an option "additionalNotNullAnnotations" to include additional NotNull annotations [#23096]
  • feature/jackson3 native [#23071]
  • feat(jackson3): add jackson3 support for Java Client generator - WebClient [#23031]
  • feature(jackson3) add jackson3 support for Java Client generator - Restclient [#23023]
  • fixes(spring) add JsonProperty on setter [#22978]
  • [java-spring] - add 'includeHttpRequestContext' additional property (option) defaulting to "true" for reactive and "false" for blocking to include ServerWebExchange/HttpServletRequest [#22910]
  • spring-http-interface: introduce springHttpClientAdapter, fix paramDoc.mustache [#19710]

JavaScript

  • [JS] Fix handling of oneOf when you have explicitly used a discriminator [#23026]

Kotlin

  • Decommission springfox from kotlin-spring generator [#23283]
  • [kotlin-client] Support for integer enums for multiplatform with custom serializer [#23211]
  • Bring Kotlin client code up-to-speed with changes [#23188]
  • [kotlin][kotlin-spring] Add companionObject option to generate companion objects in data classes [#23176]
  • Upgrade ktor to 3.4.0, kotlin to 2.3.0 [#23164]
  • fix(kotlin): support non-discriminator oneOf/anyOf model and array types with kotlinx_serialization [#23007]
  • Type safe error handling in kotlin spring server with useSealedResponseInterfaces flag [#23003]

OCaml

  • [OCaml][Fix] Unreferenced enum + Direct recursive types [#23005]

PHP

  • [php-nextgen]: Inherit model method docs and fix interface types [#23307]
  • [php-nextgen]: Fix array defaults [#23290]
  • [php-nextgen] Discriminator class detection uses wrong namespace [#23287]
  • PHP NextGen: address PSR-12 formatting violations [#23271]
  • PHP Generator: address PSR-12 formatting violations [#23250]
  • [php-symfony] use baseName for query param lookup in generated controllers [#23222]

Postman

  • Postman Generator: Format json edge case [#23265]
  • Postman Generator: Add folder description [#23249]

Python

  • [python] Fix deserialization of UUID JSON type in template [#23295]
  • Use Pydantic for json serialization in .to_json method [#23210]
  • [Python] Some fixes for pydantic v1 templates for nested dicts [#23162]
  • [Python] Fix python template for list and dicts of dicts [#23112]
  • feat(python): expose all config properties in constructor [#23021]
  • [PYTHON] switch from mutable bytearray to immutable bytes to avoid pydantic error [#22988]
  • fix(python): missing field_validator import for UUID properties with pattern [#22947]
  • python(pydantic): Use validate_by_name config; populate_by_name will be deprecated [#22931]

Ruby

  • [Ruby] Minor code improvement [#23196]

Rust

  • [rust] Fix array enums for generated object types [#23279]
  • [rust-server] Update mockall to 0.14 [#23048]
  • Rust-server: implement ValidateComposited traits for complex types and add integer enum support [#23045]

Scala

  • Add scalafmt (plugin) to scala-http4s client generator [#23300]
  • feat: support date-time-local in scala generators [#22990]
  • feat: Add oneOf for scala-http4s client [#22969]

Swift

  • [Swift6] Fix TSan race condition in Swift6 SynchronizedDictionary [#23091]
  • fix(swift): disable use of group separator [#23062]

TypeScript

  • [typescript-fetch] Add option to exclude RequestOpts from API interfaces [#23181]
  • fix(typescript-fetch): generate validationAttributes when withoutRuntimeChecks=true [#23107]
  • [typescript-angular] Include OIDC credential headers [#23065]
  • fix(typescript-fetch): ResponseError prototype chain [#23010]
  • [typescript-nestjs-server] improve request parameter handling [#22960]
Source: README.md, updated 2026-03-24