> This page is for Fern CLI.

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

**`(feat):`** Add support for playground-specific auth documentation. Set `x-fern-playground-description` on an
OpenAPI security scheme (or `playground-docs` on a Fern definition auth scheme) to render text below
that scheme's input in the API playground, leaving the API reference's authorization description
(`description`/`docs`) untouched. Applies to bearer, basic, header, and OAuth client-credentials
schemes. Supports a markdown subset: `[label](url)` links (absolute or relative), bare URLs,
`inline code`, and blank-line-separated paragraphs.

**`(feat):`** Write `fern sdk migrate` output as sparse YAML and default to `sdk-config.yml` beside the selected `generators.yml` when `--output` is omitted, without modifying the existing Fern project files. Source-derived environments and authentication remain in the referenced API specifications instead of being duplicated in SDK Config, empty global configuration blocks are omitted, and explicit Fern overrides are preserved.

## 5.116.0

**`(feat):`** Add `github.workflows: false` to `generators.yml` (defaults to `true`). When disabled, generated
`.github/workflows/*` files are not committed to the SDK repository: existing workflow files are
left untouched and newly generated ones are skipped. Useful when the GitHub App used to push
does not have the `workflows` permission.

## 5.115.0

**`(feat):`** `fern generate --local` now supports `FERN_CA_BUNDLE`: set it to a PEM CA bundle on the host and the file is
mounted read-only into the generator container with `NODE_EXTRA_CA_CERTS`, `SSL_CERT_FILE` and `GIT_SSL_CAINFO`
pointing at it. This lets network calls made *inside* the generator container succeed behind a corporate
TLS-interception proxy: `pnpm install` (TypeScript), `go mod tidy` (Go), and `dotnet format`'s implicit NuGet
restore (C#).

`SSL_CERT_FILE`/`GIT_SSL_CAINFO` replace rather than extend the trust store, so the file must be a complete
bundle — the public roots plus your corporate CA. On Linux the system maintains one at
`/etc/ssl/certs/ca-certificates.crt`; elsewhere you can build one from the roots Node already ships:

node -e 'console.log(require("tls").rootCertificates.join("\n"))' > \~/certs/fern-ca-bundle.crt
cat corp-root.pem >> \~/certs/fern-ca-bundle.crt

The path is a bind-mount source resolved by the container runtime rather than by the CLI, so it has to be
visible to that runtime. Before generating, the CLI now starts a short-lived probe container to confirm the
bundle is really visible inside it, and fails with guidance for your platform when it is not — this catches
Colima, podman machine and Docker-in-Docker, where an unresolvable bind source is silently replaced with an
empty directory instead of raising an error.

The JVM ignores these variables, so the CLI warns for Java generators, whose Gradle steps need
`FERN_JAVA_SKIP_FORMATTING=true` on such networks.

**`(fix):`** Environment variables passed to local generator containers are no longer wrapped in literal quote characters
(`-e KEY="value"`), which previously leaked the quotes into the value seen by the generator.