Commit Graph

1305 Commits

Author SHA1 Message Date
Marc Schlegel
32d4085105 Mill plugin (#22739)
* Revert "remove mill plugin (#22736)"

This reverts commit 084a0a46b4.

* Add workaround for scaladoc generation in Scala 3 & additional update after revert
2026-01-21 03:48:12 +08:00
William Cheng
9adfe986a3 Prepare v7.20.0 release (#22738)
* Revert "v7.19.0 release (#22732)"

This reverts commit ff400e9a31.

* prepare v7.20.0 release

* update samples

* update doc
2026-01-20 03:13:58 +08:00
William Cheng
084a0a46b4 remove mill plugin (#22736) 2026-01-20 01:23:24 +08:00
Daniel
502565b317 [java][jackson] fix: conditionally add jackson JsonIgnoreProperties for base class polymorphism fixes #12777 #22527 (#22528)
* fix: conditionally add jackson JsonIgnoreProperties for base class polymorphism

* fix: rename flag

* fix: rename flag

* fix: remove newline

* fix: regenerate example models

* fix: regenerate
2026-01-19 16:57:38 +08:00
Marc Schlegel
8e0e429231 Mill Module (#22652)
* Initial Mill support

* Updated Docs after changing git and pom settings to case classes

* Update Docs

* include Mill plugin in Docker build

* fix scaladoc

* fix cubic-dev-ai findings
2026-01-14 17:29:05 +08:00
Nicolas Rodriguez
a40dc56d38 [CRYSTAL] object_id method should be a reserved words (#22577)
* style(crystal): fix coding style

* fix(crystal): object_id is so central in Crystal that it should not be overridden by user code

See: https://crystal-lang.org/api/1.18.2/Reference.html#object_id%3AUInt64-instance-method

* style(crystal): fix coding style

* fix(crystal): fix partial_oneof_module by using a class instead of a module

Fix https://github.com/OpenAPITools/openapi-generator/issues/22563

* fix(crystal): remove non-working code

It's not working because it uses #send method which doesn't exist in Crystal

See: https://crystal-lang.org/reference/1.18/crystal_for_rubyists/metaprogramming_help.html#differences-between-ruby-and-crystal

* fix(crystal): update reserved words, separate reserved keywords from methods

* fix(crystal): update samples

* fix(crystal): set default values when options are not passed

* fix(crystal): follow up https://github.com/OpenAPITools/openapi-generator/pull/22545

* fix(crystal): remove travis.yml file

* style(crystal): fix coding style

* style(crystal): use kwargs when calling @api_client

* style(crystal): use kwargs when calling Crest::Request.new

* fix(crystal): remove useless return_type argument

* fix(crystal): map object type to JSON::Any type

* fix(crystal): reduce use of require

* fix(crystal): return early if value is nil

* fix(crystal): update doc

* fix(crystal): remove dead code

* fix(crystal): kemal is not used in specs

* fix(crystal): class name should be in PascalCase

Fix:
-  class EnumAttributeValidatorFor_type < EnumAttributeValidator
+  class EnumAttributeValidatorForType < EnumAttributeValidator

* fix(crystal): fix ameba warnings
2026-01-13 23:40:20 +08:00
Serge
08367def47 feat(typescript-angular): add angular 21 support (#22636) 2026-01-13 01:10:57 +08:00
devhl-labs
9779468cdc [csharp] Add .net10 support (#22562)
* added .net10

* delete samples

* delete samples

* build samples again

* build samples again again

* fix pr gate

* update pr gate names

* dont build solution with no project file

* move samples

* move samples
2025-12-22 16:09:33 +08:00
William Cheng
5a6fcd3bd5 [kotlin][client] Deprecate jvm-volley support (#22521)
* deprecate kotlin jvm volley support

* delete files
2025-12-09 15:27:21 +08:00
William Cheng
8ad6fff26f python-fastapi: avoid log message in constructor (#22522)
* python-fastapi: avoid log message in constructor

* update doc
2025-12-09 14:47:41 +08:00
William Cheng
da778c46b0 add option to set params_encoder (#22484) 2025-12-02 17:54:44 +08:00
William Cheng
578bdbe679 minor fix documentation for customization (#22440) 2025-11-26 18:00:50 +08:00
Jachym Metlicka
1b557790e6 [kotlin-spring][server] Feat: Return from controllers without ResponseEntity wrapper. (#22377)
* remove "async" and "responseWrapper" from template as these are not supported by kotlin-spring generator

* try to force pipelines rerun

* force pipelines rerun

* fix mustache to keep generated code identical

* Revert "fix mustache to keep generated code identical"

This reverts commit c573b43401.

* Reapply "fix mustache to keep generated code identical"

This reverts commit 2c3b065c5c.

* Add support for 'useResponseEntity' in kotlin-spring. Consolidate with the separate flag 'declarativeInterfaceWrapResponses' as these can now be controlled both by one flag. Default to true.

* fix status annotation and add compile-test samples

* satisfy samples-up-to-date check

* add unit tests covering both reactive and non-reactive

* fix template to avoid unnecessary empty line

* fix template to avoid unnecessary empty line

* put method params (if present) on separate lines to improve readability

* put method params (if present) on separate lines to improve readability; fix double spaces, spaces before comma, incorrect spaces

* fix test

* store PATHs as accesible strings in companion objects.

* fix missing import

* fix incorrect import

* fix fallback to nested placeholders.
2025-11-26 18:00:17 +08:00
dschodits-secunet
41024dc23b [JAVA](native-client) Add support for UnaryInterceptors (#22381)
* added UnaryInterceptor functionality

* set useUnaryInterceptor default to false

* added generated files

* updated generated files to new default value

* fixed asyncResponseInterceptor and indentations

* fixed newlines and generate comments on config

* updated comment in async response interceptor

* reverting docstring

* adjusting newlines
2025-11-25 13:54:29 +08:00
Devon
4a7e0c9bdc [nim] Nim Generator Fixes (#22385)
* Nim Generator Fixes

* remove test that is tested via yaml anyway

* Only include required parameters or non-empty optional parameters in URLs, support oneOf/anyOf via nim object variants, optional field support

* snapshot

* docs gen

* Improved handling of enums
2025-11-23 17:19:16 +08:00
Jachym Metlicka
c52cc1f275 [kotlin-spring][server] Feat: Make it possible to include "HttpServletRequest" or "ServerWebExchange" as a method parameter in controller interfaces and/or implementations (#22263)
* modify templates to enable possibility to add reactive or blocking request context

* add logic to enable additional property

* regenerate files

* regenerate documentation

* revert unrelated formatting changes

* revert commented out code

* add tests

* refactor test to DRY them a bit

* move tests around

* increase tests coverage

* fix for delegate

* fix for delegate - and refactor tests

* fix tests

* refactor tests

* add tests for delegate

* add kotlin project compile check test for include-http-request-context

* fix

* fix

* fix output folder naming. Add the sample to github action config file.

* add missing interfaces to fix compilation

* regenerate samples

* fix also api_test.mustache to enable testing

* add tests for generated tests
2025-11-19 00:29:07 +08:00
Levi Lutz
a52e902cb5 [RUST] Fix #22356 / Introduce useSerdePathToError option to improve JSON error messages (#22357)
* Add CLI option

* Add dep to generated Cargo.toml

* Add new `Error::SerdePathToError` error type

* Add `serde_path_to_error` invocation to API layer

* Add sample for serde-path-to-error

* Add arg & docstring to cliOptions as well

* Fix sample
2025-11-16 22:13:55 +08:00
Jachym Metlicka
c1c74c0ec8 [kotlin-spring][server] Feat: Add Spring Declarative HTTP Interface support for easy client instantiation (#22302)
* add required template files and logic in generator

* add possibility to choose between coroutines and reactor style reactive for spring declarative http client

* remove Flow as array-type input param for declarative http interface

* better name for switches

* revert change

* fix implementation and add tests

* revert unrelated formatting changes

* add compile check for generated code to  github action config file

* fix output folder for config files

* commit generated files

* commit generated docs files

* fix compile test output folder names

* fix sample generation

* fix compile to jdk 17+

* force test rerun

* remove misleading warning

* remove extraneous mustache files. Rebuild samples

* restoring incorrectly deleted output files
2025-11-16 21:54:19 +08:00
Raoul de Haard
b1f2a67bc3 [JAVA jaxrs-spec gen] add option for generating swagger V3 annotations (#22300)
* feat: add support for Swagger v3 annotations to jaxrs-spec

* test added unittest for jaxrs-spec with swagger3Annotations

* test added integrationtest for jaxrs-spec with swagger3Annotations

* test added integrationtest for jaxrs-spec with swaggerV2Annotations

* documentation update for new option useSwaggerV3Annotations in the jaxrs-spec.md

* test added integrationtest for jaxrs-spec with swaggerV3Annotations icm use JakartaEE

* update documentation by executing:  ./bin/utils/export_docs_generators.sh

* ran on wsl: ./bin/generate-samples.sh ./bin/configs/*.yaml
2025-11-10 14:50:10 +08:00
Enric Pou
ce338a4a23 Added UUID support in python docs (#22301) 2025-11-08 22:29:12 +08:00
Enric Pou
f37b8cce58 Add UUID examples and documentation (#22303) 2025-11-08 14:56:46 +08:00
William Cheng
f9d2b8b579 Prepare v7.18.0 release (#22250)
* Revert "v7.17.0 release (#22248)"

This reverts commit 0120486e62.

* prepare v7.18.0 release

* update samples

* update doc
2025-10-30 01:25:35 +08:00
William Cheng
351b601368 openapi-normalizer: Add REMOVE_PROPERTIES_FROM_TYPE_OTHER_THAN_OBJECT normalize option (#22236)
* fix bug 21680: Introduce REMOVE_PROPERTIES_FROM_TYPE_OTHER_THAN_OBJECT normalize option

* Advise to use REMOVE_PROPERTIES_FROM_TYPE_OTHER_THAN_OBJECT

* update doc

---------

Co-authored-by: Guillaume ALAMOME <guillaume.alamome@gmail.com>
2025-10-28 13:54:49 +08:00
William Cheng
63ddce0c1b default REFACTOR_ALLOF_WITH_PROPERTIES_ONLY to true (#22180) 2025-10-20 11:39:09 +08:00
Sven Allers
e7dae1a81e Custom error messages for size, length, min & max validations in Spring & Spring-Kotlin (#22090)
* Custom error messages for size, length, min & max validations in Spring & Spring-Kotlin

* Run scripts
2025-10-19 21:25:03 +08:00
jpfinne
88bba259e9 OpenApiNormalizer FILTER improvements. Multi filters + filter on path (#22128)
* Use Filter Parser and allow multiple filters

* OpenAPINormalizer fails for invalid FILTER syntax

* Fix typo

* Use constants for filter keys.
Improve exception handling and tests.

* Fix format missing Locale.ROOT

* Make Filter extensible

* Additional unit test for invalid filter
2025-10-18 22:39:44 +08:00
William Cheng
8c85e3cedc [typescript-axios] Add support for AWSv4 Signature (#22174)
* [typescript-axios] Add support for AWSv4 Signature

* update typescript-axios.md file

* update doc

---------

Co-authored-by: qasim <qasim@calo.app>
2025-10-18 16:52:24 +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
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
Beppe Catanese
ddb15d4b9d Delete docs/generators/postman.md (#22044) 2025-09-29 19:01:36 +08:00
William Cheng
c0b72ee970 update readme with 7.16.0 2025-09-28 16:23:38 +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
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
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
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
ab6c827098 Mark scala-lagom-server as deprecated (#21977)
* mark scala-lagom-server as deprecated

* update workflow
2025-09-16 13:59:00 +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
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
Christophe Moine
ee4cb9ac22 [jaxrs-spec][quarkus] Feat: Add an option to use "org.jboss.resteasy.reactive.RestResponse" (#21877)
* replace Response by RestResponse

* fix rest response for Async

* update documentation

* Add option "returnJBossResponse"

* Add tests + fixes

* Polish

* Add dependency "io.quarkus.resteasy.reactive:resteasy-reactive" when returnJBossResponse=true

* fix JavaJAXRSSpecServerCodegenTest

* generate samples & docs
2025-09-14 17:11:06 +08:00
Pascal Bachor
6825d9ccaa python: feature flag for lazy imports (#21885)
* python: feature flag for lazy imports

* python: update samples

* python: add python-lazyImports to test job

* python: reuse tests in lazyImports sample

* python: avoid using non-imported submodules

* add normalizer option

---------

Co-authored-by: Pascal Bachor <bachorp@users.noreply.github.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-09-10 17:22:41 +08:00
William Cheng
6e089f5f03 Support normalizing anyof/oneof enum constraints to a single enum (#21917)
* Support normalizing anyof/oneof enum constraints to a single enum

* Add SIMPLIFY_ONEOF_ANYOF_ENUM to the documentation

* Process referenced schemas with oneof/enum as well

* Implement referenced enum merging from oneof/anyof

* Implement retaining the enum description as x-enum-desriptions for oneof enum

* Update samples and docs with oneOf enum normalization

* update samples to fix python tests

* fix test file name

* fix incorrect filename

---------

Co-authored-by: Pieter Bos <pieter.bos@nedap.com>
2025-09-07 17:36:02 +08:00
William Cheng
1d739f1598 New generator for Scala3 + sttp4 + jsoniter-scala (#21908)
* started impl

* seems to work

* generated docs

* fix class name duplicates on case-insensitive filesystems

* wip

* added script to rebuild all projects

* dropped bash slop

* fixed directory structure

* ok, now it makes sense

* update sttp, serialize query params, fix enums serialization, fix not required files params

* fix compile errors after sttp upgrade, fix missing enum import in operations, fix file response. change serialization from Map to Seq to avoid deleting duplicate keys

* auth support

* fix enums entries, multipart support(partially), header, path and cookie serialization support

* support of option fields

* add samples, update workflow

* add new files

* fix

* remove tab

* remove tab

* update doc

* update header

* update readme

---------

Co-authored-by: Łukasz Biały <lukasz.marcin.bialy@gmail.com>
Co-authored-by: Kamil-Lontkowski <kamillont14@gmail.com>
2025-09-06 13:36:44 +08:00
Bruno Coelho
9148db26fc [Swift6][client]Make Swift 6 generator stable (#21846)
* Make Swift 6 generator stable

* Make Swift 6 generator stable
2025-08-31 10:08:17 +08:00
Yannick Pfaff
e1447bc3dc docs(spring): fix discriminator property defaults (#21767) 2025-08-27 16:15:22 +08:00
William Cheng
c134a8adbf Add skipCopyWith option for dart-dio (#21816)
* add skipCopyWith option for dart-dio

* update dart tests
2025-08-27 13:51:46 +08:00
Julien Debon
dc8fac21d9 [OCaml] Introduce support for oneOf/anyOf, fix default value for non-required maps (#21798)
* Add OCaml fake-petstore to test corner cases

* Prefix List functions with Stdlib as the fake petstore generates a List module

* Handle decimal and any types

* Indent to_json.mustache for easier maintenance

* Indent api-impl.mustache a bit more for readability before fix

* Fix: do not call `to_json` for free forms and byte arrays

Fixes https://github.com/OpenAPITools/openapi-generator/issues/21312

* Fix compilation for binary types

The implementation may not be correct, but at least it compiles. To be checked
if someday someone actually uses it/complains.

* Indent to_string.mustache

* Add support for exploded form-style object query params

Fixes https://github.com/OpenAPITools/openapi-generator/issues/21307

* Add ocaml-fake-petstore to CI

* Fix free-form body params

* Cohttp_lwt.Response is deprecated, use Cohttp.Response instead

* Safe Java code cleanup

* Split into model-record.mustache

* Add some support for oneOf/anyOf

* Re-generate all OCaml samples

* Fix: correctly mark non-required maps with default empty list

* Fix: Correctly encode/decode maps

* Refresh documentation

* Refresh after merging master
2025-08-25 17:27:27 +08:00
William Cheng
66c2a287cc update doc to reference 7.14.0 (#21795) 2025-08-22 19:25:37 +08:00
Erwin de Haan
77e3326a36 Make all C# flavors support x-zero-based-enum and add tables to documentation (#21463)
* Make all C# flavors support x-zero-based-enum and add table to documentation

* Add the documentation stuff properly
2025-08-12 11:13:16 +08:00
Kraust
5b8a11546c [C++] [Client] Added cpp-oatpp-client (#21711)
* Added cpp-oatpp-client.

* Updated pipelines.

* Should match formatting now.

* Moved includes around.

* Ran doc generator.
2025-08-07 10:01:55 +08:00