AI Gateway - AI Gateway custom costs support cache tokens

<p>AI Gateway custom costs now support cache-read and cache-write token rates. This lets custom cost metrics reflect negotiated cache pricing across providers.</p> <p>Add <code>per_cache_read_token</code> or <code>per_cache_write_token</code> to the <code>cf-aig-custom-cost</code> header:</p> <figure class="nb-code-figure" data-nb-lang="json"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="json" data-nb-lang="json"><code><span class="line"><span class="nb-shiki-140thh">{</span></span> <span class="line"><span class="nb-shiki-dzsirb"> "per_token_in"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">0.000001</span><span class="nb-shiki-140thh">,</span></span> <span class="line"><span class="nb-shiki-dzsirb"> "per_token_out"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">0.000002</span><span class="nb-shiki-140thh">,</span></span> <span class="line"><span class="nb-shiki-dzsirb"> "per_cache_read_token"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">0.0000001</span><span class="nb-shiki-140thh">,</span></span> <span class="line"><span class="nb-shiki-dzsirb"> "per_cache_write_token"</span><span class="nb-shiki-140thh">: </span><span class="nb-shiki-dzsirb">0.0000005</span></span> <span class="line"><span class="nb-shiki-140thh">}</span></span></code></pre></figure> <p>Cache-token pricing activates when either cache rate is present. An omitted cache rate defaults to <code>per_token_in</code>. If both cache rates are omitted, AI Gateway preserves the existing input and output calculation.</p> <p>Providers can include cache tokens within input tokens or report them separately. AI Gateway automatically accounts for these differences and prevents double-counting.</p> <p>For more information, refer to <a href="https://developers.cloudflare.com/ai-gateway/configuration/custom-costs/">Custom costs</a>.</p>

2026/9/9
阅读更多

Radar - Radar search now includes Internet events

<p><a href="https://developers.cloudflare.com/radar/"><strong>Cloudflare Radar</strong></a> search now includes Internet events and outages alongside existing results. Search event descriptions or related entities, such as locations, ASes, bots, and top-level domains, to find relevant events and open the most relevant Radar view.</p> <img src="https://imgproxy.citrusreader.com/K_UodKz7qWai0C4Xy_VL4dKVKusClu4h3vDfEJw0wLk/raw:1/aHR0cHM6Ly9kZXZlbG9wZXJzLmNsb3VkZmxhcmUuY29tL2Nkbi1jZ2kvaW1hZ2Uvb25lcnJvcj1yZWRpcmVjdCx3aWR0aD0yNTEyLGhlaWdodD0xMTMwLGZvcm1hdD13ZWJwL19hc3Ryby9yYWRhci1zZWFyY2gtZXZlbnRzLkRwWkFrNTlHLnBuZw" alt="Radar search results showing Internet outage events associated with locations and autonomous systems" loading="lazy" decoding="async" width="2512" height="1130"> <p>Event links preserve the event date range, making it easier to investigate what changed before, during, and after an event. These results are also available to browser-based AI agents through <a href="https://developers.cloudflare.com/browser-run/features/webmcp/">WebMCP</a>.</p>

2026/9/8
阅读更多

WAF - WAF Release - 2026-09-08

<p>This release enhances detection logic for existing rules targeting Next.js remote code execution (RCE) vulnerabilities by consolidating active beta rules into baseline signatures.</p> <table style="width: 100%"><thead><tr><th>Ruleset</th><th>Rule ID</th><th>Legacy Rule ID</th><th>Description</th><th>Previous Action</th><th>New Action</th><th>Comments</th></tr></thead><tbody><tr><td>Cloudflare Managed Ruleset</td><td><span class="rule-id" data-rule-id="d5d9f863e50b416faf43934dc76ba662"><button type="button" title="Copy rule ID" aria-label="Copy rule ID d5d9f863e50b416faf43934dc76ba662" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...c76ba662</span></button></span></td><td>N/A</td><td>Next.js - Image Optimizer Remote Code Execution via Crafted AVIF - Beta</td><td>Log</td><td>Block</td><td>This rule is merged into the original rule &quot;Next.js - Image Optimizer Remote Code Execution via Crafted AVIF&quot; (ID: <span class="rule-id" data-rule-id="18b22b0bd423423c945b3a0180256efe"><button type="button" title="Copy rule ID" aria-label="Copy rule ID 18b22b0bd423423c945b3a0180256efe" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...80256efe</span></button></span>).</td></tr><tr><td>Cloudflare Managed Ruleset</td><td><span class="rule-id" data-rule-id="771ac3761dcd485cb0e91ea0208457cf"><button type="button" title="Copy rule ID" aria-label="Copy rule ID 771ac3761dcd485cb0e91ea0208457cf" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...208457cf</span></button></span></td><td>N/A</td><td>Next.js - Remote Code Execution - CVE:CVE-2026-75604 - Beta</td><td>Log</td><td>Block</td><td>This rule is merged into the original rule &quot;Next.js - Remote Code Execution - CVE:CVE-2026-75604&quot; (ID: <span class="rule-id" data-rule-id="2b6b94ec864d47f99630ecf72ca6cce3"><button type="button" title="Copy rule ID" aria-label="Copy rule ID 2b6b94ec864d47f99630ecf72ca6cce3" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...2ca6cce3</span></button></span>).</td></tr></tbody></table>

2026/9/8
阅读更多

WAF - WAF Release - Scheduled changes for 2026-09-15

<table style="width: 100%"><thead><tr><th>Announcement Date</th><th>Release Date</th><th>Release Behavior</th><th>Legacy Rule ID</th><th>Rule ID</th><th>Description</th><th>Comments</th></tr></thead><tbody><tr><td>2026-09-08</td><td>2026-09-15</td><td>Log</td><td>N/A</td><td><span class="rule-id" data-rule-id="67a71f555fc74158a8719ade19491e62"><button type="button" title="Copy rule ID" aria-label="Copy rule ID 67a71f555fc74158a8719ade19491e62" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...19491e62</span></button></span></td><td>SSRF - Cloud - 3</td><td><p>This is a new detection.</p></td></tr><tr><td>2026-09-08</td><td>2026-09-15</td><td>Log</td><td>N/A</td><td><span class="rule-id" data-rule-id="90228c401e1246cbb3d855c1e6a0b6de"><button type="button" title="Copy rule ID" aria-label="Copy rule ID 90228c401e1246cbb3d855c1e6a0b6de" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...e6a0b6de</span></button></span></td><td>Version Control - Information Disclosure - Beta</td><td><p>This rule will be merged into the original rule &quot;Version Control - Information Disclosure&quot; (ID: <span class="rule-id" data-rule-id="23548ee2b36547a1be09bb2c0550c529"><button type="button" title="Copy rule ID" aria-label="Copy rule ID 23548ee2b36547a1be09bb2c0550c529" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...0550c529</span></button></span>).</p></td></tr><tr><td>2026-09-08</td><td>2026-09-15</td><td>Log</td><td>N/A</td><td><span class="rule-id" data-rule-id="e460ae5631c347528293998ac1aaebda"><button type="button" title="Copy rule ID" aria-label="Copy rule ID e460ae5631c347528293998ac1aaebda" class="border-border bg-muted hover:border-foreground/30 hover:bg-accent inline-flex cursor-copy items-center rounded-md border px-1.5 py-0.5 transition-colors duration-150"><span class="font-mono text-[0.8125rem] font-medium">...c1aaebda</span></button></span></td><td>Command Injection - Generic 10</td><td><p>This is a new detection.</p></td></tr></tbody></table>

2026/9/8
阅读更多

Workers - Miniflare v5 prepares local development for the cf CLI

<p>Miniflare v5 prepares Cloudflare local development tooling for the upcoming <code>cf</code> CLI.</p> <p>Miniflare powers local Workers development behind <code>wrangler dev</code>, the Cloudflare Vite plugin, and <code>@cloudflare/vitest-plugin</code>. Most projects should use those tools instead of depending on Miniflare directly, and Miniflare v5 will not require any action.</p> <p>The most significant change is a new configuration shape which aligns Miniflare with <code>cloudflare.config.ts</code>, the programmatic Cloudflare configuration format now available for testing.</p> <p>Other breaking changes include:</p> <ul> <li>Removed deprecated APIs and options, such as legacy alpha D1 bindings.</li> <li>Removed now-unused, internal APIs like <code>wrappedBindings</code></li> <li>Removed Miniflare's built-in module discovery; higher-level tools like Wrangler and the Vite plugin should be providing the module graph.</li> <li>Moved local-only /cdn-cgi routes under /cdn-cgi/local.</li> <li>Replaced per-resource persistence options with shared persistence root options.</li> </ul> <p>For a more comprehensive list, refer to <a href="https://github.com/cloudflare/workers-sdk/blob/main/packages/miniflare/CHANGELOG.md#5202607300-alpha" target="_blank" rel="noopener">Miniflare's changelog<span class="external-link"> ↗</span></a></p> <p>This work sets up a cleaner foundation for the next generation of local development tooling, including the new <code>cf</code> CLI.</p>

2026/9/8
阅读更多

Workers - Python 3.14 for Python Workers

<p>Python workers now use Python 3.14 by default.</p> <p>This change applies to all new Python workers using compatibility date <code>2026-09-08</code> or later.</p> <p>Internally, this change updates the Pyodide runtime to 314.0.6.</p>

2026/9/8
阅读更多

R2 - R2 Data Access Logs

<p>R2 Data Access Logs are now generally available. Turn on logging for a bucket to record object read, write, list, multipart upload, and delete operations with response status codes below <code>400</code>.</p> <p>Data Access Logs cover requests made through the S3-compatible API, Cloudflare API and dashboard, Workers bindings, and public buckets through <code>r2.dev</code> or custom domains. Events are available in Workers Observability, where you can filter by bucket, operation, interface, actor, and other request fields.</p> <p>Log delivery is asynchronous and best effort. Events may be delayed or omitted, so do not rely on Data Access Logs as a complete record of bucket activity.</p> <p>Data Access Logs are available for non-jurisdictional buckets. For setup instructions, supported operations, and the event field reference, refer to <a href="https://developers.cloudflare.com/r2/buckets/data-access-logs/">R2 Data Access Logs</a>.</p>

2026/9/4
阅读更多

Workers - Deploy larger Workers — up to 64 MiB for both free and paid plans

<p>You can now deploy Workers with larger dependencies, heavier frameworks, and more code without hitting size limits.</p> <p>When you deploy a Worker, Wrangler bundles your code and compresses it before uploading. Previously, Cloudflare checked that compressed size and rejected deploys over 3 MB (Free) or 10 MB (Paid). That limit has been removed. Cloudflare now only checks the uncompressed size of your bundle, which is 64 MiB across all plans.</p> <p>To check your Worker's bundle size before deploying:</p> <figure class="nb-code-figure" data-nb-lang="sh"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="sh" data-nb-lang="sh"><code><span class="line"><span class="nb-shiki-1t8gfj">wrangler</span><span class="nb-shiki-mdbnqw"> deploy</span><span class="nb-shiki-dzsirb"> --outdir</span><span class="nb-shiki-mdbnqw"> bundled/</span><span class="nb-shiki-dzsirb"> --dry-run</span></span></code></pre></figure> <figure class="nb-code-figure" data-nb-lang="sh"><pre class="astro-code astro-code-themes github-light github-dark nb-shiki-c6xiwz" tabindex="0" data-language="sh" data-nb-lang="sh"><code><span class="line"><span class="nb-shiki-1t8gfj">Total</span><span class="nb-shiki-mdbnqw"> Upload:</span><span class="nb-shiki-dzsirb"> 259.61</span><span class="nb-shiki-mdbnqw"> KiB</span><span class="nb-shiki-mdbnqw"> /</span><span class="nb-shiki-mdbnqw"> gzip:</span><span class="nb-shiki-dzsirb"> 47.23</span><span class="nb-shiki-mdbnqw"> KiB</span></span></code></pre></figure> <p>The <code>Total Upload</code> value is your uncompressed bundle size. This is what counts against the 64 MiB limit. The <code>gzip</code> value is shown for reference but is no longer a limit.</p> <p>For more information, refer to the <a href="https://developers.cloudflare.com/workers/platform/limits/#worker-size">Worker size limits documentation</a>.</p>

2026/9/4
阅读更多

Cloudflare One Appliance, Cloudflare One, Cloudflare WAN - Define custom applications for breakout and prioritized traffic from the Cloudflare One Appliance dashboard

<p>You can now define <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/application-based-policies/breakout-traffic/#create-edit-or-delete-a-custom-application">custom applications</a> for <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/application-based-policies/breakout-traffic/">breakout</a> and <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/application-based-policies/prioritized-traffic/">prioritized</a> traffic on the <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/">Cloudflare One Appliance</a> directly from the dashboard, without calling the API.</p> <img src="https://imgproxy.citrusreader.com/QEAn11nTe0aFGAUWlIW3bx1gJGyXqlnhEEoLgPKmc-4/raw:1/aHR0cHM6Ly9kZXZlbG9wZXJzLmNsb3VkZmxhcmUuY29tL2Nkbi1jZ2kvaW1hZ2Uvb25lcnJvcj1yZWRpcmVjdCx3aWR0aD0xODAwLGhlaWdodD0xMDM0LGZvcm1hdD13ZWJwL19hc3Ryby8yMDI2LTA5LTAxLWFwcGxpYW5jZS1jdXN0b20tYXBwbGljYXRpb24tdHJhZmZpYy1zdGVlcmluZy5EMjVHYTktZC5naWY" alt="Adding a custom application by hostname, IP subnet, and source subnet from the Traffic Steering tab of an appliance profile" loading="lazy" decoding="async" width="1800" height="1034"> <ul> <li>In <strong>Traffic Steering</strong> &gt; <strong>Breakout traffic</strong> or <strong>Prioritized traffic</strong>, select <strong>Assign application traffic</strong> &gt; <strong>Add</strong> to create a custom application matched by <strong>Hostnames</strong>, <strong>IP subnets</strong>, and/or the new <strong>Source subnets</strong> field, alongside Cloudflare-managed applications.</li> <li>Edit or delete an existing custom application from the same panel, no API round-trip required.</li> <li><strong>Source subnets</strong> lets you match traffic by its source IP range, complementing the existing <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/application-based-policies/breakout-traffic/#breakout-by-source">source LAN interface breakout criteria</a>.</li> </ul> <p>This complements the existing API and Terraform workflow for managing applications.</p> <p>For details, refer to <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/application-based-policies/breakout-traffic/">Breakout traffic</a> and <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/application-based-policies/prioritized-traffic/">Prioritized traffic</a>.</p>

2026/9/2
阅读更多

Cloudflare One Appliance, Cloudflare One, Cloudflare WAN - Configure DHCP options from the dashboard on Cloudflare One Appliance

<p>You can now configure <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/dhcp/dhcp-options/">custom DHCP options</a> directly from the dashboard when the <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/">Cloudflare One Appliance</a> is acting as the DHCP server for a LAN.</p> <img src="https://imgproxy.citrusreader.com/pWbqeiu6DptUZjPHStf1_i2S0WAP4SQnpOp7pBy0upM/raw:1/aHR0cHM6Ly9kZXZlbG9wZXJzLmNsb3VkZmxhcmUuY29tL2Nkbi1jZ2kvaW1hZ2Uvb25lcnJvcj1yZWRpcmVjdCx3aWR0aD0xODAwLGhlaWdodD0xMDM0LGZvcm1hdD13ZWJwL19hc3Ryby8yMDI2LTA5LTAxLWFwcGxpYW5jZS1kaGNwLW9wdGlvbnMtdWkuQjVPRVptaWIuZ2lm" alt="Adding a custom DHCP option to a LAN's DHCP server from the Network Configuration tab of an appliance profile" loading="lazy" decoding="async" width="1800" height="1034"> <ul> <li>In <strong>LAN configuration</strong>, under <strong>DHCP server options</strong>, select <strong>Add DHCP option</strong> to choose from common options for PXE / iPXE boot, VoIP phone provisioning, and vendor-specific configuration, or select <strong>Add custom option</strong> to enter your own option code, type, and value.</li> <li>This complements the existing <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/dhcp/dhcp-options/#configure-dhcp-options">API and Terraform workflow</a> for configuring DHCP options.</li> </ul> <p>For details, refer to <a href="https://developers.cloudflare.com/cloudflare-wan/configuration/appliance/network-options/dhcp/dhcp-options/">DHCP server options</a>.</p>

2026/9/2
阅读更多

推荐订阅

Recent content on forecho's Blog

Provides a better reading experience (full articles) over the official ones.