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

7 hours ago

v7.27.0 stable release 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

  • [DefaultCodegen] fix unescaped description for request body #25502
  • Update jackson related dependencies to newer version in the root project #25460
  • [core] Keep integer minimum/maximum next to $ref/allOf as integers #25441
  • Fix inline Map response examples being treated as media types #25254
  • [core] Fix OAS 3.1 typed map misclassified as free-form object (#25224) #25229
  • [core] Normalizer: x-items extension for List customization #25105

ASCII documentation

  • [asciidoc] fix: preserve multi-line descriptions in table cells #25498

C#

  • [csharp][generichost] Raise correct error on discriminator read failures #25500
  • [csharp][restsharp] Add useClientFactory option to reuse HttpClient across requests #25482
  • [csharp][generichost] Skip unset optional string enums and write null enums #25330
  • [csharp] Fix compile errors when schema names collide with framework types #25272
  • [csharp][generichost] Refactor custom DateTime formats (dateFormat and dateTimeFormat options are deprecated) (Breaking change (with fallback)) #25213

C++

  • [cpp-httplib-server] Generate and compile a spec without models #25279
  • fix(cpp-httplib-server): handle missing optional JSON properties #25225

Dart

  • [dart-dio] Skip null optional form params and JSON-encode model form params #25307

Elixir

  • [Elixir] Percent-encode path parameters in generated API functions #25366
  • [Elixir] Fall back to embedded templates when a custom template directory is set #25365
  • [elixir] Fix "clauses with the same name and arity" warning in request_builder.ex #25335

Go

  • [Go] fix: add testify dependency to go.mod and go.sum unconditionally #25497
  • fix(go): avoid iOS build suffix in generated filename #25489

Java

  • [Java] Match implicitHeadersRegex case insensitively #25483
  • [Java][jaxrs-spec] Annotate nullable @JsonCreator/@JsonbCreator parameters with JSpecify #25439
  • [Java][Spring] Do not generate required args constructor that duplicates @lombok.AllArgsConstructor #25396
  • [Java][Spring] useRecords: records with additionalProperties #25387
  • [Java][Spring] useRecords: records as parameter objects #25351
  • [Java][Spring] useRecords: oneOf members as records #25273
  • [Java][Spring] Add useRecords: generate plain models as records #25200
  • [Java][JAX-RS] Add JSON-B support to jaxrs-spec #25177
  • [SPRING;KOTLIN-SPRING] fix: shift 1-based page default/bounds to Spring's 0-based page index #25171

Kotlin

  • Fix nullable items in nested Kotlin arrays #25493
  • [kotlin] Fix the kotlinx serializer for a number branch in oneOf/anyOf wrappers #25472
  • [kotlin][jvm-retrofit2] Use @http with hasBody for DELETE operations with a request body #25469
  • [kotlin] Add MicroProfile REST client support #25374
  • [SPRING;KOTLIN-SPRING] fix: shift 1-based page default/bounds to Spring's 0-based page index #25171

PHP

  • [php][php-nextgen] Support Guzzle 8 alongside Guzzle 7 #25468
  • [php-nextgen] Serialize booleans in query strings as true/false by default #25312
  • [php-nextgen] Use unknown default case when deserializing unknown enum values #25266

PostgreSql

  • Refactor of PostgresqlSchemaCodegen; generated output is unchanged #25431

Python

  • fix(python-flask, python-aiohttp): generated tests send apiKey under keyParamName in its declared location #25485
  • fix(python-flask, python-aiohttp): generate valid security function names for scheme names with '-' or '.' #25458
  • [python] Fix regex patterns starting with forward slash #25413
  • fix(python): generate valid code for webhooks with parameters #25346
  • REMOVE support to python3.10 #25306
  • Add support to python 3.15 #25304
  • Share Python legacy model helpers across generated models #24730

Ruby

  • [ruby] Add object_id to reserved word #25175
  • [ruby-nextgen] Expose nested resources through clients #25002

Rust

  • [rust-axum] fix: box recursive model fields #25296
  • [rust-axum] Honor additionalProperties: false on object models #25256
  • Rust Axum: allow building models-only (e.g. WASM) without server dependencies #25196
  • Rust Axum allow oneOf multi values mapping #25195
  • [Rust-Axum] Support enum $ref discriminator in oneOf #25166

Scala

  • [scala-sttp4-jsoniter] bump Scala to 3.3.9, sttp to 4.0.27, jsoniter-scala to 2.42.0 #25447
  • [scala-http4s-server] Use the JSON name for the discriminator and fail decoding on unknown values #25308

Swift

  • [swift6] Send binary multipart form params as raw Data #25245
  • [swift6][urlsession] Deliver successful responses on apiResponseQueue #25205
  • [swift6][alamofire] Report -1, not 500, when there is no HTTP response #25194
  • [swift6] Encode request bodies as compact JSON #25193
  • [swift6][alamofire] Decode responses and write downloads off the main queue #25192
  • [swift6] Send raw Data multipart parts as files #25191

TypeScript

  • fix(typescript-...): Fix basic auth without username or password #25462
  • fix(typescript-angular,typescript-nestjs): parse boolean options passed as strings #25385
  • [typescript] Apply nameMappings and parameterNameMappings before sanitizing names #25333
  • Typescript playwright #25282
  • [typescript] Fix missing model imports for container types in oneOf schemas (#23286) #25173
  • typescript-axios: support TypeScript 6 #25148

Don't miss a new openapi-generator release

NewReleases is sending notifications on new releases.