#12881 8729f3d Thanks @pombosilva! - Workflow instances now support pause, resume, restart, and terminate in local dev.
const instance = await env.MY_WORKFLOW.create({
id: "my-instance",
});
await instance.pause(); // pauses after the current step completes
await instance.resume(); // resumes from where it left off
await instance.restart(); // restarts the workflow from the beginning
await instance.terminate(); // terminates the workflow immediately
#12893 782df44 Thanks @gpanders! - Rewrite wrangler containers list to use the paginated Dash API endpoint
wrangler containers list now fetches from the /dash/applications endpoint instead of /applications, displaying results in a paginated table with columns for ID, Name, State, Live Instances, and Last Modified. Container state is derived from health instance counters (active, degraded, provisioning, ready).
The command supports --per-page (default 25) for interactive pagination with Enter to load more and q/Esc to quit, and --json for machine-readable output. Non-interactive environments load all results in a single request.
#12957 62545c9 Thanks @natewong1313! - Add Stream binding support to Wrangler and workers-utils
Wrangler and workers-utils now recognize the stream binding in configuration, deployment metadata, and generated worker types. This enables projects to declare Stream bindings in wrangler.json and have the binding represented consistently across validation, metadata mapping, and type generation.
#12848 ce48b77 Thanks @emily-shen! - Enable local explorer by default
This ungates the local explorer, a UI that lets you inspect the state of D1, DO and KV resources locally by visiting /cdn-cgi/explorer during local development.
Note: this feature is still experimental, and can be disabled by setting the env var X_LOCAL_EXPLORER=false.
#12938 71ab981 Thanks @dario-piotrowicz! - Add backward-compatible autoconfig support for Astro v5 and v4 projects
The astro add cloudflare command in older Astro versions installs the latest adapter version, which causes compatibility issues. This change adds manual configuration logic for projects using Astro versions before 6.0.0:
astro add cloudflare command (unchanged behavior)@astrojs/cloudflare@12 and manually configures the adapter@astrojs/cloudflare@11 and manually configures the adapter#11892 7c3c6c6 Thanks @staticpayload! - Handle registry ports when matching container image digests
Wrangler now strips tags without breaking registry ports when comparing local images to remote digests. This prevents unnecessary pushes for tags like localhost:5000/app:tag.
Updated dependencies [3c988e2, d028ffb, cb71403, 3a1c149, ce48b77, 8729f3d]:
#12763 d028ffb Thanks @petebacondarwin! - Graduate experimental Node.js module flags to date-gated flags
The following Node.js module compatibility flags are no longer experimental and are now automatically enabled for workers using nodejs_compat with a compatibility date of 2026-03-17 or later: perf_hooks, v8, tty, child_process, worker_threads, readline, and repl. Each flag can still be explicitly enabled or disabled via the corresponding enable_/disable_ compatibility flags.
#12943 0f10583 Thanks @gabivlj! - containers: Upgrade proxy-everything to cloudflare/proxy-everything:3cb1195
This proxy-everything version adds support to filter DNS queries, necessary for interceptOutboundHttp constrained by domain.
#12893 782df44 Thanks @gpanders! - Rewrite wrangler containers list to use the paginated Dash API endpoint
wrangler containers list now fetches from the /dash/applications endpoint instead of /applications, displaying results in a paginated table with columns for ID, Name, State, Live Instances, and Last Modified. Container state is derived from health instance counters (active, degraded, provisioning, ready).
The command supports --per-page (default 25) for interactive pagination with Enter to load more and q/Esc to quit, and --json for machine-readable output. Non-interactive environments load all results in a single request.
#12957 62545c9 Thanks @natewong1313! - Add Stream binding support to Wrangler and workers-utils
Wrangler and workers-utils now recognize the stream binding in configuration, deployment metadata, and generated worker types. This enables projects to declare Stream bindings in wrangler.json and have the binding represented consistently across validation, metadata mapping, and type generation.
#11639 e9f5f30 Thanks @dependabot! - Update dependencies of "create-cloudflare"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| create-next-app | 15.5.6 | 16.1.6 |
#12905 e7ef325 Thanks @dependabot! - Update dependencies of "create-cloudflare"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| nuxi | 3.33.1 | 3.34.0 |
#12907 92402f6 Thanks @dependabot! - Update dependencies of "create-cloudflare"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| create-astro | 4.13.2 | 5.0.0 |
#12908 eadb0fd Thanks @dependabot! - Update dependencies of "create-cloudflare"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| @angular/create | 21.2.1 | 21.2.2 |
#12909 75fa04b Thanks @dependabot! - Update dependencies of "create-cloudflare"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| create-qwik | 1.19.1 | 1.19.2 |
#12492 3b81fc6 Thanks @thomasgauvin! - feat: add wrangler tunnel commands for managing Cloudflare Tunnels
Adds a new set of commands for managing remotely-managed Cloudflare Tunnels directly from Wrangler:
wrangler tunnel create <name> - Create a new Cloudflare Tunnelwrangler tunnel list - List all tunnels in your accountwrangler tunnel info <tunnel> - Display details about a specific tunnelwrangler tunnel delete <tunnel> - Delete a tunnel (with confirmation)wrangler tunnel run <tunnel> - Run a tunnel using cloudflaredwrangler tunnel quick-start <url> - Start a temporary tunnel (Try Cloudflare)The run and quick-start commands automatically download and manage the cloudflared binary, caching it in ~/.wrangler/cloudflared/. Users are prompted before downloading and warned if their PATH-installed cloudflared is outdated. You can override the binary location with the CLOUDFLARED_PATH environment variable.
All commands are marked as experimental.
#12927 c9b3184 Thanks @penalosa! - Bump undici from 7.18.2 to 7.24.4
#12875 13df6c7 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| workerd | 1.20260312.1 | 1.20260316.1 |
#12935 df0d112 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| workerd | 1.20260316.1 | 1.20260317.1 |
#12928 81ee98e Thanks @petebacondarwin! - Migrate chrome-devtools-patches deployment from Cloudflare Pages to Workers + Assets
The DevTools frontend is now deployed as a Cloudflare Workers + Assets project instead of a Cloudflare Pages project. This uses wrangler deploy for production deployments and wrangler versions upload for PR preview deployments.
The inspector proxy origin allowlists in both wrangler and miniflare have been updated to accept connections from the new workers.dev domain patterns, while retaining the legacy pages.dev patterns for backward compatibility.
#12835 c600ce0 Thanks @dario-piotrowicz! - Fix execution freezing on debugger statements when DevTools is not attached
Previously, wrangler always sent Debugger.enable to the runtime on connection, even when DevTools wasn't open. This caused scripts to freeze on debugger statements. Now Debugger.enable is only sent when DevTools is actually attached, and Debugger.disable is sent when DevTools disconnects to stop the runtime from performing debugging work.
#12894 f509d13 Thanks @gpanders! - Simplify description of --json option
Remove extraneous adjectives in the description of the --json option.
#11888 0a7fef9 Thanks @staticpayload! - Reject cross-drive module paths in Pages Functions routing
On Windows, module paths using a different drive letter could be parsed in a way that bypassed the project-root check. These paths are now parsed correctly and rejected when they resolve outside the project.
Updated dependencies [c9b3184, 13df6c7, df0d112, 81ee98e]:
#12928 81ee98e Thanks @petebacondarwin! - Migrate chrome-devtools-patches deployment from Cloudflare Pages to Workers + Assets
The DevTools frontend is now deployed as a Cloudflare Workers + Assets project instead of a Cloudflare Pages project. This uses wrangler deploy for production deployments and wrangler versions upload for PR preview deployments.
The inspector proxy origin allowlists in both wrangler and miniflare have been updated to accept connections from the new workers.dev domain patterns, while retaining the legacy pages.dev patterns for backward compatibility.
#12936 cff91ff Thanks @jamesopstad! - Select the appropriate vite/module-runner implementation during dev based on the user's Vite version
The plugin now builds against Vite 8 and ships two bundled copies of vite/module-runner: one from Vite 8 and one from Vite 7.1.12 (the last version before a breaking change to the module runner in Vite 7.2.0). At dev server startup, the correct implementation is selected based on the user's installed Vite version. This is Vite 8's module runner for users on Vite >= 7.2.0, and the legacy module runner for users on older versions.
Updated dependencies [c9b3184, 13df6c7, df0d112, 81ee98e, c600ce0, f509d13, 3b81fc6, 0a7fef9]:
#12927 c9b3184 Thanks @penalosa! - Bump undici from 7.18.2 to 7.24.4
#12875 13df6c7 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| workerd | 1.20260312.1 | 1.20260316.1 |
#12935 df0d112 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"
The following dependency versions have been updated:
| Dependency | From | To |
|---|---|---|
| workerd | 1.20260316.1 | 1.20260317.1 |
#12928 81ee98e Thanks @petebacondarwin! - Migrate chrome-devtools-patches deployment from Cloudflare Pages to Workers + Assets
The DevTools frontend is now deployed as a Cloudflare Workers + Assets project instead of a Cloudflare Pages project. This uses wrangler deploy for production deployments and wrangler versions upload for PR preview deployments.
The inspector proxy origin allowlists in both wrangler and miniflare have been updated to accept connections from the new workers.dev domain patterns, while retaining the legacy pages.dev patterns for backward compatibility.
#10896 351e1e1 Thanks @devin-ai-integration! - feat: add --secrets-file parameter to wrangler deploy and wrangler versions upload
You can now upload secrets alongside your Worker code in a single operation using the --secrets-file parameter on both wrangler deploy and wrangler versions upload. The file format matches what's used by wrangler versions secret bulk, supporting both JSON and .env formats.
Example usage:
wrangler deploy --secrets-file .env.production
wrangler versions upload --secrets-file secrets.json
Secrets not included in the file will be inherited from the previous version, matching the behavior of wrangler versions secret bulk.
#12873 2b9a186 Thanks @gpanders! - Add wrangler containers instances <application_id> command to list container instances
Lists all container instances for a given application, matching the Dash instances view. Displays instance ID, state, location, version, and creation time. Supports pagination for applications with many instances. Also adds paginated request support to the containers-shared API client.
#12873 2b9a186 Thanks @gpanders! - Add escapeCodeTimeout option to onKeyPress utility for faster Esc key detection
The onKeyPress utility now accepts an optional escapeCodeTimeout parameter that controls how long readline waits to disambiguate a standalone Esc press from multi-byte escape sequences (e.g. arrow keys). The default remains readline's built-in 500ms, but callers can pass a lower value (e.g. 25ms) for near-instant Esc handling in interactive prompts.
#12676 65f1092 Thanks @dario-piotrowicz! - Fix autoconfig package installation always failing at workspace roots
When running autoconfig at the root of a monorepo workspace, package installation commands now include the appropriate workspace root flags (--workspace-root for pnpm, -W for yarn). This prevents errors like "Running this command will add the dependency to the workspace root" that previously occurred when configuring projects at the workspace root.
Additionally, autoconfig now allows running at the workspace root if the root directory itself is listed as a workspace package (e.g., workspaces: ["packages/*", "."]).
#12841 7b0d8f5 Thanks @dario-piotrowicz! - Fix unclear error when assets upload session returns a null response
When deploying assets, if the Cloudflare API returns a null response object, Wrangler now provides a clear error message asking users to retry instead of failing with a confusing error.
Updated dependencies [ade0aed]:
#12869 ade0aed Thanks @emily-shen! - Local explorer: validate host and origin headers before Miniflare modifies them
If routes are set, Miniflare will alter the host and origin headers to match, causing the local explorer to mistakenly identify and block same-origin requests.
Note the local explorer is a WIP experimental feature.
ade0aed]:
#12877 7dc3fb3 Thanks @NuroDev! - Fixed table selection dropdown incorrect z-index.
Previously, the dropdown you used to select a table in the data studio had an incorrect or missing z-index, meanint it conflicted with the table row header & was partially cut off when you had too many tables. This change ensures that the dropdown is always "on top" and visible.
#12885 12505c9 Thanks @edmundhung! - Add Vite 8 to the supported peer dependency range
The package now lists Vite 8 in its peer dependency range, so installs with Vite 8 no longer show a peer dependency warning.
#12859 876108a Thanks @dario-piotrowicz! - Fix crash when plugins send HMR events before runner initialization
Previously, if another Vite plugin (such as vite-plugin-vue-devtools) sent HMR events during configureServer before the Cloudflare plugin had initialized its runner, the dev server would crash with AssertionError: The WebSocket is undefined. The environment's WebSocket send operations are now deferred until the runner is fully initialized, allowing early HMR events to be handled gracefully.
Updated dependencies [ade0aed, 2b9a186, 65f1092, 7b0d8f5, 351e1e1, 2b9a186]:
#12873 2b9a186 Thanks @gpanders! - Add wrangler containers instances <application_id> command to list container instances
Lists all container instances for a given application, matching the Dash instances view. Displays instance ID, state, location, version, and creation time. Supports pagination for applications with many instances. Also adds paginated request support to the containers-shared API client.