Skip to content

Commit 8a92899

Browse files
Merge branch 'production' into patricia/pcx17327-pt1
2 parents b649685 + e58c18b commit 8a92899

File tree

34 files changed

+163
-54
lines changed

34 files changed

+163
-54
lines changed

.hyperlint/config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ reviewer:
1414
enabled: true
1515
custom_style_guide:
1616
enabled: false
17-
path_to_style_guide_dir: ".hyperlint/styles/plain-text-style-checks/"
17+
path_to_style_guide_dir: ".hyperlint/automations/styles/plain-text-style-checks/"
1818
check_status_upon_review_failure: neutral
1919
limit_num_reviews: 2
2020
limit_num_comments: 5
2121
automation:
2222
custom_style_guide:
2323
enabled: true
24-
path_to_style_guide_dir: ".hyperlint/styles/plain-text-style-checks/"
24+
path_to_style_guide_dir: ".hyperlint/automations/styles/plain-text-style-checks/"
2525
enabled: true
2626
vale_style_guide:
2727
enabled: true
287 KB
Loading

src/components/PublicStats.astro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { zodEnumFromObjKeys } from "~/util/helpers";
55
type Props = z.infer<typeof props>;
66
77
const mappings = {
8-
data_center_cities: "over 335 cities",
9-
total_bandwidth: "over 348 Tbps network capacity",
8+
data_center_cities: "over 330 cities",
9+
total_bandwidth: "over 388 Tbps network capacity",
1010
network_peers: "over 13,000 network peers",
1111
} as const satisfies Record<string, string>;
1212
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
title: More ways to match — Snippets now support Custom Lists, Bot Score, and WAF Attack Score
3+
description: Snippets and Cloud Connector now support user-defined IP, AS, and Hostname Custom Lists — plus Bot Score and WAF Attack Score in Snippets.
4+
products:
5+
- rules
6+
date: 2025-05-09T10:00:00Z
7+
---
8+
9+
You can now use IP, Autonomous System (AS), and Hostname [custom lists](/waf/tools/lists/custom-lists/) to route traffic to [Snippets](/rules/snippets/) and [Cloud Connector](/rules/cloud-connector/), giving you greater precision and control over how you match and process requests at the edge.
10+
11+
In Snippets, you can now also match on [Bot Score](/bots/concepts/bot-score/) and [WAF Attack Score](/waf/detections/attack-score/), unlocking smarter edge logic for everything from request filtering and mitigation to [tarpitting](/rules/snippets/examples/slow-suspicious-requests/) and logging.
12+
13+
**What’s new:**
14+
- [Custom lists](/waf/tools/lists/custom-lists/) matching – Snippets and Cloud Connector now support user-created IP, AS, and Hostname lists via dashboard or [Lists API](/api/resources/rules/subresources/lists/methods/list/). Great for shared logic across zones.
15+
- [Bot Score](/bots/concepts/bot-score/) and [WAF Attack Score](/waf/detections/attack-score/) – Use Cloudflare’s intelligent traffic signals to detect bots or attacks and take advanced, tailored actions with just a few lines of code.
16+
17+
![New fields in Snippets](~/assets/images/changelog/rules/snippets-lists-scores.png)
18+
19+
These enhancements unlock new possibilities for building smarter traffic workflows with minimal code and maximum efficiency.
20+
21+
Learn more in the [Snippets](/rules/snippets/) and [Cloud Connector](/rules/cloud-connector/) documentation.

src/content/docs/ai-gateway/get-started.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Below is a list of our supported model providers:
4242

4343
If you do not have a provider preference, start with one of our dedicated tutorials:
4444

45-
- [OpenAI](/ai-gateway/integrations/aig-workers-ai-binding/)
45+
- [OpenAI](/ai-gateway/tutorials/deploy-aig-worker/)
4646
- [Workers AI](/ai-gateway/tutorials/create-first-aig-workers/)
4747

4848
## View analytics

src/content/docs/browser-rendering/platform/limits.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ import { Render, Plan } from "~/components";
1212

1313
## Workers Free
1414

15+
Users on the [Workers Free plan](/workers/platform/pricing/) are limited to **10 minutes of browser rendering usage per day**.
16+
17+
To increase this limit, you’ll need to [upgrade to a Workers Paid plan](/workers/platform/pricing).
18+
1519
| Feature | Limit |
1620
| -------------------------------------- | --------------- |
1721
| Concurrent browsers per account (Workers Binding API only) | 3 per account |

src/content/docs/browser-rendering/rest-api/json-endpoint.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ curl --request POST 'https://api.cloudflare.com/client/v4/accounts/CF_ACCOUNT_ID
9191
### With only a prompt
9292

9393
In this example, only a prompt is provided. The endpoint will use the prompt to extract the data, but the response will not be structured according to a JSON schema.
94-
This is useful for simple extractions where you don't need a specific format.
94+
This is useful for simple extractions where you do not need a specific format.
9595

9696
```bash
9797
curl --request POST 'https://api.cloudflare.com/client/v4/accounts/CF_ACCOUNT_ID/browser-rendering/json' \

src/content/docs/browser-rendering/workers-binding-api/reuse-sessions.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export default {
136136
};
137137
```
138138

139-
Besides `puppeteer.sessions()`, we've added other methods to facilitate [Session Management](/browser-rendering/platform/puppeteer/#session-management).
139+
Besides `puppeteer.sessions()`, we have added other methods to facilitate [Session Management](/browser-rendering/platform/puppeteer/#session-management).
140140

141141
## 5. Test
142142

src/content/docs/cloudflare-for-platforms/workers-for-platforms/configuration/static-assets.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Before sending any file data, you need to tell Cloudflare which files you intend
6060
<Aside type="note" title="Asset Isolation Considerations">
6161
Static assets uploaded to Workers for Platforms are associated with the namespace rather than with individual User Worker. If multiple User Workers exist under the same namespace, assets with identical hashes may be shared across them. **JWTs should therefore only be shared with trusted platform services and should never be distributed to end-users.**
6262

63-
If strict isolation of assets is required, we recommend either salting with a random value each time, or incorporating an end-user identifier (e.g. account ID or Worker script ID) within the hashing process, to ensure uniqueness. For example, `hash = slice(sha256(accountID + fileContents), 32)`.
63+
If strict isolation of assets is required, we recommend either salting with a random value each time, or incorporating an end-user identifier (for example, account ID or Worker script ID) within the hashing process, to ensure uniqueness. For example, `hash = slice(sha256(accountID + fileContents), 32)`.
6464

6565
</Aside>
6666

@@ -122,7 +122,7 @@ You can compute a SHA-256 digest of the file contents, then truncate or otherwis
122122
If all the files are already stored on Cloudflare, the response will only return the JWT token. If new or updated files are needed, the response will return:
123123

124124
- `jwt`: An upload token (valid for 1 hour) which will be used in the API request to upload the file contents (Step 2).
125-
- `buckets`: An array of file-hash groups indicating which files to upload together. Files that have been recently uploaded won't appear in buckets, since Cloudflare already has them.
125+
- `buckets`: An array of file-hash groups indicating which files to upload together. Files that have been recently uploaded will not appear in buckets, since Cloudflare already has them.
126126

127127
:::note
128128
This step alone does not store files on Cloudflare. You must upload the actual file data in the next step.
@@ -132,7 +132,7 @@ This step alone does not store files on Cloudflare. You must upload the actual f
132132

133133
If the response to the Upload Session API returns `buckets`, that means you have new or changed files that need to be uploaded to Cloudflare.
134134

135-
Use the [Workers Assets Upload API](https://developers.cloudflare.com/api/resources/workers/subresources/assets/subresources/upload/) to transmit the raw file bytes in base64-encoded format for any missing or changed files. Once uploaded, Cloudflare will store these files so they can then be attached to a User Worker.
135+
Use the [Workers Assets Upload API](/api/resources/workers/subresources/assets/subresources/upload/) to transmit the raw file bytes in base64-encoded format for any missing or changed files. Once uploaded, Cloudflare will store these files so they can then be attached to a User Worker.
136136

137137
<Aside type="caution">
138138
Asset uniqueness is determined by the provided hash and are associated globally to their namespace rather than with each specific User Worker. If an asset has already been uploaded for that namespace earlier, Cloudflare will automatically omit sending this asset hash back in the `buckets` response to save you from re-uploading the same thing twice. This means that an asset can be shared between multiple User Workers if it shares the same hash unless you **explicitly make the hash unique**. If you require full isolation between assets across User Workers, incorporate a unique identifier within your asset hashing process (either salting it with something entirely random each time, or by including the end-user account ID or their Worker name to retain per-customer re-use).
@@ -203,7 +203,7 @@ Once every file in the manifest has been uploaded, a status code of `201` will b
203203

204204
### 3. Deploy the User Worker with static assets
205205

206-
Now that Cloudflare has all the files it needs (from the previous upload steps), you must attach them to the User Worker by making a PUT request to the [Upload User Worker API](https://developers.cloudflare.com/api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/subresources/scripts/methods/update/). This final step links the static assets to the User Worker using the completion token you received after uploading file contents.
206+
Now that Cloudflare has all the files it needs (from the previous upload steps), you must attach them to the User Worker by making a PUT request to the [Upload User Worker API](/api/resources/workers_for_platforms/subresources/dispatch/subresources/namespaces/subresources/scripts/methods/update/). This final step links the static assets to the User Worker using the completion token you received after uploading file contents.
207207

208208
You can also specify any optional settings under the `assets.config` field to customize how your files are served (for example, to handle trailing slashes in HTML paths).
209209

src/content/docs/cloudflare-for-platforms/workers-for-platforms/platform/limits.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Cloudflare provides an unlimited number of scripts for Workers for Platforms cus
1414

1515
## `cf` object
1616

17-
The [`cf` object](/workers/runtime-apis/request/#the-cf-property-requestinitcfproperties) contains Cloudflare-specific properties of a request. This field is not accessible in [user Workers](/cloudflare-for-platforms/workers-for-platforms/reference/how-workers-for-platforms-works/#user-workers) because some fields in this object are sensitive and can be used to manipulate Cloudflare features (eg.`cacheKey`, `resolveOverride`, `scrapeShield`.)
17+
The [`cf` object](/workers/runtime-apis/request/#the-cf-property-requestinitcfproperties) contains Cloudflare-specific properties of a request. This field is not accessible in [user Workers](/cloudflare-for-platforms/workers-for-platforms/reference/how-workers-for-platforms-works/#user-workers) because some fields in this object are sensitive and can be used to manipulate Cloudflare features (for example, `cacheKey`, `resolveOverride`, `scrapeShield`.)
1818

1919
## Durable Object namespace limits
2020

0 commit comments

Comments
 (0)