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.


3.18.0

(feat): Add ai-example-style-instructions field to docs.yml experimental config. This allows providing custom styling instructions for AI-generated examples to guide the AI in generating examples that match your preferred style, naming conventions, or domain-specific terminology.

3.17.0

(feat): Enable AI-generated endpoint examples by default. To disable, set ai-examples to false in docs.yml’s experimental settings.

3.16.1

(feat): Include examples for AI processing if 30% or more of the values are generic.

3.16.0

(feat): Docs linting (fern check) now respects settings.substitute-env-vars and throws errors for missing environment variables, matching the behavior of fern generate --docs. The full instances: config including custom domains now goes through env var substitution when this setting is enabled.

(fix): Improved error logging for docs publishing failures. When API definition registration fails with a “fetch failed” error, the CLI now logs detailed error information including status code, error type, reason, and error message to help debug network issues.

3.15.0

(feat): Add fern overrides compare command to generate OpenAPI overrides by diffing two specs. This enables a new workflow where you can copy your OpenAPI spec, edit the copy directly, and compile the differences into an overrides file.


3.22.3

(fix): Improve dynamic IR generation for inferred auth.

3.15.1

(chore): Use Venus JWT for AI example enhancement requests.

3.14.0

(fix): Fix coerce-enums-to-literals: false setting not being respected for SDK generation. Single-value enums are now correctly preserved as enum types instead of being coerced to literals.

3.13.0

(feat): Add support for autorelease flag in generators.yml. See: https://buildwithfern.com/learn/sdks/overview/autorelease#disable-autorelease

3.12.0

(feat): Add inferred auth parameters to the dynamic IR so dynamic snippet generators can consume them.

3.11.0

(feat): Fully propagate webhook responses (e.g., 204, 400, 500 status codes) from OpenAPI specs from IR to FDR.

3.10.0

(feat): Adds new right-text field to logo configuration in docs.yml. This allows users to display custom text to the right of the logo image.


3.9.0

(feat): Propagate webhook responses (e.g., 204, 400, 500 status codes) from OpenAPI specs to the IR. Webhook endpoints can now define expected response status codes and descriptions, which are captured in the IR for use by generators and documentation.

3.8.0-rc0

(chore): Test automated CLI publishing.

3.8.0

(feat): Include -y flag for the upgrade for non-interactive environments.

3.7.0

(feat): Add API flag default-integer-format to configure which format is assumed for type: "integer" properties in OpenAPI that do not specify a format.

1# generators.yml
2api:
3 specs:
4 - openapi: openapi.yml
5 settings:
6 default-integer-format: int64

Possible values are int32, int64, uint32, and uint64; defaults to int32.

3.6.0

(feat): Validate examples in fern check against OpenAPI schemas.


3.5.0

(feat): Add support for vendor-specific JSON content types in example validation. Content types like application/vnd.bc.v1+json are now accepted as valid JSON content types when validating examples against literal<"application/json"> types.