chore(deps): update cloudflare-workers - #5558
Conversation
Site previewPreview: https://edf102bd-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
d2f12d9 to
732d8ed
Compare
732d8ed to
e837685
Compare
e837685 to
1060541
Compare
1060541 to
c532d6e
Compare
c532d6e to
5dc503e
Compare
5dc503e to
da8eb0b
Compare
da8eb0b to
e0a55cb
Compare
e0a55cb to
72dd41c
Compare
72dd41c to
71bbc10
Compare
71bbc10 to
a01df5e
Compare
a01df5e to
c1bfaad
Compare
c1bfaad to
07769c7
Compare
07769c7 to
810d4cc
Compare
|
🤖 Finished Review · ✅ Success · Started 3:52 AM UTC · Completed 4:04 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:34 PM UTC · Completed 3:48 PM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:50 AM UTC · Completed 4:04 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:35 PM UTC · Completed 3:49 PM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:54 AM UTC · Completed 4:09 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:34 PM UTC · Completed 3:47 PM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:57 AM UTC · Completed 4:10 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:35 PM UTC · Completed 3:54 PM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:54 AM UTC · Completed 4:11 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:31 PM UTC · Completed 3:45 PM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:28 AM UTC · Completed 3:44 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:22 PM UTC · Completed 3:39 PM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:33 AM UTC · Completed 3:50 AM UTC Commit: |
|
🤖 Finished Review · ✅ Success · Started 3:22 PM UTC · Completed 3:37 PM UTC Commit: |
| "@cloudflare/vitest-pool-workers": "^0.21.0", | ||
| "@cloudflare/workers-types": "^5.20260708.1", | ||
| "typescript": "^5.8.0", | ||
| "vitest": "^3.2.0", |
There was a problem hiding this comment.
[high] api-contract
The inner package pins vitest at ^3.2.0, but @cloudflare/vitest-pool-workers@0.21.x requires vitest@^4.1.0 as a peer dependency. The Makefile mint-cf-worker-test target runs cd $(WORKERSRC_DIR) && npm install independently — there is no lockfile in the inner directory, so npm will resolve vitest 3.x from the ^3.2.0 range, producing a peer dependency conflict. The root package.json already has vitest: ^4.1.4 (correctly aligned), but the inner package installs independently.
Suggested fix: Update vitest in internal/dispatch/cf/workersrc/package.json from ^3.2.0 to ^4.1.0 (or ^4.1.4 to match the root).
This PR contains the following updates:
^0.18.0→^0.21.0^0.8.0→^0.21.05.20260723.1→5.20260816.14.113.0→4.123.04.113.0→4.123.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
cloudflare/workers-sdk (@cloudflare/vitest-pool-workers)
v0.21.3Compare Source
Patch Changes
b8fd112,f0f2054,339509d]:v0.21.2Compare Source
Patch Changes
#15123
d0c976cThanks @dependabot! - WidenWorkerPoolOptionsContext.injecttype to avoidProvidedContextmismatchPreviously, calling
inject()insidecloudflareTest()pool options could fail with a type error when your project'sProvidedContextaugmentation wasn't visible to the pool plugin. Theinjectparameter now accepts any string key and is generic (inject<T>(key)), defaulting tounknownwhen no type argument is provided. This lets you opt in to concrete types (e.g.inject<number>("port")) while avoiding the cross-copyProvidedContextmismatch that occurred when pnpm resolved separate virtual-store instances of vitest.#15148
0b82b15Thanks @jamesopstad! - Ignore anodejs_compatcompatibility flag that the compatibility date already enablesworkerd rejects a compatibility flag that its compatibility date enables by default, so a Worker configured with both a compatibility date of
2026-08-04or later andnodejs_compatfailed to start locally with "The compatibility flag nodejs_compat became the default as of 2026-08-04 so does not need to be specified anymore".The redundant
nodejs_compatandnodejs_compat_v2flags are now dropped when starting the runtime, which has no effect on the resulting Worker because the compatibility date enables both anyway.no_nodejs_compatandno_nodejs_compat_v2still switch Node.js compatibility off, and a flag specified alongside its own opt-out is left alone so that workerd still reports those as contradictory.#15123
d0c976cThanks @dependabot! - Detect Node.js compatibility from the compatibility date, now thatnodejs_compatis enabled by defaultAs of compatibility date
2026-08-04, workerd enables thenodejs_compatandnodejs_compat_v2compatibility flags by default. Previously these tools only treated Node.js compatibility as enabled when one of those flags was listed explicitly, so a Worker on a compatibility date of2026-08-04or later without the flag would get Node.js APIs from the runtime but no Node.js polyfills from the bundler, andprocess.envcould be substituted with an empty object at build time. They now resolve these flags the same way workerd does, and honourno_nodejs_compatto opt out.To keep Node.js compatibility switched off on a newer compatibility date, specify both
no_nodejs_compatandno_nodejs_compat_v2, since each flag has its own default.@cloudflare/vitest-pool-workersneedsnodejs_compat_v2for its own test runner, so it continues to override a project that opts out of it. On a compatibility date that enables the flag anyway, it now drops the opt-out rather than adding the flag back, which workerd would reject — previously this stopped such a project from running any tests at all.wrangler typesalso no longer attributes its@types/nodesuggestion to "thenodejs_compatflag", which it can now make for Workers that do not set the flag at all.#15131
90dd5e5Thanks @vicb! - Bumpcapnp-esto 0.0.15.Also re-generate the types for the latest
.capnpfilesUpdated dependencies [
d0c976c,d0c976c,0b82b15,d0c976c,d0c976c,90dd5e5,3b02915]:v0.21.1Compare Source
Patch Changes
#14882
ab9132dThanks @petebacondarwin! - Report built-in modules that a Worker's compatibility settings don't provide as module errors, instead of crashing workerdPreviously, a Worker whose module graph statically reached a compatibility-gated built-in that wasn't enabled — for example
import "node:child_process"withoutnodejs_compat— took down the runtime with*** Received signal #​11: Segmentation faultbefore any test ran. Vitest reported onlyWorker exited unexpectedly, naming neither the module nor the file that imported it, which made the cause very hard to find. The import didn't even have to be called; being reachable from the entrypoint was enough.The module fallback service answered these specifiers with a redirect to the modules root, but workerd already resolves
node:/cloudflare:/workerd:specifiers there, so the redirect pointed back at the module workerd was in the middle of resolving and it recursed until the stack overflowed. Such a specifier only reaches the fallback service when workerd's own registry has already missed, so it's now reported as not found: workerd raisesNo such module "node:child_process", matching whatwrangler devdoes for the same Worker. The accompanying pool error names the module and points at compatibility flags rather than suggesting you bundle it, which can't help for a module built into the runtime.Updated dependencies [
15cad03,026e058,731b33a,e1b5b4b,5b1b930,6e7d37d,d669088,15cad03,c7aede7,0aa8fa5]:v0.21.0Compare Source
Minor Changes
#14994
2194f88Thanks @emily-shen! - Update the Workers Vitest pool for Miniflare's config-based optionsThe Workers Vitest pool now converts the Miniflare options it creates for test sessions to Miniflare's config-based
workersshape.For the most part, users should not expect to notice any changes.
However, while
miniflare.modulesRulesis preserved for common text and WASM fixture imports, it is not a full replacement for Miniflare's oldmodules: truemodule graph collection and you may notice some differences in behaviour.Patch Changes
6dbd192,2194f88,2194f88,2194f88,2194f88,2194f88,2194f88,2194f88]:v0.20.3Compare Source
Patch Changes
#15013
8cf78c8Thanks @dario-piotrowicz! - Update undici from 7.28.0 to 7.29.0Updated dependencies [
35c87e9,b4f0c97,8cf78c8,a60ff4d,99eb50c,35c87e9]:v0.20.2Compare Source
Patch Changes
20470fa,9c74538,266172b,a88d169,a88d169,daf65f2,a9e5abb]:v0.20.1Compare Source
Patch Changes
cc63aae,f92d1fc,a249591,f92d1fc,f92d1fc,cec9d88,e0bbf55]:v0.20.0Compare Source
Minor Changes
#14586
5a56ddaThanks @emily-shen! - Breaking change: Remove several options from theminiflareoverride optionsThe following options have been removed from the
miniflareoverride options, as they were not intended to be exposed, were not functional, or have been superseded by other options:wrappedBindingscacheWarnUsagefetchMock: you should useoutboundServiceinsteadcontainerEngine: containers were not supported in vitest-pool-workers. Consider usingcreateTestHarness()instead if you want to test against actual containers.Additionally,
cachehas been deprecated and renamed tocacheAPI, butcacheremains functional.Patch Changes
#14586
5a56ddaThanks @emily-shen! - Preserve the deprecated MiniflarecacheoptionVitest configurations using
cachecontinue to work after the internal Miniflare v5 upgrade. The option is translated tocacheAPI; new configurations should usecacheAPIdirectly.#14586
5a56ddaThanks @emily-shen! - Stop enabling Miniflare's removedunsafeStickyBlobsoptionThe pool no longer sets the
unsafeStickyBlobsMiniflare option, which has been removed. This option was only needed for the Durable Object isolated storage feature that was dropped in 0.13.0, so there is no change in behaviour.Updated dependencies [
5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda,5a56dda]:v0.19.1Compare Source
Patch Changes
01d7020,beec0fb,48f0c6c,8049ca4,d7f38c3,1394867,cc54478,5c25cfe,b21eac2,bb09f1b,1f61001,01d7020,e31ab0f]:v0.19.0Compare Source
Minor Changes
#14879
e6480e3Thanks @dmmulroy! - Add averboseoption tocloudflareTest()andcloudflarePool()configurationSet
verbose: falseto suppress verbose workerd runtime logs, such as caught Durable Object RPC errors. The option defaults totrueto preserve existing output.Patch Changes
#14821
edc203eThanks @mishushakov! - Ignore workerd'sdisconnected: peer disconnected without gracefully ending TLS sessionexception logsWhen tests make real
fetch()calls to external TLS endpoints, servers and load balancers routinely close idle keepalive connections without sending a TLSclose_notify. No request fails — the connection is idle — but workerd logs akj/compat/tls.c++exception with a full stack trace each time, flooding otherwise green test runs. This is the TLS sibling of thedisconnected: ...messages already in the ignore list, so filter it the same way.Updated dependencies [
773ead4,773ead4,09b8a44,4dfb96e,1035f74,e426cb9,3a22ae5,465c0fb,465c0fb,e8b3a9d,552bcfc,b737676,6e0bf6e]:v0.18.8Compare Source
Patch Changes
#14793
7b3fea6Thanks @trafgals! - Prevent worker disposal errors from failing otherwise successful test runsErrors raised while disposing test Workers are now logged for diagnostics rather than overriding the test result. Set
NODE_DEBUG=vitest-pool-workersto view these errors.Updated dependencies [
246ce92,c38a2c3,8416b33,c079ba3,4683ff8,95b026e,02232f3,c4bacec,f8a8c2c,3203b5d]:cloudflare/workerd (@cloudflare/workers-types)
v5.20260816.1Compare Source
v5.20260815.1Compare Source
v5.20260814.1Compare Source
v5.20260813.1Compare Source
v5.20260812.1Compare Source
v5.20260811.1Compare Source
v5.20260810.1Compare Source
v5.20260809.1Compare Source
v5.20260808.1Compare Source
v5.20260807.2Compare Source
v5.20260804.1Compare Source
v5.20260801.1Compare Source
v5.20260731.1Compare Source
v5.20260730.1Compare Source
v5.20260729.1Compare Source
v5.20260728.1Compare Source
v5.20260727.1Compare Source
v5.20260726.1Compare Source
v5.20260724.1Compare Source
cloudflare/workers-sdk (wrangler)
v4.123.0Compare Source
Minor Changes
#15113
b8fd112Thanks @BSFishy! - Add local dev simulation for Cloudflare Accessctx.access.getIdentity()You can now configure a mock Cloudflare Access identity in
wrangler.jsonso thatctx.access.getIdentity()returns it during local development.#15152
f0f2054Thanks @GregBrimble! - [private beta]: Updates the--ignore-defaultsflag to--ignore-base-configonwrangler previewcommands.--ignore-base-confignow only takes effect on Preview creation, rather than on each deployment, since Preview base configuration is now copy-on-create rather than inherit-on-deploy.#14872
339509dThanks @dario-piotrowicz! - Add automatic update prompts for out-of-date Cloudflare agent skillsWhen Cloudflare skills were previously installed by Wrangler and the upstream
cloudflare/skillsrepository has newer content, Wrangler now offers to update them after eligible commands complete.To reduce prompt fatigue, the update check only runs once a month (30 days since the last install or update). Declining suppresses the prompt until the next upstream change.
When declining an update, Wrangler offers the option to permanently disable future update prompts. This preference is stored globally in
~/.wrangler/agents-skills-install.jsonc. TheWRANGLER_NO_SKILLS_UPDATE_PROMPTS=trueenvironment variable can also be used to suppress prompts. The--install-skillsflag remains available regardless of these settings.Patch Changes
b8fd112]:v4.122.0Compare Source
Minor Changes
#15123
d0c976cThanks @dependabot! - Detect Node.js compatibility from the compatibility date, now thatnodejs_compatis enabled by defaultAs of compatibility date
2026-08-04, workerd enables thenodejs_compatandnodejs_compat_v2compatibility flags by default. Previously these tools only treated Node.js compatibility as enabled when one of those flags was listed explicitly, so a Worker on a compatibility date of2026-08-04or later without the flag would get Node.js APIs from the runtime but no Node.js polyfills from the bundler, andprocess.envcould be substituted with an empty object at build time. They now resolve these flags the same way workerd does, and honourno_nodejs_compatto opt out.To keep Node.js compatibility switched off on a newer compatibility date, specify both
no_nodejs_compatandno_nodejs_compat_v2, since each flag has its own default.@cloudflare/vitest-pool-workersneedsnodejs_compat_v2for its own test runner, so it continues to override a project that opts out of it. On a compatibility date that enables the flag anyway, it now drops the opt-out rather than adding the flag back, which workerd would reject — previously this stopped such a project from running any tests at all.wrangler typesalso no longer attributes its@types/nodesuggestion to "thenodejs_compatflag", which it can now make for Workers that do not set the flag at all.Patch Changes
#15123
d0c976cThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15148
0b82b15Thanks @jamesopstad! - Ignore anodejs_compatcompatibility flag that the compatibility date already enablesworkerd rejects a compatibility flag that its compatibility date enables by default, so a Worker configured with both a compatibility date of
2026-08-04or later andnodejs_compatfailed to start locally with "The compatibility flag nodejs_compat became the default as of 2026-08-04 so does not need to be specified anymore".The redundant
nodejs_compatandnodejs_compat_v2flags are now dropped when starting the runtime, which has no effect on the resulting Worker because the compatibility date enables both anyway.no_nodejs_compatandno_nodejs_compat_v2still switch Node.js compatibility off, and a flag specified alongside its own opt-out is left alone so that workerd still reports those as contradictory.#15123
d0c976cThanks @dependabot! - Stop adding a redundantnodejs_compatflag to generated Wrangler configurationscreate-cloudflareandwrangler setupwrite today's date as thecompatibility_date, and from2026-08-04that already enablesnodejs_compat. Adding the flag as well made the generated project fail to start with "The compatibility flag nodejs_compat became the default as of 2026-08-04 so does not need to be specified anymore", so the flag is now only added for earlier compatibility dates.create-cloudflarealso removes the flag when a template, or a framework's own scaffolder, already wrote it into a configuration that ends up using such a compatibility date, and still installs@types/nodefor these projects even though there is no longer a flag to detect them by.wrangler setupdoes the same for awrangler.json(c)that is already in the project: it writes today's date over whatever date that configuration was written for, so anodejs_compatit finds there is removed as part of writing the file.#15142
3b02915Thanks @penalosa! - Fix remote binding sessions reusing stale binding configurationsStarting a new remote bindings session that reuses a Worker name no longer picks up the bindings from a previous session, which could cause
Binding "..." not founderrors.Updated dependencies [
d0c976c,d0c976c,0b82b15,d0c976c,90dd5e5]:v4.121.0Compare Source
Minor Changes
#15079
15cad03Thanks @podonnell-dev! - Add Preview base config secret commandsWrangler now manages Worker Preview base config secrets with
wrangler preview base-config secret put,delete,list, andbulk. These commands update the Worker'spreviews_base_config.env, keeping shared defaults scoped to all of that Worker's Previews.wrangler preview base-config secret listreads from the Worker's Preview base config and prints secret names with values masked.wrangler preview base-config secret bulkdeletes a secret when its value isnull, matchingwrangler secret bulk.#15000
731b33aThanks @edmundhung! - Allow Wrangler projects to build a Worker once and reuse it increateTestHarness()Build the Worker once:
Then reuse the emitted Worker during test harness startup and reset:
#14737
e1b5b4bThanks @ttoino! - Addemail.sendingas an event subscription source for queueswrangler queues subscription createnow accepts--source email.sendingalongside two new flags,--zone-idand--domain, which identify the zone and the sending domain (zone apex or a verified subdomain) to subscribe to. Both flags are required for this source. The subscription's resource is displayed as the sending domain inwrangler queues subscription get.#15073
d669088Thanks @FlorentCollin! - Add US jurisdiction support towrangler d1 createYou can now create a D1 database in the US jurisdiction with
wrangler d1 create <name> --jurisdiction us. The new jurisdiction is also listed in the command's help output.#15079
15cad03Thanks @podonnell-dev! - Use Preview deployment PATCH APIs for Preview secret commandsWrangler now updates Worker Preview secrets by patching the named Preview's latest deployment instead of patching the Worker's Previews settings. This keeps secret changes scoped to one Preview, avoids affecting production or other Previews, and creates a new Preview deployment that goes live at 100% immediately.
wrangler preview secret listnow reads from the named Preview's latest deployment and prints secret names with values masked.wrangler preview secret bulknow deletes a secret when its value isnull, matchingwrangler secret bulk.#14924
0aa8fa5Thanks @ariesclark! - HonorDO_NOT_TRACK=1as a telemetry opt-outWrangler now disables telemetry when
DO_NOT_TRACK=1is set, regardless of other telemetry settings.Patch Changes
#15081
026e058Thanks @podonnell-dev! - Compactwrangler previewdeployment success outputwrangler previewnow prints a concise success summary with the Preview name, Preview URL, deployment ID, and Deployment URL instead of the previous box-art settings summary.#15132
5b1b930Thanks @dario-piotrowicz! - Fetch script metadata directly instead of listing all scriptsWhen resolving Durable Object migrations, fetch the specific script's service metadata via
/workers/services/{name}instead of listing all scripts in the account via/workers/scripts. This avoids downloading metadata for every Worker in the account just to find one script's migration tag.#15032
6e7d37dThanks @Sertug17! - Fixwrangler devcommands crashing withNo such module "wrangler:modules-watch"when"no_bundle": trueRunning
wrangler devorwrangler pages devwith bundling disabled ("no_bundle": trueinwrangler.json, or the--no-bundleflag) no longer crashes at startup withUncaught Error: No such module "wrangler:modules-watch". Live reloading on file changes continues to work as before.Updated dependencies [
c7aede7]:v4.120.1Compare Source
Patch Changes
#15072
6dbd192Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14994
2194f88Thanks @emily-shen! - Update local development for Miniflare's config-based optionsWrangler now converts the Miniflare options it creates for local development to Miniflare's config-based
workersshape.Users should not expect to notice any changes.
Updated dependencies [
6dbd192,2194f88,2194f88,2194f88,2194f88,2194f88,2194f88]:v4.120.0Compare Source
Minor Changes
#15008
35c87e9Thanks @skepticfx! - Adds the ability to find container instances by exact ID or namewrangler containers instances <application_id> --search <instance_id_or_name>now searches every page and returns exact matches in human-readable or JSON output. JSON returns a top-level array, including an empty array when there is no match, while human-readable output prints a no-match message. If multiple instances have the same exact name, every matching instance is returned.#15008
35c87e9Thanks @skepticfx! - Add explicit pagination to container instance JSON outputUse
wrangler containers instances <application_id> --json --per-page <size>to return one page with machine-readableresult_info, then pass itsnext_page_tokento--page-tokento retrieve the next page. Plain--jsonremains backward-compatible: it requests the complete list and returns the existing top-level array.Patch Changes
#15013
8cf78c8Thanks @dario-piotrowicz! - Update undici from 7.28.0 to 7.29.0#15015
a60ff4dThanks @nickpatt! - Cut the per-request cost of local observability captureEvery tail event was written to the trace store as its own Durable Object call, so a request paid two or three round-trips per span. On a module-heavy app under the Vite plugin that dominated dev request latency. Rows are now buffered and written in batches, taking a request from roughly thirty calls to three.
Work in progress still shows up as it happens: the root span is written immediately, console logs and exceptions as they arrive, and a span's completion is written on the next event once 100ms has passed. An invocation that goes completely quiet writes nothing further until it ends, since the flush is driven by tail events rather than a timer.
The Vite plugin's own router, asset and proxy workers are also no longer captured. Their traces were noise the Observability views already hid, and skipping them cuts the spans recorded per request — a side benefit being that a trace's root is now your Worker rather than
__router-worker__.Updated dependencies [
b4f0c97, [8cf78c8](https://redirect.github.com/cloudflare/workers-sdk/commit/8cf78c83cb4c64be8b458d7bd618b47e7cConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.