{"id":"src_ZdOQWQjgnyQ5618DKGHXN","slug":"cloudflare-core-platform","name":"Core Platform Changelog","type":"feed","url":"https://developers.cloudflare.com/changelog/?area=core-platform","orgId":"org_fW6EY8PY8Cr42ifo1IUAm","productId":"prod_NbGk_muq0AArXmYE8Tesm","productSlug":"core-platform","org":{"id":"org_fW6EY8PY8Cr42ifo1IUAm","slug":"cloudflare","name":"Cloudflare"},"isPrimary":false,"isHidden":false,"discovery":"curated","metadata":"{\"feedUrl\":\"https://developers.cloudflare.com/changelog/rss/core-platform.xml\",\"feedType\":\"unknown\",\"feedDiscoveredAt\":\"2026-06-19T21:04:45.547Z\",\"noFeedFound\":false,\"feedContentDepth\":\"full\",\"feedEtag\":\"\\\"12372f7c8275561707b068103cb73bcf\\\"\",\"feedContentLength\":\"564157\",\"enrichment\":{\"consecutiveFailures\":0}}","notice":null,"kind":null,"stars":null,"starsFetchedAt":null,"releaseCount":155,"releasesLast30Days":6,"avgReleasesPerWeek":3.1,"latestVersion":null,"latestDate":"2026-06-19T00:00:00.000Z","changelogUrl":null,"hasChangelogFile":false,"lastFetchedAt":"2026-06-19T21:07:04.937Z","lastPolledAt":"2026-06-19T23:03:32.084Z","trackingSince":"2024-09-05T00:00:00.000Z","releases":[{"id":"rel_UQZgyGk3JPuCnDkS_x6Sp","version":null,"type":"feature","title":"Cloudflare Mesh, Cloudflare Tunnel, Cloudflare WAN, Cloudflare One - Manage all your routes from one page in the dashboard","summary":"The **Routes** page in the Cloudflare dashboard now shows the routes across all of your connectors — [Cloudflare Mesh](https://developers.cloudflare.c...","titleGenerated":null,"titleShort":null,"content":"The **Routes** page in the Cloudflare dashboard now shows the routes across all of your connectors — [Cloudflare Mesh](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/) and [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/) routes alongside [Cloudflare WAN](https://developers.cloudflare.com/cloudflare-wan/) and [Magic Transit](https://developers.cloudflare.com/magic-transit/) static routes — in a single table, instead of a separate routes view per product.\n\n![The unified Routes page in the Cloudflare dashboard, showing routes across connectors in a single table](https://developers.cloudflare.com/_astro/2026-06-19-unified-routes.B3igBY20_Z1awHp.webp)\n\nFrom the unified Routes page you can:\n\n- **Visualize your network with an interactive map** that shows how your destinations flow through to your connectors — including equal-cost multi-path (ECMP) routes where the same prefix is served by several connectors. Select a node to filter the table down to the routes behind it.\n- **See every route in one table**, with its destination, type, connector, priority, and source, and filter or sort to find what you need.\n- **Create, edit, and delete routes** of any supported type without leaving the page. When adding a Cloudflare WAN or Magic Transit static route, you now pick the next hop by **connector name** instead of typing its IP.\n- **Manage [virtual networks](https://developers.cloudflare.com/cloudflare-one/networks/virtual-networks/)** from a dedicated tab.\n- **Test a route** to see which connector and next hop a destination resolves to before you commit a change.\n\nTo find it, go to **Networking** > **Routes** in the dashboard sidebar.\n\n[Go to **Routes**](https://dash.cloudflare.com/?to=/:account/magic-networks/routes)\n\nYour existing routes, APIs, and configurations are unchanged — this is a dashboard experience that brings them together in one place. Learn how to [add routes](https://developers.cloudflare.com/cloudflare-one/networks/routes/add-routes/) and [manage virtual networks](https://developers.cloudflare.com/cloudflare-one/networks/virtual-networks/).","publishedAt":"2026-06-19T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:43.933Z","url":"https://developers.cloudflare.com/changelog/post/2026-06-19-unified-routes-page/","media":[{"type":"image","url":"https://developers.cloudflare.com/_astro/2026-06-19-unified-routes.B3igBY20_Z1awHp.webp","alt":"The unified Routes page in the Cloudflare dashboard, showing routes across connectors in a single table","r2Key":"releases/b527a4e6246620ee391258d901927b626c5f12a250efd6b82468f66756f3c102.webp","r2Url":"https://media.releases.sh/releases/b527a4e6246620ee391258d901927b626c5f12a250efd6b82468f66756f3c102.webp"}],"coverageCount":0},{"id":"rel_C5I4skb7oRw5qesatcx8G","version":null,"type":"feature","title":"Cloudflare Fundamentals, Workers, D1, R2, KV, Queues, Vectorize, Durable Objects, Containers - Billable usage and budget alerts now in product sidebars","summary":"Pay-as-you-go customers can now view billable usage and create [budget alerts](https://developers.cloudflare.com/changelog/post/2026-04-13-billable-us...","titleGenerated":null,"titleShort":null,"content":"Pay-as-you-go customers can now view billable usage and create [budget alerts](https://developers.cloudflare.com/changelog/post/2026-04-13-billable-usage-dashboard-and-budget-alerts/) directly from the product overview pages for [Workers & Pages](https://developers.cloudflare.com/workers/), [D1](https://developers.cloudflare.com/d1/), [R2](https://developers.cloudflare.com/r2/), [Workers KV](https://developers.cloudflare.com/kv/), [Queues](https://developers.cloudflare.com/queues/), [Vectorize](https://developers.cloudflare.com/vectorize/), [Durable Objects](https://developers.cloudflare.com/durable-objects/), and [Containers](https://developers.cloudflare.com/containers/). A new sidebar widget shows current-period spend and the billing cycle date range, alongside a button to create a budget alert.\n\nThe widget pulls from the same data as the [Billable Usage dashboard](https://developers.cloudflare.com/changelog/post/2026-04-13-billable-usage-dashboard-and-budget-alerts/) and aligns to your billing cycle (or the current day on Free plans), so the numbers match your invoice. Enterprise contract accounts are not yet supported.\n\n![Billable usage widget in the Durable Objects product sidebar showing current-period spend and a breakdown by service](https://developers.cloudflare.com/_astro/2026-06-04-billable-usage-product-sidebar.BUuIokn__ZAx1o6.webp)\n\nSelecting **Create budget alert** opens the budget alert flow inline so you can set a dollar threshold in the same place you are reviewing usage. Budget alerts apply to your total account-level spend across all products, not just the product page you create them from.\n\nFor more information, refer to the [Usage-based billing documentation](https://developers.cloudflare.com/billing/).","publishedAt":"2026-06-04T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:43.933Z","url":"https://developers.cloudflare.com/changelog/post/2026-06-04-billable-usage-product-sidebar/","media":[{"type":"image","url":"https://developers.cloudflare.com/_astro/2026-06-04-billable-usage-product-sidebar.BUuIokn__ZAx1o6.webp","alt":"Billable usage widget in the Durable Objects product sidebar showing current-period spend and a breakdown by service","r2Key":"releases/fe24b5e1fa4c164be15c7b8b89ffd058e064dd5299751ddd5ff42f22407e1b5b.webp","r2Url":"https://media.releases.sh/releases/fe24b5e1fa4c164be15c7b8b89ffd058e064dd5299751ddd5ff42f22407e1b5b.webp"}],"coverageCount":0},{"id":"rel_u_wKPIiu53VCYkzS9su2P","version":null,"type":"feature","title":"Cloudflare Fundamentals - Introducing self-managed OAuth clients","summary":"Today we are launching self-managed OAuth, enabling developers to build third-party applications that integrate with Cloudflare via OAuth. This provid...","titleGenerated":null,"titleShort":null,"content":"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.\n\nOAuth 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.\n\n#### What is new\n\nCloudflare Developers can now create and manage their own OAuth applications to integrate with Cloudflare.\n\n#### Create an application\n\nTo create an application, go to **Manage account** > **OAuth clients** in your account on the Cloudflare dashboard.\n\n[Go to **OAuth clients**](https://dash.cloudflare.com/?to=/:account/oauth-clients)\n\n#### Select limited scopes\n\nIf 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.\n\nUsers can review the requested scopes before they consent.\n\n#### Apps for both private and public use\n\nApplications start with `private` visibility. Private applications can only be used by members of the account where the application was created.\n\nTo make an application available to any Cloudflare user, complete the prerequisites for `public` visibility.\n\nFor more information, refer to [client visibility](https://developers.cloudflare.com/fundamentals/oauth/create-an-oauth-client/#private-and-public-clients).\n\n#### Client domain verification\n\nBefore 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.\n\nAfter verification, users see a verified badge on the consent page.\n\nFor more information, refer to [domain verification](https://developers.cloudflare.com/fundamentals/oauth/create-an-oauth-client/#client-url-domain-ownership-verification).\n\n#### Learn more\n\nFor more information, refer to [OAuth clients](https://developers.cloudflare.com/fundamentals/oauth/).","publishedAt":"2026-06-03T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:43.933Z","url":"https://developers.cloudflare.com/changelog/post/2026-06-03-public-oauth-clients/","media":[],"coverageCount":0},{"id":"rel_g6O2RLvZyGCRyXxXEmyuW","version":null,"type":"feature","title":"Logs - New Turnstile Events Logpush dataset in Cloudflare Logs","summary":"Cloudflare has updated [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/):\n\n#### New datasets\n\n- **Turnstile Eve...","titleGenerated":null,"titleShort":null,"content":"Cloudflare has updated [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/):\n\n#### New datasets\n\n- **Turnstile Events**: A new dataset with fields including `ASN`, `Action`, `BrowserMajor`, `BrowserName`, `ClientIP`, `CountryCode`, `EventType`, `Hostname`, `OSMajor`, `OSName`, `Sitekey`, `Timestamp`, and `UserAgent`.\n\nFor the complete field definitions for each dataset, refer to [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/).","publishedAt":"2026-06-01T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:43.933Z","url":"https://developers.cloudflare.com/changelog/post/2026-06-01-log-fields-updated/","media":[],"coverageCount":0},{"id":"rel_RyRRIdcMMks3wYQ9dHTTw","version":null,"type":"feature","title":"Logs - Updated fields across multiple Logpush datasets in Cloudflare Logs","summary":"Cloudflare has updated [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/):\n\n#### Updated fields in existing data...","titleGenerated":null,"titleShort":null,"content":"Cloudflare has updated [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/):\n\n#### Updated fields in existing datasets\n\n- **DEX Device State Events** (added): `DeviceRegistrationProfileID`.\n- **Gateway HTTP** (added): `AddedHeaders`, `DeletedHeaders`, and `SetHeaders`.\n- **HTTP requests** (added): `MatchedRules`.\n\nFor the complete field definitions for each dataset, refer to [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/).","publishedAt":"2026-05-29T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:43.933Z","url":"https://developers.cloudflare.com/changelog/post/2026-05-29-log-fields-updated/","media":[],"coverageCount":0},{"id":"rel_ECji7dkRZquThLs-2QPhZ","version":null,"type":"feature","title":"Cloudflare Tunnel, Cloudflare Tunnel for SASE - Cloudflare Tunnel now runs connectivity pre-checks at startup","summary":"Starting with [`cloudflared` version 2026.5.2](https://github.com/cloudflare/cloudflared/releases), [Cloudflare Tunnel](https://developers.cloudflare....","titleGenerated":null,"titleShort":null,"content":"Starting with [`cloudflared` version 2026.5.2](https://github.com/cloudflare/cloudflared/releases), [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/) automates the entire [connectivity pre-checks workflow](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/) directly inside the binary. Previously, customers had to install `dig` and `netcat` and run those commands by hand to verify their environment. Now `cloudflared` does it natively at startup — and surfaces actionable remediation when something is blocked.\n\n![cloudflared connectivity pre-checks output](https://developers.cloudflare.com/_astro/cloudflared-connectivity-prechecks.DRwN6tGe_c1XGu.webp)\n\nOn every `cloudflared tunnel run` (and `cloudflared tunnel diag`), the binary now natively checks:\n\n- **DNS resolution** — `region1.v2.argotunnel.com` and `region2.v2.argotunnel.com` resolve to valid Cloudflare IPs.\n- **Transport connectivity** — outbound `UDP (QUIC)` and `TCP (HTTP/2)` on port `7844`.\n- **Management API** — outbound `TCP/443` to `api.cloudflare.com` for software updates.\n\nResults are printed in a scannable CLI table with three states:\n\n- ✅ **Pass** — the check succeeded.\n- ⚠️ **Warn** — a non-blocking issue, for example the Management API is unreachable so automatic updates will not work, but the tunnel will still come up.\n- ❌ **Fail** — a blocking issue, with a specific remediation hint (for example, `Allow outbound UDP on port 7844`).\n\nIf DNS is unresolvable, or **both** UDP and TCP fail on port 7844, `cloudflared` exits early with the failure rather than looping on opaque `failed to dial` errors.\n\nPre-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.\n\nTo get the new behavior, upgrade `cloudflared` to version `2026.5.2` or later. For more details, refer to the [Connectivity pre-checks documentation](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/).","publishedAt":"2026-05-27T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.081Z","url":"https://developers.cloudflare.com/changelog/post/2026-05-27-cloudflared-connectivity-prechecks/","media":[{"type":"image","url":"https://developers.cloudflare.com/_astro/cloudflared-connectivity-prechecks.DRwN6tGe_c1XGu.webp","alt":"cloudflared connectivity pre-checks output","r2Key":"releases/06825daee11a5f1d213baf50768ac16c7be986809cb653dab0e940dd84657640.webp","r2Url":"https://media.releases.sh/releases/06825daee11a5f1d213baf50768ac16c7be986809cb653dab0e940dd84657640.webp"}],"coverageCount":0},{"id":"rel_e-jtxWBgElKKKGdVsqP9J","version":null,"type":"feature","title":"Billing - Modernized Billing Profile with new payment options","summary":"The [Billing Profile](https://developers.cloudflare.com/billing/get-started/update-billing-info/) now has a modern UI and a single space that unifies ...","titleGenerated":null,"titleShort":null,"content":"The [Billing Profile](https://developers.cloudflare.com/billing/get-started/update-billing-info/) now has a modern UI and a single space that unifies billing information, payment method management and an enhanced subscriptions view under a single **Subscriptions** tab.\n\n#### What changed\n\nThe **Subscriptions** tab brings billing information, payment method management, and your subscriptions together in one place. The payment management and **Pay overdue balances** flows now use the latest checkout as product purchase flows, so you can pay with Apple Pay, Google Pay, Link, and [Instant Bank Payments via Link](https://developers.cloudflare.com/billing/payment-methods/instant-bank-payments-link/) alongside cards and PayPal.\n\nNew cards complete 3D Secure authentication when the issuer requires it — for example, the EU under PSD2 and India under RBI.\n\n![Modernized Billing Profile with the Subscriptions tab](https://developers.cloudflare.com/_astro/2026-05-21-modernised-billing-profile.D6PysUnl_Z1dpUam.webp)\n\nFor details, refer to the [Billing Home](https://developers.cloudflare.com/billing/) documentation.","publishedAt":"2026-05-21T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.081Z","url":"https://developers.cloudflare.com/changelog/post/2026-05-21-modernised-billing-profile/","media":[{"type":"image","url":"https://developers.cloudflare.com/_astro/2026-05-21-modernised-billing-profile.D6PysUnl_Z1dpUam.webp","alt":"Modernized Billing Profile with the Subscriptions tab","r2Key":"releases/1fe595488afecd8014569350dcb7c25197dfba65a15bb8701852acd0d25ada0e.webp","r2Url":"https://media.releases.sh/releases/1fe595488afecd8014569350dcb7c25197dfba65a15bb8701852acd0d25ada0e.webp"}],"coverageCount":0},{"id":"rel_3o9kuNZ5lZ2YGuqeCNlNE","version":null,"type":"feature","title":"Cloudflare Fundamentals, Cloudflare One, Cloudflare Tunnel for SASE, Cloudflare Tunnel, Cloudflare Mesh - Granular permissions for Cloudflare Tunnel and Cloudflare Mesh","summary":"You can now scope Cloudflare permissions to individual [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/) instances and [Cloudflare Mesh](...","titleGenerated":null,"titleShort":null,"content":"You can now scope Cloudflare permissions to individual [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/) instances and [Cloudflare Mesh](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/) nodes. Administrators can delegate access to specific Tunnels or Mesh nodes without granting account-wide control over private networking.\n\n#### What is new\n\nWhen you [add a member](https://developers.cloudflare.com/fundamentals/manage-members/manage/) or create a [permission policy](https://developers.cloudflare.com/fundamentals/manage-members/policies/), the resource picker now lists [Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/) instances and [Cloudflare Mesh](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/) nodes as scopable resource types. You can:\n\n- 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.\n- 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.\n- Scope a single policy to one or many Tunnels and Mesh nodes at once.\n\n#### How it works\n\nGranular permissions are a parallel layer to existing account-level roles — they do not replace them.\n\n- **Existing account-level roles continue to work.** A member with `Cloudflare Access` or `Cloudflare Zero Trust` retains write access to every Tunnel and Mesh node in the account. This ensures backward compatibility for existing automation and tokens.\n- **Granular permissions are additive.** For any API request on a specific Tunnel or Mesh node, access is granted if the principal has **either** the account-level role **or** a granular permission for that resource.\n- **Resource enumeration is authorization-aware.** Listing endpoints (`GET /accounts/{id}/cfd_tunnel`, `GET /accounts/{id}/warp_connector`) return only the resources the principal has at least read access to.\n\n#### Get started\n\n- Configure [granular permissions for Cloudflare Tunnel](https://developers.cloudflare.com/tunnel/advanced/granular-permissions/).\n- Configure [granular permissions for Cloudflare Tunnel and Cloudflare Mesh in Cloudflare One](https://developers.cloudflare.com/cloudflare-one/networks/connectors/granular-permissions/).\n- Review the [resource-scoped roles](https://developers.cloudflare.com/fundamentals/manage-members/roles/#resource-scoped-roles) on the Cloudflare role reference.","publishedAt":"2026-05-21T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.081Z","url":"https://developers.cloudflare.com/changelog/post/2026-05-21-tunnel-mesh-granular-permissions/","media":[],"coverageCount":0},{"id":"rel_LBAX4RjM0vEJRftp5JfSj","version":null,"type":"feature","title":"Logs - New Logpush datasets and updated fields across multiple Logpush datasets in Cloudflare Logs","summary":"Cloudflare has updated [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/):\n\n#### New datasets\n\n- **Email Securit...","titleGenerated":null,"titleShort":null,"content":"Cloudflare has updated [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/):\n\n#### New datasets\n\n- **Email Security Post-Delivery Events**: A new dataset with fields including `AlertID`, `CompletedAt`, `Destination`, `FinalDisposition`, `Folder`, `From`, `FromName`, `MessageID`, `MessageTimestamp`, `MicrosoftTenantID`, `Operation`, `PostfixID`, `Reasons`, `Recipient`, `RequestedAt`, `RequestedBy`, `RequestedDisposition`, `Status`, `Subject`, `Success`, and `To`.\n- **Magic Network Monitoring Flow Logs**: A new dataset with fields including `AWSVPCFlowJSON`, `Bits`, `DestinationAS`, `DestinationAddress`, `DestinationPort`, `DeviceID`, `EgressBits`, `EgressPackets`, `Ethertype`, `FlowProtocol`, `FlowTimestamp`, `NumFlows`, `PacketID`, `Packets`, `Protocol`, `RuleIDs`, `SampleRate`, `SampleRateType`, `SamplerAddress`, `SourceAS`, `SourceAddress`, `SourcePort`, `TcpFlags`, and `Timestamp`.\n\n#### Updated fields in existing datasets\n\n- **Firewall events** (added): `AISecurityInjectionScore`, `AISecurityPIICategories`, `AISecurityTokenCount`, and `AISecurityUnsafeTopicCategories`.\n- **HTTP requests** (added): `AISecurityInjectionScore`, `AISecurityPIICategories`, `AISecurityTokenCount`, `AISecurityUnsafeTopicCategories`, and `Subrequests`.\n\nFor the complete field definitions for each dataset, refer to [Logpush datasets](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/).","publishedAt":"2026-05-13T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.081Z","url":"https://developers.cloudflare.com/changelog/post/2026-05-13-log-fields-updated/","media":[],"coverageCount":0},{"id":"rel_tfUWahiWJ1SQk6Bw_RBxX","version":null,"type":"feature","title":"Cloudflare Fundamentals - Keyboard shortcuts for the Cloudflare dashboard","summary":"## Keyboard shortcuts for the Cloudflare dashboard\n\nMay 04, 2026 \n\n[ Cloudflare Fundamentals ](https://developers.cloudflare.com/fundamentals/) \n\nYou ...","titleGenerated":null,"titleShort":null,"content":"## Keyboard shortcuts for the Cloudflare dashboard\n\nMay 04, 2026 \n\n[ Cloudflare Fundamentals ](https://developers.cloudflare.com/fundamentals/) \n\nYou can now navigate, switch context, and take common actions in the Cloudflare dashboard without leaving your keyboard. Press `?` anywhere to see the full list. Keyboard shortcuts can be disabled by visiting your [profile settings ↗](https://dash.cloudflare.com/profile/settings).\n\n#### Navigate\n\n| Shortcut  | Action                                                 |\n| --------- | ------------------------------------------------------ |\n| g h       | Go to Home                                             |\n| g a       | Go to account overview                                 |\n| g z       | Go to zone overview                                    |\n| g p       | Go to your profile                                     |\n| g w       | Go to Workers & Pages                                  |\n| g o       | Go to Zero Trust                                       |\n| g b       | Go to billing                                          |\n| g 1 – g 5 | Go to a recent or pinned item (by position in sidebar) |\n| t →       | Move to the next tab                                   |\n| t ←       | Move to the previous tab                               |\n| p →       | Move to the next page of a table                       |\n| p ←       | Move to the previous page of a table                   |\n\n#### Take action\n\n| Shortcut | Action                               |\n| -------- | ------------------------------------ |\n| /        | Open quick search                    |\n| ?        | Show keyboard shortcuts              |\n| s a      | Switch account                       |\n| s z      | Switch zone                          |\n| s .      | Star or unstar the current zone      |\n| p .      | Pin or unpin the current page        |\n| t s      | Toggle the sidebar open or closed    |\n| t m      | Expand or collapse all sidebar menus |\n| t a      | Toggle Ask AI sidebar                |\n| d .      | Toggle dark mode                     |\n| c u      | Copy the current URL                 |\n| c d      | Copy a deep link URL                 |","publishedAt":"2026-05-04T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.081Z","url":"https://developers.cloudflare.com/changelog/post/2026-05-04-keyboard-shortcuts/","media":[],"coverageCount":0},{"id":"rel_Ex16I1GEjMV1IxQ4GwdIb","version":"7.0.0","type":"feature","title":"SDK, Go SDK - Go SDK v7.0.0 Released","summary":"Full Changelog: [v6.10.0...v7.0.0](https://github.com/cloudflare/cloudflare-go/compare/v6.10.0...v7.0.0)\n\nThis is a major version release that include...","titleGenerated":null,"titleShort":null,"content":"Full Changelog: [v6.10.0...v7.0.0](https://github.com/cloudflare/cloudflare-go/compare/v6.10.0...v7.0.0)\n\nThis is a major version release that includes breaking changes to three packages: `ai_search`, `email_security`, and `workers`. These changes reflect upstream API specification updates that improve type correctness and consistency.\n\n**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.\n\n#### Breaking Changes\n\nSee the [v7.0.0 Migration Guide](https://github.com/cloudflare/cloudflare-go/blob/main/docs/migration-guides/v7.0.0-migration-guide.md) for before/after code examples and actions needed for each change.\n\n#### AI Search - SearchForAgents Metadata Removed\n\nThe `SearchForAgents` nested type has been removed from all instance metadata structs. This field is no longer part of the API specification.\n\n**Removed Types:**\n\n- `InstanceNewResponseMetadataSearchForAgents`\n- `InstanceUpdateResponseMetadataSearchForAgents`\n- `InstanceListResponseMetadataSearchForAgents`\n- `InstanceDeleteResponseMetadataSearchForAgents`\n- `InstanceReadResponseMetadataSearchForAgents`\n- `InstanceNewParamsMetadataSearchForAgents`\n- `InstanceUpdateParamsMetadataSearchForAgents`\n- `NamespaceInstanceNewResponseMetadataSearchForAgents`\n- `NamespaceInstanceUpdateResponseMetadataSearchForAgents`\n- `NamespaceInstanceListResponseMetadataSearchForAgents`\n- `NamespaceInstanceDeleteResponseMetadataSearchForAgents`\n- `NamespaceInstanceReadResponseMetadataSearchForAgents`\n- `NamespaceInstanceNewParamsMetadataSearchForAgents`\n- `NamespaceInstanceUpdateParamsMetadataSearchForAgents`\n\n#### Email Security - Path Parameter Type Changes\n\nMultiple Email Security settings sub-resources have changed their path parameter types from `int64` to `string`:\n\n- `AllowPolicies` (`policyID int64` -> `policyID string`)\n- `BlockSenders` (`patternID int64` -> `patternID string`)\n- `Domains` (`domainID int64` -> `domainID string`)\n- `ImpersonationRegistry` (`displayNameID int64` -> `impersonationRegistryID string`)\n- `TrustedDomains` (`trustedDomainID int64` -> `trustedDomainID string`)\n\n#### Email Security - Investigate Parameter Rename\n\nThe `Investigate.Get`, `Investigate.Move.New`, and `Investigate.Reclassify.New` methods now use `investigateID` instead of `postfixID` as the path parameter name.\n\n#### Email Security - Domains BulkDelete Method Removed\n\nThe `SettingDomainService.BulkDelete` method and its associated types have been removed:\n\n- `SettingDomainBulkDeleteResponse`\n- `SettingDomainBulkDeleteParams`\n\n#### Email Security - TrustedDomains Return Type Change\n\n`SettingTrustedDomainService.New` now returns `*SettingTrustedDomainNewResponse` instead of `*SettingTrustedDomainNewResponseUnion`.\n\n#### Email Security - Investigate.Move Return Type Change\n\n`InvestigateMoveService.New` now returns `*pagination.SinglePage[InvestigateMoveNewResponse]` instead of `*[]InvestigateMoveNewResponse`.\n\n#### Workers - Observability Telemetry Filter Restructuring\n\nThe observability telemetry filter parameter types have been restructured to support nested filter groups. New discriminated union types replace the previous flat filter arrays:\n\n- `ObservabilityTelemetryKeysParams.Filters` now accepts `FiltersObjectFilterUnion` (was `[]interface\\{\\}`)\n- `ObservabilityTelemetryQueryParams.Parameters.Filters` now accepts `FiltersObjectFilterUnion`\n- `ObservabilityTelemetryValuesParams.Filters` now accepts `FiltersObjectFilterUnion`\n\nNew types include `FiltersObjectFiltersObject` (for group filters with `FilterCombination`) and `FiltersWorkersObservabilityFilterLeaf` (for leaf filters with typed `Operation`, `Type`, and `Value` fields).\n\n#### Features\n\n#### Organizations - Audit Logs (`client.Organizations.Logs.Audit`)\n\n**NEW SERVICE:** Query organization audit logs with cursor-based pagination.\n\n- `List()` - Retrieve audit logs\n\n#### Browser Rendering (`client.BrowserRendering`)\n\n- `client.BrowserRendering.Devtools.Browser.Targets.Close()` - Close a specific browser target (tab, page) by ID\n\n#### Queues (`client.Queues`)\n\n- `client.Queues.GetMetrics()` - Retrieve queue metrics for a specific queue\n\n#### AI Search (`client.AISearch`)\n\n- Added `WaitForCompletion` parameter to `NamespaceInstanceItemNewOrUpdateParams` and `NamespaceInstanceItemSyncParams` for synchronous indexing confirmation\n\n#### Bug Fixes\n\n- **Magic Transit**: `ConnectorService.List` parameter name corrected from `query` to `params` (non-functional, affects generated documentation only)\n\n#### Deprecations\n\nNone in this release.\n\n#### Get started\n\n- [Download Go SDK v7.0.0](https://github.com/cloudflare/cloudflare-go/releases/tag/v7.0.0)\n- [Go SDK documentation](https://developers.cloudflare.com/api/sdks/go/)\n- [Migration Guide](https://github.com/cloudflare/cloudflare-go/blob/main/docs/migration-guides/v7.0.0-migration-guide.md)","publishedAt":"2026-04-30T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.111Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-30-go-sdk-v700/","media":[],"coverageCount":0},{"id":"rel_76gTNbxiy7dBsKo53cG6I","version":"6.0.0","type":"feature","title":"SDK - Cloudflare TypeScript SDK v6.0.0 Released","summary":"Full Changelog: [v6.0.0-beta.2...v6.0.0](https://github.com/cloudflare/cloudflare-typescript/compare/v6.0.0-beta.2...v6.0.0)\n\nThis is a major version ...","titleGenerated":null,"titleShort":null,"content":"Full Changelog: [v6.0.0-beta.2...v6.0.0](https://github.com/cloudflare/cloudflare-typescript/compare/v6.0.0-beta.2...v6.0.0)\n\nThis 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.\n\n**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.\n\n#### Breaking Changes\n\n#### SDK Infrastructure\n\n- **Retry-After handling changed**: The SDK now respects any server-specified `Retry-After` value for rate-limited requests. Previously, values over 60 seconds were ignored and a default backoff was used instead.\n- **Empty response handling**: Responses with `content-length: 0` now return `undefined` instead of attempting to parse the body.\n- **Environment variable reading**: Empty string env vars (for example, `CLOUDFLARE_API_TOKEN=\"\"`) are now treated as unset.\n- **Path query parameter merging**: URL search params embedded in endpoint paths are now extracted and merged into the query object.\n\n#### Removed Endpoints (17)\n\n17 HTTP endpoints were removed from the SDK, affecting `abuse-reports`, `cloudforce-one`, `dlp/profiles/predefined`, `email-security/investigate`, `email-security/settings`, and `intel/ip-list`.\n\n#### Method Signature Changes\n\n- `client.ai.toMarkdown.transform(file, \\{ ...params \\})` -> `client.ai.toMarkdown.transform(\\{ ...params \\})` -- `file` moved from positional arg into params body\n- `client.radar.ai.toMarkdown.create(body, \\{ ...params \\})` -> `client.radar.ai.toMarkdown.create(\\{ ...params \\})` -- `body` moved from positional arg into params\n- `client.abuseReports.create(reportType, \\{ ...params \\})` -> `client.abuseReports.create(reportParam, \\{ ...params \\})` -- positional arg renamed\n- `client.iam.userGroups.members.create(userGroupId, [ ...body ])` -> `client.iam.userGroups.members.create(userGroupId, [ ...members ])` -- body array param renamed\n\n#### Renamed Client Paths\n\n- `client.originTLSClientAuth.hostnames.certificates` -> `client.originTLSClientAuth.zoneCertificates`\n- `client.radar.netflows` -> `client.radar.netFlows` (casing change)\n\n#### Return Type Changes (179)\n\n- **133 methods now return `null`** instead of a typed response object. This primarily affects delete operations across `accounts`, `cache`, `d1`, `filters`, `firewall`, `hyperdrive`, `iam`, `kv`, `logpush`, `logs`, `r2`, `stream`, `workers`, `zero-trust`, `zones`, and others.\n- **17 methods changed pagination type** (for example, `KeysCursorPaginationAfter` -> `KeysCursorLimitPagination`).\n- **29 methods changed to a different named type** (for example, `CloudflaredCreateResponse` -> `CloudflareTunnel`).\n\n#### Removed Types (43)\n\n24 shared types removed from root namespace (`ASN`, `AuditLog`, `Member`, `Permission`, `Role`, `Subscription`, `Token`, etc.). 19 response types consolidated or renamed.\n\n#### Resource Restructuring\n\n19 resources were restructured from single files to directories. Public API client paths are unchanged, but deep imports may break.\n\n#### New Top-Level Resources\n\n11 entirely new resources added to the client:\n\nResource\n\nClient Path\n\nMethods\n\nDescription\n\nAI Search\n\n`client.aiSearch`\n\n46\n\nInstances, namespaces, tokens, and items\n\nConnectivity\n\n`client.connectivity`\n\n5\n\nDirectory service APIs\n\nEmail Sending\n\n`client.emailSending`\n\n7\n\nSend and send\\_raw endpoints\n\nFraud\n\n`client.fraud`\n\n2\n\nFraud detection API\n\nGoogle Tag Gateway\n\n`client.googleTagGateway`\n\n2\n\nGoogle Tag Gateway management\n\nOrganizations\n\n`client.organizations`\n\n8\n\nOrganization profiles and audit logs\n\nR2 Data Catalog\n\n`client.r2DataCatalog`\n\n11\n\nR2 Data Catalog routes\n\nRealtime Kit\n\n`client.realtimeKit`\n\n54\n\nRealtime Kit APIs\n\nResource Tagging\n\n`client.resourceTagging`\n\n9\n\nResource tagging routes\n\nToken Validation\n\n`client.tokenValidation`\n\n13\n\nToken validation rules\n\nVulnerability Scanner\n\n`client.vulnerabilityScanner`\n\n21\n\nVulnerability scanning\n\n#### New Sub-Resources on Existing Resources\n\n- **browser-rendering**: `crawl`, `devtools` - Crawl endpoints and DevTools methods\n- **cache**: `origin-cloud-regions` - Origin cloud regions resource\n- **dns**: `usage` - DNS records usage endpoints\n- **d1**: `time-travel` - Time travel get\\_bookmark and restore\n- **email-security**: `phishguard` - Phishguard reports endpoint\n- **pipelines**: `sinks`, `streams` - Pipelines restructure\n- **radar**: `agent-readiness`, `geolocations`, `post-quantum` - New analytics endpoints\n- **workers**: `observability` - Observability destinations\n- **zones**: `environments` - Zone environments endpoints\n- **api-gateway**: `labels` - Labels endpoints\n- **brand-protection**: `v2` - V2 endpoints\n- **alerting**: `silences` - Alert silencing API\n- **billing**: `usage` - Billable usage PayGo endpoint\n- **iam**: `sso` - SSO Connectors resource\n- **queues**: `getMetrics` method - Queues metrics endpoint\n- **registrar**: `registration-status`, `update-status` - Registrar API convergence\n- **zero-trust**: DLP settings, DEX rules, Access Users, WARP Connector, WARP Subnets, Gateway PAC files, Gateway tenants\n\n#### Bug Fixes\n\n- Resolved type errors from codegen overwriting manual fixes\n- Fixed `post()` usage for to-markdown endpoints to resolve async type error\n- Added least-privilege permissions to all workflow jobs\n- Reverted erroneous removal of rulesets resource methods and types\n- Resolved prettier formatting errors in codegen output\n\n#### Deprecations\n\nThe following resources now include `@deprecated` annotations on some methods:\n\n`accounts`, `addressing`, `ai-gateway`, `aisearch`, `api-gateway`, `billing`, `cloudforce-one`, `custom-nameservers`, `dns`, `email-routing`, `email-security`, `filters`, `firewall`, `images`, `intel`, `keyless-certificates`, `kv`, `logpush`, `origin-tls-client-auth`, `page-shield`, `pages`, `pipelines`, `radar`, `rate-limits`, `registrar`, `rulesets`, `ssl`, `user`, `workers`, `workers-for-platforms`, `zero-trust`, `zones`\n\n#### Get started\n\n- [Download TypeScript SDK v6.0.0](https://github.com/cloudflare/cloudflare-typescript/releases/tag/v6.0.0)\n- [TypeScript SDK documentation](https://developers.cloudflare.com/api/sdks/typescript/)\n- [Full Changelog](https://github.com/cloudflare/cloudflare-typescript/blob/main/CHANGELOG.md)","publishedAt":"2026-04-30T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.111Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-30-cloudflare-typescript-v600/","media":[],"coverageCount":0},{"id":"rel_63AEFsa-ktHe3TmS4_V5R","version":"5.0.0","type":"feature","title":"SDK - Cloudflare Python SDK v5.0.0 Released","summary":"Full Changelog: [v4.3.1...v5.0.0](https://github.com/cloudflare/cloudflare-python/compare/v4.3.1...v5.0.0)\n\nThis is a major release of the Cloudflare ...","titleGenerated":null,"titleShort":null,"content":"Full Changelog: [v4.3.1...v5.0.0](https://github.com/cloudflare/cloudflare-python/compare/v4.3.1...v5.0.0)\n\nThis 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.\n\n**Please review the breaking changes below before upgrading.** A migration guide is available at [v5.0.0 Migration Guide](https://github.com/cloudflare/cloudflare-python/blob/main/docs/migration-guides/v5.0.0-migration-guide.md).\n\n#### Breaking Changes\n\n- **Python 3.8 is no longer supported.** The minimum required version is now Python 3.9.\n- **`typing-extensions` minimum version bumped** from `>=4.10` to `>=4.14`.\n\nThe following resources have breaking changes. See the [v5.0.0 Migration Guide](https://github.com/cloudflare/cloudflare-python/blob/main/docs/migration-guides/v5.0.0-migration-guide.md) for detailed migration instructions.\n\n- `abusereports`\n- `acm.totaltls`\n- `apigateway.configurations`\n- `cloudforceone.threatevents`\n- `d1.database`\n- `intel.indicatorfeeds`\n- `logpush.edge`\n- `origintlsclientauth.hostnames`\n- `queues.consumers`\n- `radar.bgp`\n- `rulesets.rules`\n- `schemavalidation.schemas`\n- `snippets`\n- `zerotrust.dlp`\n- `zerotrust.networks`\n\n#### Features\n\n#### aiohttp Backend Support\n\nThe async client now supports an optional `aiohttp` HTTP backend for improved concurrency performance. Install with `pip install cloudflare[aiohttp]` and use `DefaultAioHttpClient()` as the `http_client` parameter.\n\n#### Python 3.13 and 3.14 Support\n\nPython 3.13 and 3.14 are now tested and supported.\n\n#### New Services\n\nThe following top-level resources are new in this release:\n\nResource\n\nClient Path\n\nDescription\n\nAI Search\n\n`aisearch`\n\nAI-powered search capabilities\n\nConnectivity\n\n`connectivity`\n\nConnectivity testing and diagnostics\n\nEmail Sending\n\n`email_sending`\n\nEmail send and send\\_raw endpoints\n\nFraud\n\n`fraud`\n\nFraud detection and prevention\n\nGoogle Tag Gateway\n\n`google_tag_gateway`\n\nGoogle Tag Gateway management\n\nOrganizations\n\n`organizations`\n\nOrganization audit logs and management\n\nR2 Data Catalog\n\n`r2_data_catalog`\n\nR2 Data Catalog operations\n\nRealtime Kit\n\n`realtime_kit`\n\nRealtime communication (Calls/TURN)\n\nResource Tagging\n\n`resource_tagging`\n\nResource tagging and labeling\n\nToken Validation\n\n`token_validation`\n\nToken validation configuration and rules\n\nVulnerability Scanner\n\n`vulnerability_scanner`\n\nVulnerability scanning, credential sets, and target environments\n\n#### New Endpoints on Existing Services\n\n- **api\\_gateway**: Labels endpoints\n- **billing**: Billable usage PayGo endpoint\n- **brand\\_protection**: v2 endpoints\n- **browser\\_rendering**: DevTools methods\n- **cache**: Origin cloud regions resource\n- **custom\\_origin\\_trust\\_store**: Custom origin trust store\n- **dns**: `dns_records/usage` endpoints\n- **email\\_security**: Phishguard reports endpoint\n- **iam**: User groups and user group members resources\n- **radar**: Botnet Threat Feed and Post-Quantum endpoints\n- **workers**: Observability Destinations resources\n- **zero\\_trust**: Access Users, DEX rules, Device IP Profile, Device Subnet, WARP Connector connections and failover, WARP Subnet, Gateway PAC files\n- **zones**: Zone environments endpoints\n\n#### Bug Fixes\n\n- Fixed `polymorphic_serialization` parameter in `model_dump` overrides\n- Added `BaseModel` base to response `SchemaFieldStruct`/`SchemaFieldList` stubs in Pipelines\n- Added missing `model_rebuild`/`update_forward_refs` for `SharedEntryCustomEntry` classes in DLP\n- Made `RunQueryParametersNeedleValue` a `BaseModel` with `arbitrary_types_allowed` in Workers\n- Removed duplicate `notification_url` field in webhook response types for Stream\n- Resolved pre-existing codegen type errors\n- Fixed `type: ignore[call-arg]` placement for mypy compatibility in Radar\n\n#### Deprecations\n\nResources with `@deprecated` annotations on some methods include: `accounts`, `addressing`, `ai-gateway`, `aisearch`, `api-gateway`, `billing`, `cloudforce-one`, `dns`, `email-routing`, `email-security`, `filters`, `firewall`, `images`, `intel`, `kv`, `logpush`, `origin-tls-client-auth`, `pages`, `pipelines`, `radar`, `rate-limits`, `registrar`, `rulesets`, `ssl`, `user`, `workers`, `workers-for-platforms`, `zero-trust`, `zones`\n\n#### Get started\n\n- [Download Python SDK v5.0.0](https://github.com/cloudflare/cloudflare-python/releases/tag/v5.0.0)\n- [Python SDK documentation](https://developers.cloudflare.com/api/sdks/python/)\n- [Migration Guide](https://github.com/cloudflare/cloudflare-python/blob/main/docs/migration-guides/v5.0.0-migration-guide.md)","publishedAt":"2026-04-30T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.111Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-30-cloudflare-python-v500/","media":[],"coverageCount":0},{"id":"rel_NZ2C9cHE3_eFvaKxhcTKW","version":null,"type":"feature","title":"Cloudflare Fundamentals - Instant Bank Payments via Link","summary":"You can now pay for Cloudflare services directly from your bank account using [Instant Bank Payments via Link](https://developers.cloudflare.com/billi...","titleGenerated":null,"titleShort":null,"content":"You can now pay for Cloudflare services directly from your bank account using [Instant Bank Payments via Link](https://developers.cloudflare.com/billing/payment-methods/instant-bank-payments-link/).\n\n#### What changed\n\n[Link](https://link.co/) 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.\n\n![Instant Bank Payments via Link at checkout](https://developers.cloudflare.com/_astro/2026-04-29-instant-bank-payments-link.ChGd-t7M_ZVtvgM.webp)\n\n#### How to use it\n\n1. During checkout, select your bank account from your saved Link payment methods.\n2. Confirm the payment.\n\nAfter your first Link authentication, your bank account is available for future purchases without re-entering details.\n\n#### Who is eligible\n\nInstant Bank Payments via Link is available to US-based self-serve accounts across all Cloudflare products. Your existing cards remain available at checkout.\n\nBank-based Link payments appear in your billing history with the payment method shown as `link` and last four digits as `0000`. For details, refer to the [Instant Bank Payments via Link documentation](https://developers.cloudflare.com/billing/payment-methods/instant-bank-payments-link/).","publishedAt":"2026-04-29T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.111Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-29-instant-bank-payments-via-link/","media":[{"type":"image","url":"https://developers.cloudflare.com/_astro/2026-04-29-instant-bank-payments-link.ChGd-t7M_ZVtvgM.webp","alt":"Instant Bank Payments via Link at checkout","r2Key":"releases/c74d559d6baed26d1a2d7c8f0dad7a3c843305902bcb68aff131ba5c94efc60f.webp","r2Url":"https://media.releases.sh/releases/c74d559d6baed26d1a2d7c8f0dad7a3c843305902bcb68aff131ba5c94efc60f.webp"}],"coverageCount":0},{"id":"rel_XtYF-8gJjv_nr19ejFxuB","version":null,"type":"feature","title":"Support - Direct access to Support from the dashboard","summary":"#### Direct access to Support from the dashboard\n\nThe **Support** button in the dashboard global navigation header now takes you directly to the [Clou...","titleGenerated":null,"titleShort":null,"content":"#### Direct access to Support from the dashboard\n\nThe **Support** button in the dashboard global navigation header now takes you directly to the [Cloudflare Support Portal](https://support.cloudflare.com), eliminating the previous dropdown menu.\n\nThis change ensures that when you need help, you spend less time navigating the UI and more time getting the answers you need.\n\n#### What changed?\n\n- **Previous behavior**: Selecting **? Support** opened a dropdown menu with various links (Help Center, Cloudflare Community, etc.).\n- **New behavior**: Selecting **Support** immediately redirects your current tab to the Support Portal.\n\nTo learn more about the resources available to you, refer to the [Cloudflare Support documentation](https://developers.cloudflare.com/support/contacting-cloudflare-support/).","publishedAt":"2026-04-28T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.111Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-28-direct-support-navigation/","media":[],"coverageCount":0},{"id":"rel_yKoIp_G7zIgQW8ZDoccwa","version":null,"type":"feature","title":"Cloudflare Fundamentals, Resource Tagging - Resource Tagging enters public beta","summary":"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 yo...","titleGenerated":null,"titleShort":null,"content":"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.\n\n#### What's included\n\n- **Broad resource type support** — 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 [full list of supported resource types](https://developers.cloudflare.com/resource-tagging/reference/resource-types/).\n- **Powerful filtering** — Query tagged resources using AND/OR logic, negation, and key-only matching. Combine up to 20 filters per query to build precise resource views.\n- **Account and zone-level endpoints** — Full CRUD operations across both scopes.\n- **Token-based authentication** — Tagging supports [Account Owned Tokens](https://developers.cloudflare.com/fundamentals/api/get-started/account-owned-tokens/) that persist independently of individual users, so your automation keeps running through credential rotations and team changes.\n- **Flexible role support** — Super Administrators, Workers Admins, and Tag Admins can all manage tags.\n\n#### API-first by design\n\nThe 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.\n\n#### Dashboard UI\n\nYou can also view and manage tagged resources directly in the Cloudflare dashboard. Navigate to **Manage Account** > **Resource Tagging** to see all tagged resources across your account, filter by resource name or tag, and add or edit tags inline.\n\n![Tagged Resources dashboard](https://developers.cloudflare.com/_astro/tagged-resources-dashboard.Dg5WvwiN_24xl6P.webp)\n\n#### What's coming next\n\nIn 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.\n\n#### Current limitations\n\n- `PUT` replaces all tags on a resource (no partial update). Use the [GET, merge, PUT workflow](https://developers.cloudflare.com/resource-tagging/how-to/manage-tags/#add-a-single-tag) to modify individual tags safely.\n- `DELETE` removes all tags from a resource. To remove a single tag, PUT the remaining tags back.\n- Querying tags for a resource that has never been tagged returns `500` instead of `404`. This is a known beta limitation.\n\nTo get started, refer to the [Resource Tagging documentation](https://developers.cloudflare.com/resource-tagging/).","publishedAt":"2026-04-27T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.139Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-27-resource-tagging-public-beta/","media":[{"type":"image","url":"https://developers.cloudflare.com/_astro/tagged-resources-dashboard.Dg5WvwiN_24xl6P.webp","alt":"Tagged Resources dashboard","r2Key":"releases/82148a20fb8ebc22b2bbd09ccd27b475a344ceb12e033bceed6122dc3e07de5f.webp","r2Url":"https://media.releases.sh/releases/82148a20fb8ebc22b2bbd09ccd27b475a344ceb12e033bceed6122dc3e07de5f.webp"}],"coverageCount":0},{"id":"rel_JYhBJXvsnBopUwS6YcWqC","version":null,"type":"feature","title":"Cloudflare Fundamentals - Structured error responses for Cloudflare 5xx errors","summary":"Cloudflare-generated 5xx error responses now return structured JSON and Markdown when agents request them, matching the format already available for 1...","titleGenerated":null,"titleShort":null,"content":"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 [RFC 9457 (Problem Details for HTTP APIs)](https://www.rfc-editor.org/rfc/rfc9457) and include a `Retry-After` HTTP header on retryable codes.\n\n#### Changes\n\n**5xx coverage.** 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.\n\n**Fault attribution.** The `error_category` field tells agents where the fault lies:\n\n- `origin` (502, 504, 520-524) — the origin server is responsible. Transient; retry with the backoff in `retry_after`.\n- `cloudflare` (500) — Cloudflare's fault, not the website or the request. Short retry.\n- `ssl` (525, 526) — the origin's TLS configuration is broken. Do not retry.\n\n**Retry-After header.** Retryable codes (500, 502, 504, 520-524) include a `Retry-After` HTTP header matching the `retry_after` body field. Non-retryable codes (525, 526) do not include the header.\n\n#### Negotiation behavior\n\nRequest header sent\n\nResponse format\n\n`Accept: application/json`\n\nJSON (`application/json` content type)\n\n`Accept: application/problem+json`\n\nJSON (`application/problem+json` content type)\n\n`Accept: application/json, text/markdown;q=0.9`\n\nJSON\n\n`Accept: text/markdown`\n\nMarkdown\n\n`Accept: text/markdown, application/json`\n\nMarkdown (equal `q`, first-listed wins)\n\n`Accept: */*`\n\nHTML (default)\n\n#### Availability\n\nAvailable now for all zones on all plans.\n\n#### Get started\n\nGet JSON response for error 522:\n\n```bash\n<div><div><span>curl</span><span> </span><span>-s</span><span> </span><span>--compressed</span><span> </span><span>-H</span><span> </span><span>\"Accept: application/json\"</span><span> </span><span>-A</span><span> </span><span>\"TestAgent/1.0\"</span><span> </span><span>-H</span><span> </span><span>\"Accept-Encoding: gzip, deflate\"</span><span> </span><span>\"<YOUR_DOMAIN>/cdn-cgi/error/522\"</span><span> </span><span>|</span><span> </span><span>jq</span><span> </span><span>.</span></div></div>\n```\n\nCheck presence of the `Retry-After` HTTP header associated with the JSON response for error 521:\n\n```bash\n<div><div><span>curl</span><span> </span><span>-s</span><span> </span><span>--compressed</span><span> </span><span>-D</span><span> </span><span>-</span><span> </span><span>-o</span><span> </span><span>/dev/null</span><span> </span><span>-H</span><span> </span><span>\"Accept: application/json\"</span><span> </span><span>-A</span><span> </span><span>\"TestAgent/1.0\"</span><span> </span><span>-H</span><span> </span><span>\"Accept-Encoding: gzip, deflate\"</span><span> </span><span>\"<YOUR_DOMAIN>/cdn-cgi/error/521\"</span><span> </span><span>|</span><span> </span><span>grep</span><span> </span><span>-i</span><span> </span><span>retry-after</span></div></div>\n```\n\nReferences:\n\n- [RFC 9457 — Problem Details for HTTP APIs](https://www.rfc-editor.org/rfc/rfc9457)\n- [Cloudflare 5xx error documentation](https://developers.cloudflare.com/support/troubleshooting/http-status-codes/cloudflare-5xx-errors/)","publishedAt":"2026-04-27T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.139Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-27-structured-responses-for-5xx-errors/","media":[],"coverageCount":0},{"id":"rel_A4VR2pRVv5cdtI2itSK2u","version":"5.19.0","type":"feature","title":"Terraform - Terraform v5.19.0 now available","summary":"Terraform Provider v5.19.0 introduces 14 new resources spanning AI Gateway, Pipelines, R2 Data Catalog, User Groups, Vulnerability Scanner, Workers Ob...","titleGenerated":null,"titleShort":null,"content":"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 [tf-migrate CLI tool](https://github.com/cloudflare/tf-migrate) to automate resource renames, attribute updates, and `moved` block generation. Together, these enhancements reduce manual migration effort and minimize risk when upgrading from v4 to v5.\n\n**Note:** `cmd/migrate` is deprecated in favor of `tf-migrate` and will be removed in a future release ([#7062](https://github.com/cloudflare/terraform-provider-cloudflare/pull/7062))\n\n#### New Resources\n\n- **cloudflare\\_ai\\_gateway**: Manage AI Gateway instances\n- **cloudflare\\_certificate\\_authorities\\_hostname\\_associations**: Manage mTLS certificate hostname associations\n- **cloudflare\\_custom\\_page\\_asset**: Manage custom page assets\n- **cloudflare\\_pipeline**: Manage Cloudflare Pipelines\n- **cloudflare\\_r2\\_data\\_catalog**: Manage R2 Data Catalog\n- **cloudflare\\_user\\_group**: Manage user groups\n- **cloudflare\\_user\\_group\\_members**: Manage user group memberships\n- **cloudflare\\_vulnerability\\_scanner\\_credential**: Manage vulnerability scanner credentials\n- **cloudflare\\_vulnerability\\_scanner\\_credential\\_set**: Manage vulnerability scanner credential sets\n- **cloudflare\\_vulnerability\\_scanner\\_target\\_environment**: Manage vulnerability scanner target environments\n- **cloudflare\\_workers\\_observability\\_destination**: Manage Workers Observability destinations\n- **cloudflare\\_zero\\_trust\\_device\\_ip\\_profile**: Manage Zero Trust device IP profiles\n- **cloudflare\\_zero\\_trust\\_device\\_subnet**: Manage Zero Trust device subnets\n- **cloudflare\\_zero\\_trust\\_dlp\\_settings**: Manage Zero Trust DLP settings\n\n#### Features\n\n#### V4 to V5 Migration State Upgraders\n\nState upgraders added for seamless migration from v4 to v5 for the following resources:\n\n- account\n- account\\_member\n- account\\_token\n- authenticated\\_origin\\_pulls\n- authenticated\\_origin\\_pulls\\_hostname\\_certificate\n- byo\\_ip\\_prefix\n- custom\\_hostname\n- custom\\_ssl\n- leaked\\_credential\\_check\n- leaked\\_credential\\_check\\_rule\n- logpush\\_ownership\\_challenge\n- mtls\\_certificate\n- observatory\\_scheduled\\_test\n- pages\\_domain\n- regional\\_tiered\\_cache\n- turnstile\\_widget\n- workers\\_custom\\_domain\n- zero\\_trust\\_device\\_custom\\_profile\n- zero\\_trust\\_device\\_default\\_profile\n- zero\\_trust\\_device\\_posture\\_integration\n- zero\\_trust\\_gateway\\_certificate\n- zero\\_trust\\_gateway\\_settings\n- zero\\_trust\\_organization\n- zero\\_trust\\_tunnel\\_cloudflared\\_virtual\\_network\n- zone\\_setting\n\n#### Other Features\n\n- **ruleset**: Add `content_converter` and `redirects_for_ai_training` support to configuration rules\n- **zero\\_trust\\_gateway\\_logging**: Make importable\n\n#### Bug Fixes\n\n#### Migration & State Management\n\n- **account\\_member**: Add UseStateForUnknown to status field to prevent drift\n- **authenticated\\_origin\\_pulls\\_settings**: Fix no prior schema and no-op upgrade\n- **certificate\\_pack**: Initialize empty lists instead of null in state upgrader to prevent drift\n- **migrations**: Handle ambiguous schema\\_version state for v4/v5 coexistence\n- **zero\\_trust\\_access\\_policy**: Fix nil pointer panic in state upgrader; set PriorSchema nil for v4 state upgrade\n\n#### Resource-Specific Fixes\n\n- **ai\\_search\\_instance**: Restore original defaults for cache and cache\\_threshold; conflict resolution\n- **apijson**: Return empty object from MarshalForPatch when no fields are serializable\n- **dlp\\_predefined\\_profile**: Eliminate perpetual entries and enabled\\_entries drift\n- **dns\\_record**: Avoid unnecessary drift for ipv4\\_only and ipv6\\_only attributes; remove private\\_routing default value\n- **drift**: Preserve prior state values for optional fields not returned by API\n- **healthcheck**: Use buildHealthcheckPlanChecks helper for correct plan checks per migration source; update assertions\n- **leaked\\_credential\\_check\\_rule**: Handle empty ID from v4 provider state migration\n- **list\\_item**: Remove context\n- **logpush\\_job**: Update model for migration\n- **ruleset**: Fix migration; add redirects\\_for\\_ai\\_training to SourceV4ActionParametersModel; fix duplicate model attribute\n- **worker**: Add UseStateForUnknown() plan modifiers and update tests for observability.traces\n- **workers\\_custom\\_domain**: Handle HTTP 200 no content header; update assertions\n- **workers\\_script**: Fix model drift\n- **zero\\_trust\\_access\\_identity\\_provider**: Fix boolean drifts\n- **zero\\_trust\\_device\\_managed\\_networks**: Upgrade resource state\n- **zero\\_trust\\_gateway\\_policy**: Make filters Computed+Optional to prevent drift\n- **zero\\_trust\\_gateway\\_settings**: Fix breaking changes; implement sweeper to reset account to clean defaults\n- **zone\\_setting**: Migration test improvements and fixes\n\n#### Documentation\n\n- **healthcheck**: Update port description to clarify defaults\n- Add application-scoped access policy migration guidance\n- Update zone\\_settings\\_override migration guide for tf-migrate v2 workflow\n\n#### For more information\n\n- [Terraform Provider](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs)\n- [Version 5 Migration Guide](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-migration)\n- [Documentation on using Terraform with Cloudflare](https://developers.cloudflare.com/terraform/)","publishedAt":"2026-04-24T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.139Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-24-terraform-v5190-provider/","media":[],"coverageCount":0},{"id":"rel_8we7YQNcCYNnd4NsxiJQG","version":null,"type":"feature","title":"Terraform - Automate migration from Cloudflare's Terraform v4 to v5 provider","summary":"We're excited to announce **tf-migrate**, a purpose-built CLI tool that simplifies migrating from Cloudflare Terraform Provider v4 to v5.\n\n#### v5 is ...","titleGenerated":null,"titleShort":null,"content":"We're excited to announce **tf-migrate**, a purpose-built CLI tool that simplifies migrating from Cloudflare Terraform Provider v4 to v5.\n\n#### v5 is stable and ready for production\n\n**Terraform Provider v5 is stable and actively receiving updates.** We encourage all users to migrate to v5 to take advantage of ongoing enhancements and new capabilities.\n\nCloudflare uses tf-migrate to migrate our own infrastructure — the same tool we're providing to the community — ensuring the best possible migration experience.\n\n#### What tf-migrate does\n\n**tf-migrate** automates the tedious and error-prone parts of the v4 to v5 migration process:\n\n- **Resource type renames** – Automatically updates `cloudflare_record` → `cloudflare_dns_record`, `cloudflare_access_application` → `cloudflare_zero_trust_access_application`, and 40+ other renamed resources\n- **Attribute transformations** – Updates field names (e.g., `value` → `content` for DNS records) and restructures nested blocks\n- **Moved block generation** – Creates Terraform 1.8+ `moved` blocks to prevent resource replacements and ensure zero-downtime migrations\n- **Cross-file reference updates** – Automatically finds and updates all references to renamed resources across your entire configuration\n- **Dry-run mode** – Preview all changes before applying them to ensure safety\n\nCombined 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.\n\n#### Supported resources\n\nTf-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.\n\nFor the complete list of supported resources and their migration status, refer to the [v5 Stabilization Tracker](https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237). This list is updated regularly as additional resources are stabilized and migration support is added.\n\nResources not yet supported by tf-migrate will need to be migrated manually using the [version 5 upgrade guide](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade). The upgrade guide provides step-by-step instructions for handling resource renames, attribute changes, and state migrations.\n\n#### Get started\n\n- [Download tf-migrate](https://github.com/cloudflare/tf-migrate/releases)\n- [Version 5 Migration Guide](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-migration)\n- [Terraform Provider documentation](https://developers.cloudflare.com/terraform/)\n- [v5 Stabilization Tracker](https://github.com/cloudflare/terraform-provider-cloudflare/issues/6237)\n\nWe have been releasing Betas over the past month and a half while testing this tool. See the full changelog of those Betas here: [tf-migrate releases](https://github.com/cloudflare/tf-migrate/releases).","publishedAt":"2026-04-24T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.139Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-24-tf-migrate-tool-released/","media":[],"coverageCount":0},{"id":"rel_FYk-UOxItGZycQ2sIB51p","version":"6.10.0","type":"feature","title":"SDK, Go SDK - Go SDK v6.10.0 Released","summary":"#### v6.10.0\n\nIn this release, you'll see a number of breaking changes. This is primarily due to changes in OpenAPI definitions, which our libraries a...","titleGenerated":null,"titleShort":null,"content":"#### v6.10.0\n\nIn this release, you'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.\n\n**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.\n\n#### Breaking Changes\n\nSee the [v6.10.0 Migration Guide](https://github.com/cloudflare/cloudflare-go/blob/main/MIGRATION_GUIDE.md) for before/after code examples and actions needed for each change.\n\n#### Abuse Reports - Registrar WHOIS Report Field Removals\n\nSeveral fields have been removed from `AbuseReportNewParamsBodyAbuseReportsRegistrarWhoisReportRegWhoRequest`:\n\n- `RegWhoGoodFaithAffirmation`\n- `RegWhoLawfulProcessingAgreement`\n- `RegWhoLegalBasis`\n- `RegWhoRequestType`\n- `RegWhoRequestedDataElements`\n\n#### AI Search - Instance Params Restructured\n\nThe `InstanceNewParams` and `InstanceUpdateParams` types have been significantly restructured. Many fields have been moved or removed:\n\n- `InstanceNewParams.TokenID`, `Type`, `CreatedFromAISearchWizard`, `WorkerDomain` removed\n- `InstanceUpdateParams` — most configuration fields removed (including `IndexMethod`, `IndexingOptions`, `MaxNumResults`, `Metadata`, `Paused`, `PublicEndpointParams`, `Reranking`, `RerankingModel`, `RetrievalOptions`, `RewriteModel`, `RewriteQuery`, `ScoreThreshold`, `SourceParams`, `Summarization`, `SummarizationModel`, `SystemPromptAISearch`, `SystemPromptIndexSummarization`, `SystemPromptRewriteQuery`, `TokenID`, `CreatedFromAISearchWizard`, `WorkerDomain`)\n- `InstanceSearchParams.Messages` field removed along with `InstanceSearchParamsMessage` and `InstanceSearchParamsMessagesRole` types\n\n#### AI Search - InstanceItem Service Removed\n\nThe `InstanceItemService` type has been removed. The items sub-resource at `client.AISearch.Instances.Items` no longer exists in the non-namespace path. Use `client.AISearch.Namespaces.Instances.Items` instead.\n\n#### AI Search - Token Types Removed\n\nThe following types have been removed from the `ai_search` package:\n\n- `TokenDeleteResponse`\n- `TokenListParams` (and associated `TokenListParamsOrderBy`, `TokenListParamsOrderByDirection`)\n\n#### Email Security - Investigate Move Return Type Change\n\nThe `Investigate.Move.New()` method now returns a raw slice instead of a paginated wrapper:\n\n- `New()` returns `*[]InvestigateMoveNewResponse` instead of `*pagination.SinglePage[InvestigateMoveNewResponse]`\n- `NewAutoPaging()` method removed\n\n#### Hyperdrive - Config Params Restructured\n\nThe `ConfigEditParams` type lost its `MTLS` and `Name` fields. The `HyperdriveMTLSParam` type lost `MTLS` and `Host` fields. The `Host` field on origin config changed from `param.Field[string]` to a plain `string`.\n\n#### IAM - UserGroupMember Params and Return Types Changed\n\nThe `UserGroupMemberNewParams` struct has been restructured and the `New()` method now returns a paginated response:\n\n- `UserGroupMemberNewParams.Body` renamed to `UserGroupMemberNewParams.Members`\n- `UserGroupMemberNewParamsBody` renamed to `UserGroupMemberNewParamsMember`\n- `UserGroupMemberUpdateParams.Body` renamed to `UserGroupMemberUpdateParams.Members`\n- `UserGroupMemberUpdateParamsBody` renamed to `UserGroupMemberUpdateParamsMember`\n- `UserGroups.Members.New()` returns `*pagination.SinglePage[UserGroupMemberNewResponse]` instead of `*UserGroupMemberNewResponse`\n\n#### IAM - UserGroup List Direction Type Changed\n\nThe `UserGroupListParams.Direction` field changed from `param.Field[string]` to `param.Field[UserGroupListParamsDirection]` (typed enum with `asc`/`desc` values).\n\n#### Pipelines - Delete Methods Now Return Typed Responses\n\nSeveral delete methods across Pipelines now return typed responses instead of bare error:\n\n- `Pipelines.DeleteV1()` returns `(*PipelineDeleteV1Response, error)` instead of `error`\n- `Pipelines.Sinks.Delete()` returns `(*SinkDeleteResponse, error)` instead of `error`\n- `Pipelines.Streams.Delete()` returns `(*StreamDeleteResponse, error)` instead of `error`\n\n#### Queues - Message Response Types Removed\n\nThe following response envelope types have been removed:\n\n- `MessageBulkPushResponseSuccess`\n- `MessagePushResponseSuccess`\n- `MessageAckResponse` fields `RetryCount` and `Warnings` removed\n\n#### Secrets Store - Pagination Wrapper Removal and Type Changes\n\nMethods now return direct types instead of `SinglePage` wrappers, and several internal types have been removed. Associated `AutoPaging` methods have also been removed:\n\n- `Stores.New()` returns `*StoreNewResponse` instead of `*pagination.SinglePage[StoreNewResponse]`\n- `Stores.NewAutoPaging()` method removed\n- `Stores.Secrets.BulkDelete()` returns `*StoreSecretBulkDeleteResponse` instead of `*pagination.SinglePage[StoreSecretBulkDeleteResponse]`\n- `Stores.Secrets.BulkDeleteAutoPaging()` method removed\n- Removed types: `StoreDeleteResponse`, `StoreDeleteResponseEnvelopeResultInfo`, `StoreSecretDeleteResponse`, `StoreSecretDeleteResponseStatus`, `StoreSecretBulkDeleteResponse` (old shape), `StoreSecretBulkDeleteResponseStatus`, `StoreSecretDeleteResponseEnvelopeResultInfo`\n- `StoreNewParams` restructured (old `StoreNewParamsBody` removed)\n- `StoreSecretBulkDeleteParams` restructured\n\n#### Stream - AudioTracks Return Type Change\n\nThe `AudioTracks.Get()` method now returns a dedicated response type instead of a paginated list. The `GetAutoPaging()` method has been removed:\n\n- `Get()` returns `*AudioTrackGetResponse` instead of `*pagination.SinglePage[Audio]`\n- `GetAutoPaging()` method removed\n\n#### Stream - Clip Type Removal and Return Type Change\n\nThe `Clip.New()` method now returns the shared `Video` type. The following types have been entirely removed:\n\n- `Clip`, `ClipPlayback`, `ClipStatus`, `ClipWatermark`\n\n#### Stream - Copy and Clip Params Field Removals\n\n- `ClipNewParams.MaxDurationSeconds`, `ThumbnailTimestampPct`, `Watermark` removed\n- `CopyNewParams.ThumbnailTimestampPct`, `Watermark` removed\n\n#### Stream - Download and Webhook Changes\n\n- `DownloadNewResponseStatus` type removed\n- `WebhookUpdateResponse` and `WebhookGetResponse` changed from `interface{}` type aliases to full struct types\n\n#### Zero Trust - Access AI Control MCP Portal Union Types Removed\n\nThe following union interface types have been removed:\n\n- `AccessAIControlMcpPortalListResponseServersUpdatedPromptsUnion`\n- `AccessAIControlMcpPortalListResponseServersUpdatedToolsUnion`\n- `AccessAIControlMcpPortalReadResponseServersUpdatedPromptsUnion`\n- `AccessAIControlMcpPortalReadResponseServersUpdatedToolsUnion`\n\n#### Features\n\n#### Vulnerability Scanner (`client.VulnerabilityScanner`)\n\n**NEW SERVICE:** Full vulnerability scanning management\n\n- **CredentialSets** - CRUD for credential sets (`New`, `Update`, `List`, `Delete`, `Edit`, `Get`)\n- **Credentials** - Manage credentials within sets (`New`, `Update`, `List`, `Delete`, `Edit`, `Get`)\n- **Scans** - Create and manage vulnerability scans (`New`, `List`, `Get`)\n- **TargetEnvironments** - Manage scan target environments (`New`, `Update`, `List`, `Delete`, `Edit`, `Get`)\n\n#### AI Search - Namespaces (`client.AISearch.Namespaces`)\n\n**NEW SERVICE:** Namespace-scoped AI Search management\n\n- `New()`, `Update()`, `List()`, `Delete()`, `ChatCompletions()`, `Read()`, `Search()`\n- **Instances** - Namespace-scoped instances (`New`, `Update`, `List`, `Delete`, `ChatCompletions`, `Read`, `Search`, `Stats`)\n- **Jobs** - Instance job management (`New`, `Update`, `List`, `Get`, `Logs`)\n- **Items** - Instance item management (`List`, `Delete`, `Chunks`, `NewOrUpdate`, `Download`, `Get`, `Logs`, `Sync`, `Upload`)\n\n#### Browser Rendering - Devtools (`client.BrowserRendering.Devtools`)\n\n**NEW SERVICE:** DevTools protocol browser control\n\n- **Session** - List and get devtools sessions\n- **Browser** - Browser lifecycle management (`New`, `Delete`, `Connect`, `Launch`, `Protocol`, `Version`)\n- **Page** - Get page by target ID\n- **Targets** - Manage browser targets (`New`, `List`, `Activate`, `Get`)\n\n#### Registrar (`client.Registrar`)\n\n**NEW:** Domain check and search endpoints\n\n- `Check()` - `POST /accounts/{account_id}/registrar/domain-check`\n- `Search()` - `GET /accounts/{account_id}/registrar/domain-search`\n\n**NEW:** Registration management (`client.Registrar.Registrations`)\n\n- `New()`, `List()`, `Edit()`, `Get()`\n- `RegistrationStatus.Get()` - Get registration workflow status\n- `UpdateStatus.Get()` - Get update workflow status\n\n#### Cache - Origin Cloud Regions (`client.Cache.OriginCloudRegions`)\n\n**NEW SERVICE:** Manage origin cloud region configurations\n\n- `New()`, `List()`, `Delete()`, `BulkDelete()`, `BulkEdit()`, `Edit()`, `Get()`, `SupportedRegions()`\n\n#### Zero Trust - DLP Settings (`client.ZeroTrust.DLP.Settings`)\n\n**NEW SERVICE:** DLP settings management\n\n- `Update()`, `Delete()`, `Edit()`, `Get()`\n\n#### Radar\n\n- `AgentReadiness.Summary()` - Agent readiness summary by dimension\n- `AI.MarkdownForAgents.Summary()` - Markdown-for-agents summary\n- `AI.MarkdownForAgents.Timeseries()` - Markdown-for-agents timeseries\n\n#### IAM (`client.IAM`)\n\n- `UserGroups.Members.Get()` - Get details of a specific member in a user group\n- `UserGroups.Members.NewAutoPaging()` - Auto-paging variant for adding members\n- `UserGroups.NewParams.Policies` changed from required to optional\n\n#### Bot Management\n\n- `ContentBotsProtection` field added to `BotFightModeConfiguration` and `SubscriptionConfiguration` (`block`/`disabled`)\n\n#### Deprecations\n\nNone in this release.\n\n#### Get started\n\n- [Download Go SDK v6.10.0](https://github.com/cloudflare/cloudflare-go/releases/tag/v6.10.0)\n- [Go SDK documentation](https://developers.cloudflare.com/api/sdks/go/)\n- [Migration Guide](https://github.com/cloudflare/cloudflare-go/blob/main/MIGRATION_GUIDE.md)","publishedAt":"2026-04-23T00:00:00.000Z","fetchedAt":"2026-06-19T21:06:44.167Z","url":"https://developers.cloudflare.com/changelog/post/2026-04-23-go-sdk-v6100/","media":[],"coverageCount":0}],"pagination":{"nextCursor":"2026-04-23T00:00:00.000Z|2026-06-19T21:06:44.167Z|rel_FYk-UOxItGZycQ2sIB51p","limit":20},"summaries":{"rolling":null,"monthly":[]}}