5.67.1
(fix): Fix --version AUTO leaking the literal “AUTO” string into self-hosted generated
SDKs. Both the IR version field (which drives the User-Agent header and
X-Fern-SDK-Version) and the IR publishing config (which drives package.json and
version.ts) now use the language-mapped magic version placeholder
(“0.0.0-fern-placeholder”) instead of the raw “AUTO” version, so these fields are
stamped with the computed version after post-generation replacement rather than “AUTO”.
5.67.0
(feat): Custom MDX components (experimental.mdx-components) can now import third-party
libraries. The CLI bundles component files with rolldown (via npx) at docs build
time, inlining dependencies resolved from the docs project’s node_modules.
5.66.1
(fix): Validate that a docs instance’s url and custom-domain share the same basepath for all
sites, not just basepath-aware ones. Navigation links and redirects are generated relative to
the basepath, so the CLI now fails with a clear error when they differ.
5.66.0
(feat): Resolve x-fern-global-parameters applicability once at IR-generation time.
HttpEndpoint.globalParameters now holds the fully resolved set of global
parameters that apply to each endpoint (explicit opt-ins plus matching
apply: auto parameters), with body-location parameters gated on the
endpoint’s request-body schema actually containing the dotted target path.
An explicit opt-in whose request body lacks the target is dropped with a
generation-time warning.
5.65.8
(fix): Docs configs with a path input library no longer crash fern docs dev and
fern generate --docs. parseLibrariesConfiguration now accepts both git
and path library inputs instead of throwing on path, so a site whose
library docs were generated locally with fern docs md generate --local can
be previewed and published.
5.65.7
(fix): fern check now fails when docs.yml contains both navigation and products.
These are mutually exclusive (as navigation and versions already were): in a
multi-product site the navigation lives in each product’s referenced file, so a
top-level navigation block silently overrides the products and renders empty
navigation.
5.65.6
(chore): Bump @fern-api/generator-cli to 0.9.44 so every local-only commit is signed
when pushing to GitHub, not just HEAD.
5.65.5
(fix): Improve fern docs dev initial build time by pre-fetching external <Code src="https://..."/> URLs
in parallel instead of sequentially, and optimizing image processing with early-exit checks and
streaming scanning. For large docs sites with many external code snippets, this reduces initial
build time from ~57s to ~14s (75% faster).
5.65.4
(fix): fern check now errors when a path parameter shares a name with another request
property (an inlined request body property, query parameter, or header), including
collisions that only appear after camelCase normalization. These collisions produce
broken or ambiguous generated SDK code; use x-fern-parameter-name (OpenAPI) or the
name property (Fern definition) to deconflict.
5.65.3
(fix): Fix relative .md/.mdx link resolution in translated documentation pages. Previously, translated pages passed an empty markdownFilesToPathName map, so relative markdown links (e.g., ../reference/support-matrix.md) were not resolved to their published slug URLs.
5.65.2
(fix): Improve error messages when ledger docs publishing fails: surface the
server-side validation issues (field paths and messages) so the exact
failing field is visible without needing server-side log access.
5.65.1
(fix): Improve fern docs dev reload performance for content edits (35s → 4-5s).
Reduces debounce from 1000ms to 300ms, skips background validation for
markdown-only changes, and writes a generation counter file for the docs
bundle to detect stale cache entries without HTTP round-trips.
5.65.0
(feat): Add support for x-fern-global-parameters OpenAPI extension. Allows declaring
global defaults for request body, query, header, and path fields that are set
once at the SDK client level and injected at the declared wire location, with
per-call values winning. IR bumped to 67.10.0.
5.64.3
(fix): Fix pages losing their sidebar when a top-level landing-page shares a slug
with a page in versioned navigation. Reverts a 5.58.0 change: the top-level
landing-page is no longer copied into each version, and product-level
landing-page config is no longer applied to products inside product groups
(restoring pre-5.58.0 rendering). landing-page in version files is
unaffected.
5.64.2
(fix): OpenAPI import: an endpoint that declares both a body-bearing 2xx response and a 204 No
Content response now correctly produces an optional success body, even when the 204
erroneously declares a response body. Per RFC 9110 a 204 cannot carry a body, so the
declared 204 body is ignored (with a warning) and the success response type is wrapped
optional. Previously the 204 was dropped and the return type stayed non-optional, so a real
204 (empty body) failed to decode in generated SDKs. Applies to both the legacy and v3
OpenAPI importers.
5.64.1
(fix): Fix GraphQL namespace types (e.g. Inventory, Geography) being excluded from the
type registry and missing parent operations for query pages. Namespace types are
now registered so their fields render correctly on landing pages.
5.64.0
(fix): Fix proto target path resolution when using remote git sources. Previously the target
was resolved relative to the workspace instead of the cloned repository, causing
“file missing” errors.
(feat): Support commit SHA references in git source ref field. Previously only branch names
and tags were supported; commit SHAs now work via fetch+checkout.
5.63.1
(fix): Prevent —version AUTO from embedding literal ‘AUTO’ in generated SDK code during remote generation. The magic placeholder is now substituted before IR generation in the remote path, matching the local generation fix.
5.63.0
(feat): Extend dynamic IR OAuth types with custom properties and populate them in
DynamicSnippetsConverter, enabling dynamic snippet generators to include
custom OAuth token endpoint request parameters in generated code examples.
5.62.2
(fix): Strip CLI-only config keys (e.g. user-agent) from the custom config
before forwarding to generator containers, preventing strict validation
errors in generators that reject unknown keys.