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.