Skip to content

Commit c93c09a

Browse files
Merge branch 'production' into patricia/pcx19847-gtm
2 parents 0a60edc + feec1a6 commit c93c09a

File tree

198 files changed

+2039
-972
lines changed

Some content is hidden

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

198 files changed

+2039
-972
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
/src/content/docs/analytics/analytics-engine/ @irvinebroque @elithrar @cloudflare/pcx-technical-writing
141141
/src/content/docs/cloudflare-for-platforms/ @irvinebroque @dinasaur404 @cloudflare/pcx-technical-writing
142142
/src/content/docs/cloudflare-for-platforms/workers-for-platforms/ @irvinebroque @dinasaur404 @cloudflare/deploy-config @cloudflare/pcx-technical-writing
143-
/src/content/docs/workers/observability/ @irvinebroque @mikenomitch @rohinlohe @kodster28 @cloudflare/pcx-technical-writing
143+
/src/content/docs/workers/observability/ @irvinebroque @mikenomitch @nevikashah @kodster28 @cloudflare/pcx-technical-writing
144144
/src/content/docs/workers/static-assets @irvinebroque @GregBrimble @WalshyDev @kodster28 @cloudflare/deploy-config @cloudflare/pcx-technical-writing
145145
/src/content/docs/workflows/ @elithrar @celso @cloudflare/pcx-technical-writing
146146
/src/content/docs/sandbox/ @whoiskatrin @ghostwriternr @cloudflare/pcx-technical-writing @cloudflare/ai-agents

.github/workflows/close-stale-issues-prs.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,9 @@ jobs:
1818
uses: actions/stale@v4
1919
with:
2020
repo-token: ${{ secrets.GITHUB_TOKEN }}
21-
# Messages for issues (mention the issue author)
22-
stale-issue-message: "Hey there, this issue has been automatically marked as stale because it has not had recent activity. It will be auto-closed after and additional 10 days of inactivity. If you need it open for longer, add the label `stale-exempt`."
23-
close-issue-message: "Hey there, this issue has been automatically closed due to 45 days of inactivity. If needed, please reopen or comment and we can reevaluate your request."
24-
# Messages for pull requests (mention the PR author)
25-
stale-pr-message: "Hey there, this pull request has been automatically marked as stale because it has not had recent activity. It will be auto-closed after and additional 10 days of inactivity. If you need it open for longer, add the label `stale-exempt`."
26-
close-pr-message: "Hey there, this pull request has been automatically closed due to 45 days of inactivity. If needed, please reopen or comment and we can reevaluate your request."
27-
# Time thresholds (adjust to your policy)
21+
stale-issue-message: "Hey there, we've marked this pull request as stale because there's no recent activity on it. This label helps us identify long-standing issues in our repo (and not used to auto-close issues)."
22+
stale-pr-message: "Hey there, we've marked this pull request as stale because there's no recent activity on it. This label is helps us identify PRs that might need updates (or to be closed out by our team if no longer relevant)."
2823
days-before-stale: 35
29-
days-before-close: 15
24+
# setting to a negative number means they'll never be autoclosed
25+
days-before-close: -1
3026
operations-per-run: 100
31-
exempt-pr-labels: stale-exempt
32-
exempt-issues-labels: stale-exempt
-218 KB
Binary file not shown.

astro.config.ts

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import react from "@astrojs/react";
1111

1212
import { readdir } from "fs/promises";
1313
import { fileURLToPath } from "url";
14+
import { execSync } from "child_process";
15+
import { existsSync } from "fs";
1416

1517
import remarkValidateImages from "./src/plugins/remark/validate-images";
1618

@@ -59,6 +61,52 @@ const customCss = await autogenStyles();
5961

6062
const runLinkCheck = process.env.RUN_LINK_CHECK || false;
6163

64+
/**
65+
* Get the last Git modification date for a file
66+
* @param filePath - Absolute path to the file
67+
* @returns ISO date string or null if not available
68+
*/
69+
function getGitLastModified(filePath: string): string | null {
70+
try {
71+
const result = execSync(`git log -1 --format=%cI -- "${filePath}"`, {
72+
encoding: "utf-8",
73+
}).trim();
74+
return result || null;
75+
} catch (_error) {
76+
return null;
77+
}
78+
}
79+
80+
/**
81+
* Convert a sitemap URL to the corresponding source file path
82+
* @param url - The full URL from the sitemap
83+
* @returns Absolute file path or null if not found
84+
*/
85+
function urlToFilePath(url: string): string | null {
86+
try {
87+
const urlObj = new URL(url);
88+
const pathname = urlObj.pathname.replace(/\/$/, ""); // Remove trailing slash
89+
90+
// Try different file extensions and paths
91+
const possiblePaths = [
92+
`./src/content/docs${pathname}.md`,
93+
`./src/content/docs${pathname}.mdx`,
94+
`./src/content/docs${pathname}/index.md`,
95+
`./src/content/docs${pathname}/index.mdx`,
96+
];
97+
98+
for (const path of possiblePaths) {
99+
if (existsSync(path)) {
100+
return path;
101+
}
102+
}
103+
104+
return null;
105+
} catch (_error) {
106+
return null;
107+
}
108+
}
109+
62110
// https://astro.build/config
63111
export default defineConfig({
64112
site: "https://developers.cloudflare.com",
@@ -194,7 +242,18 @@ export default defineConfig({
194242
return true;
195243
},
196244
serialize(item) {
197-
item.lastmod = new Date().toISOString();
245+
const filePath = urlToFilePath(item.url);
246+
if (filePath) {
247+
const gitDate = getGitLastModified(filePath);
248+
if (gitDate) {
249+
item.lastmod = gitDate;
250+
}
251+
} else {
252+
console.warn(
253+
`[sitemap] Could not find last modified for ${item.url} - setting to now`,
254+
);
255+
item.lastmod = new Date().toISOString();
256+
}
198257
return item;
199258
},
200259
}),
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Report logo misuse to Cloudflare directly from the Brand Protection dashboard
3+
description: You can now use the Brand Protection logo dashboard to report abuse on the Cloudflare network
4+
date: 2025-10-31
5+
---
6+
7+
The Brand Protection logo query dashboard now allows you to use the **Report to Cloudflare** button to submit an Abuse report directly from the Brand Protection logo queries dashboard. While you could previously report new domains that were impersonating your brand before, now you can do the same for websites found to be using your logo wihtout your permission. The abuse reports wiull be prefilled and you will only need to validate a few fields before you can click the submit button, after which our team process your request.
8+
9+
Ready to start? Check out the [Brand Protection docs](/security-center/brand-protection/).
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
title: "WAF Release - 2025-11-03"
3+
description: Cloudflare WAF managed rulesets 2025-11-03 release
4+
date: 2025-11-03
5+
---
6+
7+
import { RuleID } from "~/components";
8+
9+
This week highlights enhancements to detection signatures improving coverage for vulnerabilities in Adobe Commerce and Magento Open Source, linked to CVE-2025-54236.
10+
11+
**Key Findings**
12+
13+
This vulnerability allows unauthenticated attackers to take over customer accounts through the Commerce REST API and, in certain configurations, may lead to remote code execution. The latest update provides enhanced detection logic for resilient protection against exploitation attempts.
14+
15+
**Impact**
16+
17+
- Adobe Commerce (CVE-2025-54236): Exploitation may allow attackers to hijack sessions, execute arbitrary commands, steal data, and disrupt storefronts, resulting in confidentiality and integrity risks for merchants. Administrators are strongly encouraged to apply vendor patches without delay.
18+
19+
<table style="width: 100%">
20+
<thead>
21+
<tr>
22+
<th>Ruleset</th>
23+
<th>Rule ID</th>
24+
<th>Legacy Rule ID</th>
25+
<th>Description</th>
26+
<th>Previous Action</th>
27+
<th>New Action</th>
28+
<th>Comments</th>
29+
</tr>
30+
</thead>
31+
<tbody>
32+
<tr>
33+
<td>Cloudflare Managed Ruleset</td>
34+
<td>
35+
<RuleID id="f5295d8333b7428c816654d8cb6d5fe5" />
36+
</td>
37+
<td>100774C</td>
38+
<td>Adobe Commerce - Remote Code Execution - CVE:CVE-2025-54236</td>
39+
<td>Log</td>
40+
<td>Block</td>
41+
<td>This is an improved detection.</td>
42+
</tr>
43+
</tbody>
44+
</table>
Lines changed: 8 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: WAF Release - Scheduled changes for 2025-11-03
3-
description: WAF managed ruleset changes scheduled for 2025-11-03
4-
date: 2025-10-27
2+
title: WAF Release - Scheduled changes for 2025-11-10
3+
description: WAF managed ruleset changes scheduled for 2025-11-10
4+
date: 2025-11-03
55
scheduled: true
66
---
77

@@ -22,18 +22,7 @@ import { RuleID } from "~/components";
2222
<tbody>
2323
<tr>
2424
<td>2025-10-27</td>
25-
<td>2025-11-03</td>
26-
<td>Log</td>
27-
<td>100774</td>
28-
<td>
29-
<RuleID id="f5295d8333b7428c816654d8cb6d5fe5" />
30-
</td>
31-
<td>Adobe Commerce - Remote Code Execution - CVE:CVE-2025-54236</td>
32-
<td>This is a new detection</td>
33-
</tr>
34-
<tr>
35-
<td>2025-10-27</td>
36-
<td>2025-11-03</td>
25+
<td>2025-11-10</td>
3726
<td>Log</td>
3827
<td>N/A</td>
3928
<td>
@@ -44,7 +33,7 @@ import { RuleID } from "~/components";
4433
</tr>
4534
<tr>
4635
<td>2025-10-27</td>
47-
<td>2025-11-03</td>
36+
<td>2025-11-10</td>
4837
<td>Log</td>
4938
<td>N/A</td>
5039
<td>
@@ -55,7 +44,7 @@ import { RuleID } from "~/components";
5544
</tr>
5645
<tr>
5746
<td>2025-10-27</td>
58-
<td>2025-11-03</td>
47+
<td>2025-11-10</td>
5948
<td>Log</td>
6049
<td>N/A</td>
6150
<td>
@@ -66,47 +55,14 @@ import { RuleID } from "~/components";
6655
</tr>
6756
<tr>
6857
<td>2025-10-27</td>
69-
<td>2025-11-03</td>
58+
<td>2025-11-10</td>
7059
<td>Log</td>
7160
<td>N/A</td>
7261
<td>
73-
<RuleID id="833078bdcfa04bb7aa7b8fb67efbeb39" />
62+
<RuleID id="818d92d370654c3d8f1adc7c9029cd61" />
7463
</td>
7564
<td>HTTP Truncated Beta</td>
7665
<td>This is a beta detection and will replace the action on original detection (ID: <RuleID id="646bccf7e9dc46918a4150d6c22b51d3" />) </td>
7766
</tr>
78-
<tr>
79-
<td>2025-10-27</td>
80-
<td>2025-11-03</td>
81-
<td>Disabled</td>
82-
<td>N/A</td>
83-
<td>
84-
<RuleID id="5f2a6681a2b94442b23816286d060a0d" />
85-
</td>
86-
<td>Generic Rules - Command Execution - URI - Beta</td>
87-
<td>We have updated the rule logic</td>
88-
</tr>
89-
<tr>
90-
<td>2025-10-27</td>
91-
<td>2025-11-03</td>
92-
<td>Disabled</td>
93-
<td>N/A</td>
94-
<td>
95-
<RuleID id="e7ee67e824844754b513cdf3836855a4" />
96-
</td>
97-
<td>Generic Rules - Command Execution - Header - Beta</td>
98-
<td>We have updated the rule logic</td>
99-
</tr>
100-
<tr>
101-
<td>2025-10-27</td>
102-
<td>2025-11-03</td>
103-
<td>Disabled</td>
104-
<td>N/A</td>
105-
<td>
106-
<RuleID id="aa21c9b8b97743bfb217748b2049a60c" />
107-
</td>
108-
<td>Generic Rules - Command Execution - Body - Beta</td>
109-
<td>We have updated the rule logic</td>
110-
</tr>
11167
</tbody>
11268
</table>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: Workers WebSocket message size limit increased from 1 MiB to 32 MiB
3+
description: The maximum WebSocket message size limit for all Workers has been increased from 1 MiB to 32 MiB.
4+
products:
5+
- workers
6+
- durable-objects
7+
- browser-rendering
8+
date: 2025-10-31
9+
---
10+
11+
Workers, including those using [Durable Objects](/durable-objects/) and [Browser Rendering](/browser-rendering/workers-bindings/), may now process WebSocket messages up to 32 MiB in size. Previously, this limit was 1 MiB.
12+
13+
This change allows Workers to handle use cases requiring large message sizes, such as processing Chrome Devtools Protocol messages.
14+
15+
For more information, please see the [Durable Objects startup limits](/durable-objects/platform/limits/#SQLite-backed-Durable-Objects-general-limits).
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Increased Workflows instance and concurrency limits
3+
description: Higher concurrency and creation limits for Workflow instances now available
4+
products:
5+
- workflows
6+
- workers
7+
date: 2025-10-31
8+
---
9+
10+
We've raised the [Cloudflare Workflows](/workflows/) account-level limits for all accounts on the [Workers paid plan](/workers/platform/pricing/):
11+
12+
* **Instance creation rate** increased from 100 workflow instances per 10 seconds to 100 instances per second
13+
* **Concurrency limit** increased from 4,500 to 10,000 workflow instances per account
14+
15+
These increases mean you can create new instances up to 10x faster, and have more workflow instances concurrently executing. To learn more and get started with Workflows, refer to [the getting started guide](/workflows/get-started/guide/).
16+
17+
If your application requires a higher limit, fill out the [Limit Increase Request Form](/workers/platform/limits/) or contact your account team. Please refer to [Workflows pricing](/workflows/reference/pricing/) for more information.

src/content/compatibility-flags/enable-ctx-exports.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ _build:
55
list: never
66

77
name: "Enable ctx.exports"
8-
sort_date: "2025-09-24"
8+
sort_date: "2025-11-17"
9+
enable_date: "2025-11-17"
910
enable_flag: "enable_ctx_exports"
11+
disable_flag: "disable_ctx_exports"
1012
---
1113

1214
This flag enables [the `ctx.exports` API](/workers/runtime-apis/context/#exports), which contains automatically-configured loopback bindings for your Worker's top-level exports. This allows you to skip configuring explicit bindings for your `WorkerEntrypoint`s and Durable Object namespaces defined in the same Worker.
13-
14-
We may change this API to be enabled by default in the future (regardless of compat date or flags).

0 commit comments

Comments
 (0)