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

## 4.14.4

**`(fix):`** Make the smart-casing digit/word boundary behavior opt-in via the new
`smart-casing-digit-word-boundary` option in `generators.yml`. By default, snake\_case
names keep a digit run fused to the following word (`conversations_v2configuration`),
restoring pre-4.13.4 output. When enabled, the word boundary after the digit run is
preserved (`conversations_v2_configuration`).

## 4.14.3

**`(fix):`** Endpoints without a request wrapper (no request object, or a request that is
just a body) now send service- and endpoint-level headers whose types are
literals (e.g. `Accept-Encoding: literal<"gzip">`). Previously these headers
were silently dropped because there was no request object to carry them.

## 4.14.2

**`(fix):`** Fix a `NullPointerException` when constructing an OAuth-only client under multi-scheme
(`any`) auth combining OAuth client-credentials with an API-key header. Building via
`withCredentials(...)` (no `apiKey(...)`) previously baked a `null` API-key header into
`ClientOptions`, which crashed okhttp `Headers.of` on the first HTTP call (the token
fetch). The generated `setAuthentication` now guards the API-key header add on a non-null
value, and `ClientOptions.Builder.addHeader(String, String)` defensively skips null values.
Supplying both credentials and an API key still sends both the `Authorization: Bearer`
and the API-key header, and an API-key-only client still validates the key at build time.

## 4.14.1

**`(fix):`** OAuth client credentials token requests now send `grant_type: "client_credentials"`
when the token endpoint declares a non-literal `grant_type` request property. The
property is synthesized in the token request and is no longer surfaced as a
builder option.