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.


4.46.3

(fix): Fix empty request body issue where endpoints with all-optional fields would send an empty body instead of {}. When an endpoint has a request body type but all fields are optional, the SDK now correctly sends {} as valid JSON rather than omitting the body entirely.


4.46.4-rc1

(fix): Fix URL path stripping when base URL contains path prefixes.

4.46.2

(fix): Fix handling of newlines in default values for strings when using config.pydantic_config.use_provided_defaults.

4.46.1

(fix): Fix OAuth token handling for optional expires_in field with default fallback.

4.46.0

(feat): FastAPI Python codegen now emits parameter markers via typing.Annotated[...] with standard Python defaults for better FastAPI/Pydantic compatibility.


4.45.10

(fix): Fix retry logic “off-by-two” error. The internal retries counter now starts at 0 instead of 2, and max_retries defaults to 2 when not specified. This ensures users get the expected number of retries (2 by default, or the configured max_retries value).


4.45.9

(fix): Fix empty query params stripping existing URL query strings. When params and additional_query_parameters are both empty, httpx now receives params=None instead of params=[], preserving any query parameters already present in the URL (e.g., pagination cursors like ?after=123).

4.45.8

(fix): Ensures the root client always exposes a headers parameter and forwards it to the underlying ClientWrapper.

4.45.7

(fix): Fix client wrapper instantiation to use the correct bearer token parameter name, preventing incorrect token= references when custom auth parameter names are configured.


4.45.6

(fix): Fix failing wire tests under pytest-xdist by using a single shared WireMock plugin.

4.45.5

(fix): Fix file upload conditional check using wire_value instead of snake_case parameter name, which caused mypy “name not defined” errors when the API field name differed from the Python parameter name (e.g., MyFile vs my_file).

4.45.4

(fix): Fix offset pagination to handle None items when calculating next page offset.


4.45.3

(fix): Add return types to reference.md method signatures for consistency with other SDK generators.

4.45.2

(fix): Fix Python wire test generation by schema-based path/body name deconfliction and aligning client class resolution with the SDK’s custom config rules.

4.45.1

(fix): Fix forward ref detection for complex circular type cycles.


4.45.0

(feat): Add coerce_numbers_to_str option to pydantic_config. When enabled, numeric types (int, float, Decimal) will be coerced to strings during validation. This is useful for APIs that return numeric values as strings.

4.44.2

(fix): Fix enum-typed headers to use .value instead of str() for consistent wire format across all Python versions. Previously, str(enum) returned the enum name (e.g., Operand.GREATER_THAN) on Python < 3.11, but the wire value (e.g., >) on Python >= 3.11 with StrEnum.

4.44.1

(fix): Remove oauth-token-override config flag. OAuth token override is now always enabled for OAuth client credentials flows, allowing users to authenticate with either client_id/client_secret OR a pre-generated bearer token directly via the token parameter without any configuration.


4.44.0

(feat): Add Python 3.11+ StrEnum compatibility. Generated enums now use StrEnum for Python >= 3.11 and the (str, Enum) mixin for older versions, fixing compatibility issues with Python 3.11’s stricter enum mixin handling.


4.43.0

(feat): Add OAuth token override support. When oauth-token-override: true is configured, users can authenticate with either OAuth client credentials or a pre-generated bearer token directly via the token parameter.