> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. ## 5.88.0 **`(feat):`** Support declaring OAuth public-client login flows in `auth-schemes`: `type: authorization-code` (Authorization Code + PKCE, browser login) and `type: device-code` (RFC 8628). These lower to the new `OAuthConfiguration.authorizationCode` / `deviceCode` IR variants for public clients (no client secret), carrying the public client id, authorization/device/token URLs, scopes, an optional loopback `redirect-uri`, and PKCE. The `valid-oauth` rule enforces the per-flow required fields and that a set `redirect-uri` is a loopback address — either `127.0.0.1` (recommended) or `localhost`, with any path — that the generated CLI then binds and sends verbatim so it matches the redirect registered with the authorization server. Existing `client-credentials` OAuth configurations are unchanged. ## 5.87.0 **`(feat):`** Add the `send-optional-defaults` playground setting to `docs.yml` (settable globally or per-endpoint). When enabled, optional API Explorer parameters that declare a default (or `x-fern-default`) are pre-filled and sent from the playground. Defaults to off. ## 5.86.0 **`(feat):`** Add the `preserve-one-of-in-all-of` OpenAPI setting. When enabled, an `allOf` whose members include a `oneOf`/`anyOf` is distributed into a union — each variant is the union member merged with the remaining `allOf` members — instead of flattening every variant's properties into a single object. This makes the variants available to SDKs and renders a variant selector in the API reference. Defaults to false. ## 5.85.0 **`(feat):`** `fern generate --pack` now produces a source zip artifact for Go SDKs in `fern-dist/` (`-source.zip`). Go modules have no binary package format, so the zip contains the module source (excluding `fern-dist/` and `.git/`) and can be shared internally and referenced with a `replace` directive in `go.mod`. The zip is built in-process, so it works identically in host and docker pack modes without any toolchain.