5.72.1
(fix): Fix disable-sri being dropped for remote JS scripts when publishing docs
via the ledger deploy path. The per-script disableSri flag from docs.yml
is now forwarded through the ledger config, so flagged scripts render without
an SRI integrity (or crossorigin) attribute.
5.72.0
(feat): Add a disable-sri option to remote js scripts in docs.yml. When set to
true, the script is rendered without a Subresource Integrity (SRI) integrity
attribute, which is useful for scripts whose contents change over time.
(fix): Resolve the auto-generate-idempotency-key config from a generator invocation’s resolved
config when no raw generators.yml block is present. This restores idempotency-key
auto-generation for synthetic invocations (e.g. the seed test harness) that populate config
directly without a raw block.
5.71.0
(internal): Compute discriminated-union base-property dedupe facts once during IR generation and expose them
on both the regular and dynamic IR: UnionTypeDeclaration.inheritedBaseProperties (base properties
every samePropertiesAsObject variant redeclares with a structurally-equal type) and
ObjectTypeDeclaration.deferredUnionBaseProperties (properties an object used exclusively as a union
variant defers to the union envelope). Generators now read one source of truth instead of
re-deriving the decision independently. The facts are computed regardless of any generator flag.
5.70.3
(fix): Fix smart-casing snake_case names dropping the word boundary after a number.
Names like ConversationsV2Configuration now generate conversations_v2_configuration
instead of conversations_v2configuration (matching the camelCase and pascalCase
variants). Trailing numbers remain fused, e.g. applicationV1 still generates
application_v1.
5.70.2
(fix): Fix multi-API environment grouping (group-multi-api-environments) selecting the wrong
base URL when more than two specs are merged and several specs share identical servers.
Duplicate servers no longer accumulate across merges, so environments with the same name
but different URLs are now grouped into a multi-URL environment instead of collapsing to
the last spec’s URL.
5.70.1
(fix): fern generate with an explicit --version X.Y.Z now records a version-only entry
(version header with an empty description) in the SDK repo’s changelog.md, and existing
changelog entries are preserved across regenerations instead of being wiped.
5.70.0
(feat): Add an opt-in mask-pii setting under ai-search in docs.yml. When enabled, personally
identifiable information (PII) in user messages is masked before being sent to Ask Fern.
Disabled by default.
5.69.0
(feat): Add an api.settings.auto-generate-idempotency-key option in generators.yml that applies
idempotency-key auto-generation to every generator in the API, so it no longer has to be set
on each generator’s config. A generator’s own config.auto-generate-idempotency-key still
overrides the API-level value. Accepts the same boolean shorthand or header-name / methods
object form, and is resolved into the IR (SdkConfig.idempotencyKeyGeneration) as before.
5.68.0
(feat): Add an auto-generate-idempotency-key generator config key. When enabled, the
CLI records idempotency-key auto-generation in the IR (SdkConfig.idempotencyKeyGeneration)
so every generator reads a single, canonical setting from the IR instead of each
defining its own config key. Accepts true or { header-name: "Idempotency-Key" }
and is stripped from the config forwarded to generators.
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.