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