> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 1.64.2

**`(fix):`** Return a completed HTTP response instead of discarding it when the request
context is canceled after the response has been fully received but before
it is decoded. `Caller.Call` previously re-checked `ctx.Err()` at that point
and returned `context.Canceled` / `context.DeadlineExceeded` with a nil
response, which dropped valid responses that had already been buffered (for
example by a logging `http.RoundTripper` that ends its scope before
returning). Calls canceled before the request is sent, and calls whose
response body cannot be read to completion once the context ends, continue
to fail with the context's error, and a canceled context still never
triggers a retry.

**`(fix):`** Fix undiscriminated union deserialization so JSON objects are matched to the correct object
member. Previously, the first object member always won because object `UnmarshalJSON` accepts
unknown keys and doesn't enforce required keys, so values like `{"ends_with": [...]}` were
decoded as an earlier member and silently corrupted on re-serialization. Object members
(including aliases to objects) that don't allow extra properties are now only selected when
the JSON keys are a subset of the member's properties and include all of its required
properties, and permissive object members no longer shadow a later member that matches
exactly. If no member matches exactly, object members whose required keys are present are
tried next, and the previous behavior is kept as the final fallback.

**`(fix):`** Preserve explicit `null` on optional nullable (`optional<nullable<T>>`) object
properties across a JSON decode/re-encode round trip. Previously only required
nullable properties were tracked on decode, so a response field such as
`"holder_category": null` was dropped when the value was marshaled again.
Fields absent from the input remain absent, and plain `optional<T>` fields are
unaffected. The generated `<type>RequiredNullableFields` map is renamed to
`<type>NullableFields`, and generated SDKs now include an optional-nullable
round-trip test for each affected type.