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

## 4.23.0

**`(feat):`** Infer forward-compatible enums in OpenAPI specs. When an enum is expressed
as `oneOf: [enum, string]` or `anyOf: [enum, string]`, the parser now
lowers it to a single enum type with `forwardCompatible: true` instead of an
undiscriminated union. Fern Definition enums can also be marked with
`forward-compatible: true`. This behavior is controlled by the new
`infer-forward-compatible` parser flag (disabled by default).

## 4.22.0

**`(feat):`** Include the origin git commit hash in `.fern/metadata.json` when generating SDKs.
The new `originGitCommit` field is populated with the HEAD commit of the repo where
`fern generate` is run. If the working directory is not a git repo or git is unavailable,
the field is omitted.

## 4.21.4

**`(fix):`** Include required global headers in dynamic snippet examples. Also
fixes header value lookup in all generator snippet generators (Python,
TypeScript, Go, Java, C#, PHP, Ruby, Swift) to correctly resolve values
by wire name.

## 4.21.3

**`(fix):`** Surface descriptive error messages from Fiddle when remote generation
fails due to configuration issues (e.g. missing GitHub App installation).
Previously, unrecognized Fiddle errors were shown as a generic "Failed to
create job" message. Now the CLI extracts and displays the server-provided
error message when available. Also fixes existing error type matching
in `convertCreateJobError` to use the correct Fiddle `ErrorBody` field
names (`error`/`content`), so known errors like `InsufficientPermissions`
and `BranchDoesNotExist` now properly match their handlers instead of
falling through to the generic error.

## 4.21.2

**`(fix):`** Expand the docs validator allowlist to accept archive files
(`application/x-tar`, `application/gzip`, `application/zip`,
`application/x-bzip2`) and additional image formats (`image/bmp`,
`image/heif`). Previously, self-hosted users uploading `.tar` bundles
as docs assets were rejected with "The file type of application/x-tar
is not allowed".

## 4.21.1

**`(fix):`** Fix `fern check` rejecting `og:dynamic` and `og:background-image` keys in
`docs.yml` metadata. These fields were added to the MetadataConfig API types
but the serialization schema was not updated, causing validation to fail with
"Unexpected key" errors when using the dynamic OG image feature introduced in
v4.3.0.