---
title: Developer platform Changelog
image: https://developers.cloudflare.com/cf-twitter-card.png
---

[Skip to content](#%5Ftop) 

# Changelog

New updates and improvements at Cloudflare.

[ Subscribe to RSS ](https://developers.cloudflare.com/changelog/rss/index.xml) [ View RSS feeds ](https://developers.cloudflare.com/fundamentals/new-features/available-rss-feeds/) 

Developer platform

![hero image](https://developers.cloudflare.com/_astro/hero.CVYJHPAd_26AMqX.svg) 

Dec 19, 2024
1. ### [Troubleshoot tunnels with diagnostic logs](https://developers.cloudflare.com/changelog/post/2024-12-19-diagnostic-logs/)  
[ Cloudflare Tunnel ](https://developers.cloudflare.com/tunnel/)[ Cloudflare Tunnel for SASE ](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/)  
The latest `cloudflared` build [2024.12.2 ↗](https://github.com/cloudflare/cloudflared/releases/tag/2024.12.2) introduces the ability to collect all the diagnostic logs needed to troubleshoot a `cloudflared` instance.  
A diagnostic report collects data from a single instance of `cloudflared` running on the local machine and outputs it to a `cloudflared-diag` file.  
For more information, refer to [Diagnostic logs](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/diag-logs/).

Dec 11, 2024
1. ### [Up to 10x faster cached queries for Hyperdrive](https://developers.cloudflare.com/changelog/post/2024-12-11-hyperdrive-caching-at-edge/)  
[ Hyperdrive ](https://developers.cloudflare.com/hyperdrive/)  
Hyperdrive now caches queries in all Cloudflare locations, decreasing cache hit latency by up to 90%.  
When you make a query to your database and Hyperdrive has cached the query results, Hyperdrive will now return the results from the nearest cache. By caching data closer to your users, the latency for cache hits reduces by up to 90%.  
This reduction in cache hit latency is reflected in a reduction of the session duration for all queries (cached and uncached) from Cloudflare Workers to Hyperdrive, as illustrated below.  
![Hyperdrive edge caching improves average session duration for database queries](https://developers.cloudflare.com/_astro/hyperdrive-edge-caching-metrics.BR7svphB_2kl758.webp)  
_P50, P75, and P90 Hyperdrive session latency for all client connection sessions (both cached and uncached queries) for Hyperdrive configurations with caching enabled during the rollout period._  
This performance improvement is applied to all new and existing Hyperdrive configurations that have caching enabled.  
For more details on how Hyperdrive performs query caching, refer to the [Hyperdrive documentation](https://developers.cloudflare.com/hyperdrive/concepts/how-hyperdrive-works/#3-query-caching).

Nov 11, 2024
1. ### [Bypass caching for subrequests made from Cloudflare Workers, with Request.cache](https://developers.cloudflare.com/changelog/post/2024-11-11-cache-no-store/)  
[ Workers ](https://developers.cloudflare.com/workers/)  
You can now use the [cache](https://developers.cloudflare.com/workers/runtime-apis/request/#options) property of the [Request](https://developers.cloudflare.com/workers/runtime-apis/request/) interface to bypass [Cloudflare's cache](https://developers.cloudflare.com/workers/reference/how-the-cache-works/) when making subrequests from [Cloudflare Workers](https://developers.cloudflare.com/workers), by setting its value to `no-store`.  
   * [  JavaScript ](#tab-panel-590)  
   * [  TypeScript ](#tab-panel-591)  
index.js  
```  
export default {  
  async fetch(req, env, ctx) {  
    const request = new Request("https://cloudflare.com", {  
      cache: "no-store",  
    });  
    const response = await fetch(request);  
    return response;  
  },  
};  
```  
index.ts  
```  
export default {  
  async fetch(req, env, ctx): Promise<Response> {  
    const request = new Request("https://cloudflare.com", { cache: 'no-store'});  
    const response = await fetch(request);  
    return response;  
  }  
} satisfies ExportedHandler<Environment>  
```  
When you set the value to `no-store` on a subrequest made from a Worker, the Cloudflare Workers runtime will not check whether a match exists in the cache, and not add the response to the cache, even if the response includes directives in the `Cache-Control` HTTP header that otherwise indicate that the response is cacheable.  
This increases compatibility with NPM packages and JavaScript frameworks that rely on setting the [cache](https://developers.cloudflare.com/workers/runtime-apis/request/#options) property, which is a cross-platform standard part of the [Request](https://developers.cloudflare.com/workers/runtime-apis/request/) interface. Previously, if you set the `cache` property on `Request`, the Workers runtime threw an exception.  
If you've tried to use `@planetscale/database`, `redis-js`, `stytch-node`, `supabase`, `axiom-js` or have seen the error message `The cache field on RequestInitializerDict is not implemented in fetch` — you should try again, making sure that the [Compatibility Date](https://developers.cloudflare.com/workers/configuration/compatibility-dates/) of your Worker is set to on or after `2024-11-11`, or the [cache\_option\_enabled compatibility flag](https://developers.cloudflare.com/workers/configuration/compatibility-flags/#enable-cache-no-store-http-standard-api) is enabled for your Worker.  
   * Learn [how the Cache works with Cloudflare Workers](https://developers.cloudflare.com/workers/reference/how-the-cache-works/)  
   * Enable [Node.js compatibility](https://developers.cloudflare.com/workers/runtime-apis/nodejs/) for your Cloudflare Worker  
   * Explore [Runtime APIs](https://developers.cloudflare.com/workers/runtime-apis/) and [Bindings](https://developers.cloudflare.com/workers/runtime-apis/bindings/) available in Cloudflare Workers

Oct 24, 2024
1. ### [Workflows is now in open beta](https://developers.cloudflare.com/changelog/post/2024-10-24-workflows-beta/)  
[ Workers ](https://developers.cloudflare.com/workers/)[ Workflows ](https://developers.cloudflare.com/workflows/)  
Workflows is now in open beta, and available to any developer a free or paid Workers plan.  
Workflows allow you to build multi-step applications that can automatically retry, persist state and run for minutes, hours, days, or weeks. Workflows introduces a programming model that makes it easier to build reliable, long-running tasks, observe as they progress, and programmatically trigger instances based on events across your services.  
#### Get started  
You can get started with Workflows by [following our get started guide](https://developers.cloudflare.com/workflows/get-started/guide/) and/or using `npm create cloudflare` to pull down the starter project:  
Terminal window  
```  
npm create cloudflare@latest workflows-starter -- --template "cloudflare/workflows-starter"  
```  
You can open the `src/index.ts` file, extend it, and use `wrangler deploy` to deploy your first Workflow. From there, you can:  
   * Learn the [Workflows API](https://developers.cloudflare.com/workflows/build/workers-api/)  
   * [Trigger Workflows](https://developers.cloudflare.com/workflows/build/trigger-workflows/) via your Workers apps.  
   * Understand the [Rules of Workflows](https://developers.cloudflare.com/workflows/build/rules-of-workflows/) and how to adopt best practices

Feb 26, 2024
1. ### [Easily Exclude EU Visitors from RUM](https://developers.cloudflare.com/changelog/post/2025-02-25-rum-exclude-eu/)  
[ Cloudflare Web Analytics ](https://developers.cloudflare.com/web-analytics/)  
You can now easily enable Real User Monitoring (RUM) monitoring for your hostnames, while safely dropping requests from visitors in the European Union to comply with GDPR and CCPA.  
![RUM Enablement UI](https://developers.cloudflare.com/_astro/2025-02-26-rum-eu.X0ZtbXWA_eanJk.webp)  
Our Web Analytics product has always been centered on giving you insights into your users' experience that you need to provide the best quality experience, without sacrificing user privacy in the process.  
To help with that aim, you can now selectively enable RUM monitoring for your hostname and exclude EU visitor data in a single click. If you opt for this option, we will drop all metrics collected by our EU data centeres automatically.  
You can learn more about what metrics are reported by Web Analytics and how it is collected [in the Web Analytics documentation](https://developers.cloudflare.com/web-analytics/data-metrics/). You can enable Web Analytics on any hostname by going to the [Web Analytics ↗](https://dash.cloudflare.com/?to=/:account/web-analytics/sites) section of the dashboard, selecting "Manage Site" for the hostname you want to monitor, and choosing the appropriate enablement option.

[Search all changelog entries](https://developers.cloudflare.com/search/?contentType=Changelog+entry) 