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

5 hours ago

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

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

  • [jaxrs-spec][quarkus] Emit @RolesAllowed({"**"}) for HTTP Basic, Bearer, api-key and OAuth2 or OpenID with empty scopes and rename "useQuarkusSecurityAnnotations" to "useJakartaSecurityAnnotations" (Breaking change (with fallback)) #23680
  • fix(Kotlin): use the global apiNamePrefix and apiNameSuffix settings instead of apiSuffix (generator's option) (Breaking change (with fallback)) #23926

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

General

  • Normalizer: new rule LOOSE_NULL_DEFINITIONS to allow more null definitions in 3.0 spec. #23932
  • fix(InlineModelResolver): prevent numbered duplicate models from multi-file OAS 3.1 specs #23856
  • fix(core): normalize OAS 3.1 content media schemas #23851
  • [GRADLE-WRAPPER] feat: add configurable worker isolation and max heap size for code generation #23648 by
  • [GRADLE-WRAPPER] bug fix - pass maven java_home to gradle correctly #23646
  • Add security schemes filter normalizer option #23174

C#

  • [csharp][generichost] Deserialize present-but-null nullable enums #23912
  • [csharp] Fix HTTP signature auth failure on .NET 8 when query params contain special characters #23714
  • [csharp][restsharp] add throwOnAnyError option to surface client errors #23663
  • Fix/csharp reserved headers and file parameter not serialising correctly #23593
  • [csharp] Extend HostConfiguration with additional AddApiHttpClients signatures #22500

Dart

  • feat(dart): make requests abortable #23930
  • [Dart] Preserve uppercase names with trailing digits #23894
  • [BUG][DART] fix nullable nested array item handling #23365

Go

  • fix(go): avoid duplicate unknown enum defaults #23909
  • [go] support io.Reader and []byte response types in client decode #23789

Java

  • [Java][restclient] Build XmlMapper via builder when useJackson3=true #23872
  • [Java] [vertx] Allow PoolOptions configuration when vertx 5 #23829
  • feat(java/jersey3): add jackson 3 support #23819
  • feat(java/jersey3): Update jakarta annotation and validation libs #23810
  • [JAVA-SPRING] spring http interface library should support 'useBeanValidation' #23803
  • [jaxrs-spec][quarkus] Emit @permitAll for unauthenticated operations (op/global empty security, anonymous OR alternative, no security defined) #23782
  • [JavaJaxRS] [CXF] Add Support for Jackson3 #23767
  • [jaxrs-spec][quarkus] Emit @RolesAllowed({scope}) for OAuth2 and OpenID Connect operations with explicit scopes #23752
  • [jaxrs-spec][quarkus] - Add CLI flag (useQuarkusSecurityAnnotations) to enable emitting security annotation (@authenticated, @RolesAllowed, @permitAll) #23699
  • [JAVA-SPRING;KOTLIN-SPRING] feature - add support for 'substituteGenericPagedModel' also for 'spring-cloud' libraries #23690
  • [jaxrs-spec][quarkus] Emit @RolesAllowed({"**"}) for HTTP Basic, Bearer, api-key and OAuth2 or OpenID with empty scopes and rename "useQuarkusSecurityAnnotations" to "useJakartaSecurityAnnotations" (Breaking change (with fallback)) #23680
  • [jaxrs-spec][quarkus]: Emit @ResponseStatus annotation for 2XX success codes #23673
  • [Java] [vertx] Make supportVertxFuture compatible with vertx 5 #23660
  • Fix Jspecify nullable issue with spring boot 4 #23649
  • [java][spring] fix: disableDiscriminatorJsonIgnoreProperties not working #23640
  • [java] Support 'time-local' format #23555
  • [java] Support 'date-time-local' format #23395
  • [Spring] Add clientRegistrationId option for OAuth2 HTTP Interface #22726

Kotlin

  • fix(Kotlin): use the global apiNamePrefix and apiNameSuffix settings instead of apiSuffix (generator's option) (Breaking change (with fallback)) #23926
  • [kotlin-client][jvm-ktor] Support nullable response types #23870
  • feat(kotlin-client): support dynamic auth credentials for okhttp client (#23835) #23836
  • [KOTLIN-SPRING] - add support for 'openApiNullable' - jackson nullable library to handle non-required AND nullable: true properties #23804
  • [Kotlin] Fix explicitApi/nonPublicApi/generateOneOfAnyOfWrappers generation for kotlinx_serialization #23796
  • [Kotlin][ktor] add delegate pattern support #23756
  • [JAVA-SPRING;KOTLIN-SPRING] feature - add support for 'substituteGenericPagedModel' also for 'spring-cloud' libraries #23690
  • [KOTLIN-SPRING] Feature - add support for 'useDeductionForOneOfInterfaces' #23677
  • [KOTLIN]: add 'bestEffortBacktick' naming option for Kotlin enums #23620
  • feat(kotlin-spring): add suspendFunctions option for coroutine support #23444

Python

  • [Python] fix constraint settings for decimalType #23928
  • [python] Fix invalid pip syntax for httpx/tornado in requirements.txt #23889
  • [python-fastapi] type binary multipart fields as UploadFile #23793
  • Fix Python (e.g. FastApi) example generation #23537

PHP

  • [php-nextgen] Check for $openApiType === "string" instead of "\DateTime" in ObjectSerializer #23937

PowerShell

  • PowerShell: fix enum string starting with a number #23715

Rust

  • [rust-salvo] Add Rust server generator targeting the Salvo web framework (New Generator) #23772

Scala

  • [scala-http4s] Fix name mapping of discriminator property #23853
  • [scala-http4s] Preserve underscores in enum names #23842
  • [scala-sttp4-jsoniter] extend Primitive type with UUID, LocalDate and OffsetDateTime #23801
  • [Fix][scala-sttp] Register JSON value type in importMapping to avoid model-package-prefixed import #23652
  • feat: add support for oneOf in sttp4 client #22916

Swift

  • [swift5][swift6] Add additionalModelObjectAttributes/EnumAttributes/Imports #23773
  • [BUG][SWIFT6] unalias additionalProperties before building map type declaration #23668
  • [swift5/swift6] Fix oneOf decoding when enumUnknownDefaultCase is enabled #23496

TypeScript

  • [Typescript] Enum types (#18531) #23921
  • [typescript-nestjs] Use paramName for URL path substitution (fixes #16668) #23868
  • [typescript-fetch] Fix nested oneOf generating uncompilable interface extends on union type #23501
  • [typescript-fetch] Fix oneOf with mixed array types causing TypeScript compile error #23500
  • [typescript-fetch] Fix instanceOf type guards for discriminated unions #23497
  • [typescript-fetch] Bugfix additional properties in multipart requests

Don't miss a new openapi-generator release

NewReleases is sending notifications on new releases.