> 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. For task-scoped instructions for coding agents working in a Fern project, see https://buildwithfern.com/learn/home/fern-instructions.md.

## 5.190.0

**`(feat):`** Docs can now show SDK snippets from sdk-gen for some languages and from Fern's dynamic IR for the others in
the same publish. A language whose snippets were read from sdk-gen no longer gets a dynamic IR built, uploaded
or warned about, and the publish log names the source of each language. The warning for a `snippets:` entry
that matched nothing no longer claims sdk-config.yml SDKs have no snippets.

## 5.189.0

**`(feat):`** Add `fern init --grpc` and `fern init --proto <path>`, which set up a gRPC API with a C# SDK, the only
language with native gRPC output.

`--grpc` writes a sample unary `.proto` service. `--proto` takes your own `.proto` file or a directory of
them and copies them into the workspace, adding the `google/api` protos if they are imported but missing.
Both write a `generators.yml` that compiles the proto locally with `buf` and generates the SDK remotely.
`--proto` warns when the proto has streaming RPCs, uses `google.protobuf.Struct` or `FieldMask`, or
imports files that cannot be found. These make the C# SDK fail to build.

## 5.188.1

**`(fix):`** `fern check` now warns when a docs page uses Mintlify-only components (`<ResponseField>`,
`<Danger>`, `<Columns>`, `<Tree>`, `<RequestExample>`, `<ResponseExample>`, `<Visibility>`)
and suggests the Fern component to use instead.

## 5.188.0

**`(feat):`** SDK snippets from sdk-gen-api now show in the docs without a feature flag. `fern generate --docs` reads the
snippets of the SDKs that docs.yml `snippets:` names and adds them to the endpoints as code samples, so
`FERN_UPLOAD_SDK_GEN_SNIPPETS=true` is no longer needed and is ignored. A snippet failure never fails the docs
publish.

## 5.187.0

**`(feat):`** `fern generate` now records the sdk-gen-api build and target IDs in its usage telemetry once
the build is accepted, so a server-side build can be traced back to the organization and CLI
run that requested it. Generation is unaffected if telemetry fails.