Skip to content

Commit e7aa749

Browse files
committed
Merge branch 'main' of https://github.com/fern-api/docs into fern/document-named-preview-links
2 parents 73e6c87 + 31f3692 commit e7aa749

24 files changed

Lines changed: 377 additions & 40 deletions

fern/fern.config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"organization": "fern",
3-
"version": "4.35.0"
3+
"version": "4.37.4"
44
}

fern/products/cli-api-reference/cli-changelog/2023-08-01.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
properties:
66
typesReferencedOnlyByService:
77
docs: "Types referenced by exactly one service."
8-
type: ``map<commons.ServiceId, list<commons.TypeId>>``
8+
type: `map<commons.ServiceId, list<commons.TypeId>>`
99
sharedTypes:
1010
docs: "Types referenced by either zero or multiple services."
11-
type: ``list<commons.TypeId>``
11+
type: `list<commons.TypeId>`
1212
```
1313

fern/products/cli-api-reference/cli-changelog/2024-09-04.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ use them in alias declarations to minimize code duplication:
4848

4949
```yml
5050
types:
51-
``GenericTest<T>``:
51+
`GenericTest<T>`:
5252
properties:
5353
value: T
5454
other-value: string
5555

5656
GenericApplication:
57-
type: ``GenericTest<string>``
57+
type: `GenericTest<string>`
5858
```
5959
6060
More information can be found here: https://buildwithfern.com/learn/api-definition/fern/types#generics.

fern/products/cli-api-reference/cli-changelog/2025-01-14.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ types:
2424
User:
2525
properties:
2626
name: string
27-
email: ``nullable<string>``
27+
email: `nullable<string>`
2828
```
2929

3030

fern/products/cli-api-reference/cli-changelog/2025-08-14.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ service:
4040
request:
4141
body:
4242
properties:
43-
author: ``optional<string>``
44-
tags: ``optional<list<string>>``
45-
title: ``optional<string>``
43+
author: `optional<string>`
44+
tags: `optional<list<string>>`
45+
title: `optional<string>`
4646
content-type: application/json
4747
name: UploadDocumentRequest
4848
...

fern/products/cli-api-reference/cli-changelog/2026-03-17.mdx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## 4.35.0
2+
**`(feat):`** Add `--id` flag to `fern generate --docs --preview` for stable preview
3+
URLs. When `--id <name>` is provided, the preview domain uses the given
4+
identifier instead of a random UUID, so subsequent runs with the same ID
5+
overwrite the previous preview and the URL stays constant. In non-CI
6+
environments the CLI checks whether the preview already exists and
7+
prompts for confirmation before overwriting (skip with `--force`).
8+
9+
110
## 4.34.0
211
**`(feat):`** Add `infer-default-environment` API definition setting. When set to `false`,
312
the OpenAPI importer will not automatically designate the first server as the

fern/products/cli-api-reference/cli-changelog/2026-03-18.mdx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
1+
## 4.37.1
2+
**`(fix):`** Optimize protobuf buf generate to reuse a single working directory
3+
across all proto files. Instead of creating a new temp dir, copying
4+
the proto root, checking binaries, and resolving deps for every file,
5+
setup is done once and only `buf generate <target>` runs per file.
6+
The two buf generate passes (protoc-gen-openapi and protoc-gen-fern)
7+
also now run concurrently.
8+
9+
10+
## 4.37.0
11+
**`(feat):`** Auto-download `buf` CLI binary from GitHub Releases when it is not found
12+
on PATH. This eliminates the need for users to pre-install `buf` before
13+
running proto-based SDK generation. The binary is cached at `~/.fern/bin/`
14+
with versioning, filesystem locking, and atomic file operations.
15+
16+
17+
## 4.36.1
18+
**`(fix):`** Fix `getLatestRelease` returning semver prerelease tags (e.g.
19+
`0.0.0-dev-babaf54d`) as the latest release. When GitHub's "latest
20+
release" API returns a tag that is a semver prerelease, the CLI now
21+
falls back to scanning recent releases for the first stable
22+
(non-prerelease, non-draft) version. This prevents
23+
`computeSemanticVersion` from computing incorrect next versions.
24+
25+
26+
## 4.36.0
27+
**`(feat):`** Auto-download `protoc-gen-openapi` binary from GitHub Releases when it is
28+
not found on PATH. This eliminates the need to install Go and compile
29+
`protoc-gen-openapi` from source on every CI run, reducing proto-based
30+
SDK generation setup time by ~40 seconds.
31+
32+
133
## 4.34.1
234
**`(fix):`** Include available group names in the error message when no group is
335
specified and no default-group is set. The error now lists all groups
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## 4.37.4
2+
**`(fix):`** Sanitize preview IDs before sending to FDR API to ensure valid DNS subdomains.
3+
4+
5+
## 4.37.3
6+
**`(fix):`** Sanitize preview IDs passed via `--id` to produce valid DNS subdomain
7+
labels.
8+
9+
10+
## 4.37.2
11+
**`(fix):`** Remove `cli-progress` from the published `fern-api` package's runtime
12+
dependencies. The package is a pure JS library that is already bundled
13+
into the CLI output by tsup, so it does not need to be installed
14+
separately at runtime.
15+
16+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
tags: ["security"]
3+
---
4+
5+
## Password-based RBAC
6+
7+
You can now set up multiple passwords in the Dashboard, each mapped to a different role. Combined with [role-based access control (RBAC)](/learn/docs/authentication/features/rbac), this lets you control which pages and sections different groups can access — without needing JWT or OAuth.
8+
9+
To get started, go to **Settings** > **Password** in the [Dashboard](https://dashboard.buildwithfern.com/).
10+
11+
<Button intent="none" outlined rightIcon="arrow-right" href="/learn/dashboard/configuration/password-protection">Read the docs</Button>

fern/products/dashboard/pages/password-protection.mdx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Manage password protection for your documentation site from the Fer
55

66
<Markdown src="/snippets/team-plan.mdx"/>
77

8-
Protect your published documentation site with a shared password directly from the [Fern Dashboard](https://dashboard.buildwithfern.com/). When enabled, visitors must enter the password before they can view any content.
8+
Protect your published documentation site with a shared password directly from the [Fern Dashboard](https://dashboard.buildwithfern.com/). When enabled, visitors must enter the password before they can view any content. You can also set up multiple passwords for use with [RBAC](/learn/docs/authentication/features/rbac).
99

1010
<Note>
1111
Password-protected sites aren't indexed by search engines.
@@ -26,18 +26,23 @@ Navigate to the [Fern Dashboard](https://dashboard.buildwithfern.com/) and selec
2626
Open the **Settings** page for your docs site. You'll see a **Password** card at the top of the page.
2727
</Step>
2828

29-
<Step title="Set a password">
29+
<Step title="Set password(s)">
3030

31-
Enter a password and click **Save**. A confirmation dialog will appear — select **Enable** to activate password protection.
31+
Enter a single password for your entire set, or select **Add roles** to add multiple passwords that are each mapped to a user role you define. You can add a maximum of three user roles. Click **Save** to activate password protection.
3232

33-
Once enabled, the card displays the current password along with when and by whom it was last updated.
33+
Once enabled, the card displays the current password(s) along with when and by whom they were last updated.
34+
</Step>
35+
36+
<Step title="Configure RBAC (optional)">
37+
38+
If you set up multiple passwords with different user roles, configure [role-based access control (RBAC)](/learn/docs/authentication/features/rbac) in `docs.yml` to restrict pages and sections of your site by role.
3439
</Step>
3540
</Steps>
3641

3742
## Manage password protection
3843

39-
In the same dialog, you can **Reset** the password, or **Remove** the password to make your site publicly accessible.
44+
In the same dialog, you can **Reset** the password(s), or **Remove** the password(s) to make your site publicly accessible.
4045

41-
<Note title="Roles">
42-
All [role types](/learn/dashboard/configuration/permissions) can view the current password. Only Admins can set, reset, or remove a password.
46+
<Note>
47+
All [members](/learn/dashboard/configuration/permissions) can view the current password(s). Only Admins can set, reset, or remove a password.
4348
</Note>

0 commit comments

Comments
 (0)