> This page is for SDK, version Legacy.
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. For task-scoped instructions for coding agents working in a Fern project, see https://buildwithfern.com/learn/home/fern-instructions.md.

## 1.40.1

**`(fix):`** Map request bodies (e.g. `map<string, string>`) can be passed as keyword arguments again, as they
could before 1.34.1. `create(id: "h", MY_SECRET: "x")` sends `{"MY_SECRET":"x"}` instead of an empty
body. Passing the body argument (`request:`, or the wrapped body key) still takes precedence, and path,
query and header arguments are never included in the body. Set `allowMapBodyAsKeywordArguments: false`
to only read map bodies from the body argument, as 1.34.1 through 1.39.x did.

## 1.40.0

**`(feat):`** Add the opt-in `omitUnsetModelFields` config option. When enabled, request bodies no longer include model
fields the caller did not set. Without it, a required field left out of a nested object (e.g. a partial
update payload) is sent as `null`, which APIs with sparse-update semantics reject. With the option on, unset
fields are omitted from `to_h`, and a field set explicitly to `nil` is still sent as `null` unless it is
optional and not nullable. Disabled by default, so existing request bodies are unchanged.