Changelog
5.126.0
(feat): Every entry of a schema-level examples array on an OpenAPI request or response body schema now
becomes a separate, selectable example in the API reference (labelled Example 1, Example 2, …)
whenever the media type object does not define its own example/examples. Previously only the
first schema-level example was used.
5.125.3
(fix): Preserve OpenAPI top-level tags[].description as the package description when importing
OpenAPI specs with the default parser, so tag descriptions reach the docs API definition.
5.125.2
(chore): No functional changes. Verifies the CLI release pipeline after the beta publish step was added.
5.125.1
(fix): dynamic IR now sets wrapperProperty on auth schemes when the API has multiple auth schemes so snippet generators can nest constructor options the way generated SDKs expect.
5.125.0
(feat): Add base-url-env to the api.yml environments configuration and the root-level
x-fern-base-url-env OpenAPI extension. The value is the name of an environment variable
(e.g. MY_API_BASE_URL) that generated SDKs read to override the base URL, mirroring how
auth credentials can already be sourced from environment variables. When both are present,
base-url-env in generators.yml wins over the spec’s x-fern-base-url-env; overriding
api.environments alone does not discard the spec’s value. The setting is carried through to
the IR as environments.baseUrlEnvVar; SDK generators must be updated to honor it.
5.124.0
(feat): Add a top-level changelog key to docs.yml for multi-product sites. The changelog is shared
by every product, served at the site root (e.g. /changelog) instead of under a product slug,
and does not appear in the product switcher.
5.123.1
(fix): The OpenAPI importer now unions required across all allOf branches. Previously, when a child
allOf branch redeclared a property that a parent branch marked as required (without listing it
in its own required), the property was imported as optional. Required nullable properties are
now correctly represented as nullable in the IR rather than optional.
5.123.0
(feat): Configure Postman’s on-prem SDK generators from sdk-config.yml on local generation. A generator at or above its language’s cutover version reads the migrated configuration written by fern sdk migrate, and an unmigrated workspace is told how to migrate rather than generated from generators.yml. Generators below the cutover continue to run from generators.yml unchanged.
5.122.0
(feat): Preserve OpenAPI xml metadata when importing object schemas. Schemas with an xml object
are emitted with encoding.xml (name, namespace, prefix) in the IR, and their properties carry
ObjectProperty.xml describing whether they serialize as an attribute, text body, or child
element (including wrapped lists and the new x-fern-xml-list-separator / x-fern-xml-text
extensions). The same metadata can be expressed in Fern Definition files via encoding.xml.
5.121.2
(fix): Autogenerated examples now include required nullable properties with an explicit null instead of omitting them.
Previously these properties were treated as optional, so generated SDK examples and wire tests could omit a key
that the serialization layer requires.
5.121.1
(fix): fern generate --local without a FERN_TOKEN (and air-gapped remote generation) now enables
pagination and OAuth client generation by default instead of silently disabling them. Previously
the Python SDK’s paginated endpoints returned a plain response object while the README documented
a pager, because the org lookup that enables these features was skipped.
5.121.0
(feat): Add an optional disclaimer field to the ai-search/ai-chat docs.yml config.
It overrides the disclaimer shown in the Ask Fern chat (default:
“Responses are generated using AI and may contain mistakes.”).
5.120.5
(fix): Fix theme.tabs.placement / theme.tabs.alignment being sent to the docs publishing API in lowercase,
which caused fern generate --docs to fail with config.theme.tabs: Invalid input even though
fern check passed.
5.120.4
(fix): Honor required on OpenAPI response headers: header value types are only wrapped in
optional when the Header Object does not declare required: true, matching the
request-parameter behavior.
5.120.3
(fix): fern check now validates changelogs inside a product’s nested versions against
their full /product/version/... URL, so a changelog made servable by either the
product or version slug (e.g. /platform/release-notes/updates) is no longer
rejected by the valid-changelog-slug rule. Previously the docs validator never
traversed product.versions files.
5.120.2
(fix): fern check no longer rejects a changelog whose feed URL is made servable by its
parent product or version slug (e.g. a “Release Notes” product with an “Updates”
changelog tab at /release-notes/updates). The valid-changelog-slug rule now
includes the product/version URL segment when checking for an allowlisted segment
and reports the full resolved path.
5.120.1
(fix): Support sdk-gen-api generation for Fern Definition workspaces with no source specs.
(fix): Allow sdk-gen-api runtime bundles up to the existing 100 MiB decoded payload budget.
5.120.0
(feat): Add an opt-in OpenAPI setting respect-operation-id-word-boundaries. When enabled, operation ids
are split on every word boundary (camelCase transitions and digits) when deriving endpoint names,
so a redundant tag prefix is stripped and the remaining words are preserved: with tag sharing,
Sharing_ListFolderMembers becomes listFolderMembers instead of listfoldermembers, and with
tag files, filesGetThumbnailV2 becomes getThumbnailV2 instead of keeping the tag prefix.
This applies to the v3 OpenAPI parser, so it affects generated API reference URLs. Defaults to
false, since enabling it changes the URLs of already published pages.
5.119.2
(fix): Convert OpenAPI response header schemas (including header content schemas when
respect-parameter-content is enabled) into typed references instead of collapsing
them to optional<string>. Object, enum, array, and $ref response headers now carry
their schema into IR, so docs render expandable schema properties on response headers
just like request headers.
5.119.1
(fix): Use schema-level example/examples for OpenAPI parameters (including JSON-encoded
object headers resolved via respect-parameter-content) when the parameter itself has
no example, instead of autogenerating one from property types.