Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-09.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## 0.41.8
**`(feat):`** The Fern generators.yml configuration now supports a new format for namespacing APIs for additional flexibility:

```yml
api:
specs:
- openapi: path/to/v1/openapi
overrides: path/to/v1/overrides
namespace: v1
- openapi: path/to/v2/openapi
overrides: path/to/v2/overrides
namespace: v2
```

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.


5 changes: 5 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-10.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## 0.41.9
**`(internal):`** Adds a `bundle-path` hidden parameter for `fern docs dev` for use with `fern-platform` testing. You can pass the
path on the command line as an optional parameter.


19 changes: 19 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-11.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## 0.41.10
**`(feat):`** Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union values
with custom names and show their availability. You can do so by adding the following to your API definition:
```yml
MyUnionType:
union:
UnionValue1:
docs: The first union value
type: string
display-name: Union Value One
availability: beta
UnionValue2:
docs: The second union value
type: integer
display-name: Union Value Two
availability: deprecated
```


60 changes: 60 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-14.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
## 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 we
stream the JSON to file instead of calling `JSON.stringify`. See [PR 4640](https://github.com/fern-api/fern/pull/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:

```yml
Request:
name: InlineRequest
properties:
random:
type: string
availability: pre-release
```

OpenAPI:

```yml
requestBody:
content:
application/json:
schema:
type: object
properties:
random:
type: string
x-fern-availability: beta
```


## 0.41.11
**`(feat):`** Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union values
with custom names and show their availability. You can do so by adding the following to your API definition:
```yml
MyUnionType:
union:
UnionValue1:
docs: The first union value
type: string
display-name: Union Value One
availability: beta
UnionValue2:
docs: The second union value
type: integer
display-name: Union Value Two
availability: deprecated
```


18 changes: 18 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-15.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## 0.41.14-rc2
**`(internal):`** Remove bang operator and fix eslint warning in `compatible-ir-versions.ts`.

## 0.41.14-rc1
**`(feat):`** Running `fern 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 leveraging `fernapi/fern-python-sdk` version `2.0.0`, on CLI version `0.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.


### What's new
- Running `fern check` will now check to confirm that the generator versions you are running are compatible with your Fern CLI version.
- Fern commands now print out generator upgrades, in addition to CLI upgrades.

21 changes: 21 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-16.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## 0.42.0-rc0
**`(feat):`** The Fern Definition now supports `conten-type` on multipart request properties.
For example, to specify an `application/octet-stream` and `application/json`
contnet types, use the snippet below:

```ts
service:
endpoints:
upload:
request:
body:
properties:
file:
type: file
content-type: application/octet-stream
metadata:
type: unknown
content-type: application/json
```


41 changes: 41 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-17.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## 0.42.1
**`(fix):`** Make sure to check for optionality when parsing stdout and stderr in CLI. This
removes 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 longer
complain about duplicate schema names across namespaces.
In the example below, both OpenAPI specs can have duplicative schema names and
that is okay.
```yml
api:
specs:
- openapi: openapi-bar.yml
namespace: bar
- openapi: openapi-foo.yml
namespace: foo
```


## 0.41.16
**`(fix):`** Previously the OpenAPI converter would incorrectly mark
the values of `additionalProperties` as optional. Now, we have
introduced a feature flag to turn this behavior off.

The feature flag can be configured in generators.yml:
```yml
api:
specs:
- openapi: /path/to/openapi
settings:
optional-additional-properties: false
```


## 0.41.15
**`(internal):`** Performance improvements for stringifiying large Intermediate Representations. If
you have a large OpenAPI spec or Fern Definition, this can potentially shave off
minutes from `fern generate`.


85 changes: 85 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-18.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
## 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.

```yml generators.yml
api:
headers:
X-API-VERSION: string
specs:
- openapi: /path/to/openapi
overrides: /path/to/overrides
```


## 0.42.7
**`(feat):`** The API V2 configuration (in beta) now supports global header
overrides. To specify global headers that are not in your
OpenAPI spec, simply add the following block in your `generators.yml`:

```yml generators.yml
api:
headers:
X-API-VERSION: string
specs:
- openapi: /path/to/openapi
overrides: /path/to/overrides
```


## 0.42.6
**`(fix):`** Removes extraneous conditional error within namespacing configuration

## 0.42.5
**`(feat):`** Adds additional metadata retrievable by `fern generator get` so you can now get the language and the target repo.

## 0.42.4
**`(fix):`** Namespaced APIs now:
- No longer contain duplicative nesting of some endpoint within another package of the same name as the namespace
- Respect the `x-fern-sdk-group-name` annotation for endpoints


## 0.42.3
**`(fix):`** The OpenAPI importer now supports handling encoding on multipart requests.
Previously, the generators would not respect the `contentType` field for
each form input. But, now they do.
```yml
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The file to upload
encoding:
file:
contentType: "application/octet-stream"
```


**`(fix):`** The OpenAPI importer now correctly parses descriptions of multipart
form requests. Previously these descriptions would be ignored.

For example, previously the description `The file to upload` would be
ignored in the example below.
```yml
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
description: The file to upload
```


## 0.42.2
**`(fix):`** Error bodies are now appropriately namespaced as well!

32 changes: 32 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-19.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## 0.42.11
**`(fix):`** The API V2 configuration now supports disabling using titles as schema
names. You may want to disable this flag if your OpenAPI adds the same
title to multiple schemas.

```
api:
specs:
- openapi: /path/to/openapi
settings:
use-title-as-schema-name: false
```


## 0.42.10
**`(fix):`** Previously, the OpenAPI converter would bring over `title` on every
single property. This field is extraneous, so now we ignore it.


## 0.42.9
**`(fix):`** Previously, the OpenAPI importer would ignore skip parsing arbitrary
content types "*/*". Now it treats this content type as application/json.

```json openapi.json
"responses": {
"200": {
"description": "Success reply",
"content": {
"*/*": {
```


11 changes: 11 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-20.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## 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.


4 changes: 4 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-21.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## 0.42.14
**`(fix):`** The OpenAPI importer now correctly propagates the title field on `oneof` schemas.


9 changes: 9 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-23.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## 0.42.15
**`(internal):`** The documentation resolver now appropriately creates a unique identifier for changelog sections. Previously, if you had multiple
changelogs 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.


4 changes: 4 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-24.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## 0.43.0
**`(feat):`** The CLI now recognizes the fern-php-sdk generator.


4 changes: 4 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-25.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## 0.43.1
**`(feat):`** The CLI now supports running OpenAPI generator 0.1.0 with IR version 53.


29 changes: 29 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-26.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## 0.43.5
**`(fix):`** If you use the `x-fern-streaming` extension and want to provide different descriptions
for the streaming endpoint, then you can now specify `streaming-description`.

```yml openapi.yml
x-fern-streaming:
stream-condition: $request.stream
stream-description: The streaming version of this endpoint returns a series of chunks ...
response:
$ref: #/components/schemas/Response
stream-response:
$ref: #/components/schemas/ResponseChunk
```


## 0.43.4
**`(fix):`** The OpenAPI parser now respects the content type in your OpenAPI spec, instead of always sending
`application/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 templates
may 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 if `fern generate --docs` fails.


6 changes: 6 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-27.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## 0.43.6
**`(fix):`** The OpenAPI importer now appropriately brings in responses that are under the `text/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.


6 changes: 6 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-28.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## 0.43.7
**`(fix):`** The `valid-markdown` rule has been updated to try and parse the markdown file into a
valid AST. If the file fails to parse, `fern check` will log an error as well
as the path to the markdown.


5 changes: 5 additions & 0 deletions fern/products/cli-api-reference/cli-changelog/2024-09-30.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## 0.43.8
**`(fix):`** Any markdown files that have custom components are also pushed up to the Fern Docs
platform.


Loading