| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
httpx2 is largely compatible with httpx and should only be a breaking change for users who customize the internal Client.
Thanks to @s-sajid-ali and @johnthagen for making this one happen in PR #1461 and discussion #1455!
Since 0.29.0, generated endpoints sent every multipart/form-data body with the fixed boundary +++, so an uploaded file containing \r\n--+++ was cut short at that point (#1509). These bodies no longer set Content-Type, so httpx2 sets it with a random boundary for each request, as single-body endpoints did before 0.29.0. Endpoints with several body types still get a boundary (#947).
Prior to this release, malicious OpenAPI documents could cause openapi-python-client to generate arbitrary code, which
would then be executed by consumers of the generated client.
If you generate code from OpenAPI documents you don't control, you should upgrade to this release as soon as possible
and validate any previously-generated code.
See the GitHub advisory for more details.
When two property or parameter names conflicted after conversion to snake_case (e.g. foo-bar and fooBar), the conflict-resolution path preserved delimiters like -, ., and spaces in the generated Python identifiers, producing invalid code which failed generation. Conflicting names now keep their original casing but have any characters which are invalid in Python identifiers stripped (e.g. foobar and fooBar).
Errors and warnings which include a snippet of your OpenAPI document now render that snippet as JSON, making them much easier to read.
ALL custom templates are expected to break with this version as a result of the security fix.
Out of an abundance of caution, most Unicode control characters are now stripped from string literals.
If your API uses control characters as part of const values, enums, or JSON body property names you may have issues
with this new version.
Most APIs are not expected to be affected by this change.
You can now customize the variable names of the generated string enumerations using the x-enum-varnames openapi extension. Previously, this was only possible for integer enumerations.
#1360 by @EricAtORS
This fixes:
If a body is not required (the default), it will now:
Thanks @orelmaliach for the report! Fixes #1354
#1352 by @johnthagen
uv has been in the 0.9.x release cycle for a while, so update templates to use the corresponding uv_build range.
Both openapi-python-client itself and any generated clients no longer support Python 3.9.
This simplifies using forward references with the newer union syntax.
All generated types now use the A | B syntax instead of Union[A, B] or Optional[A].
This should enable openapi-python-client to keep auto-fixing lints (like removing unused imports) but not fail to
generate when unfixable lints are violated.
Since it's now unlikely for breaking changes to affect our usage (and by popular request), the upper bound of ruff
has been lifted. Newer versions of openapi-python-client should no longer be required to support newer versions of ruff.
| Back | FazBrowse Home | New Git URL |