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.