Download Latest Version openapi-generator-cli-7.24.0.jar (31.9 MB)
Email in envelope

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

Home / v7.24.0
Name Modified Size InfoDownloads / Week
Parent folder
openapi-generator-cli-7.24.0.jar 2026-07-29 31.9 MB
README.md 2026-07-20 8.1 kB
v7.24.0 released source code.tar.gz 2026-07-20 53.3 MB
v7.24.0 released source code.zip 2026-07-20 109.4 MB
Totals: 4 Items   194.7 MB 0

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

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

General

  • fix(docker): update base image to eclipse-temurin 17.0.19 on Ubuntu 24.04 (noble) [#24230]
  • fix(InlineModelResolver): do not merge untitled inline schemas differing only by description [#24192]
  • Fix vulnerable dependency CVE-2026-54512 [#24166]
  • [core] Add introspection support for discovering the discriminator type in a oneOf allOf polymorphic structure [#24158]
  • refactor: introduce DiscriminatorUtils to separate handling of discriminator discoverability [#24143]
  • fix: normalize OAS 3.1 schemas with type:[object,"null"] to set nullable:true correctly [#24140]
  • feat(spec-merge): add alternative DEEP merge mode with by-method path merging and configurable conflict resolution strategy [#24100]
  • [core] Restore sibling example for allOf with a single $ref (#23335) [#24081]
  • [core] Fix UnsupportedOperationException for oneOf members declaring x-implements (#23577) [#24076]
  • [CORE] - Feature: forcedGenerateSchemas — Force generation of schema-mapped or import-mapped schemas [#24066]
  • [Core] bug - fix OAS 3.1 nullable validation when using older "nullable: true" syntax instead of type: [null, ...] [#24026]
  • fix(online): thread-safe fileMap with TTL cleanup, SLF4J logging, and Content-Length header [#24011]
  • [BUG][core] Normalize OAS 3.1 type: null map value (additionalProperties) under NORMALIZE_31SPEC [#23967]
  • Add validate Mojo to Maven Plugin [#23911]
  • feat: add quiet mode to suppress verbose generation output [#23831]

asciidoc

  • fix(asciidoc): escape table cell pipes in generated docs [#24184]

avro

  • fix(avro): order "null" first in union when default is null [#24135]

C++

  • fix(cpp-httplib-server): serialize enums using spec values [#24187]
  • C++ Boost.Beast client generator with OpenAPI 3.1 support [#24335]

C

  • fix(aspnetcore): remove obsolete wwwroot README [#24283]
  • [csharp][generichost] Refactor duplicate apis [#24273]
  • [csharp][generichost] Revert to DropWrite [#24080]
  • [csharp][generichost] Add OnCreated to JsonConverter [#24079]

Crystal

  • [Crystal] Add request-signing seam (Configuration#sign_request) [#24221]
  • [Crystal] idiomatic api redesign [#24070]

Dart

  • Dart2 class and enum improvements [#24286]
  • [dart-dio][built_value] Register BuilderFactory for nested additionalProperties shapes [#24154]
  • [dart-dio][built_value] Honor optional non-nullable properties in deserialize_properties.mustache [#23661]
  • [dart-dio] Fix webhook imports generating Map-style strings [#22611]

Go

  • fix(golang): make object values nullable when specified [#24265]
  • fix(go-server): allow zero values for required request body fields [#24262]
  • fix(go-server): skip readOnly fields in AssertXxxRequired [#24257]
  • fix(go-server): use operationId consistently to fix uncompilable output for duplicate operationIds [#24169]
  • [Go] Honor generateUnmarshalJSON=false for oneOf models [#24062]

Java

  • [Java][apache-httpclient] Apply connect timeout to requests, add read timeout support [#24284]
  • [java][microprofile] Extend useSealedOneOfInterfaces support to the microprofile library [#24267]
  • [java][microprofile] Extend support for useOneOfInterfaces to the microprofile library when Jackson serialisation is enabled [#24190]
  • [java][jaxrs-spec] - Add support for sealed classes and interfaces with useSealed flag [#24189]
  • [KOTLIN-SPRING;JAVA-SPRING] bugfix: update JsonInclude annotations for optional+nullable fields to handle serialization correctly when openApiNullable = true [#24185]
  • [java][jaxrs-spec][quarkus] - Add support for OneOfInterfaces & fix JsonTypeName value resolution [#24174]
  • Convert maintained JAX-RS samples to JUnit 5 [#24173]
  • fix: normalize Java annotation vendor extension lists [#24171]
  • [jaxrs-spec] Add @JsonIgnoreProperties on the discriminator to avoid duplicated keys during serialisation [#24132]
  • [java] honor useJspecify in restclient/webclient ApiClient support class [#24055]
  • [Java][vertx] Apply Vert.x pool defaults in buildWebClient for useVertx5 [#24017]
  • [Java] Render object default for composed ($ref + default) schemas (#23795) [#23971]

Julia

  • [julia-server] Use req.headers for HTTP.jl 2.x compatibility [#24102]

Kotlin

  • [KOTLIN-SPRING;JAVA-SPRING] bugfix: update JsonInclude annotations for optional+nullable fields to handle serialization correctly when openApiNullable = true [#24185]
  • [Kotlin][Spring] fix option useSpringBuiltInValidation not implemented [#24115]
  • [KOTLIN-SPRING/KOTLIN-CLIENT] BUG - fix json deserialization when kotlin attribute name differs from json attribute name [#24036]
  • [kotlin] Fix boolean const enum literal generation [#24022]
  • [kotlin-spring, java-spring] - gate @JsonSetter on openApiNullable for optional non-nullable fields [#23993]

openapi, openapi-yaml

  • [openapi, openapi-yaml] feature - add sortOutput option to deterministically sort paths and schemas, http methods, etc... [#24037]

PHP

  • [PHP] Skip length validation for DateTime model properties [#24254]
  • Update php-laravel to newer versions [#24196]
  • [php-nextgen] Fix undefined variable $queryParams [#24136]
  • [php-nextgen] Code improvements [#23986]
  • [php-nextgen] oneof polymorphism [#23985]
  • [php-nextgen] Fix for enum allowed values [#23814]

Python

  • [python] support legacy model dictionaries [#24290]
  • fix(python-fastapi): map binary response type file to bytes [#24285]
  • [python] bump generated client dependency floors above vulnerable ranges [#24186]
  • feat(python-flask): add opt-in Connexion 3 support [#24181]
  • [python] Set API key cookie as key-value pair [#24149]
  • [python] centralize the Python constraint rules [#24141]
  • [python] preserve public model field names [#24131]
  • [python] isolate implicit API clients [#24129]
  • [python] add supportHttpxSync option for sync httpx methods [#24128]
  • [python] separate property and parameter mappings [#24121]
  • [python] escape model wire names [#24120]
  • [python] serialize structured YAML bodies [#24084]
  • [python] honor proxy environment settings [#24082]
  • [python] Run regex pattern validators in mode="before" so they see the wire value [#24072]
  • fix(python): remove redundant debug setter call in deepcopy [#23958]
  • [python][client] Add Decimal support to mapNumberTo functionality [#23916]
  • fix(python-flask): validate byte length for format:byte fields [#23177]

Ruby

  • [Ruby] Add new ruby-nextgen client generator (opt-in idiomatic redesign) [#24220]
  • fix(ruby): JSON-encode query params with content:application/json [#24126]

Rust

  • fix(rust-server): Handle multiple content-types in responses [#24179]
  • [rust-server] Fix panic on binary request bodies coerced to UTF-8 [#24116]
  • [Rust-Axum] Fix generating error upon special model name [#23994]
  • [Rust-Axum] Support Server-Sent Events (SSE) [#23977]

Scala

  • [scala-sttp4-jsoniter] support set parameters (uniqueItems arrays) in query, header, path and cookie parameters [#24301]

TypeScript

  • fix(typescript-fetch): allow null for required nullable parameters [#24292]
  • [typescript-fetch] Fix Omit generic using baseName for readOnly fields [#24275]
  • typescript-fetch: default to es6 support [#24226]
  • fix(typescript-fetch): skip scalar enum comparison for array-typed properties in instanceOf [#24217]
  • fix(typescript-fetch): add anyToJSON to runtime.ts [#24216]
  • fix(typescript-fetch): optional nullable fields return null instead of undefined [#24215]
  • [typescript] Align multipart file array handling [#24133]
  • fix(typescript-nestjs-server): import generic return types [#24005]
  • [typescript-fetch] Fix TS2590 in instanceOf guards for wide sanitized-name models [#23982]
Source: README.md, updated 2026-07-20