3.30.3

(chore): Adds a product-switcher.toggle theme option to the docs configuration.

3.30.2

(fix): Export all defined auth schemes when using endpoint-security auth in generators.yml.

3.30.1

(fix): Update generators.yml schema SDK update to include api.auth.endpoint-security support.



3.29.1

(chore): Make version optional when fetching dynamic IR from SDK uploads. If no version is explicitly specified in the api snippets config, the CLI will not send a version and the API will use the latest available version.

3.29.0

(feat): Add fern docs preview delete <url> command to delete preview deployments. This allows users to clean up preview sites that were generated with fern generate --docs --preview.

(feat): Add fern docs preview list command to list all preview deployments with pagination support via --limit and --page options.

3.28.0

(feat): Refactor fern check output with improved formatting and severity labels. Violations are now displayed in a hierarchical format grouped by [sdk] and [docs], with [error] (red) and [warning] (yellow) labels for each violation. When multiple APIs exist, violations are further grouped by API name. Additional UX improvements include: blue-colored paths, cyan [sdk] and magenta [docs] headers for visual distinction, warnings displayed before errors, blank lines between violations for readability, and inline issue display when path is empty.

3.27.3

(chore): Updates dynamic snippets to pull from an SDK version, if available and specified in the api.snippets configuration.

3.27.2

(fix): Fix example resolution to treat dollar-prefixed strings as literals when they don’t match the valid example reference format. Strings like "$3.00", "$USD", or "$PATH" are now treated as literal values without requiring escaping. Valid example references (e.g., $Type.Example or $import.Type.Example) continue to work as expected.

3.27.1

(fix): Fix fern docs dev hot reload to properly restart the docs server when files change.


3.27.0

(feat): Add ENDPOINT_SECURITY value to AuthSchemesRequirement enum in the IR. This allows users to specify that authentication requirements are defined per-endpoint rather than globally. Users can now use endpoint-security: {} in their Fern API definition’s auth field to indicate that security is configured on individual endpoints via the security field.

3.26.3

(chore): Add x-fern-sdk-method-name support for AsyncAPI operations.

3.26.2

(chore): Support custom environment variables and shell command operators in native local generation for seed testing.

3.26.1

(fix): Fix fern docs dev to start the backend server before Next.js. Previously, Next.js would start immediately while the backend was still initializing, causing requests to fail if users opened the browser too quickly. The backend now fully initializes before Next.js starts accepting requests.


3.26.0

(feat): Allow omitting the fernapi/ prefix in generator names in generators.yml. The prefix is now inferred by default, so fern-typescript-sdk is equivalent to fernapi/fern-typescript-sdk. Custom Docker orgs can still be specified explicitly (e.g., myorg/my-generator).

3.25.2

(chore): Add --force-download flag to fern docs dev command.

3.25.1

(fix): Fix endpoint resolver to use caller’s casing generator instead of hardcoded constant, ensuring OAuth endpoints respect smart casing settings.

3.25.0

(feat): Add user email to CLI PostHog events when not using an access token. This enables better user analytics by capturing the primary email address from Auth0 for logged-in users.

3.24.6

(chore): Remove unnecessary debug logging from fern docs dev.

3.24.4

(fix): Use Set for O(1) deduplication of referenced markdown files in fern docs dev to improve hot reload performance.


3.24.5

(fix): Fix discriminated unions with nullable object types to use samePropertiesAsObject instead of wrapping in a value property.

3.24.3

(fix): Fix handling of empty allOf in additionalProperties by treating schemas with only metadata (example, description) as “any” type.

3.24.2

(fix): Prevents incorrect collapsing of an allOf with additionalProperties: true into a map.

3.24.1

(chore): Collects fern docs dev metrics in .fern/logs/<timestamp>.debug.log file.

3.24.0

(feat): Store referenced markdown snippet files (from <Markdown src="..."/> components) in the docs definition’s jsFiles map. This allows downstream consumers like docs-loader to access the original snippet contents by file path, preserving references that were previously lost during markdown replacement.

3.23.3

(chore): Upload dynamic IR during SDK generation (fern generate --group) to enable dynamic snippets. This uploads language-specific IR to FDR for each generator, allowing dynamic code snippet generation in documentation.

3.23.2

(chore): Hide fern mock and fern test commands from the main CLI help output.

3.23.1

(fix): Adds a warning to fern check that detects infinite redirect loops.

3.23.0

(feat): Update the default page actions to include ChatGPT, Claude, and Cursor.


3.22.2

(fix): Fix OpenAPI example parsing to preserve explicit null values. Previously, explicit null values in OpenAPI response examples (e.g., balance_max: null for unbounded tiers) were being incorrectly replaced with schema example values or generated placeholders.

3.22.1

(fix): Fix OpenAPI 3.1+ parsing to respect $ref sibling examples. When a property has both a $ref and sibling example/examples properties, the sibling examples now correctly take precedence over the referenced schema’s examples. This fix applies to both the old and new OpenAPI parsers.

1# OpenAPI 3.1+ allows $ref siblings like example/examples
2Company:
3 type: object
4 properties:
5 logo:
6 $ref: '#/components/schemas/File'
7 example:
8 url: https://images.example.com/logo.png # This example is now used

3.22.0

(feat): Share .fernignore handling between local and remote task handlers. When running remote generation with local-file-system output mode, the .fernignore file is now respected, matching the behavior of local generation.

3.21.1

(fix): Fix ExampleValidator to validate response examples against their corresponding status code schemas instead of always using the 200/201 success schema. Error response examples (400, 404, 500, etc.) are now correctly validated against their respective schemas.

3.21.0

(feat): Add a custom field to the page-actions configuration. This allows users to add custom page actions to the docs.

3.20.0

(feat): Add docs field to HttpResponse in the IR to capture response descriptions for webhook responses. This enables webhook response descriptions (e.g., for 204, 400, 500 status codes) to be properly propagated from OpenAPI specs to documentation.



3.18.4

(fix): Revert regex parsing of <Code> components.

3.18.3

(fix): Fix duplicate type declarations when OpenAPI specs use allOf references in inline request bodies.

3.18.2

(fix): Remove fern check validation rule that rejected HEAD endpoints with response bodies. HEAD endpoints can now define response bodies without triggering validation errors.

3.18.1

(fix): Fix fern check errors when OpenAPI specs use allOf with multiple schemas that share the same property names in inline request bodies. The OpenAPI importer now correctly inlines conflicting schemas instead of extending them, preventing duplicate property errors.