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.