v7.22.0 stable release comes with 150+ enhancements and bug fixes.
Below are the highlights of the changes. For a full list of changes, please refer to the "Pull Request" tab.
General
- refactor: centralize common schema checks in ModelUtils #23608
- [CORE] : BUGFIX - prevent Stream closed on concurrent JAR access in TemplateManager #23596
- Improve OneOf handling with new normalizer REPLACE_ONE_OF_BY_DISCRIMINATOR_MAPPING #23543
- ci: upload openapi-generator-cli.jar as GitHub Release asset #23524
- fix: preserve parent description when simplifying nullable anyOf/oneOf #23361
- [GRADLE-PLUGIN] - Modernize plugin to use Lazy Configuration API #23042
C#
- [csharp][generichost] Fix TokenBase race condition #23356
- [csharp][generichost] Fix possible concatentation bug #23355
- [csharp][generichost] Fix invalid implicit cast #23344
- [csharp][generichost] Treat warnings as errors #23343
- [csharp][generichost] Fix dateTimeOffset bug #23342
- Marking a class abstract should not mark the methods abstract as well #23291
- [csharp][generichost] Multiple oauth tokens #23264
- [csharp] Support null types #23260
Crystal
- [crystal] Fix empty auth_settings Hash literal #23625
Dart
- [dart-dio] Fix json_serializable serialize template to support hasFormParams #23579
- Fix wrong import statements in dart-dio when using import-mappings #23571
- fix: Change Dart Serializer for MapBuilder to be nullable #23460
- feat(dart-dio): add methods to remove auth tokens in api client #23386
Go
- feat(go): add enumUnknownDefaultCase config option #23417
Java
- Correct imports for RxJava2 and RxJava3. Add support for Vert.x 5. #23563
- add support for sealed response interfaces for spring-declarative-http-interface #23549
- [Java][jersey3] Add error entity deserialization to ApiException #23542
- [Java] [apache-httpclient] Add support for Jackson3 for apache httpclient generator #23446
- [Java][WebClient][RestClient] Standardize useAbstractionForFiles behavior to use Resource interface #23382
- feat(spring): enable openApiNullable with useJackson3 #23331
- [java] [Spring] useJspecify for java clients and spring generator #23256
Kotlin
- [KOTLIN-SPRING;JAVA-SPRING] chore: upgrade spring boot 3 to 3.3.13 version #23591
- [KOTLIN-SPRING] Add oneOf sealed interface support with discriminator #23574
- fix [Kotlin]: handle nullable response.body in jvm-okhttp ApiClient #23515
- [kotlin-server] Fix class names for useTags #23441
- fix(kotlin-spring): use Jackson 3 annotation package in model imports #23406
PHP
- [PHP] Support map/object format for x-enum-varnames and x-enum-descriptions #23540
- fix(php-symfony): enum $ref query params — short types and imports (#23521) #23525
- [php-nextgen] Fix validity checks for nullable properties that are required #23419
- [php-nextgen] Remove invalid @implements ArrayAccess tag in models with parents #23418
- [Php] Fix form data field names to use spec-defined baseName #23347
- [php-nextgen]: Fix imports for models with parent schema #23317
- [php-nextgen]: Fix ArrayAccess parameter types #23315
PowerShell
- [POWERSHELL] fix: single-quote DTO property names to prevent $-variable interpolation #23624
- [PowerShell] Correct comment syntax in array query parameters #23491
Python
- [PYTHON][bugfix] Fix python model dict array generation #23538
- [PYTHON][bugfix] Fix missing post-params when content type is json #23526
- [python] Add buildSystem option to support hatchling #23483
- fix(python): Fix sanitize_for_serialization code generation for python client #23415
- Drop python 3.9 and support python 3.14 in python generator #22926
Rust
- fix(rust): use serde_repr for integer property enums #23580
- [rust-axum] Fix uint32/uint64 type mapping #23547
- feat(rust-server): refactor server module templates to avoid a monolithic run function. #23432
- Feat: (Rust) Added chrono (date/date-time) support for Rust Generator #23451
Scala
- [Fix][scala-sttp][circe] Add Base64OrArrayByteDecoder for format:byte and format:binary JSON properties #23619
- [Fix][scala-sttp][circe] Add NaN-tolerant Decoder[Double] for non-finite values #23611
- [feat][scala-sttp] Add oneOf and allOf discriminator support with sealed traits for circe generator #23510
- Mark scala-finch generator as deprecated #23484
- [Fix][scala-sttp][circe] Circe codecs do not preserve original JSON field names for non-camelCase properties #23465
Swift
- [swift6] fix map nullable values #23629
TypeScript
- Update axios to 1.15.2 #23637
- fix(typescript-angular): handle Set in query parameter serialization #23442
- fix(typescript-fetch): prevent HTML-escaping of pattern in validationAttributes #23420
- [typescript-*]: Improve literal regexp for JSON MIME-type #23319
- fix(typescript-fetch): remove barrel imports #22706