<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Cloudflare changelogs | Application performance</title><description>Cloudflare changelogs for Application performance products</description><link>https://developers.cloudflare.com/changelog/</link><item><title>DNS - Internal DNS - now in open beta</title><link>https://developers.cloudflare.com/changelog/post/2026-03-31-internal-dns-open-beta/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2026-03-31-internal-dns-open-beta/</guid><description>&lt;p&gt;Internal DNS is now in open beta.&lt;/p&gt;
&lt;h4&gt;Who can use it?&lt;/h4&gt;
&lt;p&gt;Internal DNS is bundled as a part of Cloudflare Gateway and is now available to every Enterprise customer with one of the following subscriptions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloudflare Zero Trust Enterprise&lt;/li&gt;
&lt;li&gt;Cloudflare Gateway Enterprise&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To learn more and get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/dns/internal-dns/&quot;&gt;Internal DNS documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>Cache - Cache Response Rules</title><link>https://developers.cloudflare.com/changelog/post/2026-03-24-cache-response-rules/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2026-03-24-cache-response-rules/</guid><description>&lt;p&gt;You can now control how Cloudflare handles origin responses without changing your origin. Cache Response Rules let you modify &lt;code&gt;Cache-Control&lt;/code&gt; directives, manage cache tags, and strip headers like &lt;code&gt;Set-Cookie&lt;/code&gt; from origin responses &lt;em&gt;before&lt;/em&gt; they reach Cloudflare&apos;s cache. Whether traffic is cached or passed through dynamically, these rules give you control over origin response behavior that was previously out of reach.&lt;/p&gt;
&lt;h4&gt;What changed&lt;/h4&gt;
&lt;p&gt;Cache Rules previously only operated on request attributes. Cache Response Rules introduce a new response phase that evaluates origin responses and lets you act on them before caching. You can now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Modify &lt;code&gt;Cache-Control&lt;/code&gt; directives&lt;/strong&gt;: Set or remove individual directives like &lt;code&gt;no-store&lt;/code&gt;, &lt;code&gt;no-cache&lt;/code&gt;, &lt;code&gt;max-age&lt;/code&gt;, &lt;code&gt;s-maxage&lt;/code&gt;, &lt;code&gt;stale-while-revalidate&lt;/code&gt;, &lt;code&gt;immutable&lt;/code&gt;, and more. For example, remove a &lt;code&gt;no-cache&lt;/code&gt; directive your origin sends so Cloudflare can cache the asset, or set an &lt;code&gt;s-maxage&lt;/code&gt; to control how long Cloudflare stores it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Set a different browser &lt;code&gt;Cache-Control&lt;/code&gt;&lt;/strong&gt;: Send a different &lt;code&gt;Cache-Control&lt;/code&gt; header downstream to browsers and other clients than what Cloudflare uses internally, giving you independent control over edge and browser caching strategies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manage cache tags&lt;/strong&gt;: Add, set, or remove cache tags on responses, including converting tags from another CDN&apos;s header format into Cloudflare&apos;s &lt;code&gt;Cache-Tag&lt;/code&gt; header. This is especially useful if you are migrating from a CDN that uses a different tag header or delimiter.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strip headers that block caching&lt;/strong&gt;: Remove &lt;code&gt;Set-Cookie&lt;/code&gt;, &lt;code&gt;ETag&lt;/code&gt;, or &lt;code&gt;Last-Modified&lt;/code&gt; headers from origin responses before caching, so responses that would otherwise be treated as uncacheable can be stored and served from cache.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No origin changes required&lt;/strong&gt;: Fix caching behavior entirely from Cloudflare, even when your origin configuration is locked down or managed by a different team.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Simpler CDN migration&lt;/strong&gt;: Match caching behavior from other CDN providers without rewriting your origin. Translate cache tag formats and override directives that do not align with Cloudflare&apos;s defaults.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Native support, fewer workarounds&lt;/strong&gt;: Functionality that previously required workarounds is now built into Cache Rules with full Tiered Cache compatibility.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fine-grained control&lt;/strong&gt;: Use expressions to match on request and response attributes, then apply precise cache settings per rule. Rules are stackable and composable with existing Cache Rules.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;Configure Cache Response Rules in the &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/:zone/caching/cache-rules&quot; target=&quot;_blank&quot;&gt;Cloudflare dashboard&lt;/a&gt; under &lt;strong&gt;Caching&lt;/strong&gt; &gt; &lt;strong&gt;Cache Rules&lt;/strong&gt;, or via the &lt;a href=&quot;https://developers.cloudflare.com/ruleset-engine/rulesets-api/&quot; target=&quot;_blank&quot;&gt;Rulesets API&lt;/a&gt;. For more details, refer to the &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/cache-response-rules/&quot; target=&quot;_blank&quot;&gt;Cache Rules documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>DNS - DNS Analytics for Customer Metadata Boundary set to EU region</title><link>https://developers.cloudflare.com/changelog/post/2026-03-20-dns-analytics-cmb-eu/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2026-03-20-dns-analytics-cmb-eu/</guid><description>&lt;p&gt;DNS Analytics is now available for customers with &lt;a href=&quot;https://developers.cloudflare.com/data-localization/metadata-boundary/&quot;&gt;Customer Metadata Boundary&lt;/a&gt; (CMB) set to EU. Query your DNS analytics data while keeping metadata stored in the EU region.&lt;/p&gt;
&lt;p&gt;This update includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DNS Analytics&lt;/strong&gt; — Access the same DNS analytics experience for zones in CMB=EU accounts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EU data residency&lt;/strong&gt; — Analytics data is stored and queried from the EU region, meeting data localization requirements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS Firewall Analytics&lt;/strong&gt; — DNS Firewall analytics is now supported for CMB=EU customers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;Available to customers with the &lt;a href=&quot;https://developers.cloudflare.com/data-localization/&quot;&gt;Data Localization Suite&lt;/a&gt; who have Customer Metadata Boundary configured for the EU region.&lt;/p&gt;
&lt;h4&gt;Where to find it&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Authoritative DNS:&lt;/strong&gt; In the Cloudflare dashboard, select your zone and go to the &lt;strong&gt;Analytics&lt;/strong&gt; page.&lt;/p&gt;
&lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/:zone/dns/analytics&quot; target=&quot;_blank&quot;&gt;  Go to &lt;strong&gt;Analytics&lt;/strong&gt;  &lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;DNS Firewall:&lt;/strong&gt; In the Cloudflare dashboard, go to the &lt;strong&gt;DNS Firewall Analytics&lt;/strong&gt; page.&lt;/p&gt;
&lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/dns-firewall/analytics&quot; target=&quot;_blank&quot;&gt;  Go to &lt;strong&gt;Analytics&lt;/strong&gt;  &lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://developers.cloudflare.com/dns/additional-options/analytics/&quot;&gt;DNS Analytics&lt;/a&gt; and &lt;a href=&quot;https://developers.cloudflare.com/dns/dns-firewall/analytics/&quot;&gt;DNS Firewall Analytics&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>Cache - Asynchronous stale-while-revalidate</title><link>https://developers.cloudflare.com/changelog/post/2026-02-26-async-stale-while-revalidate/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2026-02-26-async-stale-while-revalidate/</guid><description>&lt;p&gt;Cloudflare&apos;s &lt;a href=&quot;https://developers.cloudflare.com/cache/concepts/cache-control/#revalidation&quot;&gt;&lt;code&gt;stale-while-revalidate&lt;/code&gt;&lt;/a&gt; support is now fully asynchronous. Previously, the first request for a stale (expired) asset in cache had to wait for an origin response, after which that visitor received a REVALIDATED or EXPIRED status. Now, the first request after the asset expires triggers revalidation in the background and immediately receives stale content with an UPDATING status. All following requests also receive stale content with an &lt;code&gt;UPDATING&lt;/code&gt; status until the origin responds, after which subsequent requests receive fresh content with a &lt;code&gt;HIT&lt;/code&gt; status.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;stale-while-revalidate&lt;/code&gt; is a &lt;code&gt;Cache-Control&lt;/code&gt; directive set by your origin server that allows Cloudflare to serve an expired cached asset while a fresh copy is fetched from the origin.&lt;/p&gt;
&lt;p&gt;Asynchronous revalidation brings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Lower latency&lt;/strong&gt;: No visitor is waiting for the origin when the asset is already in cache. Every request is served from cache during revalidation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent experience&lt;/strong&gt;: All visitors receive the same cached response during revalidation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced error exposure&lt;/strong&gt;: The first request is no longer vulnerable to origin timeouts or errors. All visitors receive a cached response while revalidation happens in the background.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;This change is live for all Free, Pro, and Business zones. Approximately 75% of Enterprise zones have been migrated, with the remaining zones rolling out throughout the quarter.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To use this feature, make sure your origin includes the &lt;code&gt;stale-while-revalidate&lt;/code&gt; directive in the &lt;code&gt;Cache-Control&lt;/code&gt; header. Refer to the &lt;a href=&quot;https://developers.cloudflare.com/cache/concepts/cache-control/#revalidation&quot;&gt;Cache-Control documentation&lt;/a&gt; for details.&lt;/p&gt;</description><pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Audit Logs for Cache Purge Events</title><link>https://developers.cloudflare.com/changelog/post/2025-11-25-audit-logs-for-cache-purge-events/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-11-25-audit-logs-for-cache-purge-events/</guid><description>&lt;p&gt;You can now review detailed audit logs for cache purge events, giving you visibility into what purge requests were sent, what they contained, and by whom. Audit your purge requests via the Dashboard or API for all purge methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Purge everything&lt;/li&gt;
&lt;li&gt;List of prefixes&lt;/li&gt;
&lt;li&gt;List of tags&lt;/li&gt;
&lt;li&gt;List of hosts&lt;/li&gt;
&lt;li&gt;List of files&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Example&lt;/h4&gt;
&lt;p&gt;The detailed audit payload is visible within the Cloudflare Dashboard (under &lt;strong&gt;Manage Account&lt;/strong&gt; &gt; &lt;strong&gt;Audit Logs&lt;/strong&gt;) and via the API. Below is an example of the Audit Logs v2 payload structure:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;action&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;result&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;success&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;create&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;actor&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;1234567890abcdef&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;email&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;user@example.com&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;user&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;resource&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;product&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;purge_cache&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;request&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;files&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;https://example.com/images/logo.png&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;https://example.com/css/styles.css&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;zone&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;023e105f4ecef8ad9ca31a8372d0c353&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;example.com&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/fundamentals/account/account-security/audit-logs/&quot;&gt;Audit Logs documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Inspect Cache Keys with Cloudflare Trace</title><link>https://developers.cloudflare.com/changelog/post/2025-11-07-cache-keys-for-cloudflare-trace/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-11-07-cache-keys-for-cloudflare-trace/</guid><description>&lt;p&gt;You can now see the exact cache key generated for any request directly in Cloudflare Trace. This visibility helps you troubleshoot cache hits and misses, and verify that your Custom Cache Keys — configured via Cache Rules or Page Rules — are working as intended.&lt;/p&gt;
&lt;p&gt;Previously, diagnosing caching behavior required inferring the key from configuration settings. Now, you can confirm that your custom logic for headers, query strings, and device types is correctly applied.&lt;/p&gt;
&lt;p&gt;Access Trace via the &lt;a href=&quot;https://developers.cloudflare.com/rules/trace-request/how-to/#use-trace-in-the-dashboard&quot;&gt;dashboard&lt;/a&gt; or &lt;a href=&quot;https://developers.cloudflare.com/api/resources/request_tracer/methods/trace/&quot;&gt;API&lt;/a&gt;, either manually for ad-hoc debugging or automated as part of your quality-of-service monitoring.&lt;/p&gt;
&lt;h4&gt;Example scenario&lt;/h4&gt;
&lt;p&gt;If you have a Cache Rule that segments content based on a specific cookie (for example, &lt;code&gt;user_region&lt;/code&gt;), run a Trace with that cookie present to confirm the &lt;code&gt;user_region&lt;/code&gt; value appears in the resulting cache key.&lt;/p&gt;
&lt;p&gt;The Trace response includes the cache key in the &lt;code&gt;cache&lt;/code&gt; object:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;step_name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;request&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;cache&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;matched&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;public_name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Cache Parameters&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;cache&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;key&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;zone_id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;023e105f4ecef8ad9ca31a8372d0c353&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;scheme&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;host&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;example.com&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;uri&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;/images/hero.jpg&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;key_string&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;023e105f4ecef8ad9ca31a8372d0c353::::https://example.com/images/hero.jpg:::::&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To learn more, refer to the &lt;a href=&quot;https://developers.cloudflare.com/rules/trace-request/&quot;&gt;Trace documentation&lt;/a&gt; and our guide on &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/cache-keys/&quot;&gt;Custom Cache Keys&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 07 Nov 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Load Balancing - Monitor Groups for Advanced Health Checking With Load Balancing</title><link>https://developers.cloudflare.com/changelog/post/2025-08-15-monitor-groups-for-load-balancing/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-08-15-monitor-groups-for-load-balancing/</guid><description>&lt;p&gt;Cloudflare Load Balancing now supports Monitor Groups, a powerful new way to combine multiple health monitors into a single, logical group. This allows you to create sophisticated health checks that more accurately reflect the true availability of your applications by assessing multiple services at once.&lt;/p&gt;
&lt;p&gt;With Monitor Groups, you can ensure that all critical components of an application are healthy before sending traffic to an origin pool, enabling smarter failover decisions and greater resilience. This feature is now available via the API for customers with an Enterprise Load Balancing subscription.&lt;/p&gt;
&lt;h4&gt;What you can do:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Combine Multiple Monitors&lt;/strong&gt;: Group different health monitors (for example, HTTP, TCP) that check various application components, like a primary API gateway and a specific &lt;code&gt;/login&lt;/code&gt; service.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isolate Monitors for Observation&lt;/strong&gt;: Mark a monitor as &quot;monitoring only&quot; to receive alerts and data without it affecting a pool&apos;s health status or traffic steering. This is perfect for testing new checks or observing non-critical dependencies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve Steering Intelligence&lt;/strong&gt;: Latency for Dynamic Steering is automatically averaged across all active monitors in a group, providing a more holistic view of an origin&apos;s performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This enhancement is ideal for complex, multi-service applications where the health of one component depends on another. By aggregating health signals, Monitor Groups provide a more accurate and comprehensive assessment of your application&apos;s true status.&lt;/p&gt;
&lt;p&gt;For detailed information and API configuration guides, please visit our &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/monitors/monitor-groups&quot;&gt;developer documentation&lt;/a&gt; for Monitor Groups.&lt;/p&gt;</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate><product>Load Balancing</product><category>Load Balancing</category></item><item><title>DNS - DNS Firewall Analytics — now in the Cloudflare dashboard</title><link>https://developers.cloudflare.com/changelog/post/2025-09-16-dnsfw-analytics-ui/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-09-16-dnsfw-analytics-ui/</guid><description>&lt;h4&gt;What&apos;s New&lt;/h4&gt;
&lt;p&gt;Access &lt;a href=&quot;https://developers.cloudflare.com/dns/dns-firewall/analytics/&quot;&gt;GraphQL-powered DNS Firewall analytics&lt;/a&gt; directly in the Cloudflare dashboard.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/DNSFW_Analytics_UI.CgjmZFOO_Z1tNsEz.webp&quot; alt=&quot;DNS Firewall Analytics UI&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;Explore Four Interactive Panels&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Query summary&lt;/strong&gt;: Describes trends over time, segmented by dimensions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query statistics&lt;/strong&gt;: Describes totals, cached/uncached queries, and processing/response times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DNS queries by data center&lt;/strong&gt;: Describes global view and the top 10 data centers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Top query statistics&lt;/strong&gt;: Shows a breakdown by key dimensions, with search and expand options (up to top 100 items).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additional features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apply filters and time ranges once. Changes reflect across all panels.&lt;/li&gt;
&lt;li&gt;Filter by dimensions like query name, query type, cluster, data center, protocol (UDP/TCP), IP version, response code/reason, and more.&lt;/li&gt;
&lt;li&gt;Access up to 62 days of historical data with flexible intervals.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;Available to all DNS Firewall customers as part of their existing subscription.&lt;/p&gt;
&lt;h4&gt;Where to Find It&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;In the Cloudflare dashboard, go to the &lt;strong&gt;DNS Firewall&lt;/strong&gt; page.&lt;/p&gt;
&lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/dns-firewall/analytics&quot; target=&quot;_blank&quot;&gt;  Go to &lt;strong&gt;Analytics&lt;/strong&gt;  &lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Refer to the &lt;a href=&quot;https://developers.cloudflare.com/dns/dns-firewall/analytics/&quot;&gt;DNS Firewall Analytics&lt;/a&gt; to learn more.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>Cache - Smart Tiered Cache Fallback to Generic</title><link>https://developers.cloudflare.com/changelog/post/2025-08-29-smart-tiered-cache-fallback-to-generic/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-08-29-smart-tiered-cache-fallback-to-generic/</guid><description>&lt;p&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/#smart-tiered-cache&quot;&gt;Smart Tiered Cache&lt;/a&gt; now falls back to &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/#generic-global-tiered-cache&quot;&gt;Generic Tiered Cache&lt;/a&gt; when the origin location cannot be determined, improving cache precision for your content.&lt;/p&gt;
&lt;p&gt;Previously, when Smart Tiered Cache was unable to select the optimal upper tier (such as when origins are masked by Anycast IPs), latency could be negatively impacted. This fallback now uses Generic Tiered Cache instead, providing better performance and cache efficiency.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;When Smart Tiered Cache falls back to Generic Tiered Cache:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Multiple upper-tiers&lt;/strong&gt;: Uses all of Cloudflare&apos;s global data centers as a network of upper-tiers instead of a single optimal location.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distributed cache requests&lt;/strong&gt;: Lower-tier data centers can query any available upper-tier for cached content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved global coverage&lt;/strong&gt;: Provides better cache hit ratios across geographically distributed visitors.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automatic fallback&lt;/strong&gt;: Seamlessly transitions when origin location cannot be determined, such as with Anycast-masked origins.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Preserves high performance during fallback&lt;/strong&gt;: Smart Tiered Cache now maintains strong cache efficiency even when optimal upper tier selection is not possible.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Minimizes latency impact&lt;/strong&gt;: Automatically uses Generic Tiered Cache topology to keep performance high when origin location cannot be determined.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Seamless experience&lt;/strong&gt;: No configuration changes or intervention required when fallback occurs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved resilience&lt;/strong&gt;: Smart Tiered Cache remains effective across diverse origin infrastructure, including Anycast-masked origins.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;This improvement is automatically applied to all zones using &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt;. No action is required on your part.&lt;/p&gt;</description><pubDate>Fri, 29 Aug 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Secrets Store, AI Gateway, SSL/TLS - Manage and deploy your AI provider keys through Bring Your Own Key (BYOK) with AI Gateway, now powered by Cloudflare Secrets Store</title><link>https://developers.cloudflare.com/changelog/post/2025-08-25-secrets-store-ai-gateway/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-08-25-secrets-store-ai-gateway/</guid><description>&lt;p&gt;Cloudflare Secrets Store is now integrated with AI Gateway, allowing you to store, manage, and deploy your AI provider keys in a secure and seamless configuration through &lt;a href=&quot;https://developers.cloudflare.com/ai-gateway/configuration/bring-your-own-keys/&quot; target=&quot;_blank&quot;&gt;Bring Your Own Key&lt;/a&gt;. Instead of passing your AI provider keys directly in every request header, you can centrally manage each key with Secrets Store and deploy in your gateway configuration using only a reference, rather than passing the value in plain text.&lt;/p&gt;
&lt;p&gt;You can now create a secret directly from your AI Gateway &lt;a href=&quot;http://dash.cloudflare.com/?to=/:account/ai-gateway&quot; target=&quot;_blank&quot;&gt;in the dashboard&lt;/a&gt; by navigating into your gateway -&gt; &lt;strong&gt;Provider Keys&lt;/strong&gt; -&gt; &lt;strong&gt;Add&lt;/strong&gt;.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/add-secret-ai-gateway.B-SIPr6s_jJjDD.webp&quot; alt=&quot;Import repo or choose template&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;You can also create your secret with the newly available &lt;strong&gt;ai_gateway&lt;/strong&gt; scope via &lt;a href=&quot;https://developers.cloudflare.com/workers/wrangler/commands/&quot; target=&quot;_blank&quot;&gt;wrangler&lt;/a&gt;, the &lt;a href=&quot;http://dash.cloudflare.com/?to=/:account/secrets-store&quot; target=&quot;_blank&quot;&gt;Secrets Store dashboard&lt;/a&gt;, or the &lt;a href=&quot;https://developers.cloudflare.com/api/resources/secrets_store/&quot; target=&quot;_blank&quot;&gt;API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Then, pass the key in the request header using its Secrets Store reference:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;&lt;code class=&quot;language-plaintext&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl -X POST https://gateway.ai.cloudflare.com/v1/&amp;#x3C;ACCOUNT_ID&gt;/my-gateway/anthropic/v1/messages \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--header &apos;cf-aig-authorization: ANTHROPIC_KEY_1 \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--header &apos;anthropic-version: 2023-06-01&apos; \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--header &apos;Content-Type: application/json&apos; \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;--data  &apos;{&quot;model&quot;: &quot;claude-3-opus-20240229&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;What is Cloudflare?&quot;}]}&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Or, using Javascript:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;&lt;code class=&quot;language-plaintext&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;import Anthropic from &apos;@anthropic-ai/sdk&apos;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;const anthropic = new Anthropic({&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;apiKey: &quot;ANTHROPIC_KEY_1&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;baseURL: &quot;https://gateway.ai.cloudflare.com/v1/&amp;#x3C;ACCOUNT_ID&gt;/my-gateway/anthropic&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;const message = await anthropic.messages.create({&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;model: &apos;claude-3-opus-20240229&apos;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;messages: [{role: &quot;user&quot;, content: &quot;What is Cloudflare?&quot;}],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;max_tokens: 1024&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;For more information, check out the &lt;a href=&quot;https://blog.cloudflare.com/ai-gateway-aug-2025-refresh&quot; target=&quot;_blank&quot;&gt;blog&lt;/a&gt;!&lt;/p&gt;</description><pubDate>Mon, 25 Aug 2025 11:00:00 GMT</pubDate><product>Secrets Store</product><category>Secrets Store</category><category>AI Gateway</category><category>SSL/TLS</category></item><item><title>Load Balancing - Steer Traffic by AS Number in Load Balancing Custom Rules</title><link>https://developers.cloudflare.com/changelog/post/2025-08-15-asnum-support-in-custom-rules/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-08-15-asnum-support-in-custom-rules/</guid><description>&lt;p&gt;You can now create more granular, network-aware Custom Rules in Cloudflare Load Balancing using the Autonomous System Number (ASN) of an incoming request.&lt;/p&gt;
&lt;p&gt;This allows you to steer traffic with greater precision based on the network source of a request. For example, you can route traffic from specific Internet Service Providers (ISPs) or enterprise customers to dedicated infrastructure, optimize performance, or enforce compliance by directing certain networks to preferred data centers.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/asnum-custom-rule.CtcHu_zj_Z24vRO0.webp&quot; alt=&quot;Create a Load Balancing Custom Rule using AS Num&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;To get started, create a &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/additional-options/load-balancing-rules/&quot; target=&quot;_blank&quot;&gt;Custom Rule&lt;/a&gt; in your Load Balancer and select &lt;strong&gt;AS Num&lt;/strong&gt; from the &lt;strong&gt;Field&lt;/strong&gt; dropdown.&lt;/p&gt;</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate><product>Load Balancing</product><category>Load Balancing</category></item><item><title>Load Balancing - Improvements to Monitoring Using Zone Settings</title><link>https://developers.cloudflare.com/changelog/post/2025-08-06-zone-monitoring-improvements/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-08-06-zone-monitoring-improvements/</guid><description>&lt;p&gt;Cloudflare Load Balancing Monitors support loading and applying settings for a specific zone to monitoring requests to origin endpoints. This feature has been migrated to new infrastructure to improve reliability, performance, and accuracy.&lt;/p&gt;
&lt;p&gt;All zone monitors have been tested against the new infrastructure. There should be no change to health monitoring results of currently healthy and active pools. Newly created or re-enabled pools may need validation of their monitor zone settings before being introduced to service, especially regarding correct application of mTLS.&lt;/p&gt;
&lt;h4&gt;What you can expect:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;More reliable application of zone settings to monitoring requests, including
&lt;ul&gt;
&lt;li&gt;Authenticated Origin Pulls&lt;/li&gt;
&lt;li&gt;Aegis Egress IP Pools&lt;/li&gt;
&lt;li&gt;Argo Smart Routing&lt;/li&gt;
&lt;li&gt;HTTP/2 to Origin&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Improved support and bug fixes for retries, redirects, and proxied origin resolution&lt;/li&gt;
&lt;li&gt;Improved performance and reliability of monitoring requests withing the Cloudflare network&lt;/li&gt;
&lt;li&gt;Unrelated CDN or WAF configuration changes should have no risk of impact to pool health&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate><product>Load Balancing</product><category>Load Balancing</category></item><item><title>DNS - Account-level DNS analytics now available via GraphQL Analytics API</title><link>https://developers.cloudflare.com/changelog/post/2025-06-23-account-level-dns-analytics-api/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-06-23-account-level-dns-analytics-api/</guid><description>&lt;p&gt;Authoritative DNS analytics are now available on the &lt;strong&gt;account level&lt;/strong&gt; via the &lt;a href=&quot;https://developers.cloudflare.com/analytics/graphql-api/&quot;&gt;Cloudflare GraphQL Analytics API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This allows users to query DNS analytics across multiple zones in their account, by using the &lt;code&gt;accounts&lt;/code&gt; filter.&lt;/p&gt;
&lt;p&gt;Here is an example to retrieve the most recent DNS queries across all zones in your account that resulted in an &lt;code&gt;NXDOMAIN&lt;/code&gt; response over a given time frame. Please replace &lt;code&gt;a30f822fcd7c401984bf85d8f2a5111c&lt;/code&gt; with your actual account ID.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;graphql&quot;&gt;&lt;code class=&quot;language-graphql&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;query&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;GetLatestNXDOMAINResponses&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;viewer &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;accounts(&lt;/span&gt;&lt;span&gt;filter&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;accountTag&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;a30f822fcd7c401984bf85d8f2a5111c&quot;&lt;/span&gt;&lt;span&gt; }) &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;dnsAnalyticsAdaptive(&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;filter&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;date_geq&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;2025-06-16&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;date_leq&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;2025-06-18&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;responseCode&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;NXDOMAIN&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;limit&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;10000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;orderBy&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; [&lt;/span&gt;&lt;span&gt;datetime_DESC&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;zoneTag&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;queryName&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;responseCode&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;queryType&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;datetime&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;a href=&quot;https://graphql.cloudflare.com/explorer?query=I4VwpgTgngBA4mALgGQIaLAZ0QOQBoAiA8gLICCAkjgEpYAOA9gHaZYwDeAUDDAG4CWYAO6QO3HjFQBjKQxBNEmABQAzfgBsMEAFwdJMuQoAqqAOa6ARKgDMABhUAOAExOVUgCYB2KQBZbARgBOBx8AI0cAVncHFSdUCP9EqQsYAF8ASjEJCXcWMiZUdShEfilMMndUOhLeMCVxbJ41TUhdLkbGyowAfVMwYEsnWycIgFpbADZR-wmLBo6YLrBu9X7B4bHJ6Yc5hYkIemZWAGEGdzBLfGJyKl2F1Pns9X4AW35EXX9bb9tHiQYIOcIAAhKC6ADaSxKL2WBAAogBlY4AXT+mXaCwAXswwCZTH8eKBIFAcKgYQSYAdMIwWGBTucKUToEYoHQwBSoa92R0HtleWlOKkgA&amp;#x26;variables=N4XyA&quot; target=&quot;_blank&quot;&gt;Run in GraphQL API Explorer&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To learn more and get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/dns/additional-options/analytics/#analytics&quot;&gt;DNS Analytics documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>DNS - Internal DNS (beta) now manageable in the Cloudflare dashboard</title><link>https://developers.cloudflare.com/changelog/post/2025-06-16-internal-dns-beta-ui/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-06-16-internal-dns-beta-ui/</guid><description>&lt;p&gt;Participating beta testers can now fully configure &lt;a href=&quot;https://developers.cloudflare.com/dns/internal-dns/&quot;&gt;Internal DNS&lt;/a&gt; directly in the &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/internal-dns&quot; target=&quot;_blank&quot;&gt;Cloudflare dashboard&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Internal DNS enables customers to:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Map internal hostnames to private IPs for services, devices, and applications not exposed to the public Internet&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Resolve internal DNS queries securely through &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-one/traffic-policies/&quot;&gt;Cloudflare Gateway&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use split-horizon DNS to return different responses based on network context&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Consolidate internal and public DNS zones within a single management platform&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;What’s new in this release:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Beta participants can now create and manage internal zones and views in the Cloudflare dashboard&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/internal-dns-beta-ui.B5uCVZ9o_yVcqC.webp&quot; alt=&quot;Internal DNS UI&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;The Internal DNS beta is currently only available to Enterprise customers.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;To learn more and get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/dns/internal-dns/&quot;&gt;Internal DNS documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 16 Jun 2025 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>DNS - NSEC3 support for DNSSEC</title><link>https://developers.cloudflare.com/changelog/post/2025-06-11-nsec3-support/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-06-11-nsec3-support/</guid><description>&lt;p&gt;Enterprise customers can now select NSEC3 as method for proof of non-existence on their zones.&lt;/p&gt;
&lt;p&gt;What&apos;s new:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NSEC3 support for live-signed zones&lt;/strong&gt; – For both primary and secondary zones that are configured to be live-signed (also known as &quot;on-the-fly signing&quot;), NSEC3 can now be selected as proof of non-existence.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NSEC3 support for pre-signed zones&lt;/strong&gt; – Secondary zones that are transferred to Cloudflare in a &lt;a href=&quot;https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/dnssec-for-secondary/#set-up-pre-signed-dnssec&quot;&gt;pre-signed setup&lt;/a&gt; now also support NSEC3 as proof of non-existence.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information and how to enable NSEC3, refer to the &lt;a href=&quot;https://developers.cloudflare.com/dns/dnssec/enable-nsec3/&quot;&gt;NSEC3 documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 11 Jun 2025 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>Load Balancing - New Account-Level Load Balancing UI and Private Load Balancers</title><link>https://developers.cloudflare.com/changelog/post/2025-06-04-account-load-balancing-ui/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-06-04-account-load-balancing-ui/</guid><description>&lt;p&gt;We&apos;ve made two large changes to load balancing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Redesigned the user interface, now centralized at the &lt;strong&gt;account level&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Introduced &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/private-network/&quot;&gt;&lt;strong&gt;Private Load Balancers&lt;/strong&gt;&lt;/a&gt; to the UI, enabling you to manage traffic for all of your external and internal applications in a single spot.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This update streamlines how you manage load balancers across multiple zones and extends robust traffic management to your private network infrastructure.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/account-load-balancing-ui.CoCi7gPb_Z2rDoCY.webp&quot; alt=&quot;Load Balancing UI&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Key Enhancements:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Account-Level UI Consolidation:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Unified Management:&lt;/strong&gt; 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.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved Efficiency:&lt;/strong&gt; This centralized approach provides a more streamlined workflow, making it faster and easier to manage both your public-facing and internal traffic distribution.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Private Network Load Balancing:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Secure Internal Application Access:&lt;/strong&gt; Create &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/private-network/&quot;&gt;&lt;strong&gt;Private Load Balancers&lt;/strong&gt;&lt;/a&gt; to distribute traffic to applications hosted within your private network, ensuring they are not exposed to the public Internet.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;WARP &amp;#x26; Magic WAN Integration:&lt;/strong&gt; Effortlessly direct internal traffic from users connected via Cloudflare WARP or through your Magic WAN infrastructure to the appropriate internal endpoint pools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Enhanced Security for Internal Resources:&lt;/strong&gt; Combine reliable Load Balancing with Zero Trust access controls to ensure your internal services are both performant and only accessible by verified users.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/private-load-balancer.yti20m_p_q5zIk.webp&quot; alt=&quot;Private Load Balancers&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;</description><pubDate>Wed, 04 Jun 2025 00:00:00 GMT</pubDate><product>Load Balancing</product><category>Load Balancing</category></item><item><title>DNS - Improved onboarding for Shopify merchants</title><link>https://developers.cloudflare.com/changelog/post/2025-06-03-shopify-o2o-improvements/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-06-03-shopify-o2o-improvements/</guid><description>&lt;p&gt;Shopify merchants can now onboard to &lt;strong&gt;O2O&lt;/strong&gt; automatically, without needing to contact support or community members.&lt;/p&gt;
&lt;p&gt;What&apos;s new:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automatic enablement&lt;/strong&gt; – O2O is available for all mutual Cloudflare and Shopify customers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Branded record display&lt;/strong&gt; – Merchants see a Shopify logo in DNS records, complete with helpful tooltips.&lt;/p&gt;
&lt;p&gt;&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/shop-dns-icon-o2o.Ca5DAZHL_1weoif.webp&quot; alt=&quot;Shopify O2O logo&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Checkout protection&lt;/strong&gt; – Workers and Snippets are blocked from running on the checkout path to reduce risk and improve security.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/saas-customers/provider-guides/shopify/&quot;&gt;provider guide&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>SSL/TLS, Cloudflare for SaaS, Secrets Store - Increased limits for Cloudflare for SaaS and Secrets Store free and pay-as-you-go plans</title><link>https://developers.cloudflare.com/changelog/post/2025-05-19-paygo-updates/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-05-19-paygo-updates/</guid><description>&lt;p&gt;With upgraded limits to &lt;a href=&quot;https://www.cloudflare.com/plans/&quot; target=&quot;_blank&quot;&gt;all free and paid plans&lt;/a&gt;, you can now scale more easily with &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/&quot; target=&quot;_blank&quot;&gt;Cloudflare for SaaS&lt;/a&gt; and &lt;a href=&quot;https://developers.cloudflare.com/secrets-store/&quot; target=&quot;_blank&quot;&gt;Secrets Store&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/&quot; target=&quot;_blank&quot;&gt;Cloudflare for SaaS&lt;/a&gt; allows you to extend the benefits of Cloudflare to your customers via their own custom or vanity domains. Now, the &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/plans/&quot; target=&quot;_blank&quot;&gt;limit for custom hostnames&lt;/a&gt; on a Cloudflare for SaaS pay-as-you-go plan has been &lt;strong&gt;raised from 5,000 custom hostnames to 50,000 custom hostnames.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With custom origin server -- previously an enterprise-only feature -- you can route traffic from one or more custom hostnames somewhere other than your default proxy fallback. &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/start/advanced-settings/custom-origin/&quot; target=&quot;_blank&quot;&gt;Custom origin server&lt;/a&gt; is now available to Cloudflare for SaaS customers on Free, Pro, and Business plans.&lt;/p&gt;
&lt;p&gt;You can enable custom origin server on a per-custom hostname basis &lt;a href=&quot;https://developers.cloudflare.com/api/resources/custom_hostnames/methods/edit/&quot; target=&quot;_blank&quot;&gt;via the API&lt;/a&gt; or the UI:&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/custom-origin-server.B-BXcG-1_ZUd9i6.webp&quot; alt=&quot;Import repo or choose template&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Currently &lt;a href=&quot;https://blog.cloudflare.com/secrets-store-beta/&quot; target=&quot;_blank&quot;&gt;in beta with a Workers integration&lt;/a&gt;, &lt;a href=&quot;https://developers.cloudflare.com/secrets-store/&quot; target=&quot;_blank&quot;&gt;Cloudflare Secrets Store&lt;/a&gt; allows you to store, manage, and deploy account level secrets from a secure, centralized platform your &lt;a href=&quot;https://developers.cloudflare.com/workers/&quot; target=&quot;_blank&quot;&gt;Cloudflare Workers&lt;/a&gt;. Now, you can create and deploy &lt;strong&gt;100 secrets per account&lt;/strong&gt;. Try it out &lt;a href=&quot;http://dash.cloudflare.com/?to=/:account/secrets-store&quot; target=&quot;_blank&quot;&gt;in the dashboard&lt;/a&gt;, with &lt;a href=&quot;https://developers.cloudflare.com/secrets-store/integrations/workers/&quot; target=&quot;_blank&quot;&gt;Wrangler&lt;/a&gt;, or &lt;a href=&quot;https://developers.cloudflare.com/api/resources/secrets_store/&quot; target=&quot;_blank&quot;&gt;via the API&lt;/a&gt; today.&lt;/p&gt;</description><pubDate>Tue, 27 May 2025 11:00:00 GMT</pubDate><product>SSL/TLS</product><category>SSL/TLS</category><category>Cloudflare for SaaS</category><category>Secrets Store</category></item><item><title>Load Balancing - UDP and ICMP Monitor Support for Private Load Balancing Endpoints</title><link>https://developers.cloudflare.com/changelog/post/2025-05-06-private-health-monitoring-methods/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-05-06-private-health-monitoring-methods/</guid><description>&lt;p&gt;Cloudflare Load Balancing now supports &lt;strong&gt;UDP (Layer 4)&lt;/strong&gt; and &lt;strong&gt;ICMP (Layer 3)&lt;/strong&gt; health monitors for &lt;strong&gt;private endpoints&lt;/strong&gt;. This makes it simple to track the health and availability of internal services that don’t respond to HTTP, TCP, or other protocol probes.&lt;/p&gt;
&lt;h4&gt;What you can do:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Set up &lt;strong&gt;ICMP ping monitors&lt;/strong&gt; to check if your private endpoints are reachable.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;UDP monitors&lt;/strong&gt; for lightweight health checks on non-TCP workloads, such as DNS, VoIP, or custom UDP-based services.&lt;/li&gt;
&lt;li&gt;Gain better visibility and uptime guarantees for services running behind &lt;strong&gt;Private Network Load Balancing&lt;/strong&gt;, without requiring public IP addresses.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This enhancement is ideal for internal applications that rely on low-level protocols, especially when used in conjunction with &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;&lt;strong&gt;Cloudflare Tunnel&lt;/strong&gt;&lt;/a&gt;, &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-one/team-and-resources/devices/cloudflare-one-client/&quot;&gt;&lt;strong&gt;WARP&lt;/strong&gt;&lt;/a&gt;, and &lt;a href=&quot;https://developers.cloudflare.com/cloudflare-wan/&quot;&gt;&lt;strong&gt;Magic WAN&lt;/strong&gt;&lt;/a&gt; to create a secure and observable private network.&lt;/p&gt;
&lt;p&gt;Learn more about &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/private-network/&quot;&gt;Private Network Load Balancing&lt;/a&gt; or view the full list of &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/monitors/#supported-protocols&quot;&gt;supported health monitor protocols&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 06 May 2025 00:00:00 GMT</pubDate><product>Load Balancing</product><category>Load Balancing</category></item><item><title>Secrets Store, SSL/TLS - Cloudflare Secrets Store now available in Beta</title><link>https://developers.cloudflare.com/changelog/post/2025-04-09-secrets-store-beta/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-04-09-secrets-store-beta/</guid><description>&lt;p&gt;Cloudflare Secrets Store is available today in Beta. You can now store, manage, and deploy account level secrets from a secure, centralized platform to your Workers.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/secrets-store-landing-page.BQoEWsq8_ZUrGq1.webp&quot; alt=&quot;Import repo or choose template&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;To spin up your Cloudflare Secrets Store, simply click the new Secrets Store tab &lt;a href=&quot;http://dash.cloudflare.com/?to=/:account/secrets-store&quot; target=&quot;_blank&quot;&gt;in the dashboard&lt;/a&gt; or use this Wrangler command:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;sh&quot;&gt;&lt;code class=&quot;language-sh&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;wrangler&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;secrets-store&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;store&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;create&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;#x3C;name&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--remote&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;The following are supported in the Secrets Store beta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Secrets Store UI &amp;#x26; API: create your store &amp;#x26; create, duplicate, update, scope, and delete a secret&lt;/li&gt;
&lt;li&gt;Workers UI: bind a new or existing account level secret to a Worker and deploy in code&lt;/li&gt;
&lt;li&gt;Wrangler: create your store &amp;#x26; create, duplicate, update, scope, and delete a secret&lt;/li&gt;
&lt;li&gt;Account Management UI &amp;#x26; API: assign Secrets Store permissions roles &amp;#x26; view audit logs for actions taken in Secrets Store core platform&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For instructions on how to get started, visit our &lt;a href=&quot;https://developers.cloudflare.com/secrets-store/&quot;&gt;developer documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate><product>Secrets Store</product><category>Secrets Store</category><category>SSL/TLS</category></item><item><title>Cache - Workers Fetch API can override Cache Rules</title><link>https://developers.cloudflare.com/changelog/post/2025-04-04-workers-fetch-api-override-cache-rules/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-04-04-workers-fetch-api-override-cache-rules/</guid><description>&lt;p&gt;You can now programmatically override Cache Rules using the &lt;code&gt;cf&lt;/code&gt; object in the &lt;code&gt;fetch()&lt;/code&gt; command. This feature gives you fine-grained control over caching behavior on a per-request basis, allowing Workers to customize cache settings dynamically based on request properties, user context, or business logic.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;Using the &lt;code&gt;cf&lt;/code&gt; object in &lt;code&gt;fetch()&lt;/code&gt;, you can override specific Cache Rules settings by:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Setting custom cache options&lt;/strong&gt;: Pass cache properties in the &lt;code&gt;cf&lt;/code&gt; object as the second argument to &lt;code&gt;fetch()&lt;/code&gt; to override default Cache Rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic cache control&lt;/strong&gt;: Apply different caching strategies based on request headers, cookies, or other runtime conditions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per-request customization&lt;/strong&gt;: Bypass or modify Cache Rules for individual requests while maintaining default behavior for others.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Programmatic cache management&lt;/strong&gt;: Implement complex caching logic that adapts to your application&apos;s needs.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;What can be configured&lt;/h4&gt;
&lt;p&gt;Workers can override the following Cache Rules settings through the &lt;code&gt;cf&lt;/code&gt; object:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;cacheEverything&lt;/code&gt;&lt;/strong&gt;: Treat all content as static and cache all file types beyond the default cached content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;cacheTtl&lt;/code&gt;&lt;/strong&gt;: Set custom time-to-live values in seconds for cached content at the edge, regardless of origin headers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;cacheTtlByStatus&lt;/code&gt;&lt;/strong&gt;: Set different TTLs based on the response status code (for example, &lt;code&gt;{ &quot;200-299&quot;: 86400, 404: 1, &quot;500-599&quot;: 0 }&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;cacheKey&lt;/code&gt;&lt;/strong&gt;: Customize cache keys to control which requests are treated as the same for caching purposes (Enterprise only).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;cacheTags&lt;/code&gt;&lt;/strong&gt;: Append additional cache tags for targeted cache purging operations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enhanced flexibility&lt;/strong&gt;: Customize cache behavior without modifying zone-level Cache Rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic optimization&lt;/strong&gt;: Adjust caching strategies in real-time based on request context.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Simplified configuration&lt;/strong&gt;: Reduce the number of Cache Rules needed by handling edge cases programmatically.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved performance&lt;/strong&gt;: Fine-tune cache behavior for specific use cases to maximize hit rates.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/workers/runtime-apis/fetch/&quot;&gt;Workers Fetch API documentation&lt;/a&gt; and the &lt;a href=&quot;https://developers.cloudflare.com/workers/runtime-apis/request/#the-cf-property-requestinitcfproperties&quot;&gt;cf object properties documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 04 Apr 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - All cache purge methods now available for all plans</title><link>https://developers.cloudflare.com/changelog/post/2025-04-01-purge-for-all/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-04-01-purge-for-all/</guid><description>&lt;p&gt;You can now access all Cloudflare cache purge methods — no matter which plan you’re on. Whether you need to update a single asset or instantly invalidate large portions of your site’s content, you now have the same powerful tools previously reserved for Enterprise customers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anyone on Cloudflare can now:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/purge-cache/purge-everything/&quot;&gt;Purge Everything&lt;/a&gt;: Clears all cached content associated with a website.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/purge-cache/purge_by_prefix/&quot;&gt;Purge by Prefix&lt;/a&gt;: Targets URLs sharing a common prefix.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-hostname/&quot;&gt;Purge by Hostname&lt;/a&gt;: Invalidates content by specific hostnames.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-single-file/&quot;&gt;Purge by URL (single-file purge)&lt;/a&gt;: Precisely targets individual URLs.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/&quot;&gt;Purge by Tag&lt;/a&gt;: Uses Cache-Tag response headers to invalidate grouped assets, offering flexibility for complex cache management scenarios.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Want to learn how each purge method works, when to use them, or what limits apply to your plan? Dive into our &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/purge-cache/&quot;&gt;purge cache documentation&lt;/a&gt; and &lt;a href=&quot;https://developers.cloudflare.com/api/resources/cache/methods/purge/&quot; target=&quot;_blank&quot;&gt;API reference&lt;/a&gt; for all the details.&lt;/p&gt;</description><pubDate>Thu, 03 Apr 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>SSL/TLS - Upload a certificate bundle with an RSA and ECDSA certificate per custom hostname</title><link>https://developers.cloudflare.com/changelog/post/2025-02-14-cert-bundling-for-custom-hostnames/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-02-14-cert-bundling-for-custom-hostnames/</guid><description>&lt;p&gt;Cloudflare has supported both RSA and ECDSA certificates across our platform for a number of years. Both certificates offer the same security, but ECDSA is more performant due to a smaller key size. However, RSA is more widely adopted and ensures compatibility with legacy clients. Instead of choosing between them, you may want both – that way, ECDSA is used when clients support it, but RSA is available if not.&lt;/p&gt;
&lt;p&gt;Now, you can upload both an RSA and ECDSA certificate on a custom hostname via the API.&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;plaintext&quot;&gt;&lt;code class=&quot;language-plaintext&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl -X POST https://api.cloudflare.com/client/v4/zones/$ZONE_ID/custom_hostnames \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;-H &apos;Content-Type: application/json&apos; \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;-H &quot;X-Auth-Email: $CLOUDFLARE_EMAIL&quot; \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;-H &quot;X-Auth-Key: $CLOUDFLARE_API_KEY&quot; \&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;-d &apos;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;hostname&quot;: &quot;hostname&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;ssl&quot;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;custom_cert_bundle&quot;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;custom_certificate&quot;: &quot;RSA Cert&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;custom_key&quot;: &quot;RSA Key&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;custom_certificate&quot;: &quot;ECDSA Cert&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;                &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;custom_key&quot;: &quot;ECDSA Key&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;bundle_method&quot;: &quot;force&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;wildcard&quot;: false,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;settings&quot;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;min_tls_version&quot;: &quot;1.0&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}’&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;You can also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.cloudflare.com/api/resources/custom_hostnames/methods/create/&quot;&gt;Upload&lt;/a&gt; an RSA or ECDSA certificate to a custom hostname with an existing ECDSA or RSA certificate, respectively.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.cloudflare.com/api/resources/custom_hostnames/subresources/certificate_pack/subresources/certificates/methods/update/&quot;&gt;Replace&lt;/a&gt; the RSA or ECDSA certificate with a certificate of its same type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://developers.cloudflare.com/api/resources/custom_hostnames/subresources/certificate_pack/subresources/certificates/methods/delete/&quot;&gt;Delete&lt;/a&gt; the RSA or ECDSA certificate (if the custom hostname has both an RSA and ECDSA uploaded).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This feature is available for Business and Enterprise customers who have purchased custom certificates.&lt;/p&gt;</description><pubDate>Fri, 14 Feb 2025 00:00:00 GMT</pubDate><product>SSL/TLS</product><category>SSL/TLS</category></item><item><title>Cache - Configurable multiplexing HTTP/2 to Origin</title><link>https://developers.cloudflare.com/changelog/post/2025-02-12-configurable-multiplexing-http2-to-origin/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-02-12-configurable-multiplexing-http2-to-origin/</guid><description>&lt;p&gt;You can now configure HTTP/2 multiplexing settings for origin connections on Enterprise plans. This feature allows you to optimize how Cloudflare manages concurrent requests over HTTP/2 connections to your origin servers, improving cache efficiency and reducing connection overhead.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;HTTP/2 multiplexing allows multiple requests to be sent over a single TCP connection. With this configuration option, you can:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Control concurrent streams&lt;/strong&gt;: Adjust the maximum number of concurrent streams per connection.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimize connection reuse&lt;/strong&gt;: Fine-tune connection pooling behavior for your origin infrastructure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce connection overhead&lt;/strong&gt;: Minimize the number of TCP connections required between Cloudflare and your origin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve cache performance&lt;/strong&gt;: Better connection management can enhance cache fetch efficiency.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Customizable performance&lt;/strong&gt;: Tailor multiplexing settings to your origin&apos;s capabilities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced latency&lt;/strong&gt;: Fewer connection handshakes improve response times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lower origin load&lt;/strong&gt;: More efficient connection usage reduces server resource consumption.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhanced scalability&lt;/strong&gt;: Better connection management supports higher traffic volumes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;Enterprise customers can configure HTTP/2 multiplexing settings in the &lt;a href=&quot;https://dash.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;Cloudflare Dashboard&lt;/a&gt; or through our &lt;a href=&quot;https://developers.cloudflare.com/api/&quot;&gt;API&lt;/a&gt;.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Important consideration&lt;/p&gt;&lt;div&gt;&lt;p&gt;This setting needs to be tuned carefully for your origin infrastructure. Setting the concurrent stream limit too high can negatively impact performance by saturating the shared TCP connection and overwhelming server processing capacity, leading to increased latency for individual requests.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;</description><pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Fight CSAM More Easily Than Ever</title><link>https://developers.cloudflare.com/changelog/post/2025-02-04-easier-onboarding-for-csam-scanning-tool/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-02-04-easier-onboarding-for-csam-scanning-tool/</guid><description>&lt;p&gt;You can now implement our &lt;strong&gt;child safety tooling&lt;/strong&gt;, the &lt;strong&gt;&lt;a href=&quot;https://developers.cloudflare.com/cache/reference/csam-scanning/&quot;&gt;CSAM Scanning Tool&lt;/a&gt;&lt;/strong&gt;, more easily. Instead of requiring external reporting credentials, you only need a verified email address for notifications to onboard. This change makes the tool more accessible to a wider range of customers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How It Works&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When enabled, the tool automatically &lt;a href=&quot;https://blog.cloudflare.com/the-csam-scanning-tool/&quot; target=&quot;_blank&quot;&gt;hashes images for enabled websites as they enter the Cloudflare cache&lt;/a&gt;. These hashes are then checked against a database of &lt;strong&gt;known abusive images&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Potential match detected?&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;content URL is blocked&lt;/strong&gt;, and&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare will notify you&lt;/strong&gt; about the found matches via the provided email address.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Updated Service-Specific Terms&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We have also made updates to our &lt;strong&gt;&lt;a href=&quot;https://www.cloudflare.com/service-specific-terms-application-services/#csam-scanning-tool-terms&quot; target=&quot;_blank&quot;&gt;Service-Specific Terms&lt;/a&gt;&lt;/strong&gt; to reflect these changes.&lt;/p&gt;</description><pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>DNS - Removed unused meta fields from DNS records</title><link>https://developers.cloudflare.com/changelog/post/2025-02-02-removed-meta-fields/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-02-02-removed-meta-fields/</guid><description>&lt;p&gt;Cloudflare is removing five fields from the &lt;code&gt;meta&lt;/code&gt; object of DNS records. These fields have been unused for more than a year and are no longer set on new records. This change may take up to four weeks to fully roll out.&lt;/p&gt;
&lt;p&gt;The affected fields are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the &lt;code&gt;auto_added&lt;/code&gt; boolean&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;managed_by_apps&lt;/code&gt; boolean and corresponding &lt;code&gt;apps_install_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;managed_by_argo_tunnel&lt;/code&gt; boolean and corresponding &lt;code&gt;argo_tunnel_id&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example record returned from the API would now look like the following:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;result&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;ID&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;zone_id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;ZONE_ID&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;zone_name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;example.com&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;www.example.com&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;type&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;A&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;content&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;192.0.2.1&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;proxiable&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;proxied&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ttl&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;locked&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;meta&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;auto_added&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;managed_by_apps&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;managed_by_argo_tunnel&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;source&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;primary&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;comment&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;null&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;tags&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;[],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;created_on&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;2025-03-17T20:37:05.368097Z&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;modified_on&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;2025-03-17T20:37:05.368097Z&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;success&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;errors&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;[],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;messages&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;[]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;For more guidance, refer to &lt;a href=&quot;https://developers.cloudflare.com/dns/manage-dns-records/&quot;&gt;Manage DNS records&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate><product>DNS</product><category>DNS</category></item><item><title>Cache - Smart Tiered Cache optimizes Load Balancing Pools</title><link>https://developers.cloudflare.com/changelog/post/2025-01-08-smart-tiered-cache-for-load-balancing/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-01-08-smart-tiered-cache-for-load-balancing/</guid><description>&lt;p&gt;You can now achieve higher cache hit rates and reduce origin load when using &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/&quot;&gt;Load Balancing&lt;/a&gt; with &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt;. Cloudflare automatically selects a single, optimal tiered data center for all origins in your Load Balancing Pool.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;When you use &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/&quot;&gt;Load Balancing&lt;/a&gt; with &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt;, Cloudflare analyzes performance metrics across your pool&apos;s origins and automatically selects the optimal Upper Tier data center for the entire pool. This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Consistent cache location&lt;/strong&gt;: All origins in the pool share the same Upper Tier cache.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Higher HIT rates&lt;/strong&gt;: Requests for the same content hit the cache more frequently.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced origin requests&lt;/strong&gt;: Fewer requests reach your origin servers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved performance&lt;/strong&gt;: Faster response times for cache HITs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Example workflow&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;txt&quot;&gt;&lt;code class=&quot;language-txt&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Load Balancing Pool: api-pool&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;├── Origin 1: api-1.example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;├── Origin 2: api-2.example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;└── Origin 3: api-3.example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Selected Upper Tier: [Optimal data center based on pool performance]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, enable &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt; on your zone and configure your &lt;a href=&quot;https://developers.cloudflare.com/load-balancing/&quot;&gt;Load Balancing Pool&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 08 Jan 2025 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Smart Tiered Cache automatically optimizes R2 caching</title><link>https://developers.cloudflare.com/changelog/post/2024-11-20-smart-tiered-cache-for-r2/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2024-11-20-smart-tiered-cache-for-r2/</guid><description>&lt;p&gt;You can now reduce latency and lower R2 egress costs automatically when using &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt; with &lt;a href=&quot;https://developers.cloudflare.com/r2/&quot;&gt;R2&lt;/a&gt;. Cloudflare intelligently selects a tiered data center close to your R2 bucket location, creating an efficient caching topology without additional configuration.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;When you enable &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt; for zones using &lt;a href=&quot;https://developers.cloudflare.com/r2/&quot;&gt;R2&lt;/a&gt; as an origin, Cloudflare automatically:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Identifies your R2 bucket location&lt;/strong&gt;: Determines the geographical region where your R2 bucket is stored.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Selects an optimal Upper Tier&lt;/strong&gt;: Chooses a data center close to your bucket as the common Upper Tier cache.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routes requests efficiently&lt;/strong&gt;: All cache misses in edge locations route through this Upper Tier before reaching R2.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatic optimization&lt;/strong&gt;: No manual configuration required.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lower egress costs&lt;/strong&gt;: Fewer requests to R2 reduce egress charges.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved hit ratio&lt;/strong&gt;: Common Upper Tier increases cache efficiency.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduced latency&lt;/strong&gt;: Upper Tier proximity to R2 minimizes fetch times.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, enable &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/&quot;&gt;Smart Tiered Cache&lt;/a&gt; on your zone using R2 as an origin.&lt;/p&gt;</description><pubDate>Wed, 20 Nov 2024 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Stage and test cache configurations safely</title><link>https://developers.cloudflare.com/changelog/post/2024-11-07-cache-versioning/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2024-11-07-cache-versioning/</guid><description>&lt;p&gt;You can now stage and test cache configurations before deploying them to production. Versioned environments let you safely validate cache rules, purge operations, and configuration changes without affecting live traffic.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;With versioned environments, you can:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Create staging versions&lt;/strong&gt; of your cache configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test cache rules&lt;/strong&gt; in a non-production environment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Purge staged content&lt;/strong&gt; independently from production.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Validate changes&lt;/strong&gt; before promoting to production.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This capability integrates with Cloudflare&apos;s broader &lt;a href=&quot;https://developers.cloudflare.com/version-management/&quot;&gt;versioning system&lt;/a&gt;, allowing you to manage cache configurations alongside other zone settings.&lt;/p&gt;
&lt;h4&gt;Benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Risk-free testing&lt;/strong&gt;: Validate configuration changes without impacting production.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Independent purging&lt;/strong&gt;: Clear staging cache without affecting live content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployment confidence&lt;/strong&gt;: Catch issues before they reach end users.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Team collaboration&lt;/strong&gt;: Multiple team members can work on different versions.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/version-management/&quot;&gt;version management documentation&lt;/a&gt;.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Important limitation&lt;/p&gt;&lt;div&gt;&lt;p&gt;Cache Reserve is only supported for your production environment. Staged environments can use standard cache functionality, but Cache Reserve persistence is limited to production deployments.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;</description><pubDate>Thu, 07 Nov 2024 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Shard cache using custom cache key values</title><link>https://developers.cloudflare.com/changelog/post/2024-11-07-shard-cache-by-cache-key/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2024-11-07-shard-cache-by-cache-key/</guid><description>&lt;p&gt;Enterprise customers can now optimize cache hit ratios for content that varies by device, language, or referrer by &lt;strong&gt;sharding cache&lt;/strong&gt; using up to ten values from previously restricted headers with &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/cache-keys/&quot;&gt;custom cache keys&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;When configuring &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/cache-keys/&quot;&gt;custom cache keys&lt;/a&gt;, you can now include values from these headers to create distinct cache entries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;accept*&lt;/code&gt; headers&lt;/strong&gt; (for example, &lt;code&gt;accept&lt;/code&gt;, &lt;code&gt;accept-encoding&lt;/code&gt;, &lt;code&gt;accept-language&lt;/code&gt;): Serve different cached versions based on content negotiation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;referer&lt;/code&gt; header&lt;/strong&gt;: Cache content differently based on the referring page or site.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;user-agent&lt;/code&gt; header&lt;/strong&gt;: Maintain separate caches for different browsers, devices, or bots.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;When to use cache sharding&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Content varies significantly by device type (mobile vs desktop).&lt;/li&gt;
&lt;li&gt;Different language or encoding preferences require distinct responses.&lt;/li&gt;
&lt;li&gt;Referrer-specific content optimization is needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Example configuration&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;cache_key&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;custom_key&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;header&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;include&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&quot;accept-language&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;user-agent&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;check_presence&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&quot;referer&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;This configuration creates separate cache entries based on the &lt;code&gt;accept-language&lt;/code&gt; and &lt;code&gt;user-agent&lt;/code&gt; headers, while also considering whether the &lt;code&gt;referer&lt;/code&gt; header is present.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/cache-keys/&quot;&gt;custom cache keys documentation&lt;/a&gt;.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;While cache sharding can improve hit ratios for specific use cases, overly sharding your cache can reduce overall cache efficiency and negatively impact performance. Carefully evaluate whether sharding benefits your specific traffic patterns.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;</description><pubDate>Thu, 07 Nov 2024 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - One-click Cache Rules templates now available</title><link>https://developers.cloudflare.com/changelog/post/2024-09-05-cache-rules-templates/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2024-09-05-cache-rules-templates/</guid><description>&lt;p&gt;You can now create optimized cache rules instantly with &lt;strong&gt;one-click templates&lt;/strong&gt;, eliminating the complexity of manual rule configuration.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Rules&lt;/strong&gt; &gt; &lt;strong&gt;Templates&lt;/strong&gt; in your Cloudflare dashboard.&lt;/li&gt;
&lt;li&gt;Select a template for your use case.&lt;/li&gt;
&lt;li&gt;Click to apply the template with sensible defaults.&lt;/li&gt;
&lt;li&gt;Customize as needed for your specific requirements.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Available cache templates&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cache everything&lt;/strong&gt;: Adjust the cache level for all requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bypass cache for everything&lt;/strong&gt;: Bypass cache for all requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache default file extensions&lt;/strong&gt;: Replicate Page Rules caching behavior by making only default extensions eligible for cache.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bypass cache on cookie&lt;/strong&gt;: Bypass cache for requests containing specific cookies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Set edge cache time&lt;/strong&gt;: Cache responses with status code between 200 and 599 on the Cloudflare edge.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Set browser cache time&lt;/strong&gt;: Adjust how long a browser should cache a resource.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, go to &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/:zone/caching/cache-rules&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Rules &gt; Templates&lt;/strong&gt;&lt;/a&gt; in the dashboard. For more information, refer to the &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/cache-rules/&quot;&gt;Cache Rules documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 05 Sep 2024 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cache - Regionalized Generic Tiered Cache for higher hit ratios</title><link>https://developers.cloudflare.com/changelog/post/2024-07-19-regionalized-generic-tiered-cache/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2024-07-19-regionalized-generic-tiered-cache/</guid><description>&lt;p&gt;You can now achieve higher cache hit ratios with &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/#generic-global-tiered-cache&quot;&gt;Generic Global Tiered Cache&lt;/a&gt;. Regional content hashing routes content consistently to the same upper-tier data centers, eliminating redundant caching and reducing origin load.&lt;/p&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;Regional content hashing groups data centers by region and uses consistent hashing to route content to designated upper-tier caches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Same content always routes to the same upper-tier data center within a region.&lt;/li&gt;
&lt;li&gt;Eliminates redundant copies across multiple upper-tier caches.&lt;/li&gt;
&lt;li&gt;Increases the likelihood of cache HITs for the same content.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Example&lt;/h4&gt;
&lt;p&gt;A popular image requested from multiple edge locations in a region:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Before&lt;/strong&gt;: Cached at 3-4 different upper-tier data centers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;After&lt;/strong&gt;: Cached at 1 designated upper-tier data center&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Result&lt;/strong&gt;: 3-4x fewer cache MISSes, reducing origin load and improving performance&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To get started, enable &lt;a href=&quot;https://developers.cloudflare.com/cache/how-to/tiered-cache/#generic-global-tiered-cache&quot;&gt;Generic Global Tiered Cache&lt;/a&gt; on your zone.&lt;/p&gt;</description><pubDate>Fri, 19 Jul 2024 00:00:00 GMT</pubDate><product>Cache</product><category>Cache</category></item><item><title>Cloudflare Web Analytics - Easily Exclude EU Visitors from RUM</title><link>https://developers.cloudflare.com/changelog/post/2025-02-25-rum-exclude-eu/</link><guid isPermaLink="true">https://developers.cloudflare.com/changelog/post/2025-02-25-rum-exclude-eu/</guid><description>&lt;p&gt;You can now easily enable Real User Monitoring (RUM) monitoring for your hostnames, while safely dropping requests from visitors in the European Union to comply with GDPR and CCPA.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://developers.cloudflare.com/_astro/2025-02-26-rum-eu.X0ZtbXWA_eanJk.webp&quot; alt=&quot;RUM Enablement UI&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Our Web Analytics product has always been centered on giving you insights into your users&apos; experience that you need to provide the best quality experience, without sacrificing user privacy in the process.&lt;/p&gt;
&lt;p&gt;To help with that aim, you can now selectively enable RUM monitoring for your hostname and exclude EU visitor data in a single click. If you opt for this option, we will drop all metrics collected by our EU data centeres automatically.&lt;/p&gt;
&lt;p&gt;You can learn more about what metrics are reported by Web Analytics and how it is collected &lt;a href=&quot;https://developers.cloudflare.com/web-analytics/data-metrics/&quot;&gt;in the Web Analytics documentation&lt;/a&gt;. You can enable Web Analytics on any hostname by going to the &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/web-analytics/sites&quot; target=&quot;_blank&quot;&gt;Web Analytics&lt;/a&gt; section of the dashboard, selecting &quot;Manage Site&quot; for the hostname you want to monitor, and choosing the appropriate enablement option.&lt;/p&gt;</description><pubDate>Mon, 26 Feb 2024 00:00:00 GMT</pubDate><product>Cloudflare Web Analytics</product><category>Cloudflare Web Analytics</category></item></channel></rss>