11# Breaking Change from upgrading OpenAPI Generator to v7.24.0
22
3- The synchronous client now uses the modern Python generator instead of
4- `python-legacy`. Existing endpoint names, model names, and wire aliases
5- are preserved, but applications may need the following updates:
3+ Both clients now use the modern Python generator instead of
4+ `python-legacy`. The asynchronous client uses the generator's `asyncio`
5+ library and `aiohttp` transport. Existing endpoint names, model names,
6+ and wire aliases are preserved, but applications may need the following
7+ updates:
68
79- Synchronous runtime dependencies now require `urllib3>=2.6.3,<3`,
810 `pydantic>=2.11`, `lazy-imports>=1,<2`,
9- `typing-extensions>=4.7.1`, and `python-dateutil>=2.8.2`. Python 3.10
10- remains the minimum supported version. Async generation is unchanged.
11+ `typing-extensions>=4.7.1`, and `python-dateutil>=2.8.2`.
12+ - Asynchronous runtime dependencies now require
13+ `aiohttp>=3.13.5,<4.0.0`, `aiohttp-retry>=2.8.3`, `pydantic>=2.11`,
14+ `lazy-imports>=1,<2`, `typing-extensions>=4.7.1`, and
15+ `python-dateutil>=2.8.2`. `certifi` and `six` are no longer direct
16+ asynchronous dependencies. Python 3.10 remains the minimum supported
17+ version for both clients.
1118- Models and API-call arguments now use Pydantic validation. Invalid,
1219 unknown, or previously coerced values can raise
1320 `pydantic.ValidationError` before a request is sent; models are
@@ -22,6 +29,14 @@ are preserved, but applications may need the following updates:
2229 the `RESTClientObject` HTTP-verb helpers must migrate to the modern
2330 request/response interface. `ApiException.body` is now decoded text
2431 instead of bytes.
32+ - Low-level asynchronous transport interfaces also changed. Direct
33+ callers of `ApiClient.call_api`, `ApiClient.param_serialize`,
34+ `ApiClient.response_deserialize`, or `RESTClientObject.request` must
35+ migrate to the modern `aiohttp` request/response interface. HTTP
36+ sessions are created lazily; close an owned client with
37+ `await client.close()` or an async context manager. Interactive
38+ websocket streams use the generated `_without_preload_content`
39+ operations.
2540- `CoreV1Api.delete_namespace` now returns a decoded dictionary rather
2641 than `V1Status`, since a successful deletion can return either a
2742 terminating Namespace or a Status.
0 commit comments