Skip to content

Conversation

fern-api[bot]
Copy link
Contributor

@fern-api fern-api bot commented Jan 6, 2025

Upgrading from 0.46.16 to 0.53.17 - Changelog

    0.53.17
  • fix: Fix an issue with the OpenAPI v2 parser where recursive subpackage slugs would not generate correctly.

  • 0.53.16

  • fix: Enable x-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 where fern docs dev failed in Windows environments.

  • 90 additional updates, see more

    0.53.12

  • fix: Dynamically deconflict AsyncAPI message names when generating Fern Definition Types to preserve original naming
    wherever 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 on downloadLocalDocsBundle 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 the source extension set in the OpenAPI spec, and only writes
    it 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 the idiomatic-request-names option in the generators.yml to adapt the behavior of the
    autogenerated request names. The verb is now in front of the noun (e.g. UsersListRequest becomes ListUsersRequest).

    This is disabled by default (for backwards compatibility), and can be enabled with the following:

    # generators.yml
    api:
      specs:
        - openapi: ./openapi/openapi.json
          settings:
            idiomatic-request-names: true
  • 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 object
    types, 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 with
    better 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 with null values in OpenAPI specs. This will allow for null properties to show up when using
    OpenAPI parser v2.

  • 0.51.34

  • fix: The IR generator now correctly handles exploded form parameters in the docs, ensuring that curl code snippets
    accurately 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 handles null values in examples, parses request and response bodies as unions if multiple, handles required
    properties 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 object
    with a literal property value (e.g. { type: "foo" }), the CLI would reject it as too complex. Now literal values are
    allowed 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 the parameters section,
    the parser would fail. Now it automatically adds these path parameters as required string parameters.

  • 0.51.23

  • fix: The CLI now considers false and true as keywords for the Java generators.

  • 0.51.22

  • fix: The OpenAPI parser now ignores request bodies on GET 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: The fern 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 explicitly
    enabled 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: Updates whatwg so that users eliminate punycode deprecation warning.

  • 0.51.13

  • fix: OpenAPI overrides now support resolving file references from the location of the
    OpenAPI 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.

    service:
      auth: false
      base-path: /users
      endpoints:
        update:
          path: ""
          response:
            status-code: 204
  • 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 propagating
    the 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 propagating
    the 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 path
    to 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 frontmatter
    is properly formatted and can be parsed without errors.

  • 0.51.4

  • fix: Various improvements to the Mintlify and Readme importers, including better default styling
    and spec imports for Mintlify migrations.

  • 0.51.3

  • fix: The OpenAPI parser now prefers the JSON Content-Type variant over
    others (e.g. application/x-www-form-urlencoded).

  • 0.51.2

  • fix: Improved error messages when docs.yml doesn't match schema by showing more specific
    validation 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 and
    migrates existing documentation to a fern-compatible repository.

    To use this feature:

    fern init --readme https://url-to-readme-docs.com
  • 0.50.17

  • fix: Improve performance of fern docs dev by only reloading the markdown content when
    only markdown files are changed, avoiding unnecessary recompilation of the full docs.

  • 0.50.16

  • fix: This PR improves the performance of fern docs dev:

    • Fern does not generate examples if the user has provided them to us
    • Temporarily comment out broken link checker until we make it faster
  • 0.50.15

  • fix: Move example generation failure logs to trace level since they are not relevant
    for 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 that fern generate --docs completes.

  • 0.50.11

  • fix: The CLI now supports a --log-level trace option to filter out noise from the
    debug 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 when
    organizing methods in the API Reference.

  • 0.50.7

  • fix: The OpenRPC parser now respects method names as well as tags for
    organization 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 when fern token is called.

  • 0.50.4

  • internal: The docs.yml now supports a separate configuration for feature-flags which allows Fern to render
    pieces of content depending on whether or not certain feature flags are enabled for particular user.

    This feature is in alpha stage; please contact [email protected] to learn more!

    navigation:
      - page: Page 1
        feature-flag: my-feature-flag-a # single boolean flag
      - page: Page 2
        feature: # multiple boolean flags
          - flag: my-feature-flag-a
          - flag: my-feature-flag-b
      - section: Section Title
        viewers: role-a
        feature-flag: # configurable match
          flag: my-feature-flag-a
          fallback-value: "ga"
          match: "beta"
        layout: []
  • 0.50.3

  • internal: Fixes an issue where optional, nullable properties resulted in a double optional in the
    IRv55 -> 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.

    navigation:
      - api: API Reference
        openrpc: <path to openrpc file>
  • 0.50.1

  • fix: Fixes an issue where nullable schemas were not coerced into optional values.

  • fix: Fixes an issue where fern 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 supports x-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 will
    be 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:

    api:
     specs:
       - openapi: ./path/to/openapi.yml
         settings:
           respect-nullable-schemas: true
  • 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:

    types:
      User:
        properties:
          name: string
          email: nullable<string>
  • 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 in fern check if your docs link to any
    page that can't be resolved, and the --strict-broken-links option will cause the command to fail (exit with a non-zero exit code) if
    any broken links are found. You can also run the new command fern docs broken-links to only check for broken links (ignoring
    other 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 your generators.yml which configures the parser to generate more
    idiomatic discriminated unions.

    api:
      specs:
        - openapi: ./path/to/openapi.yml
          settings:
            unions: v1
  • 0.47.0

  • feat: The CLI now supports publishing docs using the improved OpenAPI v2 parser. You can set openapi-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 the prefer-undiscriminated-unions-with-literals setting in OpenAPI settings.

  • 0.46.20

  • feat: The fern init command now supports a --mintlify option. You can pass in
    the path to your mint.json and the Fern CLI will generate a fern documentation
    website.

  • 0.46.19

  • fix: If a schema in OpenAPI or AsyncAPI has additionalProperties: true then the Fern CLI will now respect bringing in
    example 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 with extra-properties: true then the user can provide an example that includes
    extra properties that are no longer in the schema.

    For example, check out this fern definition

    types:
      Item:
        extra-properties: true
        properties:
          id: string
    
    
    service:
      auth: false
      base-path: ""
      endpoints:
        create:
          method: POST
          path: /item
          request:
            name: CreateItemRequest
            body:
              extra-properties: true
              properties:
                id: string
          response:
            type: Item
          examples:
            - name: "Item"
              request:
                id: "123"
                foo: "bar" # extra property in the example
              response:
                body:
                  id: "123"
                  foo: "bar" # extra property in the example
  • 0.46.17

  • fix: Support parsing string values for boolean defaults in OpenAPI schemas.

    • String values like "true" and "false" are now correctly parsed as boolean defaults.

Copy link
Contributor

github-actions bot commented Jan 6, 2025

Copy link

netlify bot commented Jan 6, 2025

Deploy Preview for luxury-shortbread-acee05 canceled.

Name Link
🔨 Latest commit 1090bd2
🔍 Latest deploy log https://app.netlify.com/sites/luxury-shortbread-acee05/deploys/67bbb768cac48b0008ad819e

@fern-api fern-api bot force-pushed the fern/update/cli branch from 0ee3398 to 69f9f2a Compare January 13, 2025 00:03
Copy link
Contributor

@fern-api fern-api bot force-pushed the fern/update/cli branch from 69f9f2a to 3fff52d Compare January 20, 2025 00:03
Copy link
Contributor

@fern-api fern-api bot force-pushed the fern/update/cli branch from 3fff52d to baba92e Compare January 27, 2025 00:03
Copy link
Contributor

@fern-api fern-api bot force-pushed the fern/update/cli branch from baba92e to d500497 Compare February 3, 2025 00:03
Copy link
Contributor

github-actions bot commented Feb 3, 2025

@fern-api fern-api bot force-pushed the fern/update/cli branch from d500497 to 2849371 Compare February 10, 2025 00:03
Copy link
Contributor

@fern-api fern-api bot force-pushed the fern/update/cli branch from 2849371 to b22587e Compare February 17, 2025 00:03
Copy link
Contributor

@fern-api fern-api bot force-pushed the fern/update/cli branch from b22587e to 1090bd2 Compare February 24, 2025 00:03
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants