github OpenAPITools/openapi-generator v7.21.0
v7.21.0 released

6 hours ago

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> deserialization #22717
  • Add support for Optional 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> 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

Don't miss a new openapi-generator release

NewReleases is sending notifications on new releases.