-
Notifications
You must be signed in to change notification settings - Fork 1
🌿 ✨ [Scheduled] Upgrade Fern CLI #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
fern-api
wants to merge
1
commit into
main
Choose a base branch
from
fern/update/cli
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
74dc6d3
to
9ab1b08
Compare
9ab1b08
to
81d7741
Compare
81d7741
to
6fb12c3
Compare
6fb12c3
to
bad1006
Compare
bad1006
to
7643168
Compare
7643168
to
59308b8
Compare
59308b8
to
9621dd5
Compare
9621dd5
to
be20fed
Compare
be20fed
to
6eb6193
Compare
6eb6193
to
01f9738
Compare
01f9738
to
a5c28ee
Compare
a5c28ee
to
262de40
Compare
262de40
to
ad32211
Compare
ad32211
to
3e4f839
Compare
3e4f839
to
d637f5e
Compare
d637f5e
to
cdeab01
Compare
cdeab01
to
bf26ad4
Compare
bf26ad4
to
2d8c763
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Upgrading from
0.30.7
to0.53.17
- Changelog0.53.17
fix:
Fix an issue with the OpenAPI v2 parser where recursive subpackage slugs would not generate correctly.0.53.16
fix:
Enablex-fern-sdk-group-name
extension in AsyncAPI v3 parser.0.53.15
fix:
Disable broken link checker until it is ready to release.0.53.14
fix:
Fixes an issue with the OpenAPI v2 parser where docs configs with no navigation structure would generate incorrect slugs.0.53.13
fix:
Resolve error wherefern docs dev
failed in Windows environments.343 additional updates, see more
0.53.12
fix:
Dynamically deconflict AsyncAPI message names when generating Fern Definition Types to preserve original namingwherever possible.
0.53.11
fix:
Fix an issue with the OpenAPI v2 parser where schemas with single value arrays were being incorrectly parsed.0.53.10
fix:
Support differentiated server URLs in WebSocket channels and correctly generate multi-url environments.0.53.9
fix:
Fix an issue with the OpenAPI v2 parser where incorrect slugs were being generated.0.53.8
fix:
Fix noindex behavior for section overview pages.0.53.7
fix:
Regenerate changelog.0.53.6
fix:
Correctly parse out channel address for v3 AsyncAPI specs.0.53.5
fix:
Support validation schemas in detailed Union types.0.53.4
fix:
Improve error logging ondownloadLocalDocsBundle
failure.0.53.3
fix:
noindex
property in the frontmatter of a page is now implemented for site navigation +llms.txt
.0.53.2
fix:
The OpenAPI parser now prefers thesource
extension set in the OpenAPI spec, and only writesit if it is not already set.
0.53.1
fix:
The OpenAPI v2 parser now parses Server specifications with variables.0.53.0
feat:
Users can now specify theidiomatic-request-names
option in thegenerators.yml
to adapt the behavior of theautogenerated request names. The verb is now in front of the noun (e.g.
UsersListRequest
becomesListUsersRequest
).This is disabled by default (for backwards compatibility), and can be enabled with the following:
0.52.0
fix:
Introduce the AsyncAPI 3.0.0 parser, which enables conditional parsing of both 2.x and 3.x AsyncAPI specs.0.51.39
fix:
The OpenAPI v2 parser now respects object properties as optional, generates display names for undiscriminated union objecttypes, and fixes minor issues with docs dev when using specific navigation locators in docs.yml specification.
0.51.38
fix:
The OpenAPI v2 parser now ignores optional parameters when generating requests. It also improves upon generation withbetter fallback logic for sparse requests.
0.51.37
fix:
Fixed handling of Windows filepaths in the docs generator by ensuring consistent path separators and proper absolute path handling.0.51.36
fix:
Type reference example generation now handles extends and base properties correctly, as well as in-lined Alias types.0.51.35
fix:
The cli will now respect examples withnull
values in OpenAPI specs. This will allow for null properties to show up when usingOpenAPI parser v2.
0.51.34
fix:
The IR generator now correctly handles exploded form parameters in the docs, ensuring that curl code snippetsaccurately reflect the expected request format. Previously, exploded parameters were not properly formatted in the documentation, which
could lead to incorrect API usage. This fix ensures that array parameters marked as "exploded" are properly expanded in the generated curl examples.
0.51.33
fix:
The OpenAPI parser v2 now handlesnull
values in examples, parses request and response bodies as unions if multiple, handles requiredproperties for global headers and improves upon example generation for APIs.
0.51.32
fix:
The Conjure Importer now handles replacing 'rid' types more safely by checking if an import alias starts with 'rid'.Previously, it would replace any 'rid' text with 'string', which could incorrectly modify import aliases that happened to start with 'rid'.
Now it only replaces 'rid' when it appears as a standalone type or generic parameter.
0.51.31
internal:
The IR migrator now recognizes that the PHP SDK generator requires IR version 55.0.51.30
fix:
The OpenAPI v2 parser now provides better naming and more robust payloads for examples.0.51.29
fix:
The images will be rendered to browser in the format of image ID that matches FileV2.It ensure images will be displayed properly in dev environment.
0.51.28
fix:
The IR generator now optimizes SDK generation by skipping automatic example generation when manual examples are provided.Previously, it would generate additional examples even when manual examples were specified for an operation.
This change improves generation performance by avoiding unnecessary example generation work.
0.51.27
fix:
The OpenAPI parser now optimizes discriminated union example generation by using the first successful variant.Previously, it would continue trying other variants even after finding a valid one. Now it stops after finding
the first valid variant, making example generation more efficient.
0.51.26
fix:
The OpenAPI parser now correctly generates examples for discriminated unions where a variant may itself be a union.Previously, if a discriminated union variant was itself a union (e.g.
{ type: "foo", value: { type: "bar" } }
),the example generation would skip. Now it recursively handles nested unions to generate valid examples.
0.51.25
fix:
Literal property values are now accepted as deep object query parameters. Previously, if a query parameter was a deep objectwith a literal property value (e.g.
{ type: "foo" }
), the CLI would reject it as too complex. Now literal values areallowed since they can be safely serialized.
0.51.24
fix:
The OpenAPI parser now parses path parameters that are present in the URL but not explicitly declared in the OpenAPI spec.Previously, if a path parameter was used in the URL (e.g.
/users/{userId}
) but not declared in theparameters
section,the parser would fail. Now it automatically adds these path parameters as required string parameters.
0.51.23
fix:
The CLI now considersfalse
andtrue
as keywords for the Java generators.0.51.22
fix:
The OpenAPI parser now ignores request bodies onGET
requests since Fern does not support that.This is not a breaking change, since previously the
fern check
would just fail.0.51.21
fix:
Thefern init
command now respects JSON formatting when parsing from an external URL.0.51.20
fix:
The OpenRPC parser now supports generating code snippets in the API Explorer.0.51.19
fix:
The OpenRPC parser now supports generating code snippets in the API Explorer.0.51.18
fix:
The docs will now display errors by default. Previously, errors were hidden by default and needed to be explicitlyenabled with
displayErrors: true
.0.51.17
fix:
The OpenRPC parser now handles displaying parameters as object examples.0.51.16
fix:
The OpenRPC parser now handles displaying parameters as object examples.0.51.15
fix:
The OpenRPC parser now handles displaying optional parameters in the request.0.51.14
fix:
Updateswhatwg
so that users eliminate punycode deprecation warning.0.51.13
fix:
OpenAPI overrides now support resolving file references from the location of theOpenAPI overrides file itself. Previously, relative paths were only resolved from
the OpenAPI source file.
Most users will experience no change, but this will enable a wider set of file
directory layouts depending on the user's preference.
0.51.12
fix:
The Fern Definition now allows you to declare status codes for the response without having a type.This is useful for
204
response status codes.0.51.11
fix:
The OpenAPI parser generates response examples that are{}
for 204 response types.0.51.10
fix:
The OpenAPI parser generates response examples that are{}
for 204 response types.0.51.9
fix:
Fixed OpenAPI importer to properly handle response status codes in documentation by propagatingthe status code from the OpenAPI spec through the IR and FDR layers.
0.51.8
fix:
Fixed OpenAPI importer to properly handle response status codes in documentation by propagatingthe status code from the OpenAPI spec through the IR and FDR layers.
0.51.7
fix:
Added better error messages when markdown files reference non-existent MDX files, showing the relative pathto the missing file rather than just indicating an invalid reference.
0.51.6
fix:
Fixed OpenAPI importer to properly handle string enums that are specified as integers by coercing them to strings.0.51.5
fix:
Added a new rule to validate frontmatter parsing across markdown files, ensuring frontmatteris properly formatted and can be parsed without errors.
0.51.4
fix:
Various improvements to the Mintlify and Readme importers, including better default stylingand spec imports for Mintlify migrations.
0.51.3
fix:
The OpenAPI parser now prefers the JSON Content-Type variant overothers (e.g. application/x-www-form-urlencoded).
0.51.2
fix:
Improved error messages when docs.yml doesn't match schema by showing more specificvalidation errors and including the path where the error occurred.
0.51.1
fix:
Fixed x-fern-resolutions to properly handle escaped forward slashes ("~1") in schema references,correctly converting them to "/" when resolving references.
0.51.0
feat:
The CLI now supports a --readme flag pointing to the URL of a Readme generated docs site andmigrates existing documentation to a fern-compatible repository.
To use this feature:
0.50.17
fix:
Improve performance offern docs dev
by only reloading the markdown content whenonly markdown files are changed, avoiding unnecessary recompilation of the full docs.
0.50.16
fix:
This PR improves the performance offern docs dev
:0.50.15
fix:
Move example generation failure logs to trace level since they are not relevantfor users and add noise to debug logs.
0.50.14
fix:
Fixes a bug where duplicate types in undiscriminated unions (oneOf
in OpenAPI)were not being deduped, which could lead to invalid generated code.
0.50.13
fix:
Fixes a bug where--log-level debug
does not include trace logs.0.50.12
fix:
Increase undici timeouts to make sure thatfern generate --docs
completes.0.50.11
fix:
The CLI now supports a--log-level trace
option to filter out noise from thedebug log level.
0.50.10
fix:
An addition to the broken link checker to further reduce false positives.0.50.9
fix:
The Fern CLI no longer logs the full API request when finishing docs registration,reducing unnecessary log output.
0.50.8
fix:
An additional fix to the OpenRPC parser for respecting tags whenorganizing methods in the API Reference.
0.50.7
fix:
The OpenRPC parser now respects method names as well as tags fororganization the navigation.
0.50.6
fix:
The broken link checker is updated to reduce false positives.0.50.5
fix:
The Fern CLI is updated to create the organization if it doesn't exist whenfern token
is called.0.50.4
internal:
The docs.yml now supports a separate configuration forfeature-flags
which allows Fern to renderpieces of content depending on whether or not certain feature flags are enabled for particular user.
This feature is in alpha stage; please contact support@buildwithfern.com to learn more!
0.50.3
internal:
Fixes an issue where optional, nullable properties resulted in a double optional in theIRv55 -> IRv54 migration.
0.50.2
fix:
The docs now includes alpha support for parsing openrpc specs. To leverage this feature,simply define an API section in your docs.yml and point at an openrpc spec.
0.50.1
fix:
Fixes an issue where nullable schemas were not coerced into optional values.fix:
Fixes an issue wherefern check
would fail for optional, nullable properties.0.50.0
internal:
The CLI is capable of migrating the latest TypeScript generator to IRv55.0.49.1
fix:
The OpenAPI v2 parser now supportsx-fern-global-headers
and fixes an issue with generating webhook content.0.49.0
feat:
The OpenAPI importer now supports respecting nullable properties in schemas. When enabled, nullable properties willbe preserved in the generated SDK. By default (without this setting), nullable properties are treated as
optional
.To enable this, configure the setting in your
generators.yml
:0.48.1
fix:
The Mintlify docs importer now correctly generates the proper display-name key in the docs.yml file.0.48.0
feat:
Adds support for nullable types in the Fern definition, such as the following:0.47.6
feat:
The IR now pulls in additional request properties from the OAuth getToken endpoint to support custom OAuth schemas.0.47.5
feat:
Fixes an issue with broken link checking in the OpenAPI v2 parser.0.47.4
feat:
Allows for creating nullable types and pass formats on strings using the OpenAPI v2 parser.0.47.3
feat:
Add the JSON schema to the generators.yml file for validation and autocomplete.0.47.2
feat:
The CLI now supports checking for broken links in your docs. You will see warnings infern check
if your docs link to anypage that can't be resolved, and the
--strict-broken-links
option will cause the command to fail (exit with a non-zero exit code) ifany broken links are found. You can also run the new command
fern docs broken-links
to only check for broken links (ignoringother possible errors), with the
--strict
option to cause the command to fail if any broken links are found.0.47.1
feat:
Fixes a bug where the OpenAPI parser stopped respecting the =unions: v1
setting in yourgenerators.yml
which configures the parser to generate moreidiomatic discriminated unions.
0.47.0
feat:
The CLI now supports publishing docs using the improved OpenAPI v2 parser. You can setopenapi-parser-v2: true
in your
docs.yml
to use the new parser.0.46.23
feat:
The CLI now validates that method and group name overrides in OpenAPI settings are not duplicated.0.46.22
feat:
Support configuration of Google Analytics and Google Tag Manager in API Docs.0.46.21
fix:
The CLI now supports theprefer-undiscriminated-unions-with-literals
setting in OpenAPI settings.0.46.20
feat:
Thefern init
command now supports a--mintlify
option. You can pass inthe path to your
mint.json
and the Fern CLI will generate a fern documentationwebsite.
0.46.19
fix:
If a schema in OpenAPI or AsyncAPI hasadditionalProperties: true
then the Fern CLI will now respect bringing inexample properties that are not defined in the schema. Previously, the CLI would skip them.
0.46.18
fix:
If an object or request is annotated withextra-properties: true
then the user can provide an example that includesextra properties that are no longer in the schema.
For example, check out this fern definition
0.46.17
fix:
Support parsing string values for boolean defaults in OpenAPI schemas.0.46.16
fix:
Improve parsing of OpenAPI schemas with an array in thetype
property."null"
, it is interpreted as nullable, and removed from the array.unknown
, but now the specified type is used.0.46.15
fix:
Fixed issue where user specified examples would be omitted in favor of autogenerated examples.0.46.14
fix:
Boolean default values are now propagated from the Fern Definition through to docs generation.0.46.13
fix:
Correctly omits readOnly query parameters during openapi to fern definition generation.0.46.12
fix:
The CLI now handles parsing service level path parameters with descriptions.This fixes a regression introduced in the CLI since versions 0.45.x.
0.46.11
fix:
Allow for configuring the depth of example generation in API Docs. For example,if you want to generate optional properties that are 5 levels deep, you can add
the following configuration in your
generators.yml
0.46.10
fix:
Correctly support AdditionalProperties on object schemas.0.46.9
fix:
SDK generation no longer hard-fails on single example generation errors.0.46.8
fix:
The CLI now auto generates SSE and JSON Streaming examples even if those arenot provided in the OpenAPI Spec or Fern Definition.
0.46.7
fix:
The generated Fern Definition now properly supports default values for query parameters.0.46.6
fix:
The audiences property on WebSocket channels is now respected when filteringthe IR graph based on configured audiences.
0.46.5
fix:
The OpenAPI parser now deduplicates headers that appear in both security schemes andoperation-level headers to avoid duplicate header declarations.
0.46.4
fix:
The generated SSE examples always havedata
andevent
keys so that they are correct.0.46.3
fix:
The Fern CLI now supports generating examples for streaming SSE (server-sent-event)endpoints.
0.46.2
feat:
The Fern CLI now supports parsing alogo
option from your frontmatter. Ifyou would like to override logo on a specific page you can do so by adding
the following:
or
0.46.1
fix:
Add support for setting theUser-Agent
header value for Go generators.0.46.0
internal:
No changes; promote0.46.0-rc1
release candidate to minor version.0.46.0-rc1
fix:
* Setinline: true
for inline enums imported from OpenAPI.inline: true
for maps generated from OpenAPI additionalProperties.0.46.0-rc0
feat:
The Fern Definition now supportsbytes
as a response type.0.45.4
fix:
Defaults are no longer set on datetimes when converting to docs shapes.0.45.4-rc1
chore:
Unknown schemas are no longer incorrectly marked asadditionalProperties: true
.0.45.4-rc0
fix:
The CLI prompts the user to confirm output directory overwrites on fern generate.0.45.3
fix:
Unknown schemas are no longer incorrectly marked asadditionalProperties: true
.0.45.2
fix:
Example generation now respects read-only schemas when generating request examples.0.45.1
internal:
Addinline
field to type declarations in the Fern definition and IR.Add support for importing inline types from OpenAPI into Fern definition and IR.
0.45.1-rc0
fix:
Generate valid examples using spec validation information; respectnull
entries during example generation.0.45.0
internal:
Several improvements to docs, conjure importer, and the cli.0.45.0-rc55
internal:
Docs generation now preserves original model schema names.0.45.0-rc54
internal:
Removes errant minimum and maximums for 'float' types for docs.0.45.0-rc53
internal:
Add support for thesmart-casing
flags in the IR commands.0.45.0-rc52
fix:
Fix bug where max length validation for strings were incorrectly plumbed.0.45.0-rc51
feat:
Add support for theinline-path-parameters
setting in the OpenAPIimporter.
0.45.0-rc50
fix:
Increase max recursive depth allowed for example validation.0.45.0-rc49
fix:
Add 'list' to reserved keywords for use in PHP generator.0.45.0-rc48
feat:
OAuth Client Credential Auth Scheme now supports the ability to optionallyset token header and prefix fields for use with docs playground.
0.45.0-rc47
fix:
Support SDK generation provided comma-delineated content-type values in OpenAPI specs.0.45.0-rc46
fix:
The IR handles converting example unions that are aliases.0.45.0-rc45
fix:
The IR handles converting example unions that are aliases.0.45.0-rc44
fix:
Update the IR'sServiceTypeReferenceInfo
to include all transitive typesreferenced by a service.
0.45.0-rc43
fix:
Support non-standard HTTP code 498; Validatex-fern-examples
during schema parsing.0.45.0-rc42
fix:
Log error message logging when encountering doc errors during preview server initiation.0.45.0-rc41
fix:
Fixes bug introduced in 0.45.0-rc33 where version slugs were not being generated correctly.0.45.0-rc40
fix:
Fixed bug in the Conjure importer where query parameters were overwritten during endpoint parameter parsing.0.45.0-rc39
fix:
The OpenAPI importer now supports correlating request and response examples by name. When an example name is sharedbetween a request body and response, they will be paired together in the generated Fern definition.
0.45.0-rc38
fix:
The OpenAPI importer now supports respecting readonly properties in schemas. When enabled, readonly properties will be excluded from request bodies forPOST/PUT/PATCH endpoints. To enable this, configure the setting in your
generators.yml
:0.45.0-rc37
internal:
Support parsing alpha and beta version numbers of Fern generators0.45.0-rc36
fix:
The OpenAPI importer now supports importing deep object query parameters. To do this, you willneed to configure a setting in your
generators.yml
0.45.0-rc35
fix:
The OpenAPI importer now supports importing deep object query parameters. To do this, you willneed to configure a setting in your
generators.yml
0.45.0-rc34
internal:
The CLI now recognizes the versions of the Go generator that require IRv53.0.45.0-rc33
feat:
The Fern CLI now supports roles and viewers in your docs configuration, if you are on the enterprise plan for docs:0.45.0-rc32
fix:
The OpenAPI importer now supports reading endpoints that have application/x-www-form-urlencoded requests0.45.0-rc31
fix:
The OpenAPI importer now parses webhook examples and generates examples for webhooks when none are provided.0.45.0-rc30
fix:
The OpenAPI importer now parses theexamples
field for primitive schema types likestring
,number
,array
andboolean
.0.45.0-rc29
feat:
The OpenAPI importer now parses theexamples
field that may be present on OpenAPI 3.1 schemas.0.45.0-rc28
feat:
The OpenAPI importer now skips headers in a case-insensitive way (e.g. both "Content-Type" and "content-type" are skipped).0.45.0-rc27
feat:
The Conjure importer now brings in endpoint level descriptions.0.45.0-rc26
feat:
fern check
handles validating unions that contain base properties.0.45.0-rc25
internal:
The Fern CLI temporarily does not support RBAC/Audiences (they will be added in again shortly).0.45.0-rc24
fix:
fern docs dev
now runs in Node 16 - Node 22 environments.0.45.0-rc23
fix:
The docs dev server now correctly handles base paths.0.45.0-rc22
fix:
Fixes bug introduced in 0.45.0-rc20 where section children were dropped from the docs definition.0.45.0-rc21
feat:
The Fern CLI now supports orphaned pages in your docs configuration.fix:
The RBAC config model is now renamed toroles
andviewers
:0.45.0-rc20
feat:
The Fern CLI now supports audiences in your docs configuration:0.45.0-rc19
fix:
- Respectx-fern-ignore
extension in OpenAPI parameters.0.45.0-rc18
fix:
- Add additional debug logging to the CLI when downloading docs preview bundle0.45.0-rc17
fix:
- Improved union example generation by increasing depth for better handling of recursive structures.0.45.0-rc16
fix:
The Conjure importer now correctly keys the union subvariant by the property of the discriminant.is equal to the following Fern Definition:
0.45.0-rc15
fix:
The Conjure importer now correctly imports base-path and docs from your conjure definition.0.45.0-rc14
fix:
The Fern CLI now uses a longer timeout to make HTTP requests, which should fix some flakyness with the docs registration process.0.45.0-rc13
fix:
The Fern CLI now uses a longer timeout to make HTTP requests, which should fix some flakyness with the docs registration process.0.45.0-rc12
fix:
Undiscriminated unions are now represented usinganyOf
in the generated JSON SchemaNullable properties are now correctly propagated to the JSON Schema
0.45.0-rc11
fix:
Improved JSON Schema generation for object inheritance:allOf
for representing object extensions0.45.0-rc10
fix:
Added support foradditionalProperties
on export to JSON Schema.0.45.0-rc9
fix:
Improved JSON Schema generation for object extensions and const values:allOf
in the JSON Schemaconst
in the JSON Schema0.45.0-rc8
internal:
Add#!/usr/bin/env node
to the CLI to prevent runtime errors.0.45.0-rc7
internal:
Stop minifying the CLI to prevent javascript runtime errors.0.45.0-rc6
fix:
Update the CLI package.json to include the correct files.0.45.0-rc5
feat:
Introduce a new commandfern jsonschema <output-file> --type <type-name>
that outputs the JSON Schema for a given type in your Fern Definition.
0.45.0-rc4
chore:
SCIM has been added as a common initialism.0.45.0-rc3
fix:
Numerous fixes to the Conjure API Importer such as reading in request bodies and query parameters.0.45.0-rc2
fix:
The CLI now generates endpoint examples for undiscriminated unions that are recursive.0.45.0-rc1
fix:
The OpenAPI importer now generates streaming examples based on OpenAPI examples.0.45.0-rc0
fix:
The Docs now support renderingadditionalProperties
in the API Playground so that users can send out arbitrary key,value pairs.0.44.11
fix:
Several improvements to the conjure importer.0.44.10
fix:
API update now supports consuming the API origin from spec V2 configurations.0.44.9
feat:
The fern definition now supports descriptions supplied on request and response bodies.You can enable this by simply supplying
docs
in your fern definition, ordescription
in your OpenAPI spec.
0.44.8
fix:
API Configuration V2 schema now takes inorigin
as well, allowingfern api update
to function as expected in the new config.0.44.7
internal:
The Fern CLI commandfern generator list
now accepts filters for the output mode, for example, you may now specifyfern generator list --excluded-modes local-file-system
in order to filter any generators from the list that are outputting locally.
0.44.6
fix:
The Fern Definition respects endpoint level base-path overrides when validating examples.0.44.5
feat:
The Fern Definition now supports overridingbase-path
at the endpoint level.This is useful if you have subset of endpoints that do not live at the
configured base-path.
0.44.4
fix:
Fern's OpenAPI importer will now handle generating examples for declarederrors so that they show up in the generated documentation.
0.44.3
feat:
Fern's OpenAPI importer can now handlereadOnly
properties in the top levelrequest schema. Note that Fern does not handle nested
readOnly
propertiesjust yet; please file a GitHub issue if this is important!
0.44.2
fix:
Fern's OpenAPI importer can now handle multiple error schemas for thesame status code.
0.44.1
feat:
The OpenAPI importer used to try and coerce all enums into a literals.In some cases this is not desirable, so we now expose an option called
coerce-enums-to-literals
in your generators.yml.0.44.0-rc0
feat:
The Fern CLI now supports parsing Conjure, Palantir'shome-grown API Definition format.
If you know a company that is using Conjure that wants API Docs + SDKs, send them our way!
0.43.8
fix:
Any markdown files that have custom components are also pushed up to the Fern Docsplatform.
0.43.7
fix:
Thevalid-markdown
rule has been updated to try and parse the markdown file into avalid AST. If the file fails to parse,
fern check
will log an error as wellas the path to the markdown.
0.43.6
fix:
The OpenAPI importer now appropriately brings in responses that are under thetext/event-stream
Content-Type if your endpoint is annotated with
x-fern-streaming
.If your endpoint is not annotated with
x-fern-streaming
, then the response will be ignored.0.43.5
fix:
If you use thex-fern-streaming
extension and want to provide different descriptionsfor the streaming endpoint, then you can now specify
streaming-description
.0.43.4
fix:
The OpenAPI parser now respects the content type in your OpenAPI spec, instead of always sendingapplication/json
. With this upgrade, your SDKs will also start to send the correct content type.0.43.3
chore:
The CLI now passes in the API definition ID once again, this is necessary so that generated snippet templatesmay reference schemas within the API. This was a regression that was recently introduced.
0.43.2
fix:
The CLI now prints which API cannot be registered iffern generate --docs
fails.0.43.1
feat:
The CLI now supports running OpenAPI generator 0.1.0 with IR version 53.0.43.0
feat:
The CLI now recognizes the fern-php-sdk generator.0.42.15
internal:
The documentation resolver now appropriately creates a unique identifier for changelog sections. Previously, if you had multiplechangelogs within the same section, despite their title and slug being different, they would be treated as the same section since the ID
only took into account the parents' slug, appended the word "changelog" and that was all.
As a result previously all changelogs within the same section would get highlighted when one was selected, now only the selected changelog
is highlighted.
0.42.14
fix:
The OpenAPI importer now correctly propagates the title field ononeof
schemas.0.42.13
fix:
Example generation now intelligently truncates container examples, for example if the depth limit will be reached on a list of objects,the list will be returned as an empty list, as opposed the previous behavior where an unknown object would be created.
0.42.12
fix:
Previously, deploying docs from Windows machines led to bad asset paths.Now, the CLI respects Windows paths during run and web paths for retrieving
assets.
0.42.11
fix:
The API V2 configuration now supports disabling using titles as schemanames. You may want to disable this flag if your OpenAPI adds the same
title to multiple schemas.
0.42.10
fix:
Previously, the OpenAPI converter would bring overtitle
on everysingle property. This field is extraneous, so now we ignore it.
0.42.9
fix:
Previously, the OpenAPI importer would ignore skip parsing arbitrarycontent types "/". Now it treats this content type as application/json.
0.42.8
fix:
The API V2 configuration (in beta) now supports global header overrides.This fixes a bug where those header overrides were getting dropped in
certain cases.
0.42.7
feat:
The API V2 configuration (in beta) now supports global headeroverrides. To specify global headers that are not in your
OpenAPI spec, simply add the following block in your
generators.yml
:0.42.6
fix:
Removes extraneous conditional error within namespacing configuration0.42.5
feat:
Adds additional metadata retrievable byfern generator get
so you can now get the language and the target repo.0.42.4
fix:
Namespaced APIs now:x-fern-sdk-group-name
annotation for endpoints0.42.3
fix:
The OpenAPI importer now supports handling encoding on multipart requests.Previously, the generators would not respect the
contentType
field foreach form input. But, now they do.
fix:
The OpenAPI importer now correctly parses descriptions of multipartform requests. Previously these descriptions would be ignored.
For example, previously the description
The file to upload
would beignored in the example below.
0.42.2
fix:
Error bodies are now appropriately namespaced as well!0.42.1
fix:
Make sure to check for optionality when parsing stdout and stderr in CLI. Thisremoves the error:
Cannot read properties of undefined (reading 'includes')
.0.42.0
fix:
If you merge multiple OpenAPI specs with namespaces,fern check
will no longercomplain about duplicate schema names across namespaces.
In the example below, both OpenAPI specs can have duplicative schema names and
that is okay.
0.42.0-rc0
feat:
The Fern Definition now supportsconten-type
on multipart request properties.For example, to specify an
application/octet-stream
andapplication/json
contnet types, use the snippet below:
0.41.16
fix:
Previously the OpenAPI converter would incorrectly markthe values of
additionalProperties
as optional. Now, we haveintroduced a feature flag to turn this behavior off.
The feature flag can be configured in generators.yml:
0.41.15
internal:
Performance improvements for stringifiying large Intermediate Representations. Ifyou have a large OpenAPI spec or Fern Definition, this can potentially shave off
minutes from
fern generate
.0.41.14-rc2
internal:
Remove bang operator and fix eslint warning incompatible-ir-versions.ts
.0.41.14-rc1
feat:
Runningfern check
will now check to confirm that the generator versions you are running are compatible with your Fern CLI version.Each version of SDK generators depends on a version of a library that is exported by the Fern CLI, and as a result, each generator has a minimum
compatible version of the Fern CLI. As an example, if you were to run
fern check
while leveragingfernapi/fern-python-sdk
version2.0.0
, on CLI version0.1.3
, you'd receive the following error:The generator fernapi/fern-python-sdk requires CLI version 0.23.0-rc4 or later (current version: 0.1.3-rc0).
Indicating that you must upgrade your CLI in order to leverage the current generator.
0.41.14-rc0
fix:
The Fern CLI now safely handles a npx file exists error by retrying the command on failure.This error typically happens when two or more instances of the Fern CLI are running
npx
at the same time.
0.41.13
fix:
fern generate --local
no longer crashes on large API Definitions because westream the JSON to file instead of calling
JSON.stringify
. See PR 4640.0.41.12
feat:
Adds availability to inlined properties for HTTP Requests, Webhooks, and WebSockets for Fern Definition and OpenAPI.You can add availability like so:
Fern Definition:
OpenAPI:
0.41.11
feat:
Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union valueswith custom names and show their availability. You can do so by adding the following to your API definition:
0.41.10
feat:
Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union valueswith custom names and show their availability. You can do so by adding the following to your API definition:
0.41.9
internal:
Adds abundle-path
hidden parameter forfern docs dev
for use withfern-platform
testing. You can pass thepath on the command line as an optional parameter.
0.41.8
feat:
The Fern generators.yml configuration now supports a new format for namespacing APIs for additional flexibility:Through namespacing your API, you can have multiple objects and endpoints with the same name across different namespaces. You can think of them
as the equivalent to Python modules or TypeScript packages.
0.41.7
fix:
Previously we weren't always awaiting PostHog API calls directly. Now the CLIawaits these calls so that we can ensure that events are sent.
0.41.6
feat:
The Fern Docs CLI now supports OAuth 2.0 Client Credentials injection in API playgrounds.To enable this feature, you can define the OAuth Authorization Scheme in your API configuration,
and enable the feature in your docs configuration.
API configuration:
More Information
Docs configuration:
More Information
0.41.5
fix:
Fix an issue with non-deterministic file ordering when OpenAPI is used as input.0.41.4
feat:
The Fern OpenAPI importer now handles importing an array for thetype
key.0.41.3
feat:
Allow referencing by method and path. For example, when configuring anoauth scheme you can now do:
0.41.2
fix:
Fixes an issue introduced in0.41.1
that ignored server urls for docs generation.feat:
Adds aauth-schemes
andauth
block where you can override auth for an existing spec.See below:
0.41.1
feat:
Adds a V2 configuration for theapi
block that is more flexible and allowsOpenAPI users to consume Fern Definition features.
For example, now you can override environments directly in the api configuration:
If you want to define, multi-url environments, those can be done by configuring the following generators.yml:
Note that you will need to use the
x-fern-server-name
annotation on each endpoint to assign it to a relevant server. For example,0.41.0
feat:
Adds generic object declarations to the fern definition. Now we can define generics anduse them in alias declarations to minimize code duplication:
More information can be found here: https://buildwithfern.com/learn/api-definition/fern/types#generics.
0.41.0-rc1
fix:
Fix an issue where some postman environment variables (e.g. API key) were not substitutedwhen running fern generate.
0.41.0-rc0
break:
Every fern folder that is using OpenAPI must configure an explicit location to theOpenAPI spec. The location can be configured in your
generators.yml
:If you run fern upgrade, the CLI will automatically run a migration for you to
ensure that you are compliant!
0.40.4
fix:
fern check
allows the service base-path to be a slash. For example, the followingwould be valid:
0.40.3
fix:
Nowfern generator upgrade
respects the--group
flag and only upgrades generators within a particular group.0.40.2
internal:
Release IR v53.9.0 which includes a publishing configuration.0.40.1
feat:
Enable specifying whether redirect in docs.yml is permanent or temporary.0.40.0
feat:
Update thefern generator upgrade
command to leverage the Generator registry API as opposed to Docker and dockerode.0.39.19
fix:
The OpenAPI importer now appropriately generates examples for circularoneOf
schemas.0.39.18
fix:
Produce IR v53.8.0 with raw datetime examples.0.39.17
fix:
object declarations with extends and no properties now has examples propagating in the Docs and SDKs0.39.16
chore:
Support running 0.2.x versions of the Postman Generator with IR V53 or above.0.39.15
internal:
Introducegenerator list
andorganization
commands to facilitate actions taken byfern-bot
0.39.14
fix:
Format validation is enforced ondate
fields that are specified in examples specified in an api defintion.0.39.13
fix:
Generated examples in the Intermediate Representation not respect root level path parameter examples.0.39.12
fix:
The mock folder now includes source files, and the CLI no longer hard fails if it cannot resolve source files that are of OpenAPI type.0.39.11
fix:
The Fern CLI now handles parsingx-fern-parameter-name
on path parameters in an OpenAPI spec.0.39.10
chore:
Release 0.39.100.39.9
chore:
Release 0.39.90.39.7
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.6...0.39.7
0.39.6
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.5...0.39.6
0.39.5
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.4...0.39.5
0.39.4
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.3...0.39.4
0.39.3
chore:
## What's ChangedFull Changelog: fern-api/fern@0.39.2...0.39.3