Releases: OpenAPITools/openapi-generator
v7.10.0 released
v7.10.0 stable release (breaking changes with fallbacks) comes with 100+ 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:
- Added support for a trait based reqwest Rust client #19788
-g rust --library reqwest-trait
- [csharp] Add a server generator for FastEndpoints #19690
aspnet-fastendpoints
- [GdScript] Templates for GdScript (Godot 4) #19267
gdscript
Below are the highlights of the changes. For a full list of changes, please refer to the "Pull Request" tab.
General
- Fix allOf with properties for the REF_AS_PARENT_IN_ALLOF rule #20083
- Update inline model resolver to flatten responses #19992
- Fix $ref to allOf in properties #19986
- Better handling of allOf with unsupported schemas #19964
- Add logic in normalizer to auto fix self-reference schemas #19849
C
- [C][Client] Add gcc predefined macros to reserved keywords #19791
C#
- fix(csharp): Fixed JsonConverter for discriminators only appearing on base classes #19972
- [csharp][generichost] Better handling of duplicate operation ids #19913
- [csharp] Address MaxTimeout obsolete build warning #19875 (Breaking change (with fallback))
- [csharp] Add a server generator for FastEndpoints #19690
- [csharp] Mustache fully qualify namespace for Path #19349
C++
- feat cpp-qt-client: fix cast primitive to string #20000
- Remove further Qt support before Qt 5.15.2 #19824
Dart
- [PHP/Dart/Python] Correctly escape strings in single quotes #19529
- [dart2] [client] Added better double handling to 'mapValueOfType' #17808
Erlang
- erlang-server: add jesse to app.up release #20120
GdScript
- [GdScript] Templates for GdScript (Godot 4) #19267
Go
- [BUG][GO] only import reflect when using it #19967
Java
- Adding support for @ResponseStatus annotation into spring-http-interface java spring generator #20071
- Add equals and hashCode methods to Microprofile #20011
- [java] [restclient] Add support for a token supplier to OAuth based RestClient clients #19944
- [JAVA] fix several anyOf/oneOf problems #19817
- [Java Spring] Fix copyOf inheritance using empty object instead of passed value #19426
JavaScript
- [JS] set useURLSearchParams option to true by default, update samples #20003
- [JS] add parameter 'useURLSearchParams' to use JS build-in UrlSearchParams, instead of deprecated npm lib 'querystring' #19949 (Breaking change (with fallback))
Julia
- [julia] improve enum support #20016
K6
- Remove calculateRequestOrder Function and fix bug #19685
Kotlin
- Bump libraries for Kotlin client #20053
- kotlin-server: Fix required + nullable combination for properties #20054
- [BUG][KOTLIN] Fix the path variable escaping in kotlin client generators #19937
- [REQ] Add x-field-extra-annotation and x-class-extra-annotation for kotlin generator #19899
- [Kotlin Server] Update Ktor to latest version; move config to kts #19727
- Fix explicit KSerializer's name & generation when used in container #20093
- [kotlin][client] do not generate Serializable(forClass) annotation as the serializer is already defined #20092
- [kotlin-spring] fix Api Interface for kotlin-spring with spring-cloud library #19877
- [kotlin] Map file and binary to ByteArray #19840
- [Kotlin] Allow other content-types when only interested in status-code / Unit #19801
- [Kotlin] Introduce support for Kotlin Explicit API Mode for Kotlin-Client generator #19999
PHP
- [PHP/Dart/Python] Correctly escape strings in single quotes #19529
Python
- [python-pydantic-v1] Fix bug in serialization for SecretStr #20102
- python: stronger typing for the "configuration" module #20014
- [python] Check if the given input is a container (Array or Map) when validating enum values #19316
Rust
- [Rust-Axum] Fix compilation error when validate is used on Nullable values #20100
- [Rust-Axum] Extracting Claims in Cookie/Header #20097 (Breaking change (with fallback))
- [Rust-Axum] Prevent Operation response with internal Error #20047 (Breaking change (with fallback))
- [Rust-Axum] Support Authentication (Cookie, API Key In Header) #20017
- Fix Rust generation for versions without minor or patch parts #19946
- Added support for a trait based reqwest Rust client #19788
Scala
- Scala Cask oneOf support #20051
- [scala][client] scala-http4s minor improvement (enum companion method, remove implicit, error handling) #19901
- scala-cask fix: Added support for 'additionalProperties:true' #19767
Swift
- [swift6] promote to beta and improve documentation #19856
- [swift][client] rename api client to api configuration #20103
- [swift6] Add Sendable conformance to request parameter enums #20023
- [swift6] improve retry interceptor #19988
- [swift5] fix compile error from Alamofire 5.10 - cast Parameter type to avoid recursion #19908
TypeScript
v7.9.0 released
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
v7.8.0 released
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
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¶m=b vs param[]=a¶m[]=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
v7.7.0 released
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
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
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)
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
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
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
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
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
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
v7.3.0 released
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
Scala
- [scala-sttp]: fix for missing EnumNameSerializer for inner enum definitions #17697
- Implement scala http4s server generator #17430
TypeScript
v7.2.0 released
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
TypeScript
- fix(typescript-axios): use baseURL of (custom) axios instance #17296
- Generalized mime type support #17285
- [typescript-axios] Upgrade to axios@^1 #14518
Zapier
v7.1.0 released
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