v7.12.0 stable release (breaking changes with fallbacks) comes with 80+ enhancements, bug fixes and a refactored PHP Laravel server generator
This release comes with 3 breaking changes (with fallback):
- [csharp] Set generichost as default #20748
- [protobuf-schema] Replace zero value enum suffix from UNKNOWN to UNSPECIFIED #20473
- [java][spring]Using Optional.ofNullable() at the fluent setters to prevent NPE #20406
Below are the highlights of the changes. For a full list of changes, please refer to the "Pull Request" tab.
General
- Add openapi-normalizer rule to set tags to vendor extension #20713
- remove false error message "Required var not in properties" #20623
- [DefaultCodegen] simplified comparison for required flag #20602
- [Gradle plugin] Add Option to Skip Merging Spec Files #19396
asciidoc
- [BUG] [ASCIIDOC] Asciidoc generator sets not defined example values as string value "null" #20670
C#
- [csharp][generichost] fix syslib1045, use GeneratedRegex for .net7+ #20695
- [csharp] Fixed discriminator #20624
- [csharp] unity error message and code cleanup #20595
- [csharp] Replaced property from allOf #20578
- [csharp][generichost] Removed a using statement #20541
- [csharp][generichost] Fixes de/serialization #20540
- [csharp][java] Fix enum discriminator default value #19614
Dart
- Fix: Resolve Dart 3.5+ and json_serializable 6.9.0+ compatibility issues in generated dart-dio clients #20460
Erlang
- [Erlang] Fix crash on escaped type in erlang-server handler #20735
- [erlang] erlang-server generator fixes #20717
Elixir
Go
- [Go] Implement GetActualInstanceValue method #20663
- [Go] skip validator import if oneOf discriminator lookup is enabled #20497
- [BUG][Go-server] attempt to fix the controller-api mustache template for a nullable bodyParam #20478
Java
- SingleRequestParameter setter parameter construction #20679
- reuse Configuration.defaultApiClientin no-arg Api ctors and make ref volatile #20635
- [java][client] Add static modifier to inner class in Java when useSingleRequestParameter=true #20590
- [JAVA][JAXRS-SPEC] Add config option to disable generation of @JsonCreator constructor #20570
- Add option to generate a fully sealed model in the JavaSpring generator #20503
- Using Optional.ofNullable() at the fluent setters to prevent NPE #20406 (breaking changes with fallbacks)
- [java][spring] Add option optionalAcceptNullable to accept null values #20746
- [java][feign] Fix model combining properties and additional properties #19713
- [java][webclient] Fix model combining properties and additional properties #19711
- [java][resttemplate] Fix model combining properties and additional properties #19706
- [csharp][java] Fix enum discriminator default value #19614
Julia
- [julia] fix enum default vals, add api validations #20520
Kotlin
- [kotlin][client] Explode query param properly #20714
- [kotlin-spring] Adds 'suspend' modifier for reactive List endpoint with useFlowForArrayReturnType = false #20710
- [JavaSpring, kotlin-spring] attach sources when maven and interfaceOnly=true is used #20640
- Added HTTP method+path to JavaDocs in kotlin clients #20618
- [kotlin-client][jvm-spring-restclient] Extract data from PartConfig for multipart/form-data requests in ApiClient #20598
NodeJS
- fix(nodejs-express-server): remove unused axios dependency #20707
- docs(nodejs-express-server): fix default port number in README #20706
- fix(nodejs-express-server): update express-openapi-validator to v4 #20704
PHP
- [php][php-nextgen] enumUnknownDefaultCase true now return the correct value for unknown values #20594
- allow PHP generator to accept modelNameMapping 20533
- Rewrite the PHP Laravel generator #20526
- [php-*] Explicitly declare nullable parameters #20524
Protobuf schema
- [protobuf-schema] Replace zero value enum suffix from UNKNOWN to UNSPECIFIED (Breaking change (with fallback)) #20473
Python
- [Python] Fix mustache tag syntax in github worklow #20701
- [Python] Add ca_cert_data parameter #20697
- [python] Encode list query parameters for python pydantic v1 client #20614
Ruby
- [Ruby] Fix ruby client generator to generate setter methods with not null validation #20672
- Ruby fix typhoeus api client multiple call with file return type #20615
Rust
- [rust] Fixed compiler errors for decimal types #20708
- [Rust] Fix enum variant name generation #20689
- [RUST] chore: Clean up Rust reqwest and model templates #20674
- [rust] Added support for text/plain to reqwest clients #20643
- [Rust] Fixed Rust default isAnyType causing compiler issues #20631
- [Rust-Axum] Implement support for Basic and Bearer auth in Claims #20584
- [Rust-Axum][Breaking Change] Implement a customizable error handler #20463
Swift
- [swift][bug] Fix generation of cases with associated values #20568
TypeScript
- [typescript] middleware import file extension in api types #20745
- Updated BaseService and service arguments in the mustache files #20736
- [typescript] Prevent generating invalid enum code due to empty variable names #20699
- [typescript-angular] refactor service classes for reducing bundle sizes by ~20% #20681
- [typescript-axios] Conditionally set user-agent #20571
- [typescript] add call-time middleware support #20430