Skip to content

Commit 627dd63

Browse files
authored
Copy over changelogs from fern repo (#129)
1 parent 9bba92b commit 627dd63

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1043
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## 0.41.8
2+
**`(feat):`** The Fern generators.yml configuration now supports a new format for namespacing APIs for additional flexibility:
3+
4+
```yml
5+
api:
6+
specs:
7+
- openapi: path/to/v1/openapi
8+
overrides: path/to/v1/overrides
9+
namespace: v1
10+
- openapi: path/to/v2/openapi
11+
overrides: path/to/v2/overrides
12+
namespace: v2
13+
```
14+
15+
Through namespacing your API, you can have multiple objects and endpoints with the same name across different namespaces. You can think of them
16+
as the equivalent to Python modules or TypeScript packages.
17+
18+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## 0.41.9
2+
**`(internal):`** Adds a `bundle-path` hidden parameter for `fern docs dev` for use with `fern-platform` testing. You can pass the
3+
path on the command line as an optional parameter.
4+
5+
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## 0.41.10
2+
**`(feat):`** Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union values
3+
with custom names and show their availability. You can do so by adding the following to your API definition:
4+
```yml
5+
MyUnionType:
6+
union:
7+
UnionValue1:
8+
docs: The first union value
9+
type: string
10+
display-name: Union Value One
11+
availability: beta
12+
UnionValue2:
13+
docs: The second union value
14+
type: integer
15+
display-name: Union Value Two
16+
availability: deprecated
17+
```
18+
19+
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
## 0.41.14-rc0
2+
**`(fix):`** The Fern CLI now safely handles a npx file exists error by retrying the command on failure.
3+
This error typically happens when two or more instances of the Fern CLI are running `npx`
4+
at the same time.
5+
6+
7+
## 0.41.13
8+
**`(fix):`** `fern generate --local` no longer crashes on large API Definitions because we
9+
stream the JSON to file instead of calling `JSON.stringify`. See [PR 4640](https://github.com/fern-api/fern/pull/4640).
10+
11+
12+
## 0.41.12
13+
**`(feat):`** Adds availability to inlined properties for HTTP Requests, Webhooks, and WebSockets for Fern Definition and OpenAPI.
14+
You can add availability like so:
15+
16+
Fern Definition:
17+
18+
```yml
19+
Request:
20+
name: InlineRequest
21+
properties:
22+
random:
23+
type: string
24+
availability: pre-release
25+
```
26+
27+
OpenAPI:
28+
29+
```yml
30+
requestBody:
31+
content:
32+
application/json:
33+
schema:
34+
type: object
35+
properties:
36+
random:
37+
type: string
38+
x-fern-availability: beta
39+
```
40+
41+
42+
## 0.41.11
43+
**`(feat):`** Adds availability and display-names to discriminated union values. Now, in your docs, you can mark your union values
44+
with custom names and show their availability. You can do so by adding the following to your API definition:
45+
```yml
46+
MyUnionType:
47+
union:
48+
UnionValue1:
49+
docs: The first union value
50+
type: string
51+
display-name: Union Value One
52+
availability: beta
53+
UnionValue2:
54+
docs: The second union value
55+
type: integer
56+
display-name: Union Value Two
57+
availability: deprecated
58+
```
59+
60+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## 0.41.14-rc2
2+
**`(internal):`** Remove bang operator and fix eslint warning in `compatible-ir-versions.ts`.
3+
4+
## 0.41.14-rc1
5+
**`(feat):`** Running `fern check` will now check to confirm that the generator versions you are running are compatible with your Fern CLI version.
6+
7+
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
8+
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:
9+
10+
`The generator fernapi/fern-python-sdk requires CLI version 0.23.0-rc4 or later (current version: 0.1.3-rc0).`
11+
12+
Indicating that you must upgrade your CLI in order to leverage the current generator.
13+
14+
15+
### What's new
16+
- Running `fern check` will now check to confirm that the generator versions you are running are compatible with your Fern CLI version.
17+
- Fern commands now print out generator upgrades, in addition to CLI upgrades.
18+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## 0.42.0-rc0
2+
**`(feat):`** The Fern Definition now supports `conten-type` on multipart request properties.
3+
For example, to specify an `application/octet-stream` and `application/json`
4+
contnet types, use the snippet below:
5+
6+
```ts
7+
service:
8+
endpoints:
9+
upload:
10+
request:
11+
body:
12+
properties:
13+
file:
14+
type: file
15+
content-type: application/octet-stream
16+
metadata:
17+
type: unknown
18+
content-type: application/json
19+
```
20+
21+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## 0.42.1
2+
**`(fix):`** Make sure to check for optionality when parsing stdout and stderr in CLI. This
3+
removes the error: `Cannot read properties of undefined (reading 'includes')`.
4+
5+
6+
## 0.42.0
7+
**`(fix):`** If you merge multiple OpenAPI specs with namespaces, `fern check` will no longer
8+
complain about duplicate schema names across namespaces.
9+
In the example below, both OpenAPI specs can have duplicative schema names and
10+
that is okay.
11+
```yml
12+
api:
13+
specs:
14+
- openapi: openapi-bar.yml
15+
namespace: bar
16+
- openapi: openapi-foo.yml
17+
namespace: foo
18+
```
19+
20+
21+
## 0.41.16
22+
**`(fix):`** Previously the OpenAPI converter would incorrectly mark
23+
the values of `additionalProperties` as optional. Now, we have
24+
introduced a feature flag to turn this behavior off.
25+
26+
The feature flag can be configured in generators.yml:
27+
```yml
28+
api:
29+
specs:
30+
- openapi: /path/to/openapi
31+
settings:
32+
optional-additional-properties: false
33+
```
34+
35+
36+
## 0.41.15
37+
**`(internal):`** Performance improvements for stringifiying large Intermediate Representations. If
38+
you have a large OpenAPI spec or Fern Definition, this can potentially shave off
39+
minutes from `fern generate`.
40+
41+
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
## 0.42.8
2+
**`(fix):`** The API V2 configuration (in beta) now supports global header overrides.
3+
This fixes a bug where those header overrides were getting dropped in
4+
certain cases.
5+
6+
```yml generators.yml
7+
api:
8+
headers:
9+
X-API-VERSION: string
10+
specs:
11+
- openapi: /path/to/openapi
12+
overrides: /path/to/overrides
13+
```
14+
15+
16+
## 0.42.7
17+
**`(feat):`** The API V2 configuration (in beta) now supports global header
18+
overrides. To specify global headers that are not in your
19+
OpenAPI spec, simply add the following block in your `generators.yml`:
20+
21+
```yml generators.yml
22+
api:
23+
headers:
24+
X-API-VERSION: string
25+
specs:
26+
- openapi: /path/to/openapi
27+
overrides: /path/to/overrides
28+
```
29+
30+
31+
## 0.42.6
32+
**`(fix):`** Removes extraneous conditional error within namespacing configuration
33+
34+
## 0.42.5
35+
**`(feat):`** Adds additional metadata retrievable by `fern generator get` so you can now get the language and the target repo.
36+
37+
## 0.42.4
38+
**`(fix):`** Namespaced APIs now:
39+
- No longer contain duplicative nesting of some endpoint within another package of the same name as the namespace
40+
- Respect the `x-fern-sdk-group-name` annotation for endpoints
41+
42+
43+
## 0.42.3
44+
**`(fix):`** The OpenAPI importer now supports handling encoding on multipart requests.
45+
Previously, the generators would not respect the `contentType` field for
46+
each form input. But, now they do.
47+
```yml
48+
requestBody:
49+
content:
50+
multipart/form-data:
51+
schema:
52+
type: object
53+
properties:
54+
file:
55+
type: string
56+
format: binary
57+
description: The file to upload
58+
encoding:
59+
file:
60+
contentType: "application/octet-stream"
61+
```
62+
63+
64+
**`(fix):`** The OpenAPI importer now correctly parses descriptions of multipart
65+
form requests. Previously these descriptions would be ignored.
66+
67+
For example, previously the description `The file to upload` would be
68+
ignored in the example below.
69+
```yml
70+
requestBody:
71+
content:
72+
multipart/form-data:
73+
schema:
74+
type: object
75+
properties:
76+
file:
77+
type: string
78+
format: binary
79+
description: The file to upload
80+
```
81+
82+
83+
## 0.42.2
84+
**`(fix):`** Error bodies are now appropriately namespaced as well!
85+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## 0.42.11
2+
**`(fix):`** The API V2 configuration now supports disabling using titles as schema
3+
names. You may want to disable this flag if your OpenAPI adds the same
4+
title to multiple schemas.
5+
6+
```
7+
api:
8+
specs:
9+
- openapi: /path/to/openapi
10+
settings:
11+
use-title-as-schema-name: false
12+
```
13+
14+
15+
## 0.42.10
16+
**`(fix):`** Previously, the OpenAPI converter would bring over `title` on every
17+
single property. This field is extraneous, so now we ignore it.
18+
19+
20+
## 0.42.9
21+
**`(fix):`** Previously, the OpenAPI importer would ignore skip parsing arbitrary
22+
content types "*/*". Now it treats this content type as application/json.
23+
24+
```json openapi.json
25+
"responses": {
26+
"200": {
27+
"description": "Success reply",
28+
"content": {
29+
"*/*": {
30+
```
31+
32+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## 0.42.13
2+
**`(fix):`** Example generation now intelligently truncates container examples, for example if the depth limit will be reached on a list of objects,
3+
the list will be returned as an empty list, as opposed the previous behavior where an unknown object would be created.
4+
5+
6+
## 0.42.12
7+
**`(fix):`** Previously, deploying docs from Windows machines led to bad asset paths.
8+
Now, the CLI respects Windows paths during run and web paths for retrieving
9+
assets.
10+
11+

0 commit comments

Comments
 (0)