> 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`).