<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Cloudflare changelogs | Core platform</title><description>Cloudflare changelogs for Core platform products</description><link>https://docs.ahq.lat/changelog/</link><item><title>Cloudflare Fundamentals - Introducing self-managed OAuth clients</title><link>https://docs.ahq.lat/changelog/post/2026-06-03-public-oauth-clients/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-06-03-public-oauth-clients/</guid><description>&lt;p&gt;Today we are launching self-managed OAuth, enabling developers to build third-party applications that integrate with Cloudflare via OAuth. This provides a more secure, user-friendly, and manageable alternative to API tokens.&lt;/p&gt;
&lt;p&gt;OAuth lets third-party applications act on behalf of a user to access their Cloudflare account. For example, after a user grants consent, Wrangler can deploy Workers into that account.&lt;/p&gt;
&lt;h4&gt;What is new&lt;/h4&gt;
&lt;p&gt;Cloudflare Developers can now create and manage their own OAuth applications to integrate with Cloudflare.&lt;/p&gt;
&lt;h4&gt;Create an application&lt;/h4&gt;
&lt;p&gt;To create an application, go to &lt;strong&gt;Manage account&lt;/strong&gt; &gt; &lt;strong&gt;OAuth clients&lt;/strong&gt; in your account on the Cloudflare dashboard.&lt;/p&gt;
&lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/oauth-clients&quot; target=&quot;_blank&quot;&gt;  Go to &lt;strong&gt;OAuth clients&lt;/strong&gt;  &lt;/a&gt;
&lt;h4&gt;Select limited scopes&lt;/h4&gt;
&lt;p&gt;If you have used an API token to call Cloudflare APIs, OAuth client scopes will look familiar. Select only the scopes your application needs during application creation, and include that scope list when sending users to Cloudflare for consent.&lt;/p&gt;
&lt;p&gt;Users can review the requested scopes before they consent.&lt;/p&gt;
&lt;h4&gt;Apps for both private and public use&lt;/h4&gt;
&lt;p&gt;Applications start with &lt;code&gt;private&lt;/code&gt; visibility. Private applications can only be used by members of the account where the application was created.&lt;/p&gt;
&lt;p&gt;To make an application available to any Cloudflare user, complete the prerequisites for &lt;code&gt;public&lt;/code&gt; visibility.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/fundamentals/oauth/create-an-oauth-client/#private-and-public-clients&quot;&gt;client visibility&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Client domain verification&lt;/h4&gt;
&lt;p&gt;Before an application can be made public, you must verify the client domain. Domain verification helps users confirm that the application owner controls the domain shown on the consent page.&lt;/p&gt;
&lt;p&gt;After verification, users see a verified badge on the consent page.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/fundamentals/oauth/create-an-oauth-client/#client-url-domain-ownership-verification&quot;&gt;domain verification&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Learn more&lt;/h4&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/fundamentals/oauth/&quot;&gt;OAuth clients&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Logs - New Turnstile Events Logpush dataset in Cloudflare Logs</title><link>https://docs.ahq.lat/changelog/post/2026-06-01-log-fields-updated/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-06-01-log-fields-updated/</guid><description>&lt;p&gt;Cloudflare has updated &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;:&lt;/p&gt;
&lt;h4&gt;New datasets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Turnstile Events&lt;/strong&gt;: A new dataset with fields including &lt;code&gt;ASN&lt;/code&gt;, &lt;code&gt;Action&lt;/code&gt;, &lt;code&gt;BrowserMajor&lt;/code&gt;, &lt;code&gt;BrowserName&lt;/code&gt;, &lt;code&gt;ClientIP&lt;/code&gt;, &lt;code&gt;CountryCode&lt;/code&gt;, &lt;code&gt;EventType&lt;/code&gt;, &lt;code&gt;Hostname&lt;/code&gt;, &lt;code&gt;OSMajor&lt;/code&gt;, &lt;code&gt;OSName&lt;/code&gt;, &lt;code&gt;Sitekey&lt;/code&gt;, &lt;code&gt;Timestamp&lt;/code&gt;, and &lt;code&gt;UserAgent&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete field definitions for each dataset, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Logs - Updated fields across multiple Logpush datasets in Cloudflare Logs</title><link>https://docs.ahq.lat/changelog/post/2026-05-29-log-fields-updated/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-05-29-log-fields-updated/</guid><description>&lt;p&gt;Cloudflare has updated &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;:&lt;/p&gt;
&lt;h4&gt;Updated fields in existing datasets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DEX Device State Events&lt;/strong&gt; (added): &lt;code&gt;DeviceRegistrationProfileID&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway HTTP&lt;/strong&gt; (added): &lt;code&gt;AddedHeaders&lt;/code&gt;, &lt;code&gt;DeletedHeaders&lt;/code&gt;, and &lt;code&gt;SetHeaders&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP requests&lt;/strong&gt; (added): &lt;code&gt;MatchedRules&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete field definitions for each dataset, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Cloudflare Tunnel now runs connectivity pre-checks at startup</title><link>https://docs.ahq.lat/changelog/post/2026-05-27-cloudflared-connectivity-prechecks/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-05-27-cloudflared-connectivity-prechecks/</guid><description>&lt;p&gt;Starting with &lt;a href=&quot;https://github.com/cloudflare/cloudflared/releases&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;cloudflared&lt;/code&gt; version 2026.5.2&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; automates the entire &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/&quot;&gt;connectivity pre-checks workflow&lt;/a&gt; directly inside the binary. Previously, customers had to install &lt;code&gt;dig&lt;/code&gt; and &lt;code&gt;netcat&lt;/code&gt; and run those commands by hand to verify their environment. Now &lt;code&gt;cloudflared&lt;/code&gt; does it natively at startup — and surfaces actionable remediation when something is blocked.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/cloudflared-connectivity-prechecks.DRwN6tGe_c1XGu.webp&quot; alt=&quot;cloudflared connectivity pre-checks output&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;On every &lt;code&gt;cloudflared tunnel run&lt;/code&gt; (and &lt;code&gt;cloudflared tunnel diag&lt;/code&gt;), the binary now natively checks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DNS resolution&lt;/strong&gt; — &lt;code&gt;region1.v2.argotunnel.com&lt;/code&gt; and &lt;code&gt;region2.v2.argotunnel.com&lt;/code&gt; resolve to valid Cloudflare IPs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transport connectivity&lt;/strong&gt; — outbound &lt;code&gt;UDP (QUIC)&lt;/code&gt; and &lt;code&gt;TCP (HTTP/2)&lt;/code&gt; on port &lt;code&gt;7844&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Management API&lt;/strong&gt; — outbound &lt;code&gt;TCP/443&lt;/code&gt; to &lt;code&gt;api.cloudflare.com&lt;/code&gt; for software updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Results are printed in a scannable CLI table with three states:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Pass&lt;/strong&gt; — the check succeeded.&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Warn&lt;/strong&gt; — a non-blocking issue, for example the Management API is unreachable so automatic updates will not work, but the tunnel will still come up.&lt;/li&gt;
&lt;li&gt;❌ &lt;strong&gt;Fail&lt;/strong&gt; — a blocking issue, with a specific remediation hint (for example, &lt;code&gt;Allow outbound UDP on port 7844&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If DNS is unresolvable, or &lt;strong&gt;both&lt;/strong&gt; UDP and TCP fail on port 7844, &lt;code&gt;cloudflared&lt;/code&gt; exits early with the failure rather than looping on opaque &lt;code&gt;failed to dial&lt;/code&gt; errors.&lt;/p&gt;
&lt;p&gt;Pre-checks now run automatically on every start, which also catches regressions like overnight firewall policy changes — no need to remember to rerun the troubleshooting guide.&lt;/p&gt;
&lt;p&gt;To get the new behavior, upgrade &lt;code&gt;cloudflared&lt;/code&gt; to version &lt;code&gt;2026.5.2&lt;/code&gt; or later. For more details, refer to the &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/&quot;&gt;Connectivity pre-checks documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Billing - Modernized Billing Profile with new payment options</title><link>https://docs.ahq.lat/changelog/post/2026-05-21-modernised-billing-profile/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-05-21-modernised-billing-profile/</guid><description>&lt;p&gt;The &lt;a href=&quot;https://docs.ahq.lat/billing/get-started/update-billing-info/&quot;&gt;Billing Profile&lt;/a&gt; now has a modern UI and a single space that unifies billing information, payment method management and an enhanced subscriptions view under a single &lt;strong&gt;Subscriptions&lt;/strong&gt; tab.&lt;/p&gt;
&lt;h4&gt;What changed&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Subscriptions&lt;/strong&gt; tab brings billing information, payment method management, and your subscriptions together in one place. The payment management and &lt;strong&gt;Pay overdue balances&lt;/strong&gt; flows now use the latest checkout as product purchase flows, so you can pay with Apple Pay, Google Pay, Link, and &lt;a href=&quot;https://docs.ahq.lat/billing/payment-methods/instant-bank-payments-link/&quot;&gt;Instant Bank Payments via Link&lt;/a&gt; alongside cards and PayPal.&lt;/p&gt;
&lt;p&gt;New cards complete 3D Secure authentication when the issuer requires it — for example, the EU under PSD2 and India under RBI.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2026-05-21-modernised-billing-profile.D6PysUnl_Z1dpUam.webp&quot; alt=&quot;Modernized Billing Profile with the Subscriptions tab&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;For details, refer to the &lt;a href=&quot;https://docs.ahq.lat/billing/&quot;&gt;Billing Home&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate><product>Billing</product><category>Billing</category></item><item><title>Cloudflare Fundamentals, Cloudflare One, Cloudflare Tunnel for SASE, Cloudflare Tunnel, Cloudflare Mesh - Granular permissions for Cloudflare Tunnel and Cloudflare Mesh</title><link>https://docs.ahq.lat/changelog/post/2026-05-21-tunnel-mesh-granular-permissions/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-05-21-tunnel-mesh-granular-permissions/</guid><description>&lt;p&gt;You can now scope Cloudflare permissions to individual &lt;a href=&quot;https://docs.ahq.lat/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; instances and &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; nodes. Administrators can delegate access to specific Tunnels or Mesh nodes without granting account-wide control over private networking.&lt;/p&gt;
&lt;h4&gt;What is new&lt;/h4&gt;
&lt;p&gt;When you &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/manage/&quot;&gt;add a member&lt;/a&gt; or create a &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/policies/&quot;&gt;permission policy&lt;/a&gt;, the resource picker now lists &lt;a href=&quot;https://docs.ahq.lat/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; instances and &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; nodes as scopable resource types. You can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grant a read-only role on a single Cloudflare Tunnel instance to a support operator for log streaming and diagnostics — without exposing other Tunnels or destructive actions.&lt;/li&gt;
&lt;li&gt;Grant a write role on a specific Cloudflare Mesh node to an application team — without giving them access to the rest of your private network.&lt;/li&gt;
&lt;li&gt;Scope a single policy to one or many Tunnels and Mesh nodes at once.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;How it works&lt;/h4&gt;
&lt;p&gt;Granular permissions are a parallel layer to existing account-level roles — they do not replace them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Existing account-level roles continue to work.&lt;/strong&gt; A member with &lt;code&gt;Cloudflare Access&lt;/code&gt; or &lt;code&gt;Cloudflare Zero Trust&lt;/code&gt; retains write access to every Tunnel and Mesh node in the account. This ensures backward compatibility for existing automation and tokens.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Granular permissions are additive.&lt;/strong&gt; For any API request on a specific Tunnel or Mesh node, access is granted if the principal has &lt;strong&gt;either&lt;/strong&gt; the account-level role &lt;strong&gt;or&lt;/strong&gt; a granular permission for that resource.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resource enumeration is authorization-aware.&lt;/strong&gt; Listing endpoints (&lt;code&gt;GET /accounts/{id}/cfd_tunnel&lt;/code&gt;, &lt;code&gt;GET /accounts/{id}/warp_connector&lt;/code&gt;) return only the resources the principal has at least read access to.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Configure &lt;a href=&quot;https://docs.ahq.lat/tunnel/advanced/granular-permissions/&quot;&gt;granular permissions for Cloudflare Tunnel&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Configure &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/granular-permissions/&quot;&gt;granular permissions for Cloudflare Tunnel and Cloudflare Mesh in Cloudflare One&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Review the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/roles/#resource-scoped-roles&quot;&gt;resource-scoped roles&lt;/a&gt; on the Cloudflare role reference.&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Cloudflare One</category><category>Cloudflare Tunnel for SASE</category><category>Cloudflare Tunnel</category><category>Cloudflare Mesh</category></item><item><title>Logs - New Logpush datasets and updated fields across multiple Logpush datasets in Cloudflare Logs</title><link>https://docs.ahq.lat/changelog/post/2026-05-13-log-fields-updated/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-05-13-log-fields-updated/</guid><description>&lt;p&gt;Cloudflare has updated &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;:&lt;/p&gt;
&lt;h4&gt;New datasets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Email Security Post-Delivery Events&lt;/strong&gt;: A new dataset with fields including &lt;code&gt;AlertID&lt;/code&gt;, &lt;code&gt;CompletedAt&lt;/code&gt;, &lt;code&gt;Destination&lt;/code&gt;, &lt;code&gt;FinalDisposition&lt;/code&gt;, &lt;code&gt;Folder&lt;/code&gt;, &lt;code&gt;From&lt;/code&gt;, &lt;code&gt;FromName&lt;/code&gt;, &lt;code&gt;MessageID&lt;/code&gt;, &lt;code&gt;MessageTimestamp&lt;/code&gt;, &lt;code&gt;MicrosoftTenantID&lt;/code&gt;, &lt;code&gt;Operation&lt;/code&gt;, &lt;code&gt;PostfixID&lt;/code&gt;, &lt;code&gt;Reasons&lt;/code&gt;, &lt;code&gt;Recipient&lt;/code&gt;, &lt;code&gt;RequestedAt&lt;/code&gt;, &lt;code&gt;RequestedBy&lt;/code&gt;, &lt;code&gt;RequestedDisposition&lt;/code&gt;, &lt;code&gt;Status&lt;/code&gt;, &lt;code&gt;Subject&lt;/code&gt;, &lt;code&gt;Success&lt;/code&gt;, and &lt;code&gt;To&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Magic Network Monitoring Flow Logs&lt;/strong&gt;: A new dataset with fields including &lt;code&gt;AWSVPCFlowJSON&lt;/code&gt;, &lt;code&gt;Bits&lt;/code&gt;, &lt;code&gt;DestinationAS&lt;/code&gt;, &lt;code&gt;DestinationAddress&lt;/code&gt;, &lt;code&gt;DestinationPort&lt;/code&gt;, &lt;code&gt;DeviceID&lt;/code&gt;, &lt;code&gt;EgressBits&lt;/code&gt;, &lt;code&gt;EgressPackets&lt;/code&gt;, &lt;code&gt;Ethertype&lt;/code&gt;, &lt;code&gt;FlowProtocol&lt;/code&gt;, &lt;code&gt;FlowTimestamp&lt;/code&gt;, &lt;code&gt;NumFlows&lt;/code&gt;, &lt;code&gt;PacketID&lt;/code&gt;, &lt;code&gt;Packets&lt;/code&gt;, &lt;code&gt;Protocol&lt;/code&gt;, &lt;code&gt;RuleIDs&lt;/code&gt;, &lt;code&gt;SampleRate&lt;/code&gt;, &lt;code&gt;SampleRateType&lt;/code&gt;, &lt;code&gt;SamplerAddress&lt;/code&gt;, &lt;code&gt;SourceAS&lt;/code&gt;, &lt;code&gt;SourceAddress&lt;/code&gt;, &lt;code&gt;SourcePort&lt;/code&gt;, &lt;code&gt;TcpFlags&lt;/code&gt;, and &lt;code&gt;Timestamp&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Updated fields in existing datasets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firewall events&lt;/strong&gt; (added): &lt;code&gt;AISecurityInjectionScore&lt;/code&gt;, &lt;code&gt;AISecurityPIICategories&lt;/code&gt;, &lt;code&gt;AISecurityTokenCount&lt;/code&gt;, and &lt;code&gt;AISecurityUnsafeTopicCategories&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP requests&lt;/strong&gt; (added): &lt;code&gt;AISecurityInjectionScore&lt;/code&gt;, &lt;code&gt;AISecurityPIICategories&lt;/code&gt;, &lt;code&gt;AISecurityTokenCount&lt;/code&gt;, &lt;code&gt;AISecurityUnsafeTopicCategories&lt;/code&gt;, and &lt;code&gt;Subrequests&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete field definitions for each dataset, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Cloudflare Fundamentals - Keyboard shortcuts for the Cloudflare dashboard</title><link>https://docs.ahq.lat/changelog/post/2026-05-04-keyboard-shortcuts/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-05-04-keyboard-shortcuts/</guid><description>&lt;p&gt;You can now navigate, switch context, and take common actions in the Cloudflare dashboard without leaving your keyboard. Press &lt;code&gt;?&lt;/code&gt; anywhere to see the full list. Keyboard shortcuts can be disabled by visiting your &lt;a href=&quot;https://dash.cloudflare.com/profile/settings&quot; target=&quot;_blank&quot;&gt;profile settings&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Navigate&lt;/h4&gt;

























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Shortcut&lt;/th&gt;&lt;th&gt;Action&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g h&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to Home&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g a&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to account overview&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g z&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to zone overview&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g p&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to your profile&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g w&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to Workers &amp;#x26; Pages&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g o&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to Zero Trust&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g b&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to billing&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;g 1&lt;/code&gt; – &lt;code&gt;g 5&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Go to a recent or pinned item (by position in sidebar)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;t →&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Move to the next tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;t ←&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Move to the previous tab&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;p →&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Move to the next page of a table&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;p ←&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Move to the previous page of a table&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Take action&lt;/h4&gt;

























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Shortcut&lt;/th&gt;&lt;th&gt;Action&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Open quick search&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Show keyboard shortcuts&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;s a&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Switch account&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;s z&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Switch zone&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;s .&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Star or unstar the current zone&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;p .&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Pin or unpin the current page&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;t s&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Toggle the sidebar open or closed&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;t m&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Expand or collapse all sidebar menus&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;t a&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Toggle Ask AI sidebar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;d .&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Toggle dark mode&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;c u&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Copy the current URL&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;c d&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Copy a deep link URL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>SDK, Go SDK - Go SDK v7.0.0 Released</title><link>https://docs.ahq.lat/changelog/post/2026-04-30-go-sdk-v700/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-30-go-sdk-v700/</guid><description>&lt;p&gt;Full Changelog: &lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/compare/v6.10.0...v7.0.0&quot; target=&quot;_blank&quot;&gt;v6.10.0...v7.0.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a major version release that includes breaking changes to three packages: &lt;code&gt;ai_search&lt;/code&gt;, &lt;code&gt;email_security&lt;/code&gt;, and &lt;code&gt;workers&lt;/code&gt;. These changes reflect upstream API specification updates that improve type correctness and consistency.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please ensure you read through the list of changes below before moving to this version&lt;/strong&gt; - this will help you understand any down or upstream issues it may cause to your environments.&lt;/p&gt;
&lt;h4&gt;Breaking Changes&lt;/h4&gt;
&lt;p&gt;See the &lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/blob/main/docs/migration-guides/v7.0.0-migration-guide.md&quot; target=&quot;_blank&quot;&gt;v7.0.0 Migration Guide&lt;/a&gt; for before/after code examples and actions needed for each change.&lt;/p&gt;
&lt;h4&gt;AI Search - SearchForAgents Metadata Removed&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;SearchForAgents&lt;/code&gt; nested type has been removed from all instance metadata structs. This field is no longer part of the API specification.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Removed Types:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;InstanceNewResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceUpdateResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceListResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceDeleteResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceReadResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceNewParamsMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceUpdateParamsMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceNewResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceUpdateResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceListResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceDeleteResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceReadResponseMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceNewParamsMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NamespaceInstanceUpdateParamsMetadataSearchForAgents&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Email Security - Path Parameter Type Changes&lt;/h4&gt;
&lt;p&gt;Multiple Email Security settings sub-resources have changed their path parameter types from &lt;code&gt;int64&lt;/code&gt; to &lt;code&gt;string&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AllowPolicies&lt;/code&gt; (&lt;code&gt;policyID int64&lt;/code&gt; -&gt; &lt;code&gt;policyID string&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BlockSenders&lt;/code&gt; (&lt;code&gt;patternID int64&lt;/code&gt; -&gt; &lt;code&gt;patternID string&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Domains&lt;/code&gt; (&lt;code&gt;domainID int64&lt;/code&gt; -&gt; &lt;code&gt;domainID string&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ImpersonationRegistry&lt;/code&gt; (&lt;code&gt;displayNameID int64&lt;/code&gt; -&gt; &lt;code&gt;impersonationRegistryID string&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TrustedDomains&lt;/code&gt; (&lt;code&gt;trustedDomainID int64&lt;/code&gt; -&gt; &lt;code&gt;trustedDomainID string&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Email Security - Investigate Parameter Rename&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;Investigate.Get&lt;/code&gt;, &lt;code&gt;Investigate.Move.New&lt;/code&gt;, and &lt;code&gt;Investigate.Reclassify.New&lt;/code&gt; methods now use &lt;code&gt;investigateID&lt;/code&gt; instead of &lt;code&gt;postfixID&lt;/code&gt; as the path parameter name.&lt;/p&gt;
&lt;h4&gt;Email Security - Domains BulkDelete Method Removed&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;SettingDomainService.BulkDelete&lt;/code&gt; method and its associated types have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SettingDomainBulkDeleteResponse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SettingDomainBulkDeleteParams&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Email Security - TrustedDomains Return Type Change&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;SettingTrustedDomainService.New&lt;/code&gt; now returns &lt;code&gt;*SettingTrustedDomainNewResponse&lt;/code&gt; instead of &lt;code&gt;*SettingTrustedDomainNewResponseUnion&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;Email Security - Investigate.Move Return Type Change&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;InvestigateMoveService.New&lt;/code&gt; now returns &lt;code&gt;*pagination.SinglePage[InvestigateMoveNewResponse]&lt;/code&gt; instead of &lt;code&gt;*[]InvestigateMoveNewResponse&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;Workers - Observability Telemetry Filter Restructuring&lt;/h4&gt;
&lt;p&gt;The observability telemetry filter parameter types have been restructured to support nested filter groups. New discriminated union types replace the previous flat filter arrays:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ObservabilityTelemetryKeysParams.Filters&lt;/code&gt; now accepts &lt;code&gt;FiltersObjectFilterUnion&lt;/code&gt; (was &lt;code&gt;[]interface\{\}&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ObservabilityTelemetryQueryParams.Parameters.Filters&lt;/code&gt; now accepts &lt;code&gt;FiltersObjectFilterUnion&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ObservabilityTelemetryValuesParams.Filters&lt;/code&gt; now accepts &lt;code&gt;FiltersObjectFilterUnion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;New types include &lt;code&gt;FiltersObjectFiltersObject&lt;/code&gt; (for group filters with &lt;code&gt;FilterCombination&lt;/code&gt;) and &lt;code&gt;FiltersWorkersObservabilityFilterLeaf&lt;/code&gt; (for leaf filters with typed &lt;code&gt;Operation&lt;/code&gt;, &lt;code&gt;Type&lt;/code&gt;, and &lt;code&gt;Value&lt;/code&gt; fields).&lt;/p&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;h4&gt;Organizations - Audit Logs (&lt;code&gt;client.Organizations.Logs.Audit&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW SERVICE:&lt;/strong&gt; Query organization audit logs with cursor-based pagination.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;List()&lt;/code&gt; - Retrieve audit logs&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Browser Rendering (&lt;code&gt;client.BrowserRendering&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;client.BrowserRendering.Devtools.Browser.Targets.Close()&lt;/code&gt; - Close a specific browser target (tab, page) by ID&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Queues (&lt;code&gt;client.Queues&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;client.Queues.GetMetrics()&lt;/code&gt; - Retrieve queue metrics for a specific queue&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI Search (&lt;code&gt;client.AISearch&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;WaitForCompletion&lt;/code&gt; parameter to &lt;code&gt;NamespaceInstanceItemNewOrUpdateParams&lt;/code&gt; and &lt;code&gt;NamespaceInstanceItemSyncParams&lt;/code&gt; for synchronous indexing confirmation&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Magic Transit&lt;/strong&gt;: &lt;code&gt;ConnectorService.List&lt;/code&gt; parameter name corrected from &lt;code&gt;query&lt;/code&gt; to &lt;code&gt;params&lt;/code&gt; (non-functional, affects generated documentation only)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Deprecations&lt;/h4&gt;
&lt;p&gt;None in this release.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/releases/tag/v7.0.0&quot; target=&quot;_blank&quot;&gt;Download Go SDK v7.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/api/sdks/go/&quot; target=&quot;_blank&quot;&gt;Go SDK documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/blob/main/docs/migration-guides/v7.0.0-migration-guide.md&quot; target=&quot;_blank&quot;&gt;Migration Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><product>SDK</product><category>SDK</category><category>Go SDK</category></item><item><title>SDK - Cloudflare Python SDK v5.0.0 Released</title><link>https://docs.ahq.lat/changelog/post/2026-04-30-cloudflare-python-v500/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-30-cloudflare-python-v500/</guid><description>&lt;p&gt;Full Changelog: &lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/compare/v4.3.1...v5.0.0&quot; target=&quot;_blank&quot;&gt;v4.3.1...v5.0.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a major release of the Cloudflare Python SDK. It drops support for Python 3.8, adds 11 new API services, introduces optional aiohttp backend support for improved async concurrency, and includes hundreds of type and method updates across the entire API surface.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please review the breaking changes below before upgrading.&lt;/strong&gt; A migration guide is available at &lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/blob/main/docs/migration-guides/v5.0.0-migration-guide.md&quot; target=&quot;_blank&quot;&gt;v5.0.0 Migration Guide&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Breaking Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python 3.8 is no longer supported.&lt;/strong&gt; The minimum required version is now Python 3.9.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;typing-extensions&lt;/code&gt; minimum version bumped&lt;/strong&gt; from &lt;code&gt;&gt;=4.10&lt;/code&gt; to &lt;code&gt;&gt;=4.14&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following resources have breaking changes. See the &lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/blob/main/docs/migration-guides/v5.0.0-migration-guide.md&quot; target=&quot;_blank&quot;&gt;v5.0.0 Migration Guide&lt;/a&gt; for detailed migration instructions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;abusereports&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;acm.totaltls&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apigateway.configurations&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudforceone.threatevents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;d1.database&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intel.indicatorfeeds&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;logpush.edge&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;origintlsclientauth.hostnames&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;queues.consumers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;radar.bgp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rulesets.rules&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;schemavalidation.schemas&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;snippets&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zerotrust.dlp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zerotrust.networks&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;h4&gt;aiohttp Backend Support&lt;/h4&gt;
&lt;p&gt;The async client now supports an optional &lt;code&gt;aiohttp&lt;/code&gt; HTTP backend for improved concurrency performance. Install with &lt;code&gt;pip install cloudflare[aiohttp]&lt;/code&gt; and use &lt;code&gt;DefaultAioHttpClient()&lt;/code&gt; as the &lt;code&gt;http_client&lt;/code&gt; parameter.&lt;/p&gt;
&lt;h4&gt;Python 3.13 and 3.14 Support&lt;/h4&gt;
&lt;p&gt;Python 3.13 and 3.14 are now tested and supported.&lt;/p&gt;
&lt;h4&gt;New Services&lt;/h4&gt;
&lt;p&gt;The following top-level resources are new in this release:&lt;/p&gt;

































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Resource&lt;/th&gt;&lt;th&gt;Client Path&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;AI Search&lt;/td&gt;&lt;td&gt;&lt;code&gt;aisearch&lt;/code&gt;&lt;/td&gt;&lt;td&gt;AI-powered search capabilities&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Connectivity&lt;/td&gt;&lt;td&gt;&lt;code&gt;connectivity&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Connectivity testing and diagnostics&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Email Sending&lt;/td&gt;&lt;td&gt;&lt;code&gt;email_sending&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Email send and send_raw endpoints&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fraud&lt;/td&gt;&lt;td&gt;&lt;code&gt;fraud&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Fraud detection and prevention&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Google Tag Gateway&lt;/td&gt;&lt;td&gt;&lt;code&gt;google_tag_gateway&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Google Tag Gateway management&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Organizations&lt;/td&gt;&lt;td&gt;&lt;code&gt;organizations&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Organization audit logs and management&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;R2 Data Catalog&lt;/td&gt;&lt;td&gt;&lt;code&gt;r2_data_catalog&lt;/code&gt;&lt;/td&gt;&lt;td&gt;R2 Data Catalog operations&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Realtime Kit&lt;/td&gt;&lt;td&gt;&lt;code&gt;realtime_kit&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Realtime communication (Calls/TURN)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Resource Tagging&lt;/td&gt;&lt;td&gt;&lt;code&gt;resource_tagging&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Resource tagging and labeling&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Token Validation&lt;/td&gt;&lt;td&gt;&lt;code&gt;token_validation&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Token validation configuration and rules&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Vulnerability Scanner&lt;/td&gt;&lt;td&gt;&lt;code&gt;vulnerability_scanner&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Vulnerability scanning, credential sets, and target environments&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;New Endpoints on Existing Services&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;api_gateway&lt;/strong&gt;: Labels endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;billing&lt;/strong&gt;: Billable usage PayGo endpoint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;brand_protection&lt;/strong&gt;: v2 endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;browser_rendering&lt;/strong&gt;: DevTools methods&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cache&lt;/strong&gt;: Origin cloud regions resource&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;custom_origin_trust_store&lt;/strong&gt;: Custom origin trust store&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns&lt;/strong&gt;: &lt;code&gt;dns_records/usage&lt;/code&gt; endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;email_security&lt;/strong&gt;: Phishguard reports endpoint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iam&lt;/strong&gt;: User groups and user group members resources&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;radar&lt;/strong&gt;: Botnet Threat Feed and Post-Quantum endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers&lt;/strong&gt;: Observability Destinations resources&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust&lt;/strong&gt;: Access Users, DEX rules, Device IP Profile, Device Subnet, WARP Connector connections and failover, WARP Subnet, Gateway PAC files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zones&lt;/strong&gt;: Zone environments endpoints&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Fixed &lt;code&gt;polymorphic_serialization&lt;/code&gt; parameter in &lt;code&gt;model_dump&lt;/code&gt; overrides&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;BaseModel&lt;/code&gt; base to response &lt;code&gt;SchemaFieldStruct&lt;/code&gt;/&lt;code&gt;SchemaFieldList&lt;/code&gt; stubs in Pipelines&lt;/li&gt;
&lt;li&gt;Added missing &lt;code&gt;model_rebuild&lt;/code&gt;/&lt;code&gt;update_forward_refs&lt;/code&gt; for &lt;code&gt;SharedEntryCustomEntry&lt;/code&gt; classes in DLP&lt;/li&gt;
&lt;li&gt;Made &lt;code&gt;RunQueryParametersNeedleValue&lt;/code&gt; a &lt;code&gt;BaseModel&lt;/code&gt; with &lt;code&gt;arbitrary_types_allowed&lt;/code&gt; in Workers&lt;/li&gt;
&lt;li&gt;Removed duplicate &lt;code&gt;notification_url&lt;/code&gt; field in webhook response types for Stream&lt;/li&gt;
&lt;li&gt;Resolved pre-existing codegen type errors&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;type: ignore[call-arg]&lt;/code&gt; placement for mypy compatibility in Radar&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Deprecations&lt;/h4&gt;
&lt;p&gt;Resources with &lt;code&gt;@deprecated&lt;/code&gt; annotations on some methods include: &lt;code&gt;accounts&lt;/code&gt;, &lt;code&gt;addressing&lt;/code&gt;, &lt;code&gt;ai-gateway&lt;/code&gt;, &lt;code&gt;aisearch&lt;/code&gt;, &lt;code&gt;api-gateway&lt;/code&gt;, &lt;code&gt;billing&lt;/code&gt;, &lt;code&gt;cloudforce-one&lt;/code&gt;, &lt;code&gt;dns&lt;/code&gt;, &lt;code&gt;email-routing&lt;/code&gt;, &lt;code&gt;email-security&lt;/code&gt;, &lt;code&gt;filters&lt;/code&gt;, &lt;code&gt;firewall&lt;/code&gt;, &lt;code&gt;images&lt;/code&gt;, &lt;code&gt;intel&lt;/code&gt;, &lt;code&gt;kv&lt;/code&gt;, &lt;code&gt;logpush&lt;/code&gt;, &lt;code&gt;origin-tls-client-auth&lt;/code&gt;, &lt;code&gt;pages&lt;/code&gt;, &lt;code&gt;pipelines&lt;/code&gt;, &lt;code&gt;radar&lt;/code&gt;, &lt;code&gt;rate-limits&lt;/code&gt;, &lt;code&gt;registrar&lt;/code&gt;, &lt;code&gt;rulesets&lt;/code&gt;, &lt;code&gt;ssl&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;workers&lt;/code&gt;, &lt;code&gt;workers-for-platforms&lt;/code&gt;, &lt;code&gt;zero-trust&lt;/code&gt;, &lt;code&gt;zones&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/releases/tag/v5.0.0&quot; target=&quot;_blank&quot;&gt;Download Python SDK v5.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/api/sdks/python/&quot; target=&quot;_blank&quot;&gt;Python SDK documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/blob/main/docs/migration-guides/v5.0.0-migration-guide.md&quot; target=&quot;_blank&quot;&gt;Migration Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><product>SDK</product><category>SDK</category></item><item><title>SDK - Cloudflare TypeScript SDK v6.0.0 Released</title><link>https://docs.ahq.lat/changelog/post/2026-04-30-cloudflare-typescript-v600/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-30-cloudflare-typescript-v600/</guid><description>&lt;p&gt;Full Changelog: &lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/compare/v6.0.0-beta.2...v6.0.0&quot; target=&quot;_blank&quot;&gt;v6.0.0-beta.2...v6.0.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a major version release of the Cloudflare TypeScript SDK. It includes 11 entirely new top-level API resources, new sub-resources and methods across 50+ existing resources, SDK infrastructure improvements, and breaking changes to the generated API surface from the v5.x line.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please ensure you read through the list of changes below before moving to this version&lt;/strong&gt; - this will help you understand any down or upstream issues it may cause to your environments.&lt;/p&gt;
&lt;h4&gt;Breaking Changes&lt;/h4&gt;
&lt;h4&gt;SDK Infrastructure&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Retry-After handling changed&lt;/strong&gt;: The SDK now respects any server-specified &lt;code&gt;Retry-After&lt;/code&gt; value for rate-limited requests. Previously, values over 60 seconds were ignored and a default backoff was used instead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Empty response handling&lt;/strong&gt;: Responses with &lt;code&gt;content-length: 0&lt;/code&gt; now return &lt;code&gt;undefined&lt;/code&gt; instead of attempting to parse the body.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environment variable reading&lt;/strong&gt;: Empty string env vars (for example, &lt;code&gt;CLOUDFLARE_API_TOKEN=&quot;&quot;&lt;/code&gt;) are now treated as unset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Path query parameter merging&lt;/strong&gt;: URL search params embedded in endpoint paths are now extracted and merged into the query object.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Removed Endpoints (17)&lt;/h4&gt;
&lt;p&gt;17 HTTP endpoints were removed from the SDK, affecting &lt;code&gt;abuse-reports&lt;/code&gt;, &lt;code&gt;cloudforce-one&lt;/code&gt;, &lt;code&gt;dlp/profiles/predefined&lt;/code&gt;, &lt;code&gt;email-security/investigate&lt;/code&gt;, &lt;code&gt;email-security/settings&lt;/code&gt;, and &lt;code&gt;intel/ip-list&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;Method Signature Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;client.ai.toMarkdown.transform(file, \{ ...params \})&lt;/code&gt; -&gt; &lt;code&gt;client.ai.toMarkdown.transform(\{ ...params \})&lt;/code&gt; -- &lt;code&gt;file&lt;/code&gt; moved from positional arg into params body&lt;/li&gt;
&lt;li&gt;&lt;code&gt;client.radar.ai.toMarkdown.create(body, \{ ...params \})&lt;/code&gt; -&gt; &lt;code&gt;client.radar.ai.toMarkdown.create(\{ ...params \})&lt;/code&gt; -- &lt;code&gt;body&lt;/code&gt; moved from positional arg into params&lt;/li&gt;
&lt;li&gt;&lt;code&gt;client.abuseReports.create(reportType, \{ ...params \})&lt;/code&gt; -&gt; &lt;code&gt;client.abuseReports.create(reportParam, \{ ...params \})&lt;/code&gt; -- positional arg renamed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;client.iam.userGroups.members.create(userGroupId, [ ...body ])&lt;/code&gt; -&gt; &lt;code&gt;client.iam.userGroups.members.create(userGroupId, [ ...members ])&lt;/code&gt; -- body array param renamed&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Renamed Client Paths&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;client.originTLSClientAuth.hostnames.certificates&lt;/code&gt; -&gt; &lt;code&gt;client.originTLSClientAuth.zoneCertificates&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;client.radar.netflows&lt;/code&gt; -&gt; &lt;code&gt;client.radar.netFlows&lt;/code&gt; (casing change)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Return Type Changes (179)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;133 methods now return &lt;code&gt;null&lt;/code&gt;&lt;/strong&gt; instead of a typed response object. This primarily affects delete operations across &lt;code&gt;accounts&lt;/code&gt;, &lt;code&gt;cache&lt;/code&gt;, &lt;code&gt;d1&lt;/code&gt;, &lt;code&gt;filters&lt;/code&gt;, &lt;code&gt;firewall&lt;/code&gt;, &lt;code&gt;hyperdrive&lt;/code&gt;, &lt;code&gt;iam&lt;/code&gt;, &lt;code&gt;kv&lt;/code&gt;, &lt;code&gt;logpush&lt;/code&gt;, &lt;code&gt;logs&lt;/code&gt;, &lt;code&gt;r2&lt;/code&gt;, &lt;code&gt;stream&lt;/code&gt;, &lt;code&gt;workers&lt;/code&gt;, &lt;code&gt;zero-trust&lt;/code&gt;, &lt;code&gt;zones&lt;/code&gt;, and others.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;17 methods changed pagination type&lt;/strong&gt; (for example, &lt;code&gt;KeysCursorPaginationAfter&lt;/code&gt; -&gt; &lt;code&gt;KeysCursorLimitPagination&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;29 methods changed to a different named type&lt;/strong&gt; (for example, &lt;code&gt;CloudflaredCreateResponse&lt;/code&gt; -&gt; &lt;code&gt;CloudflareTunnel&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Removed Types (43)&lt;/h4&gt;
&lt;p&gt;24 shared types removed from root namespace (&lt;code&gt;ASN&lt;/code&gt;, &lt;code&gt;AuditLog&lt;/code&gt;, &lt;code&gt;Member&lt;/code&gt;, &lt;code&gt;Permission&lt;/code&gt;, &lt;code&gt;Role&lt;/code&gt;, &lt;code&gt;Subscription&lt;/code&gt;, &lt;code&gt;Token&lt;/code&gt;, etc.). 19 response types consolidated or renamed.&lt;/p&gt;
&lt;h4&gt;Resource Restructuring&lt;/h4&gt;
&lt;p&gt;19 resources were restructured from single files to directories. Public API client paths are unchanged, but deep imports may break.&lt;/p&gt;
&lt;h4&gt;New Top-Level Resources&lt;/h4&gt;
&lt;p&gt;11 entirely new resources added to the client:&lt;/p&gt;













































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Resource&lt;/th&gt;&lt;th&gt;Client Path&lt;/th&gt;&lt;th&gt;Methods&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;AI Search&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.aiSearch&lt;/code&gt;&lt;/td&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;Instances, namespaces, tokens, and items&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Connectivity&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.connectivity&lt;/code&gt;&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Directory service APIs&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Email Sending&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.emailSending&lt;/code&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;Send and send_raw endpoints&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fraud&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.fraud&lt;/code&gt;&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Fraud detection API&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Google Tag Gateway&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.googleTagGateway&lt;/code&gt;&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Google Tag Gateway management&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Organizations&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.organizations&lt;/code&gt;&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;Organization profiles and audit logs&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;R2 Data Catalog&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.r2DataCatalog&lt;/code&gt;&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;R2 Data Catalog routes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Realtime Kit&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.realtimeKit&lt;/code&gt;&lt;/td&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;Realtime Kit APIs&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Resource Tagging&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.resourceTagging&lt;/code&gt;&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;Resource tagging routes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Token Validation&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.tokenValidation&lt;/code&gt;&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;Token validation rules&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Vulnerability Scanner&lt;/td&gt;&lt;td&gt;&lt;code&gt;client.vulnerabilityScanner&lt;/code&gt;&lt;/td&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;Vulnerability scanning&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;New Sub-Resources on Existing Resources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;browser-rendering&lt;/strong&gt;: &lt;code&gt;crawl&lt;/code&gt;, &lt;code&gt;devtools&lt;/code&gt; - Crawl endpoints and DevTools methods&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cache&lt;/strong&gt;: &lt;code&gt;origin-cloud-regions&lt;/code&gt; - Origin cloud regions resource&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns&lt;/strong&gt;: &lt;code&gt;usage&lt;/code&gt; - DNS records usage endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;d1&lt;/strong&gt;: &lt;code&gt;time-travel&lt;/code&gt; - Time travel get_bookmark and restore&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;email-security&lt;/strong&gt;: &lt;code&gt;phishguard&lt;/code&gt; - Phishguard reports endpoint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pipelines&lt;/strong&gt;: &lt;code&gt;sinks&lt;/code&gt;, &lt;code&gt;streams&lt;/code&gt; - Pipelines restructure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;radar&lt;/strong&gt;: &lt;code&gt;agent-readiness&lt;/code&gt;, &lt;code&gt;geolocations&lt;/code&gt;, &lt;code&gt;post-quantum&lt;/code&gt; - New analytics endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers&lt;/strong&gt;: &lt;code&gt;observability&lt;/code&gt; - Observability destinations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zones&lt;/strong&gt;: &lt;code&gt;environments&lt;/code&gt; - Zone environments endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api-gateway&lt;/strong&gt;: &lt;code&gt;labels&lt;/code&gt; - Labels endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;brand-protection&lt;/strong&gt;: &lt;code&gt;v2&lt;/code&gt; - V2 endpoints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;alerting&lt;/strong&gt;: &lt;code&gt;silences&lt;/code&gt; - Alert silencing API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;billing&lt;/strong&gt;: &lt;code&gt;usage&lt;/code&gt; - Billable usage PayGo endpoint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iam&lt;/strong&gt;: &lt;code&gt;sso&lt;/code&gt; - SSO Connectors resource&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queues&lt;/strong&gt;: &lt;code&gt;getMetrics&lt;/code&gt; method - Queues metrics endpoint&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;registrar&lt;/strong&gt;: &lt;code&gt;registration-status&lt;/code&gt;, &lt;code&gt;update-status&lt;/code&gt; - Registrar API convergence&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero-trust&lt;/strong&gt;: DLP settings, DEX rules, Access Users, WARP Connector, WARP Subnets, Gateway PAC files, Gateway tenants&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Resolved type errors from codegen overwriting manual fixes&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;post()&lt;/code&gt; usage for to-markdown endpoints to resolve async type error&lt;/li&gt;
&lt;li&gt;Added least-privilege permissions to all workflow jobs&lt;/li&gt;
&lt;li&gt;Reverted erroneous removal of rulesets resource methods and types&lt;/li&gt;
&lt;li&gt;Resolved prettier formatting errors in codegen output&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Deprecations&lt;/h4&gt;
&lt;p&gt;The following resources now include &lt;code&gt;@deprecated&lt;/code&gt; annotations on some methods:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;accounts&lt;/code&gt;, &lt;code&gt;addressing&lt;/code&gt;, &lt;code&gt;ai-gateway&lt;/code&gt;, &lt;code&gt;aisearch&lt;/code&gt;, &lt;code&gt;api-gateway&lt;/code&gt;, &lt;code&gt;billing&lt;/code&gt;, &lt;code&gt;cloudforce-one&lt;/code&gt;, &lt;code&gt;custom-nameservers&lt;/code&gt;, &lt;code&gt;dns&lt;/code&gt;, &lt;code&gt;email-routing&lt;/code&gt;, &lt;code&gt;email-security&lt;/code&gt;, &lt;code&gt;filters&lt;/code&gt;, &lt;code&gt;firewall&lt;/code&gt;, &lt;code&gt;images&lt;/code&gt;, &lt;code&gt;intel&lt;/code&gt;, &lt;code&gt;keyless-certificates&lt;/code&gt;, &lt;code&gt;kv&lt;/code&gt;, &lt;code&gt;logpush&lt;/code&gt;, &lt;code&gt;origin-tls-client-auth&lt;/code&gt;, &lt;code&gt;page-shield&lt;/code&gt;, &lt;code&gt;pages&lt;/code&gt;, &lt;code&gt;pipelines&lt;/code&gt;, &lt;code&gt;radar&lt;/code&gt;, &lt;code&gt;rate-limits&lt;/code&gt;, &lt;code&gt;registrar&lt;/code&gt;, &lt;code&gt;rulesets&lt;/code&gt;, &lt;code&gt;ssl&lt;/code&gt;, &lt;code&gt;user&lt;/code&gt;, &lt;code&gt;workers&lt;/code&gt;, &lt;code&gt;workers-for-platforms&lt;/code&gt;, &lt;code&gt;zero-trust&lt;/code&gt;, &lt;code&gt;zones&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/releases/tag/v6.0.0&quot; target=&quot;_blank&quot;&gt;Download TypeScript SDK v6.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/api/sdks/typescript/&quot; target=&quot;_blank&quot;&gt;TypeScript SDK documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/blob/main/CHANGELOG.md&quot; target=&quot;_blank&quot;&gt;Full Changelog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><product>SDK</product><category>SDK</category></item><item><title>Cloudflare Fundamentals - Instant Bank Payments via Link</title><link>https://docs.ahq.lat/changelog/post/2026-04-29-instant-bank-payments-via-link/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-29-instant-bank-payments-via-link/</guid><description>&lt;p&gt;You can now pay for Cloudflare services directly from your bank account using &lt;a href=&quot;https://docs.ahq.lat/billing/payment-methods/instant-bank-payments-link/&quot;&gt;Instant Bank Payments via Link&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;What changed&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;https://link.co/&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt; now supports bank account payments in addition to cards. If you have a bank account saved in Link, it appears as a payment option at checkout. If not, you can connect one during the checkout flow.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2026-04-29-instant-bank-payments-link.ChGd-t7M_ZVtvgM.webp&quot; alt=&quot;Instant Bank Payments via Link at checkout&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;How to use it&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;During checkout, select your bank account from your saved Link payment methods.&lt;/li&gt;
&lt;li&gt;Confirm the payment.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After your first Link authentication, your bank account is available for future purchases without re-entering details.&lt;/p&gt;
&lt;h4&gt;Who is eligible&lt;/h4&gt;
&lt;p&gt;Instant Bank Payments via Link is available to US-based self-serve accounts across all Cloudflare products. Your existing cards remain available at checkout.&lt;/p&gt;
&lt;p&gt;Bank-based Link payments appear in your billing history with the payment method shown as &lt;code&gt;link&lt;/code&gt; and last four digits as &lt;code&gt;0000&lt;/code&gt;. For details, refer to the &lt;a href=&quot;https://docs.ahq.lat/billing/payment-methods/instant-bank-payments-link/&quot;&gt;Instant Bank Payments via Link documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Support - Direct access to Support from the dashboard</title><link>https://docs.ahq.lat/changelog/post/2026-04-28-direct-support-navigation/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-28-direct-support-navigation/</guid><description>&lt;h4&gt;Direct access to Support from the dashboard&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Support&lt;/strong&gt; button in the dashboard global navigation header now takes you directly to the &lt;a href=&quot;https://support.cloudflare.com&quot; target=&quot;_blank&quot;&gt;Cloudflare Support Portal&lt;/a&gt;, eliminating the previous dropdown menu.&lt;/p&gt;
&lt;p&gt;This change ensures that when you need help, you spend less time navigating the UI and more time getting the answers you need.&lt;/p&gt;
&lt;h4&gt;What changed?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Previous behavior&lt;/strong&gt;: Selecting &lt;strong&gt;? Support&lt;/strong&gt; opened a dropdown menu with various links (Help Center, Cloudflare Community, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New behavior&lt;/strong&gt;: Selecting &lt;strong&gt;Support&lt;/strong&gt; immediately redirects your current tab to the Support Portal.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To learn more about the resources available to you, refer to the &lt;a href=&quot;https://docs.ahq.lat/support/contacting-cloudflare-support/&quot; target=&quot;_blank&quot;&gt;Cloudflare Support documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><product>Support</product><category>Support</category></item><item><title>Cloudflare Fundamentals - Structured error responses for Cloudflare 5xx errors</title><link>https://docs.ahq.lat/changelog/post/2026-04-27-structured-responses-for-5xx-errors/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-27-structured-responses-for-5xx-errors/</guid><description>&lt;p&gt;Cloudflare-generated 5xx error responses now return structured JSON and Markdown when agents request them, matching the format already available for 1xxx errors. Responses follow &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9457&quot; target=&quot;_blank&quot;&gt;RFC 9457 (Problem Details for HTTP APIs)&lt;/a&gt; and include a &lt;code&gt;Retry-After&lt;/code&gt; HTTP header on retryable codes.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;5xx coverage.&lt;/strong&gt; Ten Cloudflare-generated error codes (500, 502, 504, 520-526) now serve structured responses. These are errors Cloudflare itself generates when it cannot reach or understand the origin server. Origin-generated 5xx responses that Cloudflare passes through are not affected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fault attribution.&lt;/strong&gt; The &lt;code&gt;error_category&lt;/code&gt; field tells agents where the fault lies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;origin&lt;/code&gt; (502, 504, 520-524) — the origin server is responsible. Transient; retry with the backoff in &lt;code&gt;retry_after&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare&lt;/code&gt; (500) — Cloudflare&apos;s fault, not the website or the request. Short retry.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ssl&lt;/code&gt; (525, 526) — the origin&apos;s TLS configuration is broken. Do not retry.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Retry-After header.&lt;/strong&gt; Retryable codes (500, 502, 504, 520-524) include a &lt;code&gt;Retry-After&lt;/code&gt; HTTP header matching the &lt;code&gt;retry_after&lt;/code&gt; body field. Non-retryable codes (525, 526) do not include the header.&lt;/p&gt;
&lt;h4&gt;Negotiation behavior&lt;/h4&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Request header sent&lt;/th&gt;&lt;th&gt;Response format&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: application/json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;JSON (&lt;code&gt;application/json&lt;/code&gt; content type)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: application/problem+json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;JSON (&lt;code&gt;application/problem+json&lt;/code&gt; content type)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: application/json, text/markdown;q=0.9&lt;/code&gt;&lt;/td&gt;&lt;td&gt;JSON&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: text/markdown&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Markdown&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: text/markdown, application/json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Markdown (equal &lt;code&gt;q&lt;/code&gt;, first-listed wins)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: */*&lt;/code&gt;&lt;/td&gt;&lt;td&gt;HTML (default)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;Available now for all zones on all plans.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;Get JSON response for error 522:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--compressed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-A&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;TestAgent/1.0&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept-Encoding: gzip, deflate&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;YOUR_DOMAIN&gt;/cdn-cgi/error/522&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;jq&lt;/span&gt;&lt;span&gt; &lt;/span&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;Check presence of the &lt;code&gt;Retry-After&lt;/code&gt; HTTP header associated with the JSON response for error 521:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--compressed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-D&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-A&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;TestAgent/1.0&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept-Encoding: gzip, deflate&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;YOUR_DOMAIN&gt;/cdn-cgi/error/521&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;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;retry-after&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;References:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9457&quot; target=&quot;_blank&quot;&gt;RFC 9457 — Problem Details for HTTP APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/support/troubleshooting/http-status-codes/cloudflare-5xx-errors/&quot;&gt;Cloudflare 5xx error documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals, Resource Tagging - Resource Tagging enters public beta</title><link>https://docs.ahq.lat/changelog/post/2026-04-27-resource-tagging-public-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-27-resource-tagging-public-beta/</guid><description>&lt;p&gt;Resource Tagging is now in public beta and rolling out to all Cloudflare accounts over the coming days. You can attach custom key-value metadata to your Cloudflare resources and query across your entire account to find what you need.&lt;/p&gt;
&lt;h4&gt;What&apos;s included&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Broad resource type support&lt;/strong&gt; — Tag zones, custom hostnames, Cloudflare Tunnels, Workers, D1 databases, R2 buckets, KV namespaces, Durable Object namespaces, Queues, Stream videos, Images, Access applications, Gateway rules, AI Gateways, and more. Refer to the &lt;a href=&quot;https://docs.ahq.lat/resource-tagging/reference/resource-types/&quot;&gt;full list of supported resource types&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Powerful filtering&lt;/strong&gt; — Query tagged resources using AND/OR logic, negation, and key-only matching. Combine up to 20 filters per query to build precise resource views.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Account and zone-level endpoints&lt;/strong&gt; — Full CRUD operations across both scopes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Token-based authentication&lt;/strong&gt; — Tagging supports &lt;a href=&quot;https://docs.ahq.lat/fundamentals/api/get-started/account-owned-tokens/&quot;&gt;Account Owned Tokens&lt;/a&gt; that persist independently of individual users, so your automation keeps running through credential rotations and team changes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexible role support&lt;/strong&gt; — Super Administrators, Workers Admins, and Tag Admins can all manage tags.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;API-first by design&lt;/h4&gt;
&lt;p&gt;The API is the primary interface for Resource Tagging and the recommended path for all workflows — scripting tag assignments, building CI/CD pipelines, or integrating with your infrastructure-as-code toolchain.&lt;/p&gt;
&lt;h4&gt;Dashboard UI&lt;/h4&gt;
&lt;p&gt;You can also view and manage tagged resources directly in the Cloudflare dashboard. Navigate to &lt;strong&gt;Manage Account&lt;/strong&gt; &gt; &lt;strong&gt;Resource Tagging&lt;/strong&gt; to see all tagged resources across your account, filter by resource name or tag, and add or edit tags inline.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/tagged-resources-dashboard.Dg5WvwiN_24xl6P.webp&quot; alt=&quot;Tagged Resources dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;What&apos;s coming next&lt;/h4&gt;
&lt;p&gt;In future releases, expect support for additional resource types across the Cloudflare platform, tag-based access control policies for scoping user permissions to tagged resources, billing and usage attribution by tag for breaking down costs by team, project, or environment, and Terraform provider support for managing tags declaratively.&lt;/p&gt;
&lt;h4&gt;Current limitations&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PUT&lt;/code&gt; replaces all tags on a resource (no partial update). Use the &lt;a href=&quot;https://docs.ahq.lat/resource-tagging/how-to/manage-tags/#add-a-single-tag&quot;&gt;GET, merge, PUT workflow&lt;/a&gt; to modify individual tags safely.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DELETE&lt;/code&gt; removes all tags from a resource. To remove a single tag, PUT the remaining tags back.&lt;/li&gt;
&lt;li&gt;Querying tags for a resource that has never been tagged returns &lt;code&gt;500&lt;/code&gt; instead of &lt;code&gt;404&lt;/code&gt;. This is a known beta limitation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://docs.ahq.lat/resource-tagging/&quot;&gt;Resource Tagging documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Resource Tagging</category></item><item><title>Terraform - Terraform v5.19.0 now available</title><link>https://docs.ahq.lat/changelog/post/2026-04-24-terraform-v5190-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-24-terraform-v5190-provider/</guid><description>&lt;p&gt;Terraform Provider v5.19.0 introduces 14 new resources spanning AI Gateway, Pipelines, R2 Data Catalog, User Groups, Vulnerability Scanner, Workers Observability, and Zero Trust capabilities. This release significantly improves the v4 to v5 migration experience with automatic state upgraders for 26 resources, working seamlessly with the new &lt;a href=&quot;https://github.com/cloudflare/tf-migrate&quot; target=&quot;_blank&quot;&gt;tf-migrate CLI tool&lt;/a&gt; to automate resource renames, attribute updates, and &lt;code&gt;moved&lt;/code&gt; block generation. Together, these enhancements reduce manual migration effort and minimize risk when upgrading from v4 to v5.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;code&gt;cmd/migrate&lt;/code&gt; is deprecated in favor of &lt;code&gt;tf-migrate&lt;/code&gt; and will be removed in a future release (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/pull/7062&quot; target=&quot;_blank&quot;&gt;#7062&lt;/a&gt;)&lt;/p&gt;
&lt;h4&gt;New Resources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_ai_gateway&lt;/strong&gt;: Manage AI Gateway instances&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_certificate_authorities_hostname_associations&lt;/strong&gt;: Manage mTLS certificate hostname associations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_custom_page_asset&lt;/strong&gt;: Manage custom page assets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_pipeline&lt;/strong&gt;: Manage Cloudflare Pipelines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_r2_data_catalog&lt;/strong&gt;: Manage R2 Data Catalog&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_user_group&lt;/strong&gt;: Manage user groups&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_user_group_members&lt;/strong&gt;: Manage user group memberships&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_vulnerability_scanner_credential&lt;/strong&gt;: Manage vulnerability scanner credentials&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_vulnerability_scanner_credential_set&lt;/strong&gt;: Manage vulnerability scanner credential sets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_vulnerability_scanner_target_environment&lt;/strong&gt;: Manage vulnerability scanner target environments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_workers_observability_destination&lt;/strong&gt;: Manage Workers Observability destinations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_zero_trust_device_ip_profile&lt;/strong&gt;: Manage Zero Trust device IP profiles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_zero_trust_device_subnet&lt;/strong&gt;: Manage Zero Trust device subnets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_zero_trust_dlp_settings&lt;/strong&gt;: Manage Zero Trust DLP settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;h4&gt;V4 to V5 Migration State Upgraders&lt;/h4&gt;
&lt;p&gt;State upgraders added for seamless migration from v4 to v5 for the following resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;account&lt;/li&gt;
&lt;li&gt;account_member&lt;/li&gt;
&lt;li&gt;account_token&lt;/li&gt;
&lt;li&gt;authenticated_origin_pulls&lt;/li&gt;
&lt;li&gt;authenticated_origin_pulls_hostname_certificate&lt;/li&gt;
&lt;li&gt;byo_ip_prefix&lt;/li&gt;
&lt;li&gt;custom_hostname&lt;/li&gt;
&lt;li&gt;custom_ssl&lt;/li&gt;
&lt;li&gt;leaked_credential_check&lt;/li&gt;
&lt;li&gt;leaked_credential_check_rule&lt;/li&gt;
&lt;li&gt;logpush_ownership_challenge&lt;/li&gt;
&lt;li&gt;mtls_certificate&lt;/li&gt;
&lt;li&gt;observatory_scheduled_test&lt;/li&gt;
&lt;li&gt;pages_domain&lt;/li&gt;
&lt;li&gt;regional_tiered_cache&lt;/li&gt;
&lt;li&gt;turnstile_widget&lt;/li&gt;
&lt;li&gt;workers_custom_domain&lt;/li&gt;
&lt;li&gt;zero_trust_device_custom_profile&lt;/li&gt;
&lt;li&gt;zero_trust_device_default_profile&lt;/li&gt;
&lt;li&gt;zero_trust_device_posture_integration&lt;/li&gt;
&lt;li&gt;zero_trust_gateway_certificate&lt;/li&gt;
&lt;li&gt;zero_trust_gateway_settings&lt;/li&gt;
&lt;li&gt;zero_trust_organization&lt;/li&gt;
&lt;li&gt;zero_trust_tunnel_cloudflared_virtual_network&lt;/li&gt;
&lt;li&gt;zone_setting&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Other Features&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ruleset&lt;/strong&gt;: Add &lt;code&gt;content_converter&lt;/code&gt; and &lt;code&gt;redirects_for_ai_training&lt;/code&gt; support to configuration rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_gateway_logging&lt;/strong&gt;: Make importable&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;h4&gt;Migration &amp;#x26; State Management&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;account_member&lt;/strong&gt;: Add UseStateForUnknown to status field to prevent drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls_settings&lt;/strong&gt;: Fix no prior schema and no-op upgrade&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;certificate_pack&lt;/strong&gt;: Initialize empty lists instead of null in state upgrader to prevent drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;migrations&lt;/strong&gt;: Handle ambiguous schema_version state for v4/v5 coexistence&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_access_policy&lt;/strong&gt;: Fix nil pointer panic in state upgrader; set PriorSchema nil for v4 state upgrade&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Resource-Specific Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ai_search_instance&lt;/strong&gt;: Restore original defaults for cache and cache_threshold; conflict resolution&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;apijson&lt;/strong&gt;: Return empty object from MarshalForPatch when no fields are serializable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dlp_predefined_profile&lt;/strong&gt;: Eliminate perpetual entries and enabled_entries drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns_record&lt;/strong&gt;: Avoid unnecessary drift for ipv4_only and ipv6_only attributes; remove private_routing default value&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;drift&lt;/strong&gt;: Preserve prior state values for optional fields not returned by API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;healthcheck&lt;/strong&gt;: Use buildHealthcheckPlanChecks helper for correct plan checks per migration source; update assertions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;leaked_credential_check_rule&lt;/strong&gt;: Handle empty ID from v4 provider state migration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;list_item&lt;/strong&gt;: Remove context&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;logpush_job&lt;/strong&gt;: Update model for migration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ruleset&lt;/strong&gt;: Fix migration; add redirects_for_ai_training to SourceV4ActionParametersModel; fix duplicate model attribute&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;worker&lt;/strong&gt;: Add UseStateForUnknown() plan modifiers and update tests for observability.traces&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_custom_domain&lt;/strong&gt;: Handle HTTP 200 no content header; update assertions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script&lt;/strong&gt;: Fix model drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_access_identity_provider&lt;/strong&gt;: Fix boolean drifts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_device_managed_networks&lt;/strong&gt;: Upgrade resource state&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_gateway_policy&lt;/strong&gt;: Make filters Computed+Optional to prevent drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_gateway_settings&lt;/strong&gt;: Fix breaking changes; implement sweeper to reset account to clean defaults&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zone_setting&lt;/strong&gt;: Migration test improvements and fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Documentation&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;healthcheck&lt;/strong&gt;: Update port description to clarify defaults&lt;/li&gt;
&lt;li&gt;Add application-scoped access policy migration guidance&lt;/li&gt;
&lt;li&gt;Update zone_settings_override migration guide for tf-migrate v2 workflow&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-migration&quot; target=&quot;_blank&quot;&gt;Version 5 Migration Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><product>Terraform</product><category>Terraform</category></item><item><title>Terraform - Automate migration from Cloudflare&apos;s Terraform v4 to v5 provider</title><link>https://docs.ahq.lat/changelog/post/2026-04-24-tf-migrate-tool-released/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-24-tf-migrate-tool-released/</guid><description>&lt;p&gt;We&apos;re excited to announce &lt;strong&gt;tf-migrate&lt;/strong&gt;, a purpose-built CLI tool that simplifies migrating from Cloudflare Terraform Provider v4 to v5.&lt;/p&gt;
&lt;h4&gt;v5 is stable and ready for production&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Terraform Provider v5 is stable and actively receiving updates.&lt;/strong&gt;  We encourage all users to migrate to v5 to take advantage of ongoing enhancements and new capabilities.&lt;/p&gt;
&lt;p&gt;Cloudflare uses tf-migrate to migrate our own infrastructure — the same tool we&apos;re providing to the community — ensuring the best possible migration experience.&lt;/p&gt;
&lt;h4&gt;What tf-migrate does&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;tf-migrate&lt;/strong&gt; automates the tedious and error-prone parts of the v4 to v5 migration process:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Resource type renames&lt;/strong&gt; – Automatically updates &lt;code&gt;cloudflare_record&lt;/code&gt; → &lt;code&gt;cloudflare_dns_record&lt;/code&gt;, &lt;code&gt;cloudflare_access_application&lt;/code&gt; → &lt;code&gt;cloudflare_zero_trust_access_application&lt;/code&gt;, and 40+ other renamed resources&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attribute transformations&lt;/strong&gt; – Updates field names (e.g., &lt;code&gt;value&lt;/code&gt; → &lt;code&gt;content&lt;/code&gt; for DNS records) and restructures nested blocks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moved block generation&lt;/strong&gt; – Creates Terraform 1.8+ &lt;code&gt;moved&lt;/code&gt; blocks to prevent resource replacements and ensure zero-downtime migrations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-file reference updates&lt;/strong&gt; – Automatically finds and updates all references to renamed resources across your entire configuration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dry-run mode&lt;/strong&gt; – Preview all changes before applying them to ensure safety&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Combined with the automatic state upgraders introduced in v5.19+, tf-migrate eliminates the manual work and risk that previously made v5 migrations challenging. Tf-migrate operates directly on the config, and the built-in state upgraders handle the rest.&lt;/p&gt;
&lt;h4&gt;Supported resources&lt;/h4&gt;
&lt;p&gt;Tf-migrate currently supports the most common Terraform resources our customers use. We are actively working to expand coverage, with the most commonly used resources prioritized first.&lt;/p&gt;
&lt;p&gt;For the complete list of supported resources and their migration status, refer to the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;v5 Stabilization Tracker&lt;/a&gt;. This list is updated regularly as additional resources are stabilized and migration support is added.&lt;/p&gt;
&lt;p&gt;Resources not yet supported by tf-migrate will need to be migrated manually using the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;version 5 upgrade guide&lt;/a&gt;. The upgrade guide provides step-by-step instructions for handling resource renames, attribute changes, and state migrations.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/tf-migrate/releases&quot; target=&quot;_blank&quot;&gt;Download tf-migrate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-migration&quot; target=&quot;_blank&quot;&gt;Version 5 Migration Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot; target=&quot;_blank&quot;&gt;Terraform Provider documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;v5 Stabilization Tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We have been releasing Betas over the past month and a half while testing this tool. See the full changelog of those Betas here: &lt;a href=&quot;https://github.com/cloudflare/tf-migrate/releases&quot; target=&quot;_blank&quot;&gt;tf-migrate releases&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><product>Terraform</product><category>Terraform</category></item><item><title>Audit Logs - Audit Logs v2 — Organization-level support</title><link>https://docs.ahq.lat/changelog/post/2026-04-23-audit-logs-v2-organization-level/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-23-audit-logs-v2-organization-level/</guid><description>&lt;p&gt;Audit Logs v2 now supports organization-level audit logs. Org Admins can retrieve audit events for actions performed at the organization level via the Audit Logs v2 API.&lt;/p&gt;
&lt;p&gt;To retrieve organization-level audit logs, use the following endpoint:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;GET&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.cloudflare.com/client/v4/organizations/{organization_id}/logs/audit&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 release covers user-initiated actions performed through organization-level APIs. Audit logs for system-initiated actions, a dashboard UI, and Logpush support for organizations will be added in future releases.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;Organization-level audit logs are separate from account-level audit logs. Actions performed within a specific account continue to be available via the account-level Audit Logs UI, Audit Logs v2 API, and Logpush.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/audit-logs/&quot;&gt;Audit Logs documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><product>Audit Logs</product><category>Audit Logs</category></item><item><title>SDK, Go SDK - Go SDK v6.10.0 Released</title><link>https://docs.ahq.lat/changelog/post/2026-04-23-go-sdk-v6100/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-23-go-sdk-v6100/</guid><description>&lt;h4&gt;v6.10.0&lt;/h4&gt;
&lt;p&gt;In this release, you&apos;ll see a number of breaking changes. This is primarily due to changes in OpenAPI definitions, which our libraries are based off of, and codegen updates that we rely on to read those OpenAPI definitions and produce our SDK libraries.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Please ensure you read through the list of changes below before moving to this version&lt;/strong&gt; - this will help you understand any down or upstream issues it may cause to your environments.&lt;/p&gt;
&lt;h4&gt;Breaking Changes&lt;/h4&gt;
&lt;p&gt;See the &lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/blob/main/MIGRATION_GUIDE.md&quot; target=&quot;_blank&quot;&gt;v6.10.0 Migration Guide&lt;/a&gt; for before/after code examples and actions needed for each change.&lt;/p&gt;
&lt;h4&gt;Abuse Reports - Registrar WHOIS Report Field Removals&lt;/h4&gt;
&lt;p&gt;Several fields have been removed from &lt;code&gt;AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportRegWhoRequest&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;RegWhoGoodFaithAffirmation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RegWhoLawfulProcessingAgreement&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RegWhoLegalBasis&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RegWhoRequestType&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RegWhoRequestedDataElements&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI Search - Instance Params Restructured&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;InstanceNewParams&lt;/code&gt; and &lt;code&gt;InstanceUpdateParams&lt;/code&gt; types have been significantly restructured. Many fields have been moved or removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;InstanceNewParams.TokenID&lt;/code&gt;, &lt;code&gt;Type&lt;/code&gt;, &lt;code&gt;CreatedFromAISearchWizard&lt;/code&gt;, &lt;code&gt;WorkerDomain&lt;/code&gt; removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceUpdateParams&lt;/code&gt; — most configuration fields removed (including &lt;code&gt;IndexMethod&lt;/code&gt;, &lt;code&gt;IndexingOptions&lt;/code&gt;, &lt;code&gt;MaxNumResults&lt;/code&gt;, &lt;code&gt;Metadata&lt;/code&gt;, &lt;code&gt;Paused&lt;/code&gt;, &lt;code&gt;PublicEndpointParams&lt;/code&gt;, &lt;code&gt;Reranking&lt;/code&gt;, &lt;code&gt;RerankingModel&lt;/code&gt;, &lt;code&gt;RetrievalOptions&lt;/code&gt;, &lt;code&gt;RewriteModel&lt;/code&gt;, &lt;code&gt;RewriteQuery&lt;/code&gt;, &lt;code&gt;ScoreThreshold&lt;/code&gt;, &lt;code&gt;SourceParams&lt;/code&gt;, &lt;code&gt;Summarization&lt;/code&gt;, &lt;code&gt;SummarizationModel&lt;/code&gt;, &lt;code&gt;SystemPromptAISearch&lt;/code&gt;, &lt;code&gt;SystemPromptIndexSummarization&lt;/code&gt;, &lt;code&gt;SystemPromptRewriteQuery&lt;/code&gt;, &lt;code&gt;TokenID&lt;/code&gt;, &lt;code&gt;CreatedFromAISearchWizard&lt;/code&gt;, &lt;code&gt;WorkerDomain&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InstanceSearchParams.Messages&lt;/code&gt; field removed along with &lt;code&gt;InstanceSearchParamsMessage&lt;/code&gt; and &lt;code&gt;InstanceSearchParamsMessagesRole&lt;/code&gt; types&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI Search - InstanceItem Service Removed&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;InstanceItemService&lt;/code&gt; type has been removed. The items sub-resource at &lt;code&gt;client.AISearch.Instances.Items&lt;/code&gt; no longer exists in the non-namespace path. Use &lt;code&gt;client.AISearch.Namespaces.Instances.Items&lt;/code&gt; instead.&lt;/p&gt;
&lt;h4&gt;AI Search - Token Types Removed&lt;/h4&gt;
&lt;p&gt;The following types have been removed from the &lt;code&gt;ai_search&lt;/code&gt; package:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TokenDeleteResponse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TokenListParams&lt;/code&gt; (and associated &lt;code&gt;TokenListParamsOrderBy&lt;/code&gt;, &lt;code&gt;TokenListParamsOrderByDirection&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Email Security - Investigate Move Return Type Change&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;Investigate.Move.New()&lt;/code&gt; method now returns a raw slice instead of a paginated wrapper:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;New()&lt;/code&gt; returns &lt;code&gt;*[]InvestigateMoveNewResponse&lt;/code&gt; instead of &lt;code&gt;*pagination.SinglePage[InvestigateMoveNewResponse]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NewAutoPaging()&lt;/code&gt; method removed&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Hyperdrive - Config Params Restructured&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;ConfigEditParams&lt;/code&gt; type lost its &lt;code&gt;MTLS&lt;/code&gt; and &lt;code&gt;Name&lt;/code&gt; fields. The &lt;code&gt;HyperdriveMTLSParam&lt;/code&gt; type lost &lt;code&gt;MTLS&lt;/code&gt; and &lt;code&gt;Host&lt;/code&gt; fields. The &lt;code&gt;Host&lt;/code&gt; field on origin config changed from &lt;code&gt;param.Field[string]&lt;/code&gt; to a plain &lt;code&gt;string&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;IAM - UserGroupMember Params and Return Types Changed&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;UserGroupMemberNewParams&lt;/code&gt; struct has been restructured and the &lt;code&gt;New()&lt;/code&gt; method now returns a paginated response:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;UserGroupMemberNewParams.Body&lt;/code&gt; renamed to &lt;code&gt;UserGroupMemberNewParams.Members&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UserGroupMemberNewParamsBody&lt;/code&gt; renamed to &lt;code&gt;UserGroupMemberNewParamsMember&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UserGroupMemberUpdateParams.Body&lt;/code&gt; renamed to &lt;code&gt;UserGroupMemberUpdateParams.Members&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UserGroupMemberUpdateParamsBody&lt;/code&gt; renamed to &lt;code&gt;UserGroupMemberUpdateParamsMember&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UserGroups.Members.New()&lt;/code&gt; returns &lt;code&gt;*pagination.SinglePage[UserGroupMemberNewResponse]&lt;/code&gt; instead of &lt;code&gt;*UserGroupMemberNewResponse&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;IAM - UserGroup List Direction Type Changed&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;UserGroupListParams.Direction&lt;/code&gt; field changed from &lt;code&gt;param.Field[string]&lt;/code&gt; to &lt;code&gt;param.Field[UserGroupListParamsDirection]&lt;/code&gt; (typed enum with &lt;code&gt;asc&lt;/code&gt;/&lt;code&gt;desc&lt;/code&gt; values).&lt;/p&gt;
&lt;h4&gt;Pipelines - Delete Methods Now Return Typed Responses&lt;/h4&gt;
&lt;p&gt;Several delete methods across Pipelines now return typed responses instead of bare error:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Pipelines.DeleteV1()&lt;/code&gt; returns &lt;code&gt;(*PipelineDeleteV1Response, error)&lt;/code&gt; instead of &lt;code&gt;error&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Pipelines.Sinks.Delete()&lt;/code&gt; returns &lt;code&gt;(*SinkDeleteResponse, error)&lt;/code&gt; instead of &lt;code&gt;error&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Pipelines.Streams.Delete()&lt;/code&gt; returns &lt;code&gt;(*StreamDeleteResponse, error)&lt;/code&gt; instead of &lt;code&gt;error&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Queues - Message Response Types Removed&lt;/h4&gt;
&lt;p&gt;The following response envelope types have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MessageBulkPushResponseSuccess&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MessagePushResponseSuccess&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MessageAckResponse&lt;/code&gt; fields &lt;code&gt;RetryCount&lt;/code&gt; and &lt;code&gt;Warnings&lt;/code&gt; removed&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Secrets Store - Pagination Wrapper Removal and Type Changes&lt;/h4&gt;
&lt;p&gt;Methods now return direct types instead of &lt;code&gt;SinglePage&lt;/code&gt; wrappers, and several internal types have been removed. Associated &lt;code&gt;AutoPaging&lt;/code&gt; methods have also been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Stores.New()&lt;/code&gt; returns &lt;code&gt;*StoreNewResponse&lt;/code&gt; instead of &lt;code&gt;*pagination.SinglePage[StoreNewResponse]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Stores.NewAutoPaging()&lt;/code&gt; method removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Stores.Secrets.BulkDelete()&lt;/code&gt; returns &lt;code&gt;*StoreSecretBulkDeleteResponse&lt;/code&gt; instead of &lt;code&gt;*pagination.SinglePage[StoreSecretBulkDeleteResponse]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Stores.Secrets.BulkDeleteAutoPaging()&lt;/code&gt; method removed&lt;/li&gt;
&lt;li&gt;Removed types: &lt;code&gt;StoreDeleteResponse&lt;/code&gt;, &lt;code&gt;StoreDeleteResponseEnvelopeResultInfo&lt;/code&gt;, &lt;code&gt;StoreSecretDeleteResponse&lt;/code&gt;, &lt;code&gt;StoreSecretDeleteResponseStatus&lt;/code&gt;, &lt;code&gt;StoreSecretBulkDeleteResponse&lt;/code&gt; (old shape), &lt;code&gt;StoreSecretBulkDeleteResponseStatus&lt;/code&gt;, &lt;code&gt;StoreSecretDeleteResponseEnvelopeResultInfo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;StoreNewParams&lt;/code&gt; restructured (old &lt;code&gt;StoreNewParamsBody&lt;/code&gt; removed)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;StoreSecretBulkDeleteParams&lt;/code&gt; restructured&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Stream - AudioTracks Return Type Change&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;AudioTracks.Get()&lt;/code&gt; method now returns a dedicated response type instead of a paginated list. The &lt;code&gt;GetAutoPaging()&lt;/code&gt; method has been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Get()&lt;/code&gt; returns &lt;code&gt;*AudioTrackGetResponse&lt;/code&gt; instead of &lt;code&gt;*pagination.SinglePage[Audio]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetAutoPaging()&lt;/code&gt; method removed&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Stream - Clip Type Removal and Return Type Change&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;Clip.New()&lt;/code&gt; method now returns the shared &lt;code&gt;Video&lt;/code&gt; type. The following types have been entirely removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Clip&lt;/code&gt;, &lt;code&gt;ClipPlayback&lt;/code&gt;, &lt;code&gt;ClipStatus&lt;/code&gt;, &lt;code&gt;ClipWatermark&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Stream - Copy and Clip Params Field Removals&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ClipNewParams.MaxDurationSeconds&lt;/code&gt;, &lt;code&gt;ThumbnailTimestampPct&lt;/code&gt;, &lt;code&gt;Watermark&lt;/code&gt; removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CopyNewParams.ThumbnailTimestampPct&lt;/code&gt;, &lt;code&gt;Watermark&lt;/code&gt; removed&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Stream - Download and Webhook Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DownloadNewResponseStatus&lt;/code&gt; type removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WebhookUpdateResponse&lt;/code&gt; and &lt;code&gt;WebhookGetResponse&lt;/code&gt; changed from &lt;code&gt;interface{}&lt;/code&gt; type aliases to full struct types&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero Trust - Access AI Control MCP Portal Union Types Removed&lt;/h4&gt;
&lt;p&gt;The following union interface types have been removed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AccessAIControlMcpPortalListResponseServersUpdatedPromptsUnion&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AccessAIControlMcpPortalListResponseServersUpdatedToolsUnion&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AccessAIControlMcpPortalReadResponseServersUpdatedPromptsUnion&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AccessAIControlMcpPortalReadResponseServersUpdatedToolsUnion&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;h4&gt;Vulnerability Scanner (&lt;code&gt;client.VulnerabilityScanner&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW SERVICE:&lt;/strong&gt; Full vulnerability scanning management&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CredentialSets&lt;/strong&gt; - CRUD for credential sets (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;Update&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Delete&lt;/code&gt;, &lt;code&gt;Edit&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credentials&lt;/strong&gt; - Manage credentials within sets (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;Update&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Delete&lt;/code&gt;, &lt;code&gt;Edit&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scans&lt;/strong&gt; - Create and manage vulnerability scans (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TargetEnvironments&lt;/strong&gt; - Manage scan target environments (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;Update&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Delete&lt;/code&gt;, &lt;code&gt;Edit&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI Search - Namespaces (&lt;code&gt;client.AISearch.Namespaces&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW SERVICE:&lt;/strong&gt; Namespace-scoped AI Search management&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;New()&lt;/code&gt;, &lt;code&gt;Update()&lt;/code&gt;, &lt;code&gt;List()&lt;/code&gt;, &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;ChatCompletions()&lt;/code&gt;, &lt;code&gt;Read()&lt;/code&gt;, &lt;code&gt;Search()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Instances&lt;/strong&gt; - Namespace-scoped instances (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;Update&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Delete&lt;/code&gt;, &lt;code&gt;ChatCompletions&lt;/code&gt;, &lt;code&gt;Read&lt;/code&gt;, &lt;code&gt;Search&lt;/code&gt;, &lt;code&gt;Stats&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jobs&lt;/strong&gt; - Instance job management (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;Update&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;, &lt;code&gt;Logs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Items&lt;/strong&gt; - Instance item management (&lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Delete&lt;/code&gt;, &lt;code&gt;Chunks&lt;/code&gt;, &lt;code&gt;NewOrUpdate&lt;/code&gt;, &lt;code&gt;Download&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;, &lt;code&gt;Logs&lt;/code&gt;, &lt;code&gt;Sync&lt;/code&gt;, &lt;code&gt;Upload&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Browser Rendering - Devtools (&lt;code&gt;client.BrowserRendering.Devtools&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW SERVICE:&lt;/strong&gt; DevTools protocol browser control&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Session&lt;/strong&gt; - List and get devtools sessions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browser&lt;/strong&gt; - Browser lifecycle management (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;Delete&lt;/code&gt;, &lt;code&gt;Connect&lt;/code&gt;, &lt;code&gt;Launch&lt;/code&gt;, &lt;code&gt;Protocol&lt;/code&gt;, &lt;code&gt;Version&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Page&lt;/strong&gt; - Get page by target ID&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Targets&lt;/strong&gt; - Manage browser targets (&lt;code&gt;New&lt;/code&gt;, &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Activate&lt;/code&gt;, &lt;code&gt;Get&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Registrar (&lt;code&gt;client.Registrar&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW:&lt;/strong&gt; Domain check and search endpoints&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Check()&lt;/code&gt; - &lt;code&gt;POST /accounts/{account_id}/registrar/domain-check&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Search()&lt;/code&gt; - &lt;code&gt;GET /accounts/{account_id}/registrar/domain-search&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;NEW:&lt;/strong&gt; Registration management (&lt;code&gt;client.Registrar.Registrations&lt;/code&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;New()&lt;/code&gt;, &lt;code&gt;List()&lt;/code&gt;, &lt;code&gt;Edit()&lt;/code&gt;, &lt;code&gt;Get()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RegistrationStatus.Get()&lt;/code&gt; - Get registration workflow status&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UpdateStatus.Get()&lt;/code&gt; - Get update workflow status&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Cache - Origin Cloud Regions (&lt;code&gt;client.Cache.OriginCloudRegions&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW SERVICE:&lt;/strong&gt; Manage origin cloud region configurations&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;New()&lt;/code&gt;, &lt;code&gt;List()&lt;/code&gt;, &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;BulkDelete()&lt;/code&gt;, &lt;code&gt;BulkEdit()&lt;/code&gt;, &lt;code&gt;Edit()&lt;/code&gt;, &lt;code&gt;Get()&lt;/code&gt;, &lt;code&gt;SupportedRegions()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero Trust - DLP Settings (&lt;code&gt;client.ZeroTrust.DLP.Settings&lt;/code&gt;)&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;NEW SERVICE:&lt;/strong&gt; DLP settings management&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Update()&lt;/code&gt;, &lt;code&gt;Delete()&lt;/code&gt;, &lt;code&gt;Edit()&lt;/code&gt;, &lt;code&gt;Get()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Radar&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AgentReadiness.Summary()&lt;/code&gt; - Agent readiness summary by dimension&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AI.MarkdownForAgents.Summary()&lt;/code&gt; - Markdown-for-agents summary&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AI.MarkdownForAgents.Timeseries()&lt;/code&gt; - Markdown-for-agents timeseries&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;IAM (&lt;code&gt;client.IAM&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;UserGroups.Members.Get()&lt;/code&gt; - Get details of a specific member in a user group&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UserGroups.Members.NewAutoPaging()&lt;/code&gt; - Auto-paging variant for adding members&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UserGroups.NewParams.Policies&lt;/code&gt; changed from required to optional&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bot Management&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ContentBotsProtection&lt;/code&gt; field added to &lt;code&gt;BotFightModeConfiguration&lt;/code&gt; and &lt;code&gt;SubscriptionConfiguration&lt;/code&gt; (&lt;code&gt;block&lt;/code&gt;/&lt;code&gt;disabled&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Deprecations&lt;/h4&gt;
&lt;p&gt;None in this release.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/releases/tag/v6.10.0&quot; target=&quot;_blank&quot;&gt;Download Go SDK v6.10.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/api/sdks/go/&quot; target=&quot;_blank&quot;&gt;Go SDK documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/cloudflare-go/blob/main/MIGRATION_GUIDE.md&quot; target=&quot;_blank&quot;&gt;Migration Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><product>SDK</product><category>SDK</category><category>Go SDK</category></item><item><title>Analytics, Log Explorer - Custom dashboards available to all customers</title><link>https://docs.ahq.lat/changelog/post/2026-04-22-custom-dashboards-ga/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-22-custom-dashboards-ga/</guid><description>&lt;p&gt;Custom Dashboards are now available to all Cloudflare customers. Build personalized views that highlight the metrics most critical to your infrastructure and security posture, moving beyond standard product dashboards.&lt;/p&gt;
&lt;p&gt;This update significantly expands the data available for visualization. Build charts based on any of the &lt;strong&gt;100+ datasets&lt;/strong&gt; available via the Cloudflare GraphQL API, covering everything from WAF events and Workers metrics to Load Balancing and Zero Trust logs.&lt;/p&gt;
&lt;h4&gt;Log Explorer integration&lt;/h4&gt;
&lt;p&gt;For Log Explorer customers, you can now turn raw log queries directly into dashboard charts. When you identify a specific pattern or spike while investigating logs, save that query as a visualization to monitor those signals in real-time without leaving the dashboard.&lt;/p&gt;
&lt;h4&gt;Key benefits&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Unified visibility&lt;/strong&gt;: Consolidate signals from different Cloudflare products (for example, HTTP Traffic and R2 Storage) into a single view.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexible monitoring&lt;/strong&gt;: Create charts that focus on specific status codes, ASN regions, or security actions that matter to your business.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expanded limits&lt;/strong&gt;: Log Explorer customers can create up to &lt;strong&gt;100 dashboards&lt;/strong&gt; (up from 25 for standard customers).&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/customdashboardshome.BIpSvImM_T5dlH.webp&quot; alt=&quot;Custom Dashboards home page showing dashboard list and chart previews&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://docs.ahq.lat/analytics/custom-dashboards/&quot;&gt;Custom Dashboards documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><product>Analytics</product><category>Analytics</category><category>Log Explorer</category></item><item><title>Cloudflare Fundamentals - Network Overview page in the dashboard</title><link>https://docs.ahq.lat/changelog/post/2026-04-21-network-overview-page/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-21-network-overview-page/</guid><description>&lt;p&gt;A new &lt;strong&gt;Network Overview&lt;/strong&gt; page in the Cloudflare dashboard gives you a single starting point for network security and connectivity products.&lt;/p&gt;
&lt;p&gt;From the Network Overview page, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Connect resources with &lt;a href=&quot;https://docs.ahq.lat/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt;&lt;/strong&gt; - Create tunnels to connect your infrastructure to Cloudflare without exposing it to the public Internet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Monitor traffic with Network Flow&lt;/strong&gt; - Get real-time visibility into traffic volume from your routers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configure Address Maps&lt;/strong&gt; - Map dedicated static IPs or BYOIP prefixes to specific hostnames.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explore Magic Transit and Cloudflare WAN&lt;/strong&gt; - Set up DDoS protection for your networks and connectivity for your branch offices and data centers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To find it, go to &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/magic-networks/overview&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Networking&lt;/strong&gt;&lt;/a&gt; in the dashboard sidebar.&lt;/p&gt;
&lt;p&gt;If you already use &lt;a href=&quot;https://docs.ahq.lat/magic-transit/&quot;&gt;Magic Transit&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/cloudflare-wan/&quot;&gt;Cloudflare WAN&lt;/a&gt;, or other Cloudflare network services products, your existing experience is unchanged.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/network-overview.4FLDtULW_Z1MDOti.webp&quot; alt=&quot;Network Overview page in the Cloudflare dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;</description><pubDate>Tue, 21 Apr 2026 12:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals, Workers - Introducing Billable Usage dashboard and Budget alerts</title><link>https://docs.ahq.lat/changelog/post/2026-04-13-billable-usage-dashboard-and-budget-alerts/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-13-billable-usage-dashboard-and-budget-alerts/</guid><description>&lt;p&gt;Pay-as-you-go customers can now monitor usage-based costs and configure spend alerts through two new features: the Billable Usage dashboard and Budget alerts.&lt;/p&gt;
&lt;h4&gt;Billable Usage dashboard&lt;/h4&gt;
&lt;p&gt;The Billable Usage dashboard provides daily visibility into usage-based costs across your Cloudflare account. The data comes from the same system that generates your monthly invoice, so the figures match your bill.&lt;/p&gt;
&lt;p&gt;The dashboard displays:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A bar chart showing daily usage charges for your billing period&lt;/li&gt;
&lt;li&gt;A sortable table breaking down usage by product, including total usage, billable usage, and cumulative costs&lt;/li&gt;
&lt;li&gt;Ability to view previous billing periods&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Usage data aligns to your billing cycle, not the calendar month. The total usage cost shown at the end of a completed billing period matches the usage overage charges on your corresponding invoice.&lt;/p&gt;
&lt;p&gt;To access the dashboard, go to &lt;strong&gt;Manage Account&lt;/strong&gt; &gt; &lt;strong&gt;Billing&lt;/strong&gt; &gt; &lt;strong&gt;Billable Usage&lt;/strong&gt;.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/billable-usage-dashboard.CQvMdtrp_Z2qynps.webp&quot; alt=&quot;Screenshot of the Billable Usage dashboard in the Cloudflare dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;Budget alerts&lt;/h4&gt;
&lt;p&gt;Budget alerts allow you to set dollar-based thresholds for your account-level usage spend. You receive an email notification when your projected monthly spend reaches your configured threshold, giving you proactive visibility into your bill before month-end.&lt;/p&gt;
&lt;p&gt;To configure a budget alert:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Manage Account&lt;/strong&gt; &gt; &lt;strong&gt;Billing&lt;/strong&gt; &gt; &lt;strong&gt;Billable Usage&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Set Budget Alert&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a budget threshold amount greater than $0.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alternatively, configure alerts via &lt;strong&gt;Notifications&lt;/strong&gt; &gt; &lt;strong&gt;Add&lt;/strong&gt; &gt; &lt;strong&gt;Budget Alert&lt;/strong&gt;.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/budget-alert-modal.BjIzGOLV_Zr8DX5.webp&quot; alt=&quot;Create Budget Alert modal in the Cloudflare dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;You can create multiple budget alerts at different dollar amounts. The notifications system automatically deduplicates alerts if multiple thresholds trigger at the same time. Budget alerts are calculated daily based on your usage trends and fire once per billing cycle when your projected spend first crosses your threshold.&lt;/p&gt;
&lt;p&gt;Both features are available to Pay-as-you-go accounts with usage-based products (Workers, R2, Images, etc.). Enterprise contract accounts are not supported.&lt;/p&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/billing/understand/usage-based-billing/&quot;&gt;Usage based billing documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Workers</category></item><item><title>Logs - Logpush subrequest merging for HTTP requests</title><link>https://docs.ahq.lat/changelog/post/2026-04-21-logpush-subrequests-merging/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-21-logpush-subrequests-merging/</guid><description>&lt;p&gt;When a Cloudflare Worker intercepts a visitor request, it can dispatch additional outbound fetch calls called subrequests. By default, each subrequest generates its own log entry in Logpush, resulting in multiple log lines per visitor request. With subrequest merging enabled, subrequest data is embedded as a nested array field on the parent log record instead.&lt;/p&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New subrequest_merging field on Logpush jobs — Set &quot;merge_subrequests&quot;: true when creating or updating an http_requests Logpush job to enable the feature.&lt;/li&gt;
&lt;li&gt;New Subrequests log field — When subrequest merging is enabled, a Subrequests field (&lt;code&gt;array\&amp;#x3C;object\&gt;&lt;/code&gt;) is added to each parent request log record. Each element in the array contains the standard http_requests fields for that subrequest.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Limitations&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Applies to the http_requests (zone-scoped) dataset only.&lt;/li&gt;
&lt;li&gt;A maximum of 50 subrequests are merged per parent request. Subrequests beyond this limit are passed through unmodified as individual log entries.&lt;/li&gt;
&lt;li&gt;Subrequests must complete within 5 minutes of the visitor request. Subrequests that exceed this window are passed through unmodified.&lt;/li&gt;
&lt;li&gt;Subrequests that do not qualify appear as separate log entries — no data is lost.&lt;/li&gt;
&lt;li&gt;Subrequest merging is being gradually rolled out and is not yet available on all zones. Contact your account team for concerns or to ensure it is enabled for your zone.&lt;/li&gt;
&lt;li&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/subrequests/&quot;&gt;Subrequests&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Logs, Pipelines - Cloudflare Pipelines as a Logpush destination</title><link>https://docs.ahq.lat/changelog/post/2026-04-20-pipelines-logpush-destination/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-20-pipelines-logpush-destination/</guid><description>&lt;p&gt;Logpush has traditionally been great at delivering Cloudflare logs to a variety of destinations in JSON format. While JSON is flexible and easily readable, it can be inefficient to store and query at scale.&lt;/p&gt;
&lt;p&gt;With this release, you can now send your logs directly to &lt;a href=&quot;https://docs.ahq.lat/pipelines/&quot;&gt;Pipelines&lt;/a&gt; to ingest, transform, and store your logs in &lt;a href=&quot;https://docs.ahq.lat/r2/&quot;&gt;R2&lt;/a&gt; as Parquet files or Apache Iceberg tables managed by &lt;a href=&quot;https://docs.ahq.lat/r2/data-catalog/&quot;&gt;R2 Data Catalog&lt;/a&gt;. This makes the data footprint more compact and more efficient at querying your logs instantly with &lt;a href=&quot;https://docs.ahq.lat/r2-sql/&quot;&gt;R2 SQL&lt;/a&gt; or any other query engine that supports Apache Iceberg or Parquet.&lt;/p&gt;
&lt;h4&gt;Transform logs before storage&lt;/h4&gt;
&lt;p&gt;Pipelines SQL runs on each log record in-flight, so you can reshape your data before it is written. For example, you can drop noisy fields, redact sensitive values, or derive new columns:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;sql&quot;&gt;&lt;code class=&quot;language-sql&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;INSERT INTO&lt;/span&gt;&lt;span&gt; http_logs_sink&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;SELECT&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;ClientIP,&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;EdgeResponseStatus,&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;to_timestamp_micros(EdgeStartTimestamp) &lt;/span&gt;&lt;span&gt;AS&lt;/span&gt;&lt;span&gt; event_time,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;upper&lt;/span&gt;&lt;span&gt;(ClientRequestMethod) &lt;/span&gt;&lt;span&gt;AS&lt;/span&gt;&lt;span&gt; method,&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;sha256(ClientIP) &lt;/span&gt;&lt;span&gt;AS&lt;/span&gt;&lt;span&gt; hashed_ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;span&gt; http_logs_stream&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;span&gt; EdgeResponseStatus &lt;/span&gt;&lt;span&gt;&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;400&lt;/span&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;Pipelines SQL supports string functions, regex, hashing, JSON extraction, timestamp conversion, conditional expressions, and more. For the full list, refer to the &lt;a href=&quot;https://docs.ahq.lat/pipelines/sql-reference/&quot;&gt;Pipelines SQL reference&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;To configure Pipelines as a Logpush destination, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/pipelines/&quot;&gt;Enable Cloudflare Pipelines&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category><category>Pipelines</category></item><item><title>AI Crawl Control - Introducing Redirects for AI Training</title><link>https://docs.ahq.lat/changelog/post/2026-04-17-redirects-for-ai-training/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-17-redirects-for-ai-training/</guid><description>&lt;p&gt;Cloudflare&apos;s network now supports redirecting verified AI training crawlers to canonical URLs when they request deprecated or duplicate pages. When enabled via &lt;strong&gt;AI Crawl Control&lt;/strong&gt; &gt; &lt;strong&gt;Quick Actions&lt;/strong&gt;, AI training crawlers that request a page with a canonical tag pointing elsewhere receive a 301 redirect to the canonical version. Humans, search engine crawlers, and AI Search agents continue to see the original page normally.&lt;/p&gt;
&lt;p&gt;This feature leverages your existing &lt;code&gt;&amp;#x3C;link rel=&quot;canonical&quot;&gt;&lt;/code&gt; tags. No additional configuration required beyond enabling the toggle. Available on Pro, Business, and Enterprise plans at no additional cost.&lt;/p&gt;
&lt;p&gt;Refer to the &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/reference/redirects-for-ai-training/&quot;&gt;Redirects for AI Training documentation&lt;/a&gt; for details.&lt;/p&gt;</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>AI Crawl Control - Tools to prepare your site for the agentic Internet</title><link>https://docs.ahq.lat/changelog/post/2026-04-17-tools-for-agentic-internet/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-17-tools-for-agentic-internet/</guid><description>&lt;p&gt;AI Crawl Control now includes new tools to help you prepare your site for the agentic Internet—a web where AI agents are first-class citizens that discover and interact with content differently than human visitors.&lt;/p&gt;
&lt;h4&gt;Content Format insights&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Metrics&lt;/strong&gt; tab now includes a &lt;strong&gt;Content Format&lt;/strong&gt; chart showing what content types AI systems request versus what your origin serves. Understanding these patterns helps you optimize content delivery for both human and agent consumption.&lt;/p&gt;
&lt;h4&gt;Directives tab (formerly Robots.txt)&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Robots.txt&lt;/strong&gt; tab has been renamed to &lt;strong&gt;Directives&lt;/strong&gt; and now includes a link to check your site&apos;s &lt;a href=&quot;https://isitagentready.com&quot; target=&quot;_blank&quot;&gt;Agent Readiness&lt;/a&gt; score.&lt;/p&gt;
&lt;p&gt;Refer to our &lt;a href=&quot;https://blog.cloudflare.com/agent-readiness/&quot; target=&quot;_blank&quot;&gt;blog post on preparing for the agentic Internet&lt;/a&gt; for more on why these capabilities matter.&lt;/p&gt;</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Logs - New TenantID and Firewall for AI fields in Logpush datasets</title><link>https://docs.ahq.lat/changelog/post/2026-04-15-logpush-new-fields/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-15-logpush-new-fields/</guid><description>&lt;p&gt;Cloudflare has added new fields to multiple &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;:&lt;/p&gt;
&lt;h4&gt;TenantID field&lt;/h4&gt;
&lt;p&gt;The following Gateway and Zero Trust datasets now include a &lt;code&gt;TenantID&lt;/code&gt; field:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/gateway_dns/#tenantid&quot;&gt;Gateway DNS&lt;/a&gt;&lt;/strong&gt;: Identifies the tenant ID of the DNS request, if it exists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/gateway_http/#tenantid&quot;&gt;Gateway HTTP&lt;/a&gt;&lt;/strong&gt;: Identifies the tenant ID of the HTTP request, if it exists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/gateway_network/#tenantid&quot;&gt;Gateway Network&lt;/a&gt;&lt;/strong&gt;: Identifies the tenant ID of the network session, if it exists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/zero_trust_network_sessions/#tenantid&quot;&gt;Zero Trust Network Sessions&lt;/a&gt;&lt;/strong&gt;: Identifies the tenant ID of the network session, if it exists.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Firewall for AI fields&lt;/h4&gt;
&lt;p&gt;The following datasets now include &lt;a href=&quot;https://docs.ahq.lat/api-shield/security/volumetric-abuse-detection/#firewall-for-ai&quot;&gt;Firewall for AI&lt;/a&gt; fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/zone/firewall_events/&quot;&gt;Firewall Events&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FirewallForAIInjectionScore&lt;/code&gt;: The score indicating the likelihood of a prompt injection attack in the request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FirewallForAIPIICategories&lt;/code&gt;: List of PII categories detected in the request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FirewallForAITokenCount&lt;/code&gt;: The number of tokens in the request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FirewallForAIUnsafeTopicCategories&lt;/code&gt;: List of unsafe topic categories detected in the request.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/zone/http_requests/&quot;&gt;HTTP Requests&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FirewallForAIInjectionScore&lt;/code&gt;: The score indicating the likelihood of a prompt injection attack in the request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FirewallForAIPIICategories&lt;/code&gt;: List of PII categories detected in the request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FirewallForAITokenCount&lt;/code&gt;: The number of tokens in the request.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FirewallForAIUnsafeTopicCategories&lt;/code&gt;: List of unsafe topic categories detected in the request.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete field definitions for each dataset, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Cloudflare Fundamentals - Improved OAuth experience for consent and management</title><link>https://docs.ahq.lat/changelog/post/2026-04-14-oauth-consent-and-revoke/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-14-oauth-consent-and-revoke/</guid><description>&lt;p&gt;OAuth allows third-party applications to access your Cloudflare account on your behalf — like when Wrangler deploys Workers or when monitoring tools read your analytics. You now have &lt;strong&gt;granular control&lt;/strong&gt; over which accounts these applications can access, plus the ability to revoke access anytime.&lt;/p&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;h4&gt;Choose which accounts to authorize&lt;/h4&gt;
&lt;p&gt;When authorizing an OAuth application, you can now &lt;strong&gt;select specific accounts&lt;/strong&gt; instead of granting access to all your accounts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Account-by-account selection&lt;/strong&gt; — Choose exactly which accounts the application can access&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&quot;All accounts&quot; option&lt;/strong&gt; — Still available for trusted tools like Wrangler
This gives you precise control who can access your data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Clear consent screens&lt;/h4&gt;
&lt;p&gt;The OAuth consent screen now shows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What the application can access&lt;/strong&gt; — Explicit list of permissions being requested&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Who created the application&lt;/strong&gt; — Application owner and contact information&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Which accounts you&apos;re authorizing&lt;/strong&gt; — Checkboxes for account selection&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Revoke access anytime&lt;/h4&gt;
&lt;p&gt;Manage authorized OAuth applications from your profile:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;See all connected apps&lt;/strong&gt; — View every OAuth application with access to your accounts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review permissions and scope&lt;/strong&gt; — Check what each application can do and which accounts it can access&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Revoke instantly&lt;/strong&gt; — Remove access with one click when you no longer need it
To manage your OAuth applications, navigate to &lt;strong&gt;Profile&lt;/strong&gt; &gt; &lt;strong&gt;Access Management&lt;/strong&gt; &gt; &lt;strong&gt;&lt;a href=&quot;https://dash.cloudflare.com/profile/access-management/authorization&quot; target=&quot;_blank&quot;&gt;Connected Applications&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Why this matters&lt;/h4&gt;
&lt;p&gt;These updates give you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Granular control&lt;/strong&gt; — Authorize apps per-account instead of all-or-nothing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transparency&lt;/strong&gt; — Know exactly what you&apos;re authorizing before you consent&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; — Limit blast radius by restricting access to only necessary accounts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Easy cleanup&lt;/strong&gt; — Revoke access when applications are no longer needed&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Learn more&lt;/h4&gt;
&lt;p&gt;Read more about these improvements in our blog post: &lt;a href=&quot;https://blog.cloudflare.com/improved-developer-security/#improving-the-oauth-consent-experience&quot; target=&quot;_blank&quot;&gt;Improving the OAuth consent experience&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>logpush, Logs - Logpush to BigQuery — Cloudflare dashboard support</title><link>https://docs.ahq.lat/changelog/post/2026-04-14-bigquery-dashboard-support/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-14-bigquery-dashboard-support/</guid><description>&lt;p&gt;You can now configure Logpush jobs to Google BigQuery directly from the Cloudflare dashboard, in addition to the existing API-based setup.&lt;/p&gt;
&lt;p&gt;Previously, setting up a BigQuery Logpush destination required using the Logpush API. Now you can create and manage BigQuery Logpush jobs from the &lt;strong&gt;Logpush&lt;/strong&gt; page in the Cloudflare dashboard by selecting &lt;strong&gt;Google BigQuery&lt;/strong&gt; as the destination and entering your Google Cloud project ID, dataset ID, table ID, and service account credentials.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/bigquery/&quot;&gt;Enable Logpush to Google BigQuery&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><product>logpush</product><category>logpush</category><category>Logs</category></item><item><title>Cloudflare Fundamentals - API tokens now detectable by secret scanning tools</title><link>https://docs.ahq.lat/changelog/post/2026-04-10-secret-scanning-support/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-10-secret-scanning-support/</guid><description>&lt;p&gt;Cloudflare API tokens now include &lt;strong&gt;identifiable patterns&lt;/strong&gt; that enable secret scanning tools to automatically detect them when leaked in code repositories, configuration files, or other public locations.&lt;/p&gt;
&lt;h4&gt;What changed&lt;/h4&gt;
&lt;p&gt;API tokens generated by Cloudflare now follow a standardized format that secret scanning tools can recognize. When a Cloudflare token is accidentally committed to GitHub, GitLab, or another platform with secret scanning enabled, the tool will flag it and alert you.&lt;/p&gt;
&lt;h4&gt;Why this matters&lt;/h4&gt;
&lt;p&gt;Leaked credentials are a common security risk. By making Cloudflare tokens detectable by scanning tools, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Detect leaks faster&lt;/strong&gt; — Get notified immediately when a token is exposed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce risk window&lt;/strong&gt; — Exposed tokens are deactivated immediately, before they can be exploited.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate security&lt;/strong&gt; — Leverage existing secret scanning infrastructure without additional configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;What happens when a leak is detected&lt;/h4&gt;
&lt;p&gt;When a third-party secret scanning tool detects a leaked Cloudflare API token:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare immediately deactivates the token&lt;/strong&gt; to prevent unauthorized access.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The token creator receives an email notification&lt;/strong&gt; alerting them to the leak.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The token is marked as &quot;Exposed&quot;&lt;/strong&gt; in the Cloudflare dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You can then roll or delete the token&lt;/strong&gt; from the token management pages.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Supported platforms&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Secret Scanning&lt;/strong&gt; — Automatically enabled for public repositories&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information on token formats and secret scanning, refer to &lt;a href=&quot;https://docs.ahq.lat/fundamentals/api/get-started/token-formats/&quot;&gt;API token formats&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Support - Redesigned Support Portal for faster, personalized help</title><link>https://docs.ahq.lat/changelog/post/2026-04-06-redesigned-support-portal/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-06-redesigned-support-portal/</guid><description>&lt;h4&gt;Redesigned &quot;Get Help&quot; Portal for faster, personalized help&lt;/h4&gt;
&lt;p&gt;Cloudflare has officially launched a redesigned &quot;Get Help&quot; Support Portal to eliminate friction and get you to a resolution faster. Previously, navigating support meant clicking through multiple tiles, categorizing your own technical issues across 50+ conditional fields, and translating your problem into Cloudflare&apos;s internal taxonomy.&lt;/p&gt;
&lt;p&gt;The new experience replaces that complexity with a personalized front door built around your specific account plan. Whether you are under a DDoS attack or have a simple billing question, the portal now presents a single, clean page that surfaces the direct paths available to you — such as &quot;Ask AI&quot;, &quot;Chat with a human&quot;, or &quot;Community&quot; — without the manual triage.&lt;/p&gt;
&lt;h4&gt;What&apos;s New&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;One Page, Clear Choices&lt;/strong&gt;: No more navigating a grid of overlapping categories. The portal now uses action cards tailored to your plan (Free, Pro, Business, or Enterprise), ensuring you only see the support channels you can actually use.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A Radically Simpler Support Form&lt;/strong&gt;: We&apos;ve reduced the ticket submission process from four+ screens and 50+ fields to a single screen with five critical inputs. You describe the issue in your own words, and our backend handles the categorization.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI-Driven Triage&lt;/strong&gt;: Using &lt;a href=&quot;https://docs.ahq.lat/workers-ai/&quot; target=&quot;_blank&quot;&gt;Cloudflare Workers AI&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/vectorize/&quot; target=&quot;_blank&quot;&gt;Vectorize&lt;/a&gt;, the portal now automatically generates case subjects and predicts product categories.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Moving complexity to the backend&lt;/h4&gt;
&lt;p&gt;Behind the scenes, we&apos;ve moved the complexity from the user to our own developer stack. When you describe an issue, we use semantic embeddings to capture intent rather than just keywords.&lt;/p&gt;
&lt;p&gt;By leveraging case-based reasoning, our system compares your request against millions of resolved cases to route your inquiry to the specialist best equipped to help. This ensures that while the front-end experience is simpler for you, the back-end routing is more accurate than ever.&lt;/p&gt;
&lt;p&gt;To learn more, refer to the &lt;a href=&quot;https://docs.ahq.lat/support/contacting-cloudflare-support/&quot;&gt;Support documentation&lt;/a&gt; or select &lt;strong&gt;Get Help&lt;/strong&gt; directly in the &lt;a href=&quot;https://dash.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;Cloudflare Dashboard&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><product>Support</product><category>Support</category></item><item><title>Cloudflare Fundamentals, Cloudflare One, Gateway - Organizations is now in public beta for enterprises</title><link>https://docs.ahq.lat/changelog/post/2026-04-06-organizations-public-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-06-organizations-public-beta/</guid><description>&lt;p&gt;We&apos;re announcing the public beta of &lt;strong&gt;Organizations&lt;/strong&gt; for enterprise customers, a new top-level Cloudflare container that lets Cloudflare customers manage multiple accounts, members, analytics, and shared policies from one centralized location.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&apos;s New&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Organizations [BETA]&lt;/strong&gt;: &lt;a href=&quot;https://docs.ahq.lat/fundamentals/organizations/&quot;&gt;Organizations&lt;/a&gt; are a new top-level container for centrally managing multiple accounts. Each Organization supports up to 500 accounts and 5000 zones, giving larger teams a single place to administer resources at scale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Self-serve onboarding&lt;/strong&gt;: Enterprise customers can &lt;a href=&quot;https://docs.ahq.lat/fundamentals/organizations/setup/&quot;&gt;create an Organization&lt;/a&gt; in the dashboard and assign accounts where they are already Super Administrators.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Centralized Account Management&lt;/strong&gt;: At launch, every Organization member has the Organization Super Admin role. Organization Super Admins can invite other users and manage any child account under the Organization implicitly.
&lt;strong&gt;Shared policies&lt;/strong&gt;: Share &lt;a href=&quot;https://docs.ahq.lat/waf/custom-rules/&quot;&gt;WAF&lt;/a&gt; or &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/traffic-policies/tiered-policies/organizations/&quot;&gt;Gateway&lt;/a&gt; policies across multiple accounts within your Organization to simplify centralized policy management.
&lt;strong&gt;Implicit access&lt;/strong&gt;: Members of an Organization automatically receive Super Administrator permissions across child accounts, removing the need for explicit membership on each account. Additional Org-level roles will be available over the course of the year.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unified analytics&lt;/strong&gt;: View, filter, and download aggregate HTTP analytics across all Organization child accounts from a single dashboard for centralized visibility into traffic patterns and security events.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Terraform provider support&lt;/strong&gt;: Manage Organizations with infrastructure as code from day one. Provision organizations, assign accounts, and configure settings programmatically with the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/organization&quot; target=&quot;_blank&quot;&gt;Cloudflare Terraform provider&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shared policies&lt;/strong&gt;: Share &lt;a href=&quot;https://docs.ahq.lat/waf/custom-rules/&quot;&gt;WAF&lt;/a&gt; or &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/traffic-policies/&quot;&gt;Gateway&lt;/a&gt; policies across multiple accounts within your Organization to simplify centralized policy management.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;Organizations is in Public Beta. You must have an Enterprise account to create an organization, but once created, you can add accounts of any plan type where you are a Super Administrator.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more info:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/organizations/&quot;&gt;Get started with Organizations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/organizations/setup/&quot;&gt;Set up your Organization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/organizations/limitations/&quot;&gt;Review limitations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Cloudflare One</category><category>Gateway</category></item><item><title>Logs - New ResponseTimeMs field in Gateway DNS Logpush dataset</title><link>https://docs.ahq.lat/changelog/post/2026-04-06-gateway-dns-response-time-ms/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-06-gateway-dns-response-time-ms/</guid><description>&lt;p&gt;Cloudflare has added a new field to the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/gateway_dns/#responsetimems&quot;&gt;Gateway DNS&lt;/a&gt; Logpush dataset:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ResponseTimeMs&lt;/strong&gt;: Total response time of the DNS request in milliseconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete field definitions, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/gateway_dns/&quot;&gt;Gateway DNS dataset&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Logs - BigQuery as Logpush destination</title><link>https://docs.ahq.lat/changelog/post/2026-04-02-bigquery-destination/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-02-bigquery-destination/</guid><description>&lt;p&gt;Cloudflare Logpush now supports &lt;strong&gt;BigQuery&lt;/strong&gt; as a native destination.&lt;/p&gt;
&lt;p&gt;Logs from Cloudflare can be sent to &lt;a href=&quot;https://cloud.google.com/bigquery&quot; target=&quot;_blank&quot;&gt;Google Cloud BigQuery&lt;/a&gt; via &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/&quot;&gt;Logpush&lt;/a&gt;. The destination can be configured through the Logpush UI in the Cloudflare dashboard or by using the &lt;a href=&quot;https://docs.ahq.lat/api/resources/logpush/subresources/jobs/&quot;&gt;Logpush API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/bigquery/&quot;&gt;Destination Configuration&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Rules - New QUIC RTT and delivery rate fields</title><link>https://docs.ahq.lat/changelog/post/2026-04-01-l4-transport-telemetry-fields/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-01-l4-transport-telemetry-fields/</guid><description>&lt;p&gt;Two new fields are now available in rule expressions that surface Layer 4 transport telemetry from the client connection. Together with the existing &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/&quot;&gt;&lt;code&gt;cf.timings.client_tcp_rtt_msec&lt;/code&gt;&lt;/a&gt; field, these fields give you a complete picture of connection quality for both TCP and QUIC traffic — enabling transport-aware rules without requiring any client-side changes.&lt;/p&gt;
&lt;p&gt;Previously, QUIC RTT and delivery rate data was only available via the &lt;code&gt;Server-Timing: cfL4&lt;/code&gt; response header. These new fields make the same data available directly in rule expressions, so you can use them in Transform Rules, WAF Custom Rules, and other phases that support dynamic fields.&lt;/p&gt;
&lt;h4&gt;New fields&lt;/h4&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.timings.client_quic_rtt_msec&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Integer&lt;/td&gt;&lt;td&gt;The smoothed QUIC round-trip time (RTT) between Cloudflare and the client in milliseconds. Only populated for QUIC (HTTP/3) connections. Returns &lt;code&gt;0&lt;/code&gt; for TCP connections.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.edge.l4.delivery_rate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Integer&lt;/td&gt;&lt;td&gt;The most recent data delivery rate estimate for the client connection, in bytes per second. Returns &lt;code&gt;0&lt;/code&gt; when L4 statistics are not available for the request.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Example: Route slow connections to a lightweight origin&lt;/h4&gt;
&lt;p&gt;Use a request header transform rule to tag requests from high-latency connections, so your origin can serve a lighter page variant:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule expression:&lt;/strong&gt;&lt;/p&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;cf.timings.client_tcp_rtt_msec &gt; 200 or cf.timings.client_quic_rtt_msec &gt; 200&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;&lt;strong&gt;Header modifications:&lt;/strong&gt;&lt;/p&gt;















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Operation&lt;/th&gt;&lt;th&gt;Header name&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Set&lt;/td&gt;&lt;td&gt;&lt;code&gt;X-High-Latency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Example: Match low-bandwidth connections&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;cf.edge.l4.delivery_rate &gt; 0 and cf.edge.l4.delivery_rate &amp;#x3C; 100000&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, refer to &lt;a href=&quot;https://docs.ahq.lat/rules/transform/request-header-modification/&quot;&gt;Request Header Transform Rules&lt;/a&gt; and the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/&quot;&gt;fields reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>logpush, Logs - Logpush — More granular timestamps</title><link>https://docs.ahq.lat/changelog/post/2026-03-25-logpush-granular-timestamps/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-25-logpush-granular-timestamps/</guid><description>&lt;p&gt;Logpush now supports higher-precision timestamp formats for log output. You can configure jobs to output timestamps at millisecond or nanosecond precision. This is available in both the Logpush UI in the Cloudflare dashboard and the &lt;a href=&quot;https://docs.ahq.lat/api/resources/logpush/subresources/jobs/&quot;&gt;Logpush API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use the new formats, set &lt;code&gt;timestamp_format&lt;/code&gt; in your Logpush job&apos;s &lt;code&gt;output_options&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rfc3339ms&lt;/code&gt; — &lt;code&gt;2024-02-17T23:52:01.123Z&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rfc3339ns&lt;/code&gt; — &lt;code&gt;2024-02-17T23:52:01.123456789Z&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Default timestamp formats apply unless explicitly set. The dashboard defaults to &lt;code&gt;rfc3339&lt;/code&gt; and the API defaults to &lt;code&gt;unixnano&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/log-output-options/&quot;&gt;Log output options&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate><product>logpush</product><category>logpush</category><category>Logs</category></item><item><title>Rules - New mTLS certificate fields for Transform Rules</title><link>https://docs.ahq.lat/changelog/post/2026-03-25-rfc9440-mtls-fields/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-25-rfc9440-mtls-fields/</guid><description>&lt;p&gt;Cloudflare now exposes four new fields in the Transform Rules phase that encode client certificate data in &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9440&quot; target=&quot;_blank&quot;&gt;RFC 9440&lt;/a&gt; format. Previously, forwarding client certificate information to your origin required custom parsing of PEM-encoded fields or non-standard HTTP header formats. These new fields produce output in the standardized &lt;code&gt;Client-Cert&lt;/code&gt; and &lt;code&gt;Client-Cert-Chain&lt;/code&gt; header format defined by RFC 9440, so your origin can consume them directly without any additional decoding logic.&lt;/p&gt;
&lt;p&gt;Each certificate is DER-encoded, Base64-encoded, and wrapped in colons. For example, &lt;code&gt;:MIIDsT...Vw==:&lt;/code&gt;. A chain of intermediates is expressed as a comma-separated list of such values.&lt;/p&gt;
&lt;h4&gt;New fields&lt;/h4&gt;






























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.tls_client_auth.cert_rfc9440&lt;/code&gt;&lt;/td&gt;&lt;td&gt;String&lt;/td&gt;&lt;td&gt;The client leaf certificate in RFC 9440 format. Empty if no client certificate was presented.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.tls_client_auth.cert_rfc9440_too_large&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Boolean&lt;/td&gt;&lt;td&gt;&lt;code&gt;true&lt;/code&gt; if the leaf certificate exceeded 10 KB and was omitted. In practice this will almost always be &lt;code&gt;false&lt;/code&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.tls_client_auth.cert_chain_rfc9440&lt;/code&gt;&lt;/td&gt;&lt;td&gt;String&lt;/td&gt;&lt;td&gt;The intermediate certificate chain in RFC 9440 format as a comma-separated list. Empty if no intermediate certificates were sent or if the chain exceeded 16 KB.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.tls_client_auth.cert_chain_rfc9440_too_large&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Boolean&lt;/td&gt;&lt;td&gt;&lt;code&gt;true&lt;/code&gt; if the intermediate chain exceeded 16 KB and was omitted.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;The chain encoding follows the same ordering as the TLS handshake: the certificate closest to the leaf appears first, working up toward the trust anchor. The root certificate is not included.&lt;/p&gt;
&lt;h4&gt;Example: Forwarding client certificate headers to your origin server&lt;/h4&gt;
&lt;p&gt;Add a request header transform rule to set the &lt;code&gt;Client-Cert&lt;/code&gt; and &lt;code&gt;Client-Cert-Chain&lt;/code&gt; headers on requests forwarded to your origin server. For example, to forward headers for verified, non-revoked certificates:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rule expression:&lt;/strong&gt;&lt;/p&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;cf.tls_client_auth.cert_verified and not cf.tls_client_auth.cert_revoked&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;&lt;strong&gt;Header modifications:&lt;/strong&gt;&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Operation&lt;/th&gt;&lt;th&gt;Header name&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Set&lt;/td&gt;&lt;td&gt;&lt;code&gt;Client-Cert&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;cf.tls_client_auth.cert_rfc9440&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Set&lt;/td&gt;&lt;td&gt;&lt;code&gt;Client-Cert-Chain&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;cf.tls_client_auth.cert_chain_rfc9440&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;To get the most out of these fields, upload your client CA certificate to Cloudflare so that Cloudflare validates the client certificate at the edge and populates &lt;code&gt;cf.tls_client_auth.cert_verified&lt;/code&gt; and &lt;code&gt;cf.tls_client_auth.cert_revoked&lt;/code&gt;.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Prevent header injection&lt;/p&gt;&lt;div&gt;&lt;p&gt;You should ensure that &lt;code&gt;Client-Cert&lt;/code&gt; and &lt;code&gt;Client-Cert-Chain&lt;/code&gt; headers received by your origin server can only originate from this transform rule — any client could send these headers directly.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;If you use WAF custom rules to block requests with invalid mTLS connections:&lt;/strong&gt; The transform rule is sufficient. For all requests that reach your origin server, the rule will overwrite any existing &lt;code&gt;Client-Cert&lt;/code&gt; and &lt;code&gt;Client-Cert-Chain&lt;/code&gt; headers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If you do not enforce mTLS at the WAF:&lt;/strong&gt; Add another transform rule that removes any incoming &lt;code&gt;Client-Cert&lt;/code&gt; and &lt;code&gt;Client-Cert-Chain&lt;/code&gt; headers from all requests (use expression &lt;code&gt;true&lt;/code&gt;), ordered before the rule above. This ensures your origin server cannot receive client-supplied values for these HTTP headers.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/service-credentials/mutual-tls-authentication/&quot;&gt;Mutual TLS authentication&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/rules/transform/request-header-modification/&quot;&gt;Request Header Transform Rules&lt;/a&gt;, and the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/&quot;&gt;fields reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>AI Crawl Control - Advanced WAF customization for AI Crawl Control blocks</title><link>https://docs.ahq.lat/changelog/post/2026-03-24-waf-rule-preservation/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-24-waf-rule-preservation/</guid><description>&lt;p&gt;AI Crawl Control now supports extending the underlying WAF rule with custom modifications. Any changes you make directly in the WAF custom rules editor — such as adding path-based exceptions, extra user agents, or additional expression clauses — are preserved when you update crawler actions in AI Crawl Control.&lt;/p&gt;
&lt;p&gt;If the WAF rule expression has been modified in a way AI Crawl Control cannot parse, a warning banner appears on the &lt;strong&gt;Crawlers&lt;/strong&gt; page with a link to view the rule directly in WAF.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/manage-ai-crawlers/#waf-rule-management&quot;&gt;WAF rule management&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Stream logs from multiple replicas of Cloudflare Tunnel simultaneously</title><link>https://docs.ahq.lat/changelog/post/2026-03-20-tunnel-replica-overview-and-multi-log-streaming/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-20-tunnel-replica-overview-and-multi-log-streaming/</guid><description>&lt;p&gt;In the Cloudflare One dashboard, the overview page for a specific Cloudflare Tunnel now shows all &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/configure-tunnels/tunnel-availability/&quot;&gt;replicas&lt;/a&gt; of that tunnel and supports streaming logs from multiple replicas at once.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/tunnel-multiconn.DEOEaLlu_ZDxArh.webp&quot; alt=&quot;View replicas and stream logs from multiple connectors&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Previously, you could only stream logs from one replica at a time. With this update:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Replicas on the tunnel overview&lt;/strong&gt; — All active replicas for the selected tunnel now appear on that tunnel&apos;s overview page under &lt;strong&gt;Connectors&lt;/strong&gt;. Select any replica to stream its logs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-connector log streaming&lt;/strong&gt; — Stream logs from multiple replicas simultaneously, making it easier to correlate events across your infrastructure during debugging or incident response. To try it out, log in to &lt;a href=&quot;https://one.dash.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;Cloudflare One&lt;/a&gt; and go to &lt;strong&gt;Networks&lt;/strong&gt; &gt; &lt;strong&gt;Connectors&lt;/strong&gt; &gt; &lt;strong&gt;Cloudflare Tunnels&lt;/strong&gt;. Select &lt;strong&gt;View logs&lt;/strong&gt; next to the tunnel you want to monitor.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/monitor-tunnels/logs/&quot;&gt;Tunnel log streams&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/configure-tunnels/tunnel-availability/deploy-replicas/&quot;&gt;Deploy replicas&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Cloudflare Fundamentals - Service Key authentication deprecated</title><link>https://docs.ahq.lat/changelog/post/2026-03-19-service-key-authentication-deprecated/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-19-service-key-authentication-deprecated/</guid><description>&lt;p&gt;Service Key authentication for the Cloudflare API is deprecated. Service Keys will stop working on September 30, 2026.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/api/get-started/create-token/&quot;&gt;API Tokens&lt;/a&gt; replace Service Keys with fine-grained permissions, expiration, and revocation.&lt;/p&gt;
&lt;h4&gt;What you need to do&lt;/h4&gt;
&lt;p&gt;Replace any use of the &lt;code&gt;X-Auth-User-Service-Key&lt;/code&gt; header with an &lt;a href=&quot;https://docs.ahq.lat/fundamentals/api/get-started/create-token/&quot;&gt;API Token&lt;/a&gt; scoped to the permissions your integration requires.&lt;/p&gt;
&lt;p&gt;If you use &lt;code&gt;cloudflared&lt;/code&gt;, update to a version from November 2022 or later. These versions already use API Tokens.&lt;/p&gt;
&lt;p&gt;If you use &lt;a href=&quot;https://github.com/cloudflare/origin-ca-issuer&quot; target=&quot;_blank&quot;&gt;origin-ca-issuer&lt;/a&gt;, update to a version that supports API Token authentication.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/fundamentals/api/reference/deprecations/&quot;&gt;API deprecations&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Tunnel, Workers - Manage Cloudflare Tunnels with Wrangler</title><link>https://docs.ahq.lat/changelog/post/2026-03-19-wrangler-tunnel-commands/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-19-wrangler-tunnel-commands/</guid><description>&lt;p&gt;You can now manage &lt;a href=&quot;https://docs.ahq.lat/tunnel/&quot;&gt;Cloudflare Tunnels&lt;/a&gt; directly from &lt;a href=&quot;https://docs.ahq.lat/workers/wrangler/&quot;&gt;Wrangler&lt;/a&gt;, the CLI for the Cloudflare Developer Platform. The new &lt;a href=&quot;https://docs.ahq.lat/workers/wrangler/commands/tunnel/&quot;&gt;&lt;code&gt;wrangler tunnel&lt;/code&gt;&lt;/a&gt; commands let you create, run, and manage tunnels without leaving your terminal.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/wrangler-tunnel.DOqrtGGg_7EDX0.webp&quot; alt=&quot;Wrangler tunnel commands demo&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Available commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wrangler tunnel create&lt;/code&gt; — Create a new remotely managed tunnel.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler tunnel list&lt;/code&gt; — List all tunnels in your account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler tunnel info&lt;/code&gt; — Display details about a specific tunnel.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler tunnel delete&lt;/code&gt; — Delete a tunnel.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler tunnel run&lt;/code&gt; — Run a tunnel using the cloudflared daemon.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wrangler tunnel quick-start&lt;/code&gt; — Start a free, temporary tunnel without an account using &lt;a href=&quot;https://docs.ahq.lat/tunnel/setup/#quick-tunnels-development&quot;&gt;Quick Tunnels&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wrangler handles downloading and managing the &lt;a href=&quot;https://docs.ahq.lat/tunnel/downloads/&quot;&gt;cloudflared&lt;/a&gt; binary automatically. On first use, you will be prompted to download &lt;code&gt;cloudflared&lt;/code&gt; to a local cache directory.&lt;/p&gt;
&lt;p&gt;These commands are currently experimental and may change without notice.&lt;/p&gt;
&lt;p&gt;To get started, refer to the &lt;a href=&quot;https://docs.ahq.lat/workers/wrangler/commands/tunnel/&quot;&gt;Wrangler tunnel commands documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Workers</category></item><item><title>Cloudflare Fundamentals - SCIM provisioning for Authentik is now Generally Available</title><link>https://docs.ahq.lat/changelog/post/2026-03-17-scim-authentik-support/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-17-scim-authentik-support/</guid><description>&lt;p&gt;Cloudflare dashboard SCIM provisioning now supports &lt;a href=&quot;https://goauthentik.io/&quot; target=&quot;_blank&quot;&gt;Authentik&lt;/a&gt; as an identity provider, joining Okta and Microsoft Entra ID as explicitly supported providers.&lt;/p&gt;
&lt;p&gt;Customers can now sync users and group information from Authentik to Cloudflare, apply Permission Policies to those groups, and manage the lifecycle of users &amp;#x26; groups directly from your Authentik Identity Provider.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;SCIM provisioning for the Cloudflare dashboard is available to Enterprise customers. You must be a Super Administrator to complete the initial setup.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/scim-setup/&quot;&gt;SCIM provisioning overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/scim-setup/authentik/&quot;&gt;Provision with Authentik&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - SCIM audit logging Support</title><link>https://docs.ahq.lat/changelog/post/2026-03-18-scim-audit-logging/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-18-scim-audit-logging/</guid><description>&lt;p&gt;Cloudflare dashboard SCIM provisioning operations are now captured in &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/audit-logs/&quot;&gt;Audit Logs v2&lt;/a&gt;, giving you visibility into user and group changes made by your identity provider.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2026-03-18-scim-audit-logging.DPKMiE8X_ZojL4c.webp&quot; alt=&quot;SCIM audit logging&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Logged actions:&lt;/strong&gt;&lt;/p&gt;





































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Action Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Create SCIM User&lt;/td&gt;&lt;td&gt;User provisioned from IdP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Replace SCIM User&lt;/td&gt;&lt;td&gt;User fully replaced (PUT)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Update SCIM User&lt;/td&gt;&lt;td&gt;User attributes modified (PATCH)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Delete SCIM User&lt;/td&gt;&lt;td&gt;Member deprovisioned&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Create SCIM Group&lt;/td&gt;&lt;td&gt;Group provisioned from IdP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Update SCIM Group&lt;/td&gt;&lt;td&gt;Group membership or attributes modified&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Delete SCIM Group&lt;/td&gt;&lt;td&gt;Group deprovisioned&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;For more details, refer to the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/audit-logs/&quot;&gt;Audit Logs v2 documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Rules - Worker execution timing field now available in Rules</title><link>https://docs.ahq.lat/changelog/post/2026-03-18-worker-timing-field/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-18-worker-timing-field/</guid><description>&lt;p&gt;The &lt;code&gt;cf.timings.worker_msec&lt;/code&gt; field is now available in the Ruleset Engine. This field reports the wall-clock time that a Cloudflare Worker spent handling a request, measured in milliseconds.&lt;/p&gt;
&lt;p&gt;You can use this field to identify slow Worker executions, detect performance regressions, or build rules that respond differently based on Worker processing time, such as logging requests that exceed a latency threshold.&lt;/p&gt;
&lt;h4&gt;Field details&lt;/h4&gt;















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.timings.worker_msec&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Integer&lt;/td&gt;&lt;td&gt;The time spent executing a Cloudflare Worker in milliseconds. Returns &lt;code&gt;0&lt;/code&gt; if no Worker was invoked.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Example filter expression:&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;cf.timings.worker_msec &gt; 500&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, refer to the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/cf.timings.worker_msec/&quot;&gt;Fields reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals - Retry-After HTTP header for retryable 1xxx errors</title><link>https://docs.ahq.lat/changelog/post/2026-03-12-retry-after-header-for-1xxx-errors/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-12-retry-after-header-for-1xxx-errors/</guid><description>&lt;p&gt;Cloudflare-generated 1xxx error responses now include a standard &lt;code&gt;Retry-After&lt;/code&gt; HTTP header when the error is retryable. Agents and HTTP clients can read the recommended wait time from response headers alone — no body parsing required.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;p&gt;Seven retryable error codes now emit &lt;code&gt;Retry-After&lt;/code&gt;:&lt;/p&gt;













































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Error code&lt;/th&gt;&lt;th&gt;Retry-After (seconds)&lt;/th&gt;&lt;th&gt;Error name&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;1004&lt;/td&gt;&lt;td&gt;120&lt;/td&gt;&lt;td&gt;DNS resolution error&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1005&lt;/td&gt;&lt;td&gt;120&lt;/td&gt;&lt;td&gt;Banned zone&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1015&lt;/td&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;Rate limited&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1033&lt;/td&gt;&lt;td&gt;120&lt;/td&gt;&lt;td&gt;Argo Tunnel error&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1038&lt;/td&gt;&lt;td&gt;60&lt;/td&gt;&lt;td&gt;HTTP headers limit exceeded&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1200&lt;/td&gt;&lt;td&gt;60&lt;/td&gt;&lt;td&gt;Cache connection limit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1205&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Too many redirects&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;The header value matches the existing &lt;code&gt;retry_after&lt;/code&gt; body field in JSON and Markdown responses.&lt;/p&gt;
&lt;p&gt;If a WAF rate limiting rule has already set a dynamic &lt;code&gt;Retry-After&lt;/code&gt; value on the response, that value takes precedence.&lt;/p&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;Available for all zones on all plans.&lt;/p&gt;
&lt;h4&gt;Verify&lt;/h4&gt;
&lt;p&gt;Check for the header on any retryable error:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--compressed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-D&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-A&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;TestAgent/1.0&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept-Encoding: gzip, deflate&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;YOUR_DOMAIN&gt;/cdn-cgi/error/1015&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;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-i&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;retry-after&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;References:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9110#section-10.2.3&quot; target=&quot;_blank&quot;&gt;RFC 9110 section 10.2.3 - Retry-After&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/support/troubleshooting/http-status-codes/cloudflare-1xxx-errors/&quot;&gt;Cloudflare 1xxx error documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - JSON responses and RFC 9457 support for Cloudflare 1xxx errors</title><link>https://docs.ahq.lat/changelog/post/2026-03-11-json-rfc9457-responses-for-1xxx-errors/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-11-json-rfc9457-responses-for-1xxx-errors/</guid><description>&lt;p&gt;Cloudflare-generated 1xxx errors now return structured JSON when clients send &lt;code&gt;Accept: application/json&lt;/code&gt; or &lt;code&gt;Accept: application/problem+json&lt;/code&gt;. JSON responses follow &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9457&quot; target=&quot;_blank&quot;&gt;RFC 9457 (Problem Details for HTTP APIs)&lt;/a&gt;, so any HTTP client that understands Problem Details can parse the base members without Cloudflare-specific code.&lt;/p&gt;
&lt;h4&gt;Breaking change&lt;/h4&gt;
&lt;p&gt;The Markdown frontmatter field &lt;code&gt;http_status&lt;/code&gt; has been renamed to &lt;code&gt;status&lt;/code&gt;. Agents consuming Markdown frontmatter should update parsers accordingly.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;JSON format.&lt;/strong&gt; Clients sending &lt;code&gt;Accept: application/json&lt;/code&gt; or &lt;code&gt;Accept: application/problem+json&lt;/code&gt; now receive a structured JSON object with the same operational fields as Markdown frontmatter, plus RFC 9457 standard members.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RFC 9457 standard members (JSON only):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt; — URI pointing to Cloudflare documentation for the specific error code&lt;/li&gt;
&lt;li&gt;&lt;code&gt;status&lt;/code&gt; — HTTP status code (matching the response status)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;title&lt;/code&gt; — short, human-readable summary&lt;/li&gt;
&lt;li&gt;&lt;code&gt;detail&lt;/code&gt; — human-readable explanation specific to this occurrence&lt;/li&gt;
&lt;li&gt;&lt;code&gt;instance&lt;/code&gt; — Ray ID identifying this specific error occurrence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Field renames:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;http_status&lt;/code&gt; -&gt; &lt;code&gt;status&lt;/code&gt; (JSON and Markdown)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;what_happened&lt;/code&gt; -&gt; &lt;code&gt;detail&lt;/code&gt; (JSON only — Markdown prose sections are unchanged)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Content-Type mirroring.&lt;/strong&gt; Clients sending &lt;code&gt;Accept: application/problem+json&lt;/code&gt; receive &lt;code&gt;Content-Type: application/problem+json; charset=utf-8&lt;/code&gt; back; &lt;code&gt;Accept: application/json&lt;/code&gt; receives &lt;code&gt;application/json; charset=utf-8&lt;/code&gt;. Same body in both cases.&lt;/p&gt;
&lt;h4&gt;Negotiation behavior&lt;/h4&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Request header sent&lt;/th&gt;&lt;th&gt;Response format&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: application/json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;JSON (&lt;code&gt;application/json&lt;/code&gt; content type)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: application/problem+json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;JSON (&lt;code&gt;application/problem+json&lt;/code&gt; content type)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: application/json, text/markdown;q=0.9&lt;/code&gt;&lt;/td&gt;&lt;td&gt;JSON&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: text/markdown&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Markdown&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: text/markdown, application/json&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Markdown (equal &lt;code&gt;q&lt;/code&gt;, first-listed wins)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Accept: */*&lt;/code&gt;&lt;/td&gt;&lt;td&gt;HTML (default)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;Available now for Cloudflare-generated 1xxx errors.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--compressed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-A&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;TestAgent/1.0&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept-Encoding: gzip, deflate&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;YOUR_DOMAIN&gt;/cdn-cgi/error/1015&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;jq&lt;/span&gt;&lt;span&gt; &lt;/span&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;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--compressed&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: application/problem+json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-A&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;TestAgent/1.0&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept-Encoding: gzip, deflate&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&amp;#x3C;YOUR_DOMAIN&gt;/cdn-cgi/error/1015&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;jq&lt;/span&gt;&lt;span&gt; &lt;/span&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;References:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9457&quot; target=&quot;_blank&quot;&gt;RFC 9457 — Problem Details for HTTP APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/support/troubleshooting/http-status-codes/cloudflare-1xxx-errors/&quot;&gt;Cloudflare 1xxx error documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Log Explorer - Ingest field selection for Log Explorer</title><link>https://docs.ahq.lat/changelog/post/2026-03-11-ingest-field-selection/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-11-ingest-field-selection/</guid><description>&lt;p&gt;Cloudflare Log Explorer now allows you to customize exactly which data fields are ingested and stored when enabling or managing log datasets.&lt;/p&gt;
&lt;p&gt;Previously, ingesting logs often meant taking an &quot;all or nothing&quot; approach to data fields. With &lt;strong&gt;Ingest Field Selection&lt;/strong&gt;, you can now choose from a list of available and recommended fields for each dataset. This allows you to reduce noise, focus on the metrics that matter most to your security and performance analysis, and manage your data footprint more effectively.&lt;/p&gt;
&lt;h4&gt;Key capabilities&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Granular control:&lt;/strong&gt; Select only the specific fields you need when enabling a new dataset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dynamic updates:&lt;/strong&gt; Update fields for existing, already enabled logstreams at any time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Historical consistency:&lt;/strong&gt; Even if you disable a field later, you can still query and receive results for that field for the period it was captured.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data integrity:&lt;/strong&gt; Core fields, such as &lt;code&gt;Timestamp&lt;/code&gt;, are automatically retained to ensure your logs remain searchable and chronologically accurate.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Example configuration&lt;/h4&gt;
&lt;p&gt;When configuring a dataset via the dashboard or API, you can define a specific set of fields. The &lt;code&gt;Timestamp&lt;/code&gt; field remains mandatory to ensure data indexability.&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;dataset&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;firewall_events&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;enabled&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;fields&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;Timestamp&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;ClientRequestHost&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;ClientIP&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;Action&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;EdgeResponseStatus&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;OriginResponseStatus&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;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Audit Logs - Audit logs (version 2) - General Availability</title><link>https://docs.ahq.lat/changelog/post/2026-03-10-audit-logs-v2-ga/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-10-audit-logs-v2-ga/</guid><description>&lt;p&gt;Audit Logs v2 is now generally available to all Cloudflare customers.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/auditlogsv2.C3pqAR33_1qYU5j.webp&quot; alt=&quot;Audit Logs v2 GA&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Audit Logs v2 provides a unified and standardized system for tracking and recording all user and system actions across Cloudflare products. Built on Cloudflare&apos;s API Shield / OpenAPI gateway, logs are generated automatically without requiring manual instrumentation from individual product teams, ensuring consistency across ~95% of Cloudflare products.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&apos;s available at GA:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Standardized logging&lt;/strong&gt; — Audit logs follow a consistent format across all Cloudflare products, making it easier to search, filter, and investigate activity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expanded product coverage&lt;/strong&gt; — ~95% of Cloudflare products covered, up from ~75% in v1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Granular filtering&lt;/strong&gt; — Filter by actor, action type, action result, resource, raw HTTP method, zone, and more. Over 20 filter parameters available via the API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhanced context&lt;/strong&gt; — Each log entry includes authentication method, interface (API or dashboard), Cloudflare Ray ID, and actor token details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18-month retention&lt;/strong&gt; — Logs are retained for 18 months. Full history is accessible via the API or Logpush.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Access:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dashboard&lt;/strong&gt;: Go to &lt;strong&gt;Manage Account&lt;/strong&gt; &gt; &lt;strong&gt;Audit Logs&lt;/strong&gt;. Audit Logs v2 is shown by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API&lt;/strong&gt;: &lt;code&gt;GET https://api.cloudflare.com/client/v4/accounts/{account_id}/logs/audit&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logpush&lt;/strong&gt;: Available via the &lt;code&gt;audit_logs_v2&lt;/code&gt; account-scoped dataset.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Important notes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Approximately 30 days of logs from the Beta period (back to ~February 8, 2026) are available at GA. These Beta logs will expire on ~April 9, 2026. Logs generated after GA will be retained for the full 18 months. Older logs remain available in Audit Logs v1.&lt;/li&gt;
&lt;li&gt;The UI query window is limited to 90 days for performance reasons. Use the API or Logpush for access to the full 18-month history.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GET&lt;/code&gt; requests (view actions) and &lt;code&gt;4xx&lt;/code&gt; error responses are not logged at GA. &lt;code&gt;GET&lt;/code&gt; logging will be selectively re-enabled for sensitive read operations in a future release.&lt;/li&gt;
&lt;li&gt;Audit Logs v1 continues to run in parallel. A deprecation timeline will be communicated separately.&lt;/li&gt;
&lt;li&gt;Before and after values — the ability to see what a value changed from and to — is a highly requested feature and is on our roadmap for a post-GA release. In the meantime, we recommend using Audit Logs v1 for before and after values. Audit Logs v1 will continue to run in parallel until this feature is available in v2.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details, refer to the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/audit-logs/&quot;&gt;Audit Logs v2 documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate><product>Audit Logs</product><category>Audit Logs</category></item><item><title>Logs - New MCP Portal Logs dataset and new fields across multiple Logpush datasets in Cloudflare Logs</title><link>https://docs.ahq.lat/changelog/post/2026-03-09-log-fields-updated/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-03-09-log-fields-updated/</guid><description>&lt;p&gt;Cloudflare has added new fields across multiple &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;:&lt;/p&gt;
&lt;h4&gt;New dataset&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MCP Portal Logs&lt;/strong&gt;: A new dataset with fields including &lt;code&gt;ClientCountry&lt;/code&gt;, &lt;code&gt;ClientIP&lt;/code&gt;, &lt;code&gt;ColoCode&lt;/code&gt;, &lt;code&gt;Datetime&lt;/code&gt;, &lt;code&gt;Error&lt;/code&gt;, &lt;code&gt;Method&lt;/code&gt;, &lt;code&gt;PortalAUD&lt;/code&gt;, &lt;code&gt;PortalID&lt;/code&gt;, &lt;code&gt;PromptGetName&lt;/code&gt;, &lt;code&gt;ResourceReadURI&lt;/code&gt;, &lt;code&gt;ServerAUD&lt;/code&gt;, &lt;code&gt;ServerID&lt;/code&gt;, &lt;code&gt;ServerResponseDurationMs&lt;/code&gt;, &lt;code&gt;ServerURL&lt;/code&gt;, &lt;code&gt;SessionID&lt;/code&gt;, &lt;code&gt;Success&lt;/code&gt;, &lt;code&gt;ToolCallName&lt;/code&gt;, &lt;code&gt;UserEmail&lt;/code&gt;, and &lt;code&gt;UserID&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;New fields in existing datasets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DEX Application Tests&lt;/strong&gt;: &lt;code&gt;HTTPRedirectEndMs&lt;/code&gt;, &lt;code&gt;HTTPRedirectStartMs&lt;/code&gt;, &lt;code&gt;HTTPResponseBody&lt;/code&gt;, and &lt;code&gt;HTTPResponseHeaders&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DEX Device State Events&lt;/strong&gt;: &lt;code&gt;ExperimentalExtra&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firewall Events&lt;/strong&gt;: &lt;code&gt;FraudUserID&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway HTTP&lt;/strong&gt;: &lt;code&gt;AppControlInfo&lt;/code&gt; and &lt;code&gt;ApplicationStatuses&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway DNS&lt;/strong&gt;: &lt;code&gt;InternalDNSDurationMs&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP Requests&lt;/strong&gt;: &lt;code&gt;FraudEmailRisk&lt;/code&gt;, &lt;code&gt;FraudUserID&lt;/code&gt;, and &lt;code&gt;PayPerCrawlStatus&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network Analytics Logs&lt;/strong&gt;: &lt;code&gt;DNSQueryName&lt;/code&gt;, &lt;code&gt;DNSQueryType&lt;/code&gt;, and &lt;code&gt;PFPCustomTag&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WARP Toggle Changes&lt;/strong&gt;: &lt;code&gt;UserEmail&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WARP Config Changes&lt;/strong&gt;: &lt;code&gt;UserEmail&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zero Trust Network Session Logs&lt;/strong&gt;: &lt;code&gt;SNI&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the complete field definitions for each dataset, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/&quot;&gt;Logpush datasets&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Cloudflare Fundamentals - Markdown responses for Cloudflare 1xxx errors</title><link>https://docs.ahq.lat/changelog/post/2026-02-26-markdown-responses-for-1xxx-errors/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-26-markdown-responses-for-1xxx-errors/</guid><description>&lt;p&gt;Cloudflare now returns structured Markdown responses for Cloudflare-generated 1xxx errors when clients send &lt;code&gt;Accept: text/markdown&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Each response includes YAML frontmatter plus guidance sections (&lt;code&gt;What happened&lt;/code&gt; / &lt;code&gt;What you should do&lt;/code&gt;) so agents can make deterministic retry and escalation decisions without parsing HTML.&lt;/p&gt;
&lt;p&gt;In measured 1,015 comparisons, Markdown reduced payload size and token footprint by over 98% versus HTML.&lt;/p&gt;
&lt;p&gt;Included frontmatter fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;error_code&lt;/code&gt;, &lt;code&gt;error_name&lt;/code&gt;, &lt;code&gt;error_category&lt;/code&gt;, &lt;code&gt;http_status&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ray_id&lt;/code&gt;, &lt;code&gt;timestamp&lt;/code&gt;, &lt;code&gt;zone&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_error&lt;/code&gt;, &lt;code&gt;retryable&lt;/code&gt;, &lt;code&gt;retry_after&lt;/code&gt; (when applicable), &lt;code&gt;owner_action_required&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Default behavior is unchanged: clients that do not explicitly request Markdown continue to receive HTML error pages.&lt;/p&gt;
&lt;h4&gt;Negotiation behavior&lt;/h4&gt;
&lt;p&gt;Cloudflare uses standard HTTP content negotiation on the &lt;code&gt;Accept&lt;/code&gt; header.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Accept: text/markdown&lt;/code&gt; -&gt; Markdown&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accept: text/markdown, text/html;q=0.9&lt;/code&gt; -&gt; Markdown&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accept: text/*&lt;/code&gt; -&gt; Markdown&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Accept: */*&lt;/code&gt; -&gt; HTML (default browser behavior)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When multiple values are present, Cloudflare selects the highest-priority supported media type using &lt;code&gt;q&lt;/code&gt; values. If Markdown is not explicitly preferred, HTML is returned.&lt;/p&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;Available now for Cloudflare-generated 1xxx errors.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: text/markdown&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://&amp;#x3C;your-domain&gt;/cdn-cgi/error/1015&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;Reference: &lt;a href=&quot;https://docs.ahq.lat/support/troubleshooting/http-status-codes/cloudflare-1xxx-errors/&quot;&gt;Cloudflare 1xxx error documentation&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Manage Cloudflare Tunnel directly from the main Cloudflare Dashboard</title><link>https://docs.ahq.lat/changelog/post/2026-02-20-tunnel-core-dashboard/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-20-tunnel-core-dashboard/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; is now available in the main Cloudflare Dashboard at &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/tunnels&quot; target=&quot;_blank&quot;&gt;Networking &gt; Tunnels&lt;/a&gt;, bringing first-class Tunnel management to developers using Tunnel for securing origin servers.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/tunnel-core-dashboard.BGPqaHfo_Pi6HO.webp&quot; alt=&quot;Manage Tunnels in the Core Dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;This new experience provides everything you need to manage Tunnels for &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/routing-to-tunnel/&quot;&gt;public applications&lt;/a&gt;, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Full Tunnel lifecycle management&lt;/strong&gt;: Create, configure, delete, and monitor all your Tunnels in one place.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Native integrations&lt;/strong&gt;: View Tunnels by name when configuring &lt;a href=&quot;https://docs.ahq.lat/dns/manage-dns-records/how-to/create-dns-records/&quot;&gt;DNS records&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/workers-vpc/&quot;&gt;Workers VPC&lt;/a&gt; — no more copy-pasting UUIDs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-time visibility&lt;/strong&gt;: Monitor &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/configure-tunnels/tunnel-availability/&quot;&gt;replicas&lt;/a&gt; and Tunnel &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/common-errors/#tunnel-status&quot;&gt;health status&lt;/a&gt; directly in the dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routing map&lt;/strong&gt;: Manage all ingress routes for your Tunnel, including &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/routing-to-tunnel/&quot;&gt;public applications&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-private-hostname/&quot;&gt;private hostnames&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-cidr/&quot;&gt;private CIDRs&lt;/a&gt;, and &lt;a href=&quot;https://docs.ahq.lat/workers-vpc/&quot;&gt;Workers VPC services&lt;/a&gt;, from a single interactive interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Choose the right dashboard for your use case&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Core Dashboard&lt;/strong&gt;: Navigate to &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/tunnels&quot; target=&quot;_blank&quot;&gt;Networking &gt; Tunnels&lt;/a&gt; to manage Tunnels for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Securing origin servers and &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/routing-to-tunnel/&quot;&gt;public applications&lt;/a&gt; with CDN, WAF, Load Balancing, and DDoS protection&lt;/li&gt;
&lt;li&gt;Connecting &lt;a href=&quot;https://docs.ahq.lat/workers-vpc/&quot;&gt;Workers to private services&lt;/a&gt; via Workers VPC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cloudflare One Dashboard&lt;/strong&gt;: Navigate to &lt;a href=&quot;https://one.dash.cloudflare.com/?to=/:account/networks/connectors&quot; target=&quot;_blank&quot;&gt;Zero Trust &gt; Networks &gt; Connectors&lt;/a&gt; to manage Tunnels for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Securing your public applications with &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/applications/http-apps/self-hosted-public-app/&quot;&gt;Zero Trust access policies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Connecting users to &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/applications/non-http/self-hosted-private-app/&quot;&gt;private applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Building a &lt;a href=&quot;https://docs.ahq.lat/reference-architecture/architectures/sase/#connecting-networks&quot;&gt;private mesh network&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both dashboards provide complete Tunnel management capabilities — choose based on your primary workflow.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;New to Tunnel? Learn how to &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/get-started/create-remote-tunnel/&quot;&gt;get started with Cloudflare Tunnel&lt;/a&gt; or explore advanced use cases like &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/use-cases/ssh/&quot;&gt;securing SSH servers&lt;/a&gt; or &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/deployment-guides/kubernetes/&quot;&gt;running Tunnels in Kubernetes&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Analytics - New cfWorker metric in Server-Timing header</title><link>https://docs.ahq.lat/changelog/post/2026-02-18-cfworker-server-timing/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-18-cfworker-server-timing/</guid><description>&lt;p&gt;The Server-Timing header now includes a new &lt;code&gt;cfWorker&lt;/code&gt; metric that measures time spent executing Cloudflare Workers, including any subrequests performed by the Worker. This helps developers accurately identify whether high Time to First Byte (TTFB) is caused by Worker processing or slow upstream dependencies.&lt;/p&gt;
&lt;p&gt;Previously, Worker execution time was included in the &lt;code&gt;edge&lt;/code&gt; metric, making it harder to identify true edge performance. The new &lt;code&gt;cfWorker&lt;/code&gt; metric provides this visibility:&lt;/p&gt;





















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Metric&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;edge&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Total time spent on the Cloudflare edge, including Worker execution&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;origin&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Time spent fetching from the origin server&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cfWorker&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Time spent in Worker execution, including subrequests but excluding origin fetch time&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Example response&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;Server-Timing: cdn-cache; desc=DYNAMIC, edge; dur=20, origin; dur=100, cfWorker; dur=7&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;In this example, the edge took 20ms, the origin took 100ms, and the Worker added just 7ms of processing time.&lt;/p&gt;
&lt;h4&gt;Availability&lt;/h4&gt;
&lt;p&gt;The &lt;code&gt;cfWorker&lt;/code&gt; metric is enabled by default if you have &lt;a href=&quot;https://docs.ahq.lat/web-analytics/&quot;&gt;Real User Monitoring (RUM)&lt;/a&gt; enabled. Otherwise, you can enable it using &lt;a href=&quot;https://docs.ahq.lat/rules/&quot;&gt;Rules&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This metric is particularly useful for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Performance debugging&lt;/strong&gt;: Quickly determine if latency is caused by Worker code, external API calls within Workers, or slow origins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimization targeting&lt;/strong&gt;: Identify which component of your request path needs optimization.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real User Monitoring (RUM)&lt;/strong&gt;: Access detailed timing breakdowns directly from response headers for client-side analytics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information about Server-Timing headers, refer to the &lt;a href=&quot;https://www.w3.org/TR/server-timing/&quot; target=&quot;_blank&quot;&gt;W3C Server Timing specification&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate><product>Analytics</product><category>Analytics</category></item><item><title>Cloudflare Fundamentals - Content encoding support for Markdown for Agents and other improvements</title><link>https://docs.ahq.lat/changelog/post/2026-02-16-markdown-for-agents-improvements/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-16-markdown-for-agents-improvements/</guid><description>&lt;p&gt;When AI systems request pages from any website that uses Cloudflare and has &lt;a href=&quot;https://docs.ahq.lat/fundamentals/reference/markdown-for-agents/&quot;&gt;Markdown for Agents&lt;/a&gt; enabled, they can express the preference for &lt;code&gt;text/markdown&lt;/code&gt; in the request: our network will automatically and efficiently convert the HTML to markdown, when possible, on the fly.&lt;/p&gt;
&lt;p&gt;This release adds the following improvements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The origin response limit was raised from 1 MB to 2 MB (2,097,152 bytes).&lt;/li&gt;
&lt;li&gt;We no longer require the origin to send the &lt;code&gt;content-length&lt;/code&gt; header.&lt;/li&gt;
&lt;li&gt;We now support content encoded responses from the origin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you haven’t enabled automatic Markdown conversion yet, visit the &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/:zone/ai&quot; target=&quot;_blank&quot;&gt;AI Crawl Control&lt;/a&gt; section of the Cloudflare dashboard and enable &lt;strong&gt;Markdown for Agents&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Refer to our &lt;a href=&quot;https://docs.ahq.lat/fundamentals/reference/markdown-for-agents/&quot;&gt;developer documentation&lt;/a&gt; for more details.&lt;/p&gt;</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals, Access - Fine-grained permissions for Access policies and service tokens</title><link>https://docs.ahq.lat/changelog/post/2026-02-13-access-policy-service-token-permissions/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-13-access-policy-service-token-permissions/</guid><description>&lt;p&gt;Fine-grained permissions for &lt;strong&gt;Access policies&lt;/strong&gt; and &lt;strong&gt;Access service tokens&lt;/strong&gt; are available. These new resource-scoped roles expand the existing RBAC model, enabling administrators to grant permissions scoped to individual resources.&lt;/p&gt;
&lt;h4&gt;New roles&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare Access policy admin&lt;/strong&gt;: Can edit a specific &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/policies/&quot;&gt;Access policy&lt;/a&gt; in an account.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare Access service token admin&lt;/strong&gt;: Can edit a specific &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/service-credentials/service-tokens/&quot;&gt;Access service token&lt;/a&gt; in an account.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These roles complement the existing resource-scoped roles for Access applications, identity providers, and infrastructure targets.&lt;/p&gt;
&lt;p&gt;For more information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/roles/#resource-scoped-roles&quot;&gt;Resource-scoped roles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/scope/&quot;&gt;Role scopes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;Resource-scoped roles is currently in beta.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;</description><pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Access</category></item><item><title>Cloudflare Fundamentals, SDK - Cloudflare Python SDK v5.0.0-beta.1 now available</title><link>https://docs.ahq.lat/changelog/post/2026-02-13-cloudflare-python-v500-beta1/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-13-cloudflare-python-v500-beta1/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; Please note that v5.0.0-beta.1 is in Beta and we are still testing it for stability.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Full Changelog: &lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/compare/v4.3.1...v5.0.0-beta.1&quot; target=&quot;_blank&quot;&gt;v4.3.1...v5.0.0-beta.1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this release, you&apos;ll see a large number of breaking changes. This is primarily due to a change in OpenAPI definitions,
which our libraries are based off of, and codegen updates that we rely on to read those OpenAPI definitions and produce
our SDK libraries. As the codegen is always evolving and improving, so are our code bases.&lt;/p&gt;
&lt;p&gt;There may be changes that are not captured in this changelog. Feel free to open an issue to report any inaccuracies, and we will make sure it gets into the changelog before the v5.0.0 release.&lt;/p&gt;
&lt;p&gt;Most of the breaking changes below are caused by improvements to the accuracy of the base OpenAPI schemas, which
sometimes translates to breaking changes in downstream clients that depend on those schemas.&lt;/p&gt;
&lt;p&gt;Please ensure you read through the list of changes below and the migration guide before moving to this version - this
will help you understand any down or upstream issues it may cause to your environments.&lt;/p&gt;
&lt;h4&gt;Breaking Changes&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;The following resources have breaking changes. See the &lt;a href=&quot;https://github.com/cloudflare/cloudflare-python/blob/main/docs/v5-migration-guide.md&quot; target=&quot;_blank&quot;&gt;v5 Migration Guide&lt;/a&gt; for detailed migration instructions.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;abusereports&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;acm.totaltls&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apigateway.configurations&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudforceone.threatevents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;d1.database&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;intel.indicatorfeeds&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;logpush.edge&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;origintlsclientauth.hostnames&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;queues.consumers&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;radar.bgp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rulesets.rules&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;schemavalidation.schemas&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;snippets&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zerotrust.dlp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zerotrust.networks&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;h4&gt;New API Resources&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;abusereports&lt;/code&gt; - Abuse report management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;abusereports.mitigations&lt;/code&gt; - Abuse report mitigation actions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ai.tomarkdown&lt;/code&gt; - AI-powered markdown conversion&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aigateway.dynamicrouting&lt;/code&gt; - AI Gateway dynamic routing configuration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aigateway.providerconfigs&lt;/code&gt; - AI Gateway provider configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aisearch&lt;/code&gt; - AI-powered search functionality&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aisearch.instances&lt;/code&gt; - AI Search instance management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;aisearch.tokens&lt;/code&gt; - AI Search authentication tokens&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alerting.silences&lt;/code&gt; - Alert silence management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;brandprotection.logomatches&lt;/code&gt; - Brand protection logo match detection&lt;/li&gt;
&lt;li&gt;&lt;code&gt;brandprotection.logos&lt;/code&gt; - Brand protection logo management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;brandprotection.matches&lt;/code&gt; - Brand protection match results&lt;/li&gt;
&lt;li&gt;&lt;code&gt;brandprotection.queries&lt;/code&gt; - Brand protection query management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudforceone.binarystorage&lt;/code&gt; - CloudForce One binary storage&lt;/li&gt;
&lt;li&gt;&lt;code&gt;connectivity.directory&lt;/code&gt; - Connectivity directory services&lt;/li&gt;
&lt;li&gt;&lt;code&gt;d1.database&lt;/code&gt; - D1 database management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;diagnostics.endpointhealthchecks&lt;/code&gt; - Endpoint health check diagnostics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fraud&lt;/code&gt; - Fraud detection and prevention&lt;/li&gt;
&lt;li&gt;&lt;code&gt;iam.sso&lt;/code&gt; - IAM Single Sign-On configuration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;loadbalancers.monitorgroups&lt;/code&gt; - Load balancer monitor groups&lt;/li&gt;
&lt;li&gt;&lt;code&gt;organizations&lt;/code&gt; - Organization management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;organizations.organizationprofile&lt;/code&gt; - Organization profile settings&lt;/li&gt;
&lt;li&gt;&lt;code&gt;origintlsclientauth.hostnamecertificates&lt;/code&gt; - Origin TLS client auth hostname certificates&lt;/li&gt;
&lt;li&gt;&lt;code&gt;origintlsclientauth.hostnames&lt;/code&gt; - Origin TLS client auth hostnames&lt;/li&gt;
&lt;li&gt;&lt;code&gt;origintlsclientauth.zonecertificates&lt;/code&gt; - Origin TLS client auth zone certificates&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pipelines&lt;/code&gt; - Data pipeline management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pipelines.sinks&lt;/code&gt; - Pipeline sink configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pipelines.streams&lt;/code&gt; - Pipeline stream configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;queues.subscriptions&lt;/code&gt; - Queue subscription management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;r2datacatalog&lt;/code&gt; - R2 Data Catalog integration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;r2datacatalog.credentials&lt;/code&gt; - R2 Data Catalog credentials&lt;/li&gt;
&lt;li&gt;&lt;code&gt;r2datacatalog.maintenanceconfigs&lt;/code&gt; - R2 Data Catalog maintenance configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;r2datacatalog.namespaces&lt;/code&gt; - R2 Data Catalog namespaces&lt;/li&gt;
&lt;li&gt;&lt;code&gt;radar.bots&lt;/code&gt; - Radar bot analytics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;radar.ct&lt;/code&gt; - Radar certificate transparency data&lt;/li&gt;
&lt;li&gt;&lt;code&gt;radar.geolocations&lt;/code&gt; - Radar geolocation data&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.activesession&lt;/code&gt; - Real-time Kit active session management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.analytics&lt;/code&gt; - Real-time Kit analytics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.apps&lt;/code&gt; - Real-time Kit application management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.livestreams&lt;/code&gt; - Real-time Kit live streaming&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.meetings&lt;/code&gt; - Real-time Kit meeting management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.presets&lt;/code&gt; - Real-time Kit preset configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.recordings&lt;/code&gt; - Real-time Kit recording management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.sessions&lt;/code&gt; - Real-time Kit session management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;realtimekit.webhooks&lt;/code&gt; - Real-time Kit webhook configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tokenvalidation.configuration&lt;/code&gt; - Token validation configuration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tokenvalidation.rules&lt;/code&gt; - Token validation rules&lt;/li&gt;
&lt;li&gt;&lt;code&gt;workers.beta&lt;/code&gt; - Workers beta features&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;New Endpoints (Existing Resources)&lt;/h4&gt;
&lt;h4&gt;&lt;code&gt;acm.totaltls&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;edit()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;cloudforceone.threatevents&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;list()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;contentscanning&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;create()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;get()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;dns.records&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;scan_list()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scan_review()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scan_trigger()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;intel.indicatorfeeds&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;create()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;delete()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;list()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;leakedcredentialchecks.detections&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;get()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;queues.consumers&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;list()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;radar.ai&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;summary()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;timeseries()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;timeseries_groups()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;radar.bgp&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;changes()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;snapshot()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;workers.subdomains&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;delete()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;code&gt;zerotrust.networks&lt;/code&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;create()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;delete()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;edit()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;get()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;list()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;General Fixes and Improvements&lt;/h4&gt;
&lt;h4&gt;Type System &amp;#x26; Compatibility&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type inference improvements&lt;/strong&gt;: Allow Pyright to properly infer TypedDict types within SequenceNotStr&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Type completeness&lt;/strong&gt;: Add missing types to method arguments and response models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pydantic compatibility&lt;/strong&gt;: Ensure compatibility with Pydantic versions prior to 2.8.0 when using additional fields&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Request/Response Handling&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multipart form data&lt;/strong&gt;: Correctly handle sending multipart/form-data requests with JSON data&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Header handling&lt;/strong&gt;: Do not send headers with default values set to omit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GET request headers&lt;/strong&gt;: Don&apos;t send Content-Type header on GET requests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Response body model accuracy&lt;/strong&gt;: Broad improvements to the correctness of models&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Parsing &amp;#x26; Data Processing&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Discriminated unions&lt;/strong&gt;: Correctly handle nested discriminated unions in response parsing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extra field types&lt;/strong&gt;: Parse extra field types correctly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Empty metadata&lt;/strong&gt;: Ignore empty metadata fields during parsing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Singularization rules&lt;/strong&gt;: Update resource name singularization rules for better consistency&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>SDK</category></item><item><title>Cloudflare Fundamentals - Introducing Markdown for Agents</title><link>https://docs.ahq.lat/changelog/post/2026-02-12-markdown-for-agents/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-12-markdown-for-agents/</guid><description>&lt;p&gt;Cloudflare&apos;s network now supports real-time content conversion at the source, for enabled zones using &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Content_negotiation&quot; target=&quot;_blank&quot;&gt;content negotiation&lt;/a&gt; headers. When AI systems request pages from any website that uses Cloudflare and has Markdown for Agents enabled, they can express the preference for &lt;code&gt;text/markdown&lt;/code&gt; in the request: our network will automatically and efficiently convert the HTML to markdown, when possible, on the fly.&lt;/p&gt;
&lt;p&gt;Here is a curl example with the &lt;code&gt;Accept&lt;/code&gt; negotiation header requesting this page from our developer documentation:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://docs.ahq.lat/fundamentals/reference/markdown-for-agents/&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;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Accept: text/markdown&quot;&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 response to this request is now formatted in markdown:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;http&quot;&gt;&lt;code class=&quot;language-http&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;HTTP/2 &lt;/span&gt;&lt;span&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;date&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Wed, 11 Feb 2026 11:44:48 GMT&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;content-type&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;text/markdown; charset=utf-8&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;content-length&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2899&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;vary&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;accept&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;x-markdown-tokens&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;725&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;content-signal&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ai-train=yes, search=yes, ai-input=yes&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;span&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Markdown for Agents · Cloudflare Agents docs&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;span&gt;## What is Markdown for Agents&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;span&gt;Markdown has quickly become the lingua franca for agents and AI systems&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;as a whole. The format’s explicit structure makes it ideal for AI processing,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;ultimately resulting in better results while minimizing token waste.&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;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Refer to our &lt;a href=&quot;https://docs.ahq.lat/fundamentals/reference/markdown-for-agents/&quot;&gt;developer documentation&lt;/a&gt; and our &lt;a href=&quot;https://blog.cloudflare.com/markdown-for-agents/&quot; target=&quot;_blank&quot;&gt;blog announcement&lt;/a&gt; for more details.&lt;/p&gt;</description><pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.17.0 now available</title><link>https://docs.ahq.lat/changelog/post/2026-02-12-terraform-v5170-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-12-terraform-v5170-provider/</guid><description>&lt;p&gt;In January 2025, we announced the launch of the new Terraform v5 Provider. We
greatly appreciate the proactive engagement and valuable feedback from the
Cloudflare community following the v5 release. In response, we have established
a consistent and rapid &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5774&quot; target=&quot;_blank&quot;&gt;2-3 week cadence&lt;/a&gt; for releasing targeted improvements,
demonstrating our commitment to stability and reliability.&lt;/p&gt;
&lt;p&gt;With the help of the community, we have a growing number of resources that we
have marked as &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;stable&lt;/a&gt;, with that list continuing to grow with every release.
The most used &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;resources&lt;/a&gt; are on track to be stable by the end of March 2026,
when we will also be releasing a new migration tool to help you migrate from v4
to v5 with ease.&lt;/p&gt;
&lt;p&gt;This release brings new capabilities for AI Search, enhanced Workers Script
placement controls, and numerous bug fixes based on community feedback. We also
begun laying foundational work for improving the v4 to v5 migration process.
Stay tuned for more details as we approach the March 2026 release timeline.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. They make our provider stronger and
help us build products that reflect your needs.&lt;/p&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ai_search_instance:&lt;/strong&gt; add data source for querying AI Search instances&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ai_search_token:&lt;/strong&gt; add data source for querying AI Search tokens&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;account:&lt;/strong&gt; add support for tenant unit management with new &lt;code&gt;unit&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;account:&lt;/strong&gt; add automatic mapping from &lt;code&gt;managed_by.parent_org_id&lt;/code&gt; to &lt;code&gt;unit.id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls_certificate:&lt;/strong&gt; add data source for querying authenticated origin pull certificates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls_hostname_certificate:&lt;/strong&gt; add data source for querying hostname-specific authenticated origin pull certificates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls_settings:&lt;/strong&gt; add data source for querying authenticated origin pull settings&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_kv:&lt;/strong&gt; add &lt;code&gt;value&lt;/code&gt; field to data source to retrieve KV values directly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; add &lt;code&gt;script&lt;/code&gt; field to data source to retrieve script content&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; add support for &lt;code&gt;simple&lt;/code&gt; rate limit binding&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; add support for targeted placement mode with &lt;code&gt;placement.target&lt;/code&gt; array for specifying placement targets (region, hostname, host)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; add &lt;code&gt;placement_mode&lt;/code&gt; and &lt;code&gt;placement_status&lt;/code&gt; computed fields&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dex_test:&lt;/strong&gt; add data source with filter support for finding specific tests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_predefined_profile:&lt;/strong&gt; add &lt;code&gt;enabled_entries&lt;/code&gt; field for flexible entry management&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;account:&lt;/strong&gt; map &lt;code&gt;managed_by.parent_org_id&lt;/code&gt; to &lt;code&gt;unit.id&lt;/code&gt; in unmarshall and add acceptance tests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls_certificate:&lt;/strong&gt; add certificate normalization to prevent drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls:&lt;/strong&gt; handle array response and implement full lifecycle&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;authenticated_origin_pulls_hostname_certificate:&lt;/strong&gt; fix resource and tests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudforce_one_request_message:&lt;/strong&gt; use correct &lt;code&gt;request_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns_zone_transfers_incoming:&lt;/strong&gt; use correct &lt;code&gt;zone_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns_zone_transfers_outgoing:&lt;/strong&gt; use correct &lt;code&gt;zone_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;email_routing_settings:&lt;/strong&gt; use correct &lt;code&gt;zone_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperdrive_config:&lt;/strong&gt; add proper handling for write-only fields to prevent state drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperdrive_config:&lt;/strong&gt; add normalization for empty &lt;code&gt;mtls&lt;/code&gt; objects to prevent unnecessary diffs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_network_monitoring_rule:&lt;/strong&gt; use correct &lt;code&gt;account_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mtls_certificates:&lt;/strong&gt; fix resource and test&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pages_project:&lt;/strong&gt; revert build_config to computed optional&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;stream_key:&lt;/strong&gt; use correct &lt;code&gt;account_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;total_tls:&lt;/strong&gt; use upsert pattern for singleton zone setting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;waiting_room_rules:&lt;/strong&gt; use correct &lt;code&gt;waiting_room_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; add support for placement mode/status&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_access_application:&lt;/strong&gt; update v4 version on migration tests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_device_posture_rule:&lt;/strong&gt; update tests to match API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_integration_entry:&lt;/strong&gt; use correct &lt;code&gt;entry_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_predefined_entry:&lt;/strong&gt; use correct &lt;code&gt;entry_id&lt;/code&gt; field instead of &lt;code&gt;id&lt;/code&gt; in API calls&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_organization:&lt;/strong&gt; fix plan issues&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Chores&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;add state upgraders to 95+ resources to lay the foundation for replacing Grit
(still under active development)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;certificate_pack:&lt;/strong&gt; add state migration handler for SDKv2 to Framework conversion&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;custom_hostname_fallback_origin:&lt;/strong&gt; add comprehensive lifecycle test and migration support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns_record:&lt;/strong&gt; add state migration handler for SDKv2 to Framework conversion&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;leaked_credential_check:&lt;/strong&gt; add import functionality and tests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;load_balancer_pool:&lt;/strong&gt; add state migration handler with detection for v4 vs v5 format&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pages_project:&lt;/strong&gt; add state migration handlers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tiered_cache:&lt;/strong&gt; add state migration handlers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_predefined_profile:&lt;/strong&gt; deprecate &lt;code&gt;entries&lt;/code&gt; field in favor of &lt;code&gt;enabled_entries&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;List of stabilized resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>AI Crawl Control - Analytics enhancements</title><link>https://docs.ahq.lat/changelog/post/2026-02-09-analytics-enhancements/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-09-analytics-enhancements/</guid><description>&lt;p&gt;AI Crawl Control metrics have been enhanced with new views, improved filtering, and better data visualization.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-path-patterns.0xT_lucE_1Png6i.webp&quot; alt=&quot;AI Crawl Control path patterns&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Path pattern grouping&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;Metrics&lt;/strong&gt; tab &gt; &lt;strong&gt;Most popular paths&lt;/strong&gt; table, use the new &lt;strong&gt;Patterns&lt;/strong&gt; tab that groups requests by URI pattern (&lt;code&gt;/blog/*&lt;/code&gt;, &lt;code&gt;/api/v1/*&lt;/code&gt;, &lt;code&gt;/docs/*&lt;/code&gt;) to identify which site areas crawlers target most. Refer to the screenshot above.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Enhanced referral analytics&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Destination patterns show which site areas receive AI-driven referral traffic.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Metrics&lt;/strong&gt; tab, a new &lt;strong&gt;Referrals over time&lt;/strong&gt; chart shows trends by operator or source.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Data transfer metrics&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;Metrics&lt;/strong&gt; tab &gt; &lt;strong&gt;Allowed requests over time&lt;/strong&gt; chart, toggle &lt;strong&gt;Bytes&lt;/strong&gt; to show bandwidth consumption.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Crawlers&lt;/strong&gt; tab, a new &lt;strong&gt;Bytes Transferred&lt;/strong&gt; column shows bandwidth per crawler.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Image exports&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Export charts and tables as images for reports and presentations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learn more about &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/analyze-ai-traffic/&quot;&gt;analyzing AI traffic&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Log Explorer - Tabs and pivots</title><link>https://docs.ahq.lat/changelog/post/2026-02-09-tabs-and-pivots/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-09-tabs-and-pivots/</guid><description>&lt;p&gt;Log Explorer now supports multiple concurrent queries with the new Tabs feature. Work with multiple queries simultaneously and pivot between datasets to investigate malicious activity more effectively.&lt;/p&gt;
&lt;h4&gt;Key capabilities&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multiple tabs:&lt;/strong&gt; Open and switch between multiple query tabs to compare results across different datasets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quick filtering:&lt;/strong&gt; Select the filter button from query results to add a value as a filter to your current query.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pivot to new tab:&lt;/strong&gt; Use Cmd + click on the filter button to start a new query tab with that filter applied.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preserved progress:&lt;/strong&gt; Your query progress is preserved on each tab if you navigate away and return.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 09 Feb 2026 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>AI Crawl Control - New reference documentation</title><link>https://docs.ahq.lat/changelog/post/2026-02-09-reference-documentation/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-02-09-reference-documentation/</guid><description>&lt;p&gt;New reference documentation is now available for AI Crawl Control:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/reference/graphql-api/&quot;&gt;GraphQL API reference&lt;/a&gt;&lt;/strong&gt; — Query examples for crawler requests, top paths, referral traffic, and data transfer. Includes key filters for detection IDs, user agents, and referrer domains.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/reference/bots/&quot;&gt;Bot reference&lt;/a&gt;&lt;/strong&gt; — Detection IDs and user agents for major AI crawlers from OpenAI, Anthropic, Google, Meta, and others.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/reference/worker-templates/&quot;&gt;Worker templates&lt;/a&gt;&lt;/strong&gt; — Deploy the x402 Payment-Gated Proxy to monetize crawler access or charge bots while letting humans through free.&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Cloudflare Fundamentals - Added Timezone preferences settings</title><link>https://docs.ahq.lat/changelog/post/2026-01-27-timezone-preferences/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-27-timezone-preferences/</guid><description>&lt;p&gt;You can now set the timezone in the Cloudflare dashboard as Coordinated Universal Time (UTC) or your browser or system&apos;s timezone.&lt;/p&gt;
&lt;h4&gt;What&apos;s New&lt;/h4&gt;
&lt;p&gt;Unless otherwise specified in the user interface, all dates and times in the Cloudflare dashboard are now displayed in the selected timezone.&lt;/p&gt;
&lt;p&gt;You can change the timezone setting from the user profile dropdown.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2026-01-27-set-timezone.CUmMl54E_2ucVUh.webp&quot; alt=&quot;Timezone preference dropdown&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;The page will reload to apply the new timezone setting.&lt;/p&gt;</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Rules - Control request and response body buffering in Configuration Rules</title><link>https://docs.ahq.lat/changelog/post/2026-01-27-body-buffering-settings/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-27-body-buffering-settings/</guid><description>&lt;p&gt;You can now control how Cloudflare buffers HTTP request and response bodies using two new settings in &lt;a href=&quot;https://docs.ahq.lat/rules/configuration-rules/&quot;&gt;Configuration Rules&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Request body buffering&lt;/h4&gt;
&lt;p&gt;Controls how Cloudflare buffers HTTP request bodies before forwarding them to your origin server:&lt;/p&gt;





















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Mode&lt;/th&gt;&lt;th&gt;Behavior&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Standard&lt;/strong&gt; (default)&lt;/td&gt;&lt;td&gt;Cloudflare can inspect a prefix of the request body for enabled functionality such as WAF and Bot Management.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Full&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Buffers the entire request body before sending to origin.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;No buffering — the request body streams directly to origin without inspection.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Response body buffering&lt;/h4&gt;
&lt;p&gt;Controls how Cloudflare buffers HTTP response bodies before forwarding them to the client:&lt;/p&gt;

















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Mode&lt;/th&gt;&lt;th&gt;Behavior&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Standard&lt;/strong&gt; (default)&lt;/td&gt;&lt;td&gt;Cloudflare can inspect a prefix of the response body for enabled functionality.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;No buffering — the response body streams directly to the client without inspection.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;aside&gt;&lt;p&gt;Warning&lt;/p&gt;&lt;div&gt;&lt;p&gt;Setting body buffering to &lt;strong&gt;None&lt;/strong&gt; may break security functionality that requires body inspection, including the Web Application Firewall (WAF) and Bot Management. Ensure that any paths where you disable buffering do not require security inspection.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;h4&gt;API example&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;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;&quot;set_config&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;action_parameters&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;request_body_buffering&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;standard&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;response_body_buffering&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;none&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;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/rules/configuration-rules/&quot;&gt;Configuration Rules&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals - New 2FA Experience for Login</title><link>https://docs.ahq.lat/changelog/post/2026-01-23-new-2fa-experience/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-23-new-2fa-experience/</guid><description>&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2026-01-23-2fa-interstitial.TXFGNSth_ZOKoRB.webp&quot; alt=&quot;Screenshot of new 2FA enrollment experience&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;In an effort to improve overall user security, users without 2FA will be prompted upon login to enroll in email 2FA. This will improve user security posture while minimizing friction. Users without email 2FA enabled will see a prompt to secure their account with additional factors upon logging in. Enrolling in 2FA remains optional, but strongly encouraged as it is the best way to prevent account takeovers.&lt;/p&gt;
&lt;p&gt;We also made changes to existing 2FA screens to improve the user experience. Now we have distinct experiences for each 2FA factor type, reflective of the way that factor works.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/user-profiles/2fa/#configure-email-two-factor-authentication&quot;&gt;Configure Email Two Factor Authentication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Rules - New cryptographic functions — encode_base64() and sha256()</title><link>https://docs.ahq.lat/changelog/post/2026-01-22-sha256-base64-encode-functions/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-22-sha256-base64-encode-functions/</guid><description>&lt;p&gt;Cloudflare Rulesets now includes &lt;code&gt;encode_base64()&lt;/code&gt; and &lt;code&gt;sha256()&lt;/code&gt; functions, enabling you to generate signed request headers directly in rule expressions. These functions support common patterns like constructing a canonical string from request attributes, computing a SHA256 digest, and Base64-encoding the result.&lt;/p&gt;
&lt;hr&gt;
&lt;h4&gt;New functions&lt;/h4&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Function&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Availability&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;encode_base64(input, flags)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Encodes a string to Base64 format. Optional &lt;code&gt;flags&lt;/code&gt; parameter: &lt;code&gt;u&lt;/code&gt; for URL-safe encoding, &lt;code&gt;p&lt;/code&gt; for padding (adds &lt;code&gt;=&lt;/code&gt; characters to make the output length a multiple of 4, as required by some systems). By default, output is standard Base64 without padding.&lt;/td&gt;&lt;td&gt;All plans (in header transform rules)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;sha256(input)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Computes a SHA256 hash of the input string.&lt;/td&gt;&lt;td&gt;Requires enablement&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;The &lt;code&gt;sha256()&lt;/code&gt; function is available as an Enterprise add-on and requires a specific entitlement. Contact your account team to enable it.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;hr&gt;
&lt;h4&gt;Examples&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Encode a string to Base64 format:&lt;/strong&gt;&lt;/p&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;encode_base64(&quot;hello world&quot;)&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;Returns: &lt;code&gt;aGVsbG8gd29ybGQ&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Encode a string to Base64 format with padding:&lt;/strong&gt;&lt;/p&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;encode_base64(&quot;hello world&quot;, &quot;p&quot;)&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;Returns: &lt;code&gt;aGVsbG8gd29ybGQ=&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Perform a URL-safe Base64 encoding of a string:&lt;/strong&gt;&lt;/p&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;encode_base64(&quot;hello world&quot;, &quot;u&quot;)&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;Returns: &lt;code&gt;aGVsbG8gd29ybGQ&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Compute the SHA256 hash of a secret token:&lt;/strong&gt;&lt;/p&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;sha256(&quot;my-token&quot;)&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;Returns a hash that your origin can validate to authenticate requests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Compute the SHA256 hash of a string and encode the result to Base64 format:&lt;/strong&gt;&lt;/p&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;encode_base64(sha256(&quot;my-token&quot;))&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;Combines hashing and encoding for systems that expect Base64-encoded signatures.&lt;/p&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/functions/&quot;&gt;Functions reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Rules - New functions for array and map operations</title><link>https://docs.ahq.lat/changelog/post/2026-01-20-array-map-functions/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-20-array-map-functions/</guid><description>&lt;h4&gt;New functions for array and map operations&lt;/h4&gt;
&lt;p&gt;Cloudflare Rulesets now include new functions that enable advanced expression logic for evaluating arrays and maps. These functions allow you to build rules that match against lists of values in request or response headers, enabling use cases like country-based blocking using custom headers.&lt;/p&gt;
&lt;hr&gt;
&lt;h4&gt;New functions&lt;/h4&gt;

























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Function&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;split(source, delimiter)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Splits a string into an array of strings using the specified delimiter.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;join(array, delimiter)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Joins an array of strings into a single string using the specified delimiter.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;has_key(map, key)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Returns &lt;code&gt;true&lt;/code&gt; if the specified key exists in the map.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;has_value(map, value)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Returns &lt;code&gt;true&lt;/code&gt; if the specified value exists in the map.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;hr&gt;
&lt;h4&gt;Example use cases&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Check if a country code exists in a header list:&lt;/strong&gt;&lt;/p&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;has_value(split(http.response.headers[&quot;x-allow-country&quot;][0], &quot;,&quot;), ip.src.country)&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;&lt;strong&gt;Check if a specific header key exists:&lt;/strong&gt;&lt;/p&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;has_key(http.request.headers, &quot;x-custom-header&quot;)&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;&lt;strong&gt;Join array values for logging or comparison:&lt;/strong&gt;&lt;/p&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;join(http.request.headers.names, &quot;, &quot;)&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, refer to the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/functions/&quot;&gt;Functions reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals, SDK - Cloudflare Typescript SDK v6.0.0-beta.1 now available</title><link>https://docs.ahq.lat/changelog/post/2026-01-20-cloudflare-typescript-v600-beta1/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-20-cloudflare-typescript-v600-beta1/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; Please note that v6.0.0-beta.1 is in Beta and we are still testing it for stability.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Full Changelog: &lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/compare/v5.2.0...v6.0.0-beta.1&quot; target=&quot;_blank&quot;&gt;v5.2.0...v6.0.0-beta.1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this release, you&apos;ll see a large number of breaking changes. This is primarily due to a change in OpenAPI definitions, which our libraries are based off of, and codegen updates that we rely on to read those OpenAPI definitions and produce our SDK libraries. As the codegen is always evolving and improving, so are our code bases.&lt;/p&gt;
&lt;p&gt;Some breaking changes were introduced due to bug fixes, also listed below.&lt;/p&gt;
&lt;p&gt;Please ensure you read through the list of changes below before moving to this version - this will help you understand any down or upstream issues it may cause to your environments.&lt;/p&gt;
&lt;hr&gt;
&lt;h4&gt;Breaking Changes&lt;/h4&gt;
&lt;h4&gt;Addressing - Parameter Requirements Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BGPPrefixCreateParams.cidr&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PrefixCreateParams.asn&lt;/code&gt;: &lt;code&gt;number | null&lt;/code&gt; → &lt;code&gt;number&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PrefixCreateParams.loa_document_id&lt;/code&gt;: required → &lt;strong&gt;optional&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ServiceBindingCreateParams.cidr&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ServiceBindingCreateParams.service_id&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;API Gateway&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ConfigurationUpdateResponse&lt;/code&gt; removed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PublicSchema&lt;/code&gt; → &lt;code&gt;OldPublicSchema&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SchemaUpload&lt;/code&gt; → &lt;code&gt;UserSchemaCreateResponse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ConfigurationUpdateParams.properties&lt;/code&gt; removed; use &lt;code&gt;normalize&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;CloudforceOne - Response Type Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ThreatEventBulkCreateResponse&lt;/code&gt;: &lt;code&gt;number&lt;/code&gt; → complex object with counts and errors&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;D1 Database - Query Parameters&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DatabaseQueryParams&lt;/code&gt;: simple interface → union type (&lt;code&gt;D1SingleQuery | MultipleQueries&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DatabaseRawParams&lt;/code&gt;: same change&lt;/li&gt;
&lt;li&gt;Supports batch queries via &lt;code&gt;batch&lt;/code&gt; array&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;DNS Records - Type Renames (21 types)&lt;/h4&gt;
&lt;p&gt;All record type interfaces renamed from &lt;code&gt;*Record&lt;/code&gt; to short names:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.ARecord&lt;/code&gt; → &lt;code&gt;RecordResponse.A&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.AAAARecord&lt;/code&gt; → &lt;code&gt;RecordResponse.AAAA&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.CNAMERecord&lt;/code&gt; → &lt;code&gt;RecordResponse.CNAME&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.MXRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.MX&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.NSRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.NS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.PTRRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.PTR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.TXTRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.TXT&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.CAARecord&lt;/code&gt; → &lt;code&gt;RecordResponse.CAA&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.CERTRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.CERT&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.DNSKEYRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.DNSKEY&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.DSRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.DS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.HTTPSRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.HTTPS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.LOCRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.LOC&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.NAPTRRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.NAPTR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.SMIMEARecord&lt;/code&gt; → &lt;code&gt;RecordResponse.SMIMEA&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.SRVRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.SRV&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.SSHFPRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.SSHFP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.SVCBRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.SVCB&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.TLSARecord&lt;/code&gt; → &lt;code&gt;RecordResponse.TLSA&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.URIRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.URI&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RecordResponse.OpenpgpkeyRecord&lt;/code&gt; → &lt;code&gt;RecordResponse.Openpgpkey&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;IAM Resource Groups&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ResourceGroupCreateResponse.scope&lt;/code&gt;: optional single → &lt;strong&gt;required array&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ResourceGroupCreateResponse.id&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Origin CA Certificates - Parameter Requirements Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;OriginCACertificateCreateParams.csr&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OriginCACertificateCreateParams.hostnames&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OriginCACertificateCreateParams.request_type&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Pages&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Renamed: &lt;code&gt;DeploymentsSinglePage&lt;/code&gt; → &lt;code&gt;DeploymentListResponsesV4PagePaginationArray&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Domain response fields: many optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Pipelines - v0 to v1 Migration&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Entire v0 API deprecated; use v1 methods (&lt;code&gt;createV1&lt;/code&gt;, &lt;code&gt;listV1&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;New sub-resources: &lt;code&gt;Sinks&lt;/code&gt;, &lt;code&gt;Streams&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;R2&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;EventNotificationUpdateParams.rules&lt;/code&gt;: optional → &lt;strong&gt;required&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Super Slurper: &lt;code&gt;bucket&lt;/code&gt;, &lt;code&gt;secret&lt;/code&gt; now required in source params&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Radar&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dataSource&lt;/code&gt;: &lt;code&gt;string&lt;/code&gt; → typed enum (23 values)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;eventType&lt;/code&gt;: &lt;code&gt;string&lt;/code&gt; → typed enum (6 values)&lt;/li&gt;
&lt;li&gt;V2 methods require &lt;code&gt;dimension&lt;/code&gt; parameter (breaking signature change)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Resource Sharing&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Removed: &lt;code&gt;status_message&lt;/code&gt; field from all recipient response types&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Schema Validation&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Consolidated &lt;code&gt;SchemaCreateResponse&lt;/code&gt;, &lt;code&gt;SchemaListResponse&lt;/code&gt;, &lt;code&gt;SchemaEditResponse&lt;/code&gt;, &lt;code&gt;SchemaGetResponse&lt;/code&gt; → &lt;code&gt;PublicSchema&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Renamed: &lt;code&gt;SchemaListResponsesV4PagePaginationArray&lt;/code&gt; → &lt;code&gt;PublicSchemasV4PagePaginationArray&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Spectrum&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Renamed union members: &lt;code&gt;AppListResponse.UnionMember0&lt;/code&gt; → &lt;code&gt;SpectrumConfigAppConfig&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Renamed union members: &lt;code&gt;AppListResponse.UnionMember1&lt;/code&gt; → &lt;code&gt;SpectrumConfigPaygoAppConfig&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Workers&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Removed: &lt;code&gt;WorkersBindingKindTailConsumer&lt;/code&gt; type (all occurrences)&lt;/li&gt;
&lt;li&gt;Renamed: &lt;code&gt;ScriptsSinglePage&lt;/code&gt; → &lt;code&gt;ScriptListResponsesSinglePage&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Removed: &lt;code&gt;DeploymentsSinglePage&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust DLP&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;datasets.create()&lt;/code&gt;, &lt;code&gt;update()&lt;/code&gt;, &lt;code&gt;get()&lt;/code&gt; return types changed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PredefinedGetResponse&lt;/code&gt; union members renamed to &lt;code&gt;UnionMember0-5&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust Tunnels&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Removed: &lt;code&gt;CloudflaredCreateResponse&lt;/code&gt;, &lt;code&gt;CloudflaredListResponse&lt;/code&gt;, &lt;code&gt;CloudflaredDeleteResponse&lt;/code&gt;, &lt;code&gt;CloudflaredEditResponse&lt;/code&gt;, &lt;code&gt;CloudflaredGetResponse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Removed: &lt;code&gt;CloudflaredListResponsesV4PagePaginationArray&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;h4&gt;Abuse Reports (&lt;code&gt;client.abuseReports&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reports&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mitigations&lt;/strong&gt;: sub-resource for abuse mitigations&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI Search (&lt;code&gt;client.aisearch&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Instances&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;read&lt;/code&gt;, &lt;code&gt;stats&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Items&lt;/strong&gt;: &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jobs&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;, &lt;code&gt;logs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tokens&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;read&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Connectivity (&lt;code&gt;client.connectivity&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Directory Services&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Supports IPv4, IPv6, dual-stack, and hostname configurations&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Organizations (&lt;code&gt;client.organizations&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Organizations&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OrganizationProfile&lt;/strong&gt;: &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Hierarchical organization support with parent/child relationships&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;R2 Data Catalog (&lt;code&gt;client.r2DataCatalog&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Catalog&lt;/strong&gt;: &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;enable&lt;/code&gt;, &lt;code&gt;disable&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credentials&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MaintenanceConfigs&lt;/strong&gt;: &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namespaces&lt;/strong&gt;: &lt;code&gt;list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tables&lt;/strong&gt;: &lt;code&gt;list&lt;/code&gt;, maintenance config management&lt;/li&gt;
&lt;li&gt;Apache Iceberg integration&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Realtime Kit (&lt;code&gt;client.realtimeKit&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apps&lt;/strong&gt;: &lt;code&gt;get&lt;/code&gt;, &lt;code&gt;post&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Meetings&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;, participant management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Livestreams&lt;/strong&gt;: 10+ methods for streaming&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recordings&lt;/strong&gt;: start, pause, stop, get&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sessions&lt;/strong&gt;: transcripts, summaries, chat&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Webhooks&lt;/strong&gt;: full CRUD&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ActiveSession&lt;/strong&gt;: polls, kick participants&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analytics&lt;/strong&gt;: organization analytics&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Token Validation (&lt;code&gt;client.tokenValidation&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Configuration&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;edit&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credentials&lt;/strong&gt;: &lt;code&gt;update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rules&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;bulkCreate&lt;/code&gt;, &lt;code&gt;bulkEdit&lt;/code&gt;, &lt;code&gt;edit&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;JWT validation with RS256/384/512, PS256/384/512, ES256, ES384&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Alerting Silences (&lt;code&gt;client.alerting.silences&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;IAM SSO (&lt;code&gt;client.iam.sso&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;, &lt;code&gt;beginVerification&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Pipelines v1 (&lt;code&gt;client.pipelines&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sinks&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Streams&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;get&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust AI Controls / MCP (&lt;code&gt;client.zeroTrust.access.aiControls.mcp&lt;/code&gt;)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Portals&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;read&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Servers&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;read&lt;/code&gt;, &lt;code&gt;sync&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Accounts&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;managed_by&lt;/code&gt; field with &lt;code&gt;parent_org_id&lt;/code&gt;, &lt;code&gt;parent_org_name&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Addressing LOA Documents&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;auto_generated&lt;/code&gt; field on &lt;code&gt;LOADocumentCreateResponse&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Addressing Prefixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;delegate_loa_creation&lt;/code&gt;, &lt;code&gt;irr_validation_state&lt;/code&gt;, &lt;code&gt;ownership_validation_state&lt;/code&gt;, &lt;code&gt;ownership_validation_token&lt;/code&gt;, &lt;code&gt;rpki_validation_state&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;toMarkdown.supported()&lt;/code&gt; method to get all supported conversion formats&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI Gateway&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;zdr&lt;/code&gt; field added to all responses and params&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Alerting&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New alert type: &lt;code&gt;abuse_report_alert&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt; field added to PolicyFilter&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Browser Rendering&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ContentCreateParams&lt;/code&gt;: refined to discriminated union (&lt;code&gt;Variant0 | Variant1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Split into URL-based and HTML-based parameter variants for better type safety&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Client Certificates&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;reactivate&lt;/code&gt; parameter in edit&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;CloudforceOne&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ThreatEventCreateParams.indicatorType&lt;/code&gt;: required → optional&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hasChildren&lt;/code&gt; field added to all threat event response types&lt;/li&gt;
&lt;li&gt;&lt;code&gt;datasetIds&lt;/code&gt; query parameter on &lt;code&gt;AttackerListParams&lt;/code&gt;, &lt;code&gt;CategoryListParams&lt;/code&gt;, &lt;code&gt;TargetIndustryListParams&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;categoryUuid&lt;/code&gt; field on &lt;code&gt;TagCreateResponse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;indicators&lt;/code&gt; array for multi-indicator support per event&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uuid&lt;/code&gt; and &lt;code&gt;preserveUuid&lt;/code&gt; fields for UUID preservation in bulk create&lt;/li&gt;
&lt;li&gt;&lt;code&gt;format&lt;/code&gt; query parameter (&lt;code&gt;&apos;json&apos; | &apos;stix2&apos;&lt;/code&gt;) on &lt;code&gt;ThreatEventListParams&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;createdAt&lt;/code&gt;, &lt;code&gt;datasetId&lt;/code&gt; fields on &lt;code&gt;ThreatEventEditParams&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Content Scanning&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;create()&lt;/code&gt;, &lt;code&gt;update()&lt;/code&gt;, &lt;code&gt;get()&lt;/code&gt; methods&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Custom Pages&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New page types: &lt;code&gt;basic_challenge&lt;/code&gt;, &lt;code&gt;under_attack&lt;/code&gt;, &lt;code&gt;waf_challenge&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;D1&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;served_by_colo&lt;/code&gt; - colo that handled query&lt;/li&gt;
&lt;li&gt;&lt;code&gt;jurisdiction&lt;/code&gt; - &lt;code&gt;&apos;eu&apos; | &apos;fedramp&apos;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time Travel&lt;/strong&gt; (&lt;code&gt;client.d1.database.timeTravel&lt;/code&gt;): &lt;code&gt;getBookmark()&lt;/code&gt;, &lt;code&gt;restore()&lt;/code&gt; - point-in-time recovery&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Email Security&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New fields on &lt;code&gt;InvestigateListResponse&lt;/code&gt;/&lt;code&gt;InvestigateGetResponse&lt;/code&gt;: &lt;code&gt;envelope_from&lt;/code&gt;, &lt;code&gt;envelope_to&lt;/code&gt;, &lt;code&gt;postfix_id_outbound&lt;/code&gt;, &lt;code&gt;replyto&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;New detection classification: &lt;code&gt;&apos;outbound_ndr&apos;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Enhanced &lt;code&gt;Finding&lt;/code&gt; interface with &lt;code&gt;attachment&lt;/code&gt;, &lt;code&gt;detection&lt;/code&gt;, &lt;code&gt;field&lt;/code&gt;, &lt;code&gt;portion&lt;/code&gt;, &lt;code&gt;reason&lt;/code&gt;, &lt;code&gt;score&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;cursor&lt;/code&gt; query parameter to &lt;code&gt;InvestigateListParams&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Gateway Lists&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New list types: &lt;code&gt;CATEGORY&lt;/code&gt;, &lt;code&gt;LOCATION&lt;/code&gt;, &lt;code&gt;DEVICE&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Intel&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New issue type: &lt;code&gt;&apos;configuration_suggestion&apos;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;payload&lt;/code&gt; field: &lt;code&gt;unknown&lt;/code&gt; → typed &lt;code&gt;Payload&lt;/code&gt; interface with &lt;code&gt;detection_method&lt;/code&gt;, &lt;code&gt;zone_tag&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Leaked Credential Checks&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;detections.get()&lt;/code&gt; method&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Logpush&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New datasets: &lt;code&gt;dex_application_tests&lt;/code&gt;, &lt;code&gt;dex_device_state_events&lt;/code&gt;, &lt;code&gt;ipsec_logs&lt;/code&gt;, &lt;code&gt;warp_config_changes&lt;/code&gt;, &lt;code&gt;warp_toggle_changes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Load Balancers&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Monitor.port&lt;/code&gt;: &lt;code&gt;number&lt;/code&gt; → &lt;code&gt;number | null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Pool.load_shedding&lt;/code&gt;: &lt;code&gt;LoadShedding&lt;/code&gt; → &lt;code&gt;LoadShedding | null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Pool.origin_steering&lt;/code&gt;: &lt;code&gt;OriginSteering&lt;/code&gt; → &lt;code&gt;OriginSteering | null&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Magic Transit&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;license_key&lt;/code&gt; field on connectors&lt;/li&gt;
&lt;li&gt;&lt;code&gt;provision_license&lt;/code&gt; parameter for auto-provisioning&lt;/li&gt;
&lt;li&gt;IPSec: &lt;code&gt;custom_remote_identities&lt;/code&gt; with FQDN support&lt;/li&gt;
&lt;li&gt;Snapshots: Bond interface, &lt;code&gt;probed_mtu&lt;/code&gt; field&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Pages&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New response types: &lt;code&gt;ProjectCreateResponse&lt;/code&gt;, &lt;code&gt;ProjectListResponse&lt;/code&gt;, &lt;code&gt;ProjectEditResponse&lt;/code&gt;, &lt;code&gt;ProjectGetResponse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Deployment methods return specific response types instead of generic &lt;code&gt;Deployment&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Queues&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;subscriptions.get()&lt;/code&gt; method&lt;/li&gt;
&lt;li&gt;Enhanced &lt;code&gt;SubscriptionGetResponse&lt;/code&gt; with typed event source interfaces&lt;/li&gt;
&lt;li&gt;New event source types: Images, KV, R2, Vectorize, Workers AI, Workers Builds, Workflows&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;R2&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sippy: new provider &lt;code&gt;s3&lt;/code&gt; (S3-compatible endpoints)&lt;/li&gt;
&lt;li&gt;Sippy: &lt;code&gt;bucketUrl&lt;/code&gt; field for S3-compatible sources&lt;/li&gt;
&lt;li&gt;Super Slurper: &lt;code&gt;keys&lt;/code&gt; field on source response schemas (specify specific keys to migrate)&lt;/li&gt;
&lt;li&gt;Super Slurper: &lt;code&gt;pathPrefix&lt;/code&gt; field on source schemas&lt;/li&gt;
&lt;li&gt;Super Slurper: &lt;code&gt;region&lt;/code&gt; field on S3 source params&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Radar&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;geolocations.list()&lt;/code&gt;, &lt;code&gt;geolocations.get()&lt;/code&gt; methods&lt;/li&gt;
&lt;li&gt;Added V2 dimension-based methods (&lt;code&gt;summaryV2&lt;/code&gt;, &lt;code&gt;timeseriesGroupsV2&lt;/code&gt;) to radar sub-resources&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Resource Sharing&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;terminal&lt;/code&gt; boolean field to Resource Error interfaces&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Rules&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;id&lt;/code&gt; field to &lt;code&gt;ItemDeleteParams.Item&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Rulesets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New buffering fields on &lt;code&gt;SetConfigRule&lt;/code&gt;: &lt;code&gt;request_body_buffering&lt;/code&gt;, &lt;code&gt;response_body_buffering&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Secrets Store&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New scopes: &lt;code&gt;&apos;dex&apos;&lt;/code&gt;, &lt;code&gt;&apos;access&apos;&lt;/code&gt; (in addition to &lt;code&gt;&apos;workers&apos;&lt;/code&gt;, &lt;code&gt;&apos;ai_gateway&apos;&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;SSL Certificate Packs&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Response types now proper interfaces (was &lt;code&gt;unknown&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Fields now required: &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;certificates&lt;/code&gt;, &lt;code&gt;hosts&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Security Center&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;payload&lt;/code&gt; field: &lt;code&gt;unknown&lt;/code&gt; → typed &lt;code&gt;Payload&lt;/code&gt; interface with &lt;code&gt;detection_method&lt;/code&gt;, &lt;code&gt;zone_tag&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Shared Types&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added: &lt;code&gt;CloudflareTunnelsV4PagePaginationArray&lt;/code&gt; pagination class&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Workers&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;subdomains.delete()&lt;/code&gt; method&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Worker.references&lt;/code&gt; - track external dependencies (domains, Durable Objects, queues)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Worker.startup_time_ms&lt;/code&gt; - startup timing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Script.observability&lt;/code&gt; - observability settings with logging&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Script.tag&lt;/code&gt;, &lt;code&gt;Script.tags&lt;/code&gt; - immutable ID and tags&lt;/li&gt;
&lt;li&gt;Placement: support for region, hostname, host-based placement&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tags&lt;/code&gt;, &lt;code&gt;tail_consumers&lt;/code&gt; now accept &lt;code&gt;| null&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Telemetry: &lt;code&gt;traces&lt;/code&gt; field, &lt;code&gt;$containers&lt;/code&gt; event info, &lt;code&gt;durableObjectId&lt;/code&gt;, &lt;code&gt;transactionName&lt;/code&gt;, &lt;code&gt;abr_level&lt;/code&gt; fields&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Workers for Platforms&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ScriptUpdateResponse&lt;/code&gt;: new fields &lt;code&gt;entry_point&lt;/code&gt;, &lt;code&gt;observability&lt;/code&gt;, &lt;code&gt;tag&lt;/code&gt;, &lt;code&gt;tags&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;placement&lt;/code&gt; field now union of 4 variants (smart mode, region, hostname, host)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tags&lt;/code&gt;, &lt;code&gt;tail_consumers&lt;/code&gt; now nullable&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TagUpdateParams.body&lt;/code&gt; now accepts &lt;code&gt;null&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Workflows&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;instance_retention&lt;/code&gt;: &lt;code&gt;unknown&lt;/code&gt; → typed &lt;code&gt;InstanceRetention&lt;/code&gt; interface with &lt;code&gt;error_retention&lt;/code&gt;, &lt;code&gt;success_retention&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;New status option: &lt;code&gt;&apos;restart&apos;&lt;/code&gt; added to &lt;code&gt;StatusEditParams.status&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust Devices&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;External emergency disconnect settings (4 new fields)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;antivirus&lt;/code&gt; device posture check type&lt;/li&gt;
&lt;li&gt;&lt;code&gt;os_version_extra&lt;/code&gt; documentation improvements&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zones&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New response types: &lt;code&gt;SubscriptionCreateResponse&lt;/code&gt;, &lt;code&gt;SubscriptionUpdateResponse&lt;/code&gt;, &lt;code&gt;SubscriptionGetResponse&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust Access Applications&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New &lt;code&gt;ApplicationType&lt;/code&gt; values: &lt;code&gt;&apos;mcp&apos;&lt;/code&gt;, &lt;code&gt;&apos;mcp_portal&apos;&lt;/code&gt;, &lt;code&gt;&apos;proxy_endpoint&apos;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;New destination type: &lt;code&gt;ViaMcpServerPortalDestination&lt;/code&gt; for MCP server access&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust Gateway&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;rules.listTenant()&lt;/code&gt; method&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust Gateway - Proxy Endpoints&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ProxyEndpoint&lt;/code&gt;: interface → discriminated union (&lt;code&gt;ZeroTrustGatewayProxyEndpointIP | ZeroTrustGatewayProxyEndpointIdentity&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ProxyEndpointCreateParams&lt;/code&gt;: interface → union type&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;kind&lt;/code&gt; field: &lt;code&gt;&apos;ip&apos; | &apos;identity&apos;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Zero-Trust Tunnels&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;WARPConnector*Response&lt;/code&gt;: union type → interface&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4&gt;Deprecations&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;API Gateway&lt;/strong&gt;: &lt;code&gt;UserSchemas&lt;/code&gt;, &lt;code&gt;Settings&lt;/code&gt;, &lt;code&gt;SchemaValidation&lt;/code&gt; resources&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audit Logs&lt;/strong&gt;: &lt;code&gt;auditLogId.not&lt;/code&gt; (use &lt;code&gt;id.not&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CloudforceOne&lt;/strong&gt;: &lt;code&gt;ThreatEvents.get()&lt;/code&gt;, &lt;code&gt;IndicatorTypes.list()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Devices&lt;/strong&gt;: &lt;code&gt;public_ip&lt;/code&gt; field (use DEX API)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email Security&lt;/strong&gt;: &lt;code&gt;item_count&lt;/code&gt; field in Move responses&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pipelines&lt;/strong&gt;: v0 methods (use v1)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Radar&lt;/strong&gt;: old &lt;code&gt;summary()&lt;/code&gt; and &lt;code&gt;timeseriesGroups()&lt;/code&gt; methods (use V2)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rulesets&lt;/strong&gt;: &lt;code&gt;disable_apps&lt;/code&gt;, &lt;code&gt;mirage&lt;/code&gt; fields&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WARP Connector&lt;/strong&gt;: &lt;code&gt;connections&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workers&lt;/strong&gt;: &lt;code&gt;environment&lt;/code&gt; parameter in Domains&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zones&lt;/strong&gt;: &lt;code&gt;ResponseBuffering&lt;/code&gt; page rule&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;mcp:&lt;/strong&gt; correct code tool API endpoint (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/599703c45672dc899455d74b124018efd4b75095&quot; target=&quot;_blank&quot;&gt;599703c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mcp:&lt;/strong&gt; return correct lines on typescript errors (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/5d6f9998ed9999aaa95e1bda8cf50929f3555cf1&quot; target=&quot;_blank&quot;&gt;5d6f999&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;organization_profile:&lt;/strong&gt; fix bad reference (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/d84ea77094400055c06554812b84c2f0c8d00cc4&quot; target=&quot;_blank&quot;&gt;d84ea77&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;schema_validation:&lt;/strong&gt; correctly reflect model to openapi mapping (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/bb861516774b159d80e0f46a5f3abc5a4c9f9d49&quot; target=&quot;_blank&quot;&gt;bb86151&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers:&lt;/strong&gt; fix tests (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/2ee37f7adf5a4637d65f61fc225e135eec2579fc&quot; target=&quot;_blank&quot;&gt;2ee37f7&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4&gt;Documentation&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added deprecation notices with migration paths&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_gateway:&lt;/strong&gt; deprecate API Shield Schema Validation resources (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/8a4b20f7a572422f74179fbdb4f1c4fb555e3e40&quot; target=&quot;_blank&quot;&gt;8a4b20f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Improved JSDoc examples across all resources&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers:&lt;/strong&gt; expose subdomain delete documentation (&lt;a href=&quot;https://github.com/cloudflare/cloudflare-typescript/commit/4f7cc1f2b8861a5b8abc193d287f78264a425062&quot; target=&quot;_blank&quot;&gt;4f7cc1f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>SDK</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.16.0 now available</title><link>https://docs.ahq.lat/changelog/post/2026-01-20-terraform-v5160-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-20-terraform-v5160-provider/</guid><description>&lt;p&gt;In January 2025, we announced the launch of the new Terraform v5 Provider. We greatly appreciate the proactive engagement and valuable feedback from the Cloudflare community following the v5 release. In response, we&apos;ve established a consistent and rapid &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5774&quot; target=&quot;_blank&quot;&gt;2-3 week cadence&lt;/a&gt; for releasing targeted improvements, demonstrating our commitment to stability and reliability.&lt;/p&gt;
&lt;p&gt;With the help of the community, we have a growing number of resources that we have marked as &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;stable&lt;/a&gt;, with that list continuing to grow with every release. The most used &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;resources&lt;/a&gt; are on track to be stable by the end of March 2026, when we will also be releasing a new migration tool to you migrate from v4 to v5 with ease.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. They make our provider stronger and help us build products that reflect your needs.&lt;/p&gt;
&lt;p&gt;This release includes bug fixes, the stabilization of even more popular resources, and more.&lt;/p&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;custom_pages:&lt;/strong&gt; add &quot;waf_challenge&quot; as new supported error page type identifier in both resource and data source schemas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;list:&lt;/strong&gt; enhance CIDR validator to check for normalized CIDR notation requiring network address for IPv4 and IPv6&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_gre_tunnel:&lt;/strong&gt; add automatic_return_routing attribute for automatic routing control&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_gre_tunnel:&lt;/strong&gt; add BGP configuration support with new BGP model attribute&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_gre_tunnel:&lt;/strong&gt; add bgp_status computed attribute for BGP connection status information&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_gre_tunnel:&lt;/strong&gt; enhance schema with BGP-related attributes and validators&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_ipsec_tunnel:&lt;/strong&gt; add automatic_return_routing attribute for automatic routing control&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_ipsec_tunnel:&lt;/strong&gt; add BGP configuration support with new BGP model attribute&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_ipsec_tunnel:&lt;/strong&gt; add bgp_status computed attribute for BGP connection status information&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_ipsec_tunnel:&lt;/strong&gt; add custom_remote_identities attribute for custom identity configuration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_wan_ipsec_tunnel:&lt;/strong&gt; enhance schema with BGP and identity-related attributes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ruleset:&lt;/strong&gt; add request body buffering support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ruleset:&lt;/strong&gt; enhance ruleset data source with additional configuration options&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; add observability logs attributes to list data source model&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; enhance list data source schema with additional configuration options&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;account_member&lt;/strong&gt;: fix resource importability issues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns_record:&lt;/strong&gt; remove unnecessary fmt.Sprintf wrapper around LoadTestCase call in test configuration helper function&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;load_balancer:&lt;/strong&gt; fix session_affinity_ttl type expectations to match Float64 in initial creation and Int64 after migration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_kv:&lt;/strong&gt; handle special characters correctly in URL encoding&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Documentation&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;account_subscription:&lt;/strong&gt; update schema description for rate_plan.sets attribute to clarify it returns an array of strings&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_shield:&lt;/strong&gt; add resource-level description for API Shield management of auth ID characteristics&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_shield:&lt;/strong&gt; enhance auth_id_characteristics.name attribute description to include JWT token configuration format requirements&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_shield:&lt;/strong&gt; specify JSONPath expression format for JWT claim locations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperdrive_config:&lt;/strong&gt; add description attribute to name attribute explaining its purpose in dashboard and API identification&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperdrive_config:&lt;/strong&gt; apply description improvements across resource, data source, and list data source schemas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperdrive_config:&lt;/strong&gt; improve schema descriptions for cache settings to clarify default values&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hyperdrive_config:&lt;/strong&gt; update port description to clarify defaults for different database types&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;List of stabilized resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Cloudflare Fundamentals - Enhanced HTTP/3 request cancellation visibility</title><link>https://docs.ahq.lat/changelog/post/2026-01-19-http3-499-reporting-improvement/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-19-http3-499-reporting-improvement/</guid><description>&lt;h4&gt;Enhanced HTTP/3 request cancellation visibility&lt;/h4&gt;
&lt;p&gt;Cloudflare now provides more accurate visibility into HTTP/3 client request cancellations, giving you better insight into real client behavior and reducing unnecessary load on your origins.&lt;/p&gt;
&lt;p&gt;Previously, when an HTTP/3 client cancelled a request, the cancellation was not always actioned immediately. This meant requests could continue through the CDN — potentially all the way to your origin — even after the client had abandoned them. In these cases, logs would show the upstream response status (such as &lt;code&gt;200&lt;/code&gt; or a timeout-related code) rather than reflecting the client cancellation.&lt;/p&gt;
&lt;p&gt;Now, Cloudflare terminates cancelled HTTP/3 requests immediately and accurately logs them with a &lt;code&gt;499&lt;/code&gt; status code.&lt;/p&gt;
&lt;hr&gt;
&lt;h4&gt;Better observability for client behavior&lt;/h4&gt;
&lt;p&gt;When HTTP/3 clients cancel requests, Cloudflare now immediately reflects this in your logs with a &lt;code&gt;499&lt;/code&gt; status code. This gives you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;More accurate traffic analysis&lt;/strong&gt;: Understand exactly when and how often clients cancel requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clearer debugging&lt;/strong&gt;: Distinguish between true errors and intentional client cancellations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Better availability metrics&lt;/strong&gt;: Separate client-initiated cancellations from server-side issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4&gt;Reduced origin load&lt;/h4&gt;
&lt;p&gt;Cloudflare now terminates cancelled requests faster, which means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Less wasted compute&lt;/strong&gt;: Your origin no longer processes requests that clients have already abandoned.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lower bandwidth usage&lt;/strong&gt;: Responses are no longer generated and transmitted for cancelled requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved efficiency&lt;/strong&gt;: Resources are freed up to handle active requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4&gt;What to expect in your logs&lt;/h4&gt;
&lt;p&gt;You may notice an increase in &lt;code&gt;499&lt;/code&gt; status codes for HTTP/3 traffic. For HTTP/3, a &lt;code&gt;499&lt;/code&gt; indicates the client &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc9114#section-4.1.1&quot; target=&quot;_blank&quot;&gt;cancelled the request stream&lt;/a&gt; before receiving a complete response — the underlying connection may remain open. This is a normal part of web traffic.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tip&lt;/strong&gt;: If you use &lt;code&gt;499&lt;/code&gt; codes in availability calculations, consider whether client-initiated cancellations should be excluded from error rates. These typically represent normal user behavior — such as closing a browser, navigating away from a page, mobile network drops, or cancelling a download — rather than service issues.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/support/troubleshooting/http-status-codes/4xx-client-error/error-499/&quot;&gt;Error 499&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Verify WARP Connector connectivity with a simple ping</title><link>https://docs.ahq.lat/changelog/post/2026-01-15-warp-connector-ping-support/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-15-warp-connector-ping-support/</guid><description>&lt;p&gt;We have made it easier to validate connectivity when deploying &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;WARP Connector&lt;/a&gt; as part of your &lt;a href=&quot;https://docs.ahq.lat/reference-architecture/architectures/sase/#connecting-networks&quot;&gt;software-defined private network&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can now &lt;code&gt;ping&lt;/code&gt; the WARP Connector host directly on its LAN IP address immediately after installation. This provides a fast, familiar way to confirm that the Connector is online and reachable within your network before testing access to downstream services.&lt;/p&gt;
&lt;p&gt;Starting with &lt;a href=&quot;https://docs.ahq.lat/changelog/2026-01-13-warp-linux-ga/&quot;&gt;version 2025.10.186.0&lt;/a&gt;, WARP Connector responds to traffic addressed to its own LAN IP, giving you immediate visibility into Connector reachability.&lt;/p&gt;
&lt;p&gt;Learn more about deploying &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;WARP Connector&lt;/a&gt; and building private network connectivity with &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/&quot;&gt;Cloudflare One&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>AI Crawl Control - AI Crawl Control Read Only role now available</title><link>https://docs.ahq.lat/changelog/post/2026-01-13-ai-crawl-control-read-only-role/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-13-ai-crawl-control-read-only-role/</guid><description>&lt;p&gt;Account administrators can now assign the &lt;strong&gt;AI Crawl Control Read Only&lt;/strong&gt; role to provide read-only access to AI Crawl Control at the domain level.&lt;/p&gt;
&lt;p&gt;Users with this role can view the &lt;strong&gt;Overview&lt;/strong&gt;, &lt;strong&gt;Crawlers&lt;/strong&gt;, &lt;strong&gt;Metrics&lt;/strong&gt;, &lt;strong&gt;Robots.txt&lt;/strong&gt;, and &lt;strong&gt;Settings&lt;/strong&gt; tabs but cannot modify crawler actions or settings.&lt;/p&gt;
&lt;p&gt;This role is specific for AI Crawl Control. You still require correct permissions to access other areas / features of the dashboard.&lt;/p&gt;
&lt;p&gt;To assign, go to &lt;strong&gt;Manage Account&lt;/strong&gt; &gt; &lt;strong&gt;Members&lt;/strong&gt; and add a policy with the &lt;strong&gt;AI Crawl Control Read Only&lt;/strong&gt; role scoped to the desired domain.&lt;/p&gt;</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Rules - Metro code field now available in Rules</title><link>https://docs.ahq.lat/changelog/post/2026-01-12-dma-metro-code-field/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-01-12-dma-metro-code-field/</guid><description>&lt;p&gt;The &lt;code&gt;ip.src.metro_code&lt;/code&gt; field in the Ruleset Engine is now populated with DMA (Designated Market Area) data.&lt;/p&gt;
&lt;p&gt;You can use this field to build rules that target traffic based on geographic market areas, enabling more granular location-based policies for your applications.&lt;/p&gt;
&lt;h4&gt;Field details&lt;/h4&gt;















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;ip.src.metro_code&lt;/code&gt;&lt;/td&gt;&lt;td&gt;String | null&lt;/td&gt;&lt;td&gt;The metro code (DMA) of the incoming request&apos;s IP address. Returns the designated market area code for the client&apos;s location.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Example filter expression:&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;ip.src.metro_code eq &quot;501&quot;&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, refer to the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/ip.src.metro_code/&quot;&gt;Fields reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 12 Jan 2026 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.15.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-12-19-terraform-v5150-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-12-19-terraform-v5150-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new Terraform v5 Provider. We are aware of the high number of issues reported by the Cloudflare community related to the v5 release. We have committed to releasing improvements on a &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5774&quot; target=&quot;_blank&quot;&gt;2-3 week cadence&lt;/a&gt; to ensure its stability and reliability, including the v5.15 release. We have also pivoted from an &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;issue-to-issue approach to a resource-per-resource approach&lt;/a&gt; - we will be focusing on specific resources to not only stabilize the resource but also ensure it is migration-friendly for those migrating from v4 to v5.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. They make our provider stronger and help us build products that reflect your needs.&lt;/p&gt;
&lt;p&gt;This release includes bug fixes, the stabilization of even more popular resources, and more.&lt;/p&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ai_search:&lt;/strong&gt; Add AI Search endpoints (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/6f02adb420e872457f71f95b49cb527663388915&quot; target=&quot;_blank&quot;&gt;6f02adb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;certificate_pack:&lt;/strong&gt; Ensure proper Terraform resource ID handling for path parameters in API calls (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/081f32acab4ce9a194a7ff51c8e9fcabd349895a&quot; target=&quot;_blank&quot;&gt;081f32a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;worker_version:&lt;/strong&gt; Support &lt;code&gt;startup_time_ms&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/286ab55bea8d5be0faa5a2b5b8b157e4a2214eba&quot; target=&quot;_blank&quot;&gt;286ab55&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_custom_entry:&lt;/strong&gt; Support &lt;code&gt;upload_status&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/7dc0fe3b23726ead8dc075f86728a0540846d90c&quot; target=&quot;_blank&quot;&gt;7dc0fe3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_entry:&lt;/strong&gt; Support &lt;code&gt;upload_status&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/7dc0fe3b23726ead8dc075f86728a0540846d90c&quot; target=&quot;_blank&quot;&gt;7dc0fe3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_integration_entry:&lt;/strong&gt; Support &lt;code&gt;upload_status&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/7dc0fe3b23726ead8dc075f86728a0540846d90c&quot; target=&quot;_blank&quot;&gt;7dc0fe3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_predefined_entry:&lt;/strong&gt; Support &lt;code&gt;upload_status&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/7dc0fe3b23726ead8dc075f86728a0540846d90c&quot; target=&quot;_blank&quot;&gt;7dc0fe3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_gateway_policy:&lt;/strong&gt; Support &lt;code&gt;forensic_copy&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/5741fd0ed9f7270d20731cc47ec45eb0403a628b&quot; target=&quot;_blank&quot;&gt;5741fd0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_list:&lt;/strong&gt; Support additional types (category, location, device) (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/5741fd0ed9f7270d20731cc47ec45eb0403a628b&quot; target=&quot;_blank&quot;&gt;5741fd0&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;access_rules:&lt;/strong&gt; Add validation to prevent state drift. Ideally, we&apos;d use Semantic Equality but since that isn&apos;t an option, this will remove a foot-gun. (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/44577911b3cbe45de6279aefa657bdee73c0794d&quot; target=&quot;_blank&quot;&gt;4457791&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_pages_project:&lt;/strong&gt; Addressing drift issues (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/6edffcfcf187fdc9b10b624b9a9b90aed2fb2b2e&quot; target=&quot;_blank&quot;&gt;6edffcf&lt;/a&gt;) (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/3db318e747423bf10ce587d9149e90edcd8a77b0&quot; target=&quot;_blank&quot;&gt;3db318e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_worker:&lt;/strong&gt; Can be cleanly imported (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/4859b52968bb25570b680df9813f8e07fd50728f&quot; target=&quot;_blank&quot;&gt;4859b52&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_worker:&lt;/strong&gt; Ensure clean imports (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/5b525bc478a4e2c9c0d4fd659b92cc7f7c18016a&quot; target=&quot;_blank&quot;&gt;5b525bc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;list_items:&lt;/strong&gt; Add validation for IP List items to avoid inconsistent state (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/b6733dc4be909a5ab35895a88e519fc2582ccada&quot; target=&quot;_blank&quot;&gt;b6733dc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_access_application:&lt;/strong&gt; Remove all conditions from sweeper (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/3197f1aed61be326d507d9e9e3b795b9f1d18fd7&quot; target=&quot;_blank&quot;&gt;3197f1a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;spectrum_application:&lt;/strong&gt; Map missing fields during spectrum resource import (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6495&quot; target=&quot;_blank&quot;&gt;#6495&lt;/a&gt;) (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/commit/ddb4e722b82c735825a549d651a9da219c142efa&quot; target=&quot;_blank&quot;&gt;ddb4e72&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Upgrade to newer version&lt;/h4&gt;
&lt;p&gt;We suggest waiting to migrate to v5 while we work on stabilization. This helps with avoiding any blocking issues while the Terraform resources are actively being &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;stabilized&lt;/a&gt;. We will be releasing a new migration tool in March 2026 to help support v4 to v5 transitions for our most popular resources.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 19 Dec 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>AI Crawl Control - New AI Crawl Control Overview tab</title><link>https://docs.ahq.lat/changelog/post/2025-12-18-overview-tab/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-12-18-overview-tab/</guid><description>&lt;p&gt;The &lt;strong&gt;Overview&lt;/strong&gt; tab is now the default view in AI Crawl Control. The previous default view with controls for individual AI crawlers is available in the &lt;strong&gt;Crawlers&lt;/strong&gt; tab.&lt;/p&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Executive summary&lt;/strong&gt; — Monitor total requests, volume change, most common status code, most popular path, and high-volume activity&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operator grouping&lt;/strong&gt; — Track crawlers by their operating companies (OpenAI, Microsoft, Google, ByteDance, Anthropic, Meta)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customizable filters&lt;/strong&gt; — Filter your snapshot by date range, crawler, operator, hostname, or path&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-overview-tab.Duwqq4bm_ZmNhCs.webp&quot; alt=&quot;AI Crawl Control Overview tab showing executive summary, metrics, and crawler groups&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Log in to the Cloudflare dashboard and select your account and domain.&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;AI Crawl Control&lt;/strong&gt;, where the &lt;strong&gt;Overview&lt;/strong&gt; tab opens by default with your activity snapshot.&lt;/li&gt;
&lt;li&gt;Use filters to customize your view by date range, crawler, operator, hostname, or path.&lt;/li&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Crawlers&lt;/strong&gt; tab to manage controls for individual crawlers.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Learn more about &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/analyze-ai-traffic/&quot;&gt;analyzing AI traffic&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/manage-ai-crawlers/&quot;&gt;managing AI crawlers&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Analytics - Improved accuracy of cached request classification in analytics</title><link>https://docs.ahq.lat/changelog/post/2025-12-18-cached-request-classification/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-12-18-cached-request-classification/</guid><description>&lt;p&gt;The cached/uncached classification logic used in Zone Overview analytics has been updated to improve accuracy.&lt;/p&gt;
&lt;p&gt;Previously, requests were classified as &quot;cached&quot; based on an overly broad condition that included blocked 403 responses, Snippets requests, and other non-cache request types. This caused inflated cache hit ratios — in some cases showing near-100% cached — and affected approximately 15% of requests classified as cached in rollups.&lt;/p&gt;
&lt;p&gt;The condition has been removed from the Zone Overview page. Cached/uncached classification now aligns with the heuristics used in &lt;a href=&quot;https://docs.ahq.lat/analytics/account-and-zone-analytics/zone-analytics/&quot;&gt;HTTP Analytics&lt;/a&gt;, so only requests genuinely served from cache are counted as cached.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zone Overview&lt;/strong&gt; — Cache ratios now reflect actual cache performance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTTP Analytics&lt;/strong&gt; — No change. HTTP Analytics already used the correct classification logic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Historical data&lt;/strong&gt; — This fix applies to new requests only. Previously logged data is not retroactively updated.&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate><product>Analytics</product><category>Analytics</category></item><item><title>Logs - SentinelOne as Logpush destination</title><link>https://docs.ahq.lat/changelog/post/2025-12-11-sentinelone-destination/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-12-11-sentinelone-destination/</guid><description>&lt;p&gt;Cloudflare Logpush now supports &lt;strong&gt;SentinelOne&lt;/strong&gt; as a native destination.&lt;/p&gt;
&lt;p&gt;Logs from Cloudflare can be sent to &lt;a href=&quot;https://www.sentinelone.com/&quot; target=&quot;_blank&quot;&gt;SentinelOne AI SIEM&lt;/a&gt; via &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/&quot;&gt;Logpush&lt;/a&gt;. The destination can be configured through the Logpush UI in the Cloudflare dashboard or by using the &lt;a href=&quot;https://docs.ahq.lat/api/resources/logpush/subresources/jobs/&quot;&gt;Logpush API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information, refer to the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/sentinelone/&quot;&gt;Destination Configuration&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>AI Crawl Control - Pay Per Crawl (Private beta) - Discovery API, custom pricing, and advanced configuration</title><link>https://docs.ahq.lat/changelog/post/2025-12-10-pay-per-crawl-enhancements/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-12-10-pay-per-crawl-enhancements/</guid><description>&lt;p&gt;Pay Per Crawl is introducing enhancements for both AI crawler operators and site owners, focusing on programmatic discovery, flexible pricing models, and granular configuration control.&lt;/p&gt;
&lt;h4&gt;For AI crawler operators&lt;/h4&gt;
&lt;h4&gt;Discovery API&lt;/h4&gt;
&lt;p&gt;A new authenticated API endpoint allows verified crawlers to programmatically discover domains participating in Pay Per Crawl. Crawlers can use this to build optimized crawl queues, cache domain lists, and identify new participating sites. This eliminates the need to discover payable content through trial requests.&lt;/p&gt;
&lt;p&gt;The API endpoint is &lt;code&gt;GET https://crawlers-api.ai-audit.cfdata.org/charged_zones&lt;/code&gt; and requires Web Bot Auth authentication. Refer to &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/discover-payable-content/&quot;&gt;Discover payable content&lt;/a&gt; for authentication steps, request parameters, and response schema.&lt;/p&gt;
&lt;h4&gt;Payment header signature requirement&lt;/h4&gt;
&lt;p&gt;Payment headers (&lt;code&gt;crawler-exact-price&lt;/code&gt; or &lt;code&gt;crawler-max-price&lt;/code&gt;) must now be included in the Web Bot Auth &lt;code&gt;signature-input&lt;/code&gt; header components. This security enhancement prevents payment header tampering, ensures authenticated payment intent, validates crawler identity with payment commitment, and protects against replay attacks with modified pricing. Crawlers must add their payment header to the list of signed components when &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/crawl-pages/#22-sign-your-request-with-web-bot-auth&quot;&gt;constructing the signature-input header&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;New &lt;code&gt;crawler-error&lt;/code&gt; header&lt;/h4&gt;
&lt;p&gt;Pay Per Crawl error responses now include a new &lt;code&gt;crawler-error&lt;/code&gt; header with 11 specific &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/error-codes/&quot;&gt;error codes&lt;/a&gt; for programmatic handling. Error response bodies remain unchanged for compatibility. These codes enable robust error handling, automated retry logic, and accurate spending tracking.&lt;/p&gt;
&lt;h4&gt;For site owners&lt;/h4&gt;
&lt;h4&gt;Configure free pages&lt;/h4&gt;
&lt;p&gt;Site owners can now offer free access to specific pages like homepages, navigation, or discovery pages while charging for other content. Create a &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-site-owner/advanced-configuration/#disable-pay-per-crawl-by-uri-pattern&quot;&gt;Configuration Rule&lt;/a&gt; in &lt;strong&gt;Rules&lt;/strong&gt; &gt; &lt;strong&gt;Configuration Rules&lt;/strong&gt;, set your URI pattern using wildcard, exact, or prefix matching on the &lt;strong&gt;URI Full&lt;/strong&gt; field, and enable the &lt;strong&gt;Disable Pay Per Crawl&lt;/strong&gt; setting. When disabled for a URI pattern, crawler requests pass through without blocking or charging.&lt;/p&gt;
&lt;p&gt;Some paths are always free to crawl. These paths are: &lt;code&gt;/robots.txt&lt;/code&gt;, &lt;code&gt;/sitemap.xml&lt;/code&gt;, &lt;code&gt;/security.txt&lt;/code&gt;, &lt;code&gt;/.well-known/security.txt&lt;/code&gt;, &lt;code&gt;/crawlers.json&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;AI crawler operators&lt;/strong&gt;: &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/discover-payable-content/&quot;&gt;Discover payable content&lt;/a&gt; | &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-ai-owner/crawl-pages/&quot;&gt;Crawl pages&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Site owners&lt;/strong&gt;: &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/use-pay-per-crawl-as-site-owner/advanced-configuration/&quot;&gt;Advanced configuration&lt;/a&gt;&lt;/p&gt;</description><pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.14.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-12-05-terraform-v5140-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-12-05-terraform-v5140-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new Terraform v5 Provider. We are aware of the high number of issues reported by the Cloudflare community related to the v5 release. We have committed to releasing improvements on a &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5774&quot; target=&quot;_blank&quot;&gt;2-3 week cadence&lt;/a&gt; to ensure its stability and reliability, including the v5.14 release. We have also pivoted from an &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;issue-to-issue approach to a resource-per-resource approach&lt;/a&gt; - we will be focusing on specific resources to not only stabilize the resource but also ensure it is migration-friendly for those migrating from v4 to v5.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. They make our provider stronger and help us build products that reflect your needs.&lt;/p&gt;
&lt;p&gt;This release includes bug fixes, the stabilization of even more popular resources, and more.&lt;/p&gt;
&lt;h4&gt;Deprecation notice&lt;/h4&gt;
&lt;p&gt;Resource affected: &lt;code&gt;api_shield_discovery_operation&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Cloudflare continuously discovers and updates API endpoints and web assets of your web applications. To improve the maintainability of these dynamic resources, we are working on reducing the need to actively engage with discovered operations.&lt;/p&gt;
&lt;p&gt;The corresponding public API endpoint of &lt;a href=&quot;https://docs.ahq.lat/api/resources/api_gateway/subresources/discovery/subresources/operations/&quot; target=&quot;_blank&quot;&gt;discovered operations&lt;/a&gt; is not affected and will continue to be supported.&lt;/p&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pages_project&lt;/strong&gt;: Add v4 -&gt; v5 migration tests (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/pull/6506&quot; target=&quot;_blank&quot;&gt;#6506&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;account_members&lt;/strong&gt;: Makes member policies a set (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6488&quot; target=&quot;_blank&quot;&gt;#6488&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pages_project&lt;/strong&gt;: Ensures non empty refresh plans (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6515&quot; target=&quot;_blank&quot;&gt;#6515&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R2&lt;/strong&gt;: Improves sweeper (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6512&quot; target=&quot;_blank&quot;&gt;#6512&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_kv&lt;/strong&gt;: Ignores value import state for verify (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6521&quot; target=&quot;_blank&quot;&gt;#6521&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script&lt;/strong&gt;: No longer treats the migrations attribute as WriteOnly (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6489&quot; target=&quot;_blank&quot;&gt;#6489&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script&lt;/strong&gt;: Resolves resource drift when worker has unmanaged secret (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6504&quot; target=&quot;_blank&quot;&gt;#6504&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_device_posture_rule&lt;/strong&gt;: Preserves input.version and other fields (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6500&quot; target=&quot;_blank&quot;&gt;#6500&lt;/a&gt;) and (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6503&quot; target=&quot;_blank&quot;&gt;#6503&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_custom_profile&lt;/strong&gt;: Adds sweepers for &lt;code&gt;dlp_custom_profile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zone_subscription|account_subscription&lt;/strong&gt;: Adds &lt;code&gt;partners_ent&lt;/code&gt; as valid enum for &lt;code&gt;rate_plan.id&lt;/code&gt; (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6505&quot; target=&quot;_blank&quot;&gt;#6505&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zone&lt;/strong&gt;: Ensures datasource model schema parity (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6487&quot; target=&quot;_blank&quot;&gt;#6487&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;subscription&lt;/strong&gt;: Updates import signature to accept account_id/subscription_id to import account subscription (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6510&quot; target=&quot;_blank&quot;&gt;#6510&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Upgrade to newer version&lt;/h4&gt;
&lt;p&gt;We suggest waiting to migrate to v5 while we work on stabilization. This helps with avoiding any blocking issues while the Terraform resources are actively being &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;stabilized&lt;/a&gt;. We will be releasing a new migration tool in March 2026 to help support v4 to v5 transitions for our most popular resources.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot; target=&quot;_blank&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.13.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-11-20-terraform-v5130-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-20-terraform-v5130-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new Terraform v5 Provider. We are aware of the high number of issues reported by the Cloudflare community related to the v5 release. We have committed to releasing improvements on a &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5774&quot; target=&quot;_blank&quot;&gt;2-3 week cadence&lt;/a&gt; to ensure its stability and reliability, including the v5.13 release. We have also pivoted from an &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237&quot; target=&quot;_blank&quot;&gt;issue-to-issue approach to a resource-per-resource approach&lt;/a&gt; - we will be focusing on specific resources to not only stabilize the resource but also ensure it is migration-friendly for those migrating from v4 to v5.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. They make our provider stronger and help us build products that reflect your needs.&lt;/p&gt;
&lt;p&gt;This release includes new features, new resources and data sources, bug fixes, updates to our Developer Documentation, and more.&lt;/p&gt;
&lt;h4&gt;Breaking Change&lt;/h4&gt;
&lt;p&gt;Please be aware that there are breaking changes for the &lt;code&gt;cloudflare_api_token&lt;/code&gt; and &lt;code&gt;cloudflare_account_token&lt;/code&gt; resources. These changes eliminate configuration drift caused by policy ordering differences in the Cloudflare API.&lt;/p&gt;
&lt;p&gt;For more specific information about the changes or the actions required, please see the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.13.0&quot; target=&quot;_blank&quot;&gt;detailed Repository changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Features&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New resources and data sources added&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;cloudflare_connectivity_directory&lt;/li&gt;
&lt;li&gt;cloudflare_sso_connector&lt;/li&gt;
&lt;li&gt;cloudflare_universal_ssl_setting&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;api_token+account_tokens:&lt;/strong&gt; state upgrader and schema bump (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6472&quot; target=&quot;_blank&quot;&gt;#6472&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;docs:&lt;/strong&gt; make docs explicit when a resource does not have import support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magic_transit_connector:&lt;/strong&gt; support self-serve license key (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6398&quot; target=&quot;_blank&quot;&gt;#6398&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;worker_version:&lt;/strong&gt; add content_base64 support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;worker_version:&lt;/strong&gt; boolean support for run_worker_first (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6407&quot; target=&quot;_blank&quot;&gt;#6407&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script_subdomains:&lt;/strong&gt; add import support  (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6375&quot; target=&quot;_blank&quot;&gt;#6375&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_access_application:&lt;/strong&gt; add proxy_endpoint for ZT Access Application (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6453&quot; target=&quot;_blank&quot;&gt;#6453&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dlp_predefined_profile:&lt;/strong&gt; Switch DLP Predefined Profile endpoints, introduce enabled_entries attribute&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Bug Fixes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;account_token:&lt;/strong&gt; token policy order and nested resources (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6440&quot; target=&quot;_blank&quot;&gt;#6440&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;allow r2_bucket_event_notification to be applied twice without failing (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6419&quot; target=&quot;_blank&quot;&gt;#6419&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cloudflare_worker+cloudflare_worker_version:&lt;/strong&gt; import for the resources (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6357&quot; target=&quot;_blank&quot;&gt;#6357&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dns_record:&lt;/strong&gt; inconsistent apply error (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6452&quot; target=&quot;_blank&quot;&gt;#6452&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pages_domain:&lt;/strong&gt; resource tests (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6338&quot; target=&quot;_blank&quot;&gt;#6338&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pages_project:&lt;/strong&gt; unintended resource state drift (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6377&quot; target=&quot;_blank&quot;&gt;#6377&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queue_consumer:&lt;/strong&gt; id population (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6181&quot; target=&quot;_blank&quot;&gt;#6181&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_kv:&lt;/strong&gt; multipart request  (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6367&quot; target=&quot;_blank&quot;&gt;#6367&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_kv:&lt;/strong&gt; updating workers metadata attribute to be read from endpoint (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6386&quot; target=&quot;_blank&quot;&gt;#6386&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script_subdomain:&lt;/strong&gt; add note to cloudflare_workers_script_subdomain about redundancy with cloudflare_worker (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6383&quot; target=&quot;_blank&quot;&gt;#6383&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;workers_script:&lt;/strong&gt; allow config.run_worker_first to accept list input&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_device_custom_profile_local_domain_fallback:&lt;/strong&gt; drift issues (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6365&quot; target=&quot;_blank&quot;&gt;#6365&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_device_custom_profile:&lt;/strong&gt; resolve drift issues (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6364&quot; target=&quot;_blank&quot;&gt;#6364&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_dex_test:&lt;/strong&gt; correct configurability for &apos;targeted&apos; attribute to fix drift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zero_trust_tunnel_cloudflared_config:&lt;/strong&gt; remove warp_routing from cloudflared_config (&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/6471&quot; target=&quot;_blank&quot;&gt;#6471&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;We suggest holding off on migration to v5 while we work on stabilization. This help will you avoid any blocking issues while the Terraform resources are actively being stabilized. We will be releasing a new migration tool in March 2026 to help support v4 to v5 transitions for our most popular resources.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot; target=&quot;_blank&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 20 Nov 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Log Explorer - Fixed custom SQL date picker inconsistencies</title><link>https://docs.ahq.lat/changelog/post/2025-11-13-fixed-custom-date/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-13-fixed-custom-date/</guid><description>&lt;p&gt;We&apos;ve resolved a bug in Log Explorer that caused inconsistencies between the custom SQL date field filters and the date picker dropdown. Previously, users attempting to filter logs based on a custom date field via a SQL query sometimes encountered unexpected results or mismatching dates when using the interactive date picker.&lt;/p&gt;
&lt;p&gt;This fix ensures that the custom SQL date field filters now align correctly with the selection made in the date picker dropdown, providing a reliable and predictable filtering experience for your log data. This is particularly important for users creating custom log views based on time-sensitive fields.&lt;/p&gt;</description><pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Log Explorer - Log Explorer adds 14 new datasets</title><link>https://docs.ahq.lat/changelog/post/2025-11-13-new-datasets/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-13-new-datasets/</guid><description>&lt;p&gt;We&apos;ve significantly enhanced Log Explorer by adding support for 14 additional Cloudflare product datasets.&lt;/p&gt;
&lt;p&gt;This expansion enables Operations and Security Engineers to gain deeper visibility and telemetry across a wider range of Cloudflare services. By integrating these new datasets, users can now access full context to efficiently investigate security incidents, troubleshoot application performance issues, and correlate logged events across different layers (like application and network) within a single interface. This capability is crucial for a complete and cohesive understanding of event flows across your Cloudflare environment.&lt;/p&gt;
&lt;p&gt;The newly supported datasets include:&lt;/p&gt;
&lt;h4&gt;Zone Level&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Dns_logs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Nel_reports&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Page_shield_events&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Spectrum_events&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Zaraz_events&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Account Level&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Audit Logs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Audit_logs_v2&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Biso_user_actions&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DNS firewall logs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Email_security_alerts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Magic Firewall IDS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Network Analytics&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Sinkhole HTTP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ipsec_logs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;&lt;code&gt;Auditlog&lt;/code&gt; and &lt;code&gt;Auditlog_v2&lt;/code&gt; datasets require &lt;code&gt;audit-log.read&lt;/code&gt; permission for querying.&lt;/p&gt;&lt;p&gt;The &lt;code&gt;biso_user_actions&lt;/code&gt; dataset requires either the &lt;code&gt;Super Admin&lt;/code&gt; or &lt;code&gt;ZT PII&lt;/code&gt; role for querying.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;h4&gt;Example: Correlating logs&lt;/h4&gt;
&lt;p&gt;You can now use Log Explorer to query and filter with each of these datasets. For example, you can identify an IP address exhibiting suspicious behavior in the &lt;code&gt;FW_event&lt;/code&gt; logs, and then instantly pivot to the &lt;code&gt;Network Analytics&lt;/code&gt; logs or &lt;code&gt;Access&lt;/code&gt; logs to see its network-level traffic profile or if it bypassed a corporate policy.&lt;/p&gt;
&lt;p&gt;To learn more and get started, refer to the &lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer documentation&lt;/a&gt; and the &lt;a href=&quot;https://docs.ahq.lat/logs/&quot;&gt;Cloudflare Logs documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Log Explorer - Resize your custom SQL window in Log Explorer</title><link>https://docs.ahq.lat/changelog/post/2025-11-11-resize-sql-window/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-11-resize-sql-window/</guid><description>&lt;p&gt;We&apos;re excited to announce a quality-of-life improvement for Log Explorer users. You can now resize the custom SQL query window to accommodate longer and more complex queries.&lt;/p&gt;
&lt;p&gt;Previously, if you were writing a long custom SQL query, the fixed-size window required excessive scrolling to view the full query. This update allows you to easily drag the bottom edge of the query window to make it taller. This means you can view your entire custom query at once, improving the efficiency and experience of writing and debugging complex queries.&lt;/p&gt;
&lt;p&gt;To learn more and get started, refer to the &lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Logs - Logpush Health Dashboards</title><link>https://docs.ahq.lat/changelog/post/2025-11-11-health-dashboards/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-11-health-dashboards/</guid><description>&lt;p&gt;We’re excited to introduce &lt;strong&gt;Logpush Health Dashboards&lt;/strong&gt;, giving customers real-time visibility into the status, reliability, and performance of their &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/&quot;&gt;Logpush&lt;/a&gt; jobs. Health dashboards make it easier to detect delivery issues, monitor job stability, and track performance across destinations. The dashboards are divided into two sections:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Upload Health&lt;/strong&gt;: See how much data was successfully uploaded, where drops occurred, and how your jobs are performing overall. This includes data completeness, success rate, and upload volume.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Upload Reliability&lt;/strong&gt; – Diagnose issues impacting stability, retries, or latency, and monitor key metrics such as retry counts, upload duration, and destination availability.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/Health-Dashboard.CP0mV0IW_Z1GdXr6.webp&quot; alt=&quot;Health Dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Health Dashboards can be accessed from the Logpush page in the Cloudflare dashboard at the account or zone level, under the Health tab. For more details, refer to our &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-health&quot;&gt;&lt;strong&gt;Logpush Health Dashboards&lt;/strong&gt;&lt;/a&gt; documentation, which includes a comprehensive troubleshooting guide to help interpret and resolve common issues.&lt;/p&gt;</description><pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - cloudflared proxy-dns command will be removed starting February 2, 2026</title><link>https://docs.ahq.lat/changelog/post/2025-11-11-cloudflared-proxy-dns/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-11-cloudflared-proxy-dns/</guid><description>&lt;p&gt;Starting February 2, 2026, the &lt;code&gt;cloudflared proxy-dns&lt;/code&gt; command will be removed from all new &lt;code&gt;cloudflared&lt;/code&gt; &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/downloads/&quot;&gt;releases&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This change is being made to enhance security and address a potential vulnerability in an underlying DNS library. This vulnerability is specific to the &lt;code&gt;proxy-dns&lt;/code&gt; command and does not affect any other &lt;code&gt;cloudflared&lt;/code&gt; features, such as the core &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; service.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;proxy-dns&lt;/code&gt; command, which runs a client-side &lt;a href=&quot;https://docs.ahq.lat/1.1.1.1/encryption/dns-over-https/&quot;&gt;DNS-over-HTTPS (DoH)&lt;/a&gt; proxy, has been an officially undocumented feature for several years. This functionality is fully and securely supported by our actively developed products.&lt;/p&gt;
&lt;p&gt;Versions of &lt;code&gt;cloudflared&lt;/code&gt; released before this date will not be affected and will continue to operate. However, note that our &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/downloads/#deprecated-releases&quot;&gt;official support policy&lt;/a&gt; for any &lt;code&gt;cloudflared&lt;/code&gt; release is one year from its release date.&lt;/p&gt;
&lt;h4&gt;Migration paths&lt;/h4&gt;
&lt;p&gt;We strongly advise users of this undocumented feature to migrate to one of the following officially supported solutions before February 2, 2026, to continue benefiting from secure &lt;a href=&quot;https://docs.ahq.lat/1.1.1.1/encryption/dns-over-https/&quot;&gt;DNS-over-HTTPS&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;End-user devices&lt;/h4&gt;
&lt;p&gt;The preferred method for enabling DNS-over-HTTPS on user devices is the &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/team-and-resources/devices/cloudflare-one-client/&quot;&gt;Cloudflare WARP client&lt;/a&gt;. The WARP client automatically secures and proxies all DNS traffic from your device, integrating it with your organization&apos;s &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/traffic-policies/&quot;&gt;Zero Trust policies&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/reusable-components/posture-checks/&quot;&gt;posture checks&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Servers, routers, and IoT devices&lt;/h4&gt;
&lt;p&gt;For scenarios where installing a client on every device is not possible (such as servers, routers, or IoT devices), we recommend using the &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;WARP Connector&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Instead of running &lt;code&gt;cloudflared proxy-dns&lt;/code&gt; on a machine, you can install the WARP Connector on a single Linux host within your private network. This connector will act as a gateway, securely routing all DNS and network traffic from your &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/routes/&quot;&gt;entire subnet&lt;/a&gt; to Cloudflare for &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/traffic-policies/&quot;&gt;filtering and logging&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>AI Crawl Control - Crawler drilldowns with extended actions menu</title><link>https://docs.ahq.lat/changelog/post/2025-11-10-ai-crawl-control-crawler-info/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-10-ai-crawl-control-crawler-info/</guid><description>&lt;p&gt;AI Crawl Control now supports per-crawler drilldowns with an extended actions menu and status code analytics. Drill down into Metrics, Cloudflare Radar, and Security Analytics, or export crawler data for use in &lt;a href=&quot;https://docs.ahq.lat/waf/custom-rules/&quot;&gt;WAF custom rules&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/rules/url-forwarding/&quot;&gt;Redirect Rules&lt;/a&gt;, and robots.txt files.&lt;/p&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;h4&gt;Status code distribution chart&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Metrics&lt;/strong&gt; tab includes a status code distribution chart showing HTTP response codes (2xx, 3xx, 4xx, 5xx) over time. Filter by individual crawler, category, operator, or time range to analyze how specific crawlers interact with your site.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-status-codes.DESJcAiK_TSrPM.webp&quot; alt=&quot;AI Crawl Control status code distribution chart&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;Extended actions menu&lt;/h4&gt;
&lt;p&gt;Each crawler row includes a three-dot menu with per-crawler actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;View Metrics&lt;/strong&gt; — Filter the AI Crawl Control Metrics page to the selected crawler.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View on Cloudflare Radar&lt;/strong&gt; — Access verified crawler details on Cloudflare Radar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copy User Agent&lt;/strong&gt; — Copy user agent strings for use in WAF custom rules, Redirect Rules, or robots.txt files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View in Security Analytics&lt;/strong&gt; — Filter Security Analytics by detection IDs (Bot Management customers).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copy Detection ID&lt;/strong&gt; — Copy detection IDs for use in WAF custom rules (Bot Management customers).&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-crawler-info.Dwc39LqI_182so6.webp&quot; alt=&quot;AI Crawl Control crawler actions menu&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Log in to the Cloudflare dashboard, and select your account and domain.&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;AI Crawl Control&lt;/strong&gt; &gt; &lt;strong&gt;Metrics&lt;/strong&gt; to access the status code distribution chart.&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;AI Crawl Control&lt;/strong&gt; &gt; &lt;strong&gt;Crawlers&lt;/strong&gt; and select the three-dot menu for any crawler to access per-crawler actions.&lt;/li&gt;
&lt;li&gt;Select multiple crawlers to use bulk copy buttons for user agents or detection IDs.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Learn more about &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/&quot;&gt;AI Crawl Control&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Logs - Logpush Permission Update for Zero Trust Datasets</title><link>https://docs.ahq.lat/changelog/post/2025-11-05-logpush-permissions-update/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-05-logpush-permissions-update/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/permissions/&quot;&gt;Permissions&lt;/a&gt; for managing Logpush jobs related to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/&quot;&gt;Zero Trust datasets&lt;/a&gt; (Access, Gateway, and DEX) have been updated to improve data security and enforce appropriate access controls.&lt;/p&gt;
&lt;p&gt;To view, create, update, or delete Logpush jobs for Zero Trust datasets, users must now have both of the following permissions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Logs Edit&lt;/li&gt;
&lt;li&gt;Zero Trust: PII Read&lt;/li&gt;
&lt;/ul&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;Update your UI, API or Terraform configurations to include the new permissions. Requests to Zero Trust datasets will fail due to insufficient access without the additional permission.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;</description><pubDate>Wed, 05 Nov 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Log Explorer - Log Explorer now supports query cancellation</title><link>https://docs.ahq.lat/changelog/post/2025-11-04-query-cancellation/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-04-query-cancellation/</guid><description>&lt;p&gt;We&apos;re excited to announce that Log Explorer users can now cancel queries that are currently running.&lt;/p&gt;
&lt;p&gt;This new feature addresses a common pain point: waiting for a long, unintended, or misconfigured query to complete before you can submit a new, correct one. With query cancellation, you can immediately stop the execution of any undesirable query, allowing you to quickly craft and submit a new query, significantly improving your investigative workflow and productivity within Log Explorer.&lt;/p&gt;</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Log Explorer - Log Explorer now shows query result distribution</title><link>https://docs.ahq.lat/changelog/post/2025-11-13-query-result-distribution/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-11-13-query-result-distribution/</guid><description>&lt;p&gt;We&apos;re excited to announce a new feature in Log Explorer that significantly enhances how you analyze query results: the Query results distribution chart.&lt;/p&gt;
&lt;p&gt;This new chart provides a graphical distribution of your results over the time window of the query. Immediately after running a query, you will see the distribution chart above your result table. This visualization allows Log Explorer users to quickly spot trends, identify anomalies, and understand the temporal concentration of log events that match their criteria. For example, you can visually confirm if a spike in traffic or errors occurred at a specific time, allowing you to focus your investigation efforts more effectively. This feature makes it faster and easier to extract meaningful insights from your vast log data.&lt;/p&gt;
&lt;p&gt;The chart will dynamically update to reflect the logs matching your current query.&lt;/p&gt;</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Cloudflare Fundamentals - Introducing email two-factor authentication</title><link>https://docs.ahq.lat/changelog/post/2025-10-30-email-2fa/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-30-email-2fa/</guid><description>&lt;p&gt;Two-factor authentication (2FA) is one of the best ways to protect your account from the risk of account takeover. Cloudflare has offered phishing resistant 2FA options including hardware based keys (for example, a Yubikey) and app based TOTP (time-based one-time password) options which use apps like Google or Microsoft&apos;s Authenticator app. Unfortunately, while these solutions are very secure, they can be lost if you misplace the hardware based key, or lose the phone which includes that app. The result is that users sometimes get locked out of their accounts and need to contact support.&lt;/p&gt;
&lt;p&gt;Today, we are announcing the addition of email as a 2FA factor for all Cloudflare accounts. Email 2FA is in wide use across the industry as a least common denominator for 2FA because it is low friction, loss resistant, and still improves security over username/password login only. We also know that most commercial email providers already require 2FA, so your email address is usually well protected already.&lt;/p&gt;
&lt;p&gt;You can now enable email 2FA on the Cloudflare dashboard:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Profile&lt;/strong&gt; at the top right corner.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Two-Factor Authentication&lt;/strong&gt;, select &lt;strong&gt;Set up&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Sign-in security best practices&lt;/h4&gt;
&lt;p&gt;Cloudflare is critical infrastructure, and you should protect it as such. Review the following best practices and make sure you are doing your part to secure your account:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use a unique password for every website, including Cloudflare, and store it in a password manager like 1Password or Keeper. These services are cross-platform and simplify the process of managing secure passwords.&lt;/li&gt;
&lt;li&gt;Use 2FA to make it harder for an attacker to get into your account in the event your password is leaked.&lt;/li&gt;
&lt;li&gt;Store your backup codes securely. A password manager is the best place since it keeps the backup codes encrypted, but you can also print them and put them somewhere safe in your home.&lt;/li&gt;
&lt;li&gt;If you use an app to manage your 2FA keys, enable cloud backup, so that you don&apos;t lose your keys in the event you lose your phone.&lt;/li&gt;
&lt;li&gt;If you use a custom email domain to sign in, &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/dashboard-sso/&quot;&gt;configure SSO&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you use a public email domain like Gmail or Hotmail, you can also use social login with Apple, GitHub, or Google to sign in.&lt;/li&gt;
&lt;li&gt;If you manage a Cloudflare account for work:
&lt;ul&gt;
&lt;li&gt;Have at least two administrators in case one of them unexpectedly leaves your company.&lt;/li&gt;
&lt;li&gt;Use SCIM to automate permissions management for members in your Cloudflare account.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - Revamped Member Management UI</title><link>https://docs.ahq.lat/changelog/post/2025-10-30-member-management-improvements/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-30-member-management-improvements/</guid><description>&lt;p&gt;As Cloudflare&apos;s platform has grown, so has the need for precise, role-based access control. We’ve redesigned the Member Management experience in the Dashboard to help administrators more easily discover, assign, and refine permissions for specific principals.&lt;/p&gt;
&lt;h4&gt;What&apos;s New&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Refreshed member invite flow&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We overhauled the Invite Members UI to simplify inviting users and assigning permissions.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-10-30-invite-experience.B7F3VQ_y_2q5f79.webp&quot; alt=&quot;Updated Invite Flow UX&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Refreshed Members Overview Page&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&apos;ve updated the Members Overview Page to clearly display:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Member 2FA status&lt;/li&gt;
&lt;li&gt;Which members hold Super Admin privileges&lt;/li&gt;
&lt;li&gt;API access settings per member&lt;/li&gt;
&lt;li&gt;Member onboarding state (accepted vs pending invite)&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-10-30-member-management-screen.BLc2lx98_2sRE7I.webp&quot; alt=&quot;Updated Member Management Overview&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;New Member Permission Policies Details View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&apos;ve created a new member details screen that shows all permission policies associated with a member; including policies inherited from group associations to make it easier for members to understand the effective permissions they have.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-10-30-permission-policies-screen.pMj53si2_2jP7PX.webp&quot; alt=&quot;Updated Permission Policies Details Screen&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Improved Member Permission Workflow&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We redesigned the permission management experience to make it faster and easier for administrators to review roles and grant access.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-10-30-permission-policies-screen.pMj53si2_2jP7PX.webp&quot; alt=&quot;Updated Member Permission Management UX&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Account-scoped Policies Restrictions Relaxed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Previously, customers could only associate a single account-scoped policy with a member. We&apos;ve relaxed this restriction, and now Administrators can now assign multiple account-scoped policies to the same member; bringing policy assignment behavior in-line with user-groups and providing greater flexibility in managing member permissions.&lt;/p&gt;</description><pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Rules - New TCP-based fields available in Rulesets</title><link>https://docs.ahq.lat/changelog/post/2025-10-30-tcp-rtt-and-tcp-fields/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-30-tcp-rtt-and-tcp-fields/</guid><description>&lt;h4&gt;Build rules based on TCP transport and latency&lt;/h4&gt;
&lt;p&gt;Cloudflare now provides two new request fields in the Ruleset engine that let you make decisions based on whether a request used TCP and the measured TCP round-trip time between the client and Cloudflare. These fields help you understand protocol usage across your traffic and build policies that respond to network performance. For example, you can distinguish TCP from QUIC traffic or route high latency requests to alternative origins when needed.&lt;/p&gt;
&lt;hr&gt;
&lt;h4&gt;New fields&lt;/h4&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.edge.client_tcp&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Boolean&lt;/td&gt;&lt;td&gt;Indicates whether the request used TCP. A value of true means the client connected using TCP instead of QUIC.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;cf.timings.client_tcp_rtt_msec&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Number&lt;/td&gt;&lt;td&gt;Reports the smoothed TCP round-trip time between the client and Cloudflare in milliseconds. For example, a value of 20 indicates roughly twenty milliseconds of RTT.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Example filter expression:&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;cf.edge.client_tcp &amp;#x26;&amp;#x26; cf.timings.client_tcp_rtt_msec &amp;#x3C; 100&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;More information can be found in the Rules language &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/&quot;&gt;fields reference&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 30 Oct 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Logs - Azure Sentinel Connector</title><link>https://docs.ahq.lat/changelog/post/2025-10-27-sentinel-connector/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-27-sentinel-connector/</guid><description>&lt;p&gt;Logpush now supports integration with &lt;a href=&quot;https://www.microsoft.com/en-us/security/business/siem-and-xdr/microsoft-sentinel&quot; target=&quot;_blank&quot;&gt;Microsoft Sentinel&lt;/a&gt;.The new Azure Sentinel Connector built on Microsoft’s Codeless Connector Framework (CCF), is now available. This solution replaces the previous Azure Functions-based connector, offering significant improvements in security, data control, and ease of use for customers. Logpush customers can send logs to Azure Blob Storage and configure this new Sentinel Connector to ingest those logs directly into Microsoft Sentinel.&lt;/p&gt;
&lt;p&gt;This upgrade significantly streamlines log ingestion, improves security, and provides greater control:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simplified Implementation: Easier for engineering teams to set up and maintain.&lt;/li&gt;
&lt;li&gt;Cost Control: New support for Data Collection Rules (DCRs) allows you to filter and transform logs at ingestion time, offering potential cost savings.&lt;/li&gt;
&lt;li&gt;Enhanced Security: CCF provides a higher level of security compared to the older Azure Functions connector.&lt;/li&gt;
&lt;li&gt;Data Lake Integration: Includes native integration with Data Lake.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Find the new solution &lt;a href=&quot;https://marketplace.microsoft.com/en-us/product/azure-application/cloudflare.azure-sentinel-solution-cloudflare-ccf?tab=Overview&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and refer to the &lt;a href=&quot;https://docs.ahq.lat/analytics/analytics-integrations/sentinel/#supported-logs:~:text=WorkBook%20fields,-Analytic%20rules&quot; target=&quot;_blank&quot;&gt;Cloudflare&apos;s developer documentation&lt;/a&gt;for more information on the connector, including setup steps, supported logs and Microsoft&apos;s resources.&lt;/p&gt;</description><pubDate>Mon, 27 Oct 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>AI Crawl Control - New Robots.txt tab for tracking crawler compliance</title><link>https://docs.ahq.lat/changelog/post/2025-10-21-track-robots-txt/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-21-track-robots-txt/</guid><description>&lt;p&gt;AI Crawl Control now includes a &lt;strong&gt;Robots.txt&lt;/strong&gt; tab that provides insights into how AI crawlers interact with your &lt;code&gt;robots.txt&lt;/code&gt; files.&lt;/p&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;p&gt;The Robots.txt tab allows you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monitor the health status of &lt;code&gt;robots.txt&lt;/code&gt; files across all your hostnames, including HTTP status codes, and identify hostnames that need a &lt;code&gt;robots.txt&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;Track the total number of requests to each &lt;code&gt;robots.txt&lt;/code&gt; file, with breakdowns of successful versus unsuccessful requests.&lt;/li&gt;
&lt;li&gt;Check whether your &lt;code&gt;robots.txt&lt;/code&gt; files contain &lt;a href=&quot;https://contentsignals.org/&quot; target=&quot;_blank&quot;&gt;Content Signals&lt;/a&gt; directives for AI training, search, and AI input.&lt;/li&gt;
&lt;li&gt;Identify crawlers that request paths explicitly disallowed by your &lt;code&gt;robots.txt&lt;/code&gt; directives, including the crawler name, operator, violated path, specific directive, and violation count.&lt;/li&gt;
&lt;li&gt;Filter &lt;code&gt;robots.txt&lt;/code&gt; request data by crawler, operator, category, and custom time ranges.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Take action&lt;/h4&gt;
&lt;p&gt;When you identify non-compliant crawlers, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Block the crawler in the &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/manage-ai-crawlers/&quot;&gt;Crawlers tab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create custom &lt;a href=&quot;https://docs.ahq.lat/waf/&quot;&gt;WAF rules&lt;/a&gt; for path-specific security&lt;/li&gt;
&lt;li&gt;Use &lt;a href=&quot;https://docs.ahq.lat/rules/url-forwarding/&quot;&gt;Redirect Rules&lt;/a&gt; to guide crawlers to appropriate areas of your site&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get started, go to &lt;strong&gt;AI Crawl Control&lt;/strong&gt; &gt; &lt;strong&gt;Robots.txt&lt;/strong&gt; in the Cloudflare dashboard. Learn more in the &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/track-robots-txt/&quot;&gt;Track robots.txt documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Cloudflare Fundamentals - Increased HTTP header size limit to 128 KB</title><link>https://docs.ahq.lat/changelog/post/2025-10-16-header-limit-increase/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-16-header-limit-increase/</guid><description>&lt;h4&gt;CDN now supports 128 KB request and response headers 🚀&lt;/h4&gt;
&lt;p&gt;We&apos;re excited to announce a significant increase in the maximum header size supported by Cloudflare&apos;s Content Delivery Network (CDN). Cloudflare now supports up to &lt;strong&gt;128 KB&lt;/strong&gt; for both &lt;strong&gt;request and response headers&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Previously, customers were limited to a total of 32 KB for request or response headers, with a maximum of 16 KB per individual header. Larger headers could cause requests to fail with &lt;code&gt;HTTP 413&lt;/code&gt; (Request Header Fields Too Large) errors.&lt;/p&gt;
&lt;hr&gt;
&lt;h4&gt;What&apos;s new?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Support for large headers:&lt;/strong&gt; You can now utilize much larger headers, whether as a single large header up to 128 KB or split over multiple headers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduces &lt;code&gt;413&lt;/code&gt; and &lt;code&gt;520&lt;/code&gt; HTTP errors:&lt;/strong&gt; This change drastically reduces the likelihood of customers encountering &lt;code&gt;HTTP 413&lt;/code&gt; errors from large request headers or &lt;code&gt;HTTP 520&lt;/code&gt; errors caused by oversized response headers, improving the overall reliability of your web applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhanced functionality:&lt;/strong&gt; This is especially beneficial for applications that rely on:
&lt;ul&gt;
&lt;li&gt;A large number of cookies.&lt;/li&gt;
&lt;li&gt;Large Content-Security-Policy (CSP) response headers.&lt;/li&gt;
&lt;li&gt;Advanced use cases with Cloudflare Workers that generate large response headers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This enhancement improves compatibility with Cloudflare&apos;s CDN, enabling more use cases that previously failed due to header size limits.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;To learn more and get started, refer to the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/reference/connection-limits/#request-limits&quot;&gt;Cloudflare Fundamentals documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>AI Crawl Control - Enhanced AI Crawl Control metrics with new drilldowns and filters</title><link>https://docs.ahq.lat/changelog/post/2025-10-14-enhanced-metrics-drilldowns/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-14-enhanced-metrics-drilldowns/</guid><description>&lt;p&gt;AI Crawl Control now provides enhanced metrics and CSV data exports to help you better understand AI crawler activity across your sites.&lt;/p&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;h4&gt;Track crawler requests over time&lt;/h4&gt;
&lt;p&gt;Visualize crawler activity patterns over time, and group data by different dimensions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;By Crawler&lt;/strong&gt; — Track activity from individual AI crawlers (GPTBot, ClaudeBot, Bytespider)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;By Category&lt;/strong&gt; — Analyze crawler purpose or type&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;By Operator&lt;/strong&gt; — Discover which companies (OpenAI, Anthropic, ByteDance) are crawling your site&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;By Host&lt;/strong&gt; — Break down activity across multiple subdomains&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;By Status Code&lt;/strong&gt; — Monitor HTTP response codes to crawlers (200s, 300s, 400s, 500s)&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-requests-over-time.BtRyz0OT_ZpotRm.webp&quot; alt=&quot;AI Crawl Control requests over time chart with grouping tabs&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;&lt;/figure&gt;
&lt;h4&gt;Analyze referrer data (Paid plans)&lt;/h4&gt;
&lt;p&gt;Identify traffic sources with referrer analytics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;View top referrers driving traffic to your site&lt;/li&gt;
&lt;li&gt;Understand discovery patterns and content popularity from AI operators&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-top-referrers.CEUAwpd8_YrhT4.webp&quot; alt=&quot;AI Crawl Control top referrers breakdown&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;&lt;/figure&gt;
&lt;h4&gt;Export data&lt;/h4&gt;
&lt;p&gt;Download your filtered view as a CSV:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Includes all applied filters and groupings&lt;/li&gt;
&lt;li&gt;Useful for custom reporting and deeper analysis&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Get started&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Log in to the Cloudflare dashboard, and select your account and domain.&lt;/li&gt;
&lt;li&gt;Go to &lt;strong&gt;AI Crawl Control&lt;/strong&gt; &gt; &lt;strong&gt;Metrics&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Use the grouping tabs to explore different views of your data.&lt;/li&gt;
&lt;li&gt;Apply filters to focus on specific crawlers, time ranges, or response codes.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Download CSV&lt;/strong&gt; to export your filtered data for further analysis.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Learn more about &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control&quot;&gt;AI Crawl Control&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Cloudflare Fundamentals - Single sign-on now manageable in the user experience</title><link>https://docs.ahq.lat/changelog/post/2025-10-14-sso-self-service-ux/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-14-sso-self-service-ux/</guid><description>&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-10-14-sso-configuration-ux.DLkIKSax_Z3pbMD.webp&quot; alt=&quot;Screenshot of new user experience for managing SSO&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;During Birthday Week, we announced that &lt;a href=&quot;https://blog.cloudflare.com/enterprise-grade-features-for-all/&quot; target=&quot;_blank&quot;&gt;single sign-on (SSO) is available for free&lt;/a&gt; to everyone who signs in with a custom email domain and maintains a compatible &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/integrations/identity-providers/&quot; target=&quot;_blank&quot;&gt;identity provider&lt;/a&gt;. SSO minimizes user friction around login and provides the strongest security posture available. At the time, this could only be configured using the API.&lt;/p&gt;
&lt;p&gt;Today, we are launching a new user experience which allows users to manage their SSO configuration from within the Cloudflare dashboard. You can access this by going to &lt;strong&gt;Manage account&lt;/strong&gt; &gt; &lt;strong&gt;Members&lt;/strong&gt; &gt; &lt;strong&gt;Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/dashboard-sso/&quot;&gt;Cloudflare dashboard SSO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - Automated reminders for backup codes</title><link>https://docs.ahq.lat/changelog/post/2025-10-07-recovery-codes/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-07-recovery-codes/</guid><description>&lt;p&gt;The most common reason users contact Cloudflare support is lost two-factor authentication (2FA) credentials. Cloudflare supports both app-based and hardware keys for 2FA, but you could lose access to your account if you lose these. Over the past few weeks, we have been rolling out email and in-product reminders that remind you to also download backup codes (sometimes called recovery keys) that can get you back into your account in the event you lose your 2FA credentials. Download your backup codes now by logging into Cloudflare, then navigating to &lt;strong&gt;Profile&lt;/strong&gt; &gt; &lt;strong&gt;Security &amp;#x26; Authentication&lt;/strong&gt; &gt; &lt;strong&gt;Backup codes&lt;/strong&gt;.&lt;/p&gt;
&lt;h4&gt;Sign-in security best practices&lt;/h4&gt;
&lt;p&gt;Cloudflare is critical infrastructure, and you should protect it as such. Please review the following best practices and make sure you are doing your part to secure your account.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use a unique password for every website, including Cloudflare, and store it in a password manager like 1Password or Keeper. These services are cross-platform and simplify the process of managing secure passwords.&lt;/li&gt;
&lt;li&gt;Use 2FA to make it harder for an attacker to get into your account in the event your password is leaked&lt;/li&gt;
&lt;li&gt;Store your backup codes securely. A password manager is the best place since it keeps the backup codes encrypted, but you can also print them and put them somewhere safe in your home.&lt;/li&gt;
&lt;li&gt;If you use an app to manage your 2FA keys, enable cloud backup, so that you don&apos;t lose your keys in the event you lose your phone.&lt;/li&gt;
&lt;li&gt;If you use a custom email domain to sign in, &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/dashboard-sso/&quot; target=&quot;_blank&quot;&gt;configure SSO&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you use a public email domain like Gmail or Hotmail, you can also use social login with Apple, GitHub, or Google to sign in.&lt;/li&gt;
&lt;li&gt;If you manage a Cloudflare account for work:
&lt;ul&gt;
&lt;li&gt;Have at least two administrators in case one of them unexpectedly leaves your company&lt;/li&gt;
&lt;li&gt;Use SCIM to automate permissions management for members in your Cloudflare account&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals, Access - Fine-grained Permissioning for Access for Apps, IdPs, &amp; Targets now in Public Beta</title><link>https://docs.ahq.lat/changelog/post/2025-10-01-fine-grained-permissioning-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-01-fine-grained-permissioning-beta/</guid><description>&lt;p&gt;Fine-grained permissions for &lt;strong&gt;Access Applications, Identity Providers (IdPs), and Targets&lt;/strong&gt; is now available in Public Beta. This expands our RBAC model beyond account &amp;#x26; zone-scoped roles, enabling administrators to grant permissions scoped to individual resources.&lt;/p&gt;
&lt;h4&gt;What&apos;s New&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/applications/http-apps/&quot; target=&quot;_blank&quot;&gt;Access Applications&lt;/a&gt;&lt;/strong&gt;: Grant admin permissions to specific Access Applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/integrations/identity-providers/&quot; target=&quot;_blank&quot;&gt;Identity Providers&lt;/a&gt;&lt;/strong&gt;: Grant admin permissions to individual Identity Providers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/access-controls/applications/non-http/infrastructure-apps/#1-add-a-target&quot; target=&quot;_blank&quot;&gt;Targets&lt;/a&gt;&lt;/strong&gt;: Grant admin rights to specific Targets&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-10-01-fine-grained-permissioning-ux.BWVmQsVF_Z1p4MJh.webp&quot; alt=&quot;Updated Permissions Policy UX&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;aside&gt; &lt;p&gt; Note &lt;/p&gt;  &lt;div&gt;&lt;p&gt;During the public beta, members must also be assigned an account-scoped, read only role to view resources in the dashboard. This restriction will be lifted in a future release.&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Account Read Only&lt;/strong&gt; plus a fine-grained permission for a specific App, IdP, or Target&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare Zero Trust Read Only&lt;/strong&gt; plus fine-grained permission for a specific App, IdP, or Target&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt; &lt;/aside&gt;
&lt;p&gt;For more info:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/roles/&quot;&gt;Get started with Cloudflare Permissioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/manage&quot;&gt;Manage Member Permissioning via the UI &amp;#x26; API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 02 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Access</category></item><item><title>Analytics - New Confidence Intervals in GraphQL Analytics API</title><link>https://docs.ahq.lat/changelog/post/2025-10-01-confidence-intervals/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-01-confidence-intervals/</guid><description>&lt;p&gt;The GraphQL Analytics API now supports confidence intervals for &lt;code&gt;sum&lt;/code&gt; and &lt;code&gt;count&lt;/code&gt; fields on adaptive (sampled) datasets. Confidence intervals provide a statistical range around sampled results, helping verify accuracy and quantify uncertainty.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Supported datasets&lt;/strong&gt;: Adaptive (sampled) datasets only.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supported fields&lt;/strong&gt;: All &lt;code&gt;sum&lt;/code&gt; and &lt;code&gt;count&lt;/code&gt; fields.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Usage&lt;/strong&gt;: The confidence &lt;code&gt;level&lt;/code&gt; must be provided as a decimal between 0 and 1 (e.g. &lt;code&gt;0.90&lt;/code&gt;, &lt;code&gt;0.95&lt;/code&gt;, &lt;code&gt;0.99&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: If no confidence level is specified, no intervals are returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For examples and more details, see the &lt;a href=&quot;https://docs.ahq.lat/analytics/graphql-api/features/confidence-intervals/&quot;&gt;GraphQL Analytics API documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate><product>Analytics</product><category>Analytics</category></item><item><title>Cloudflare Fundamentals - Return markdown</title><link>https://docs.ahq.lat/changelog/post/2025-10-01-md-returned/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-10-01-md-returned/</guid><description>&lt;p&gt;Users can now specify that they want to retrieve Cloudflare documentation as markdown rather than the previous HTML default. This can significantly reduce token consumption when used alongside Large Language Model (LLM) tools.&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;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://docs.ahq.lat/workers/&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;Accept: text/markdown&apos;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-v&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;If you maintain your own site and want to adopt this practice using Cloudflare Workers for your own users you can follow the example &lt;a href=&quot;https://github.com/cloudflare/cloudflare-docs/pull/25493&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - Sign in with GitHub</title><link>https://docs.ahq.lat/changelog/post/2025-09-25-sign-in-with-github/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-25-sign-in-with-github/</guid><description>&lt;p&gt;Cloudflare has launched sign in with GitHub as a log in option. This feature is available to all users with a verified email address who are not using SSO. To use it, simply click on the &lt;code&gt;Sign in with GitHub&lt;/code&gt; button on the dashboard login page. You will be logged in with your primary GitHub email address.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/user-profiles/login/&quot;&gt;Log in to Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - SSO for all</title><link>https://docs.ahq.lat/changelog/post/2025-09-25-sso-for-all/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-25-sso-for-all/</guid><description>&lt;p&gt;Single sign-on (SSO) streamlines the process of logging into Cloudflare for Enterprise customers who manage a custom email domain and manage their own identity provider. Instead of managing a password and two-factor authentication credentials directly for Cloudflare, SSO lets you reuse your existing login infrastructure to seamlessly log in. SSO also provides additional security opportunities such as device health checks which are not available natively within Cloudflare.&lt;/p&gt;
&lt;p&gt;Historically, SSO was only available for Enterprise accounts. Today, we are announcing that we are making SSO available to all users for free. We have also added the ability to directly manage SSO configurations using the API. This removes the previous requirement to contact support to configure SSO.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/enterprise-grade-features-for-all/&quot; target=&quot;_blank&quot;&gt;Every Cloudflare feature, available to all&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/dashboard-sso/&quot;&gt;Configure Dashboard SSO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Connect and secure any private or public app by hostname, not IP — with hostname routing for Cloudflare Tunnel</title><link>https://docs.ahq.lat/changelog/post/2025-09-18-tunnel-hostname-routing/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-18-tunnel-hostname-routing/</guid><description>&lt;p&gt;You can now route private traffic to &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; based on a hostname or domain, moving beyond the limitations of IP-based routing. This new capability is &lt;strong&gt;free for all Cloudflare One customers&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Previously, Tunnel routes could only be defined by IP address or &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-cidr/&quot;&gt;CIDR range&lt;/a&gt;. This created a challenge for modern applications with dynamic or ephemeral IP addresses, often forcing administrators to maintain complex and brittle IP lists.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/tunnel-hostname-routing.DSi8MP_7_Z1E6Ym4.webp&quot; alt=&quot;Hostname-based routing in Cloudflare Tunnel&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;What’s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hostname &amp;#x26; Domain Routing&lt;/strong&gt;: Create routes for individual hostnames (e.g., &lt;code&gt;payroll.acme.local&lt;/code&gt;) or entire domains (e.g., &lt;code&gt;*.acme.local&lt;/code&gt;) and direct their traffic to a specific Tunnel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Simplified Zero Trust Policies&lt;/strong&gt;: Build resilient policies in Cloudflare Access and Gateway using stable hostnames, making it dramatically easier to apply per-resource authorization for your private applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Precise Egress Control&lt;/strong&gt;: Route traffic for public hostnames (e.g., &lt;code&gt;bank.example.com&lt;/code&gt;) through a specific Tunnel to enforce a dedicated source IP, solving the IP allowlist problem for third-party services.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No More IP Lists&lt;/strong&gt;: This feature makes the workaround of maintaining dynamic IP Lists for Tunnel connections obsolete.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Get started in the Tunnels section of the Zero Trust dashboard with your first &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/cloudflared/connect-private-hostname/&quot;&gt;private hostname&lt;/a&gt; or &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/traffic-policies/egress-policies/egress-cloudflared/&quot;&gt;public hostname&lt;/a&gt; route.&lt;/p&gt;
&lt;p&gt;Learn more in our &lt;a href=&quot;https://blog.cloudflare.com/tunnel-hostname-routing/&quot; target=&quot;_blank&quot;&gt;blog post&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Log Explorer - Contextual pivots</title><link>https://docs.ahq.lat/changelog/post/2025-09-11-contextual-pivots/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-11-contextual-pivots/</guid><description>&lt;p&gt;Directly from &lt;a href=&quot;https://docs.ahq.lat/log-explorer/log-search/&quot;&gt;Log Search&lt;/a&gt; results, customers can pivot to other parts of the Cloudflare dashboard to immediately take action as a result of their investigation.&lt;/p&gt;
&lt;p&gt;From the &lt;code&gt;http_requests&lt;/code&gt; or &lt;code&gt;fw_events&lt;/code&gt; dataset results, right click on an IP Address or JA3 Fingerprint to pivot to the Investigate portal to lookup the reputation of an IP address or JA3 fingerprint.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/investigate-ip-address.BMVSMzDi_Z1KASOQ.webp&quot; alt=&quot;Investigate IP address&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Easily learn about error codes by linking directly to our documentation from the &lt;strong&gt;EdgeResponseStatus&lt;/strong&gt; or &lt;strong&gt;OriginResponseStatus&lt;/strong&gt; fields.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/view-documentation.Cem5QgeO_Z1vzjwR.webp&quot; alt=&quot;View documentation&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;From the &lt;code&gt;gateway_http&lt;/code&gt; dataset, click on a &lt;strong&gt;policyid&lt;/strong&gt; to link directly to the Zero Trust dashboard to review or make changes to a specific Gateway policy.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/policyid.CVjEdahj_1GFFHp.webp&quot; alt=&quot;View policy&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;</description><pubDate>Thu, 11 Sep 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Log Explorer - New results table view</title><link>https://docs.ahq.lat/changelog/post/2025-09-11-new-results-table-view/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-11-new-results-table-view/</guid><description>&lt;p&gt;The results table view of &lt;strong&gt;Log Search&lt;/strong&gt; has been updated with additional functionality and a more streamlined user experience. Users can now easily:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remove/add columns.&lt;/li&gt;
&lt;li&gt;Resize columns.&lt;/li&gt;
&lt;li&gt;Sort columns.&lt;/li&gt;
&lt;li&gt;Copy values from any field.&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/new-table.C2Q8mWJ9_ZFs2Aq.webp&quot; alt=&quot;New results table view&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;</description><pubDate>Thu, 11 Sep 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Cloudflare Fundamentals - Reminders about two-factor authentication backup codes</title><link>https://docs.ahq.lat/changelog/post/2025-09-08-reminders-about-two-factor-authentication-backup-codes/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-08-reminders-about-two-factor-authentication-backup-codes/</guid><description>&lt;p&gt;Two-factor authentication is the best way to help protect your account from account takeovers, but if you lose your second factor, you could be locked out of your account. Lock outs are one of the top reasons customers contact Cloudflare support, and our policies often don&apos;t allow us to bypass two-factor authentication for customers that are locked out. Today we are releasing an improvement where Cloudflare will periodically remind you to securely save your backup codes so you don&apos;t get locked out in the future.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/user-profiles/2fa/&quot;&gt;Two-factor authentication&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 08 Sep 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals - Introducing new headers for rate limiting on Cloudflare&apos;s API</title><link>https://docs.ahq.lat/changelog/post/2025-09-03-rate-limiting-improvement/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-03-rate-limiting-improvement/</guid><description>&lt;p&gt;Cloudflare&apos;s API now supports rate limiting headers using the pattern developed by the &lt;a href=&quot;https://ietf-wg-httpapi.github.io/ratelimit-headers/draft-ietf-httpapi-ratelimit-headers.html&quot; target=&quot;_blank&quot;&gt;IETF draft on rate limiting&lt;/a&gt;. This allows API consumers to know how many more calls are left until the rate limit is reached, as well as how long you will need to wait until more capacity is available.&lt;/p&gt;
&lt;p&gt;Our SDKs automatically work with these new headers, backing off when rate limits are approached. There is no action required for users of the latest Cloudflare SDKs to take advantage of this.&lt;/p&gt;
&lt;p&gt;As always, if you need any help with rate limits, please contact Support.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;h4&gt;New Headers&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Headers that are always returned:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ratelimit&lt;/code&gt;: List of service limit items, composed of the limit name, the remaining quota (&lt;code&gt;r&lt;/code&gt;) and the time next window resets (&lt;code&gt;t&lt;/code&gt;). For example: &lt;code&gt;&quot;default&quot;;r=50;t=30&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ratelimit-Policy&lt;/code&gt;: List of quota policy items, composed of the policy name, the total quota (&lt;code&gt;q&lt;/code&gt;) and the time window the quota applies to (&lt;code&gt;w&lt;/code&gt;). For example: &lt;code&gt;&quot;burst&quot;;q=100;w=60&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Returned only when a rate limit has been reached (error code: 429):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Retry-After: Number of Seconds until more capacity is available, rounded up&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;SDK Back offs&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;All of Cloudflare&apos;s latest SDKs will automatically respond to the headers, instituting a backoff when limits are approached.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;GraphQL and Edge APIs&lt;/h4&gt;
&lt;p&gt;These new headers and back offs are only available for Cloudflare REST APIs, and will not affect GraphQL.&lt;/p&gt;
&lt;h4&gt;For more information&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/api/reference/limits/&quot; target=&quot;_blank&quot;&gt;Rate limits at Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 03 Sep 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Log Explorer - Logging headers and cookies using custom fields</title><link>https://docs.ahq.lat/changelog/post/2025-09-03-log-headers-and-cookies/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-03-log-headers-and-cookies/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer&lt;/a&gt; now supports logging and filtering on header or cookie fields in the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/zone/http_requests/&quot;&gt;&lt;code&gt;http_requests&lt;/code&gt; dataset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Create a custom field to log desired header or cookie values into the &lt;code&gt;http_requests&lt;/code&gt; dataset and Log Explorer will import these as searchable fields. Once configured, use the custom SQL editor in Log Explorer to view or filter on these requests.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/edit-custom-fields.Cy4qXSpL_1ma19s.webp&quot; alt=&quot;Edit Custom fields&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;For more details, refer to &lt;a href=&quot;https://docs.ahq.lat/log-explorer/log-search/#headers-and-cookies&quot;&gt;Headers and cookies&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 03 Sep 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Cloudflare Tunnel and Networks API will no longer return deleted resources by default starting December 1, 2025</title><link>https://docs.ahq.lat/changelog/post/2025-09-02-tunnel-networks-list-endpoints-new-default/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-09-02-tunnel-networks-list-endpoints-new-default/</guid><description>&lt;p&gt;Starting &lt;strong&gt;December 1, 2025&lt;/strong&gt;, list endpoints for the &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/tunnels/&quot;&gt;Cloudflare Tunnel API&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/networks/&quot;&gt;Zero Trust Networks API&lt;/a&gt; will no longer return deleted tunnels, routes, subnets and virtual networks by default. This change makes the API behavior more intuitive by only returning active resources unless otherwise specified.&lt;/p&gt;
&lt;p&gt;No action is required if you already explicitly set &lt;code&gt;is_deleted=false&lt;/code&gt; or if you only need to list active resources.&lt;/p&gt;
&lt;p&gt;This change affects the following API endpoints:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;List all tunnels: &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/tunnels/methods/list/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/tunnels&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;List &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnels&lt;/a&gt;: &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/tunnels/subresources/cloudflared/methods/list/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/cfd_tunnel&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;List &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;WARP Connector&lt;/a&gt; tunnels: &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/tunnels/subresources/warp_connector/methods/list/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/warp_connector&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;List tunnel routes: &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/networks/subresources/routes/methods/list/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/teamnet/routes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;List subnets: &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/networks/subresources/subnets/methods/list/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/zerotrust/subnets&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;List virtual networks: &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/networks/subresources/virtual_networks/methods/list/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/teamnet/virtual_networks&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;What is changing?&lt;/h4&gt;
&lt;p&gt;The default behavior of the &lt;code&gt;is_deleted&lt;/code&gt; query parameter will be updated.&lt;/p&gt;















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Scenario&lt;/th&gt;&lt;th&gt;Previous behavior (before December 1, 2025)&lt;/th&gt;&lt;th&gt;New behavior (from December 1, 2025)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;is_deleted&lt;/code&gt; parameter is omitted&lt;/td&gt;&lt;td&gt;Returns &lt;strong&gt;active &amp;#x26; deleted&lt;/strong&gt; tunnels, routes, subnets and virtual networks&lt;/td&gt;&lt;td&gt;Returns &lt;strong&gt;only active&lt;/strong&gt; tunnels, routes, subnets and virtual networks&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Action required&lt;/h4&gt;
&lt;p&gt;If you need to retrieve deleted (or all) resources, please update your API calls to explicitly include the &lt;code&gt;is_deleted&lt;/code&gt; parameter before &lt;strong&gt;December 1, 2025&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;To get a list of only deleted resources, you must now explicitly add the &lt;code&gt;is_deleted=true&lt;/code&gt; query parameter to your request:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;# Example: Get ONLY deleted Tunnels&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/tunnels?is_deleted=true&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;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer &lt;/span&gt;&lt;span&gt;$API_TOKEN&lt;/span&gt;&lt;span&gt;&quot;&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;span&gt;# Example: Get ONLY deleted Virtual Networks&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/teamnet/virtual_networks?is_deleted=true&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;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer &lt;/span&gt;&lt;span&gt;$API_TOKEN&lt;/span&gt;&lt;span&gt;&quot;&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;Following this change, retrieving a complete list of both active and deleted resources will require two separate API calls: one to get active items (by omitting the parameter or using &lt;code&gt;is_deleted=false&lt;/code&gt;) and one to get deleted items (&lt;code&gt;is_deleted=true&lt;/code&gt;).&lt;/p&gt;
&lt;h4&gt;Why we’re making this change&lt;/h4&gt;
&lt;p&gt;This update is based on user feedback and aims to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Create a more intuitive default:&lt;/strong&gt; Aligning with common API design principles where list operations return only active resources by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reduce unexpected results:&lt;/strong&gt; Prevents users from accidentally operating on deleted resources that were returned unexpectedly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improve performance:&lt;/strong&gt; For most users, the default query result will now be smaller and more relevant.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To learn more, please visit the &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/tunnels/&quot;&gt;Cloudflare Tunnel API&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/api/resources/zero_trust/subresources/networks/&quot;&gt;Zero Trust Networks API&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Tue, 02 Sep 2025 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.9 now available</title><link>https://docs.ahq.lat/changelog/post/2025-08-29-terrform-v59-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-29-terrform-v59-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;. We are aware of the high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt; reported by the Cloudflare community related to the v5 release. We have committed to releasing improvements on a 2 week cadence to ensure its stability and reliability, including the v5.9 release. We have also pivoted from an issue-to-issue approach to a resource-per-resource approach - we will be focusing on specific resources for every release, stabilizing the release, and closing all associated bugs with that resource before moving onto resolving migration issues.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. We triage them weekly and they help make our products stronger.&lt;/p&gt;
&lt;p&gt;This release includes a new resource, &lt;code&gt;cloudflare_snippet&lt;/code&gt;, which replaces &lt;code&gt;cloudflare_snippets&lt;/code&gt;. &lt;code&gt;cloudflare_snippet&lt;/code&gt; is now considered deprecated but can still be used. Please utilize &lt;code&gt;cloudflare_snippet&lt;/code&gt; as soon as possible.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Resources stabilized:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zone_setting&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_worker_script&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_worker_route&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tiered_cache&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEW&lt;/strong&gt; resource &lt;code&gt;cloudflare_snippet&lt;/code&gt; which should be used in place of &lt;code&gt;cloudflare_snippets&lt;/code&gt;. &lt;code&gt;cloudflare_snippets&lt;/code&gt; is now deprecated. This enables the management of Cloudflare&apos;s snippet functionality through Terraform.&lt;/li&gt;
&lt;li&gt;DNS Record Improvements: Enhanced handling of DNS record drift detection&lt;/li&gt;
&lt;li&gt;Load Balancer Fixes: Resolved &lt;code&gt;created_on&lt;/code&gt; field inconsistencies and improved pool configuration handling&lt;/li&gt;
&lt;li&gt;Bot Management: Enhanced auto-update model state consistency and fight mode configurations&lt;/li&gt;
&lt;li&gt;Other bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a more detailed look at all of the changes, refer to the
&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.9.0&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; in GitHub.&lt;/p&gt;
&lt;h4&gt;Issues Closed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5921&quot; target=&quot;_blank&quot;&gt;#5921: In cloudflare_ruleset removing an existing rule causes recreation of later rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5904&quot; target=&quot;_blank&quot;&gt;#5904: cloudflare_zero_trust_access_application is not idempotent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5898&quot; target=&quot;_blank&quot;&gt;#5898: (cloudflare_workers_script) Durable Object migrations not applied&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5892&quot; target=&quot;_blank&quot;&gt;#5892: cloudflare_workers_script secret_text environment variable gets replaced on every deploy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5891&quot; target=&quot;_blank&quot;&gt;#5891: cloudflare_zone suddenly started showing drift&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5882&quot; target=&quot;_blank&quot;&gt;#5882: cloudflare_zero_trust_list always marked for change due to read only attributes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5879&quot; target=&quot;_blank&quot;&gt;#5879: cloudflare_zero_trust_gateway_certificate unable to manage resource (cant mark as active/inactive)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5858&quot; target=&quot;_blank&quot;&gt;#5858: cloudflare_dns_records is always updated in-place&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5839&quot; target=&quot;_blank&quot;&gt;#5839: Recurring change on cloudflare_zero_trust_gateway_policy after upgrade to V5 provider &amp;#x26; also setting expiration fails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5811&quot; target=&quot;_blank&quot;&gt;#5811: Reusable policies are imported as inline type for cloudflare_zero_trust_access_application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5795&quot; target=&quot;_blank&quot;&gt;#5795: cloudflare_zone_setting inconsistent value of &quot;editable&quot; upon apply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5789&quot; target=&quot;_blank&quot;&gt;#5789: Pagination issue fetching all policies in &quot;cloudflare_zero_trust_access_policies&quot; data source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5770&quot; target=&quot;_blank&quot;&gt;#5770: cloudflare_zero_trust_access_application type warp diff on every apply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5765&quot; target=&quot;_blank&quot;&gt;#5765: V5 / cloudflare_zone_dnssec fails with HTTP/400 &quot;Malformed request body&quot;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5755&quot; target=&quot;_blank&quot;&gt;#5755: Unable to manage Cloudflare managed WAF rules via Terraform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5738&quot; target=&quot;_blank&quot;&gt;#5738: v4 to v5 upgrade failing Error: no schema available AND Unable to Read Previously Saved State for UpgradeResourceState&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5727&quot; target=&quot;_blank&quot;&gt;#5727: cloudflare_ruleset http_request_cache_settings bypass mismatch between dashboard and terraform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5700&quot; target=&quot;_blank&quot;&gt;#5700: cloudflare_account_member invalid type &apos;string&apos; for field &apos;roles&apos;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have an unaddressed issue with the provider, we encourage you to check the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues&quot; target=&quot;_blank&quot;&gt;open issues&lt;/a&gt; and open a new issue if one does not already exist for what you are experiencing.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;We suggest holding off on migration to v5 while we work on stabilization. This help will you avoid any blocking issues while the Terraform resources are actively being stabilized.&lt;/p&gt;
&lt;p&gt;If you&apos;d like more information on migrating from v4 to v5, please make use of the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have provided automated migration scripts using Grit which simplify the transition. These do not support implementations which use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test
your changes before applying, and let us know if you encounter any additional issues by reporting to our &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub Repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 29 Aug 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>AI Crawl Control - Enhanced crawler insights and custom 402 responses</title><link>https://docs.ahq.lat/changelog/post/2025-08-27-ai-crawl-control-launch/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-27-ai-crawl-control-launch/</guid><description>&lt;p&gt;We improved AI crawler management with detailed analytics and introduced custom HTTP 402 responses for blocked crawlers. AI Audit has been renamed to AI Crawl Control and is now generally available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enhanced Crawlers tab:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;View total allowed and blocked requests for each AI crawler&lt;/li&gt;
&lt;li&gt;Trend charts show crawler activity over your selected time range per crawler&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-table.BDr0Qd-5_ZKex0W.webp&quot; alt=&quot;Updated AI Crawl Control table showing request counts and trend charts&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;Custom block responses (paid plans):&lt;/strong&gt;
You can now return HTTP 402 &quot;Payment Required&quot; responses when blocking AI crawlers, enabling direct communication with crawler operators about licensing terms.&lt;/p&gt;
&lt;p&gt;For users on paid plans, when blocking AI crawlers you can configure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Response code:&lt;/strong&gt; Choose between 403 Forbidden or 402 Payment Required&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Response body:&lt;/strong&gt; Add a custom message with your licensing contact information&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-block-response.L4duQj7-_Z2mHb4X.webp&quot; alt=&quot;AI Crawl Control block response configuration interface&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Example 402 response:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;http&quot;&gt;&lt;code class=&quot;language-http&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;HTTP 402 Payment Required&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Date&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Mon, 24 Aug 2025 12:56:49 GMT&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Content-type&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;application/json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Server&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;cloudflare&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Cf-Ray&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;967e8da599d0c3fa-EWR&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;Cf-Team&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2902f6db750000c3fa1e2ef400000001&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;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;message&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;Please contact the site owner for access.&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;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;</description><pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Audit Logs - Audit logs (version 2) - Logpush Beta Release</title><link>https://docs.ahq.lat/changelog/post/2025-08-22-audit-logs-v2-logpush/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-22-audit-logs-v2-logpush/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/datasets/account/audit_logs_v2/&quot;&gt;Audit Logs v2 dataset&lt;/a&gt; is now available via Logpush.&lt;/p&gt;
&lt;p&gt;This expands on earlier releases of Audit Logs v2 in the &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-03-27-automatic-audit-logs-beta-release/&quot;&gt;API&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-07-29-audit-logs-v2-ui-beta/&quot;&gt;Dashboard UI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We recommend creating a new Logpush job for the Audit Logs v2 dataset.&lt;/p&gt;
&lt;p&gt;Timelines for General Availability (GA) of Audit Logs v2 and the retirement of Audit Logs v1 will be shared in upcoming updates.&lt;/p&gt;
&lt;p&gt;For more details on Audit Logs v2, refer to the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/audit-logs/&quot; target=&quot;_blank&quot;&gt;Audit Logs documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate><product>Audit Logs</product><category>Audit Logs</category></item><item><title>Logs - Dedicated Egress IP for Logpush</title><link>https://docs.ahq.lat/changelog/post/2025-08-22-dedicated-egress-ip-logpush/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-22-dedicated-egress-ip-logpush/</guid><description>&lt;p&gt;Cloudflare Logpush can now deliver logs from using fixed, dedicated egress IPs. By routing Logpush traffic through a Cloudflare zone enabled with &lt;a href=&quot;https://docs.ahq.lat/smart-shield/configuration/dedicated-egress-ips/&quot;&gt;Aegis IP&lt;/a&gt;, your log destination only needs to allow Aegis IPs making setup more secure.&lt;/p&gt;
&lt;p&gt;Highlights:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed egress IPs ensure your destination only accepts traffic from known addresses.&lt;/li&gt;
&lt;li&gt;Works with any supported Logpush destination.&lt;/li&gt;
&lt;li&gt;Recommended to use a dedicated zone as a proxy for easier management.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get started, work with your Cloudflare account team to provision Aegis IPs, then configure your Logpush job to deliver logs through the proxy zone. For full setup instructions, refer to the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/egress-ip/&quot;&gt;Logpush documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 22 Aug 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Log Explorer - Extended retention</title><link>https://docs.ahq.lat/changelog/post/2025-08-15-extended-retention/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-15-extended-retention/</guid><description>&lt;p&gt;Customers can now rely on Log Explorer to meet their log retention compliance requirements.&lt;/p&gt;
&lt;p&gt;Contract customers can choose to store their logs in Log Explorer for up to two years, at an additional cost of $0.10 per GB per month. Customers interested in this feature can contact their account team to have it added to their contract.&lt;/p&gt;</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.8.4 now available</title><link>https://docs.ahq.lat/changelog/post/2025-08-15-terraform-v584-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-15-terraform-v584-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;. We are aware of the high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt; reported by the Cloudflare Community related to the v5 release. We have committed to releasing improvements on a two week cadence to ensure stability and reliability.&lt;/p&gt;
&lt;p&gt;One key change we adopted in recent weeks is a pivot to more comprehensive, test-driven development. We are still evaluating individual issues, but are also investing in much deeper testing to drive our stabilization efforts. We will subsequently be investing in comprehensive migration scripts. As a result, you will see several of the highest traffic APIs have been stabilized in the most recent release, and are supported by comprehensive acceptance tests.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. We triage them weekly and they help make our products stronger.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Resources stabilized:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_argo_smart_routing&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_bot_management&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_list&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_list_item&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_load_balancer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_load_balancer_monitor&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_load_balancer_pool&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_spectrum_application&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_managed_transforms&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_url_normalization_settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_snippet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_snippet_rules&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_application&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_group&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_identity_provider&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_mtls_certificate&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_mtls_hostname_settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_policy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zone&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Multipart handling restored for &lt;code&gt;cloudflare_snippet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_bot_management&lt;/code&gt; diff issues resolves when running &lt;code&gt;terraform plan&lt;/code&gt; and &lt;code&gt;terraform apply&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Other bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a more detailed look at all of the changes, refer to the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.8.4&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; in GitHub.&lt;/p&gt;
&lt;h4&gt;Issues Closed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5017&quot; target=&quot;_blank&quot;&gt;#5017: &apos;Uncaught Error: No such module&apos; using cloudflare_snippets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5701&quot; target=&quot;_blank&quot;&gt;#5701: cloudflare_workers_script migrations for Durable Objects not recorded in tfstate; cannot be upgraded between versions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5640&quot; target=&quot;_blank&quot;&gt;#5640: cloudflare_argo_smart_routing importing doesn&apos;t read the actual value&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have an unaddressed issue with the provider, we encourage you to check the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues&quot; target=&quot;_blank&quot;&gt;open issues&lt;/a&gt; and open a new one if one does not already exist for what you are experiencing.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;We suggest holding off on migration to v5 while we work on stabilization. This will help you avoid any blocking issues while the Terraform resources are actively being stabilized.&lt;/p&gt;
&lt;p&gt;If you&apos;d like more information on migrating to v5, please make use of the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have provided automated migration scripts using Grit which simplify the transition. These migration scripts do not support implementations which use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test your changes before applying, and let us know if you encounter any additional issues by reporting to our &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Logs - IBM Cloud Logs as Logpush destination</title><link>https://docs.ahq.lat/changelog/post/2025-08-13-ibm-cloud-logs-destination/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-13-ibm-cloud-logs-destination/</guid><description>&lt;p&gt;Cloudflare Logpush now supports IBM Cloud Logs as a native destination.&lt;/p&gt;
&lt;p&gt;Logs from Cloudflare can be sent to &lt;a href=&quot;https://www.ibm.com/products/cloud-logs&quot; target=&quot;_blank&quot;&gt;IBM Cloud Logs&lt;/a&gt; via &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/&quot;&gt;Logpush&lt;/a&gt;. The setup can be done through the Logpush UI in the Cloudflare Dashboard or by using the &lt;a href=&quot;https://docs.ahq.lat/api/resources/logpush/subresources/jobs/&quot;&gt;Logpush API&lt;/a&gt;. The integration requires IBM Cloud Logs HTTP Source Address and an IBM API Key. The feature also allows for filtering events and selecting specific log fields.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/ibm-cloud-logs/&quot;&gt;Destination Configuration&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.8.2 now available</title><link>https://docs.ahq.lat/changelog/post/2025-08-01-terraform-v582-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-08-01-terraform-v582-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;. We are aware of the high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt; reported by the Cloudflare community related to the v5 release. We have committed to releasing improvements on a 2 week cadeance to ensure it&apos;s stability and reliability. We have also pivoted from an issue-to-issue approach to a resource-per-resource approach - we will be focusing on specific resources for every release, stabilizing the release and closing all associated bugs with that resource before moving onto resolving migration issues.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues. We triage them weekly and they help make our products stronger.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Resources stabilized:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_custom_pages&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_page_rule&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_dns_record&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_argo_tiered_caching&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Addressed chronic drift issues in &lt;code&gt;cloudflare_logpush_job&lt;/code&gt;, &lt;code&gt;cloudflare_zero_trust_dns_location&lt;/code&gt;, &lt;code&gt;cloudflare_ruleset&lt;/code&gt; &amp;#x26; &lt;code&gt;cloudflare_api_token&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zone_subscription&lt;/code&gt; returns expected values &lt;code&gt;rate_plan.id&lt;/code&gt; from former versions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_workers_script&lt;/code&gt; can now successfully be destroyed with bindings &amp;#x26; migration for Durable Objects now recorded in tfstate&lt;/li&gt;
&lt;li&gt;Ability to configure &lt;code&gt;add_headers&lt;/code&gt; under &lt;code&gt;cloudflare_zero_trust_gateway_policy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Other bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a more detailed look at all of the changes, see the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.8.2&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; in GitHub.&lt;/p&gt;
&lt;h4&gt;Issues Closed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5666&quot; target=&quot;_blank&quot;&gt;#5666: cloudflare_ruleset example lists id which is a read-only field&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5578&quot; target=&quot;_blank&quot;&gt;#5578: cloudflare_logpush_job plan always suggests changes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5552&quot; target=&quot;_blank&quot;&gt;#5552: 5.4.0: Since provider update, existing cloudflare_list_item would be recreated &quot;created&quot; state&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5670&quot; target=&quot;_blank&quot;&gt;#5670: cloudflare_zone_subscription: uses wrong ID field in Read/Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5548&quot; target=&quot;_blank&quot;&gt;#5548: cloudflare_api_token resource always shows changes (drift)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5634&quot; target=&quot;_blank&quot;&gt;#5634: cloudflare_workers_script with bindings fails to be destroyed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5616&quot; target=&quot;_blank&quot;&gt;#5616: cloudflare_workers_script Unable to deploy worker assets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5331&quot; target=&quot;_blank&quot;&gt;#5331: cloudflare_workers_script 500 internal server error when uploading python&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5701&quot; target=&quot;_blank&quot;&gt;#5701: cloudflare_workers_script migrations for Durable Objects not recorded in tfstate; cannot be upgraded between versions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5704&quot; target=&quot;_blank&quot;&gt;#5704: cloudflare_workers_script randomly fails to deploy when changing compatibility_date&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5439&quot; target=&quot;_blank&quot;&gt;#5439: cloudflare_workers_script (v5.2.0) ignoring content and bindings properties&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5522&quot; target=&quot;_blank&quot;&gt;#5522: cloudflare_workers_script always detects changes after apply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5693&quot; target=&quot;_blank&quot;&gt;#5693: cloudflare_zero_trust_access_identity_provider gives recurring change on OTP pin login&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5567&quot; target=&quot;_blank&quot;&gt;#5567: cloudflare_r2_custom_domain doesn&apos;t roundtrip jurisdiction properly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5179&quot; target=&quot;_blank&quot;&gt;#5179: Bad request with when creating cloudflare_api_shield_schema resource&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have an unaddressed issue with the provider, we encourage you to check the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues&quot; target=&quot;_blank&quot;&gt;open issues&lt;/a&gt; and open a new one if one does not already exist for what you are experiencing.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;We suggest holding off on migration to v5 while we work on stabilization. This help will you avoid any blocking issues while the Terraform resources are actively being stabilized.&lt;/p&gt;
&lt;p&gt;If you&apos;d like more information on migrating from v4 to v5, please make use of the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have provided automated migration scripts using Grit which simplify the transition, although these do not support implementations which use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test your changes before applying, and let us know if you encounter any additional issues by reporting to our &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Audit Logs - Audit logs (version 2) - UI Beta Release</title><link>https://docs.ahq.lat/changelog/post/2025-07-29-audit-logs-v2-ui-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-07-29-audit-logs-v2-ui-beta/</guid><description>&lt;p&gt;The Audit Logs v2 UI is now available to all Cloudflare customers in Beta. This release builds on the public &lt;a href=&quot;https://docs.ahq.lat/changelog/product/audit-logs/&quot;&gt;Beta of the Audit Logs v2 API&lt;/a&gt; and introduces a redesigned user interface with powerful new capabilities to make it easier to investigate account activity.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enabling the new UI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To try the new user interface, go to &lt;strong&gt;Manage Account &gt; Audit Logs&lt;/strong&gt;. The previous version of Audit Logs remains available and can be re-enabled at any time using the &lt;strong&gt;Switch back to old Audit Logs&lt;/strong&gt; link in the banner at the top of the page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New Features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advanced Filtering&lt;/strong&gt;: Filter logs by actor, resource, method, and more for faster insights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;On-hover filter controls&lt;/strong&gt;: Easily include or exclude values in queries by hovering over fields within a log entry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Detailed Log Sidebar&lt;/strong&gt;: View rich context for each log entry without leaving the main view.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JSON Log View&lt;/strong&gt;: Inspect the raw log data in a structured JSON format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Time Ranges&lt;/strong&gt;: Define your own time windows to view historical activity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infinite Scroll&lt;/strong&gt;: Seamlessly browse logs without clicking through pages.&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/Audit_logs_v2_filters.Bacd1IHg_f0dJz.webp&quot; alt=&quot;Audit Logs v2 new UI&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;For more details on Audit Logs v2, see the &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/audit-logs/&quot; target=&quot;_blank&quot;&gt;Audit Logs documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Known issues&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A small number of audit logs may currently be unavailable in Audit Logs v2. In some cases, certain fields such as actor information may be missing in certain audit logs. We are actively working to improve coverage and completeness for General Availability.&lt;/li&gt;
&lt;li&gt;Export to CSV is not supported in the new UI.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We are actively refining the Audit Logs v2 experience and welcome your feedback. You can share overall feedback by clicking the thumbs up or thumbs down icons at the top of the page, or provide feedback on specific audit log entries using the thumbs icons next to each audit log line or by filling out our &lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSfXGkJpOG1jUPEh-flJy9B13icmcdBhveFwe-X0EzQjJQnQfQ/viewform?usp=sharing&quot; target=&quot;_blank&quot;&gt;feedback form&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 29 Jul 2025 00:00:00 GMT</pubDate><product>Audit Logs</product><category>Audit Logs</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Faster, more reliable UDP traffic for Cloudflare Tunnel</title><link>https://docs.ahq.lat/changelog/post/2025-07-15-udp-improvements/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-07-15-udp-improvements/</guid><description>&lt;p&gt;Your real-time applications running over &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; are now faster and more reliable. We&apos;ve completely re-architected the way &lt;code&gt;cloudflared&lt;/code&gt; proxies UDP traffic in order to isolate it from other traffic, ensuring latency-sensitive applications like private DNS are no longer slowed down by heavy TCP traffic (like file transfers) on the same Tunnel.&lt;/p&gt;
&lt;p&gt;This is a foundational improvement to Cloudflare Tunnel, delivered automatically to all customers. There are no settings to configure — your UDP traffic is already flowing faster and more reliably.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What’s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Faster UDP performance&lt;/strong&gt;: We&apos;ve significantly reduced the latency for establishing new UDP sessions, making applications like private DNS much more responsive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Greater reliability for mixed traffic&lt;/strong&gt;: UDP packets are no longer affected by heavy TCP traffic, preventing timeouts and connection drops for your real-time services.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learn more about running &lt;a href=&quot;https://docs.ahq.lat/reference-architecture/architectures/sase/#connecting-applications&quot;&gt;TCP or UDP applications&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/private-net/&quot;&gt;private networks&lt;/a&gt; through &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 15 Jul 2025 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.7.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-07-11-terraform-v570-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-07-11-terraform-v570-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;. We are aware of the high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt; reported by the Cloudflare community related to the v5 release, with 13.5% of resources impacted. We have committed to releasing improvements on a 2 week cadeance to ensure it&apos;s stability and relability, including the v5.7 release.&lt;/p&gt;
&lt;p&gt;Thank you for continuing to raise issues and please keep an eye on this changelog for more information about upcoming releases.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Addressed permanent diff bug on Cloudflare Tunnel config&lt;/li&gt;
&lt;li&gt;State is now saved correctly for Zero Trust Access applications&lt;/li&gt;
&lt;li&gt;Exact match is now working as expected within &lt;code&gt;data.cloudflare_zero_trust_access_applications&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_policy&lt;/code&gt; now supports OIDC claims &amp;#x26; diff issues resolved&lt;/li&gt;
&lt;li&gt;Self hosted applications with private IPs no longer require a public domain for &lt;code&gt;cloudflare_zero_trust_access_application&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;New resource:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_tunnel_warp_connector&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Other bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a more detailed look at all of the changes, see the
&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.7.0&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; in GitHub.&lt;/p&gt;
&lt;h4&gt;Issues Closed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5563&quot; target=&quot;_blank&quot;&gt;#5563: cloudflare_logpull_retention is missing import&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5608&quot; target=&quot;_blank&quot;&gt;#5608: cloudflare_zero_trust_access_policy in 5.5.0 provider gives error upon apply unexpected new value: .app_count: was cty.NumberIntVal(0), but now cty.NumberIntVal(1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5612&quot; target=&quot;_blank&quot;&gt;#5612: data.cloudflare_zero_trust_access_applications does not exact match&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5532&quot; target=&quot;_blank&quot;&gt;#5532: cloudflare_zero_trust_access_identity_provider detects changes on every plan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5662&quot; target=&quot;_blank&quot;&gt;#5662: cloudflare_zero_trust_access_policy does not support OIDC claims&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5565&quot; target=&quot;_blank&quot;&gt;#5565: Running Terraform with the cloudflare_zero_trust_access_policy resource results in updates on every apply, even when no changes are made - breaks idempotency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5529&quot; target=&quot;_blank&quot;&gt;#5529: cloudflare_zero_trust_access_application: self hosted applications with private ips require public domain &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have an unaddressed issue with the provider, we encourage you to check the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues&quot; target=&quot;_blank&quot;&gt;open issues&lt;/a&gt; and open a new one if one does not already exist for what you are experiencing.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;We suggest holding on migration to v5 while we work on stabilization of the v5 provider. This will ensure Cloudflare can work ahead and avoid any blocking issues.&lt;/p&gt;
&lt;p&gt;If you&apos;d like more information on migrating from v4 to v5, please make use of the
&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have
provided automated migration scripts using Grit which simplify the transition, although these do not support implementations which
use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test
your changes before applying, and let us know if you encounter any additional issues by reporting to our
&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 14 Jul 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Log Explorer - Usage tracking</title><link>https://docs.ahq.lat/changelog/post/2025-07-09-usage-tracking/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-07-09-usage-tracking/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer&lt;/a&gt; customers can now monitor their data ingestion volume to keep track of their billing. Monthly usage is displayed at the top of the &lt;a href=&quot;https://docs.ahq.lat/log-explorer/log-search/&quot;&gt;Log Search&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/log-explorer/manage-datasets/&quot;&gt;Manage Datasets&lt;/a&gt; screens in Log Explorer.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ingested-data.D2flqRIu_Z2v4FHF.webp&quot; alt=&quot;Ingested data&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;</description><pubDate>Wed, 09 Jul 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>AI Crawl Control - Introducing Pay Per Crawl (private beta)</title><link>https://docs.ahq.lat/changelog/post/2025-07-01-pay-per-crawl/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-07-01-pay-per-crawl/</guid><description>&lt;p&gt;We are introducing a new feature of &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/&quot;&gt;AI Crawl Control&lt;/a&gt; — Pay Per Crawl. &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/&quot;&gt;Pay Per Crawl&lt;/a&gt; enables site owners to require payment from AI crawlers every time the crawlers access their content, thereby fostering a fairer Internet by enabling site owners to control and monetize how their content gets used by AI.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/pay-per-crawl.B5bv2nwT_1TH6vv.webp&quot; alt=&quot;Pay per crawl&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;For Site Owners:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set pricing and select which crawlers to charge for content access&lt;/li&gt;
&lt;li&gt;Manage payments via Stripe&lt;/li&gt;
&lt;li&gt;Monitor analytics on successful content deliveries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For AI Crawler Owners:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use HTTP headers to request and accept pricing&lt;/li&gt;
&lt;li&gt;Receive clear confirmations on charges for accessed content&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/&quot;&gt;Pay Per Crawl documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>AI Crawl Control - AI Crawl Control refresh</title><link>https://docs.ahq.lat/changelog/post/2025-07-01-refresh/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-07-01-refresh/</guid><description>&lt;p&gt;We redesigned the AI Crawl Control dashboard to provide more intuitive and granular control over AI crawlers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;From the new &lt;strong&gt;AI Crawlers&lt;/strong&gt; tab: block specific AI crawlers.&lt;/li&gt;
&lt;li&gt;From the new &lt;strong&gt;Metrics&lt;/strong&gt; tab: view AI Crawl Control metrics.&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/manage-ai-crawlers.6UgS8dSG_Z1HRWpI.webp&quot; alt=&quot;Block AI crawlers&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/analyze-metrics.C52pJZVg_1C7hti.webp&quot; alt=&quot;Analyze AI crawler activity&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;To get started, explore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/manage-ai-crawlers/&quot;&gt;Manage AI crawlers&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/features/analyze-ai-traffic/&quot;&gt;Analyze AI traffic&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 01 Jul 2025 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Cloudflare Fundamentals - Cloudflare User Groups &amp; SCIM User Groups are now in GA</title><link>https://docs.ahq.lat/changelog/post/2025-06-23-user-groups-ga/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-06-23-user-groups-ga/</guid><description>&lt;p&gt;We&apos;re announcing the GA of &lt;strong&gt;User Groups for Cloudflare Dashboard&lt;/strong&gt; and &lt;strong&gt;System for Cross Domain Identity Management (SCIM) User Groups&lt;/strong&gt;, strengthening our RBAC capabilities with stable, production-ready primitives for managing access at scale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&apos;s New&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;User Groups [GA]&lt;/strong&gt;: &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/user-groups/&quot;&gt;User Groups&lt;/a&gt; are a new Cloudflare IAM primitive that enable administrators to create collections of account members that are treated equally from an access control perspective. User Groups can be assigned permission policies, with individual members in the group inheriting all permissions granted to the User Group. User Groups can be created manually or via our APIs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SCIM User Groups [GA]&lt;/strong&gt;: Centralize &amp;#x26; simplify your user and group management at scale by syncing memberships directly from your upstream identity provider (like Okta or Entra ID) to the Cloudflare Platform. This ensures Cloudflare stays in sync with your identity provider, letting you apply Permission Policies to those synced groups directly within the Cloudflare Dashboard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stability &amp;#x26; Scale&lt;/strong&gt;:
These features have undergone extensive testing during the Public Beta period and are now ready for production use across enterprises of all sizes.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;SCIM Virtual Groups  (identified by the pattern &lt;code&gt;CF-&amp;#x3C;accountID&gt;-&amp;#x3C;Role Name&gt;&lt;/code&gt; in your IdP) are now officially deprecated as of June 2, 2025. SCIM Virtual Groups end-of-life will take effect on December 2, 2025. We strongly recommend migrating to SCIM User Groups to ensure continued support for SCIM synchronization to the Cloudflare Dashboard. If you haven’t used Virtual Groups, no action is required.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more info:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/user-groups/&quot;&gt;Get started with User Groups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/scim-setup/&quot;&gt;Explore our SCIM integration guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 23 Jun 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Log Explorer - Log Explorer is GA</title><link>https://docs.ahq.lat/changelog/post/2025-06-18-log-explorer-ga/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-06-18-log-explorer-ga/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;Log Explorer&lt;/a&gt; is now GA, providing native observability and forensics for traffic flowing through Cloudflare.&lt;/p&gt;
&lt;p&gt;Search and analyze your logs, natively in the Cloudflare dashboard. These logs are also stored in Cloudflare&apos;s network, eliminating many of the costs associated with other log providers.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/log-explorer-dash.CJSVLZ7Y_ZXS1TD.webp&quot; alt=&quot;Log Explorer dashboard&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;With Log Explorer, you can now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Monitor security and performance issues with custom dashboards&lt;/strong&gt; – use natural language to define charts for measuring response time, error rates, top statistics and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Investigate and troubleshoot issues with Log Search&lt;/strong&gt; – use data type-aware search filters or custom sql to investigate detailed logs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save time and collaborate with saved queries&lt;/strong&gt; – save Log Search queries for repeated use or sharing with other users in your account.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Access Log Explorer at the account and zone level&lt;/strong&gt; – easily find Log Explorer at the account and zone level for querying any dataset.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For help getting started, refer to &lt;a href=&quot;https://docs.ahq.lat/log-explorer/&quot;&gt;our documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate><product>Log Explorer</product><category>Log Explorer</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.6.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-06-17-terraform-v560-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-06-17-terraform-v560-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;.
Unlike the earlier Terraform providers, v5 is automatically generated based on the OpenAPI Schemas for our REST APIs. Since
launch, we have seen an unexpectedly high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt;
reported by customers. These issues currently impact about 15% of resources. We have been working diligently to address
these issues across the company, and have released the v5.6.0 release which includes a number of bug fixes. Please keep an
eye on this changelog for more information about upcoming releases.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Broad fixes across resources with recurring diffs, including, but not limited to:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_identity_provider&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zone&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_page_rules&lt;/code&gt; runtime panic when setting &lt;code&gt;cache_level&lt;/code&gt; to &lt;code&gt;cache_ttl_by_status&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Failure to serialize requests in &lt;code&gt;cloudflare_zero_trust_tunnel_cloudflared_config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Undocumented field &apos;priority&apos; on &lt;code&gt;zone_lockdown&lt;/code&gt; resource&lt;/li&gt;
&lt;li&gt;Missing importability for &lt;code&gt;cloudflare_zero_trust_device_default_profile_local_domain_fallback&lt;/code&gt; and &lt;code&gt;cloudflare_account_subscription&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;New resources:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_schema_validation_operation_settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_schema_validation_schemas&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_schema_validation_settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_device_settings&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Other bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a more detailed look at all of the changes, see the
&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.6.0&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; in GitHub.&lt;/p&gt;
&lt;h4&gt;Issues Closed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5098&quot; target=&quot;_blank&quot;&gt;#5098: 500 Server Error on updating &apos;zero_trust_tunnel_cloudflared_virtual_network&apos; Terraform resource&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5148&quot; target=&quot;_blank&quot;&gt;#5148: cloudflare_user_agent_blocking_rule doesn’t actually support user agents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5472&quot; target=&quot;_blank&quot;&gt;#5472: cloudflare_zone showing changes in plan after following upgrade steps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5508&quot; target=&quot;_blank&quot;&gt;#5508: cloudflare_zero_trust_tunnel_cloudflared_config failed to serialize http request&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5509&quot; target=&quot;_blank&quot;&gt;#5509: cloudflare_zone: Problematic Terraform behaviour with paused zones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5520&quot; target=&quot;_blank&quot;&gt;#5520: Resource &apos;cloudflare_magic_wan_static_route&apos; is not working&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5524&quot; target=&quot;_blank&quot;&gt;#5524: Optional fields cause crash in cloudflare_zero_trust_tunnel_cloudflared(s) when left null&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5526&quot; target=&quot;_blank&quot;&gt;#5526: Provider v5 migration issue: no import method for cloudflare_zero_trust_device_default_profile_local_domain_fallback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5532&quot; target=&quot;_blank&quot;&gt;#5532: cloudflare_zero_trust_access_identity_provider detects changes on every plan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5561&quot; target=&quot;_blank&quot;&gt;#5561: cloudflare_zero_trust_tunnel_cloudflared: cannot rotate tunnel secret&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5569&quot; target=&quot;_blank&quot;&gt;#5569: cloudflare_zero_trust_device_custom_profile_local_domain_fallback not allowing multiple DNS Server entries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5577&quot; target=&quot;_blank&quot;&gt;#5577: Panic modifying page_rule resource&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5653&quot; target=&quot;_blank&quot;&gt;#5653: cloudflare_zone_setting resource schema confusion in 5.5.0: value vs enabled&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have an unaddressed issue with the provider, we encourage you to check the
&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues&quot; target=&quot;_blank&quot;&gt;open issues&lt;/a&gt; and open a new one if one does not already
exist for what you are experiencing.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;If you are evaluating a move from v4 to v5, please make use of the
&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have
provided automated migration scripts using Grit which simplify the transition, although these do not support implementations which
use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test
your changes before applying, and let us know if you encounter any additional issues by reporting to our
&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 17 Jun 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Rules - More flexible fallback handling — Custom Errors now support fetching assets returned with 4xx or 5xx status codes</title><link>https://docs.ahq.lat/changelog/post/2025-06-09-custom-errors-fetch-4xx-5xx-assets/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-06-09-custom-errors-fetch-4xx-5xx-assets/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/&quot;&gt;Custom Errors&lt;/a&gt; can now fetch and store &lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/create-rules/#create-a-custom-error-asset-dashboard&quot;&gt;assets&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/#error-pages&quot;&gt;error pages&lt;/a&gt; from your origin even if they are served with a 4xx or 5xx HTTP status code — previously, only 200 OK responses were allowed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What’s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can now upload error pages and error assets that return error status codes (for example, 403, 500, 502, 503, 504) when fetched.&lt;/li&gt;
&lt;li&gt;These assets are stored and minified at the edge, so they can be reused across multiple Custom Error rules without triggering requests to the origin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is especially useful for retrieving error content or downtime banners from your backend when you can’t override the origin status code.&lt;/p&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/&quot;&gt;Custom Errors&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Mon, 09 Jun 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Rules - Match Workers subrequests by upstream zone — cf.worker.upstream_zone now supported in Transform Rules</title><link>https://docs.ahq.lat/changelog/post/2025-06-09-transform-rule-subrequest-matching/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-06-09-transform-rule-subrequest-matching/</guid><description>&lt;p&gt;You can now use the &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/cf.worker.upstream_zone/&quot;&gt;&lt;code&gt;cf.worker.upstream_zone&lt;/code&gt;&lt;/a&gt; field in &lt;a href=&quot;https://docs.ahq.lat/rules/transform/&quot;&gt;Transform Rules&lt;/a&gt; to control rule execution based on whether a request originates from &lt;a href=&quot;https://docs.ahq.lat/workers/&quot;&gt;Workers&lt;/a&gt;, including subrequests issued by Workers in other zones.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/transform-rule-subrequest-matching.BeUBEN67_wWefn.webp&quot; alt=&quot;Match Workers subrequests by upstream zone in Transform Rules&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;strong&gt;What&apos;s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cf.worker.upstream_zone&lt;/code&gt; is now supported in Transform Rules expressions.&lt;/li&gt;
&lt;li&gt;Skip or apply logic conditionally when handling &lt;a href=&quot;https://docs.ahq.lat/workers/platform/limits/#subrequests&quot;&gt;Workers subrequests&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, to add a header when the subrequest comes from another zone:&lt;/p&gt;
&lt;article&gt; &lt;p&gt;  &lt;span&gt;&lt;/span&gt; &lt;/p&gt; &lt;div&gt; &lt;p&gt;Text in &lt;strong&gt;Expression Editor&lt;/strong&gt; (replace &lt;code&gt;myappexample.com&lt;/code&gt; with your domain):&lt;/p&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;(cf.worker.upstream_zone != &quot;&quot; and cf.worker.upstream_zone != &quot;myappexample.com&quot;)&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;Selected operation under &lt;strong&gt;Modify request header&lt;/strong&gt;: &lt;em&gt;Set static&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Header name&lt;/strong&gt;: &lt;code&gt;X-External-Workers-Subrequest&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Value&lt;/strong&gt;: &lt;code&gt;1&lt;/code&gt;&lt;/p&gt; &lt;/div&gt; &lt;/article&gt; 
&lt;p&gt;This gives you more granular control in how you handle incoming requests for your zone.&lt;/p&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/rules/transform/&quot;&gt;Transform Rules&lt;/a&gt; documentation and &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/fields/reference/&quot;&gt;Rules language fields&lt;/a&gt; reference.&lt;/p&gt;</description><pubDate>Mon, 09 Jun 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals - Cloudflare User Groups &amp; Enhanced Permission Policies are now in Beta</title><link>https://docs.ahq.lat/changelog/post/2025-06-02-user-groups-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-06-02-user-groups-beta/</guid><description>&lt;p&gt;We&apos;re excited to announce the Public Beta launch of &lt;strong&gt;User Groups for Cloudflare Dashboard&lt;/strong&gt; and &lt;strong&gt;System for Cross Domain Identity Management (SCIM) User Groups&lt;/strong&gt;, expanding our RBAC capabilities to simplify user and group management at scale.&lt;/p&gt;
&lt;p&gt;We&apos;ve also visually overhauled the &lt;strong&gt;Permission Policies UI&lt;/strong&gt; to make defining permissions more intuitive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&apos;s New&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;User Groups [BETA]&lt;/strong&gt;: &lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/user-groups/&quot;&gt;User Groups&lt;/a&gt; are a new Cloudflare IAM primitive that enable administrators to create collections of account members that are treated equally from an access control perspective. User Groups can be assigned permission policies, with individual members in the group inheriting all permissions granted to the User Group. User Groups can be created manually or via our APIs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SCIM User Groups [BETA]&lt;/strong&gt;: Centralize &amp;#x26; simplify your user and group management at scale by syncing memberships directly from your upstream identity provider (like Okta or Entra ID) to the Cloudflare Platform. This ensures Cloudflare stays in sync with your identity provider, letting you apply Permission Policies to those synced groups directly within the Cloudflare Dashboard.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;SCIM Virtual Groups (identified by the pattern &lt;code&gt;CF-&amp;#x3C;accountID&gt;-&amp;#x3C;Role Name&gt;&lt;/code&gt; in your IdP) are deprecated as of 06/02/25. We recommend migrating SCIM Virtual Groups implementations to use &lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/scim-setup/&quot;&gt;SCIM User Groups&lt;/a&gt;. If you did not use Virtual Groups, no action is needed.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;&lt;strong&gt;Revamped Permission Policies UI [BETA]&lt;/strong&gt;: As Cloudflare&apos;s services have grown, so has the need for precise, role-based access control. We&apos;ve given the Permission Policies builder a visual overhaul to make it much easier for administrators to find and define the exact permissions they want for specific principals.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-06-02-permissions-policy-ux.2wLEPgVX_7gPgJ.webp&quot; alt=&quot;Updated Permissions Policy UX&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;When opting into the Beta for User Groups and Permission Policies, you&apos;ll be transitioning to a new experience. Please be aware that opting out isn&apos;t currently available.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more info:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-members/user-groups/&quot;&gt;Get started with User Groups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/account/account-security/scim-setup/&quot;&gt;Explore our SCIM integration guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 02 Jun 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Rules - Fine-tune image optimization — WebP now supported in Configuration Rules</title><link>https://docs.ahq.lat/changelog/post/2025-05-30-configuration-rules-webp/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-05-30-configuration-rules-webp/</guid><description>&lt;p&gt;You can now enable &lt;a href=&quot;https://docs.ahq.lat/images/polish/activate-polish/&quot;&gt;Polish&lt;/a&gt; with the &lt;code&gt;webp&lt;/code&gt; format directly in &lt;a href=&quot;https://docs.ahq.lat/rules/configuration-rules/&quot;&gt;Configuration Rules&lt;/a&gt;, allowing you to optimize image delivery for specific routes, user agents, or A/B tests — without applying changes zone-wide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What’s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/images/polish/compression/#webp&quot;&gt;WebP&lt;/a&gt; is now a supported &lt;a href=&quot;https://docs.ahq.lat/rules/configuration-rules/settings/#polish&quot;&gt;value&lt;/a&gt; in the &lt;strong&gt;Polish&lt;/strong&gt; setting for Configuration Rules.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This gives you more precise control over how images are compressed and delivered, whether you&apos;re targeting modern browsers, running experiments, or tailoring performance by geography or device type.&lt;/p&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/images/polish/&quot;&gt;Polish&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/rules/configuration-rules/&quot;&gt;Configuration Rules&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Fri, 30 May 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Analytics - New GraphQL Analytics API Explorer and MCP Server</title><link>https://docs.ahq.lat/changelog/post/2025-05-23-graphql-api-explorer/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-05-23-graphql-api-explorer/</guid><description>&lt;p&gt;We’ve launched two powerful new tools to make the GraphQL Analytics API more accessible:&lt;/p&gt;
&lt;h4&gt;GraphQL API Explorer&lt;/h4&gt;
&lt;p&gt;The new &lt;a href=&quot;https://graphql.cloudflare.com/explorer&quot; target=&quot;_blank&quot;&gt;GraphQL API Explorer&lt;/a&gt; helps you build, test, and run queries directly in your browser. Features include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In-browser schema documentation to browse available datasets and fields&lt;/li&gt;
&lt;li&gt;Interactive query editor with autocomplete and inline documentation&lt;/li&gt;
&lt;li&gt;A &quot;Run in GraphQL API Explorer&quot; button to execute example queries from our docs&lt;/li&gt;
&lt;li&gt;Seamless OAuth authentication — no manual setup required&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/graphql-api-explorer.CPUNZZ5B_1RXsdE.webp&quot; alt=&quot;GraphQL API Explorer&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;GraphQL Model Context Protocol (MCP) Server&lt;/h4&gt;
&lt;p&gt;MCP Servers let you use natural language tools like Claude to generate structured queries against your data. See our &lt;a href=&quot;https://blog.cloudflare.com/thirteen-new-mcp-servers-from-cloudflare/&quot; target=&quot;_blank&quot;&gt;blog post&lt;/a&gt; for details on how they work and which servers are available. The new &lt;a href=&quot;https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/graphql&quot; target=&quot;_blank&quot;&gt;GraphQL MCP server&lt;/a&gt; helps you discover and generate useful queries for the GraphQL Analytics API. With this server, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explore what data is available to query&lt;/li&gt;
&lt;li&gt;Generate and refine queries using natural language, with one-click links to run them in the API Explorer&lt;/li&gt;
&lt;li&gt;Build dashboards and visualizations from structured query outputs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example prompts include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Show me HTTP traffic for the last 7 days for example.com”&lt;/li&gt;
&lt;li&gt;“What GraphQL node returns firewall events?”&lt;/li&gt;
&lt;li&gt;“Can you generate a link to the Cloudflare GraphQL API Explorer with a pre-populated query and variables?”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’re continuing to expand these tools, and your feedback helps shape what’s next. &lt;a href=&quot;https://docs.ahq.lat/analytics/graphql-api/&quot;&gt;Explore the documentation&lt;/a&gt; to learn more and get started.&lt;/p&gt;</description><pubDate>Fri, 23 May 2025 00:00:00 GMT</pubDate><product>Analytics</product><category>Analytics</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.5.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-05-19-terraform-v550-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-05-19-terraform-v550-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;. Unlike the earlier Terraform providers, v5 is automatically generated based on the OpenAPI Schemas for our REST APIs. Since launch, we have seen an unexpectedly high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt; reported by customers. These issues currently impact about 15% of resources. We have been working diligently to address these issues across the company, and have released the v5.5.0 release which includes a number of bug fixes. Please keep an eye on this changelog for more information about upcoming releases.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Broad fixes across resources with recurring diffs, including, but not limited to:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_gateway_policy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_application&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_tunnel_cloudflared_route&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_zone_setting&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_ruleset&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cloudflare_page_rule&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Zone settings can be re-applied without client errors&lt;/li&gt;
&lt;li&gt;Page rules conversion errors are fixed&lt;/li&gt;
&lt;li&gt;Failure to apply changes to &lt;code&gt;cloudflare_zero_trust_tunnel_cloudflared_route&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Other bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a more detailed look at all of the changes, see the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.5.0&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; in GitHub.&lt;/p&gt;
&lt;h4&gt;Issues Closed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5304&quot; target=&quot;_blank&quot;&gt;#5304: Importing cloudflare_zero_trust_gateway_policy invalid attribute filter value&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5303&quot; target=&quot;_blank&quot;&gt;#5303: cloudflare_page_rule import does not set values for all of the fields in terraform state&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5178&quot; target=&quot;_blank&quot;&gt;#5178: cloudflare_page_rule Page rule creation with redirect fails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5336&quot; target=&quot;_blank&quot;&gt;#5336: cloudflare_turnstile_wwidget not able to update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5418&quot; target=&quot;_blank&quot;&gt;#5418: cloudflare_cloud_connector_rules: Provider returned invalid result object after apply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5423&quot; target=&quot;_blank&quot;&gt;#5423: cloudflare_zone_setting: &quot;Invalid value for zone setting always_use_https&quot;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have an unaddressed issue with the provider, we encourage you to check the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues&quot; target=&quot;_blank&quot;&gt;open issues&lt;/a&gt; and open a new one if one does not already exist for what you are experiencing.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;If you are evaluating a move from v4 to v5, please make use of the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have provided automated migration scripts using Grit which simplify the transition, although these do not support implementations which use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test your changes before applying, and let us know if you encounter any additional issues by reporting to our &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 19 May 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Rules - More ways to match — Snippets now support Custom Lists, Bot Score, and WAF Attack Score</title><link>https://docs.ahq.lat/changelog/post/2025-05-09-snippets-cloud-connector-lists-waf-bot-scores/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-05-09-snippets-cloud-connector-lists-waf-bot-scores/</guid><description>&lt;p&gt;You can now use IP, Autonomous System (AS), and Hostname &lt;a href=&quot;https://docs.ahq.lat/waf/tools/lists/custom-lists/&quot;&gt;custom lists&lt;/a&gt; to route traffic to &lt;a href=&quot;https://docs.ahq.lat/rules/snippets/&quot;&gt;Snippets&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/rules/cloud-connector/&quot;&gt;Cloud Connector&lt;/a&gt;, giving you greater precision and control over how you match and process requests at the edge.&lt;/p&gt;
&lt;p&gt;In Snippets, you can now also match on &lt;a href=&quot;https://docs.ahq.lat/bots/concepts/bot-score/&quot;&gt;Bot Score&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/waf/detections/attack-score/&quot;&gt;WAF Attack Score&lt;/a&gt;, unlocking smarter edge logic for everything from request filtering and mitigation to &lt;a href=&quot;https://docs.ahq.lat/rules/snippets/examples/slow-suspicious-requests/&quot;&gt;tarpitting&lt;/a&gt; and logging.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What’s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/waf/tools/lists/custom-lists/&quot;&gt;Custom lists&lt;/a&gt; matching – Snippets and Cloud Connector now support user-created IP, AS, and Hostname lists via dashboard or &lt;a href=&quot;https://docs.ahq.lat/api/resources/rules/subresources/lists/methods/list/&quot;&gt;Lists API&lt;/a&gt;. Great for shared logic across zones.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/bots/concepts/bot-score/&quot;&gt;Bot Score&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/waf/detections/attack-score/&quot;&gt;WAF Attack Score&lt;/a&gt; – Use Cloudflare’s intelligent traffic signals to detect bots or attacks and take advanced, tailored actions with just a few lines of code.&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/snippets-lists-scores.D05l6zgc_ZG4Rof.webp&quot; alt=&quot;New fields in Snippets&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;These enhancements unlock new possibilities for building smarter traffic workflows with minimal code and maximum efficiency.&lt;/p&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/rules/snippets/&quot;&gt;Snippets&lt;/a&gt; and &lt;a href=&quot;https://docs.ahq.lat/rules/cloud-connector/&quot;&gt;Cloud Connector&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5.4.0 now available</title><link>https://docs.ahq.lat/changelog/post/2025-05-06-terraform-v540-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-05-06-terraform-v540-provider/</guid><description>&lt;p&gt;Earlier this year, we announced the launch of the new &lt;a href=&quot;https://docs.ahq.lat/changelog/2025-02-03-terraform-v5-provider/&quot;&gt;Terraform v5 Provider&lt;/a&gt;. Unlike the earlier Terraform providers, v5 is automatically generated based on the OpenAPI Schemas for our REST APIs. Since launch, we have seen an unexpectedly high number of &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;issues&lt;/a&gt; reported by customers. These issues currently impact about 15% of resources. We have been working diligently to address these issues across the company, and have released the v5.4.0 release which includes a number of bug fixes. Please keep an eye on this changelog for more information about upcoming releases.&lt;/p&gt;
&lt;h4&gt;Changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Removes the &lt;code&gt;worker_platforms_script_secret&lt;/code&gt; resource from the provider (see &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade#cloudflare_worker_secret&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt; for alternatives—applicable to both Workers and Workers for Platforms)&lt;/li&gt;
&lt;li&gt;Removes duplicated fields in &lt;code&gt;cloudflare_cloud_connector_rules&lt;/code&gt; resource&lt;/li&gt;
&lt;li&gt;Fixes &lt;code&gt;cloudflare_workers_route&lt;/code&gt; id issues &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5134&quot; target=&quot;_blank&quot;&gt;#5134&lt;/a&gt; &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/issues/5501&quot; target=&quot;_blank&quot;&gt;#5501&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixes issue around refreshing resources that have unsupported response types
&lt;details&gt;&lt;summary&gt;Affected resources&lt;/summary&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;cloudflare_certificate_pack&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_registrar_domain&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_stream_download&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_stream_webhook&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_user&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_workers_kv&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_workers_script&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/details&gt;
&lt;/li&gt;
&lt;li&gt;Fixes &lt;code&gt;cloudflare_workers_kv&lt;/code&gt; state refresh issues&lt;/li&gt;
&lt;li&gt;Fixes issues around configurability of nested properties without computed values for the following resources
&lt;details&gt;&lt;summary&gt;Affected resources&lt;/summary&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;cloudflare_account&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_account_dns_settings&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_account_token&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_api_token&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_cloud_connector_rules&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_custom_ssl&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_d1_database&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_dns_record&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;email_security_trusted_domains&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_hyperdrive_config&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_keyless_certificate&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_list_item&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_load_balancer&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_logpush_dataset_job&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_magic_network_monitoring_configuration&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_magic_transit_site&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_magic_transit_site_lan&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_magic_transit_site_wan&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_magic_wan_static_route&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_notification_policy&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_pages_project&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_queue&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_queue_consumer&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_r2_bucket_cors&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_r2_bucket_event_notification&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_r2_bucket_lifecycle&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_r2_bucket_lock&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_r2_bucket_sippy&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_ruleset&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_snippet_rules&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_snippets&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_spectrum_application&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_workers_deployment&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_application&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;cloudflare_zero_trust_access_group&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/details&gt;
&lt;/li&gt;
&lt;li&gt;Fixed defaults that made &lt;code&gt;cloudflare_workers_script&lt;/code&gt; fail when using Assets&lt;/li&gt;
&lt;li&gt;Fixed Workers Logpush setting in &lt;code&gt;cloudflare_workers_script&lt;/code&gt; mistakenly being readonly&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;cloudflare_pages_project&lt;/code&gt; broken when using &quot;source&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The detailed &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare/releases/tag/v5.4.0&quot; target=&quot;_blank&quot;&gt;changelog&lt;/a&gt; is available on GitHub.&lt;/p&gt;
&lt;h4&gt;Upgrading&lt;/h4&gt;
&lt;p&gt;If you are evaluating a move from v4 to v5, please make use of the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;migration guide&lt;/a&gt;. We have provided automated migration scripts using Grit which simplify the transition, although these do not support implementations which use Terraform modules, so customers making use of modules need to migrate manually. Please make use of &lt;code&gt;terraform plan&lt;/code&gt; to test your changes before applying, and let us know if you encounter any additional issues either by reporting to our &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;/a&gt;, or by opening a &lt;a href=&quot;https://www.support.cloudflare.com/s/?language=en_US&quot; target=&quot;_blank&quot;&gt;support ticket&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For more info&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot; target=&quot;_blank&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 06 May 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Rules - Custom Errors are now Generally Available</title><link>https://docs.ahq.lat/changelog/post/2025-04-24-custom-errors-ga/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-04-24-custom-errors-ga/</guid><description>&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/&quot;&gt;Custom Errors&lt;/a&gt; are now generally available for all paid plans — bringing a unified and powerful experience for customizing error responses at both the zone and account levels.&lt;/p&gt;
&lt;p&gt;You can now manage &lt;strong&gt;Custom Error Rules&lt;/strong&gt;, &lt;strong&gt;Custom Error Assets&lt;/strong&gt;, and redesigned &lt;strong&gt;Error Pages&lt;/strong&gt; directly from the Cloudflare dashboard. These features let you deliver tailored messaging when errors occur, helping you maintain brand consistency and improve user experience — whether it’s a 404 from your origin or a security challenge from Cloudflare.&lt;/p&gt;
&lt;p&gt;What&apos;s new:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Custom Errors are now GA&lt;/strong&gt; – Available on all paid plans and ready for production traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI for Custom Error Rules and Assets&lt;/strong&gt; – Manage your zone-level rules from the Rules &gt; Overview and your zone-level assets from the Rules &gt; Settings tabs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Define inline content or upload assets&lt;/strong&gt; – Create custom responses directly in the rule builder, upload new or reuse previously stored assets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Refreshed UI and new name for Error Pages&lt;/strong&gt; – Formerly known as “Custom Pages,” Error Pages now offer a cleaner, more intuitive experience for both zone and account-level configurations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Powered by Ruleset Engine&lt;/strong&gt; – Custom Error Rules support &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/rules-language/&quot;&gt;conditional logic&lt;/a&gt; and override Error Pages for 500 and 1000 class errors, as well as errors originating from your origin or &lt;a href=&quot;https://docs.ahq.lat/ruleset-engine/reference/phases-list/&quot;&gt;other Cloudflare products&lt;/a&gt;. You can also configure &lt;a href=&quot;https://docs.ahq.lat/rules/transform/response-header-modification/&quot;&gt;Response Header Transform Rules&lt;/a&gt; to add, change, or remove HTTP headers from responses returned by Custom Error Rules.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/&quot;&gt;Custom Errors documentation&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 24 Apr 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Logs - Custom fields raw and transformed values support</title><link>https://docs.ahq.lat/changelog/post/2025-04-18-custom-fields-raw-transformed-values/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-04-18-custom-fields-raw-transformed-values/</guid><description>&lt;p&gt;Custom Fields now support logging both &lt;strong&gt;raw and transformed values&lt;/strong&gt; for request and response headers in the HTTP requests dataset.&lt;/p&gt;
&lt;p&gt;These fields are configured per zone and apply to all Logpush jobs in that zone that include request headers, response headers. Each header can be logged in only one format—either raw or transformed—not both.&lt;/p&gt;
&lt;p&gt;By default:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Request headers are logged as raw values&lt;/li&gt;
&lt;li&gt;Response headers are logged as transformed values&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These defaults can be overridden to suit your logging needs.&lt;/p&gt;
&lt;aside&gt;&lt;p&gt;Note&lt;/p&gt;&lt;div&gt;&lt;p&gt;Transformed and raw values for request and response headers are available &lt;strong&gt;only via the API&lt;/strong&gt; and cannot be set through the UI.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;
&lt;p&gt;For more information refer to &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/custom-fields/&quot;&gt;Custom fields&lt;/a&gt; documentation&lt;/p&gt;</description><pubDate>Fri, 18 Apr 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Registrar - Cloudflare Registrar API is now in beta</title><link>https://docs.ahq.lat/changelog/post/2026-04-15-registrar-api-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2026-04-15-registrar-api-beta/</guid><description>&lt;p&gt;Cloudflare Registrar API is now in beta.&lt;/p&gt;
&lt;p&gt;You can now use the Cloudflare API to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Search for domain names.&lt;/li&gt;
&lt;li&gt;Check real-time availability and pricing.&lt;/li&gt;
&lt;li&gt;Register supported domains programmatically.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This beta supports a subset of popular extensions available through Cloudflare Registrar. Search returns suggestions across API-supported extensions, check confirms current availability and pricing, and registration starts a workflow that can complete immediately or be polled if it takes longer.&lt;/p&gt;
&lt;p&gt;Because the Registrar API is part of the Cloudflare API, it can also be used in &lt;a href=&quot;https://github.com/cloudflare/mcp&quot; target=&quot;_blank&quot;&gt;Cloudflare MCP&lt;/a&gt; and other agent-driven workflows.&lt;/p&gt;
&lt;p&gt;If you are using Cloudflare MCP or other agent-driven workflows, prompts can be as simple as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Search for domain ideas for a coffee shop based in Evergreen, Colorado.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Check whether example.com is available and show me the current price.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Register example.com&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For supported operations, extension availability, and workflow details, refer to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/registrar/registrar-api/&quot; target=&quot;_blank&quot;&gt;Registrar API guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/api/resources/registrar&quot; target=&quot;_blank&quot;&gt;Registrar API reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate><product>Registrar</product><category>Registrar</category></item><item><title>Rules - Cloudflare Snippets are now Generally Available</title><link>https://docs.ahq.lat/changelog/post/2025-04-09-snippets-ga/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-04-09-snippets-ga/</guid><description>&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/snippets-ga.BJr3csvv_Z2q49jT.webp&quot; alt=&quot;Cloudflare Snippets are now GA&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/snippets/&quot;&gt;Cloudflare Snippets&lt;/a&gt; are now generally available at no extra cost across all paid plans — giving you a fast, flexible way to programmatically control HTTP traffic using lightweight JavaScript.&lt;/p&gt;
&lt;p&gt;You can now use Snippets to modify HTTP requests and responses with confidence, reliability, and scale. Snippets are production-ready and deeply integrated with Cloudflare Rules, making them ideal for everything from quick dynamic header rewrites to advanced routing logic.&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;Snippets are now GA&lt;/strong&gt; – Available at no extra cost on all Pro, Business, and Enterprise plans.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ready for production&lt;/strong&gt; – Snippets deliver a production-grade experience built for scale.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Part of the Cloudflare Rules platform&lt;/strong&gt; – Snippets inherit request modifications from other Cloudflare products and support sequential execution, allowing you to run multiple Snippets on the same request and apply custom modifications step by step.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Trace integration&lt;/strong&gt; – Use &lt;a href=&quot;https://docs.ahq.lat/rules/trace-request/&quot;&gt;Cloudflare Trace&lt;/a&gt; to see which Snippets were triggered on a request — helping you understand traffic flow and debug more effectively.&lt;/p&gt;
&lt;p&gt;&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/snippets-ga-trace.WlCshaFo_1WNo07.webp&quot; alt=&quot;Snippets shown in Cloudflare Trace results&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://blog.cloudflare.com/snippets/&quot; target=&quot;_blank&quot;&gt;launch blog post&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Registrar - Register and renew .ai and .shop domains at cost</title><link>https://docs.ahq.lat/changelog/post/2025-03-27-ai-domains-available/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-03-27-ai-domains-available/</guid><description>&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-03-27-ai-domains-available.D96eztke_Z1gk2MU.webp&quot; alt=&quot;Example search for .ai domains&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Cloudflare Registrar now supports &lt;code&gt;.ai&lt;/code&gt; and &lt;code&gt;.shop&lt;/code&gt; domains. These are two of our most highly-requested top-level domains (TLDs) and are great additions to the &lt;a href=&quot;https://domains.cloudflare.com/tlds&quot; target=&quot;_blank&quot;&gt;300+ other TLDs we support&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Starting today, customers can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Register and renew these domains &lt;em&gt;at cost&lt;/em&gt; without any markups or add-on fees&lt;/li&gt;
&lt;li&gt;Enjoy best-in-class security and performance with native integrations with Cloudflare DNS, CDN, and SSL services like one-click DNSSEC&lt;/li&gt;
&lt;li&gt;Combat domain hijacking with &lt;a href=&quot;https://www.cloudflare.com/products/registrar/custom-domain-protection/&quot; target=&quot;_blank&quot;&gt;Custom Domain Protection&lt;/a&gt; (available on enterprise plans)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We can&apos;t wait to see what AI and e-commerce projects you deploy on Cloudflare. To get started, transfer your domains to Cloudflare or &lt;a href=&quot;https://domains.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;search for new ones to register&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 27 Mar 2025 10:00:00 GMT</pubDate><product>Registrar</product><category>Registrar</category></item><item><title>Audit Logs - Audit logs (version 2) - Beta Release</title><link>https://docs.ahq.lat/changelog/post/2025-03-27-automatic-audit-logs-beta-release/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-03-27-automatic-audit-logs-beta-release/</guid><description>&lt;p&gt;The latest version of audit logs streamlines audit logging by automatically capturing all user and system actions performed through the Cloudflare Dashboard or public APIs. This update leverages Cloudflare’s existing API Shield to generate audit logs based on OpenAPI schemas, ensuring a more consistent and automated logging process.&lt;/p&gt;
&lt;p&gt;Availability: Audit logs (version 2) is now in Beta, with support limited to &lt;strong&gt;API access&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Use the following API endpoint to retrieve audit logs:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;GET&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;//api.cloudflare.com/client/v4/accounts/&amp;#x3C;account_id&gt;/logs/audit?since=&amp;#x3C;date&gt;&amp;#x26;before=&amp;#x3C;date&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 access detailed documentation for audit logs (version 2) Beta API release &lt;a href=&quot;https://docs.ahq.lat/api/resources/accounts/subresources/logs/subresources/audit/methods/list/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Improvements in the Beta Release:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automated &amp;#x26; standardized logging&lt;/strong&gt;: Logs are now generated automatically using a standardized system, replacing manual, team-dependent logging. This ensures consistency across all Cloudflare services.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Expanded product coverage&lt;/strong&gt;: Increased audit log coverage from 75% to 95%. Key API endpoints such as &lt;code&gt;/accounts&lt;/code&gt;, &lt;code&gt;/zones&lt;/code&gt;, and &lt;code&gt;/organizations&lt;/code&gt; are now included.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Granular filtering&lt;/strong&gt;: Logs now follow a uniform format, enabling precise filtering by actions, users, methods, and resources—allowing for faster and more efficient investigations.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Enhanced context and traceability&lt;/strong&gt;: Each log entry now includes detailed context, such as the authentication method used, the interface (API or Dashboard) through which the action was performed, and mappings to Cloudflare Ray IDs for better traceability.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Comprehensive activity capture&lt;/strong&gt;: Expanded logging to include GET requests and failed attempts, ensuring that all critical activities are recorded.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Known Limitations in Beta&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Error handling for the API is not implemented.&lt;/li&gt;
&lt;li&gt;There may be gaps or missing entries in the available audit logs.&lt;/li&gt;
&lt;li&gt;UI is unavailable in this Beta release.&lt;/li&gt;
&lt;li&gt;System-level logs and User-Activity logs are not included.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Support for these features is coming as part of the GA release later this year. For more details, including a sample audit log, check out our blog post: &lt;a href=&quot;https://blog.cloudflare.com/introducing-automatic-audit-logs/&quot; target=&quot;_blank&quot;&gt;Introducing Automatic Audit Logs&lt;/a&gt;&lt;/p&gt;</description><pubDate>Thu, 27 Mar 2025 00:00:00 GMT</pubDate><product>Audit Logs</product><category>Audit Logs</category></item><item><title>Cloudflare Fundamentals - Updates to Account Home - Quick actions, traffic insights, Workers projects, and more</title><link>https://docs.ahq.lat/changelog/post/2025-03-26-account-home-updates/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-03-26-account-home-updates/</guid><description>&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2025-03-26-account-home-updates.CcOsD1dD_1WmntK.webp&quot; alt=&quot;Updated Account Home&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Recently, Account Home has been updated to streamline your workflows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Recent Workers projects&lt;/strong&gt;: You&apos;ll now find your projects readily accessible from a new &lt;code&gt;Developer Platform&lt;/code&gt; tab on Account Home. See recently-modified projects and explore what you can work our developer-focused products.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Traffic and security insights&lt;/strong&gt;: Get a snapshot of domain performance at a glance with key metrics and trends.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Quick actions&lt;/strong&gt;: You can now perform common actions for your account, domains, and even Workers in just 1-2 clicks from the 3-dot menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keep starred domains front and center&lt;/strong&gt;: Now, when you filter for starred domains on Account Home, we&apos;ll save your preference so you&apos;ll continue to only see starred domains by default.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We can&apos;t wait for you to take the new Account Home for a spin.&lt;/p&gt;
&lt;p&gt;For more info:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://dash.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;Try the updated Account Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/fundamentals/manage-domains/star-zones/&quot;&gt;Documentation on starred domains&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Wed, 26 Mar 2025 06:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category></item><item><title>Cloudflare Fundamentals, Terraform - Dozens of Cloudflare Terraform Provider resources now have proper drift detection</title><link>https://docs.ahq.lat/changelog/post/2025-03-21-resource-force-replacement-bug/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-03-21-resource-force-replacement-bug/</guid><description>&lt;p&gt;In &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;Cloudflare Terraform Provider&lt;/a&gt; versions 5.2.0 and above, dozens of resources now have proper drift detection. Before this fix, these resources would indicate they needed to be updated or replaced — even if there was no real change. Now, you can rely on your &lt;code&gt;terraform plan&lt;/code&gt; to only show what resources are expected to change.&lt;/p&gt;
&lt;p&gt;This issue affected &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;resources&lt;/a&gt; related to these products and features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API Shield&lt;/li&gt;
&lt;li&gt;Argo Smart Routing&lt;/li&gt;
&lt;li&gt;Argo Tiered Caching&lt;/li&gt;
&lt;li&gt;Bot Management&lt;/li&gt;
&lt;li&gt;BYOIP&lt;/li&gt;
&lt;li&gt;D1&lt;/li&gt;
&lt;li&gt;DNS&lt;/li&gt;
&lt;li&gt;Email Routing&lt;/li&gt;
&lt;li&gt;Hyperdrive&lt;/li&gt;
&lt;li&gt;Observatory&lt;/li&gt;
&lt;li&gt;Pages&lt;/li&gt;
&lt;li&gt;R2&lt;/li&gt;
&lt;li&gt;Rules&lt;/li&gt;
&lt;li&gt;SSL/TLS&lt;/li&gt;
&lt;li&gt;Waiting Room&lt;/li&gt;
&lt;li&gt;Workers&lt;/li&gt;
&lt;li&gt;Zero Trust&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 21 Mar 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Cloudflare Fundamentals, Terraform - Cloudflare Terraform Provider now properly redacts sensitive values</title><link>https://docs.ahq.lat/changelog/post/2025-03-21-sensitive-values-redacted/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-03-21-sensitive-values-redacted/</guid><description>&lt;p&gt;In the &lt;a href=&quot;https://github.com/cloudflare/terraform-provider-cloudflare&quot; target=&quot;_blank&quot;&gt;Cloudflare Terraform Provider&lt;/a&gt; versions 5.2.0 and above, sensitive properties of resources are redacted in logs. Sensitive properties in &lt;a href=&quot;https://raw.githubusercontent.com/cloudflare/api-schemas/refs/heads/main/openapi.yaml&quot; target=&quot;_blank&quot;&gt;Cloudflare&apos;s OpenAPI Schema&lt;/a&gt; are now annotated with &lt;code&gt;x-sensitive: true&lt;/code&gt;. This results in proper auto-generation of the corresponding Terraform resources, and prevents sensitive values from being shown when you run Terraform commands.&lt;/p&gt;
&lt;p&gt;This issue affected &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;resources&lt;/a&gt; related to these products and features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alerts and Audit Logs&lt;/li&gt;
&lt;li&gt;Device API&lt;/li&gt;
&lt;li&gt;DLP&lt;/li&gt;
&lt;li&gt;DNS&lt;/li&gt;
&lt;li&gt;Magic Visibility&lt;/li&gt;
&lt;li&gt;Magic WAN&lt;/li&gt;
&lt;li&gt;TLS Certs and Hostnames&lt;/li&gt;
&lt;li&gt;Tunnels&lt;/li&gt;
&lt;li&gt;Turnstile&lt;/li&gt;
&lt;li&gt;Workers&lt;/li&gt;
&lt;li&gt;Zaraz&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Fri, 21 Mar 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Logs - One-click Logpush Setup with R2 Object Storage</title><link>https://docs.ahq.lat/changelog/post/2025-03-06-oneclick-logpush/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-03-06-oneclick-logpush/</guid><description>&lt;p&gt;We’ve streamlined the &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/&quot;&gt;Logpush&lt;/a&gt; setup process by integrating R2 bucket creation directly into the Logpush workflow!&lt;/p&gt;
&lt;p&gt;Now, you no longer need to navigate multiple pages to manually create an R2 bucket or copy credentials. With this update, you can seamlessly &lt;strong&gt;configure a Logpush job to R2 in just one click&lt;/strong&gt;, reducing friction and making setup faster and easier.&lt;/p&gt;
&lt;p&gt;This enhancement makes it easier for customers to adopt Logpush and R2.&lt;/p&gt;
&lt;p&gt;For more details refer to our &lt;a href=&quot;https://docs.ahq.lat/logs/logpush/logpush-job/enable-destinations/r2/&quot;&gt;Logs&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>Rules - Increased Cloudflare Rules limits</title><link>https://docs.ahq.lat/changelog/post/2025-02-12-rules-upgraded-limits/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-02-12-rules-upgraded-limits/</guid><description>&lt;p&gt;We have upgraded and streamlined &lt;a href=&quot;https://docs.ahq.lat/rules/&quot;&gt;Cloudflare Rules&lt;/a&gt; limits across all plans, simplifying rule management and improving scalability for everyone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New limits by product:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/url-forwarding/bulk-redirects/&quot;&gt;Bulk Redirects&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Free: &lt;strong&gt;20&lt;/strong&gt; → &lt;strong&gt;10,000&lt;/strong&gt; URL redirects across lists&lt;/li&gt;
&lt;li&gt;Pro: &lt;strong&gt;500&lt;/strong&gt; → &lt;strong&gt;25,000&lt;/strong&gt; URL redirects across lists&lt;/li&gt;
&lt;li&gt;Business: &lt;strong&gt;500&lt;/strong&gt; → &lt;strong&gt;50,000&lt;/strong&gt; URL redirects across lists&lt;/li&gt;
&lt;li&gt;Enterprise: &lt;strong&gt;10,000&lt;/strong&gt; → &lt;strong&gt;1,000,000&lt;/strong&gt; URL redirects across lists&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/cloud-connector/&quot;&gt;Cloud Connector&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Free: &lt;strong&gt;5&lt;/strong&gt; → &lt;strong&gt;10&lt;/strong&gt; connectors&lt;/li&gt;
&lt;li&gt;Enterprise: &lt;strong&gt;125&lt;/strong&gt; → &lt;strong&gt;300&lt;/strong&gt; connectors&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/&quot;&gt;Custom Errors&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Pro: &lt;strong&gt;5&lt;/strong&gt; → &lt;strong&gt;25&lt;/strong&gt; error assets and rules&lt;/li&gt;
&lt;li&gt;Business: &lt;strong&gt;20&lt;/strong&gt; → &lt;strong&gt;50&lt;/strong&gt; error assets and rules&lt;/li&gt;
&lt;li&gt;Enterprise: &lt;strong&gt;50&lt;/strong&gt; → &lt;strong&gt;300&lt;/strong&gt; error assets and rules&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/rules/snippets/&quot;&gt;Snippets&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Pro: &lt;strong&gt;10&lt;/strong&gt; → &lt;strong&gt;25&lt;/strong&gt; code snippets and rules&lt;/li&gt;
&lt;li&gt;Business: &lt;strong&gt;25&lt;/strong&gt; → &lt;strong&gt;50&lt;/strong&gt; code snippets and rules&lt;/li&gt;
&lt;li&gt;Enterprise: &lt;strong&gt;50&lt;/strong&gt; → &lt;strong&gt;300&lt;/strong&gt; code snippets and rules&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/cache/how-to/cache-rules/&quot;&gt;Cache Rules&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/rules/configuration-rules/&quot;&gt;Configuration Rules&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/rules/compression-rules/&quot;&gt;Compression Rules&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/rules/origin-rules/&quot;&gt;Origin Rules&lt;/a&gt;, &lt;a href=&quot;https://docs.ahq.lat/rules/url-forwarding/single-redirects/&quot;&gt;Single Redirects&lt;/a&gt;, and &lt;a href=&quot;https://docs.ahq.lat/rules/transform/&quot;&gt;Transform Rules&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Enterprise: &lt;strong&gt;125&lt;/strong&gt; → &lt;strong&gt;300&lt;/strong&gt; rules&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;aside&gt;&lt;p&gt;Gradual rollout&lt;/p&gt;&lt;div&gt;&lt;p&gt;Limits are updated gradually. Some customers may still see previous limits until the rollout is fully completed in the first half of 2025.&lt;/p&gt;&lt;/div&gt;&lt;/aside&gt;</description><pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Rules - Custom Errors (beta): Stored Assets &amp; Account-level Rules</title><link>https://docs.ahq.lat/changelog/post/2025-02-11-custom-errors-beta/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-02-11-custom-errors-beta/</guid><description>&lt;p&gt;We&apos;re introducing &lt;a href=&quot;https://docs.ahq.lat/rules/custom-errors/&quot;&gt;Custom Errors&lt;/a&gt; (beta), which builds on our existing Custom Error Responses feature with new asset storage capabilities.&lt;/p&gt;
&lt;p&gt;This update allows you to store externally hosted error pages on Cloudflare and reference them in custom error rules, eliminating the need to supply inline content.&lt;/p&gt;
&lt;p&gt;This brings the following new capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Custom error assets&lt;/strong&gt; – Fetch and store external error pages at the edge for use in error responses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Account-Level custom errors&lt;/strong&gt; – Define error handling rules and assets at the account level for consistency across multiple zones. Zone-level rules take precedence over account-level ones, and assets are not shared between levels.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can use Cloudflare API to upload your existing assets for use with Custom Errors:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https://api.cloudflare.com/client/v4/zones/{zone_id}/custom_pages/assets&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;--header &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer &amp;#x3C;API_TOKEN&gt;&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;--header &lt;/span&gt;&lt;span&gt;&apos;Content-Type: application/json&apos;&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;--data &lt;/span&gt;&lt;span&gt;&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;name&quot;: &quot;maintenance&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;description&quot;: &quot;Maintenance template page&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;url&quot;: &quot;https://example.com/&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&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;You can then reference the stored asset in a Custom Error rule:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--request&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;PUT&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;&quot;https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_custom_errors/entrypoint&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;--header &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer &amp;#x3C;API_TOKEN&gt;&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;--header &lt;/span&gt;&lt;span&gt;&apos;Content-Type: application/json&apos;&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;--data &lt;/span&gt;&lt;span&gt;&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;rules&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;action&quot;: &quot;serve_error&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;action_parameters&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;asset_name&quot;: &quot;maintenance&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;content_type&quot;: &quot;text/html&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;status_code&quot;: 503&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;enabled&quot;: true,&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;expression&quot;: &quot;http.request.uri.path contains \&quot;error\&quot;&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;}&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;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;</description><pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Fundamentals, Terraform - Terraform v5 Provider is now generally available</title><link>https://docs.ahq.lat/changelog/post/2025-02-03-terraform-v5-provider/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-02-03-terraform-v5-provider/</guid><description>&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/2024-02-03-terraform-v5-screenshot.mW8OaFoS_Z2pw8Bq.webp&quot; alt=&quot;Screenshot of Terraform defining a Zone&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;Cloudflare&apos;s v5 Terraform Provider is now generally available. With this release, Terraform resources are now automatically generated based on OpenAPI Schemas. This change brings alignment across our SDKs, API documentation, and now Terraform Provider. The new provider boosts coverage by increasing support for API properties to 100%, adding 25% more resources, and more than 200 additional data sources. Going forward, this will also reduce the barriers to bringing more resources into Terraform across the broader Cloudflare API. This is a small, but important step to making more of our platform manageable through GitOps, making it easier for you to manage Cloudflare just like you do your other infrastructure.&lt;/p&gt;
&lt;p&gt;The Cloudflare Terraform Provider v5 is a ground-up rewrite of the provider and introduces breaking changes for some resource types. Please refer to the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade&quot; target=&quot;_blank&quot;&gt;upgrade guide&lt;/a&gt; for best practices, or the &lt;a href=&quot;https://blog.cloudflare.com/automatically-generating-cloudflares-terraform-provider/&quot; target=&quot;_blank&quot;&gt;blog post on automatically generating Cloudflare&apos;s Terraform Provider&lt;/a&gt; for more information about the approach.&lt;/p&gt;
&lt;p&gt;For more info&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Terraform provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.ahq.lat/terraform/&quot; target=&quot;_blank&quot;&gt;Documentation on using Terraform with Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate><product>Cloudflare Fundamentals</product><category>Cloudflare Fundamentals</category><category>Terraform</category></item><item><title>Rules - New Snippets Code Editor</title><link>https://docs.ahq.lat/changelog/post/2025-01-29-snippets-code-editor/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-01-29-snippets-code-editor/</guid><description>&lt;p&gt;The new &lt;a href=&quot;https://docs.ahq.lat/rules/snippets/&quot;&gt;Snippets&lt;/a&gt; code editor lets you edit Snippet code and rule in one place, making it easier to test and deploy changes without switching between pages.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/snippets-new-editor.CaoIu2_-_Z2rsmyM.webp&quot; alt=&quot;New Snippets code editor&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;What’s new:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Single-page editing for code and rule&lt;/strong&gt; – No need to jump between screens.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto-complete &amp;#x26; syntax highlighting&lt;/strong&gt; – Get suggestions and avoid mistakes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code formatting &amp;#x26; refactoring&lt;/strong&gt; – Write cleaner, more readable code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Try it now in &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/:zone/rules/snippets&quot; target=&quot;_blank&quot;&gt;Rules &gt; Snippets&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 29 Jan 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Rules - New Rules Overview Interface</title><link>https://docs.ahq.lat/changelog/post/2025-01-09-rules-overview/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2025-01-09-rules-overview/</guid><description>&lt;p&gt;&lt;strong&gt;Rules Overview&lt;/strong&gt; gives you a single page to manage all your &lt;a href=&quot;https://docs.ahq.lat/rules/&quot;&gt;Cloudflare Rules&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What you can do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;See all your rules in one place&lt;/strong&gt; – No more clicking around.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Find rules faster&lt;/strong&gt; – Search by name.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Understand execution order&lt;/strong&gt; – See how rules run in sequence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Debug easily&lt;/strong&gt; – Use &lt;a href=&quot;https://docs.ahq.lat/rules/trace-request/&quot;&gt;Trace&lt;/a&gt; without switching tabs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check it out in &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/:zone/rules/overview&quot; target=&quot;_blank&quot;&gt;Rules &gt; Overview&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE - Troubleshoot tunnels with diagnostic logs</title><link>https://docs.ahq.lat/changelog/post/2024-12-19-diagnostic-logs/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-12-19-diagnostic-logs/</guid><description>&lt;p&gt;The latest &lt;code&gt;cloudflared&lt;/code&gt; build &lt;a href=&quot;https://github.com/cloudflare/cloudflared/releases/tag/2024.12.2&quot; target=&quot;_blank&quot;&gt;2024.12.2&lt;/a&gt; introduces the ability to collect all the diagnostic logs needed to troubleshoot a &lt;code&gt;cloudflared&lt;/code&gt; instance.&lt;/p&gt;
&lt;p&gt;A diagnostic report collects data from a single instance of &lt;code&gt;cloudflared&lt;/code&gt; running on the local machine and outputs it to a &lt;code&gt;cloudflared-diag&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&quot;https://docs.ahq.lat/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/diag-logs/&quot;&gt;Diagnostic logs&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category></item><item><title>Rules - Terraform Support for Snippets</title><link>https://docs.ahq.lat/changelog/post/2024-12-11-terraform-snippets/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-12-11-terraform-snippets/</guid><description>&lt;p&gt;Now, you can manage &lt;a href=&quot;https://docs.ahq.lat/rules/snippets/&quot;&gt;Cloudflare Snippets&lt;/a&gt; with &lt;a href=&quot;https://docs.ahq.lat/terraform/&quot;&gt;Terraform&lt;/a&gt;. Use infrastructure-as-code to deploy and update Snippet code and rules without manual changes in the dashboard.&lt;/p&gt;
&lt;p&gt;Example Terraform configuration:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;tf&quot;&gt;&lt;code class=&quot;language-tf&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;resource&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;cloudflare_snippet&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;my_snippet&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;zone_id&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;&amp;#x3C;ZONE_ID&gt;&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;name&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;my_test_snippet_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;main_module&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;file1.js&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;files&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;name&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;file1.js&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;content&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;file1.js&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;/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;resource&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;cloudflare_snippet_rules&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;cookie_snippet_rule&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;zone_id&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;&amp;#x3C;ZONE_ID&gt;&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;rules&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;enabled&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;expression&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;http.cookie eq &lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;a=b&lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;&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;description&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;Trigger snippet on specific cookie&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;snippet_name&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;my_test_snippet_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;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;depends_on&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;/span&gt;&lt;span&gt;&lt;span&gt;cloudflare_snippet&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;my_snippet&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;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Learn more in the &lt;a href=&quot;https://docs.ahq.lat/rules/snippets/create-terraform/&quot;&gt;Configure Snippets using Terraform&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Rules - Cloud Connector Now Supports R2</title><link>https://docs.ahq.lat/changelog/post/2024-11-22-cloud-connector-r2/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-11-22-cloud-connector-r2/</guid><description>&lt;p&gt;Now, you can use &lt;a href=&quot;https://docs.ahq.lat/rules/cloud-connector/&quot;&gt;Cloud Connector&lt;/a&gt; to route traffic to your &lt;a href=&quot;https://docs.ahq.lat/r2/&quot;&gt;R2 buckets&lt;/a&gt; based on URLs, headers, geolocation, and more.&lt;/p&gt;
&lt;p&gt;Example setup:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--request&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;PUT&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;&quot;https://api.cloudflare.com/client/v4/zones/{zone_id}/cloud_connector/rules&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;--header &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer &amp;#x3C;API_TOKEN&gt;&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;--header &lt;/span&gt;&lt;span&gt;&quot;Content-Type: application/json&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;--data &lt;/span&gt;&lt;span&gt;&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;{&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;expression&quot;: &quot;http.request.uri.path wildcard \&quot;/images/*\&quot;&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;provider&quot;: &quot;cloudflare_r2&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;description&quot;: &quot;Connect to R2 bucket containing images&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;parameters&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;host&quot;: &quot;mybucketcustomdomain.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;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;]&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;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Get started using &lt;a href=&quot;https://docs.ahq.lat/rules/cloud-connector/&quot;&gt;Cloud Connector&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Fri, 22 Nov 2024 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Rules - Simplified UI for URL Rewrites</title><link>https://docs.ahq.lat/changelog/post/2024-10-23-url-rewrites-wildcard/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-10-23-url-rewrites-wildcard/</guid><description>&lt;p&gt;It’s now easy to create &lt;strong&gt;wildcard-based &lt;a href=&quot;https://docs.ahq.lat/rules/transform/url-rewrite/&quot;&gt;URL Rewrites&lt;/a&gt;&lt;/strong&gt;. No need for complex functions—just define your patterns and go.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/create-url-rewrite-rule.DIgpB8IB_ZNTjfK.webp&quot; alt=&quot;Rules Overview Interface&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;What’s improved:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Full wildcard support&lt;/strong&gt; – Create rewrite patterns using intuitive interface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Simplified rule creation&lt;/strong&gt; – No need for complex functions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Try it via &lt;a href=&quot;https://docs.ahq.lat/rules/transform/url-rewrite/create-dashboard/#wildcard-pattern-parameters&quot;&gt;creating a Rewrite URL rule in the dashboard&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Wed, 23 Oct 2024 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item><item><title>Logs - New fields added to Gateway-related datasets in Cloudflare Logs</title><link>https://docs.ahq.lat/changelog/post/2024-10-08-new-gateway-fields/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-10-08-new-gateway-fields/</guid><description>&lt;p&gt;Cloudflare has introduced new fields to two Gateway-related datasets in Cloudflare Logs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Gateway HTTP&lt;/strong&gt;: &lt;code&gt;ApplicationIDs&lt;/code&gt;, &lt;code&gt;ApplicationNames&lt;/code&gt;, &lt;code&gt;CategoryIDs&lt;/code&gt;, &lt;code&gt;CategoryNames&lt;/code&gt;, &lt;code&gt;DestinationIPContinentCode&lt;/code&gt;, &lt;code&gt;DestinationIPCountryCode&lt;/code&gt;, &lt;code&gt;ProxyEndpoint&lt;/code&gt;, &lt;code&gt;SourceIPContinentCode&lt;/code&gt;, &lt;code&gt;SourceIPCountryCode&lt;/code&gt;, &lt;code&gt;VirtualNetworkID&lt;/code&gt;, and &lt;code&gt;VirtualNetworkName&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Gateway Network&lt;/strong&gt;: &lt;code&gt;ApplicationIDs&lt;/code&gt;, &lt;code&gt;ApplicationNames&lt;/code&gt;, &lt;code&gt;DestinationIPContinentCode&lt;/code&gt;, &lt;code&gt;DestinationIPCountryCode&lt;/code&gt;, &lt;code&gt;ProxyEndpoint&lt;/code&gt;, &lt;code&gt;SourceIPContinentCode&lt;/code&gt;, &lt;code&gt;SourceIPCountryCode&lt;/code&gt;, &lt;code&gt;TransportProtocol&lt;/code&gt;, &lt;code&gt;VirtualNetworkID&lt;/code&gt;, and &lt;code&gt;VirtualNetworkName&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Tue, 08 Oct 2024 00:00:00 GMT</pubDate><product>Logs</product><category>Logs</category></item><item><title>AI Crawl Control - AI Crawl Control</title><link>https://docs.ahq.lat/changelog/post/2024-09-23-ai-audit-launch/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-09-23-ai-audit-launch/</guid><description>&lt;p&gt;Every site on Cloudflare now has access to &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/&quot;&gt;&lt;strong&gt;AI Audit&lt;/strong&gt;&lt;/a&gt;, which summarizes the crawling behavior of popular and known AI services.&lt;/p&gt;
&lt;p&gt;You can use this data to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand how and how often crawlers access your site (and which content is the most popular).&lt;/li&gt;
&lt;li&gt;Block specific AI bots accessing your site.&lt;/li&gt;
&lt;li&gt;Use Cloudflare to enforce your &lt;code&gt;robots.txt&lt;/code&gt; policy via an automatic WAF rule.&lt;/li&gt;
&lt;/ul&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/ai-crawl-control-overview.Dr_yGKOC_ZRyCQG.webp&quot; alt=&quot;View AI bot activity with AI Audit&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;To get started, explore &lt;a href=&quot;https://docs.ahq.lat/ai-crawl-control/&quot;&gt;AI audit&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 23 Sep 2024 00:00:00 GMT</pubDate><product>AI Crawl Control</product><category>AI Crawl Control</category></item><item><title>Rules - New Rules Templates for One-Click Rule Creation</title><link>https://docs.ahq.lat/changelog/post/2024-09-05-rules-templates/</link><guid isPermaLink="true">https://docs.ahq.lat/changelog/post/2024-09-05-rules-templates/</guid><description>&lt;p&gt;Now, you can create &lt;strong&gt;common rule configurations&lt;/strong&gt; in just &lt;strong&gt;one click&lt;/strong&gt; using Rules Templates.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://docs.ahq.lat/_astro/rules-templates.DAV0GOXF_Z2wOoyL.webp&quot; alt=&quot;Rules Templates&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;What you can do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pick a pre-built rule&lt;/strong&gt; – Choose from a library of templates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;One-click setup&lt;/strong&gt; – Deploy best practices instantly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customize as needed&lt;/strong&gt; – Adjust templates to fit your setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Template cards are now also available directly in the rule builder for each product.&lt;/p&gt;
&lt;p&gt;Need more ideas? Check out the &lt;a href=&quot;https://docs.ahq.lat/rules/examples/&quot;&gt;Examples gallery&lt;/a&gt; in our documentation.&lt;/p&gt;</description><pubDate>Thu, 05 Sep 2024 00:00:00 GMT</pubDate><product>Rules</product><category>Rules</category></item></channel></rss>