> 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.49.0

**`(feat):`** Add automatic idempotency-key generation, driven by the centralized
`idempotencyKeyGeneration` config in the IR. When enabled, the generated SDK attaches a
UUIDv4 idempotency-key header (default `Idempotency-Key`) to requests whose HTTP method is
listed in the IR (default `POST`/`PUT`). A caller-supplied key in request options still takes
precedence.

## 1.48.0

**`(feat):`** Support server URL variables (region/edge routing). When an API's environments
declare URL templates with variables (e.g. `https://api.{region}.example.com`),
the generated client now exposes each variable as an optional functional option
(`WithRegion`, etc.). A variable whose name collides with a reserved client
option is prefixed with `ServerURL` (e.g. `environment` becomes
`WithServerURLEnvironment`). Setting any variable rebuilds the base URL(s) at
construction time by interpolating the templates, falling back to each
variable's default when unset.

## 1.47.4

**`(fix):`** Fix smart-casing snake\_case names dropping the word boundary after a number.
Names like `ConversationsV2Configuration` now produce the snake\_case
`conversations_v2_configuration` instead of `conversations_v2configuration`,
matching the camelCase and pascalCase variants.

## 1.47.3

**`(fix):`** Decompress gzip-encoded error responses before decoding them when retry attempts
are exhausted.