> This page is for 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.

## 4.37.10

**`(fix):`** Guard concurrent `npm install -g fern-api` invocations with an async lock to prevent race conditions during protobuf toolchain setup

## 4.37.9

**`(fix):`** Fix AsyncAPI v3 parser to read WebSocket query parameters and headers
from `channel.bindings.ws.query` and `channel.bindings.ws.headers`, which
is the standard location per the AsyncAPI WebSocket bindings spec.
Previously the v3 parser only read from `channel.parameters`, which the
AsyncAPI spec reserves for path parameters. This caused WebSocket connect
options classes (e.g. `ConnectOptions`) to be missing from generated SDKs
when specs used the standard bindings location.

## 4.37.8

**`(fix):`** Map magic placeholder version to PEP 440-compatible format for Python
generators during local auto-versioning. Poetry validates versions during
generation and rejects semver pre-release tags with hyphens. Python
generators now receive `0.0.0.dev0` instead of `0.0.0-fern-placeholder`.

## 4.37.7

**`(fix):`** Fix `getLatestRelease` fetching all GitHub releases when falling back
from a semver prerelease tag. The fallback now uses a single
`listReleases` API call (up to 100 results) instead of paginating
through every release in the repository.

## 4.37.5

**`(fix):`** Always prefer the auto-downloaded fern fork of `protoc-gen-openapi` over
an arbitrary `protoc-gen-openapi` binary found on PATH. Users with the
original Google/gnostic `protoc-gen-openapi` installed would encounter
`no such flag -flatten_oneofs` errors because that version does not
support fern-specific plugin options. The CLI now downloads the fern fork
first and only falls back to PATH if the download fails. Set
`FERN_USE_LOCAL_PROTOC_GEN_OPENAPI=true` to force the PATH version
(e.g. for testing a custom build).

**`(chore):`** Add hidden `install-dependencies` CLI command that pre-downloads `buf`
and `protoc-gen-openapi` binaries into the Fern cache. CI workflows now
use this command instead of `bufbuild/buf-setup-action` and
`go install protoc-gen-openapi`, removing the Go toolchain dependency
from CI.

## 4.37.4

**`(fix):`** Sanitize preview IDs before sending to FDR API to ensure valid DNS subdomains.

## 4.37.3

**`(fix):`** Sanitize preview IDs passed via `--id` to produce valid DNS subdomain
labels.

## 4.37.2

**`(fix):`** Remove `cli-progress` from the published `fern-api` package's runtime
dependencies. The package is a pure JS library that is already bundled
into the CLI output by tsup, so it does not need to be installed
separately at runtime.