Skip to content

Releases: OpenAPITools/openapi-generator

v7.9.0 released

08 Oct 02:52
4145000
Compare
Choose a tag to compare

v7.9.0 stable release comes with 150+ enhancements, bug fixes. Once again thank you for all the awesome contributions from the community.

This release comes with 4 breaking changes (with fallback) listed below.

3 new generators are included in this release:

  • [Scala][Client]Add Http4s scala3 client codegen #19658
  • Add swift6 generator #19621
  • Erlang server overhaul #19465

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

General

  • [normalizer] bug fixes (isNullTypeSchema, handling of primitive types with oneOf) #19781
  • feat(avro)/refactor(core): unify *_POST_PROCESS_FILE behaviour and reuse code #19761
  • Fix anyOf/oneOf normalization for 3.1 spec #19758
  • [OpenAPI 3.1] Avoid NPE when handling prefixItems #19735
  • fix(core): system-independent relative path sorting for FILES output #19726
  • feat(core): add info.summary to additionalProperties for 3.1 specs #19723
  • [windows] Fixed missing output #19715
  • fix(core): single value enums (const) are not generated correctly in 3.1 specs #19696
  • fix(core): nullable array types in 3.1.x specs #19687
  • [BUG] HandlebarsEngineAdapter.java failed to use custom FieldValueResolver causing IllegalAccessException for maps #19634
  • Better handling of parameters in inline model resolver #19460
  • [Gradle plugin] bugfix: openapi code generator to consider schema changes #16735

Avro Schema

  • fix(avro-schema): fix NPE for null enum values #19771
  • [avro-schema] fix: enum logic (sanitize, remove collisions) #19549

C++

  • [cpp-pistache-server] Generated code fails to build with x86_64-linux-gnu-g++-13 #19684
  • [cpp-qt-client] New makeOperationsVirtual option (Breaking change (with fallback)) #19613
  • Implemented missing definitions of declared methods inside modelbase-header.mustache, added two missing body of methods definitions #19569

C#

  • [csharp][generichost] Support formatting date only #19785
  • [csharp][generichost] Fix local var #19642
  • [csharp][generichost] Fix invalid key name #19633
  • [aspnetcore] Fix swagger xml comments #19593
  • [csharp] Version bump dependencies #19545

Dart

  • [BUGFIX][dart-dio] Align enum and enum_inline generation result #19510
  • [BUGFIX][dart-dio] add unknownEnumValue to JsonKey #19416

Erlang

  • [Erlang Server] Add more type information and fix minor bugs #19792
  • Erlang server validation bugfixes and capability extensions #19750
  • Add erlang-server-deprecated for fallback after refactoring #19547
  • Erlang server overhaul (Breaking change (with fallback)) #19465

Go

  • [GO] Go Server: preserve order of the routes as defined in the OpenAPI file #19550
  • [Go] fix regex validation breakage in unmarshaljson function #19410

Kotlin

  • [BUG] Kotlin wiremock query params are incorrect #19720
  • [kotlin-client][multiplatform] add support for kotlinx.datetime.LocalTime #19590
  • [kotlin-spring] fix springdoc dependencies #19579
  • [kotlin] enforce fields in data classes #19526
  • [kotlin-spring][server] fix spring boot configuration conflict #19515
  • [Kotlin] Add a new additional property to configure Jackson's failOnUnknownProperties (Breaking change (with fallback)) #19506
  • [Kotlin][okhttp] replace okhttpclient with callfactory #19422

Java

  • [Java][microprofile] enumUnknownDefaultCase true now returns correctly #19677
  • [Java] [apache-httpclient] Fix issue with toString causing wrong value with collections #19576
  • [Java][Spring]Update dependencies to remove vulnerability in org.springframework:spring-webmvc #19533
  • [Java Jersey] Update ApiClient.mustache Jersey doesn't allow entities in method DELETE #19530
  • [Bugfix][Java] Fixed jersey clients for multiple file upload #19476
  • [Java Libraries] Jakarta Validation API support useJakartaEe flag #19469
  • [Java] Add a new additional property to configure Jackson's failOnUnknownProperties (Breaking change (with fallback)) #19271

JavaScript

  • [Javascript] Add initialization of default vars to constructor #19692

Python

  • [Python] Harmonize python client dependency versions #19694
  • python-pydantic-v1: Return the primitive type in to_dict for anyOf models #19488
  • [BUG][python-fastapi] Updated pyyaml and httptools in requirements template to resolve compatibility issues with Python 3.12 #19666
  • feat(python): handle multiple file parameters #19329
  • fix(python,asyncio): multipart form data serialization #19302
  • [python] fix content_type deserialize #19317

PHP

  • [PHP] By default should use static Configuration class instance #19775
  • [php-symfony] Fix enum not serialized with value like '0' #19568
  • [PHP] Add missing qualifier for enum parameters #1956
  • [PHP] Remove NUMBER_ prefix from enum vars if a name is provided, show enum descriptions #19555
  • [bug] in case of defined status codes > 299 switch will have no effect #19483
  • [PHP-Client] Allow Content-Type merge-match+json for encoding #19479

PowerShell

  • [POWERSHELL] fix: keep array context when converting to json #19535-
  • [PowerShell] Support multiple files in multipart/form-data POST (new functionality + fix) #19449

R

  • [R] Update R6 object documentation #19679
  • [R][client] Make enum parameters with required: false optional to request arguments #19654

Ruby

  • [Ruby-client] Use secuirtyScheme Key for api_key #19740

Rust

  • [rust][client][auth] token source option #19647
  • [Rust Server] Handle arrays in forms #19625
  • rust: Implement Display instead of ToString for enums #19611
  • [Core/Rust Server] Check references in additionalProperties correctly when checking freeForm status #19605
  • [Rust Server] Add derive of Hash to enums #19603
  • [Rust Server] Add auto-generated CLI Client #19392

Scala

  • [Scala][Client]Add Http4s scala3 client codegen #19658

Swift

  • [swift5] rename unknownDefault to unknownDefaultOpenApi #19753
  • Add swift6 generator #19621
  • [swift5] Fix Xcode 16 compilation crash with Extensions.swift generation #19564
  • add oneOf-default-case option for swift5 #19094

TypeScript

  • [Typescript-Node] Mark deprecated endpoints #19770
  • [Typescript-Node] Mark deprecated model attributes #19756
  • style(typescript): use Headers type #19697
  • [typescript-axios] fix: enum datatype jsdoc #19571
  • [typescript-fetch] Fixed issue where unique arrays (sets) of primitive values aren't initialized properly #19521
  • [Typescript] Generate oneOf schemas as type unions #19494

Zapier

  • [zapier] add response middleware #19760
  • Make it easier to specify triggers for Zapier #19645

v7.8.0 released

19 Aug 06:34
6bdc452
Compare
Choose a tag to compare

v7.8.0 stable release comes with ~150 enhancements, bug fixes. Once again thank you for all the awesome contributions from the community.

This release comes with 4 breaking changes (with fallback) listed below.

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

General

  • Added support for openapi-normalizer in the online version #19336
  • processing schema name is added to the list with names checked at recursing processing #19221
  • Fix mistype in InlineModelResolver leads to autogenerated class name instead of specified by title #19173
  • Speed up docker re-builds using mvn dependency:go-offline #19078

C#

  • [csharp][generichost] Changed default sorting of samples #19335
  • [csharp][generichost] Support response ranges #19256
  • [csharp] Use global keyword #19257
  • [csharp] Add scope for oauth2 #19234
  • [csharp] fix Task.Result directly blocks thread #19231
  • [ASPNETCORE] Fix having two "?" when not required and nullable = true #19062
  • Support net8 in aspnetcore #19051
  • [csharp] Change sorting default Breaking change (with fallback) #1894

C++

  • [C++][Pistache] Fix 'unused-parameter' warning on Helpers.h file #19315
  • [C++][Pistache] Add error handlers overload taking the response object #19314
  • [cpp-qt] Add option for download progress, add test #19297

Dart

  • fix invalid syntax in gitignore #19341
  • [dart-dio] fix JsonObject missing on a generated code #19130

Elixir

  • [Elixir] allow custom packageVersion #19151

Go

  • Better handling of backtick in pattern #19358
  • [Go] Set Default Values for Required Variables when a default is defined #19232

Haskell

  • Add bytestring package to dependencies of generated haskell code #19101

Java

  • [JAVA] use query parameter apikey if present #19334
  • [JAVA] okhttp-gson client codegen ambiguous references for a component schema "Type" #19328
  • Minor change to Helidon version handling allowing snapshot versions #19320
  • [Java] Update ApiClient.mustache for retrofit2 + rxJava3 #19266
  • [JAVA-CAMEL] revert broken xml change #19259
  • Support Helidon SE 4 generation (clients and servers) #19150
  • [okhttp-gson] migrate to jakarta.ws.rs #19113
  • Remove thread unsafe statusCode and responseHeaders instance variables from apache http ApiClient #19054

Julia

  • [julia] Add support for style, explode in query params #19238

k6

  • [k6] Add authentication variables in headers and cookies #19060

Kotlin

  • [kotlin-client][jackson] Add missing @JsonEnumDefaultValue annotation to top-level enums #19380
  • [bugfix][kotlin-wiremock] fix problems with range responses #19309
  • [Kotlin] Update formParams.mustache to have List of MultipartBody.Part #19287
  • [Kotlin][Spring] fix flag appendRequestToHandler with delegatePattern #19206
  • adds support for x-pattern-message in kotlin-spring generator #19134

PHP

  • [BUG] PHP Client - ObjectSerializer::buildQuery flattens array params resulting invalid URL params (param=a&param=b vs param[]=a&param[]=b) #19236
  • php: Fix typedoc comment for headers in ApiException #19217
  • feat(php-nextgen-client): add support for streaming #19192

PowerShell

  • [PowerShell] Fix missing Content-Type header on a 204 response #19340
  • [PowerShell] Fix response type on deserialization #19331
  • [PowerShell][Bug] Fix issue #18428 - [System.IO.FileInfo] object used in multipart/form-data submission does not support relative paths #19269
  • [PowerShell] Support ApiKeyPrefix #19133

Python

  • python-asyncio: update retry factors for actual exponential retries 19337
  • [Python] fix object arrays giving mypy error "Incompatible types in assignment" in to_dict() #19223
  • Adding decimal support for python client generation #19203
  • [python-fastapi] Fix api endpoint template #19139

Ruby

  • [Ruby] Fix Content-Transfer-Encoding binary unpacking #19132
  • [Ruby] Allow Overriding Accept Header #19106

Rust

  • Make the rust hyper client Send so it can be used in rust threads more easily #19375
  • [Rust Server] Allow configuration of multipart/form attachment size limit #19371
  • [Rust Server] Sort operations so that the ones with fewest params come first #19368
  • [Rust Server] Improve RFC 13341 compliance for multipart/related #19355
  • Rust: Support Integer enums using Serde_repr #19199
  • Upgrade rust-hyper to use hyper 1.0 Breaking change (with fallback) #19115

Swift

  • [swift5]Add array validation rule #19242

TypeScript

  • feat(typescript-angular): add support for Angular V18.1 #19228
  • [typescript-fetch] Fix code generation for oneOf cases without discriminator #19219
  • [FIX][typescript-fetch] Fix duplicate imports for models with a discriminator #19195

v7.7.0 released

02 Jul 07:47
4eaac3d
Compare
Choose a tag to compare

v7.7.0 stable release comes with 140+ enhancements, bug fixes. Once again thank you for all the awesome contributions from the community.

Here are some highlights for the changes included in the release. For a full list of changes, please refer to the "Pull Request" tab.

Breaking changes with fallback

General

  • Fix NPE in ModelUtils getType #19014
  • Load vendorExtensions in the operation parameter #18962
  • Never create inline model for allOf with single $ref #18945
  • clone Schema using AnnotationUtils.clone with WA #18867
  • [Enhancement] [Gradle Plugin] Allow templates from classpath Enhancement: Feature OpenAPI Generator Gradle Plugin #14909

Android

  • [android][volley] Remove unused robolectric test dependency #19022
  • [Android][Volley] Build fixes #18899

C#

  • [csharp] Improved apiclient.mustache #18915
  • [csharp] Refactor anyOf model template #18901
  • [csharp] OneOf should handle Inheritance based type #18892
  • [csharp][generichost] Add support for primitive composed #18825
  • [csharp][generichost] Fixed parameter ordering #18823
  • [csharp][generichost] Added framework support #18776
  • [REQ] [ASPNETCORE] Add value types for the ASPNETCORE generator #18646

C++

  • [cpp-restsdk] add support for oneOf via std::variant #18821

Clojure

  • [clojure] Apply model/param/var name mappings #18858

Crystal

  • [crystal-lang] Update dependencies to remedy build failure #18755
  • [crystal-lang] Resolve type check compile error in ApiError #18759

Dart

  • [Dart] Make dependency on http, collection and meta packages less strict #18952
  • [dart] Apply var/param/model name mappings, handle single _ #18860

Elixir

  • [Elixir] Fix generation issues and compilation warnings in Elixir generator #18788

Erlang

  • [erlang-client] Apply var/param name mappings #18859

Go

  • [Go] Fix an issue causing int array reference translated to an invalid type []Integer #19013
  • [Golang] Move utility functions from client.mustache to utils.mustache #19001

Haskell

  • [haskell-http-client] Support --name-mappings and handle _ name #18944

JavaScript

  • [javascript-closure-angular] Change metadata to reflect beta status and non-existing xml capability in docs #18834

Java

  • [Bug] [Java] Remove raw type compilation warnings when generating using jersey2 or jersey3 #19033
  • [JAVA-SPRING] Avoid broken code due to duplicate rendering of @deprecated annotation with generateBuilders=true #18917
  • Remove bean validation for uuid #18900
  • Fix javaJaxRS template: remove deprecated in JDK9 method usage #18728
  • [Spring] replace MultipartFile by Resource #18509
  • [JAVA] ensure codegen fields and additionalProperties are not conflicting #18935

JetBrians HTTP client

  • JetBrains HTTP Client - Adds support for query and header params and env file #18844

Kotlin

  • [kotlin] Fix a leak in the ApiClient #18997
  • [Kotlin] update ApiClient to register all adapters for GsonBuilder #18965
  • [kotlin-server][javalin6] Add Javalin 6 support #18928
  • [kotlin-wiremock] New generator for generating WireMock stubs using Kotlin #18705
  • [kotlin] better oneOf, anyOf support #18382

PHP

  • [PHP-SYMFONY] Debug Symfony version 7, enums ref, array of enums $ref and date assert #19008
  • [php-slim4-server] fix php syntax error in RegisterRoutes class (missing semicolon) #18863

Python

  • [Python] Allow Overriding Accept Header #19025
  • [Python] Add Flag to Allow Ignoring Operation Servers #18981
  • avoid setting debug property if not needed #18872

Ruby

  • [Ruby] Add Flag to Allow Ignoring Operation Servers #18934

Rust

  • fix(rust-server): remove duplicate allow(unused_imports) directive #18983
  • [Rust-Axum] Use x-response-id if specified #18906

Swift

  • [swift] Rename url & path variables to avoid collision #18969
  • [Swift5] Add model name mapping #18780

TypeScript

  • feat(typescript-angular): add support for Angular V18 #18916
  • [typescript-fetch] fix Type error in oneOf when legacyDiscriminatorBehavior is false #18877

Zaiper

  • Marketplace software zapier request middleware #18907

v7.6.0 released

20 May 09:25
ab7d0cb
Compare
Choose a tag to compare

v7.6.0 stable release comes with 120+ enhancements, bug fixes. Once again thank you for all the awesome contributions from the community.

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

General

  • Skip setting output folder in online service #18652
  • fix: Upgrade testng to avoid CVE-2022-4065 #18635
  • [refactor] Use getType in ModelUtils to better support OpenAPI v3.1.0 spec #18577
  • Fix null type check when simplifying any type #18504
  • fix: ExampleGenerator for composed child schemas and array schemas #18479

C#

  • [csharp] Fixed nullability of composed schemas #18408
  • [C#] made the HttpSigning method public to get the signed header #18496

C++

  • [[BUG][C][cpp-restsdk] fix missing Set.h #18631
  • [C++][Pistache] Compile error when nesting component/schema reference objects #18586

Dart

  • [dart-dio] Incorrect hashCode and == overide for fields withList #18198
  • [dart] [dart-dio] Support Dart3 #18001

Go

  • [GO][Client] Generated GO Client Time Query Param Millisecond Resolution Fix #18673
  • Add an option to skip unmarshall json in Go client generator #18448
  • [GO] Add assert constraints checks for complex types in the model template #18654
  • [Go] uses sanitized model name instead of the name #18644
  • [go-server] Fix: error handling and linting #18550

HTML

  • [html2] Fix incorrectly sanitizesd response headers #18685
  • [html2] Add oneOf support #18642
  • [html2] Support alias types #18579
  • [html2] Fix rendering of arrays of objects in html2 docs #18561

Java

  • upgrade microprofile to junit5 #18669
  • upgrade okhttp-gson and google-api-client to junit5 #18668
  • [BUG][JAVA] Prevent generating "pattern" and "size" to ENUM #18658
  • [BUG][JAVA] oneOf/anyOf multiple constructors with same erasure #18645
  • Add support for Helidon 4 MP client and server generation #18627
  • upgrade java native to junit5 #18617
  • upgrade apache-httpclient to junit5 #18616
  • upgrade resteasy to junit5 #18615
  • [jaxrs-spec] fix nullable import, migrate tests to 3.0 spec #18606
  • [BUG] [Java] Invalid code generation for oneof types #18544
  • Add new option allArgConstructor for java client, spring generators #18538
  • [Java][Client] Add support for the new Spring RestClient #18522
  • Fixes incorrect Jackson imports in Java templates used in ApiClient.java when useJakartaEe=true #18507
  • [java] implement #18032 add builder pattern to java client and spring generator #18650

Kotlin

  • [KOTLIN] Kotlinx serialization, use first party retrofit converter factory #18656
  • [kotlin-client] Update Gradle and dependencies #18571

PHP

  • [php-flight] fix: always set http status in streaming response #18604
  • [php-flight] fix: parsing class/enum models #18528
  • feat(php): allow to pass raw boolean to api #18520

Python

  • [python-flask] deference parameter schemas before further processing #18605
  • [Python] Fix the post processing of enums #18566
  • [PYTHON] Fix for failing to lookup discriminator value using AllOf and discriminator #18498

Ruby

  • Ruby: Fixed CodeQL polynomial regexp Client: Ruby Issue: Bug #1869

Rust

  • Use Display instead of ToString in Rust generators #18633
  • [rust-axum] Split up api trait per tag #18621
  • Bump Rust edition to 2021 and a few crates #18608
  • [Rust-Axum] Fix uuid in header params causing compilation errors #18563

Scala

  • scala-sttp: fix api returns unit #18537
  • scala-sttp4: fix api returns unit #18536
  • Cask version fix #18486
  • Taught Scala-cask to publish JS model files #18413

Swift

  • [swift] support content type application json variants #18539
  • Add ResumableTask to URLSessionImplementations.mustache #18438

TypeScript

  • [typescript-fetch] Improve code generation for oneOf cases without discriminator #18702
  • [typescript-fetch] Make instanceOf infer type and check for undefineds #1869
  • Add typescript 5.x as an allowed version #18674
  • fix(typescript-axios): Correct the content type for a list of objects in form-data when contentType is present #18505
  • Support optional singleRequestParameter #18467

v7.5.0 released

17 Apr 08:35
cce4139
Compare
Choose a tag to compare

General

  • Fix method naming for openapi normalizer, openapi ignore list option #18348
  • Update parser to 2.1.19 #18298
  • [normalizer] fix schemas incorrectly skipped #18297
  • Add logic to simplify any type represented with oneof/anyof #18268
  • Fix map parameter not a container #18220

OpenAPI 3.1 spec (beta suppport)

  • Fix null check in 3.1 spec #18353
  • Better array handling in 3.1 spec #18313

C

  • [C] Optimize memory usage when printing JSON #18072

C#

  • [csharp][generichost] Fixed operation parameter handling #18322
  • [csharp] Fixed property naming convention for composed types #18312
  • [csharp][generichost] Fixed bad reference to client utils #18309

C++

  • [cpp-ue4] Handled nullable by setting the required tag, effectively making nullables optionals #18168

Clojure

  • [Clojure] Handle both types of additional properties when getting type declaration #18201

Dart

  • [dart] fix: Bearer and Basic auth interceptors case-insensitive scheme comparison #17074

Go

  • [Go] fix allOf with multiple ref and discriminator #18390
  • Update go-server template to include the conventional generated code line #18304

Haskell

  • Fix string comparison in haskell servant generator #18410
  • Haskell: JSON Query parameters #18047

HTML

  • [html2] Fix blank responses in html document #18356

Kotlin

  • Add support for modelNameMappings #18342
  • [BUG] [kotlin-spring] Fixed escaped backticks in parameters using reserved words #18318
  • Kotlin: Do not escape/sanitize quoted enum value #18305
  • [kotliln-spring] Update dataClass.mustache #18205

PHP

  • [php-symfony] Allow Symfony 7 / Remove EOL PHP / Bearer Fix #18357
  • Remove param tag for non-existent parameter in ObjectSerializer #18347

Postman

  • [POSTMAN] Deal with boolean fields #18294

PowerShell

  • [PowerShell] (multipart/form-data request) and proxy behaviour #18315
  • Fix proxy type #18166

Python

  • [python] Update docs/ Markdown files for Classes to fix form typo and correct casing for class name when calling from_dict() #18359
  • Python: Correctly serialize enum with its value #18328
  • [python] Fix circular imports on AllOf generation #18272
  • Specify named param for field defaults in Python Pydantic V1 generator #18187

Java

  • Add Mutiny support to JaxRS #18389
  • [Java] fix beanvalidation compilation failed when items type in array is int64 #18379
  • [java][okhttp-gson] Fix oneof, anyof for array type #18324
  • [JAXRS-SPEC] no @Valid annotation on simple fields #18302
  • [spring] Delegate Incorrectly generated when useOptional True #18278
  • Update spring-context and spring-web to newer version #18266
  • [JAVA][NATIVE] fix implements in oneOf/anyOf #18248
  • [Java] Update okhttp3 from 4.10.0 to 4.12.0 to fix CVE-2023-3635 #18235
  • Fix compile error in client properties configuration #18232

JavaScript

  • [javascript] fix docs example quoting #18349

R

  • [R][Client] allow to initialize enum classes without parameters #18183
  • [R][Client] fix brackets for httr2 file_params #18142
  • [R][Client] Allow API response to be NULL #18141

Ruby

  • [ruby] Use Marcel to detect content-type in form-data file upload using faraday #18243

Rust

  • [RUST-AXUM] fix generator not handling application/x-www-form-urlencoded request content #18061

Scala

  • [Scala] added new scala-cask generator for the cask framework #18344
  • scala-sttp4: fix for missing EnumNameSerializer for inner enum definitions #18160

Swift

  • [swift] Added solution for deprecated "UTTypeCopyPreferredTagWithClass" #18330
  • SWIFT5: sort query items alphabetically to allow better server side caching of requests with same URL #18239

TypeScript

  • Update versions for typescript-node and remove vulnerable test package #18334
  • Fix: in typescript fixes additionalProperties handling when extending models #18164
  • fix(typescript-axios): Serialize boolean to string in form-data file upload #18084
  • Fix: Always serialise Map and Set to object and array in typescript-axios #17790

v7.4.0 released

11 Mar 02:22
2abcb4f
Compare
Choose a tag to compare

v7.4.0 stable release comes with 90+ enhancements, bug fixes. Once again thank you for all the awesome contributions from the community.

This release comes with 1 breaking change (with fallback) listed below.

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

General

  • inputSpec should not be mandatory when inputSpecRootDirectory is set #18000
  • Fix ClassCastException in OpenAPINormalizer on composed schemas #17912
  • Add FILTER to openapi normalizer #17859
  • Fix attributes in allOf and $ref #17836

C

  • [C][Client] Fix default enum value being -1 #18040

C#

  • [C#] fix anyof, oneof mixed primitive object parse error #17986

C++

  • [cpp-qt-client]Allow nullable parameters #17805
  • Prevent enum item names being reserved keywords #17804

Dart

  • [Dart] Make dependency on intl package less strict #17862

Go

  • [Go] fix isNil check #17870
  • Generate API files as interfaces for go-gin server #17784

Java

  • [java] Use modelNameMappings if provided #18025
  • [JAVA] Fix 3.1 generation for composed schema's with object type #18002
  • [Java][apache-httpclient] Use EntityUtils#toString instead of Scanner for deserialization #17998

Jetbrains HTTP Client

  • Major Jetbrains HTTP Client upgrade. Move to BETA #15779

Kotlin

  • [kotlin] Enum should match spec #18062 - Breaking change (with fallback)
  • [kotlin-spring] Fix cookie parameter code generation in API #17959
  • [kotlin-spring] fix BigDecimal default value failed to compile #17956

PHP

  • fix(php): update type hint in toString method #17838
  • fix(php): call selectHeaders correctly in psr-18 implementation #17832

Python

  • [python] Fix Circular imports on inherited discriminators #17886
  • Update python-fastapi dependencies to newer versions #17871

Ruby

  • fix(ruby): Detect content-type in form-data file upload using faraday (#17851) #17853

Rust

  • [Rust] [Axum] Fix clippy warning: to_string_trait_impl #17995
  • fix(rust): wrong path to model used as parameter of api #17968
  • feat(rust): support ability to disable boxed models in client #17931
  • fix(rust): oneOf generation for client #17915

TypeScript

  • [typescript-fetch] Use == to check property is null or undefined #17972
  • Use exists() to check for properties #17798

v7.3.0 released

08 Feb 07:44
d617b46
Compare
Choose a tag to compare

v7.3.0 release comes with 4 new generators and many bug fixes, enhancements. Below are the highlights of the release. For full release, please refer to the pull request tab

New Generators:

  • feat: add java-wiremock generator #17614
  • kotlin-server: Add support for Javalin #17596
  • [Rust] [Server] New generator bases on Axum #17549
  • Implement scala http4s server generator #17430

General

  • Add operationId name mapping option #17750
  • Fix require var logging, don't matchGenerated if allOf skipped #17746
  • Add rule to remove x-internal in openapi normalizer #17734
  • Support x-internal in models and operations #17639
  • Fix null schema check for array of string in 3.1 spec #17728
  • Fix allOf with a single item in inline model resolver #17683
  • Fix map and free form object detection issue in 3.1 spec #17624
  • fix: ExampleGenerator correctly generates allOf composed schemas #17499

Bash

  • [Bash] Allow non-JSON request body payloads #17641

C

  • [C][Client] Update the API doc #17540
  • [C][Client] Fix enum function names not matching headers in the model… #17512

C++

  • [cpp-qt-client] Fix CMakeLists.txt.mustache and CMakeLists.txt for Qt5 (fix #17712) #17721
  • [cpp-qt-client] Extend the reserved keywords for Qt projects with the following words #17722
  • [cpp-ue4] Fix generated code not compiling when using unique array items #17684
  • [cpp-qt-client] Update minimum cmake version to 3.5 #17480
  • feat: using Qt with 3rd Party Signals and Slots. Replace signals,slots and emit with Q_SIGNALS,Q_SLOTS and Q_EMIT #17067

C#

  • corrected handling of "isPrimitiveType" for FormParameters #17700
  • [CSharp] feat!: add useDateOnly flag #17471

Dart

  • [dart-dio] includeIfNull: truefalse bugfix #17631

Go

  • [go-gin-server] add a new function to the router to pass the gin context #17785
  • [Go] fix unused bytes import for anyOf and oneOf models #17775
  • fix: ensure models that have variables that contain a complexType of time.Time import the time module #17452

Java

  • [Java] Fix default values of array-type parameters in a referenced file #17779
  • [BUG] [Java] Remove deprecation and serial warnings in ApiException.java and JSON.java #17716
  • add lombok model support on spring #17622
  • feat: add java-wiremock generator #17614
  • [BUG][java][resttemplate] Fix NPE when query param with value null is exploded #17568
  • [jaxrs][cxf-cdi] make sure the imports are present for enum, if using jackson #15123

JavaScript

  • [BUG][Javascript] - validateJSON not working on value 0 #17769
  • Include support to Mojolicious relaxed placeholders parsing path parameters #17633

Kotlin

  • Pass ObjectMapper to JacksonConverterFactory #17673
  • kotlin-server: Add support for Javalin #17596
  • Fix Kotlin templates to be compatible with Kotlin K2 compiler #17466

Perl

  • feat(perl): Update agent to use version constant #17665
  • Add auto-generated cpanfile in Perl client #17662
  • [Perl] Update _test.mustache templates to use done_testing #17649

PHP

  • [PHP] update dependencies for php-dt generated code #17796

PowerShell

  • [PowerShell] Support multiple types in Accept header #17765

Python

  • [Python] deserialize enum json response #17791
  • [python-fastapi] Ensure path param is ... instead of None #17532

R

  • support binary response for R api client #17626

Rust

  • [Rust] [Axum] Fix clippy warning #17637
    -[Rust] [Server] New generator bases on Axum #17549

Scala

  • [scala-sttp]: fix for missing EnumNameSerializer for inner enum definitions #17697
  • Implement scala http4s server generator #17430

TypeScript

  • Accept Promises for the apiKey configuration in the typescript-fetch generator #17758
  • fix typescript-nestjs services when using api_key authentication #17708
  • [typescript-axios] Add any to index type when additionalPropertiesIsAnyType is true #17625

v7.2.0 released

22 Dec 07:08
fe638d0
Compare
Choose a tag to compare

v7.2.0 is the last stable release in 2023. Once again thank you for all the awesome contributions from the community.

This release comes with 2 breaking changes (with fallback) listed below.

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

General

  • To fix infinite loop for allOf with single element in normalizer #17426
  • Fix build errors in JDK 21 #17177
  • OpenAPI 3.1.0 Add webhooks support #17174
  • Add openapiGeneratorIgnoreList option to pre-populate .openapi-generator-ignore #17164
  • Add openapi-normalizer rule to set tags to operationId #17161
  • Fix missing objects when defining inline anyOf, or oneOf #17141
  • Update Dockerfile (cli, online) to use eclipse-temurin:17.0.3_7-jre-focal #17139

C

  • [C][Client] Use int* as int or bool type function parameter #17179 Breaking change (with fallback)

C++

  • [cpp-qt-client] pass QString by const reference instead of by value #16793

C#

  • [csharp][generichost] Handle obsolete params and methods #17344
  • [csharp] Do not inherit additional properties #17140
  • [csharp] Disabled GetHashCode generation #17039 Breaking change (with fallback)

Dart

  • [BUG] [dart-dio] Support for Analyzer configuration options changes in Dart 3 #17099

Java

  • [webclient] explode query parameters support #17441
  • Implementing retry logic to restTemplate #17375
  • [JavaSpring] Enable scopes for all security scheme types #17083

JMeter

  • [jmeter] Fix exception when operationId has $ #17125

Kotlin

  • [kotlin-client] New generator: kotlin-jvm-spring-restclient (new library) #17366
  • [kotlin-client][multiplatform] add iosSimulatorArm64 target #17058

Go

  • [go-server] Add ability to handle nullable query parameter #17321
  • [Go] fix validation of property names when a model has required fields and doesn't allow additional properties #17267

PHP

  • Fix PHP constructor docblock #17324
  • Fix parameter names in Configuration #17305
  • Add enum name mapping support to PHP generators #17195
  • [PHP-NG] check if json_decode was able to decode response #17120
  • [PHP-NG] convert data to string before giving it to preg_match #17119

Postman

  • [POSTMAN] Skip escaping request name #17394

PowerShell

  • Use $Response.Content for deserializing response #17342

Python

  • [python] Fix exception in request body with enum ref #17438
  • [python] fix: Annotate free-form object as dict in Python #17082
  • [python][Feat] Deserialize error responses #17038
  • Add socks5 proxy support for OpenAPI generated python client #16918

Ruby

  • Ruby Client for Faraday: fix file downloading #17333
  • [Ruby] Add model name mapping support to ruby client generator #17408

Rust

  • Add enum name mapping feature to the Rust generators #17290
  • include {min|max}Items validation in rust-server models #17201

Scala

  • Add scala-pekko client generator (new generator) #17417
  • [scala-akka-client] Scala Akka client does not support arbitrary query string parameters #17386

Swift

  • Fix swift5 binary upload #17422
  • [Swift5] add enum name mapping option #17297

TypeScript

  • fix(typescript-axios): use baseURL of (custom) axios instance #17296
  • Generalized mime type support #17285
  • [typescript-axios] Upgrade to axios@^1 #14518

Zapier

  • [Zapier] Updated some dependencies #17420
  • [ZAPIER] added required fields to zapier models generation #17115

v7.1.0 released

13 Nov 09:30
e2a62ac
Compare
Choose a tag to compare

v7.1.0 is the first release with breaking changes (with fallback) after the major release v7.0.0 in Aug 2023.

Breaking changes with fallback:

  • [csharp][generichost] Implement not required nullable properties #16810
  • [PYTHON] generate code based on pydantic v2 #16685
  • Change default value of 'pathParamsAsVariables' config option #16404

For the highlight of changes, please refer to the list below. For a full list of changes, please refer to the "Pull Request" tab.

General

  • Fix oneOf merging, upgrade dependencies #16992
  • Better handling of allOf in request body #16991
  • Better handling of API response in 3.1 spec #16986
  • Better isAlias detection #16943
  • Fixed indent lambda to not strip line breaks #16930

C

  • [C] map set to list, add tests #16730

C#

  • Update C# dependencies to newer versions, update reserved word list #16996
  • [csharp] Introducing the enumPropertyNaming option to the C# Generator #16981
  • [BUG][aspnetcore] Fix ASP.NET Core server DateTimeOffset type mapping #16653

Dart

  • [dart-dio] Add toString in Enum on json_serializer #15387

Go

  • [GO] Add support for model name mapping for go #17023
  • [Go][Server] FormParams - Generic Array Type Handling #17001
  • [Go] add generateMarshalJSON key for additional-properties settings #16962
  • [Go] Add multiple file upload support #16956
  • [Go] validate required fields when unmarshalling JSON #16863

Java

  • Add optional parameter for request body #16972
  • [Server][Spring] fix support interface and implementation classes for API controllers #16945
  • [Java][okhttp-gson] fix validateJsonElement not validating enum values #16865
  • [JAVA] fix: oneOf generates incorrect model for primitive types #16834

Kotlin

  • [kotlin][client] Fix compilation error when all auth method is mapped to null #16861
  • Add kotlin-spring beanValidation for RequestBody parameters #16859
  • [Kotlin] ktor JSON serialization handling #16843

N4JS

  • [N4JS] Fix issue with broken module names in case of same names #16937

PHP

  • [php-symfony] Fix type hint for array in comments #16926
  • [PHP] check if json_decode was able to decode response #16879
  • [php-nextgen] fix object serializer, update tests #16764
  • [php-next-gen] fix handling with enums in object serializer #16741

Postman

  • [POSTMAN] [BUG] Correct order of the Postman requests #16983

Python

  • fix parameters_to_url_query returns booleans with upper letter #16947
  • [python] add circular reference import #16940
  • [python] Fix postponed model imports #16882
  • [Postman Collection] Fix path parameter syntax #16827

Ruby

  • [ruby|client] Fix unmarshalling errors of enums inside other objects #16900
  • [ruby] Make File Downloads Threadsafe #16876

Rust

  • chore(deps,rust): requires reqwest 0.11 in blocking generated code #16927
  • fix(rust-server): remove redundant clone #16906

TypeScript

  • [typescript-axios] Fix Explode Query Parameters #16898
  • [typescript-axios] Add Support for Operation Servers #16782

Zapier

  • [zapier] Zapier generator minor fix #16845
    -[Zapier] Fixed zapier objects arrays mapping #16780

v7.0.1 released

18 Sep 08:53
Compare
Choose a tag to compare

v7.0.1 is the first patch release after the v7.0.0 major release 3 weeks ago. More than 100 PRs have been merged based on the feedbacks of our users who have upgraded to the latest v7.0.0 release.

One important enhancement is beta support for OpenAPI specification v3.1.0.

For a list of changes (bug fixes, enhancements), please refer to the PR list.