> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. ## 0.44.2 **`(fix):`** Fix discriminated union variants silently dropping inherited properties. When a variant's referenced object type got all of its properties from `extends`, the variant was inlined to an empty struct, so the payload deserialized successfully but every field was discarded. Such types are no longer inlined and keep their `#[serde(flatten)]` wrapper. Note: this changes the generated public API for affected unions. A variant that was inlined (e.g. `FooExtended { age }`, constructor `foo_extended(age: i64)`) now wraps the referenced type (`FooExtended { data: FooExtended }`, constructor `foo_extended(data: FooExtended)`), so consumers on a prior version with `extends`-based union variants may need to update call sites when regenerating. ## 0.44.1 **`(fix):`** Apply client-level custom headers to the OAuth token request. The client-credentials token exchange was built directly on the underlying HTTP client, so it was the only request that skipped `ClientConfig.custom_headers` — APIs whose gateway requires a header on the token endpoint rejected the exchange with a 401, and the `X-Fern-SDK-*` headers were missing from token requests. Request-level headers and auth headers are intentionally still not applied: the token is cached and shared across requests, and the token request is what produces the credential auth headers would carry. **`(fix):`** Encode the OAuth token request to match the token endpoint's declared content type. The client-credentials exchange previously always sent a JSON body, so APIs whose token endpoint expects `application/x-www-form-urlencoded` (the OAuth 2.0 default per RFC 6749 §4.4.2) rejected the exchange. The content type is now resolved from the referenced endpoint in the IR: form-encoded when the spec declares it, JSON otherwise — so existing JSON token endpoints are unaffected.