chore(deps): update cloudflare-workers-tooling - #2910
Open
renovate[bot] wants to merge 2 commits into
Open
Conversation
|
Tick the box to add this pull request to the merge queue (same as
|
renovate
Bot
force-pushed
the
renovate/cloudflare-workers-tooling
branch
3 times, most recently
from
September 8, 2026 17:54
1067ca0 to
7d53050
Compare
renovate
Bot
force-pushed
the
renovate/cloudflare-workers-tooling
branch
from
September 10, 2026 17:00
c29884f to
b2ebeae
Compare
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 contains the following updates:
^1.54.2→^1.54.7^4.127.1→^4.131.0Release Notes
cloudflare/workers-sdk (@cloudflare/vite-plugin)
v1.54.7Compare Source
Patch Changes
#15432
f45b596Thanks @razethion! - Prevent delayed internal errors from fetch-only remote bindingsFetch-only remote bindings such as D1 and R2 previously opened an unused WebSocket RPC session. RPC sessions are now created only when an RPC method is called.
Updated dependencies [
0b43395,9d75006,b605aa6,f45b596,f69f95a,a549e58,36aed7f,493e635,bff525d,dbb3ff4,fea3cd0,96688b3,6bd7b6c,15cd6e1,be1caec,ed5797a,dbc9506,128235a,f8aea7e,24ef86b]:v1.54.6Compare Source
Patch Changes
edb3631,dbf6aad,bcebf08,e20df20,e20df20,63c7ff1,a4e41df]:v1.54.5Compare Source
Patch Changes
#15519
e004845Thanks @devaniketh! - Preserve HTTP/2:authorityheader and non-default port in dev server requestsWhen Vite runs over HTTPS with HTTP/2 enabled, browsers send authority via the
:authoritypseudo-header rather thanHost. Previously, pseudo-headers were omitted when creating Fetch requests, causing non-default ports to be dropped fromrequest.urlandX-Forwarded-Host. Authority and scheme are now preserved from HTTP/2 pseudo-headers and request properties.Updated dependencies [
8bbcb9f,2b42d6f,ea5634e,c0c6504,ffc7efd,682cd44]:v1.54.4Compare Source
Patch Changes
#15407
7662118Thanks @xgame92! - Surface Worker export type fetch errors during developmentThe Vite plugin now reports the Worker name, HTTP status, and response body when fetching export types fails. This preserves the underlying error instead of replacing it with a JSON parsing error.
Updated dependencies [
00a9f2f,1dba24a,d40a634,7c1b2a6,93d72a5,f6fb347,f6fb347,dc24057,d2d8eea]:v1.54.3Compare Source
Patch Changes
dbbb795,200780f,b3f2628,87a7acf,1809c5e,ea28cc3,b3fb2bf,707cb6f]:cloudflare/workers-sdk (wrangler)
v4.131.0Compare Source
Minor Changes
#15480
36aed7fThanks @skepticfx! - Add Durable Object-managed Containers to top-level container configurationWrangler now accepts
scheduling_policy: "durable_object"in the top-levelcontainersarray and creates its namespace-backed application after the Worker upload resolves the Durable Object namespace ID. The namespace ID is also the application ID, so repeated deploys idempotently ensure the same application without name-based lookup, modification, or a Containers rollout.Durable Object-managed entries accept
class_name,scheduling_policy, an optionalname, and an optional namedimagesmap. Scheduler-only fields are rejected. Each image provides either a localdockerfileor a digest-pinned managed-registryimage. Wrangler builds or resolves each image, waits while Cloudflare prepares it for the Containers runtime, and uploads the resulting references with the Worker version for access throughctx.container.imagesandenv.EXPERIMENTAL_CLOUDFLARE_CONTAINER_IMAGES. Local development support for these entries is deferred to a follow-up.Existing scheduler-backed entries and Durable Object migrations continue to work unchanged.
With
--containers-rollout=none, existing Workers retain their deployed Container metadata and image binding even when localcontainersis omitted or empty; local scheduler edits are also ignored. The upload stops if the deployed versions cannot be recovered. Existing Workers for Platforms dispatch scripts reject this flag before upload because their API does not expose enough metadata to preserve Container associations safely. First deployments can still skip Container preparation and rollout. Without this flag, removing managed Containers, including by omittingcontainersentirely, clears the experimental image binding even withkeep_vars.versions deployvalidates the selected versions before changing traffic and creates their Durable Object-managed applications only after deployment succeeds. Bothdeployandversions deployreport partial completion if application creation fails afterward, with instructions to retry the same command.EXPERIMENTAL_CLOUDFLARE_CONTAINER_IMAGESis a temporary, reserved Wrangler binding until native Container image metadata is available. Its class keys identify managed applications duringversions deploy, including classes with empty image maps. User configuration cannot declare a binding with this name; existing versions that already use it are treated as Container configuration.#15493
493e635Thanks @GregBrimble! - Removewrangler preview settingscommandsThe private-beta
wrangler preview settingsandwrangler preview settings updatecommands are no longer available.Patch Changes
#15411
0b43395Thanks @xgame92! - Failwrangler versions uploadearly when a Worker has a pending Durable Object migrationWrangler now directs users to run
wrangler deployto apply the migration instead of sending a version upload request that the API will reject.#15518
9d75006Thanks @taylorlee! - Detect named-only module Worker entrypoints correctlyWrangler now distinguishes named-only module Workers from legacy Service Workers that happen to have named exports. A default export identifies a module Worker; otherwise, legacy
addEventListenerregistration identifies Service Worker format.#15581
b605aa6Thanks @MattieTK! - Correct Pages-to-Workers delegation analytics for forced and ineligible commandsThe legacy
forcedresult counted every agent-driven Pages command using--force, including commands that could never have been delegated. Wrangler now emitseligible_forcedonly when--forceprevents an otherwise eligible delegation, and records other agent commands asineligiblewith a bounded reason and whether force was used.#15432
f45b596Thanks @razethion! - Prevent delayed internal errors from fetch-only remote bindingsFetch-only remote bindings such as D1 and R2 previously opened an unused WebSocket RPC session. RPC sessions are now created only when an RPC method is called.
#15585
f69f95aThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15554
bff525dThanks @XiaoZ-0218! - Add the missingtransferred_classesmigration to the config schemaDurableObjectMigrationdescribednew_classes,new_sqlite_classes,renamed_classesanddeleted_classes, but nottransferred_classes.normalizeAndValidateConfighas always validated that key, and the deploy path forwards it to the API along with the rest of the step, so Transfer migrations worked — butconfig-schema.jsonis generated from the type, so an editor resolving$schemareported a valid, documented migration as an unknown key.Adding the field to the type puts it in the generated schema. No runtime change.
#15584
96688b3Thanks @Svector-anu! - Bumpshell-quoteto 1.9.0+ to pick up two disclosed advisoriesshell-quote@1.8.1is affected by a ReDoS inparse()(CVE-2026-13311 / GHSA-395f-4hp3-45gv — an unauthenticated attacker who can feed a string intoparse()can block the event loop for tens of seconds with plain space-separated input, no shell metacharacters required) and by an object-token escaping bug inquote()(CVE-2026-9277 / GHSA-w7jw-789q-3m8p), both fixed upstream in1.9.0. Wrangler'sparse()wrapper (src/utils/shell-quote.ts) is reachable frompages dev/initcommand-line parsing, so the ReDoS applies; thequote()call site only ever passes string arguments, so the object-token issue was not reachable here, but there is no reason to stay on a vulnerable range once a patch exists.#15563
ed5797aThanks @Bortlesboat! - Encode filenames in Pages HTML redirectsFix
wrangler pages devreturning a 502 response when redirecting HTML paths containing Unicode characters. Keep reserved characters in filenames encoded in the redirect destination and preserve the request query string.#14889
128235aThanks @chinesepowered! - Fixwrangler types --strict-vars=falseemitting invalid TypeScript for an empty array varA var whose value was an empty array produced
()[], which is a syntax error. Because this lands in the generatedworker-configuration.d.ts, it did not just break that one line — the whole file failed to parse, so no binding types resolved at all. An empty array now generatesunknown[].#15494
f8aea7eThanks @GregBrimble! - Usepreviews_base_configfor Preview configurationPreview commands now read the Worker Previews Base configuration from the
previews_base_configAPI field.#15569
24ef86bThanks @RealBhupesh! - Fixwrangler workflows instances describecrashing on dynamic retry delaysThe Workflows API serializes function retry delays as
"[dynamic]". The describe command previously parsed that as a duration, produced an Invalid Date, and threwRangeError: Invalid time valuebefore printing remaining steps. It now rendersunknown (dynamic delay)and also tolerates attempts whoseendtimestamp is missing.Updated dependencies [
f45b596,f69f95a,a549e58,dbb3ff4,fea3cd0,6bd7b6c,15cd6e1,be1caec,dbc9506]:v4.130.0Compare Source
Minor Changes
#14372
dbf6aadThanks @ichernetsky-cf! - Addcontainers[].observabilitysupport towrangler deployWrangler now accepts container-specific observability settings via
containers[].observability, including application-level targeting fields for Containers. Rootobservabilitycontinues to work as a fallback when a container does not define its own observability settings.wrangler deploynow preserves legacyconfiguration.observabilityfor existing container apps that still use rollout-based observability, while using top-level application observability for new or already-migrated apps.Existing application diffs are now normalized even when stored resource limits cannot be mapped to a named instance type. API-only metadata and equivalent managed-registry image names no longer appear as edits or affect whether deployment changes require a rollout.
#15004
e20df20Thanks @MattieTK! - Delegate agent Pages project creation with a production branch to WorkersWhen run by an AI agent,
wrangler pages project create --production-branch <name>is now eligible for delegation to a Workers static-assets deploy. The production branch names the target that a Workers deploy would publish to, so it does not need to disqualify a brand-new project from delegation.wrangler pages deploy --branch <name>remains on Pages because an interactive new-project flow separately prompts for its production branch. The deployment branch may therefore represent a preview and cannot safely be converted into a production Workers deployment.#15004
e20df20Thanks @MattieTK! - Widen agent Pages-to-Workers delegation to new projects on accounts that already use PagesWhen run by an AI agent,
wrangler pages deployandwrangler pages project createnow delegate a brand-new static Pages project to a Workers static-assets deploy even when the account already has other Pages projects. The gate is now per-project rather than per-account: a command targeting a project that already exists stays on Pages, but a new project is delegated regardless of the account's other Pages projects.A project name restored from the Pages configuration cache is only used when the cache belongs to the currently authenticated account. An account-matching cached name remains on Pages even when the project is missing remotely, preserving the user's recorded Pages intent. After switching accounts, an otherwise unnamed deploy stays on Pages rather than treating a stale cached project name as a new project on the selected account.
Patch Changes
#15560
edb3631Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15557
63c7ff1Thanks @tomekancu! - Fixwrangler d1 execute --localbeing extremely slow with large SQL files or commandsThe local SQL splitter consumed quoted strings and comments character-by-character, re-checking the full accumulated string each time. This made splitting a large quoted value or comment quadratic, so seed files could take tens of seconds to run. The splitter now only inspects a bounded trailing window on each step, making splitting effectively linear. The remote path is unaffected as it imports the file server-side.
#15542
a4e41dfThanks @NAVEENKUMARKR777! - Fixwrangler devrunning the custom build command twice on startup and on every config changeWrangler already runs the custom
build.commandonce before startingwrangler dev, to resolve the Worker's entry point. Whendev.watchwasn't explicitly disabled,BundlerControllerthen unconditionally ran the same build command again the moment it started watching for changes, and repeated this on every subsequent config reload too.For fast build commands this just meant duplicate log output (e.g. a
vite buildvisibly running twice at startup). For slower or stateful build commands, running two builds concurrently against the same output files could corrupt the result or fail outright (for example, non-deterministicwasm-optfailures have been reported for Rust builds).The initial watcher setup now only bundles the output the build command already produced, instead of re-running the command. Real file changes detected by the watcher still re-run the build command as before.
Updated dependencies [
edb3631,bcebf08]:v4.129.1Compare Source
Patch Changes
#15502
8bbcb9fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15543
2b42d6fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15323
ea5634eThanks @Sakshamm-Goyal! - Prevent Wrangler from exiting when a process capturing its output closes the pipe.Wrangler now ignores broken-pipe errors from stdout and stderr while preserving the existing failure behavior for other output errors.
#14001
c0c6504Thanks @for-the-kidz! - Update bundle size warning thresholds to use uncompressed size instead of gzip sizeThe compressed script size limits (3 MiB free / 10 MiB paid) have been removed server-side in favor of a single 64 MiB uncompressed limit. The bundle size reporter now compares the uncompressed bundle size against this 64 MiB limit for its color-coded warnings, instead of comparing gzip size against the old 3 MiB compressed limit.
#15499
ffc7efdThanks @WillTaylorDev! - Honor Workers Builds name overrides inwrangler previewPreview commands now target the Worker name supplied by Workers Builds instead of the name in local Wrangler configuration. This prevents preview builds from failing when the two names differ.
#15252
682cd44Thanks @GregoryCollett! -wrangler devno longer exits when a request to your Worker fails transientlyPreviously, a transient network failure on a single request — most commonly a request arriving just as an idle internal connection was closed, after roughly five seconds without traffic — could take down the whole dev server with an empty
✘ [ERROR], leaving the port unbound until restarted. In CI test suites, one such failure caused every remaining test to fail with connection errors.wrangler devnow automatically retries the affected request if it is safe to repeat (GET and HEAD requests). If a request still fails, it fails individually — the error is logged with the request method and URL — and the dev server keeps serving.Updated dependencies [
8bbcb9f,2b42d6f]:v4.129.0Compare Source
Minor Changes
#15460
93d72a5Thanks @QnJ1c2kNCg! - Support gzip compression for JSON Pipelines sinksPipelines is in open beta.
wrangler pipelines sinks createand the interactive setup flow now pass the selected JSON compression to the Pipelines API. JSON sinks acceptuncompressedorgzip, while Parquet retains its existing compression options andzstddefault.#15358
d2d8eeaThanks @pombosilva! - Add a--jsonflag to thewrangler workflowscommandsEvery
wrangler workflowscommand now accepts--json, which emits the raw API payload instead of the human-readable rendering. The formatted output remains the default, so existing usage is unaffected:wrangler workflows instances list my-workflow --jsonThe JSON output carries raw values rather than a serialisation of the formatted view: ISO timestamps instead of locale-formatted dates, plain status strings instead of emojified labels, and no presentation-only derived fields.
Patch Changes
#15469
d40a634Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15481
7c1b2a6Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15472
f6fb347Thanks @emily-shen! - Tolerate missing permissions duringwrangler deletecleanup checkswrangler deletenow warns and continues when it cannot inspect Worker dependencies or clean up legacy Workers Sites KV namespaces because of missing permissions. The Worker delete request itself still fails normally if the token cannot delete the Worker.#15472
f6fb347Thanks @emily-shen! - Tolerate missing resource permissions during resource provisioningWhen Wrangler cannot check whether a bound resource exists because the API returns a 403, it now skips automatic provisioning for that resource type and continues the deploy. The deploy may still fail later if the resource is missing.
#15476
dc24057Thanks @christhorwarth! - Fix remote development with static assets for API tokens using granular Worker permissionsWrangler now creates Workers.dev preview sessions through the Worker-scoped endpoint and derives the preview hostname from the session response. This avoids requiring account-level Workers subdomain access.
Updated dependencies [
00a9f2f,1dba24a,d40a634,7c1b2a6]:v4.128.0Compare Source
Minor Changes
#15454
dbbb795Thanks @jamesopstad! - Move binding utilities into@cloudflare/workers-utilsBinding conversion, printing, and local-development validation are now exported from
@cloudflare/workers-utilsso they can be shared by Wrangler, the Cloudflare Vite plugin, and other consumers.The corresponding exports have been removed from
@cloudflare/deploy-helpers. Consumers should import them directly from@cloudflare/workers-utilsinstead.Wrangler's
unstable_printBindingsAPI now accepts the bindings and an options object instead of five positional parameters.#15353
87a7acfThanks @pombosilva! - Add--date-startand--date-endfilters towrangler workflows instances listYou can now narrow an instance listing to a creation-time window:
wrangler workflows instances list my-workflow --date-start 2026-01-01 --date-end 2026-01-31Either flag can be used independently. Both accept an ISO 8601 date or timestamp and are normalised to UTC before being sent, so a date-only value such as
2026-01-01works as well as a full2026-01-01T13:00:00Z. The bounds are inclusive and compose with the existing--statusfilter.#15379
ea28cc3Thanks @ibbykhazanchi! - Add query string redaction to Workers observability configurationSet
observability.redact_query_stringinwrangler.jsonorobservability.redactQueryStringin the experimentalcloudflare.config.tsformat to remove query strings from request URLs in logs and traces.#14915
707cb6fThanks @longlho! - Include exact raw and gzip-compressed Worker bundle sizes in structureddeployandversion-uploadoutput.Patch Changes
#15436
200780fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15406
b3f2628Thanks @james-elicx! - Reduce the installed bundle sizes of Wrangler and MiniflareWrangler now resolves bundled workspace dependencies from source during monorepo builds so unused exports can be removed. Miniflare, its shared CLI and container dependencies now use granular
@cloudflare/workers-utilsentry points instead of loading the package barrel, reducing the raw Wrangler and Miniflare artifacts by 6.16 MiB (31.4%) and 1.06 MiB (22.9%) respectively without changing runtime behavior or installed dependencies.#15398
1809c5eThanks @james-elicx! - Reduce Wrangler's published package sizeStop including the unused build metafile in the npm package, reducing its unpacked size by approximately 3.1 MiB.
#15382
b3fb2bfThanks @Om-singhaI! - Skip the skills install status lookup when telemetry is disabledTelemetry events include a
currentAgentSkillsInstalledproperty, and computing it can query the GitHub API. The lookup used to start before the telemetry permission was checked, so users who opted out viaWRANGLER_SEND_METRICS,DO_NOT_TRACK, orsend_metricsin their Wrangler config still triggered network requests on behalf of telemetry. The dispatcher now checks the permission first and only performs the lookup when telemetry is enabled.Updated dependencies [
200780f,b3f2628,87a7acf]:Configuration
📅 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 was generated by Mend Renovate. View the repository job log.