* fix: Apply REMOVE_X_INTERNAL normalizer to nested inline properties
When REMOVE_X_INTERNAL=true is set, the normalizer removes the x-internal
extension from top-level schemas in components/schemas but fails to remove
it from inline object properties within those schemas.
This causes issues when:
1. A schema is imported cross-file (e.g., admin.yaml imports from chat.yaml)
2. That schema has an inline object property with x-internal: true
3. The inline property has type: object with nested properties
Result: TypeScript generator creates a type reference but no interface
definition, causing compilation errors.
This fix applies the same x-internal removal logic to normalizeProperties()
that already exists in normalizeComponentsSchemas(), ensuring inline
properties are handled consistently.
Fixes behavior for inline schemas with x-internal in cross-file imports.
* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* test: Add test case for REMOVE_X_INTERNAL with inline properties
Adds test to verify that REMOVE_X_INTERNAL normalizer correctly removes
x-internal extension from inline object properties, not just top-level schemas.
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Revert "Apply suggestion from @Copilot"
This reverts commit c899e9ec96.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* [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 ba044a65d5.
* Revert "[C-Curl] Client generator does not handle float properly (#21092)"
This reverts commit f99c5b0382.
* [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
* 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>
* 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
* 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
* 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
Separate models are located in `modelPackage` folder with `index.ts` file. ESM requires an index file with the provided extension when `importFileExtension` is defined.
* [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
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
* 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>
* 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>
authenticatorConfig was being overwritten instead of having additional fields added.
Changed the reqex from requiring leading whitespace to having it optional.