Version Packages - #14699
Merged
Merged
Conversation
Contributor
Changeset Review✅ All changesets look good |
@cloudflare/autoconfig
@cloudflare/config
create-cloudflare
@cloudflare/deploy-helpers
@cloudflare/kv-asset-handler
miniflare
@cloudflare/pages-shared
@cloudflare/unenv-preset
@cloudflare/vite-plugin
@cloudflare/vitest-pool-workers
@cloudflare/workers-auth
@cloudflare/workers-editor-shared
@cloudflare/workers-utils
wrangler
commit: |
workers-devprod
force-pushed
the
changeset-release/main
branch
4 times, most recently
from
July 15, 2026 11:35
d5f4685 to
ef3d753
Compare
workers-devprod
force-pushed
the
changeset-release/main
branch
13 times, most recently
from
July 16, 2026 16:00
28c181c to
8639f23
Compare
workers-devprod
force-pushed
the
changeset-release/main
branch
3 times, most recently
from
July 17, 2026 07:08
8bd9220 to
ceb7e6a
Compare
workers-devprod
force-pushed
the
changeset-release/main
branch
from
July 17, 2026 07:15
ceb7e6a to
9d8d72f
Compare
ascorbic
approved these changes
Jul 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
miniflare@4.20260714.0
Minor Changes
#14562
9f04a7eThanks @martijnwalraven! - Add ahandleUncaughtErrorshared option that receives uncaught Worker exceptionsThe runtime catches handler exceptions to build the 500 response, so they never reach the inspector — the one place an uncaught exception exists as a structured value in Node is the pretty-error path, where the error report from the Worker is revived into a source-mapped
Error. Embedders can now passhandleUncaughtError: (error: Error) => voidto observe that revived error programmatically; logging behavior is unchanged.The hook fires only where the pretty-error path does: requests reaching the Worker through the entry socket (a browser or another HTTP client against the dev server).
dispatchFetch()is unaffected — it always setsMF-Disable-Pretty-Error, and the entry worker then propagates the exception by rejecting the returned promise instead, sodispatchFetch()callers already receive the error directly and the hook is not invoked.#14706
cb6c3f9Thanks @edmundhung! - Add Durable Object storage access tocreateTestHarness()You can now execute SQL against a SQLite-backed Durable Object to seed or assert the storage state.
Patch Changes
#14417
34e696dThanks @matthewdavidrodgers! - Improve asset serving performance by removing an unnecessary internal dispatch hopAsset requests and RPC calls now avoid an extra internal forwarding layer, reducing latency. The forwarding infrastructure is preserved for future use by cohort-based deployments.
#14682
d39ae01Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14562
9f04a7eThanks @martijnwalraven! - Keep reporting uncaught Worker errors when a stack frame's file URL has no local pathfileURLToPaththrows onfile://URLs that cannot be represented as a local path (a non-local host; on Windows, any drive-less path — which is everyfile:///...URL reported by a POSIX-built bundle). Both the source-mapping machinery andyouch's error-page frame parsing convert stack-frame specifiers this way, so one such frame previously failed the whole pretty-error request: the error page was replaced by a raw Node stack, the error was not logged, andhandleUncaughtErrordid not fire. Source mapping now degrades to the unmapped stack and the pretty page falls back to a plain stack response instead.#14418
cb30df3Thanks @matthewdavidrodgers! - Improve routing performance for Workers with assetsReduce request handling latency by streamlining the router Worker's request path. The loopback infrastructure remains available for future use.
#14727
3f3afbbThanks @ascorbic! - Prevent local Browser Rendering teardown from hanging when Chrome does not exitMiniflare now bounds graceful Chrome shutdown and forcefully terminates the browser process tree when needed, preventing disposal from waiting indefinitely.
#14723
e6fbc4eThanks @ascorbic! - Prevent concurrent Miniflare instances from deleting each other's temporary email sessionsEmail session cleanup now removes only the current instance's session directory and leaves the shared parent intact, avoiding startup failures when multiple local runtimes use the same project.
wrangler@4.112.0
Minor Changes
#14470
3de70dfThanks @DiogoSantoss! - Add a top-leveladdressesfield to Wrangler configuration for Email RoutingYou can now declare the inbound email addresses handled by your Worker directly in
wrangler.json:{ "name": "my-worker", "main": "src/index.ts", "compatibility_date": "2026-05-21", "addresses": ["support@example.com", "*@example.com"] }#14706
cb6c3f9Thanks @edmundhung! - Add Durable Object storage access tocreateTestHarness()You can now execute SQL against a SQLite-backed Durable Object to seed or assert the storage state.
#14562
9f04a7eThanks @martijnwalraven! - Emit a typedruntimeErrorevent on theunstable_startWorkerDevEnv for uncaught Worker exceptionsUncaught Worker exceptions were only source-mapped and printed, so programmatic consumers had to scrape terminal output to observe them. The DevEnv now re-emits a
RuntimeErrorEvent(likereloadComplete) carrying the exception text and source-mapped stack — fed from Miniflare's pretty-error seam via the newhandleUncaughtErroroption for exceptions the runtime catches, and from the inspector for those it does not.Patch Changes
#14682
d39ae01Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14725
c79504fThanks @edmundhung! - Support containers increateTestHarness()Workers configured with containers can now be tested using
createTestHarness(). The harness builds configured images and makes container-backed Durable Objects available during integration tests.#14696
c7dbe1aThanks @martijnwalraven! - Typeunstable_startWorker,DevEnv.startWorker, andConfigController.set/patchagainstWranglerStartDevWorkerInput, so the wrangler-specificdev.structuredLogsHandlerfield the runtime already honors is expressible through the public API. Previously the public signatures took the baseStartDevWorkerInput, and callers passing the handler needed a cast while internal callers (the test harness) routed the wider type around the signature.#14494
4e1a7a7Thanks @petebacondarwin! - Register a workers.dev subdomain before uploading a new WorkerDeploying a Worker for the first time on an account that has no workers.dev subdomain failed with an opaque API error raised by the upload request itself (code 10063, "You need a workers.dev subdomain in order to proceed"). Wrangler now checks for a workers.dev subdomain before uploading a brand-new Worker that publishes to workers.dev and prompts you to register one, so you get a clear, actionable message instead of a cryptic API failure. The check is skipped for deploys that don't target workers.dev (routes-only deploys, or
workers_dev: false) and for existing Workers, since their account already has a subdomain.Updated dependencies [
34e696d,d39ae01,9f04a7e,9f04a7e,cb30df3,cb6c3f9,3f3afbb,e6fbc4e]:@cloudflare/autoconfig@0.1.6
Patch Changes
8cd805d]:@cloudflare/cli-shared-helpers@0.1.15
Patch Changes
#14499
8cd805dThanks @colinhacks! - Detect thenubpackage managerC3 resolves the invoking package manager with
which-pm-runs, which already returnsnub, butdetectPackageManagerhad nonubcase in its switch, so it fell through to the npm default and produced npm commands.detectPackageManagernow mapsnubto itsnub/nubxexecutables, and@cloudflare/cli-shared-helpers's package-install helpers acceptnubas a package manager.Updated dependencies []:
@cloudflare/config@0.2.1
Patch Changes
b38f494Thanks @emily-shen! - Update zod to v4create-cloudflare@2.70.12
Patch Changes
#14661
414ce87Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
#14499
8cd805dThanks @colinhacks! - Detect thenubpackage managerC3 resolves the invoking package manager with
which-pm-runs, which already returnsnub, butdetectPackageManagerhad nonubcase in its switch, so it fell through to the npm default and produced npm commands.detectPackageManagernow mapsnubto itsnub/nubxexecutables, and@cloudflare/cli-shared-helpers's package-install helpers acceptnubas a package manager.@cloudflare/deploy-helpers@0.5.1
Patch Changes
#14707
b38f494Thanks @emily-shen! - Update zod to v4Updated dependencies [
34e696d,d39ae01,8cd805d,9f04a7e,9f04a7e,cb30df3,cb6c3f9,3f3afbb,e6fbc4e]:@cloudflare/pages-shared@0.13.158
Patch Changes
34e696d,d39ae01,9f04a7e,9f04a7e,cb30df3,cb6c3f9,3f3afbb,e6fbc4e]:@cloudflare/vite-plugin@1.45.1
Patch Changes
#14610
e727842Thanks @martijnwalraven! - Keep watching config changes after a failed dev server restartPreviously, when a config change made the dev server restart fail — for example because the updated Worker config was invalid — the plugin stopped watching config changes entirely: the change handler (covering the Worker config files, local dev vars, and the assets configuration) removed itself before restarting, and only a successfully created server would register a fresh one. Since Vite keeps the current server running when a restart fails, every subsequent config change (including the one that fixes the config) was silently ignored for the rest of the session.
The handler now stays registered and guards against re-entrant restarts instead, so fixing the config restarts the dev server as expected.
#14418
cb30df3Thanks @matthewdavidrodgers! - Improve routing performance for Workers with assetsReduce request handling latency by streamlining the router Worker's request path. The loopback infrastructure remains available for future use.
Updated dependencies [
34e696d,d39ae01,3de70df,c79504f,9f04a7e,9f04a7e,cb30df3,cb6c3f9,c7dbe1a,3f3afbb,e6fbc4e,4e1a7a7,9f04a7e]:@cloudflare/vitest-pool-workers@0.18.6
Patch Changes
#14678
4e62bbaThanks @apeacock1991! - Fix test runs hanging after a Durable Object logs and rejectsblockConcurrencyWhile()Console messages emitted from another Durable Object are now buffered until execution returns to the test runner, avoiding I/O that cannot complete after the object's input gate breaks.
Updated dependencies [
34e696d,d39ae01,3de70df,c79504f,9f04a7e,9f04a7e,cb30df3,cb6c3f9,c7dbe1a,3f3afbb,e6fbc4e,4e1a7a7,9f04a7e]:@cloudflare/format-errors@0.0.9
Patch Changes
b38f494Thanks @emily-shen! - Update zod to v4@cloudflare/local-explorer-ui@0.14.2
Patch Changes
#14668
e93d27eThanks @DebadityaHait! - Make long worker selector lists scrollableWorkers beyond the visible selector limit can now be reached with a mouse, trackpad, or keyboard without scrolling the Local Explorer page.
@cloudflare/playground-preview-worker@0.3.3
Patch Changes
b38f494Thanks @emily-shen! - Update zod to v4@cloudflare/runtime-types@0.0.3
Patch Changes
34e696d,d39ae01,9f04a7e,9f04a7e,cb30df3,cb6c3f9,3f3afbb,e6fbc4e]:@cloudflare/turbo-r2-archive@0.0.5
Patch Changes
b38f494Thanks @emily-shen! - Update zod to v4@cloudflare/workers-shared@0.19.9
Patch Changes
#14417
34e696dThanks @matthewdavidrodgers! - Improve asset serving performance by removing an unnecessary internal dispatch hopAsset requests and RPC calls now avoid an extra internal forwarding layer, reducing latency. The forwarding infrastructure is preserved for future use by cohort-based deployments.
#14705
00f41d6Thanks @WillTaylorDev! - Retry asset reads from KV when they failThe asset worker reads static assets from KV, and a read can occasionally fail with a transient error. It previously retried only once before giving up. It now retries a few times with exponential backoff, which reduces the chance of serving an error. A missing asset is not treated as a failure and is not retried.
#14418
cb30df3Thanks @matthewdavidrodgers! - Improve routing performance for Workers with assetsReduce request handling latency by streamlining the router Worker's request path. The loopback infrastructure remains available for future use.
@cloudflare/workflows-shared@0.12.1
Patch Changes
b38f494Thanks @emily-shen! - Update zod to v4