Safeguard
Supply Chain•

Is a Cloudflare Workers compatibility date a security update?

No. The compatibility date gates behavior changes in the Workers runtime. It does not update your npm dependencies. What it does, and what you still own.

Safeguard Security Team
4 min read

No. A compatibility date opts your Worker into runtime behavior changes made up to that date. It is not a patch level for your code. Cloudflare updates the runtime globally, while the npm packages bundled into your Worker stay at the versions you deployed.

What the date does

Cloudflare documents the compatibility date as the setting that enables compatibility flags up to that date. Runtime updates reach all Workers globally. Changes that could break existing code are gated, so bug fixes that alter behavior are something new Workers can opt into. Existing Workers keep older behavior, so a deployed Worker is not broken by a runtime update.

If you omit the date through the API it defaults to 2021-11-02. Cloudflare recommends setting it to the current date when you start a project and updating it from time to time, testing before you deploy. It says it supports old dates indefinitely.

What it does not do

The page does not describe the date as a patching mechanism, and it should not be read as one. Three things stay separate:

LayerWho updates itHow it changes
Workers runtimeCloudflareRegular updates applied to all Workers globally
Behavior flagsYouMove the compatibility date forward and test
Your dependenciesYouUpdate npm packages, rebuild, redeploy

An old compatibility date does not mean an old runtime binary. It means older behavior choices for that Worker. A fresh date does not fix a vulnerable package in your bundle.

Why the distinction matters for review

During a security review, "we set the compatibility date to this year" is not evidence that dependencies are current. Reviewers should ask two separate questions: is the Worker opted into current runtime behavior, and are the bundled packages free of known vulnerabilities?

Other flags interact with the date. For example, the nodejs_compat flag is documented as needing to be added for dates from 2024-09-23 through 2026-08-03, and enabled by default from 2026-08-04, which shows how moving the date changes what your Worker can use. That affects which packages you can run, and what Wrangler injects into your bundle.

A sensible routine

  1. Record the compatibility date and flags in version control with the Worker.
  2. Review the compatibility flags page when you move the date, and test.
  3. Update dependencies on their own schedule, tied to advisories.
  4. Rebuild and redeploy so the new bundle reaches the edge.
  5. Keep the lockfile and a software bill of materials for every deployed version.
  6. Do not describe the date as a patch level in questionnaires or reports.

What to say in a questionnaire

A clear statement is: the platform runtime is updated by the provider, the compatibility date controls opt in behavior, and application dependencies are scanned and updated by our team on this schedule. That separates provider and customer duties honestly.

Try it yourself

Click through it at your own pace, or open it full screen.

Look at what the list tracks: affected packages and fixed versions. A compatibility date appears nowhere in that picture.

Quick check

Do I need to update the compatibility date to get runtime security fixes?

The documentation says runtime updates apply to all Workers globally. The date gates behavior changes, and it does not describe itself as a patch mechanism.

Does a newer date update my npm packages?

No. Dependencies are part of your bundle and change only when you update them and redeploy.

Safeguard's SBOM and dependency scanning can check a Worker project's lockfile for vulnerable packages. Try a free scan at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.