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/ (<output-dir>-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.