14770 Commits

Author SHA1 Message Date
Mattias Sehlstedt
42af4f9529
Move all vendor extension definitions within AbstractCSharpCodegen to CodegenConstants. Then adjust other usages of those same vendor extension definitions to the created constants. (#22112) 2025-10-12 23:21:17 +08:00
Sarvesh Mungurwadi
81a3488556
fixed Bean Validation pattern (#19748) 2025-10-12 09:27:15 +08:00
Artem Shubovych
fb277f82d5
[java] [spring] Fix annotationLibrary option being ignored in spring generator (#22046)
* Fix annotationLibrary option being ignored in spring generator

* Generate sample code

* Sample generator weirdness

* Revert "Sample generator weirdness"
2025-10-11 00:15:04 +08:00
Amaury Graillat
6b1b5cc4c5
Update c curl generator to support float (#21103)
* [C-Curl] Client generator does not handle float properly (#21092)

- Change function signature to float*
- Change generator to convert float to string
- Similar change for double and long

* [C-Curl] Client generator does not handle float properly (#21092)

- Generate samples
- Fix generator for headers and path params

* Revert "[C-Curl] Client generator does not handle float properly (#21092)"

This reverts commit ba044a65d51d427fbccea8e8c0d14c50fab0579b.

* Revert "[C-Curl] Client generator does not handle float properly (#21092)"

This reverts commit f99c5b038276aed511f4e81cc8cec16acc6f085f.

* [C-Curl] Client generator does not handle float properly (#21092)

- Convert float, double and long to string
- Generate samples

* [C-Curl] Client generator does not handle float properly (#21092)

- Add missing yaml example file

* [C-Curl] Client generator does not handle float properly (#21092)

- Transfer float and double in scientific notation with resp. 7 and 16 decimals
- Adapt string size to number of required characters

* [C-Curl] Client generator does not handle float properly (#21092)

- Fix unused variable.
- Fix snprintf string

* * [C-Curl] Client generator does not handle float properly (#21092)

- Generating samples

* * [C-Curl] Client generator does not handle float properly (#21092)

- Always allocate the exact string size
2025-10-08 14:23:45 +08:00
Antoine Reilles
37cac71f87
[java-cxf-cdi] @Api description is deprecated (#22083)
@Api(description=...) is deprecated.
Remove its usage: it is not used by swagger-ui, and generated warnings
at build
2025-10-07 02:10:20 +08:00
Timo Schwarz
b8d805980a
Spring 7 WebClient Compatibility (#22030)
* Update Spring Boot dependency for WebClient

* Adapt WebClient ApiClient to change in HttpHeaders with Spring 7

---------

Co-authored-by: Timo Schwarz <timo.schwarz@bredex.de>
2025-10-06 21:07:57 +08:00
William Cheng
b49ec6e033
[fix][elixir] missing type mapping for AnyType (#22081)
* fix: unmapped anytype

* add tests for any type in elixir client

---------

Co-authored-by: Enrique Fernandez <enrique@bluelabs.eu>
2025-10-06 15:10:10 +08:00
Mattias Sehlstedt
4352a2fcd0
[Test] [Java] Add test example of how to handle x-parent without REF_AS_PARENT_IN_ALLOF normalization (#22058)
* Add test to illustrate example of how to handle x-parent without REF_AS_PARENT_IN_ALLOF normalization

* Minor change to retrigger build
2025-10-06 13:07:50 +08:00
Sebastien Dionne
2d2e1c41c4
Fix typos and linguistic errors in documentation (#22078) 2025-10-06 01:32:00 +08:00
jpfinne
d7b79a26c6
[Spring] add support for api versioning. Fix #22027 (#22028)
* Add spring api versioning support

* Do not add version if not requested

* Fix duplicate VendorExtensions

* Improve description

* Fix removal of RequestMapping version attribute if x-spring-api-version: '' is set at the operation level
2025-10-03 19:59:38 +08:00
William Cheng
1d7d399ec2
fix additional properties handling in 3.1 spec (#22056) 2025-10-03 11:06:39 +08:00
benkarrer-lab
602549cb36
php: render tag description in Api docs (api_doc.mustache) via operationTagDescription (#14395) (#22064)
Co-authored-by: benkarrer-lab <benkarrer-lab@users.noreply.github.com>
2025-10-03 09:57:32 +08:00
Jean-Marc Le Roux
7ab9364094
[Rust] Configurable default features from reqwest dependency (#22041)
* fix(rust): Remove default features from reqwest dependency

This change removes the default features (specifically native-tls) from the reqwest
dependency in the Rust client generator. This allows users to explicitly choose
their TLS backend without automatically including openssl-sys as a transitive dependency.

Users can now explicitly enable TLS backends using feature flags:
- native-tls
- rustls-tls
- default-tls

Fixes #21933

* feat(rust): Add reqwestDefaultFeatures option with backward-compatible default

This change adds a new generator option `reqwestDefaultFeatures` that allows
users to configure the default Cargo features for the reqwest dependency.

The option accepts:
- An array of strings in YAML config: reqwestDefaultFeatures: ["native-tls"]
- A comma-separated string via CLI: --additional-properties=reqwestDefaultFeatures=native-tls
- An empty value for no defaults: reqwestDefaultFeatures: []

Default value: ["native-tls"] (maintains backward compatibility)

This addresses the feedback in #21933 to make the change opt-in rather than
breaking existing users.

Users can now:
- Keep the current behavior (default)
- Opt-out: reqwestDefaultFeatures: []
- Use alternative TLS: reqwestDefaultFeatures: ["rustls-tls"]
- Combine features: reqwestDefaultFeatures: ["native-tls", "cookies"]

Fixes #21933
2025-10-02 01:47:08 +08:00
Ilia
28e7e7f2eb
[kotlin] Add AnyOf/oneOf to multiplatform (#22035) 2025-10-02 01:44:54 +08:00
Mattias Sehlstedt
e8a688a724
Define codegen vendor extensions in CodegenConstants (#22054)
* Add an enum to centralize common internal vendor extensions used for Codegen processing

* Extend the normalizer tests to illustrate that an AllOfs with several refs have all of them marked as parents

* Add x-internal to the Codegen vendor extensions

* Move the Codegen vendor extensions into CodegenConstants

* Add assertion to JavaClient CodegenTest
2025-10-02 01:44:11 +08:00
William Cheng
885ea07b17
Prepare 7.17.0 (#22040)
* Revert "v7.16.0 release"

This reverts commit 31299af0fcaafe6c3ab848320e230a00ce8ea9e5.

* prepare 7.17.0-SNAPSHOT

* update doc, samples
2025-09-28 17:25:13 +08:00
William Cheng
c0b72ee970 update readme with 7.16.0 2025-09-28 16:23:38 +08:00
William Cheng
ee76a05def
v7.16.0 release (#22039) 2025-09-28 16:01:01 +08:00
William Cheng
30096d63b7
Revert "fix(rust): Add anyOf support to Rust client generator (#21896)" (#22038)
This reverts commit ee40887d47f6d7a16318772f49c63b8eb0553488.
2025-09-28 12:23:50 +08:00
Yonatan Karp-Rudin
44a3be170f
fix(kotlin-spring): add missing constructor parentheses for hashmap models (#22029)
* fix(kotlin-spring): add missing constructor parentheses for hashmap models

This commit fixes a bug in the kotlin-spring generator where models
defined with additionalProperties would result in uncompilable code.
The generated data class was missing the constructor invocation '()'
when inheriting from a map type.

This has been corrected to only add parentheses when the parent is a map.

The existing samples have been regenerated to reflect this change.

* Trigger CI
2025-09-27 22:06:05 +08:00
Linh Tran Tuan
e38f6c0580
[Rust-Axum] Support AnyOf, AllOf (#21948)
* Support AnyOf, AllOf

* Update

* Fix

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update
2025-09-27 16:01:37 +08:00
Viacheslav Zavoruev
2afac1aa28
[typescript-axios]: withSeparateModelsAndApi handles importFileExtension (#22032)
Separate models are located in `modelPackage` folder with `index.ts` file. ESM requires an index file with the provided extension when `importFileExtension` is defined.
2025-09-27 09:55:26 +02:00
Alex Kondratev
bab5ca2452
[python] add async httpx support (#22021)
* [python] fix #19255 add async httpx support

* update docs

* 1. "async" parameter for templates
2. hand written tests for python-httpx
3. CI workflow updated

* fix mypy
2025-09-27 15:30:50 +08:00
William Cheng
c1931c10da
Add tests with optional body for go-server (#22034)
* add tests with optional body for go-server

* update workfllow
2025-09-27 14:28:28 +08:00
Ihar Hrachyshka
d8d9744154
go: Fix missing imports for optional body params. (#22014)
Previous mustache template was using #isBodyParam outside of #operation
context, so it was not effective.

Even if we'd add the proper context, we'd then risk generating duplicate
imports for multiple matching parameters.

For this reason, this patch implements detection of an optional body
parameter in code, making sure the corresponding import is added just
once.

Fixes #19237
2025-09-27 14:16:53 +08:00
KaizenCode
dc0d5c6839
replace deprecated 'typings' field with standard 'types' in package.json (#21371)
* replace deprecated 'typings' field with standard 'types' in package.json

* regenerate samples after replacing 'typings' with 'types' field

---------

Co-authored-by: winiga <winiga@rocketmail.com>
2025-09-25 14:23:43 +02:00
jpfinne
89edad5b8a
Add vendorExtensions.x-class-extra-annotation to oneOf interfaces (#22020) 2025-09-25 15:40:12 +08:00
William Cheng
258d971f42
kotlin client: add docstring to new function (#22025)
* kotlin client: add docstring

* fix
2025-09-25 15:09:47 +08:00
daberni
5e8dcc9f07
[kotlin] Fix defaultValue in query parameters (#22002) 2025-09-25 15:02:15 +08:00
William Cheng
67b24330c9
Add tests for jaxrs cxf swagger2 client (#22019)
* add test for jaxrs cxf swagger2 client

* revert
2025-09-24 17:15:08 +08:00
fwermelskirchen
f02acaf27e
[cxf] add support for Swagger2 (#22010)
* [cxf] add support for Swagger2

Closes #3668

* regen samples

* regen docs

* unconditionally include parameter imports

* Add swagger2 update samples

---------

Co-authored-by: Jens Kleine-Herzbruch <jensgr@gmx.net>
2025-09-24 15:18:37 +08:00
Tilman Holube
75804e4e31
Bump Jackson to 2.19.2 and databind-nullable to 0.2.7 (#22017) 2025-09-24 13:49:19 +08:00
Artem Shubovych
fe6da71327
[java] Fix annotationLibrary option being ignored (#21992)
* Only register the Swagger annotation imports for the corresponding annotationLibrary

* Fix the issue in a specific generator

* Add unit test
2025-09-23 16:31:01 +08:00
William Cheng
e5437e06a3
Update Ruby faraday to use ruby fake petstore test spec (#22008)
* update ruby faraday to use ruby fake petstore test spec

* clean up, regenerate samples

* update test
2025-09-21 23:33:40 +08:00
jpfinne
7e9b9615db
[Java] [Spring] Use deduction configOptions for oneOfInterfaces (#20919)
* fix(java): x-discriminator-value should not produce @JsonTypeName

* fix(java): Remove unused getDiscriminatorValue()

* build at Fednot

* build at Fednot

* build at Fednot: skip sonar

* scm for release at fednot

* build fednot not 7.5.0-FEDNOT-SNAPSHOT

* build fednot not 7.5.0-FEDNOT-SNAPSHOT

* test all vars

* rollback custom pom.xml

* commit master

* commit test

* Samples for deduction

* add files  for deduction

* small improvements

* Merge changes from martin-mfg
Merge master

* Merge changes from martin-mfg
Merge master

* Merge changes from martin-mfg
Add comment to force rebuild

* Merge master

* regenerate doc

* regenerate client

* regenerate client

---------

Co-authored-by: Jean-Paul Finne <jean-paul.finne@fednot.be>
Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>
2025-09-21 23:22:39 +08:00
William Cheng
3a63c2f7d2
Migrate Go petstore tests from circleci to github workflow (#21997)
* migrate go tests from circleci to github workflow

* update samples

* update samples

* update workflow

* update samples

* update samples

* update test

* update tests

* update tests

* fix

* fix

* update host table

* update tests

* update spec

* new spec
2025-09-19 17:10:31 +08:00
Mattias Sehlstedt
73c8728343
[Java] [Spring-client] Exclude discriminator from nullable annotation (#21981)
* Exclude the discriminator from getting a nullable-annotation

* Update samples
2025-09-19 14:50:58 +08:00
Kevin
ec0edf433a
Issue 21958 php-slim4 throws exception (#21962)
authenticatorConfig was being overwritten instead of having additional fields added.
Changed the reqex from requiring leading whitespace to having it optional.
2025-09-19 14:25:41 +08:00
ferenc-a
1c950018c8
Fix visibility for enum in C# generator (#21984) 2025-09-18 18:11:52 +08:00
Bruno Coelho
7a5d0d1a71
[kotlin][client] remove old deprecated apis (#21988) 2025-09-18 17:28:42 +08:00
Jason Frey
327599996d
[bash] Fix issue where paste command doesn't work on Mac (#21986) 2025-09-18 17:27:51 +08:00
William Cheng
fec88b3e88
Migrate tests from AppVeyor to GitHub workflow (#21982)
* migrate tests from appveyor to github workflow

* test with dotnet 7

* test on windows

* set dotnet version

* Revert "set dotnet version"

This reverts commit 87af6a63ad04e12ad3d099193c6ed2e3a17aec02.

* use localhost

* update

* update

* update tets

* update

* remove appveyor
2025-09-17 16:03:02 +08:00
William Cheng
45e4fa1633
Add workflow for PowerShell clients (#21979)
* add workflow for powershell client

* update

* fix container

* import, test

* combine

* use localhost

* update tests

* remove powershell tests from appveyor.yml
2025-09-16 15:24:22 +08:00
William Cheng
ab6c827098
Mark scala-lagom-server as deprecated (#21977)
* mark scala-lagom-server as deprecated

* update workflow
2025-09-16 13:59:00 +08:00
William Cheng
e68e3e88b3
More dart dio tests, update samples (#21975)
* more dart dio tests, update samples

* update

* update

* more tests

* update

* update
2025-09-16 11:46:52 +08:00
William Cheng
8b01ebb5c2
[dart-dio][timemachine] Bugfix: saving offset_date_serializer instead of local_date_serialize (#21974)
* Bugfix: saving offset_date_serializer instead of local_date_serializer.dart

* New config for dart-dio (timemachine)

* test samples in github workflow

* update workflow, samples

* rename

---------

Co-authored-by: Enric Pou <enricpou@gmail.com>
2025-09-16 10:40:07 +08:00
Simon
6e48cf4247
[BUG][JAVA] RestTemplate uses hardcoded User-Agent Java-SDK #21972 (#21973)
Co-authored-by: Simon Baranov <simon.baranov@zahlungswerk.de>
2025-09-16 10:01:18 +08:00
Jachym Metlicka
6278512122
[kotlin-spring][server] Feat: Allow implementation of arbitrary interface in DTOs (similar to x-implements from java-spring) (#21950)
* add basic implementation and tests

* improve test a bit

* modify kotlin-spring.md

* add x-kotlin-implements also to enum

* update samples & properly define implemented vendor extension

* use enum.getName() instead of hardcoded string as key in vendor extension map

* fix docs

* fix test openapi spec and test

* add samples for x-kotlin-implements

* add samples for x-kotlin-implements to proper output folder

* fix

* revert unwanted changes

* move to correct place

* fix mustache template

* add to samples-kotlin-server.yaml

* reuse 1 open api schema for everything. Add also case where interface extends interface.

* add warn logs when x-kotlin-implements-fields is used without x-kotlin-implements to improve usability

* remove unnecessary generated files

* remove unnecessary generated files

* remove "status" inner enum from Pet as it fails to properly import as Pet.Status in implementations. This is a separate bug - not caused by x-kotlin-implements
2025-09-16 02:13:08 +08:00
Csaba Kozák
5c04b754ab
[kotlin-client] update Kotlin and libraries versions (#21866) 2025-09-16 02:01:29 +08:00
William Cheng
b7749712b8
feat: Add Java Dubbo code generator for Apache Dubbo microservices (#21968)
* feat: add Apache Dubbo code generator with multi-registry support

- Add comprehensive Dubbo microservice code generator
- Support Zookeeper and Nacos registries with auto-dependency selection
- Implement version-aware dependency management (Dubbo 3.2 vs 3.3+)
- Generate service interfaces, implementations, and Spring Boot REST controllers
- Include complete Spring Boot application structure with configuration
- Add detailed documentation and usage examples
- Support async operations and generic response wrappers
- Provide flexible configuration options for packages, versions, and features

* feat: Add dubbo sample with CI validation

Adds a new sample generator configuration for dubbo.

The existing GitHub workflow for Java samples is updated to build and test this new sample automatically.

* fix: fix Dubbo protocol extension issue in test environment

- Set registry address to N/A to avoid ZooKeeper dependency
- Change protocol from 'triple' to 'tri' to resolve extension loading error

* various fix to java dubbo server generator

* update doc

* update readme

---------

Co-authored-by: redoom <gyklcy@iCloud.com>
2025-09-16 01:51:12 +08:00