* add 'useJackson3' option
* add 'useSpringBoot4' option
* add support for RestClient in spring-http-interfaces
* add 'jacksonPackage' template variable set from useJackson3 option
See #22294
* [new] Add Terraform provider generator
Add a new experimental code generator that produces HashiCorp Terraform
providers from OpenAPI specifications using the Plugin Framework SDK.
The generator (terraform-provider) supports:
- CRUD operation detection from REST patterns and vendor extensions
- Resource, data source, and model generation per API tag
- HTTP client with API key, bearer token, and basic auth
- Type mapping from OpenAPI/Go types to Terraform schema types
- Import state support
- Configurable provider name, registry address, and version
Includes mustache templates for: provider, resources, data sources,
models, client, go.mod, GNUmakefile, README, and example configs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* [new] Add Terraform provider petstore sample and acceptance tests
Add sample generation config and generated Terraform provider for the
petstore OpenAPI spec, along with Go acceptance tests that exercise
the provider lifecycle (create, read, update, delete, import).
Generated output includes:
- Provider with auth configuration (API key, bearer, basic)
- Pet, User, and Store resources and data sources
- Client package with HTTP client and model structs
- Go acceptance tests using terraform-plugin-testing
- Example Terraform configurations for each resource/data source
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: docs
* terraform: add more sample tests and ci workflow
* ci: get ci passing
* ci: fixes
* chore: docs
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* add x-kotlin-implements
* implement tests
* update samples
* fix tests - forbidden api issue
* add samples
* add samples. use Pageable only for server-side
* add support for auto-detecting x-spring-paginated in Spring Boot operations
* fix maven dependencies import
* add unit tests
* add support for vendor extension
* remove files
* fix samples
* fix docs
* implement suggestions from CR. Fix declarative interface naming.
* move import around
* add x-operation-extra-annotation
* make sure the PageableAsQueryParam does not remove already present x-operation-extra-annotation content
* support also list format
* regenerate samples and docs
* regenerate samples and docs
* force tests rerun
* remove files
* add files
* trigger test rerun
Supports:
All OpenAPI 3.x data types: primitives, arrays, enums, nullable/optional fields, nested objects
All parameter types: path, query, header, cookie, and combinations
Schema composition: allOf (inheritance), oneOf (discriminated unions), anyOf (flexible unions)
Security schemes: API key and bearer token authentication
Discriminator-based polymorphic deserialization and error handling
Provides:
Error handling for invalid JSON, type mismatches, missing/unknown discriminator, and parameter validation
Build system integration (CMake) for easy compilation and linking with required dependencies
Clear build and run instructions for local development and testing
Enables comprehensive, real-world validation of generated C++ server code against OpenAPI specifications
* fix(protobuf-codegen): Fix protobuf import path with discriminator
This PR fixes a critical bug in the protobuf schema generator where models using discriminators with llOf composition were generating invalid import paths when child schemas contained references to other models.
* fix: Add missing element in OpenAPI discriminator test case
* feat(protobuf-generator): Improve protobuf generation
* Improve management of inheritance
* Improve management of discriminator
* Allow to separate inline enums in external files
* Add unit test
* fix: Improve logic when extracting enums to avoid collision in enum values
* fix: Manage case with Enum in lists
* fix: Fix issue on enum extraction
Fix issue linked to enum in array when there is inheritance or discriminator
* doc: Add documentation for new parameter
* chore: Update protobuf samples
---------
Co-authored-by: Anthony TODISCO <Anthony.TODISCO+amadeus@amadeus.com>
* fix: conditionally add jackson JsonIgnoreProperties for base class polymorphism
* fix: rename flag
* fix: rename flag
* fix: remove newline
* fix: regenerate example models
* fix: regenerate
* 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
* 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 c573b43401c77df5ff0f398737792fe0a21db07a.
* Reapply "fix mustache to keep generated code identical"
This reverts commit 2c3b065c5c61a9de4929106285489312fd438674.
* 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.
* 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
* 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
* 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
* 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
* 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
* [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
* 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>
* 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
* 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>
* 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