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

**`(feat):`** Add `infer-discriminated-union-base-properties` OpenAPI parser setting.
When enabled, the parser intersects the resolved (allOf-flattened) property
maps of every variant of a discriminated `oneOf` and lifts properties that
appear in all variants with structurally-equal schemas into the union's
common properties. SDKs (e.g. C#, Java, Go) that already support union base
properties can then expose those shared fields directly on the union type
without forcing callers to cast to a concrete variant. Defaults to false.

## 4.106.3

**`(fix):`** Send `gitattributesEntries` to Fiddle on `fern replay init` so the
generated PR marks `.fern/replay.lock` as `linguist-generated=true`.
Previously the entries were written into a temp clone that was discarded
and never reached the server. Requires a matching Fiddle server change
to consume the new field.

## 4.106.2

**`(fix):`** Translation no longer fails for an entire locale when a single MDX file has a parse error.
Invalid pages are skipped with a warning that includes the file path, and the base page is used as a fallback.

## 4.106.1

**`(fix):`** Fix OpenAPI importer generating duplicate type names when an operation's
request body \$refs a top-level components.schemas.X schema whose name
collides with the auto-generated request wrapper name. The wrapper is now
disambiguated by using "Body" instead of "Request" in the generated name.

## 4.106.0

**`(feat):`** Add support for translating navigation labels (tabs, products, versions, sections, pages, announcements)
via YAML overlay files in `translations/<lang>/fern/`. The overlay files use the same format as
`write-translation` output and are deep-merged over the source navigation configuration.

## 4.105.0

**`(fix):`** Fix branch creation during signed commit push in generator-cli. GitHub's
updateRef API returns 422 (not 404) when the target branch does not exist,
so the createRef fallback was unreachable.

**`(feat):`** `fern docs dev` now exits with a hard error on Windows when long path support
is not enabled, instead of printing a warning.

## 4.104.0

**`(chore):`** Improved translation logging by moving verbose page array output to debug level and formatting as a concise count instead of raw JSON array.

**`(feat):`** Support simplified string syntax for `translations` field in docs.yml.
You can now use `translations: [en, ja, fr]` instead of requiring
`translations: [{lang: en}, {lang: ja}, {lang: fr}]`. The verbose
object syntax remains supported for specifying `default: true`.

## 4.103.1

**`(fix):`** Fix translation directory check to treat the first locale as the default when no explicit `default: true` is set, matching the behavior of the rest of the CLI.

## 4.103.0

**`(feat):`** Support BCP 47 locale tags (e.g. `ja-JP`, `pt-BR`, `zh-Hans-CN`) in the
`translations` and `languages` fields of `docs.yml`. Previously only
two-letter language codes were accepted.

## 4.102.0

**`(feat):`** Add validation to `fern check` / `fern docs check` that verifies all configured
translation locales have a corresponding directory under `fern/translations/`.
If a directory is missing, a clear error message is printed showing the expected
directory structure.

## 4.101.0

**`(feat):`** Add `websocket-oneof-display` setting to `docs.yml`. When set to `grouped`,
WebSocket messages with oneOf bodies are rendered as a single parent entry
with nested variants instead of flattened separate entries (default: `flat`).

## 4.100.3

**`(fix):`** Fix `fern generate --docs --preview` to register translations for preview URLs.
Previously, translation registration was skipped entirely in preview mode,
causing translated docs to not appear in preview deployments.