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

**`(fix):`** Improve MDX validation error formatting in `fern docs md check`.

## 4.50.2

**`(fix):`** Don't exclude streaming request body ref schemas during stream condition
processing, as they may be referenced by other operations and need to
remain in the generated output.

## 4.50.1

**`(fix):`** Fix OpenAPI importer dropping object properties with `type: "null"`
(valid in OpenAPI 3.1). Properties declared as `type: "null"` were
silently filtered out before conversion, causing fields like
`conversation_id` to disappear from generated SDK response models.
The importer now represents `type: "null"` as `nullable(unknown)`,
producing `unknown | null` in TypeScript and `Optional[Any]` in Python.

## 4.50.0

**`(feat):`** Auto-infer `x-fern-discriminator-context` for discriminated unions that
match the SSE event spec shape. When all variants of a discriminated union
have properties exclusively drawn from `{event, data, id, retry}` with
correct types, the discriminator context is now inferred as `protocol`
instead of defaulting to `data`. This applies to the legacy OpenAPI importer.

## 4.49.0

**`(feat):`** Add `body-sort` option to webhook signature payload format. When set to
`alphabetical`, POST body parameters are sorted by key before being
concatenated into the signing payload. This is required by providers like
Twilio. Supported in both Fern Definition (`body-sort: alphabetical` inside
`payload-format`) and OpenAPI specs (`body-sort: alphabetical` inside the
`payload-format` block of `x-fern-webhook-signature`).