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

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/changelog/llms.txt  
> Use this file to discover all available pages before exploring further.

[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/) 

Workers

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

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-1340)  
   * [  TypeScript ](#tab-panel-1341)  
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