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.