Update dependency wrangler to 4.101.x#12
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the
Comment |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
web4 | 7c73777 | Jun 16 2026, 05:18 PM |
Vulnerable Libraries (1)
More info on how to fix Vulnerable Libraries in JavaScript. 👉 Go to the dashboard for detailed results. 📥 Happy? Share your feedback with us. |
Update dependency wrangler to 4.96.x
🚨 Report Summary
For more details view the full report in OpenZeppelin Code Inspector |
261ec83 to
e4dcc0b
Compare
e4dcc0b to
1596a40
Compare
c9e1fc1 to
10ed3af
Compare
e1a02df to
9375a68
Compare
9375a68 to
a550bb8
Compare
87cd22c to
c2650d1
Compare
503ab4a to
81a9a33
Compare
81a9a33 to
bc98d71
Compare
bc98d71 to
1697e9e
Compare
1697e9e to
02ef45e
Compare
95b7b04 to
7673972
Compare
05652ad to
dba2c0a
Compare
dba2c0a to
27187a3
Compare
27187a3 to
e647814
Compare
e647814 to
bd30f38
Compare
868f3cb to
a88a1ee
Compare
ceacd05 to
41a22df
Compare
41a22df to
7e38c5c
Compare
7e38c5c to
624dbca
Compare
624dbca to
7a5a79c
Compare
7a5a79c to
27dcba1
Compare
| "optional": true | ||
| } | ||
| } | ||
| }, |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
|
2 similar comments
|
|
|



This PR contains the following updates:
4.22.x→4.101.xRelease Notes
cloudflare/workers-sdk (wrangler)
v4.101.0Compare Source
Minor Changes
#14276
32f9307Thanks @dario-piotrowicz! - Graduate autoconfig from experimental to stableThe
--experimental-autoconfigand--x-autoconfigdeploy CLI flags have been replaced with--autoconfig.Note that the
--autoconfigflag defaults totrueand that it can be used to disable Wrangler's auto-configuration logic by setting it tofalsevia--autoconfig=falseor--no-autoconfig#14287
41f391fThanks @edmundhung! - Add per-Worker resource accessors tocreateTestHarness()createTestHarness()now provides methods for accessing configured KV namespaces, R2 buckets, D1 databases, and Durable Object namespaces. Useserver.getWorker(name)to access resources scoped to that specific Worker:#14264
21dbc12Thanks @dario-piotrowicz! - Suggest Cloudflare skills installation after commands instead of beforeThe automatic prompt to install Cloudflare skills for detected AI coding agents no longer runs before every Wrangler command. Instead, Wrangler now suggests installing skills, when appropriate, after some commands complete successfully. Commands that output JSON suppress the suggestion to keep their output clean. The
--install-skillsflag remains available on all commands to explicitly run the skills installation flow before the command executes, without prompting.As before, Wrangler asks the skills installation question at most once. The skills install metadata file is now written before the confirmation prompt is shown, so even if the user interrupts the process (e.g. CTRL+C, closing the terminal) during the prompt, the question is recorded as unanswered and will not reappear on subsequent runs.
#14042
7e63948Thanks @edevil! - Add a--temporaryflag that creates and uses a temporary Cloudflare preview account when you have no credentials, instead of starting the OAuth login flow.It's registered only on the commands the short-lived account token can serve — Workers (
deploy,versions upload, and related commands), KV, D1, Hyperdrive, Queues, and certificate commands — and is for unauthenticated use only: passing it while already authenticated (OAuth,CLOUDFLARE_API_TOKEN, or a global API key) errors rather than silently ignoring the flag. Before provisioning, Wrangler handles Cloudflare's Terms of Service and Privacy Policy (interactive terminals prompt foryes; non-interactive shells print a notice and continue). Wrangler then runs with the short-lived token and prints a claim URL so the account can be claimed before it expires. The cached account is cleared on successful login or logout.#14299
035917fThanks @petebacondarwin! - Send thelogin usertelemetry event whenwrangler login --scopes ...succeedswrangler loginwas already reporting thelogin userevent when called without--scopes, but the scoped login path returned early before the event could be sent. Both paths now report the event, so successful scoped logins are counted alongside unscoped ones.Patch Changes
#14271
27db82cThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14298
2a6a26bThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14317
9a424edThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14282
ecfdd5aThanks @edmundhung! - Fixwrangler devasset fallback with custom routeswrangler devnow applies Workers Assets fallback behavior consistently when routes are configured, including SPA fallback and404-pagehandling.#13763
604be26Thanks @matingathani! - Show a clear error when deploying a service-worker format Worker with Durable Object migrations or bindings instead of an opaque API error#14240
1fb7ba5Thanks @ttoino! - Fixwrangler email sendingcommandsThe
email sendingcommands previously failed against the Cloudflare API. They now work as expected:email sending enable <domain>enables Email Sending for a domainemail sending disable <domain>disables Email Sending for a domainemail sending settings <domain>shows the Email Sending configuration for a domainemail sending dns get <domain>shows the DNS records to set up for a domainemail sending listpreviously listed zones. It now lists the domains that have Email Sending enabled — every enabled domain across your account by default, or just those under a specific domain when you pass a domain (or--zone-id).#13838
208b3bbThanks @matingathani! - Fix unhandled promise rejection when the worker entry point is deleted or moved duringwrangler devhot-reload — now logs a warning and skips the update instead of crashing#14241
8b2ce41Thanks @dario-piotrowicz! - Improve error messages for CLI flags, type generation, auth scopes, dev server tunnels, and compatibility flagsError messages across several areas now name the exact flags or values involved and suggest how to fix the problem:
kv key put,kv key get,kv key delete): error messages now include--prefixes and clear "Missing required option" / "Conflicting options" phrasing instead of the vague "Exactly one of the arguments ... is required".wrangler types --include-env=false --include-runtime=false: the error now names both flags and explains what each does.wrangler login --scopes: invalid scopes are individually identified instead of dumping the entire array.wrangler dev --tunnel --remote: the error now explains why tunnels require local mode and suggests two concrete fixes.nodejs_compat_populate_process_env/nodejs_compat_do_not_populate_process_env,global_navigator/no_global_navigator): errors now name the specific conflicting flags.#14228
3578919Thanks @dario-piotrowicz! - Improve Hyperdrive error messages for missing required optionsError messages thrown when creating or updating a Hyperdrive config with missing individual parameters (e.g.
--origin-host,--origin-port,--database,--origin-user,--origin-password,--origin-scheme,--access-client-id/--access-client-secret) now clearly state which option is missing, provide a usage example, and suggest--connection-stringas an alternative where applicable.#14304
ee82c76Thanks @emily-shen! - Skip resource provisioning for asset-only deploymentsPreviously, asset-only deployments would provision resources even when there was no user Worker script. On a subsequent deploy, we would re-attempt provisioning as the previous asset-only upload would/could not be bound to the previously provisioned resource. Provisioning would then error as the resource had already been created, blocking the deploy.
Updated dependencies [
0e055d3,27db82c,2a6a26b,9a424ed,41f391f]:v4.100.0Compare Source
Minor Changes
#14119
2047a32Thanks @tahmid-23! - Serve local R2 bucket objects publicly via the dev serverWhen running
wrangler devlocally, objects in each local R2 binding are now reachable under/cdn-cgi/local/r2/public/<bucket-id>/<key>on the existing dev server, simulating a public bucket. The<bucket-id>is the bucket'sbucket_namewhen set, otherwise itsbinding. Bindings configured withremote: trueare not exposed.#14202
e8561c2Thanks @jamesopstad! - Add experimental--x-new-configflag for authoring config in TypeScriptThis is an experimental, opt-in feature. When enabled,
wrangler dev,wrangler build,wrangler deploy,wrangler versions upload, andwrangler versions deployload the Worker's configuration from acloudflare.config.tsfile instead ofwrangler.json/wrangler.jsonc/wrangler.toml. Additionally, an optionalwrangler.config.tsfile can be provided for Wrangler-specific dev/build configuration.cloudflare.config.ts(required) — Worker runtime configuration (bindings, triggers, observability, placement, limits, compatibility, routes, etc.). Authored viadefineWorkerfromwrangler/experimental-config.wrangler.config.ts(optional) — Tooling / bundling / dev-server configuration (noBundle,minify,alias,define,rules,tsconfig,build,dev,assetsDirectory, etc.). Authored viadefineWranglerConfigfromwrangler/experimental-config.Per-environment configuration is via
ctx.modebranching inside the function form of either file.Example
cloudflare.config.ts:Example
wrangler.config.ts:Because this is experimental, the flag, the config formats, and the
wrangler/experimental-configexports may change in any release.Patch Changes
#14185
98c9afeThanks @penalosa! - Use the shared env-credential resolver from@cloudflare/workers-authNo user-facing behaviour change. Credential resolution order (global API key + email →
CLOUDFLARE_API_TOKEN→ stored OAuth token) is preserved.#14184
e305126Thanks @penalosa! - Add an experimentalcf-wranglerdelegate entrypoint for projects that can't use@cloudflare/vite-plugin(service workers, old compatibility dates, Python, Rust, etc.).cf-wrangler devstarts the same local dev server aswrangler dev— it sits directly on wrangler's internal dev server, so the bundling and runtime behaviour are identical — but exposes a deliberately narrow CLI surface (--mode,--port,--host,--local) for a parent CLI to delegate to, and other dev server config options are read from the wrangler config file.This replaces the separate
@cloudflare/wrangler-bundlerpackage. This is an internal integration point and is not intended to be run directly by users.#14246
f3990b2Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14256
4597f08Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14243
25722acThanks @com6056! - Fix a memory leak that could make long-running headlesswrangler devsessions unresponsiveLong-running
wrangler devsessions with no DevTools attached (for example using the containers feature under sustained traffic) could gradually consume unbounded memory and eventually stop accepting connections. The inspector proxy now only enables network tracking while a DevTools client is connected, so the buildup no longer happens. Interactive debugging is unaffected. Fixes #14191.#14230
41f75c0Thanks @dario-piotrowicz! - Improve D1 error messages for missing or conflicting optionsError messages for
d1 execute,d1 export,d1 time-travel restore, andd1 insightsnow clearly state which option is missing or conflicting, explain why the combination is invalid, and suggest how to fix the issue.Additionally, duration validation errors in
d1 insightsare now thrown asUserErrorinstead of plainError, ensuring they are displayed cleanly to users rather than as unexpected crashes.#14213
10b5538Thanks @dario-piotrowicz! - Improve authentication error messages with specific failure reasonsWhen authentication fails (e.g. during
wrangler dev --remoteor when using remote bindings), the error message now explains exactly what went wrong -- whether no credentials were found, the token expired, or the environment is non-interactive -- and lists actionable steps to fix it, including awrangler whoamitip.Previously, auth failures could produce multiple confusing errors (e.g. "Failed to fetch auth token: 400 Bad Request" followed by "Failed to start the remote proxy session"). Now a single, clear error is shown.
#14233
818c105Thanks @dario-piotrowicz! - Improve R2 Sippy error messagesNow error messages in
wrangler r2 bucket sippyfollow a consistent pattern: they describe what is missing, name the exact--flagto use, and provide context (e.g. example values, links to the dashboard). Previously, many errors said only "Error: must provide --flag." with no guidance on what the flag does or how to obtain the value.#14259
2ae6099Thanks @emily-shen! - Move worker build step earlier in deploy/upload step, before upload specific config validationUpdated dependencies [
f3990b2,4597f08,2047a32]:v4.99.0Compare Source
Minor Changes
#14169
0706fbfThanks @edmundhung! - IntroducecreateTestHarness()for integration testing WorkersIt runs Workers in a local preview environment using production build output and works with both Wrangler projects and Workers built by the Cloudflare Vite plugin.
Use it from any Node.js test runner to send requests to individual Workers, trigger scheduled events, reset the server between tests, and mock outbound requests with libraries that intercept
globalThis.fetch(), such as MSW.You can also capture structured logs from your Workers with
getLogs(), or dump out a diagnostic timeline withdebug()when tests fail:#14174
8cf8c61Thanks @oliy! - Surface pipeline status and failure reasons inwrangler pipelines listandwrangler pipelines getwrangler pipelines listnow includes aStatuscolumn, and when any pipelines are in afailedstate it prints a summary of each failing pipeline along with the reason reported by the API.wrangler pipelines getnow shows the pipelineStatusin the general details and, for failed pipelines, highlights the failure with the reason returned by the server so it is clear why a pipeline is not running.#14211
a61ac29Thanks @james-elicx! - Add--version-tagsupport towrangler versions deployto deploy a version by its tagYou can now roll out or roll back a version by the tag it was uploaded with (e.g. a commit SHA passed to
--tagat upload time) instead of first looking up its Version ID:wrangler versions deploy --version-tag <sha>@​100%The tag is resolved to a Version ID against the worker's deployable versions, and the
<version-tag>@​<percentage>shorthand works just like the existing<version-id>@​<percentage>notation, including splitting traffic across multiple--version-tagvalues. If a tag matches no deployable version, or matches more than one, the command errors and asks you to deploy by Version ID directly. Note that tags can only be resolved against recent (deployable) versions — older versions that have aged out of that window must still be deployed by Version ID.Patch Changes
#14163
23aecacThanks @emily-shen! - Print deploy warnings even in non-interactive contexts when strict mode is offCurrently, wrangler deploy checks whether the incoming deploy configuration has destructive conflicts with the current configuration. Previously, we only performed this check in interactive contexts, or if the
--strictflag was passed in. Now this warning is always printed, and it remains non-blocking in non-interactive contexts.#14173
b932e47Thanks @gpanders! - Handle API validation errors fromwrangler containers sshWrangler now lets the Containers API validate SSH instance IDs and preserves raw API error bodies such as
INVALID_INSTANCE_IDwhen reporting validation failures.#14192
d076bccThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14217
24497d0Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14231
4bb572fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14195
165adb2Thanks @dario-piotrowicz! - Show actionable error message when authentication fails during remote devWhen
wrangler devwith remote bindings encountered an authentication error (expired token, revoked OAuth, or invalid API token), the user saw a generic "A request to the Cloudflare API failed" message with no indication that authentication was the problem.Now, authentication failures during remote dev display a clear error message with actionable steps.
#14034
776098cThanks @matingathani! - Fixwrangler types --checkreporting types as out of date in multi-worker setupsPreviously, running
wrangler types --check -c primary/wrangler.jsoncin a multi-worker project would incorrectly report types as out of date, even when they were current. This happened because the secondary worker config paths (passed via additional-cflags during generation) were not stored in the generated types file header, so--checkhad no way to resolve the secondary workers' service bindings when verifying the hash.The fix stores secondary config paths in the generated file's header comment so that
--checkcan recover them automatically. Users no longer need to re-pass every-cflag when running--check— only the primary config is required.#14053
7993711Thanks @fallintoplace! - Prevent delete-onlywrangler secret bulkinput from creating a new WorkerPreviously,
wrangler secret bulkcould create a draft Worker when the input only deleted secrets and the target Worker name did not exist. Delete-only bulk secret operations now leave Worker-not-found as an error instead of creating a new Worker.#14055
8923f97Thanks @dario-piotrowicz! - Preserve all deployment-affecting CLI flags in the interactive deploy config flowWhen running
wrangler deploywithout a config file and going through the interactive setup flow, CLI flags beyond--compatibility-flags(such as--routes/--route,--domains/--domain,--triggers,--var,--define,--alias,--jsx-factory,--jsx-fragment,--tsconfig,--minify,--upload-source-maps,--no-bundle,--logpush,--keep-vars,--legacy-env, and--dispatch-namespace) were silently dropped. These flags are now persisted to the generatedwrangler.jsoncconfig file (where a config field equivalent exists) and included in the suggested CLI command when the user declines config file generation.#14196
b205fb7Thanks @odiak! - Validate JSON stdin values forwrangler secret bulkJSON input piped through stdin now validates that secret values are strings or null before sending them to the API, matching the existing behavior for file input.
Updated dependencies [
d076bcc,24497d0,4bb572f,48c4ff0]:v4.98.0Compare Source
Minor Changes
#14089
c6c61b5Thanks @alsuren! - Addmigrations_patternto D1 database bindingsThe D1 binding now accepts an optional
migrations_patternfield, allowing you to pointwrangler d1 migrations applyandwrangler d1 migrations listat migration files in nested layouts (e.g. ORM-generated folders likemigrations/0000_init/migration.sql).migrations_patternis a glob (relative to the wrangler config file) and defaults to${migrations_dir}/*.sql, which preserves today's behaviour. Files that do not match the pattern are not executed.{ "d1_databases": [ { "binding": "DB", "database_name": "my-db", "database_id": "...", "migrations_dir": "migrations", "migrations_pattern": "migrations/*/migration.sql" } ] }When no migrations match the configured pattern but files matching the common
migrations/*/migration.sql(drizzle-style) layout do exist, Wrangler logs a hint suggestingmigrations_patternas an opt-in.wrangler d1 migrations createnow returns an actionable error if the generated migration filename would not match the configured pattern.#14153
7a6b1a4Thanks @dario-piotrowicz! - Generalizewrangler deployandwrangler versions uploadpositional argument from[script]to[path]Both
wrangler deployandwrangler versions uploadnow accept a generic[path]positional argument that can point to either a Worker entry-point file or a directory of static assets. The type is auto-detected. For example:wrangler deploy ./src/index.tsdeploys a Worker (same as before)wrangler deploy ./publicdeploys a static assets site (no interactive confirmation prompt)The
--scriptnamed option is now hidden and deprecated for both commands. It continues to work for backwards compatibility but only accepts file paths. Passing a directory to--scriptnow produces a clear error message suggesting the positionalpathargument or--assetsflag instead.#13863
3b8b80aThanks @aslakhellesoy! -getPlatformProxy()now passes through workflow bindings that have ascript_nameWorkflows without a
script_nameare still stripped (and warned about) because the engine for an internal workflow can't run inside the empty proxy worker that backsgetPlatformProxy(). Workflows with ascript_nameare handed to miniflare unchanged; miniflare reroutes the engine'sUSER_WORKFLOWbinding through the dev-registry-proxy when the target worker is running in another Miniflare instance — the same mechanism Durable Objects already use.This means SvelteKit/Remix (and similar split-process setups) can call
platform.env.MY_WORKFLOW.create({ ... })directly from their server-side request handlers in dev, as long as the workflow class is exposed by another worker registered in the dev registry.Closes #7459.
#14164
b502d54Thanks @G4brym! - Rename theweb_searchbinding kind towebsearchPre-launch rename of the public binding type from
web_searchtowebsearchso the on-the-wire shape matches the product name (Web Search). The wrangler config key, the binding-type string sent to the Cloudflare API, and the miniflare option key all move fromweb_search/webSearchtowebsearch.Update your wrangler config:
The runtime
WebSearchtype exposed onenv.WEBSEARCHis unchanged.Patch Changes
#14089
c6c61b5Thanks @alsuren! - Restore the D1executeSqllogger level via try/finallywrangler d1 execute --jsonand the internalexecuteSqlhelper temporarily lower the global logger to"error"to keep human-readable output out of the JSON payload. Previously the level was restored only on the happy path, so any early return or thrown error left the singleton logger muted, silencing laterlogger.warn/logger.logoutput (notably from migration helpers that wrapexecuteSqland are commonly mocked in tests).The level swap is now wrapped in
try/finallyso it is always restored.#14175
a3eea27Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14121
7539a9bThanks @petebacondarwin! - Extract the OAuth 2.0 + PKCE flow into a new@cloudflare/workers-authpackage.The OAuth login / logout / refresh logic, the auth-config TOML file IO, the OAuth token exchange + local callback server, and the Cloudflare Access detection helpers that previously lived in
packages/wrangler/src/user/have moved to the new internal-only@cloudflare/workers-authpackage. Wrangler now wires the OAuth flow up via a small glue module that injects its logger, browser opener, interactivity detector, and config cache via a dependency- injection context.What stays in wrangler:
login/logout/whoami/auth tokencommandsCLOUDFLARE_API_TOKEN,CLOUDFLARE_API_KEY/CLOUDFLARE_EMAIL, etc.)requireAuth,getOrSelectAccountId)string[])whoami/ account fetchingNo behavior change for end users. The on-disk TOML format and location remain identical, and all telemetry message labels are preserved verbatim.
@cloudflare/workers-authis published withprerelease: trueand is not intended for external use — its APIs may change without notice.#14162
0bb2d55Thanks @dario-piotrowicz! - In non-interactive mode remove the skills installation messageWhen Wrangler run in non interactive mode and it detected agents that it could install skills for, it would print a message such as:
Cloudflare agent skills are available for: <DETECTED_AGENTS>. Run wrangler in an interactive terminal to install them, or use '--install-skills' to install without prompting.This message seems to be confusing and unhelpful so it has now been removed.
#14165
8400fb9Thanks @NuroDev! - Limitwrangler versions listto the 10 most recent deployable versionsThe versions API ignores pagination when filtering to deployable versions, so Wrangler now caps the command output client-side. This keeps the command aligned with its help text and avoids overwhelming terminal output for Workers with many versions.
#14151
7949f81Thanks @dario-piotrowicz! - Skip stale bundles during dev server reload to avoid redundant restartsWhen rapidly saving a wrangler config file with remote bindings, each save would trigger a full reload cycle (remote connection setup, miniflare restart), causing many sequential "Reloading local server... / Establishing remote connection..." messages (while blocking the user). The runtime controllers now check whether a newer bundle has been queued at each expensive async boundary and bail out early if the current bundle is stale. This ensures that only the latest config change triggers a reload, making
wrangler devmuch more responsive during repeated config edits.#14072
d462013Thanks @himanshu-cf! - Updatewrangler secret bulkcommand description to reflect create/update/delete capabilitiesThe help text for
wrangler secret bulknow accurately describes that the command can create, update, or delete multiple secrets in a single request, with up to 100 secrets per command. The file argument description also clarifies that setting a key tonullin JSON will delete it, and that deletion is not supported with.envfiles.#13979
c2280cdThanks @matingathani! - Warn when a named environment silently inherits custom_domain routes from the top-level configWhen an
env.<name>block does not overrideroutes, it inherits the top-levelroutesarray. If that array contains entries withcustom_domain: true, every deploy to the named environment will silently reassign the custom domain away from the top-level Worker and towards the env Worker, causing routing drift. Wrangler now emits a warning in this situation and suggests adding"routes": []to the env block to prevent inheritance.#14170
ea12b58Thanks @petebacondarwin! - Tighten on-disk permissions of the OAuth credentials file to0600The user auth config file written by
wrangler login(typically~/.config/.wrangler/config/default.tomlon Linux/macOS, or<environment>.tomlfor non-production Cloudflare API environments) is now written with mode0600and re-chmod-ed on every save. This prevents other local users on shared hosts from reading the stored OAuth tokens. Existing files with looser permissions written by older Wrangler versions are tightened the next time Wrangler refreshes the token or the user logs in again. The change is a no-op on Windows, which does not honour POSIX mode bits.#14022
acf7817Thanks @petebacondarwin! - Show the actual OAuth error instead of hanging whenwrangler loginis rejected by the OAuth provider (for example withinvalid_scope).Previously, if the OAuth callback returned with an
errorother thanaccess_denied, Wrangler would never respond to the browser. Becauseserver.close()'s callback only fires once all open connections have ended, the login command would hang until the 120 second OAuth timeout — at which point it would print a generic timeout message rather than the actual OAuth failure. The same gap existed for the case where the OAuth provider redirected back without an authorisation code, and for failures during the auth-code-to-access-token exchange.The OAuth provider's
error_description(RFC 6749 §4.1.2.1) is now also surfaced, so the message includes the specific reason for the failure rather than just the bareerrorcode. For example, a misconfigured staging scope now surfaces as:instead of hanging silently.
Updated dependencies [
a3eea27,1fdd8de,b502d54,3b8b80a]:v4.97.0Compare Source
Minor Changes
#13996
94b29f7Thanks @vaishnav-mk! - Add restart-from-step options towrangler workflows instances restartYou can now restart a Workflow instance from a specific step using
--from-step-name, with optional--from-step-countand--from-step-typedisambiguation. These options work for both remote Workflow instances and localwrangler dev --localsessions.Patch Changes
#14141
b210c5eThanks @MattieTK! - Add re-authentication hint to account fetch error messagesWhen Wrangler fails to automatically retrieve account IDs, the error messages now suggest running
wrangler loginas a troubleshooting step. This addresses confusion for users who encounter these errors after OAuth system changes or other authentication issues.#14078
aec1bb8Thanks @MattieTK! - Bumpam-i-vibingfrom 0.1.1 to 0.4.0This updates the agentic environment detection library to the latest version, which includes improved detection coverage for newer AI coding agents.
#14147
e06cbb7Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14027
9a26191Thanks @matingathani! - Gracefully handle EMFILE error when assets directory exceeds OS watcher limitPreviously, when
wrangler devwas pointed at an assets directory with more than ~4,096 subdirectories, the chokidar file watcher threw anEMFILE: too many open fileserror that was not caught, causing an infinite error loop that made the dev server unresponsive.Now the error is caught and wrangler:
#14041
5565823Thanks @matingathani! - Fixwrangler completeprinting the AI skills prompt into shell completion outputPreviously, running
eval "$(wrangler complete zsh)"(or any other shell) would fail with errors likezsh: command not found: --install-skillsbecause the interactive AI agent skills installation prompt was included in the completion script output.The skills prompt is now skipped when running
wrangler complete, so the generated completion script is clean and can be sourced correctly.#13881
890fca7Thanks @matingathani! - Show a clear error when--metadatais not valid JSON instead of silently ignoring the value#14149
6fc9777Thanks @mattjohnsonpint! - Fixwrangler deploy --upload-source-mapssilently skipping source maps when the entry file ends with magic comments after//# sourceMappingURL=Wrangler previously assumed the
//# sourceMappingURL=comment was the last non-empty line of a module. Tools likesentry-cli sourcemaps injectappend a//# debugId=comment after it, which silently caused source maps to be omitted from the upload form, most commonly when deploying with--no-bundle --upload-source-maps. Wrangler now scans trailing magic comments (lines starting with//#or//@​) and detects the//# sourceMappingURL=comment regardless of which other magic comments follow it.#14105
337e912Thanks @dario-piotrowicz! - Remove trailing periods from URLs in terminal outputURLs printed to the terminal with a sentence-ending period (e.g.
https://example.com/path.) would include the period when clicked in some terminal emulators, causing 404 errors. This removes trailing periods from all URLs displayed in CLI output across wrangler, miniflare, vitest-pool-workers, and workers-utils.#14150
8e7b74fThanks @avenceslau! - Fix Workflowsschedulesdeploy payload to match the control plane APIWhen deploying a Workflow with a
schedulesbinding property, Wrangler sent the cron expressions as a list of strings. The Workflows API expects a list of objects of the form{ cron: string }, so the request was rejected. Wrangler now maps each configured cron expression to{ cron }(normalizing a single string or an array) when building the request. The user-facing config still accepts a string or an array of strings.#14084
e86489aThanks @dario-piotrowicz! - Fix JSON variable bindings inwrangler init --from-dashand remote config diffWhen fetching a remote Worker's configuration, JSON variable bindings (e.g.
{"my_value": 5}) were incorrectly serialized as{ "name": "MY_JSON", "json": {"my_value": 5} }instead of{ "MY_JSON": {"my_value": 5} }. This affected two areas:wrangler init --from-dashwould generate awrangler.jsonwith brokenvarsentriesBoth issues are now fixed and remote JSON bindings are now correctly mapped.
#14155
42288d4Thanks @dario-piotrowicz! - Include agent skill installation status in all telemetry eventsThe agent skill installation status is now consistently included in all telemetry events, not just a subset of them.
#14063
65b5f9eThanks @emily-shen! - Move fetch helpers into@cloudflare/workers-utilsShared Cloudflare API fetch helper types and plumbing now live in
@cloudflare/workers-utilsso Wrangler and other clients can use the same implementation.#14112
3a746acThanks @penalosa! - Pin non-bundled runtime dependencies to exact versionsDependencies that are not bundled into a package's published output are installed directly into consumers' dependency trees, so they are now pinned to exact versions instead of semver ranges. This closes a supply-chain gap where an unpinned external dependency could resolve to a compromised upstream release on a fresh install. A new
pnpm check:pinned-depslint enforces this for all published packages (and for the shared pnpm catalog) going forward.#14124
64ef9fdThanks @odiak! - Fixwrangler secret bulkdropping newlines from.envinput read from stdinPreviously,
.envinput piped through stdin was concatenated without line breaks, so only the first secret could be parsed correctly. Stdin input now preserves line separators before parsing.Updated dependencies [
e06cbb7,4ef790b, [337e912](https://redirecConfiguration
📅 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
This change is