4.68.2

(fix): Fix an issue where api:<apiName>:METHOD/path links worked on published docs sites but did not resolve in fern docs dev.


4.68.1

(fix): Fix CLI blocking when PostHog is unreachable by adding a 3-second timeout and error handling to analytics flush calls.

4.68.0

(feat): Add support for x-fern-display-name on AsyncAPI operations. This allows setting friendly display names on AsyncAPI v2 publish/subscribe operations and v3 operations, which is useful when operation keys need to be normalized (e.g. for versioned endpoints) but you still want readable names in docs.


4.67.1

(fix): Fall back to git tags for auto-versioning when the magic version is not embedded in any generated source file. This fixes auto-versioning for SDKs like Swift that use git tags for versioning (via SPM) rather than a version field in source code.

4.67.0

(feat): Add agents.llms-txt and agents.llms-full-txt to docs.yml so customers can upload custom llms.txt and llms-full.txt files that override the auto-generated versions on their docs sites.

4.66.1

(fix): Fix GraphQL converter to properly handle interface types. Interfaces with implementing types (e.g., CatalogProductOption with CheckboxOption, MultipleChoiceOption, etc.) are now converted to undiscriminatedUnion shapes so that all possible concrete types are discoverable in generated docs. Interfaces with no implementations fall back to plain object types.

4.66.0

(chore): Internal infrastructure for GitHub Actions-based SDK generation automation.

4.65.3

(fix): Fix broken-link checker incorrectly flagging absolute links in versioned docs pages as broken.

4.65.2

(fix): Improve error messages for fern docs preview list command. The default error now suggests checking authentication instead of network connectivity, and the full error response is logged at debug level for easier diagnosis.


4.65.1

(fix): Fixed a performance issue in fern check where valid-markdown-links repeatedly reprocessed duplicate API descriptions and pathnames in API sections, significantly improving runtime on large docs sites.

4.64.1

(chore): Tag Sentry errors with fern_run_id and github_run_id for cross-run correlation. The CLI now generates a FERN_RUN_ID at startup if one is not already set in the environment (e.g. by the fern-api/actions/setup-cli GitHub Action), threading a single correlation ID through all CLI invocations in a workflow run.


4.65.0

(feat): Add --output flag to fern sdk preview that accepts filesystem paths and/or registry URLs. Omit to publish to the default preview registry and write to a temp directory. Use --output <path> for disk-only output, or --output <path> --output <url> to write to disk and publish to a custom registry.

4.64.0

(feat): Support default on discriminant properties in OpenAPI discriminated unions. When a variant’s discriminant property has a default value matching its const value, the default variant is threaded through the IR so generators can fall back to it when the discriminant field is omitted. The x-fern-default extension takes priority over default if both are set.

4.63.5

(fix): Fix union variant display names showing “object” instead of proper schema names in documentation.

4.63.4

(fix): Add no-conflicting-parameter-names OSS validation rule to fern check. Detects when header parameters and query/path parameters on the same endpoint normalize to the same camelCase name, which causes broken generated SDK code (Python SyntaxError from duplicate keyword arguments, TypeScript duplicate interface properties). The rule reports an error at validation time so the collision is caught before code generation.

4.63.3

(fix): Fix coerce-enums-to-literals: false not being respected for boolean single-value enums (type: boolean, enum: [true]). Previously, boolean enums were always coerced to literals regardless of the setting. Now getSingleBooleanEnumValue checks coerceEnumsToLiterals consistently with the string enum path.

4.63.2

(fix): Add log rotation for fern docs dev debug logs in ~/.fern/logs/. Old log files are automatically deleted when the directory exceeds 100 MB, keeping the most recent logs.

4.63.1

(fix): Fix Go dynamic snippets not being generated during docs publish. The Go package name comparison between snippet configuration and generator output was failing due to an https:// prefix mismatch, causing docs to fall back to raw net/http code instead of SDK-idiomatic snippets.


4.63.0

(feat): Speed up fern docs dev bundle refresh by renaming the old bundle and deleting it asynchronously instead of blocking on removal.

4.62.6

(fix): Clean up Fern Docs cache on fern docs dev startup and shutdown.

4.62.5

(fix): Fix replay init to create .gitattributes with linguist-generated markers and sync .fernignore entries with fern-replay.


4.62.4

(chore): Internal CLI improvements.

4.62.3

(fix): Make GitHub token optional for replay init. Public repos no longer require a token.



4.62.2

(fix): Fix OpenAPI importer dropping request body examples when the request body has no schema defined. Previously, endpoints with a JSON content type but no schema were treated as having no request body at all, causing valid example JSON to be lost. The importer now preserves the request and its examples so they render in docs and code snippets.

4.62.0

(feat): Make the fern api enrich command public. This command merges an AI examples overrides file into an OpenAPI spec, integrating x-fern-examples into native OpenAPI example fields.

4.60.0

(feat): Add agents.page-description-source to docs.yml to control which frontmatter field is preferred for one-line page descriptions in llms.txt. Supports description and subtitle, and falls back to other supported frontmatter fields when the preferred field is not present.


4.61.0

(feat): Add --email flag to fern login for enterprise SSO support.

4.59.0

(feat): Add support for pulling generator Docker images from custom container registries during fern generate --local via a new image: { name, registry } field in generators.yml. Custom image generators are blocked for remote generation and skipped during auto-upgrade.

4.58.0

(feat): Support x-fern-default on x-fern-global-headers entries. When a global header includes x-fern-default, the value is carried through to the IR clientDefault field so generators can emit optional parameters with a default value (e.g. version: Optional[str] = '2024-02-08').

4.57.0

(feat): Add a missing-redirects docs validation rule to fern check that compares the current docs navigation against the previously published markdown slug table in FDR. The check warns when a published page is removed or moved without a redirect in docs.yml, helping prevent broken historical docs URLs. The rule also handles first-publish, unauthenticated, offline, and timeout scenarios gracefully based on the configured check severity.

4.56.0

(feat): Add an agents config block to docs.yml for agent-serving endpoints. agents.page-directive prepends custom instructions to each page served through agent endpoints.