4.21.0

(feat): Remove the FERN_SELF_HOSTED environment variable from the CLI. The three behaviors it controlled are now handled independently:

  • Auth bypass: when FERN_FDR_ORIGIN (or legacy OVERRIDE_FDR_ORIGIN) is set, the CLI reads FERN_TOKEN directly instead of triggering interactive login.
  • Telemetry opt-out: use the existing FERN_DISABLE_TELEMETRY=true to disable PostHog telemetry.
  • ValidFileTypes skip: removed entirely (no longer needed).

Also renames OVERRIDE_FDR_ORIGIN to FERN_FDR_ORIGIN (the old name is still accepted for backward compatibility).

4.20.4

(fix): Fix JSON schema validation for collapsed: open-by-default. The auto-generated JSON schemas now accept boolean | "open-by-default" for the collapsed property, matching the Zod runtime schema. Previously, fern check rejected valid configurations like collapsed: open-by-default inside API reference section layouts because the JSON schema only allowed boolean | null.

4.20.3

(fix): Add support for the collapsed property on API reference section configurations. Sections inside an API reference layout can now use collapsed: true or collapsed: open-by-default to control sidebar collapse behavior, matching the existing support on top-level sections and folders.

4.20.2

(fix): Fix respect-readonly-schemas handling for request bodies that reference a wrapper schema (a $ref-only schema pointing to another schema with readOnly properties). The wrapper schema name is now preserved as the request name and the stale type alias to the Read variant is no longer emitted.

4.20.1

(fix): Revert treating JSON Schema const values as literal types regardless of coerceEnumsToLiterals. This reverts the behavior introduced in 3.90.8 so that const values are again converted to single-value enums when coerceEnumsToLiterals is not enabled.

4.20.0

(feat): Add fern api enrich CLI command that decomposes x-fern-examples from an overrides file into native OpenAPI example fields per endpoint. Usage: fern api enrich openapi.yml -f overrides.yml -o output.yml.

4.19.0

(feat): Add support for open-by-default value on the collapsed property in docs navigation configuration. Sections configured with collapsed: open-by-default will start expanded but can be collapsed by the user.

4.18.0

(feat): Gzip-compress IR before uploading to Fiddle for remote generation. This reduces upload size by ~85-90% on typical IR payloads, improving upload speed and reducing bandwidth usage. The Fiddle receiver transparently detects and decompresses gzip content, maintaining backward compatibility with older CLI versions.

4.17.0

(feat): Add fern check validation rule to detect component schema collisions across multiple OpenAPI specs. When two specs define components/schemas with the same name, one silently overwrites the other during merge. The new no-component-schema-collisions rule now reports this as a warning, unless resolve-schema-collisions is enabled.

4.16.0

(feat): Auto-discover .fernignore for generators configured with local file system output. When running fern generate without the --fernignore flag, the CLI now automatically looks for a .fernignore file in the generator’s configured output directory and uses it if present. This eliminates the need to explicitly pass --fernignore for the common case where the .fernignore lives alongside the generated code.