Change8

wrangler@4.111.0

Breaking Changes
📦 cloudflare-workersView on GitHub →
1 breaking2 features🐛 3 fixes🔧 8 symbols

Summary

This release removes support for service environments and the `legacy_env` configuration field, simplifying deployment. It also introduces Durable Object eviction support in `createTestHarness` and improves type generation for the experimental new config path.

⚠️ Breaking Changes

  • Service environments have been removed. The `legacy_env` configuration field is no longer supported and will raise an error if present in your configuration file. If you were previously using `legacy_env = false`, each environment will now be deployed as a standalone Worker instead of an environment of a single Worker. Refer to https://developers.cloudflare.com/workers/wrangler/environments/ for more information on the new deployment behavior.

Migration Steps

  1. Remove the `legacy_env` field from your Wrangler configuration file if it is present.

✨ New Features

  • Added Durable Object eviction support to `createTestHarness` for testing recovery after instance teardown.
  • When running `wrangler dev --x-new-config`, runtime types are now appended to `worker-configuration.d.ts` alongside inferred types, controlled by the new `dev.types.includeRuntime` option (defaults to `true`). This applies only to the experimental new config path.

🐛 Bug Fixes

  • Fixed an issue where auth profiles were ignored when using remote bindings in the Vite plugin. The profile directory is now resolved based on the Vite project root.
  • Fixed `wrangler dev` corrupting external hostnames in proxied response headers. The proxy now correctly rewrites absolute URLs whose host exactly matches the proxied host, and unrelated hosts/subdomains pass through untouched.
  • Fixed an issue where `wrangler kv namespase` (with a typo) would not suggest the correct command `wrangler kv namespace`.

Affected Symbols