4.1.1
(fix): Add CLI subcommand for resolving customization conflicts on SDK generation PR branches.
4.1.0
(feat): Add external $ref bundling for AsyncAPI documents. Multi-file AsyncAPI specs
that split schemas across separate YAML files (e.g. $ref: './schemas/types.yml#/MyType')
are now resolved and inlined before parsing, matching the existing behavior for OpenAPI
documents. Previously these external references caused fern check and fern generate
to fail with “Failed to resolve schema reference”.
4.0.1
(fix): Fix x-fern-global-headers ignoring the optional field in the legacy
OpenAPI importer. Previously, all global headers were defaulted to
optional<string> regardless of whether optional: false or no optional
field was specified. Now headers without optional: true are correctly
treated as required string types.
4.0.0
(chore): Deprecate IR versions <= 52. Cuts down on binary size, build time, and migrations.
Breaking changes: To upgrade to this version of the CLI, generators now have
minimal versions they need to be upgraded to with fern generator upgrade --include-major:
- Python SDK: upgrade to v3.3.0-rc0+
- TypeScript SDK: upgrade to v0.38.0-rc0+
- Java SDK: upgrade to v2.5.0+
- Go SDK: upgrade to v0.28.3+
- C# SDK: upgrade to v0.5.0+
- Ruby SDK: upgrade to v1.0.0-rc1+
- Other generators: upgrade to versions that support IR v53+
3.98.5
(fix): Support namespace resolution in docs types. When multiple OpenAPI specs
define types with the same name (e.g., Team in both EntityManager and
TaskManager specs), the docs type converter now respects x-fern-sdk-namespace
to namespace TypeIds (e.g., entity_manager:Team), preventing collisions.
The namespace is resolved from generators.yml configuration or directly
from the x-fern-sdk-namespace extension in the OpenAPI/AsyncAPI spec.
3.98.4
(fix): Fix docs pipeline (v3-importer-commons) dropping properties from oneOf/anyOf variants
inside allOf. The old OpenAPI importer was fixed in 3.98.2, but the docs/register pipeline
used a separate v3-importer-commons path that still had the same bug. Properties like content
and templateId in mutual exclusion patterns (not: {}) are now correctly surfaced as optional
properties in generated docs.
3.98.3
(fix): fern generate now fails fast when trying to publish a version that already
exists on the target package registry (npm, PyPI, Maven Central, NuGet,
RubyGems, Go Module Proxy, crates.io). Previously, generation would run the
full pipeline before discovering the version conflict at publish time. The
check runs before IR generation for both local and remote generation, saving
significant time.
3.98.2
(fix): Fix OpenAPI importer dropping properties from oneOf/anyOf variants inside allOf.
When an allOf element is a bare oneOf/anyOf (commonly used for mutual exclusion
patterns like content vs templateId), the importer now extracts properties from
each variant as optional properties on the parent object. Also filters out properties
with not: {} schema (meaning “property must not exist”).
3.98.1
(fix): Generate v2Examples for properties that use $ref or allOf: [{ $ref }] patterns.
Previously, when an OpenAPI property referenced another schema via $ref or wrapped
it in allOf, the property-level examples were silently dropped, resulting in empty
autogenerated examples in the IR. Now the importer runs ExampleConverter on these
properties to populate v2Examples correctly.