4.57.2
(fix): Fix path-based pagination to pass the next page path as path= instead of url=
in the generated HTTP client request call.
4.57.1
(fix): Only copy custom_pagination.py into generated SDKs when custom pagination endpoints
are present, and only copy pagination.py when standard pagination endpoints are present.
4.57.0
(feat): Add custom_transport: true config option for SDK developers to expose an http_client
override parameter on generated client constructors. This allows SDK developers to provide
custom httpx transports via custom code (e.g., factory methods like ValidationClient).
4.56.0
(feat): Add support for URI and path-based pagination.
4.55.5
(fix): Compute Docker Compose project name during generation to avoid invalid characters from runtime directory names (e.g. .seed).
(chore): Cache client constructor signature check at module level and use httpx instead of requests for WireMock admin calls in generated wire test conftest.
4.55.4
(fix): Fix Python 3.14 compatibility by replacing pydantic.v1.datetime_parse imports with
Pydantic V2 TypeAdapter-based parse_date/parse_datetime implementations. Remaining
pydantic.v1 imports are wrapped with warning suppression to avoid the
“Core Pydantic V1 functionality isn’t compatible with Python 3.14” warning.
4.55.3
(fix): Fix body property named json clashing with the json module import when generating
json.dumps(jsonable_encoder(...)) for multipart file upload requests. The json module
is now aliased as _json when a body property named json is detected.
4.55.2
(fix): Add websocket compatibility shim for websockets library v14. The generated SDK now
uses a core/websocket_compat.py module that abstracts the InvalidStatusCode vs
InvalidStatus exception difference, ensuring compatibility with both websockets
v12-13 and v14+.
4.55.1
(fix): Adds back intermediate raw_clients which were removed in 4.51.2.
4.55.0
(feat): Add support for server URL templating. Server variables defined in OpenAPI specs are
now exposed as optional constructor parameters (e.g., region, city) with runtime
URL template interpolation. When x-fern-default-url is present, the generated SDK
uses that as the environment default. Works for both single and multiple base URL
environments.
4.54.4
(fix): The use_provided_defaults config option no longer applies defaults to
inlined request body properties.
4.54.3
(fix): Fix mypy type checking compatibility with pydantic field aliases. When fields have aliases
(e.g., bucket_id with alias bucketId), the pydantic.Field(alias=…) is now placed inside
the Annotated type hint instead of as the default value. This makes mypy see the Python field
name in the constructor signature while Pydantic still uses the alias for JSON serialization.
4.54.2
(fix): Generate CI workflow Python versions and PyPI trove classifiers dynamically based on the
pyproject_python_version constraint.
4.54.1
(fix): Switch from poetry install to poetry lock after SDK generation. This performs dependency
resolution and saves the lockfile without installing packages, which avoids failures when
transitive dependencies require custom build tools.
4.54.0
(feat): Add status_code property to HttpResponse and AsyncHttpResponse classes.
This allows users to access the HTTP status code when using with_raw_response.
4.53.1
(fix): Fix literal and enum types being incorrectly JSON-serialized in multipart file upload requests.
4.51.3
(fix): Fix WebSocket methods and iterators to avoid parsing binary messages as JSON.