<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Cloudflare changelogs | Cloudflare Mesh</title><description>Cloudflare changelogs for Cloudflare Mesh</description><link>https://edgetunnel-b2h.pages.dev/changelog/</link><item><title>Cloudflare Tunnel, Cloudflare Tunnel for SASE, Cloudflare Mesh - Zero Trust Networks route endpoints and Cloudflare Tunnel connections field retiring on October 5, 2026</title><link>https://edgetunnel-b2h.pages.dev/changelog/post/2026-07-09-tunnel-routes-and-connections-api-changes/</link><guid isPermaLink="true">https://edgetunnel-b2h.pages.dev/changelog/post/2026-07-09-tunnel-routes-and-connections-api-changes/</guid><description>&lt;p&gt;On &lt;strong&gt;October 5, 2026&lt;/strong&gt;, two changes take effect across the &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/&quot;&gt;Zero Trust Networks API&lt;/a&gt; and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/tunnels/&quot;&gt;Cloudflare Tunnel API&lt;/a&gt;: the CIDR-encoded route endpoints are removed, and tunnel list and get responses no longer include the &lt;code&gt;connections&lt;/code&gt; field. If you manage private network routes or read tunnel connection details through the API, &lt;code&gt;cloudflared&lt;/code&gt;, Terraform, or another integration, review the changes in the following sections and migrate before the removal date.&lt;/p&gt;
&lt;h4&gt;Route endpoints&lt;/h4&gt;
&lt;p&gt;The CIDR-encoded route endpoints are deprecated in favor of the standard, &lt;code&gt;route_id&lt;/code&gt;-based endpoints that already exist today. Both sets of endpoints route a private network through &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; or &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; (the API still refers to Mesh nodes as &lt;code&gt;warp_connector&lt;/code&gt;) — only the request shape changes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deprecated endpoints (removed October 5, 2026):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a tunnel route (CIDR Endpoint): &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/subresources/networks/methods/create/&quot;&gt;&lt;code&gt;POST /accounts/{account_id}/teamnet/routes/network/{ip_network_encoded}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update a tunnel route (CIDR Endpoint): &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/subresources/networks/methods/edit/&quot;&gt;&lt;code&gt;PATCH /accounts/{account_id}/teamnet/routes/network/{ip_network_encoded}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delete a tunnel route (CIDR Endpoint): &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/subresources/networks/methods/delete/&quot;&gt;&lt;code&gt;DELETE /accounts/{account_id}/teamnet/routes/network/{ip_network_encoded}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Replacement endpoints:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a tunnel route: &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/methods/create/&quot;&gt;&lt;code&gt;POST /accounts/{account_id}/teamnet/routes&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update a tunnel route: &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/methods/edit/&quot;&gt;&lt;code&gt;PATCH /accounts/{account_id}/teamnet/routes/{route_id}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Delete a tunnel route: &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/methods/delete/&quot;&gt;&lt;code&gt;DELETE /accounts/{account_id}/teamnet/routes/{route_id}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;What is changing&lt;/h4&gt;






























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Deprecated (CIDR-encoded path)&lt;/th&gt;&lt;th&gt;Replacement&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Route identifier&lt;/td&gt;&lt;td&gt;URL-encoded CIDR in the path (&lt;code&gt;/network/{ip_network_encoded}&lt;/code&gt;)&lt;/td&gt;&lt;td&gt;&lt;code&gt;route_id&lt;/code&gt; in the path (&lt;code&gt;network&lt;/code&gt; moves to the request body on create)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Create&lt;/td&gt;&lt;td&gt;&lt;code&gt;POST .../teamnet/routes/network/{ip_network_encoded}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;POST .../teamnet/routes&lt;/code&gt; with &lt;code&gt;network&lt;/code&gt; and &lt;code&gt;tunnel_id&lt;/code&gt; in the body&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Update&lt;/td&gt;&lt;td&gt;&lt;code&gt;PATCH .../teamnet/routes/network/{ip_network_encoded}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;PATCH .../teamnet/routes/{route_id}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Delete&lt;/td&gt;&lt;td&gt;&lt;code&gt;DELETE .../teamnet/routes/network/{ip_network_encoded}&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;code&gt;DELETE .../teamnet/routes/{route_id}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h4&gt;Action required&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Capture each route&apos;s &lt;code&gt;route_id&lt;/code&gt; by calling &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/subresources/routes/methods/list/&quot;&gt;List tunnel routes&lt;/a&gt;, or read it from the response the first time you create a route with the replacement endpoint.&lt;/li&gt;
&lt;li&gt;Update any scripts, backend services, or CI/CD pipelines that call the CIDR-encoded endpoints directly.&lt;/li&gt;
&lt;li&gt;If you manage routes with the &lt;code&gt;cloudflared tunnel route ip add | delete&lt;/code&gt; commands, upgrade &lt;code&gt;cloudflared&lt;/code&gt; to the &lt;a href=&quot;https://github.com/cloudflare/cloudflared/releases&quot; target=&quot;_blank&quot;&gt;latest version&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you manage routes with Terraform, make sure you are on a current version of the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/zero_trust_tunnel_cloudflared_route&quot; target=&quot;_blank&quot;&gt;&lt;code&gt;cloudflare_zero_trust_tunnel_cloudflared_route&lt;/code&gt;&lt;/a&gt; resource and the &lt;a href=&quot;https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs&quot; target=&quot;_blank&quot;&gt;Cloudflare Terraform provider&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&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;# Before: create a route by URL-encoding the CIDR into the path&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;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/teamnet/routes/network/172.16.0.0%2F16&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;&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;     &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;$CLOUDFLARE_API_TOKEN&lt;/span&gt;&lt;span&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;     &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;tunnel_id&quot;: &quot;&apos;&lt;/span&gt;&lt;span&gt;$TUNNEL_ID&lt;/span&gt;&lt;span&gt;&apos;&quot;, &quot;comment&quot;: &quot;Example comment for this route.&quot;}&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;# After: create a route with the network in the request body&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;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/teamnet/routes&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;&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;     &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;$CLOUDFLARE_API_TOKEN&lt;/span&gt;&lt;span&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;     &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;network&quot;: &quot;172.16.0.0/16&quot;, &quot;tunnel_id&quot;: &quot;&apos;&lt;/span&gt;&lt;span&gt;$TUNNEL_ID&lt;/span&gt;&lt;span&gt;&apos;&quot;, &quot;comment&quot;: &quot;Example comment for this route.&quot;}&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;# After: update or delete a route using its route_id&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;-X&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;PATCH&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/teamnet/routes/&lt;/span&gt;&lt;span&gt;$ROUTE_ID&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;&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;     &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;$CLOUDFLARE_API_TOKEN&lt;/span&gt;&lt;span&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;     &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;comment&quot;: &quot;Updated comment for this route.&quot;}&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-X&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;DELETE&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/teamnet/routes/&lt;/span&gt;&lt;span&gt;$ROUTE_ID&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;$CLOUDFLARE_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;div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h4&gt;Cloudflare Tunnel and Cloudflare Mesh connections&lt;/h4&gt;
&lt;p&gt;Starting the same day, the &lt;code&gt;connections&lt;/code&gt; array is removed from list and get responses for &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; nodes (the &lt;code&gt;cfd_tunnel&lt;/code&gt; and &lt;code&gt;warp_connector&lt;/code&gt; API resources). Query the dedicated connections endpoint instead of reading the field off the tunnel or node object.&lt;/p&gt;
&lt;p&gt;This affects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://edgetunnel-b2h.pages.dev/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;code&gt;connections&lt;/code&gt; removed from each item in &lt;code&gt;result&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/tunnels/subresources/cloudflared/methods/get/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;connections&lt;/code&gt; removed from &lt;code&gt;result&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://edgetunnel-b2h.pages.dev/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;code&gt;connections&lt;/code&gt; removed from each item in &lt;code&gt;result&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/tunnels/subresources/warp_connector/methods/get/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/warp_connector/{tunnel_id}&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;connections&lt;/code&gt; removed from &lt;code&gt;result&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Action required&lt;/h4&gt;
&lt;p&gt;Fetch connection details from the tunnel-specific connections endpoint instead of parsing it off the list or get response. For Cloudflare Tunnel, call &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/tunnels/subresources/cloudflared/subresources/connections/methods/get/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/cfd_tunnel/{tunnel_id}/connections&lt;/code&gt;&lt;/a&gt;. For Cloudflare Mesh, call &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/tunnels/subresources/warp_connector/subresources/connections/methods/get/&quot;&gt;&lt;code&gt;GET /accounts/{account_id}/warp_connector/{tunnel_id}/connections&lt;/code&gt;&lt;/a&gt;.&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;# Before: read connections off the tunnel object&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;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/cfd_tunnel/&lt;/span&gt;&lt;span&gt;$TUNNEL_ID&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;$CLOUDFLARE_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;# After: query connections directly&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;https://api.cloudflare.com/client/v4/accounts/&lt;/span&gt;&lt;span&gt;$ACCOUNT_ID&lt;/span&gt;&lt;span&gt;/cfd_tunnel/&lt;/span&gt;&lt;span&gt;$TUNNEL_ID&lt;/span&gt;&lt;span&gt;/connections&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;$CLOUDFLARE_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;Update any dashboards, monitoring scripts, or automation that parses &lt;code&gt;connections&lt;/code&gt; from the tunnel list or get response. &lt;code&gt;cloudflared&lt;/code&gt; and the Cloudflare Terraform provider do not read this field, so no changes are required on their side for this part of the update.&lt;/p&gt;
&lt;h4&gt;Why we are making these changes&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Smaller, faster responses.&lt;/strong&gt; Cloudflare Tunnel and Cloudflare Mesh nodes with many connections no longer inflate every list and get call — connection detail is only fetched when you need it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A single way to identify a route.&lt;/strong&gt; Consolidating on &lt;code&gt;route_id&lt;/code&gt; removes the need to URL-encode CIDR ranges into the path and matches how every other resource in the Zero Trust Networks API is addressed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistency across the API.&lt;/strong&gt; Both changes align these endpoints with Cloudflare&apos;s standard REST conventions for resource identifiers and nested detail endpoints.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To learn more, refer to the &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/networks/&quot;&gt;Zero Trust Networks API&lt;/a&gt;, the &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/api/resources/zero_trust/subresources/tunnels/&quot;&gt;Cloudflare Tunnel API&lt;/a&gt;, and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/routes/&quot;&gt;Routes&lt;/a&gt; documentation.&lt;/p&gt;</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><product>Cloudflare Tunnel</product><category>Cloudflare Tunnel</category><category>Cloudflare Tunnel for SASE</category><category>Cloudflare Mesh</category></item><item><title>Cloudflare Mesh, Cloudflare One - Hostname routing for Cloudflare Mesh</title><link>https://edgetunnel-b2h.pages.dev/changelog/post/2026-07-02-mesh-hostname-routing/</link><guid isPermaLink="true">https://edgetunnel-b2h.pages.dev/changelog/post/2026-07-02-mesh-hostname-routing/</guid><description>&lt;p&gt;You can now add &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/routes/#hostname-routes&quot;&gt;hostname routes&lt;/a&gt; to a Cloudflare Mesh node, in addition to CIDR routes.&lt;/p&gt;
&lt;figure&gt; &lt;ol&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/team-and-resources/devices/cloudflare-one-client/&quot;&gt;Client device&lt;/a&gt; &lt;/div&gt; &lt;p&gt;
Requests &lt;code class=&quot;astro-b35yad5r&quot;&gt;wiki.internal.local&lt;/code&gt; &lt;/p&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt; &lt;span&gt;DNS query&lt;/span&gt; &lt;span&gt;↓&lt;/span&gt; &lt;/li&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/&quot;&gt;Cloudflare Gateway&lt;/a&gt; &lt;/div&gt; &lt;p&gt;
Returns a token IP, then rewrites the destination to the real private
					IP.
&lt;/p&gt; &lt;div&gt; &lt;span&gt;&lt;code class=&quot;astro-b35yad5r&quot;&gt;100.80.0.0/16&lt;/code&gt;&lt;/span&gt; &lt;/div&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/routes/#hostname-routes&quot;&gt;Hostname route&lt;/a&gt; &lt;span&gt;↓&lt;/span&gt; &lt;/li&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Mesh node&lt;/a&gt; &lt;/div&gt; &lt;p&gt;
Forwards traffic to the host on the local network
&lt;/p&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt; &lt;span&gt;↓&lt;/span&gt; &lt;/li&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;span&gt;Private host&lt;/span&gt; &lt;/div&gt; &lt;p&gt; &lt;code class=&quot;astro-b35yad5r&quot;&gt;wiki.internal.local&lt;/code&gt; · &lt;code class=&quot;astro-b35yad5r&quot;&gt;10.0.0.50&lt;/code&gt; &lt;/p&gt; &lt;/div&gt; &lt;/li&gt; &lt;/ol&gt; &lt;/figure&gt;
&lt;p&gt;Instead of managing IP ranges, you can attract traffic for a hostname to a Mesh node:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Private hostname&lt;/strong&gt; (for example, &lt;code&gt;wiki.internal.local&lt;/code&gt;) — reach an internal application by name, which is useful when it has an unknown or ephemeral IP. On Mesh you do not need to run a DNS server; a local hosts-file entry on the node is enough, or you can use a Gateway resolver policy for split DNS.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Public hostname&lt;/strong&gt; (for example, &lt;code&gt;www.example.com&lt;/code&gt;) — route that hostname&apos;s traffic through the node and egress via the node&apos;s public IP.&lt;/li&gt;
&lt;/ul&gt;
&lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/mesh&quot; target=&quot;_blank&quot;&gt;  Go to &lt;strong&gt;Mesh&lt;/strong&gt;  &lt;/a&gt;
&lt;p&gt;For setup steps, prerequisites, and DNS options, refer to &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/routes/#hostname-routes&quot;&gt;Hostname routes&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate><product>Cloudflare Mesh</product><category>Cloudflare Mesh</category><category>Cloudflare One</category></item><item><title>Cloudflare Mesh, Cloudflare Tunnel, Cloudflare WAN, Cloudflare One - Manage all your routes from one page in the dashboard</title><link>https://edgetunnel-b2h.pages.dev/changelog/post/2026-06-19-unified-routes-page/</link><guid isPermaLink="true">https://edgetunnel-b2h.pages.dev/changelog/post/2026-06-19-unified-routes-page/</guid><description>&lt;p&gt;The &lt;strong&gt;Routes&lt;/strong&gt; page in the Cloudflare dashboard now shows the routes across all of your connectors — &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; routes alongside &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-wan/&quot;&gt;Cloudflare WAN&lt;/a&gt; and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/magic-transit/&quot;&gt;Magic Transit&lt;/a&gt; static routes — in a single table, instead of a separate routes view per product.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://edgetunnel-b2h.pages.dev/_astro/2026-06-19-unified-routes.B3igBY20_Z1awHp.webp&quot; alt=&quot;The unified Routes page in the Cloudflare dashboard, showing routes across connectors in a single table&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;p&gt;From the unified Routes page you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Visualize your network with an interactive map&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;See every route in one table&lt;/strong&gt;, with its destination, type, connector, priority, and source, and filter or sort to find what you need.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create, edit, and delete routes&lt;/strong&gt; 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 &lt;strong&gt;connector name&lt;/strong&gt; instead of typing its IP.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manage &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/virtual-networks/&quot;&gt;virtual networks&lt;/a&gt;&lt;/strong&gt; from a dedicated tab.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test a route&lt;/strong&gt; to see which connector and next hop a destination resolves to before you commit a change.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To find it, go to &lt;strong&gt;Networking&lt;/strong&gt; &gt; &lt;strong&gt;Routes&lt;/strong&gt; in the dashboard sidebar.&lt;/p&gt;
&lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/magic-networks/routes&quot; target=&quot;_blank&quot;&gt;  Go to &lt;strong&gt;Routes&lt;/strong&gt;  &lt;/a&gt;
&lt;p&gt;Your existing routes, APIs, and configurations are unchanged — this is a dashboard experience that brings them together in one place. Learn how to &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/routes/add-routes/&quot;&gt;add routes&lt;/a&gt; and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/virtual-networks/&quot;&gt;manage virtual networks&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate><product>Cloudflare Mesh</product><category>Cloudflare Mesh</category><category>Cloudflare Tunnel</category><category>Cloudflare WAN</category><category>Cloudflare One</category></item><item><title>Gateway, Cloudflare Mesh, Workers VPC - Filter Workers&apos; public Internet traffic using Gateway policies</title><link>https://edgetunnel-b2h.pages.dev/changelog/post/2026-06-05-gateway-egress/</link><guid isPermaLink="true">https://edgetunnel-b2h.pages.dev/changelog/post/2026-06-05-gateway-egress/</guid><description>&lt;p&gt;Workers using a &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/workers-vpc/configuration/vpc-networks/&quot;&gt;VPC Network&lt;/a&gt; binding with &lt;code&gt;network_id: &quot;cf1:network&quot;&lt;/code&gt; now egress to public Internet destinations through &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/&quot;&gt;Cloudflare Gateway&lt;/a&gt;. This means your existing Zero Trust traffic policies — DNS, HTTP, Network, and egress — extend to traffic that originates from your Workers, the same way they do for WARP users today.&lt;/p&gt;
&lt;figure&gt; &lt;ol&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/workers/&quot;&gt;Worker&lt;/a&gt; &lt;/div&gt; &lt;p&gt;Calls &lt;code class=&quot;astro-ptfydbty&quot;&gt;env.EGRESS.fetch()&lt;/code&gt;&lt;/p&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/workers-vpc/&quot;&gt;VPC binding&lt;/a&gt; &lt;span&gt;↓&lt;/span&gt; &lt;/li&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; &lt;/div&gt; &lt;p&gt;
Bind via &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/workers-vpc/configuration/vpc-networks/&quot;&gt;&lt;code class=&quot;astro-ptfydbty&quot;&gt;cf1:network&lt;/code&gt;&lt;/a&gt; &lt;/p&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt; &lt;span&gt;↓&lt;/span&gt; &lt;/li&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;&lt;/span&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/&quot;&gt;Cloudflare Gateway&lt;/a&gt; &lt;/div&gt; &lt;p&gt;Policies applied:&lt;/p&gt; &lt;div&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/dns-policies/&quot;&gt; DNS &lt;/a&gt;&lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/http-policies/&quot;&gt; HTTP &lt;/a&gt;&lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/network-policies/&quot;&gt; Network &lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;/li&gt; &lt;li&gt; &lt;span&gt;↓&lt;/span&gt; &lt;/li&gt; &lt;li&gt; &lt;div&gt; &lt;div&gt; &lt;span&gt;↗&lt;/span&gt; &lt;span&gt;Public Internet&lt;/span&gt; &lt;/div&gt; &lt;p&gt;Any public hostname or IP&lt;/p&gt; &lt;/div&gt; &lt;/li&gt; &lt;/ol&gt; &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/insights/logs/dashboard-logs/gateway-logs/&quot;&gt; &lt;span&gt;Gateway logs&lt;/span&gt; &lt;span&gt; &lt;span&gt;DNS&lt;/span&gt; &lt;span&gt;HTTP&lt;/span&gt; &lt;span&gt;Network&lt;/span&gt; &lt;/span&gt; &lt;/a&gt; &lt;/figure&gt;
&lt;p&gt;What you get by default:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Visibility.&lt;/strong&gt; Worker egress shows up in Gateway &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/dns-policies/&quot;&gt;DNS&lt;/a&gt;, &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/http-policies/&quot;&gt;HTTP&lt;/a&gt;, and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/network-policies/&quot;&gt;Network&lt;/a&gt; logs alongside your other traffic, so you can audit what your Workers are calling and when.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enforcement.&lt;/strong&gt; Any existing Gateway policy whose selectors match a Worker request will apply — including allow / block lists, DNS category filtering, and HTTP destination rules. If you have already blocked a category for your workforce, your Workers inherit that block.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;&lt;li&gt;&lt;p&gt;wrangler.jsonc&lt;/p&gt;&lt;div&gt;  &lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;jsonc&quot;&gt;&lt;code class=&quot;language-jsonc&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;vpc_networks&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;{&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;binding&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;EGRESS&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;network_id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;cf1:network&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;remote&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;},&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;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;wrangler.toml&lt;/p&gt;&lt;div&gt;  &lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;toml&quot;&gt;&lt;code class=&quot;language-toml&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;[[&lt;/span&gt;&lt;span&gt;vpc_networks&lt;/span&gt;&lt;span&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;binding&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;EGRESS&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;network_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;cf1:network&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;remote&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;/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;/li&gt;&lt;/ul&gt;  
&lt;ul&gt;&lt;li&gt;&lt;p&gt;JavaScript&lt;/p&gt;&lt;div&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;// Egress to a public destination — subject to your Gateway policies and logged&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;response&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;await&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;EGRESS&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;fetch&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;https://api.example.com/data&quot;&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;/li&gt;&lt;li&gt;&lt;p&gt;TypeScript&lt;/p&gt;&lt;div&gt;  &lt;div&gt;&lt;figure&gt;&lt;pre data-language=&quot;ts&quot;&gt;&lt;code class=&quot;language-ts&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;// Egress to a public destination — subject to your Gateway policies and logged&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;response&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;await&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;EGRESS&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;fetch&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;https://api.example.com/data&quot;&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;/li&gt;&lt;/ul&gt;  
&lt;p&gt;For configuration options, refer to &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/workers-vpc/configuration/vpc-networks/&quot;&gt;VPC Networks&lt;/a&gt;. For policy authoring, refer to &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/traffic-policies/&quot;&gt;Cloudflare Gateway traffic policies&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate><product>Gateway</product><category>Gateway</category><category>Cloudflare Mesh</category><category>Workers VPC</category></item><item><title>Cloudflare Mesh, Cloudflare One - High availability replica management for Cloudflare Mesh</title><link>https://edgetunnel-b2h.pages.dev/changelog/post/2026-05-28-mesh-ha-replica-ui/</link><guid isPermaLink="true">https://edgetunnel-b2h.pages.dev/changelog/post/2026-05-28-mesh-ha-replica-ui/</guid><description>&lt;p&gt;The &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/&quot;&gt;Cloudflare Mesh&lt;/a&gt; dashboard now shows per-replica details for &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/high-availability/&quot;&gt;high availability&lt;/a&gt; nodes. You can see which replica is active, view each replica&apos;s Mesh IP and connection details, and manually trigger failover — all from the node detail page.&lt;/p&gt;
&lt;starlight-image-zoom-zoomable&gt;&lt;img src=&quot;https://edgetunnel-b2h.pages.dev/_astro/mesh-ha-replicas.Dvf1GMmQ_Z2i6nGi.webp&quot; alt=&quot;Mesh HA replica tabs showing active and passive replicas with per-replica Mesh IPs and a manual failover option&quot;&gt;&lt;/starlight-image-zoom-zoomable&gt;
&lt;h4&gt;What&apos;s new&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Replica tabs&lt;/strong&gt; on the node detail page — switch between replicas to see each one&apos;s Mesh IP, edge data center, origin IP, platform, version, and uptime.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active/passive badges&lt;/strong&gt; identify which replica is currently routing traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manual failover&lt;/strong&gt; — promote a passive replica to active with a single click. The previous active replica switches to standby.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HA badge&lt;/strong&gt; in the overview table identifies nodes running multiple replicas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active replica IP&lt;/strong&gt; shown in the overview table — the dashboard now resolves which replica is active and displays the correct Mesh IP.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Manual failover&lt;/h4&gt;
&lt;p&gt;To manually promote a passive replica:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;a href=&quot;https://dash.cloudflare.com/?to=/:account/mesh&quot; target=&quot;_blank&quot;&gt;Cloudflare dashboard&lt;/a&gt;, go to &lt;strong&gt;Networking&lt;/strong&gt; &gt; &lt;strong&gt;Mesh&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select an HA-enabled node.&lt;/li&gt;
&lt;li&gt;Select the passive replica tab.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Promote to active&lt;/strong&gt; and confirm.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Traffic reroutes to the promoted replica immediately. Refer to &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/cloudflare-one/networks/connectors/cloudflare-mesh/high-availability/&quot;&gt;High availability&lt;/a&gt; for details on failover behavior.&lt;/p&gt;</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><product>Cloudflare Mesh</product><category>Cloudflare Mesh</category><category>Cloudflare One</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://edgetunnel-b2h.pages.dev/changelog/post/2026-05-21-tunnel-mesh-granular-permissions/</link><guid isPermaLink="true">https://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; instances and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/fundamentals/manage-members/manage/&quot;&gt;add a member&lt;/a&gt; or create a &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/fundamentals/manage-members/policies/&quot;&gt;permission policy&lt;/a&gt;, the resource picker now lists &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/tunnel/&quot;&gt;Cloudflare Tunnel&lt;/a&gt; instances and &lt;a href=&quot;https://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/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://edgetunnel-b2h.pages.dev/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></channel></rss>