Skip to content

Commit abc8f41

Browse files
committed
Merge branch 'main' into scalable-subdomains
2 parents a516edc + 3d2ddb6 commit abc8f41

File tree

10 files changed

+147
-54
lines changed

10 files changed

+147
-54
lines changed

advanced/subpath/route53-cloudfront.mdx

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,23 @@ To host your documentation at a custom subpath such as `yoursite.com/docs` using
1212

1313
Your documentation files must be organized within your repository to match your chosen subpath structure. For example, if you want your documentation at `yoursite.com/docs`, you would create a `docs/` directory with all of your documentation files.
1414

15-
## Proxies with Vercel deployments
15+
## High-level overview
1616

17-
If you use AWS CloudFront as a proxy with Vercel deployments, you must configure CloudFront to avoid interfering with Vercel's domain verification and SSL certificate provisioning.
18-
19-
Improper CloudFront configuration can prevent Vercel from provisioning Let's Encrypt SSL certificates and cause domain verification failures.
20-
21-
### Required path allowlist
22-
23-
CloudFront must allow traffic to these specific paths without caching or blocking:
17+
Route traffic to these paths with a Cache Policy of **CachingDisabled**:
2418

2519
- `/.well-known/acme-challenge/*` - Required for Let's Encrypt certificate verification
26-
- `/.well-known/vercel/*` - Required for Vercel domain verification
20+
- `/.well-known/vercel/*` - Required for domain verification
21+
- `/docs/*` - Required for subpath routing
22+
- `/docs/` - Required for subpath routing
2723

28-
These paths should be configured to bypass CloudFront caching and pass through directly to your origin.
24+
Route traffic to this path with a Cache Policy of **CachingEnabled**:
2925

30-
### Header forwarding requirements
26+
- `/mintlify-assets/_next/static/*`
27+
- `Default (*)` - Your websites landing page
3128

32-
You must create a custom origin request policy that forwards the `HOST` header and client IP information correctly. This is critical for Vercel's verification processes.
29+
All Behaviors must have the an **origin request policy** of `AllViewerExceptHostHeader`.
3330

34-
1. Create a custom origin request policy named `VercelCloudFrontProxy`.
35-
2. Include the `Origin` and `CloudFront-Viewer-Address` headers.
36-
37-
You must include the `CloudFront-Viewer-Address` header in your origin request policy or cache policy headers configuration to forward the header to your origin.
31+
![CloudFront "Behaviors" page with 4 behaviors: `/docs/*`, `/docs`, `Default`, and `/.well-known/*`.](/images/cloudfront/all-behaviors.png)
3832

3933
## Create CloudFront distribution
4034

@@ -124,12 +118,7 @@ If `.well-known/*` is too generic, it can be narrowed down to 2 behaviors at a m
124118
Create a behavior with a **Path pattern** of your chosen subpath, for example `/docs`, with **Origin and origin groups** pointing to the `.mintlify.dev` URL (in our case `acme.mintlify.dev`).
125119

126120
- Set "Cache policy" to **CachingOptimized**.
127-
- In "Origin request policy", create an origin request policy named **VercelCloudFrontProxy**. That forwards the `Origin` and `CloudFront-Viewer-Address` headers.
128-
129-
<Frame>
130-
![CloudFront Create origin request policy page that forwards the `Origin` and `CloudFront-Viewer-Address` headers](/images/cloudfront/origin-request-policy.png)
131-
</Frame>
132-
121+
- Set "Origin request policy" to **AllViewerExceptHostHeader**.
133122
- Set Viewer Protocol Policy to **Redirect HTTP to HTTPS**
134123

135124
<Frame>
@@ -143,9 +132,15 @@ Create a behavior with a **Path pattern** of your chosen subpath followed by `/*
143132
These settings should exactly match your base subpath behavior. With the exception of the **Path pattern**.
144133

145134
- Set "Cache policy" to **CachingOptimized**.
146-
- Set "Origin request policy" to **VercelCloudFrontProxy**.
135+
- Set "Origin request policy" to **AllViewerExceptHostHeader**.
147136
- Set "Viewer protocol policy" to **Redirect HTTP to HTTPS**
148137

138+
### `/mintlify-assets/_next/static/*`
139+
140+
- Set "Cache policy" to **CachingOptimized**
141+
- Set "Origin request policy" to **AllViewerExceptHostHeader**
142+
- Set "Viewer protocol policy" to **Redirect HTTP to HTTPS**
143+
149144
### `Default (*)`
150145

151146
Lastly, we're going to edit the `Default (*)` behavior.

advanced/subpath/vercel.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Your external proxy must allow traffic to these specific paths without blocking,
6464

6565
- `/.well-known/acme-challenge/*` - Required for Let's Encrypt certificate verification
6666
- `/.well-known/vercel/*` - Required for Vercel domain verification
67+
- `/mintlify-assets/_next/static/*` - Required for static assets
6768

6869
These paths should pass through directly to your Vercel deployment without modification.
6970

changelog.mdx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,50 @@ rss: true
55
noindex: true
66
---
77

8+
<Update label="August 31 - September 13" tags={["New releases", "Improvements"]} rss={{ title: "Weekly Updates", description: "AI 404 suggestions, assistant web search with external sources, security enhancement, and reliability fixes" }}>
9+
10+
## Major releases
11+
12+
- **Major enhancement**: AI suggested pages on 404 pages, [when someone hits a dead link → AI agent reads the path → suggests semantically similar pages](https://x.com/mintlify/status/1966625627773059495)
13+
- **Major release**: web search for assistant can now include external sources
14+
_Note: Contact us to enable this feature for your site._
15+
16+
## Assistant and MCP
17+
18+
- Fixed a bug where the assistant would be incorrectly rate limited due to time window not sliding correctly
19+
- Fixed a bug with assistant tool calling to properly handle empty `text` blocks
20+
- Fixed a bug where MCP server name's concatenated with tool calls were sometimes exceeding the 60 character length MCP clients enforce
21+
- Fixed a bug where the assistant menu would have a height several times larger than the viewport and scroll forever
22+
- Fixed a bug where assistant spend values could display with greater than two decimal places in the dashboard
23+
24+
## Web editor and deployments
25+
26+
- Security enhancement added to editor such that only users with `write permissions` for the connected git hosting repository can make changes
27+
- Fixed a bug where preview deployments wouldn't work for branches with `=` in the name
28+
- Fixed a bug where long branch names would overflow modals on preview deployment creations
29+
- Quality of life improvement where email query parameter will prefill the input on signup invitations
30+
- Fixed a bug where copying a page from the context menu was not working on safari
31+
32+
## API playground and navigation
33+
34+
- Multiple API playground response codes now display in a controlled styled select menu instead of the system default select menu when focused
35+
- You can now use the [`expanded` field on navigation groups in your `docs.json` to make them be default open](https://mintlify.com/docs/navigation#default-expanded-state)
36+
37+
## SEO and UI
38+
39+
- Fixed a bug where favicons were not showing up in search engines by serving them from the same URL as the documentation site itself for each respective site
40+
- Fixed a bug where youtube embeds would flash in and out on load
41+
- Fixed a bug where expanding the feedback menu to include written responses would cause layout shift with the table of contents
42+
- Fixed a bug where text would leak above the topbar on the maple theme when a dismissed the notification banner
43+
- Enhanced the Maple and Willow themes by adding login/logout buttons to the sidebar for easier access
44+
45+
## Analytics and exports
46+
47+
- Fixed reliability issues with assistant analytics view and exports
48+
- Assistant analytics exports are now executed in the background and sent via email for a more reliable experience
49+
50+
</Update>
51+
852
<Update label="August 24 - August 30" tags={["Improvements"]} rss={{ title: "Weekly Updates", description: "Enhanced feedback collection, navigation improvements, and authentication bug fixes" }}>
953

1054
## Major release: Enhanced feedback collection

docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@
144144
"guides/changelogs",
145145
"guides/hidden-pages",
146146
"settings/broken-links",
147+
"settings/custom-404-page",
147148
"guides/monorepo",
148149
{
149150
"group": "Custom Subdirectory",

editor/branches.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Working with branches"
33
description: "Use branches to make and review changes without affecting your live documentation"
44
---
55

6-
Branches are a feature of version control that point to specific commits in your repository. Your deployment branch, usually called `main`, represents the content that is used to build your live documentation. All other branches are independent of your live docs unless you choose to merge them into your deployment branhc.
6+
Branches are a feature of version control that point to specific commits in your repository. Your deployment branch, usually called `main`, represents the content that is used to build your live documentation. All other branches are independent of your live docs unless you choose to merge them into your deployment branch.
77

88
Branches let you create separate instances of your documentation to make changes, get reviews, and try new approaches before publishing. Your team can work on branches to update different parts of your documentation at the same time without affecting what users see on your live site until you publish any changes.
99

20.8 KB
Loading

images/cloudfront/behavior-1.png

14.8 KB
Loading

navigation.mdx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Use groups to organize your sidebar navigation into sections. Groups can be nest
5757
alt=""
5858
/>
5959

60-
In the `navigation` object, `groups` is an array where each entry is an object that requires a `group` field and a `pages` field. The `icon` and `tag` fields are optional.
60+
In the `navigation` object, `groups` is an array where each entry is an object that requires a `group` field and a `pages` field. The `icon`, `tag`, and `expanded` fields are optional.
6161

6262
```json
6363
{
@@ -66,6 +66,7 @@ In the `navigation` object, `groups` is an array where each entry is an object t
6666
{
6767
"group": "Getting started",
6868
"icon": "play",
69+
"expanded": false,
6970
"pages": [
7071
"quickstart",
7172
{
@@ -92,6 +93,18 @@ In the `navigation` object, `groups` is an array where each entry is an object t
9293
}
9394
```
9495

96+
### Default expanded state
97+
98+
Set `expanded: true` on a group to make it expanded by default in the navigation sidebar. This is useful for highlighting important sections or improving discoverability of key content.
99+
100+
```json
101+
{
102+
"group": "Getting started",
103+
"expanded": true,
104+
"pages": ["quickstart", "installation"]
105+
}
106+
```
107+
95108
## Tabs
96109

97110
Tabs create distinct sections of your documentation with separate URL paths. Tabs create a horizontal navigation bar at the top of your documentation that lets users switch between sections.

settings/custom-404-page.mdx

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: "Custom 404 page"
3+
description: "Customize the title and description of your 404 error page"
4+
icon: "file-warning"
5+
---
6+
7+
You can control the title and description of the 404 error page that appears when users navigate to broken or missing links.
8+
9+
When customizing your 404 page, use the description to guide users to helpful resources or links in your documentation that can help them find what they're looking for.
10+
11+
## Configuration
12+
13+
Configure your 404 page in the `errors.404` section of your `docs.json` file:
14+
15+
```json
16+
"errors": {
17+
"404": {
18+
"redirect": false,
19+
"title": "I can't be found",
20+
"description": "What ever **happened** to this _page_?"
21+
}
22+
}
23+
```
24+
25+
## Parameters
26+
27+
<ResponseField name="redirect" type="boolean">
28+
Whether to automatically redirect to the home page when a page is not found.
29+
30+
Set to `true` to redirect to the home page.
31+
32+
Set to `false` to show the custom 404 page.
33+
</ResponseField>
34+
35+
<ResponseField name="title" type="string">
36+
Custom title for the 404 error page. This replaces the default "Page not found" heading.
37+
</ResponseField>
38+
39+
<ResponseField name="description" type="string">
40+
Custom description for the 404 error page. Supports Markdown formatting.
41+
</ResponseField>

settings/gitlab.mdx

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,46 @@ description: "Sync your docs with a GitLab repo"
44
icon: "gitlab"
55
---
66

7-
We use a combination of Access tokens and Webhooks to authenticate and sync
8-
changes between GitLab and Mintlify.
7+
We use access tokens and webhooks to authenticate and sync changes between GitLab and Mintlify.
98

10-
- We use Access tokens to pull information from GitLab.
11-
- We use Webhooks so GitLab can notify Mintlify when changes are made.
12-
- This allows Mintlify to create preview deployments when a MR is created.
9+
- Mintlify uses access tokens to pull information from GitLab.
10+
- GitLab uses webhooks to notify Mintlify when changes are made, enabling preview deployments for merge requests.
1311

1412
## Set up the connection
1513

1614
<Steps>
1715
<Step title="Find your project ID">
18-
Within your GitLab project, navigate to `Settings` > `General` and find the `Project ID`.
16+
In your GitLab project, navigate to **Settings** > **General** and locate your **Project ID**.
1917
<Frame>
20-
<img src="/images/gitlab/gitlab-project-id.png" />
18+
<img src="/images/gitlab/gitlab-project-id.png" alt="The General Settings page in the GitLab dashboard. The Project ID is highlighted." />
2119
</Frame>
2220
</Step>
2321
<Step title="Generate an access token">
24-
a. Navigate to `Settings` > `Access Tokens`.
25-
26-
b. Select `Add new token`.
27-
1. Name the token "Mintlify".
28-
2. If you have a private repo, you must set the role as `Maintainer`.
29-
3. Choose `api` and `read_api` for the scopes.
30-
31-
c. Finally click `Create project access token` and copy the token.
22+
Navigate to **Settings** > **Access Tokens** and select **Add new token**.
23+
24+
Configure the token with these settings:
25+
- **Name**: Mintlify
26+
- **Role**: Maintainer (required for private repos)
27+
- **Scopes**: `api` and `read_api`
28+
29+
Click **Create project access token** and copy the token.
30+
31+
<Note>
32+
If Project Access Tokens are not available, you can use a Personal Access Token instead. Note that Personal Access Tokens expire and must be updated.
33+
</Note>
3234

3335
<Frame>
34-
<img src="/images/gitlab/gitlab-project-access-token.png" />
36+
<img src="/images/gitlab/gitlab-project-access-token.png" alt="The Access tokens page in the GitLab dashboard. The settings to configure for Mintlify are highlighted." />
3537
</Frame>
3638

3739
</Step>
3840
<Step title="Set up the connection">
39-
Within the [Mintlify dashboard](https://dashboard.mintlify.com/settings/deployment/git-settings), add the project ID and access token from the previous steps alongside the other configurations. Click "Save Changes" when you're done.
41+
In the [Mintlify dashboard](https://dashboard.mintlify.com/settings/deployment/git-settings):
42+
1. Enter your project ID and access token.
43+
2. Complete any other required configurations.
44+
3. Click **Save Changes**.
4045
<Frame>
41-
<img src="/images/gitlab/gitlab-config.png" />
46+
<img src="/images/gitlab/gitlab-config.png" alt="The Git Settings page in the Mintlify dashboard. The GitLab configuration settings are highlighted." />
4247
</Frame>
4348
</Step>
4449
</Steps>
@@ -65,13 +70,13 @@ automatically trigger deployments.
6570
</Frame>
6671
</Step>
6772
<Step title="Select events">
68-
Select the events you want to trigger the webhook:
69-
- Push events (All branches)
70-
- Merge requests events
73+
Select these events to trigger the webhook:
74+
- **Push events** (All branches)
75+
- **Merge requests events**
7176

7277
When you're done it should look like this:
7378
<Frame>
74-
<img src="/images/gitlab/gitlab-project-webtoken.png" />
79+
<img src="/images/gitlab/gitlab-project-webtoken.png" alt="The Webhook page in the GitLab dashboard. The settings to configure for Mintlify are highlighted." />
7580
</Frame>
7681
</Step>
7782
<Step title="Test the Webhook">
@@ -84,10 +89,3 @@ automatically trigger deployments.
8489

8590
</Step>
8691
</Steps>
87-
88-
<Note>
89-
Reach out to the Mintlify team if you need help. Contact us
90-
[here](https://mintlify.com/enterprise).
91-
</Note>
92-
93-
[git-settings]: https://dashboard.mintlify.com/settings/deployment/git-settings

0 commit comments

Comments
 (0)