Skip to content

Commit c284994

Browse files
committed
Merge branch 'production' into tori/frameworks-IA-revamp
2 parents 9ad9f9a + bc85073 commit c284994

File tree

91 files changed

+509
-301
lines changed

Some content is hidden

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

91 files changed

+509
-301
lines changed
226 KB
Loading
160 KB
Loading

src/components/overrides/PageTitle.astro

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -75,26 +75,34 @@ const hideTitle = Astro.locals.starlightRoute.hideTitle;
7575
const hideBreadcrumbs = Astro.locals.starlightRoute.hideBreadcrumbs;
7676
---
7777

78-
{
79-
!hideBreadcrumbs && (
80-
<Breadcrumbs {...breadcrumbProps}>
81-
<svg
82-
slot="separator"
83-
xmlns="http://www.w3.org/2000/svg"
84-
width="24"
85-
height="24"
86-
viewBox="0 0 24 24"
87-
fill="none"
88-
stroke="currentColor"
89-
stroke-width="2"
90-
stroke-linecap="round"
91-
stroke-linejoin="round"
92-
>
93-
<polyline points="9 18 15 12 9 6" />
94-
</svg>
95-
</Breadcrumbs>
96-
)
97-
}
78+
<div class="flex items-center justify-between">
79+
{
80+
!hideBreadcrumbs && (
81+
<Breadcrumbs {...breadcrumbProps}>
82+
<svg
83+
slot="separator"
84+
xmlns="http://www.w3.org/2000/svg"
85+
width="24"
86+
height="24"
87+
viewBox="0 0 24 24"
88+
fill="none"
89+
stroke="currentColor"
90+
stroke-width="2"
91+
stroke-linecap="round"
92+
stroke-linejoin="round"
93+
>
94+
<polyline points="9 18 15 12 9 6" />
95+
</svg>
96+
</Breadcrumbs>
97+
)
98+
}
99+
100+
{
101+
frontmatter.template !== "splash" && (
102+
<CopyPageButton client:idle />
103+
)
104+
}
105+
</div>
98106

99107
{!hideTitle && <Default />}
100108

@@ -124,14 +132,6 @@ const hideBreadcrumbs = Astro.locals.starlightRoute.hideBreadcrumbs;
124132
)
125133
}
126134

127-
{
128-
frontmatter.template !== "splash" && (
129-
<div class="flex items-center justify-end">
130-
<CopyPageButton client:idle />
131-
</div>
132-
)
133-
}
134-
135135
<style>
136136
:root {
137137
--color-link-breadcrumbs: var(--sl-color-text-accent);

src/content/changelog/ai-gateway/2025-06-03-aig-openai-compatible-endpoint.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import OpenAI from "openai";
1414
const client = new OpenAI({
1515
apiKey: "YOUR_PROVIDER_API_KEY", // Provider API key
1616
baseURL:
17-
"https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions",
17+
"https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat",
1818
});
1919

2020
const response = await client.chat.completions.create({
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: New Account-Level Load Balancing UI and Private Load Balancers
3+
description: You can now manage all of your load balancers in one place with the new Load Balancing UI.
4+
date: 2025-06-04
5+
---
6+
7+
We've made two large changes to load balancing:
8+
- Redesigned the user interface, now centralized at the **account level**.
9+
- Introduced [**Private Load Balancers**](/load-balancing/private-network/) to the UI, enabling you to manage traffic for all of your external and internal applications in a single spot.
10+
11+
This update streamlines how you manage load balancers across multiple zones and extends robust traffic management to your private network infrastructure.
12+
13+
![Load Balancing UI](~/assets/images/changelog/load-balancing/account-load-balancing-ui.png)
14+
15+
**Key Enhancements:**
16+
17+
- **Account-Level UI Consolidation:**
18+
19+
- **Unified Management:** Say goodbye to navigating individual zones for load balancing tasks. You can now view, configure, and monitor all your load balancers across every zone in your account from a single, intuitive interface at the account level.
20+
21+
- **Improved Efficiency:** This centralized approach provides a more streamlined workflow, making it faster and easier to manage both your public-facing and internal traffic distribution.
22+
23+
- **Private Network Load Balancing:**
24+
25+
- **Secure Internal Application Access:** Create [**Private Load Balancers**](/load-balancing/private-network/) to distribute traffic to applications hosted within your private network, ensuring they are not exposed to the public Internet.
26+
27+
- **WARP & Magic WAN Integration:** Effortlessly direct internal traffic from users connected via Cloudflare WARP or through your Magic WAN infrastructure to the appropriate internal endpoint pools.
28+
29+
- **Enhanced Security for Internal Resources:** Combine reliable Load Balancing with Zero Trust access controls to ensure your internal services are both performant and only accessible by verified users.
30+
31+
![Private Load Balancers](~/assets/images/changelog/load-balancing/private-load-balancer.png)

src/content/docs/agents/model-context-protocol/mcp-agent-api.mdx

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,21 @@ When you build MCP Servers on Cloudflare, you extend the [`McpAgent` class](http
1313

1414
```ts title="src/index.ts"
1515
import { McpAgent } from "agents/mcp";
16-
import { DurableMCP } from "@cloudflare/model-context-protocol";
16+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
17+
import { z } from "zod";
1718

1819
export class MyMCP extends McpAgent {
19-
server = new McpServer({ name: "Demo", version: "1.0.0" });
20-
21-
async init() {
22-
this.server.tool(
23-
"add",
24-
{ a: z.number(), b: z.number() },
25-
async ({ a, b }) => ({
26-
content: [{ type: "text", text: String(a + b) }],
27-
}),
28-
);
29-
}
20+
server = new McpServer({ name: "Demo", version: "1.0.0" });
21+
22+
async init() {
23+
this.server.tool(
24+
"add",
25+
{ a: z.number(), b: z.number() },
26+
async ({ a, b }) => ({
27+
content: [{ type: "text", text: String(a + b) }],
28+
}),
29+
);
30+
}
3031
}
3132
```
3233

@@ -48,6 +49,19 @@ You can use the APIs below in order to do so.
4849
#### Hibernation Support
4950
`McpAgent` instances automatically support [WebSockets Hibernation](/durable-objects/best-practices/websockets/#websocket-hibernation-api), allowing stateful MCP servers to sleep during inactive periods while preserving their state. This means your agents only consume compute resources when actively processing requests, optimizing costs while maintaining the full context and conversation history.
5051

52+
Hibernation is enabled by default and requires no additional configuration.
53+
54+
#### Authentication & Authorization
55+
56+
The McpAgent class provides seamless integration with the [OAuth Provider Library](https://github.com/cloudflare/workers-oauth-provider) for [authentication and authorization](/agents/model-context-protocol/authorization/).
57+
58+
When a user authenticates to your MCP server, their identity information and tokens are made available through the `props` parameter, allowing you to:
59+
60+
- access user-specific data
61+
- check user permissions before performing operations
62+
- customize responses based on user attributes
63+
- use authentication tokens to make requests to external services on behalf of the user
64+
5165
### State synchronization APIs
5266

5367
The `McpAgent` class makes the following subset of methods from the [Agents SDK](/agents/api-reference/agents-api/) available:

src/content/docs/ai-gateway/chat-completion.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ Specify the model using `{provider}/{model}` format. For example:
3333
import OpenAI from "openai";
3434
const client = new OpenAI({
3535
apiKey: "YOUR_PROVIDER_API_KEY", // Provider API key
36-
baseURL:
37-
"https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions",
36+
// NOTE: the OpenAI client automatically adds /chat/completions to the end of the URL, you should not add it yourself.
37+
baseURL: "https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat",
3838
});
3939

4040
const response = await client.chat.completions.create({

src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/reference/versioning.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sidebar:
66
head:
77
- tag: title
88
content: Deprecation notice for SSL for SaaS - Version 1
9-
9+
chatbot_deprioritize: true
1010
---
1111

1212
The first version of SSL for SaaS will be deprecated on September 1, 2021.
@@ -59,7 +59,7 @@ SSL for SaaS v2 is functionally equivalent to SSL for SaaS v1, but removes the r
5959

6060
:::note
6161

62-
SSL for SaaS v2 is now called Cloudflare for SaaS.
62+
SSL for SaaS v2 is now called Cloudflare for SaaS.
6363
:::
6464

6565
## What happens during the migration?

src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/renew-certificates.mdx

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,28 @@ head:
1111

1212
import { Render } from "~/components"
1313

14-
The exact method for certificate renewal depends on whether that hostname is proxying traffic through Cloudflare and whether it is a wildcard certificate.
14+
The exact method for certificate renewal depends on whether that hostname is active[^1] and whether it is a wildcard certificate.
1515

1616
Custom hostnames certificates have a 90-day validity period and are available for renewal 30 days before their expiration.
1717

1818
## Non-wildcard hostnames
1919

20-
If you are using a non-wildcard hostname and proxying traffic through Cloudflare, Cloudflare will try to perform DCV automatically on the hostnames behalf by serving the [HTTP token](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/http/).
20+
If you are using a non-wildcard hostname and the hostname is active, Cloudflare will try to perform DCV automatically on the hostname's behalf by serving the [HTTP token](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/http/).
2121

22-
If the custom hostname is not proxying traffic through Cloudflare, then the custom hostname domain owner will need to add the TXT or HTTP DCV token for the new certificate to validate and issue. As the SaaS provider, you will be responsible for sharing this token with the custom hostname domain owner.
22+
If the custom hostname is not active, then the custom hostname domain owner will need to add the TXT or HTTP DCV token for the new certificate to validate and issue. As the SaaS provider, you will be responsible for sharing this token with the custom hostname domain owner.
2323

2424
## Wildcard hostnames
2525

26-
<Render file="txt-validation_preamble" /> <br/>
26+
With wildcard hostnames, you cannot use HTTP. In this case, you will have to use TXT DCV tokens.
2727

28-
<Render file="update-dcv-method" /> <br/>
28+
<Render file="txt-validation_preamble" />
29+
30+
<Render file="update-dcv-method" />
2931

3032
After this step, follow the normal steps for [TXT validation](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/txt/).
33+
34+
:::note
35+
To allow Cloudflare to auto-renew all future certificate orders, consider [DCV delegation](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/delegated-dcv/).
36+
:::
37+
38+
[^1]: Meaning Cloudflare could verify your customer's ownership of the hostname and the [hostname status](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/validation-status/) is active.

src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/delegated-dcv.mdx

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,6 @@ DCV Delegation requires your customers to place a one-time record at their autho
1717

1818
***
1919

20-
## When to use
21-
22-
### HTTP DCV
23-
24-
<Render file="http-dcv-situation" />
25-
26-
### TXT DCV
27-
28-
<Render file="txt-dcv-situation" /> <br/>
29-
30-
* [DCV Delegation](#setup) (generally recommended)
31-
* [Manual](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/validate-certificates/txt/)
32-
33-
***
34-
3520
## Setup
3621

3722
To set up Delegated DCV:

0 commit comments

Comments
 (0)