Workers changelog
277 announcements since January 2025 · 4 GA · 7 previews · 1 price change · 15 deprecations
Free. One email a day, only on days when something you follow has an announcement, or one a week if you switch it in your preferences. You confirm your email with a one-time code; there is no password.
November 20262
October 202624
BYOIP destination subrequests now keep Workers context and original client signals
Code updates deferred by default, up to 300 seconds while waiting to hibernate
Assets can be served from a URL path prefix using assets.base_path
Builds and build logs retained for 90 days after the build finishes
Workflows can be restricted to eu, us or fedramp jurisdictions for running and storing data
v0.7.0 resumes interrupted runs after deploy or crash and pauses for approvals
Custom spans add spanContext(), setStatus() and updateName() methods from the OpenTelemetry span API
Images reject compromised eMudhra certificates and include patched Node.js, Bun and pip versions
npm version can be pinned with the packageManager field in package.json
Deploy commands upload source maps by default from Wrangler 4.150.0; opt out via config
Sends one-off Cron Trigger invocations to a Worker's scheduled() handler locally
Version 1.0.0-beta.16 adds cf docs search; command names now kebab-case
Forward action in HTTP policies runs Workers on permitted traffic, on all Zero Trust plansPreview
Default Node.js, Python, Ruby, Go, Bun, Yarn and package manager versions updated
Sends Workers Issues to subscribed MCP clients as MCP Events via webhook
Posts preview URLs to GitHub and GitLab within seconds, previously often minutes
Grace period for pending requests and connections raised from 30 seconds to 20 minutes
Experimental support for running OpenCode 2.0 in a Durable Object with Workers AIPreview
Accepts an options object to create up to 100 instances by count or list; array form deprecated
Build durable long-running agents with Pi 1.0 and Pi Durable on Durable ObjectsPreview
Adds ML-KEM and ML-DSA algorithms behind the webcrypto_modern_algorithms compatibility flag
Versioned Git-compatible file system for Workers Paid plan; billing begins October 14, 2026Preview
v1 adds split authorization/resource server API and MCP 2026-07-28 spec supportGA
September 202620
invalidate() marks cached responses stale so the cache revalidates them with the Worker
Single command-line tool for the Cloudflare API and Workers projects, with over 2,900 commandsPreview
Workflows declared in exports can be called through ctx.exports without a workflows binding
Charts show every release and gradual deployment rollout in the selected time range
Workflows can be declared in the Wrangler exports field, needing Wrangler 4.139.0 or above
Supports repositories hosted in Cursor Origin, with branch previews and pull request build status
Isolated per-pull-request environments with own code, configuration, URL and observability
Grant teammates Metadata Read-Only, Content Read-Only, Editor or Admin access to specific Workers
Delete one or up to 100 Workflow instances and their stored state via API or Wrangler
Traces now follow JavaScript RPC calls across Worker boundaries and into Durable Objects
Stream Workflow instance events with subscribe() and the GET /subscribe endpoint, without polling
Access can be granted to individual Workers with four roles, for members, agents and CI/CD
Python 3.14 is the default for new workers with compatibility date 2026-09-08 or later
Manage rules routing email to Workers through the addresses field in Wrangler configuration
Enterprise customers can set maximum upload size up to 5 GB from the dashboard
Compressed size limit removed; 64 MiB uncompressed bundle limit applies on all plans
WSGI and ASGI web frameworks such as Django, Flask and FastAPI are supported
August 202616
Limit of concurrent Dynamic Workers with in-flight requests raised from four to ten
Console logs keep exception name, message and stack, with errorInfo array for Tail Workers
Optional OAuth scopes can be chosen during authorization instead of granting all
Dashboard shows live Worker versions and traffic split per namespace, plus observed traffic share
Can be created at global scope without throwing during module evaluation
Several changes align event behavior with web specifications, including isTrusted and handler order
connect() handler no longer requires the experimental compatibility flag
Access can protect one Worker or all Workers, with ctx.access identity and local testing
Dashboard lists traced agents, with session replay and execution timeline views
wrangler dev and vite dev capture OpenTelemetry traces and logs for AI agents to query
nodejs_compat flags enabled by default for compatibility dates of 2026-08-04 or later
New --device flag uses OAuth Device Authorization Grant without a localhost callback server
Python and JavaScript Workers can call each other through Service bindings
July 202620
wrangler check startup reports bundle sizes and summarizes local CPU activity during startup
Node.js 24.18.0 is the default; Node.js 22.23.2 also preinstalled
New startActiveSpan() and span.end() APIs write custom spans that outlast a callback
New API runs integration tests against Worker production builds from any Node.js test runner
Adds MCP 2026-07-28 client and server support, deprecates McpAgent and v1 createMcpHandlerDeprecation
Logs and OpenTelemetry spans include instance ID, so you can filter by $workers.durableObjectId
Skips a queued build when a newer build for the same trigger is queued
Reuses converted MCP schemas, adds includeMcpTools opt-out and direct Code Mode runtime APIs
Eligible Pay-as-you-go accounts get a default $10 account-level budget alert
Dashboard shows hourly maximum SQLite storage per namespace over time
Platforms can create temporary preview accounts via REST API to deploy Workers before user sign-in
Agents can handle MCP server elicitation requests in form and URL modes
Sends npm dependency names and versions with Worker uploads; opt out in configuration
New namespaces on accounts without a key-value backed one must use the SQLite storage backend
Deploy a static site without an account; temporary preview lasts 1 hour until claimed
Spans now carry warning attributes for non-fatal telemetry issues such as exceeded span data limits
Declarative exports field in Wrangler config replaces migrations array for class lifecycle
Package exposes only latest runtime types; dated entrypoints removedDeprecation
Named OAuth logins scoped to accounts switch automatically by working directory
June 202619
New Memory Usage chart in Metrics tab shows P50, P90, P99 and P999 percentiles
New request option controls caching of origin responses with a Vary header per subrequest
Adds detached background sub-agents with progress, a runTurn entry point, and recovery fixes
New us jurisdiction restricts where objects run and store data to the United States
New location hints apac-ne and apac-se for finer placement within Asia-Pacific
Agents can deploy with wrangler --temporary to a preview account live for 60 minutes
Create PlanetScale Postgres and MySQL databases from Cloudflare, billed to your Cloudflare accountPrice
Custom spans can be created with tracing.enterSpan() and appear in traces and OpenTelemetry exports
Z.ai agentic coding model launches with 262,144 token context windowGA
Metrics tab can be filtered by individual object ID or name in dashboard
Dynamic Workers billed count viewable in dashboard and GraphQL Analytics API
Wrangler field pipeline renamed to stream; old field deprecated but still acceptedDeprecation
Product overview pages show current-period spend and let you create budget alerts
Create, update or delete up to 100 Worker secrets in one request
Optional storage of OAuth credentials in an encrypted file with key in OS keychain
Cron schedules can be attached to a Workflow binding in wrangler.jsonc, creating an instance per run
Adds Agent Skills, Telegram messengers, scheduled tasks, Think Workflows and hardened chat recovery
May 20267
Local dev servers can be shared through Cloudflare Tunnel with a public URL
Dashboard chart and GraphQL dataset show connection pool size and waiting clients
Dashboard tab to buy, connect and manage domains and routing for a Worker
Chat recovery fixes, routing retries, durable Think submissions and Voice connection control
Existing WAF rules cover new React DoS CVE; patched React and Next.js versions released
Single unified trace across service binding and Durable Object subrequests between Workers
April 20269
Daily usage cost dashboard and email alerts when projected spend crosses a dollar threshold
Binary frames now arrive as Blob instead of ArrayBuffer; binaryType restores the old behaviorDeprecation
Browser interface and REST API to view and edit local KV, R2, D1, Durable Objects and Workflows data
Runtime now replies automatically to Close frames, default for compatibility dates from 2026-04-07
All commands accept a --local flag to target a Workflow in a local dev session
Unique per-branch URLs trigger builds via HTTP POST, limited to 10 builds per minute per WorkerGA
New request.cf properties expose TCP and QUIC round-trip time and delivery rate
March 202612
Four new RFC 9440 mTLS client certificate fields on request.cf.tlsClientAuth
ctx.id.jurisdiction reports the jurisdiction an object was created in
New secrets config property declares required secrets, validated in local development and deploy
Workers can spin up sandboxed Workers at runtime for paid users, with usage pricingPreview
pause(), resume(), restart() and terminate() work in local development with wrangler dev
Readable state, idempotent schedule(), typed AgentClient, Zod 4 required, TanStack AI support
Create, list, run and delete Cloudflare Tunnels from the CLI; experimental
Adds MCP export, drops ai and zod from main entry, custom sandbox modulesDeprecation
Object name from idFromName() or getByName() is now readable on ctx.id.name
Step context exposes current retry attempt number, starting at 1, in step.do()
Per-instance limit rises from 1,024 to 10,000 steps by default, configurable up to 25,000
Observability rewritten on diagnostics_channel, adds keepAlive() and waitForMcpConnections
February 202616
Pywrangler CLI now runs on Windows, previously only macOS and Linux
Query language in the search bar filters logs and traces with fields, operators and functions
Adds experimental RPC transport for MCP, opt-in OAuth, hardened schema converter and ai-chat fixes
Also deletes the alarm with compatibility date 2026-02-24 or later
Adds dropped event metrics, typed bindings and a simpler setup mode
New guide with recommendations for fast, reliable, observable and secure Workers
1000 subrequest cap removed; paid default 10,000, configurable up to 10 million
Adds childEnvironments option for React Server Components via @vitejs/plugin-rsc
Workflows, Workers - Visualize your Workflows in the Cloudflare dashboard
January 20269
Workers - Use auxiliary Workers alongside full-stack frameworks
Workers - `wrangler types` now generates types for all environments
Workers - Validate your generated types with `wrangler types --check`
Workers, Queues - Get notified when your Workers builds succeed or fail
Workers Analytics Engine SQL now supports filtering using HAVING and LIKE