Changes Date.parse to Date.iso8601 to fix incorrect type coercion in OneOf contexts. Previously, arbitrary strings matching Date.parse's lenient pattern (e.g., "ABC1") were incorrectly coerced to dates (2025-06-01), when they should have remained as strings.
For example:
- "ABC1" was parsed as Date(2025-06-01) instead of remaining "ABC1"
- This occurred because Date.parse treats the first char as month ('A'=1)
and remaining digits as day
The fix ensures only ISO8601 formatted strings (e.g. "2025-06-02") are parsed as dates, improving type safety and preventing unexpected coercion of string values.
* fix: update axum generated multipart requests to own the Multipart or Body
Notes: &Multipart cannot access fields, as we need mutable access.
* chore: run the updated rust-axum sample
* chore: run the updated rust-axum sample (2)
Notes: Ran
./mvnw clean package || exit
./bin/generate-samples.sh
./bin/configs/*.yaml || exit
./bin/utils/export_docs_generators.sh || exit
* chore: fix inconsistent lifetimes
Notes: Multipart should be owned; normal request remains borrowed
* chore: rerun axum samples
* feat(angular): add util "provideApi" for standalone applications (Angular 17 and above)
* feat(angular): update README with new provideApi usage examples for Angular applications
* feat(angular): update README to reflect new provideApi import path and usage examples
* feat(angular): add support for README_beforeV17 and update provideApi return type
* feat(angular): add support for README_beforeV17 and update provideApi return type
* feat(angular): add support for README_beforeV17 and update provideApi return type
* fix: correct casing in DuplicateTest and FooDuplicateTest headers
* feat(angular): add provideApi function and update README with usage examples
* Convert pyproject.toml template to the format expected by Poetry >=2.0
(https://python-poetry.org/blog/announcing-poetry-2.0.0)
* Update samples
* Add option to fallback to Poetry 1.x style pyproject.toml
* Generate new docs and samples
* Place project.urls section a bit further down, so that it doesn't clash with other sections
* Update samples
* Adds ordered routes to go-server router
* Generate and fix test
* Newline
* Readd escaping
* Fixes go router unit test
* Updates tests, one more time
* correct sanitize_for_serialization in python generator, fixes#18106
The method did not consider the objects created for oneOf schemata. If one of the cases was a list, to_dict would return it instead of something that has an items() method.
* generate new samples
* fix: #20878 Provide " as member" where needed
- Generate new samples
- Add tests for all effected python versions
- Ran tests with success
Commands used to verify:
./bin/generate-samples.sh ./bin/configs/python*
mvn verify -Psamples
mvn integration-test -f modules/openapi-generator/pom.xml -Dtest=org.openapitools.codegen.python.PythonPydanticV1ClientCodegenTest -e
mvn integration-test -f modules/openapi-generator/pom.xml -Dtest=org.openapitools.codegen.python.PythonClientCodegenTest -e
* remove 3.8 tests
* use localhost
* update tests
* update test
---------
Co-authored-by: Robert Plummer <rplummer@sequel.ae>
recent commit 40894382fc9fe959f3beacd20cfd6421eaf840b0 already improved
that method: before that other commit it was juste impossible to query
a endpoint with a response type that was something else than
application/json or application/xml. With that commit it became possible
to query such endpoint provided that the client declare in its Accept
header that it can cope with */* (or provided that the client omitted
that header altogether).
But there were still cases badly handled. For instance if an endpoint
returns a response of type image/png and that it receives a query with
header "Accept: image/png", then it would reply with 406.
To avoid any other issue with type resolution, this commit revamps the
getOutputFormat function more thoroughly and does it by implementing
the specification available at
https://httpwg.org/specs/rfc9110.html#field.accept ), which means that
the format accepted by the client are ordered by the relative weights
specified it specified.
PR #21261 added support for endpoint with response of type text/plain
or even image/png.
This commit adds such endpoint so that:
- the way those are supported is clearer (as it is now directly visible
in the generated sample files)
- if a future commit impacts this part of the generation it will be easier
to assess that impact
* add asJsonObject method to OAIEnum class to fix enum handling in query parameters
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [php-symfony] Never return 406 when user accepts */*
When a query has header "Accept" set to "*/*" it means it accepts
everything. It is hence weird to return a 406.
This patch ensures it does not occur: when the query accepts everything
then we take any produced type.
This fixes#13334. This also partly makes the open PR #15560 obsolete
(or at least, it provides a workaround)
* [php-symfony] Don't crash at runtime on null convertFormat
$this->convertFormat may return "null". When it's the case we end up
calling
...->serialize($data, null);
but this crashes at runtime because that serialize method declares that
the 2nd parameter is of type "string" (so null is not accepted).
With this patch we avoid having an error 500. Instead we return something
that makes perfect sense when the OpenApi specification declares a content
of type "text/plain" and that the returned value is for instance a string,
an int, or a boolean.
* [php Symfony] fix return type for non json/xml api
This fixes the generated returned type of controller methods for
endpoint with a response declared like
content:
text/plain:
schema:
type: <boolean|string|integer|number>
or for
content:
image/png:
schema:
type: string
format: binary
Without this commit the generated method *had to* return a value that
matched "array|object|null", which does not work in this case.
This commit makes it possible to return the proper type.
* [rust] support model/maps as deep/explode params
* [rust] add tests for rust deep objects
* [rust] detect normal non deep objects
* [rust] distinguish model and object
* [rust] fix objects as params for hyper
* Chores : update $request->bool to $request->boolean
$request->bool is not a laravel function should be $request->boolean()
* Chores : update FakeController.php $request->boolean()
* [kotlin] Added path sanitization in javadoc comments
* added sample as regression test
* Added samples/client/others/kotlin-jvm-okhttp-path-comments to github workflow