v7.15.0 stable release (breaking changes with fallbacks) comes with 140+ enhancements, bug fixes. Once again thanks for all the contributions from the community.
This release comes with 1 breaking change (with fallback):
- [rust-server] Update to hyper1 in rust-server generator #21422
The community also contributed 3 new generators in this release:
- [C++] [Client] Added cpp-oatpp-client #21711
- Add cpp-oatpp-server generator (alpha) #21547
- NestJS server codegen #21494
Below are the highlights of the changes. For a full list of changes, please refer to the "Pull Request" tab.
General
- Bugfix for remote specs with params #21634
- [gradle-plugin] add treatWarningsAsErrors option to openApiValidate in gradle plugin #21626
- Fix response model generation with ParseOptions.resolveResponses=true #21568
- [req] Allow models and apis list properties to span multi-lines #21536
- Bump jmustache 1.15 -> 1.16 #21352
- Add 'isFormStyle', 'isSpaceDelimited', and 'isPipeDelimited' flags to CodegenParameter #21240
- Added symlink to generator CLI in Docker image #15559
C
- add curl handler pre-invoke-callback to c-libcurl #21654
- feature: Add control flag for static compile #21635
- Add verbose, keepalive, keepidle, keepintvl to c-libcurl #21613
C#
- [REQ] [CSHARP] [UNITYWEBREQUEST] Support Stream for unityWebRequest library #21704
- [BUG][CSHARP][GENERICHOST] Write enum values in expected JSON format #21698
- [csharp] Fix composed enum handling #21690
- [csharp][generichost] Fix response testing when dataType missing #21687
- [csharp] Ensure unique property names #21649
- [csharp] Handle nested maps recursively #21636
- [C++] [Client] Added cpp-oatpp-client generator #21711
C++
- [C++] [Client] Added cpp-oatpp-client generator #21711
- [C++] [Client] Fixes to cpp-oatpp-server generator #21595
- Add cpp-oatpp-server generator (alpha) #21547
Dart
- Feat: #21665 [dart][dart-dio] CopyWith for json_serializable #21667
- [dart-dio] Fix json_serializable response for type:string format:binary #21379
- [dart-dio] Fix compile error in enum properties with "default" values (#20495) #21355
Go
- Update AWS Go SDK from v1 to v2 in Go client templates #21653
Java
- [Java][RestClient] Generate servers for restclient library #21699
- [spring] Adapt HttpHeaders access to remain compatible with Spring 7 #21691
- [JAVA] Remove [this-escape] warnings in generated ApiClient classes #21620
- [Java-Spring] add comment to EnumConverterConfiguration mustache file #21598
- Conditional import of AtomicInteger added to delegate template #21597
- [Java] [SpringClient] Introduce setting for sealed oneOf interfaces for Spring clients #21586
- [okhttp-gson] Type check of array element only when array is not empty #21571
- [Bug][java-spring] Use Flux only for multipart-form-data file parameters with multiple file uploads #21561
- [Java][native] Add ability to add header to specific calls #21495
- Move the singleRequestParameter template into a separate file #21489
- [Java][MicroProfile] Support additionalProperties with Jackson #21451
- Restricted Java oneOf imports to Jackson only when needed (#21404) #21405
- [JavaSpring] Allow configuring generic ResponseEntity for Spring generator #21387
- [java][Microprofile] add config options to disable usage of ApiExceptionMapper #20762
Kotlin
- [REQ] [CSHARP] [UNITYWEBREQUEST] Support Stream for unityWebRequest library #21704
- kotlin-spring: fix exception thrown in enum.forValue #21622
- [Bug][kotlin-spring] add a Spring type converter for enum values #21579
- Kotlinx polymorphism with custom discriminator support #21531
- [BUG][Kotlin] Fixed primitive type check for array of array #21500
- [BUG][kotlin-spring] Fix Boolean type mismatch for kotlin-spring generator (#21478) #21481
- [BUG][Kotlin] fix: kotlin code generator should sanitize enum values according to convention #21459
OCaml
- [OCaml] Derive eq #21679
PHP
- [php][php-nextgen] add new github workflow to perform syntax check on php files #21678
- [php] Fix file uploads (by backporting #21458) #21632
- fix: Use correct constructor for ApiException in PSR-18 PHP library #21631
- Removed try/catch to enable framework error handling to pick up error #21523
- php-nextgen - Fix flatten() to support arrays of files #21458
Protobuf
- [Protobuf] Fix nullpointer for allOf with additionalProperties=false #21556
Python
- python: Reinstate lazy imports #21486
R
- [R] add null checks to nullable api parameters #21629
Rust
- [Rust] Replace more HeaderValue::from_str with compile time from_static #21689
- Add reqwest-trait crate to workspace and rename it #21674
- Fixup failing CI in rust-server due to xmltree dependency #21664
- [rust] Extend oneOf array enum names with inner type #21599
- [Rust-Axum] Basic Authorization - Basic Analytic - XSS Sanitize #21578
- Replace periods with underscores in Rust model names #21480
- [rust-server] Update to hyper1 in rust-server generator (Breaking change (with fallback)) #21422
Scala
- [Scala sttp] Fix header serialization for Optional values #21603
- Generators "scala-sttp" and "scala-sttp4" produce valid code when using APIKeyQuery, APIKeyHeader and APIKeyCookie #21551
- [scala][http4s] fix escaping of reserved words for correct model property names #21518
- [scala][http4s] fix codegen for using reserved words in openapi #21490
Swift
- [swift] [urlsession] Fixes crash for uploads with content-type "image/" #21544
- [Swift5][Swift6] support "x-enum-descriptions" #21706
TypeScript
- feat(typescript-angular): prepare build #21684
- [BUG][typescript-fetch] Default case for oneOf serialization method returning undefined variable. #21669
- [Bug][typescript-fetch] Typescript fetch one of addtl props imports #21656
- [Bug][typescript-fetch] Fix missing close parenthesis in oneOf models #21645
- [test][typescript-fetch] Add / improve unit tests for current typescript-fetch oneOf logic #21638
- [typescript] Add optional erasable syntax configuration to Typescript generator #21560
- [Typescript Fetch] Fix missing closing bracket in date handling #21549
- Followup fix for importFileExtension config for typescript-axios #21541
- NestJS server codegen (new generator) #21494
- Fix typescript-fetch missing imports for oneof field with discriminator #21477
- [typescript] Utility types now considered when generating schemas #21414