4.48.1

(fix): Fix WireMock stub generation for streaming endpoints. When an endpoint has both streaming and non-streaming variants (via x-fern-streaming with stream-condition), the generated WireMock stubs now include request body matching criteria to differentiate between them. SSE stubs match on stream: true in the request body and have higher priority, ensuring wire tests correctly route streaming requests to the SSE stub.


4.47.1

(chore): Update Dockerfile to use the latest generator-cli with improve reference.md generation.

4.47.0

(feat): Add X-Fern-Runtime (e.g. python/3.12.7) and X-Fern-Platform (e.g. darwin/25.2.0) telemetry headers to all requests for better runtime/platform observability.


4.46.14

(fix): Fix Python wire test generation/runtime robustness for missing examples, OMIT handling, client setup, and multipart file uploads.


4.46.13

(fix): Fixes Python SDK import generation to avoid invalid ._ module segments by deriving type paths from canonical declarations.

4.46.12

(fix): Support bytes as a response type for websocket channel methods.

4.46.11

(fix): Wire test generator now skips undefined example values and injects X-Test-Id in a constructor-compatible way via headers or httpx_client.


4.46.10

(fix): Fix wire test generation to use endpoint ID for lookup instead of path matching. This fixes a bug where wire tests would call the wrong client methods when multiple namespaces have endpoints with the same HTTP method and path pattern (e.g., POST /v2/Services).

4.46.9

(fix): Fix wire test generation to filter out nop values when generating method arguments. This prevents invalid Python syntax like param= without a value when an example contains an invalid enum value or undefined property.


4.46.8

(fix): Bump version to remove rc from version tag.

4.46.7-rc3

(fix): Fix wire test generation for streaming endpoints. Streaming methods return lazy iterators (Iterator[bytes] or AsyncIterator[bytes]) that don’t execute the HTTP request until iterated. Wire tests now wrap streaming endpoint calls in ‘for _ in …: pass’ loops to ensure the HTTP request is actually made. This applies to streaming, streamParameter, and fileDownload response types.

4.46.7-rc2

(fix): Fixed Python SDK generation to use native Pydantic field aliases and improved core parsing so wire-key and nested/union validation works correctly across Pydantic v1/v2.





4.48.0

(feat): Add opt-in pydantic_config.positional_single_property_constructors to allow Wrapper("value") for single-required-field models (excluding discriminator literals). Note: can break if the model later adds required fields; kwargs are more stable.

4.46.5

(chore): Update to support IR version 62.6.0 with new WebSocketMessage.methodName field, webhook response descriptions, and OpenAPI explode parameter support.

4.46.4-rc2

(chore): Add sdkVersion as a top-level field in the generated metadata.json file.

4.46.4-rc0

(fix): Fix wire test generation to use config.client.exported_class_name for the client class name instead of deriving it from the organization and workspace names. This ensures wire tests import and instantiate the correct client class when a custom exported class name is configured.