Update dependency wrangler to v4.91.0 (main)#527
Conversation
|
🚀 Preview is available at https://039f4b07.enterprise-contract.pages.dev |
4de6708 to
8f5d08f
Compare
|
🚀 Preview is available at https://08300ee1.enterprise-contract.pages.dev |
8f5d08f to
063bccc
Compare
|
🚀 Preview is available at https://6626ba07.enterprise-contract.pages.dev |
063bccc to
d1bb21f
Compare
|
🚀 Preview is available at https://547ec4d3.enterprise-contract.pages.dev |
d1bb21f to
085816e
Compare
|
🚀 Preview is available at https://777ca95c.enterprise-contract.pages.dev |
085816e to
04a82b2
Compare
|
🚀 Preview is available at https://41dff465.enterprise-contract.pages.dev |
04a82b2 to
d42d94a
Compare
|
🚀 Preview is available at https://604b8a26.enterprise-contract.pages.dev |
d3d3ce0 to
8b18491
Compare
8b18491 to
7fc3e4c
Compare
|
🚀 Preview is available at https://cfdb8b39.enterprise-contract.pages.dev |
7fc3e4c to
ab5547c
Compare
|
🚀 Preview is available at https://360d8039.enterprise-contract.pages.dev |
ab5547c to
aa15d89
Compare
|
🚀 Preview is available at https://bf28eac1.enterprise-contract.pages.dev |
aa15d89 to
f3e5e17
Compare
71a05b5 to
cd4168e
Compare
|
🚀 Preview is available at https://3b890ad9.enterprise-contract.pages.dev |
cd4168e to
2aaf470
Compare
|
🚀 Preview is available at https://4b2bcdbc.enterprise-contract.pages.dev |
2aaf470 to
4271883
Compare
|
🚀 Preview is available at https://647e09d3.enterprise-contract.pages.dev |
4271883 to
135ea33
Compare
|
🚀 Preview is available at https://16978123.enterprise-contract.pages.dev |
135ea33 to
e4a0d10
Compare
|
🚀 Preview is available at https://d7b0a185.enterprise-contract.pages.dev |
e4a0d10 to
d71dbe0
Compare
|
🚀 Preview is available at https://d9c98f14.enterprise-contract.pages.dev |
d71dbe0 to
0923760
Compare
|
🚀 Preview is available at https://df5cf757.enterprise-contract.pages.dev |
0923760 to
fa3b4af
Compare
|
🚀 Preview is available at https://1eb41ed8.enterprise-contract.pages.dev |
fa3b4af to
e9ce0a6
Compare
|
🚀 Preview is available at https://aca153ea.enterprise-contract.pages.dev |
e9ce0a6 to
d7da44d
Compare
|
🚀 Preview is available at https://5981a43f.enterprise-contract.pages.dev |
d7da44d to
8569b96
Compare
|
🚀 Preview is available at https://0fc38ee8.enterprise-contract.pages.dev |
This PR contains the following updates:
4.59.1→4.91.0Release Notes
cloudflare/workers-sdk (wrangler)
v4.91.0Minor Changes
#13822
c8be316Thanks @edmundhung! - Add named tunnel support and tunnel shortcuts towrangler devYou can now use
wrangler dev --tunnel --tunnel-name <name>to start a dev session with an existing named Cloudflare Tunnel, or set--tunnel-nameahead of time and start it later by pressingtto start or close the tunnel. This gives you a stable public hostname for local development instead of the temporarytrycloudflare.comURL used by Quick Tunnels.Patch Changes
#13848
d4794a8Thanks @MattieTK! - Condense repeated environment configuration warningsWrangler now summarises repeated missing
varsanddefineentries in environment configuration warnings. Experimentalunsafewarnings are also only emitted once when the field appears at both the top level and in the active environment.#13894
58b4403Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13780
4352f87Thanks @matingathani! - Normalize legacy instance type aliases (standard→standard-1,dev→lite) to prevent phantom EDIT diffs on every deploy#13834
a9e6741Thanks @matingathani! - fix: hotkeys now work with Caps Lock enabledWrangler's dev server hotkeys (e.g.
bto open browser andxto exit) did not respond when Caps Lock was enabled. These hotkeys now work consistently whether or not Caps Lock is on.#13750
da664d5Thanks @matingathani! - fix: automatically delete log files older than 30 days and add WRANGLER_WRITE_LOGS=false to disable disk loggingWrangler previously accumulated log files in
~/.wrangler/logs/indefinitely, causing some users to accumulate gigabytes of logs over time.Log files older than 30 days are now automatically cleaned up on the first log write. Disk logging can be disabled entirely by setting
WRANGLER_WRITE_LOGS=false.#13914
bdc398cThanks @Maximo-Guk! - preserve native shape of non-stringvarsin worker previewswrangler previewpreviously coerced every non-string entry inpreviews.vars(arrays, objects, numbers, booleans) into aplain_textbinding viaJSON.stringify, so at runtime the worker saw a literal string instead of the value declared inwrangler.jsonc.wrangler deployalready serializes non-string vars asjsonbindings so the Workers runtime parses them back into native JS values; previews now match.Before:
After:
#13778
1420f10Thanks @maxwellpeterson! - Propagateunsafe.bindingsand service bindingcross_account_grantto worker previewsWorker previews now propagate
unsafe.bindingsdeclared on thepreviewsconfig block to the deployment metadata, mirroring the deploy-time behavior. Without this, internal binding shapes that wrangler doesn't yet model (notably service bindings carryingcross_account_grant) were silently dropped on previews while working fine on regular deploys. The same change wires throughcross_account_granton typedservicesbindings.Updated dependencies [
58b4403,f781a2b]:v4.90.1Compare Source
Patch Changes
#13866
4e44ce6Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13837
b0cee1dThanks @matingathani! - Fix beta/open-beta status message ignoringprintBanner: false— when a command setsprintBanner: (args) => !args.json, the status banner no longer appears in JSON output#13887
d878e13Thanks @apeacock1991! - Fixwrangler devhanging on shutdown when remote bindings are presentstartDev() registers dev hotkeys before authenticating the user. During interactive dev sessions, the auth callback re-registers hotkeys, which updates the local unregisterHotKeys variable to a new cleanup function. However, the unregisterHotKeys value returned to callers was captured as a direct reference to the initial registration, so it would call the stale cleanup function instead of the current one.
This has been fixed by returning a wrapper function () => unregisterHotKeys?.() instead of the variable directly. The wrapper evaluates unregisterHotKeys at call time, ensuring it always invokes the latest cleanup function even after re-registration.
#13867
971dfe3Thanks @petebacondarwin! - Fix race inRemoteProxySession.updateBindingsso it waits for the remote worker to finish reloading with the new bindings before resolvingPreviously,
updateBindingsresolved as soon as the config update event was dispatched, long before the remote worker had been re-uploaded and the local proxy worker had unpaused. Callers that issued requests immediately afterwards could see flaky failures — typically "WebSocket connection failed" for JSRPC bindings such as service bindings or dispatch namespaces — because the local proxy worker was still in its paused state during the reload window.updateBindingsnow waits for the nextreloadCompleteevent and for the local proxy worker's runtime-message queue to drain before returning, so callers can safely issue requests afterawait session.updateBindings(...). If the reload fails, the rejection fromupdateBindingscarries the underlying error.#13867
971dfe3Thanks @petebacondarwin! - Fix unhandledAbortErrorfromwrangler dev's remote tail WebSocket when the bundle rebuilds or the dev session shuts downThe remote-runtime tail-logs WebSocket (
#activeTailinRemoteRuntimeController) was constructed with the sameAbortSignalthatonBundleStartaborts to cancel in-flight preview-session operations. The abort destroyed the WebSocket's underlying upgrade request withAbortError, which had noerrorlistener attached and propagated as an unhandled exception. We now attach anerrorlistener at WebSocket construction that ignores errors (logging at debug level), matching the safeguards already present on theterminatepaths in#previewTokenandteardown().Updated dependencies [
4e44ce6,5d936c5]:v4.90.0Compare Source
Minor Changes
#12279
248bc08Thanks @penalosa! - Add deprecation warning fordelivery_delayin queue producer bindingsThe
delivery_delaysetting in[[queues.producers]]was silently having no effect since 2024. This change adds a deprecation warning when the setting is used, informing users that queue-level settings should be configured usingwrangler queues updateinstead. The setting will be removed in a future version.Patch Changes
#13853
8852b0cThanks @gpanders! - Fix Containers SSH config#13858
e414e56Thanks @penalosa! - Fixwrangler whoamiand account selection failing for Account API TokensThe
/membershipsfallback for Account API Tokens was checking for code 9109, but/membershipsactually returns 9106 for that case. Correct the code so the fallback to/accountstriggers as intended.Updated dependencies []:
v4.89.1Compare Source
Patch Changes
#13824
dd3baf3Thanks @emily-shen! - Fix container deployment being skipped for Workers for Platforms user workersPreviously, deploying a worker with
--dispatch-namespacewould early-exit before callingdeployContainers(), meaning container-app registration that links the image to the Durable Object namespace was never executed for WfP user workers. Container deployment now runs before the WfP early exit.Updated dependencies [
5cf6f81]:v4.89.0Compare Source
Minor Changes
#13055
f3fed88Thanks @GregBrimble! - Introducing thecacheconfiguration option for Workers.You can now set
{ cache: { enabled: true } }in your Wrangler configuration file to enable a HTTP cache in front of your Worker'sfetchhandler. This is also supported in[previews]configuration —previews.cacheoverrides the top-levelcachesetting for preview deployments, and falls back to the top-level value when absent. More information can be found in our documentation.#13776
1a54ac5Thanks @petebacondarwin! -wrangler devand other Miniflare-backed commands now run the localworkerdruntime withTZ=UTCto match productionPreviously,
wrangler dev(and other commands that spin up Miniflare, such aswrangler kv,wrangler d1,wrangler r2,wrangler check) inherited the host machine's timezone, soDateandIntlAPIs inside a Worker observed the developer's local timezone during local development but UTC in production. This caused subtle, hard-to-debug differences between local and deployed behaviour.Local development now matches production. Code that previously relied on the host timezone during
wrangler devwill need to either accept UTC (the production behaviour) or explicitly construct dates/formatters with the desired timezone.Patch Changes
#13829
2284f20Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13841
332f527Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13777
18e833dThanks @matingathani! - fix: throw a clear error when _routes.json contains invalid JSON instead of silently skipping it#13751
b6cea17Thanks @matingathani! - fix: ensurewrangler types --check --env-filedoes not falsely report stale types when.dev.varsexists#13775
53e846aThanks @maxwellpeterson! - Fixwrangler previewnot propagating theassetsbinding to preview deploymentsPreviously,
wrangler previewwould upload the asset manifest correctly but the resulting preview deployment had noASSETSbinding (or whatever name was configured underassets.binding). Workers reading from the binding would seeundefinedand fail at runtime.The fix emits the assets binding into the deployment's
envmap alongside other bindings, mirroringwrangler deploy.#13770
beff19cThanks @petebacondarwin! - Only show accounts available for the current login auth inwrangler whoamiand the interactive account pickerWrangler now lists the intersection of
/accountsand/membershipsinstead of either endpoint alone, dropping accounts the active OAuth token or API token has no membership in. Theaccountsfield ofwrangler whoami --jsonis filtered the same way. When/membershipsis inaccessible to the current auth (e.g. Account API Tokens) Wrangler falls back to/accountsso those tokens continue to work as before.#13832
af42fedThanks @gpanders! - Showcontainers sshinwrangler containers --helpand inwrangler containers ssh --helpThe
containers sshcommand was previously hidden, so it did not appear in the list of subcommands shown bywrangler containers --help, and its description was omitted fromwrangler containers ssh --help. The command is now listed with its description in both places.Updated dependencies [
2284f20,332f527,039bada,1a54ac5]:v4.88.0Compare Source
Minor Changes
#13760
e07825aThanks @danielgek! - Addbuiltinstorage option towrangler ai-search create.wrangler ai-search createnow supports a third storage type,builtin, in addition tor2andweb-crawler. When--type builtinis selected (or chosen interactively), Wrangler creates the instance using Cloudflare-managed storage by omittingtypeandsourcefrom the API request — the API treats an absenttypeas builtin storage. Builtin instances do not accept--source,--prefix,--include-items, or--exclude-items.#13721
58899d8Thanks @danielgek! - Add optionalcustom_metadatastep towrangler ai-search createThe
wrangler ai-search createinteractive wizard now lets you declare custom metadata fields that the new AI Search instance should index. Each field is afield_namepaired with adata_type(text,number,boolean, ordatetime).You can provide fields up-front via the new repeatable
--custom-metadataflag usingfield_name:data_typesyntax:For larger schemas, use
--custom-metadata-schemato point at a JSON file containing an array of{ field_name, data_type }objects:[ { "field_name": "title", "data_type": "text" }, { "field_name": "views", "data_type": "number" } ]#13701
18b9d5bThanks @dario-piotrowicz! - Prompt for missing name and compatibility date interactively duringwrangler deployWhen deploying without a project name or
compatibility_datein your configuration or CLI arguments,wrangler deploynow interactively prompts for the missing values instead of immediately failing with an error. For compatibility date, the prompt offers to use today's date; if you decline, the existing error is shown. The compatibility date prompt is skipped when--latestis passed. In non-interactive or CI environments, behavior is unchanged.Additionally, when no config file exists,
wrangler deploynow offers to save the prompted name and compatibility date to awrangler.jsoncfile for future use. This interactive flow is available for allwrangler deployinvocations — not just asset-only deployments.#13810
2b8c0ccThanks @jamesopstad! - Stabilize thesecretsconfiguration propertyThe
secretsproperty in the Wrangler config file is no longer experimental and will no longer emit an experimental warning when used. Required secrets are validated during local development and deploy, and used as the source of truth for type generation.{ "secrets": { "required": ["API_KEY", "DB_PASSWORD"] } }Patch Changes
#13765
3020214Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13800
0099265Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13812
25f5ef2Thanks @emily-shen! - fix:--aliasCLI flag now works inwrangler deployThe
--aliasflag was accepted but silently ignored duringwrangler deploy— onlyconfig.aliastook effect. We now collect aliases from both config and CLI flags.#13772
194d75eThanks @zakcutner! - Fixwrangler typesto generateFetcherforunsafe.bindingsentries withtype: "service"Previously, all entries in
unsafe.bindings(other thanratelimit) generated a fallbackanytype.wrangler typesnow generatesFetcherfor unsafe bindings declared withtype: "service", matching the type used for regular service bindings.#13818
9f532f7Thanks @1000hz! - Support Flagship bindings in Worker Previewswrangler previewnow acceptsflagshipentries in thepreviewsblock and includes them in Preview deployment bindings. This lets Workers that use Flagship bindings deploy Preview versions with preview-specific Flagship app IDs.#12974
1127114Thanks @ask-bonk! - Fixpropsand fetcher-type service bindings being dropped inunstable_getMiniflareWorkerOptionsThe post-processing in
unstable_getMiniflareWorkerOptionswas rebuildingserviceBindingsfrom scratch, which silently droppedpropson service bindings and droppedfetcher-type bindings entirely. It was also re-derivingdurableObjectsidentically to whatbuildMiniflareBindingOptionsalready produces. Both have been removed;buildMiniflareBindingOptionsnow produces the final bindings unchanged.#13739
3ceadefThanks @edmundhung! - Skip confirmation prompts inwrangler versions deploywhen versions are provided as CLI argumentsPassing version IDs or version specs to
wrangler versions deploynow applies those values directly instead of opening interactive prompts to confirm the same versions and percentages. This makes the command easier to automate without requiring--yes.#13745
1a5cc86Thanks @edmundhung! - fix: preserve request ports inOriginandRefererheaders when usingwrangler dev --hostUpdated dependencies [
3020214,0099265,bb27219,12fb5db]:v4.87.0Compare Source
Minor Changes
#13726
b5ac54bThanks @penalosa! - Hard fail on Node.js < 22Wrangler no longer supports Node.js 20.x, as it reached end-of-life on 2026-04-30. The minimum supported Node.js version is now 22.0.0. See https://github.com/nodejs/release?tab=readme-ov-file#end-of-life-releases.
#13717
9a1f014Thanks @NuroDev! - Add an experimentalexperimental_generateTypes()programmatic API.Wrangler now exposes
experimental_generateTypes()from the package root so you can generate Worker types in code using the same logic aswrangler types. The API supports the same core type-generation options (include env/runtime toggles) and returns structured output with separateenvandruntimecontent alongside the combined formatted output.Patch Changes
#13732
22e1a61Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13754
00523c8Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13711
1c4d850Thanks @dario-piotrowicz! - fix: skip auto-config and OpenNext delegation when--configis explicitly providedWhen
--configis passed towrangler deploy, the user is explicitly targeting a specific Worker configuration. Previously, wrangler would ignore--configand delegate toopennextjs-cloudflare deployif it detected an OpenNext project in the working directory, silently deploying the wrong Worker. Now, both auto-config detection and OpenNext delegation are skipped when--configis provided, matching the existing behavior for--scriptand--assets.#13735
6d28037Thanks @edmundhung! - Improveconfig-schema.jsonhover text in more editorsWrangler now emits
markdownDescriptioninconfig-schema.jsonalongside the existingdescriptionfield. Editors that support rich JSON Schema hovers can use that markdown directly instead of rendering escaped links and formatting.#13722
0827815Thanks @MattieTK! - Improve safe telemetry categorisation for user-facing Wrangler errors.#13116
e539008Thanks @dario-piotrowicz! - AllowgetPlatformProxyandunstable_getMiniflareWorkerOptionsto start when the assets directory does not exist yetPreviously,
getPlatformProxywould catch and swallowNonExistentAssetsDirErrorinternally when the configured assets directory was absent on disk. This has been refactored so that the directory-existence check is skipped entirely forgetPlatformProxyandunstable_getMiniflareWorkerOptions, since these APIs are typically used at dev time in frameworks where the assets directory is a build output that may not exist yet.wrangler dev,wrangler deploy,wrangler versions upload, andwrangler triggers deploycontinue to require the assets directory to exist when specified.Updated dependencies [
22e1a61,00523c8,b5ac54b,e653edf,e1eff94,e539008,0bf64a7,b04eedf,6457fb3,c07d0cb]:v4.86.0Compare Source
Minor Changes
#13605
ea943ffThanks @danielgek! - Add namespace support towrangler ai-searchcommandsAll
wrangler ai-searchinstance commands (create,list,get,update,delete,stats,search) now accept a--namespace(or-n) flag to target a specific AI Search namespace. When the flag is omitted, commands default to thedefaultnamespace that Cloudflare automatically provisions for every account.wrangler ai-search listnow displays anamespacecolumn, andwrangler ai-search createoffers an interactive picker for existing namespaces (with an option to create a new one) when--namespaceis not supplied in an interactive session.A new
wrangler ai-search namespacesubcommand group is also introduced, withlist,create,get,update, anddeletesubcommands for managing namespaces directly.wrangler ai-search list --namespace blog wrangler ai-search create my-instance --namespace blog --type r2 --source my-bucket wrangler ai-search namespace create blog --description "Blog content"#13637
9eb9e69Thanks @edmundhung! - Add--tunnelflag towrangler devfor sharing your local dev server via Cloudflare Quick TunnelsYou can now expose your local dev server publicly by passing
--tunnel:This starts a Cloudflare Quick Tunnel that gives you a random
*.trycloudflare.comURL to share. The tunnel stops automatically when the dev session ends. Quick tunnels don't require a Cloudflare account or any configuration.A warning is shown when Server-Sent Events (SSE) responses are detected through the tunnel, since quick tunnels don't support SSE.
#13661
0a5db08Thanks @aspizu! -wrangler tailwill now log stack traces. These stack traces already include resolved frames if you have chosen to upload sourcemaps.#13617
118027dThanks @roerohan! - Force Flagship bindings to always use remote mode in local devFlagship bindings now always access the remote Flagship service during local development, matching the behavior of AI bindings. Previously, Flagship supported both local and remote modes, but the local stub only returned default values, providing no real functionality and creating a dual source of truth for flag evaluations.
The
remoteconfig field is retained for backward compatibility but only controls whether a warning is displayed. Settingremote: truesuppresses the warning that Flagship bindings always access remote resources and may incur usage charges in local dev.#13254
e867ac2Thanks @tgarg-cf! - Addwrangler queues consumer listsubcommands for listing queue consumersThree new commands are available for listing consumers on a queue:
wrangler queues consumer list <queue-name>— lists all consumers (both worker and HTTP pull), grouped by typewrangler queues consumer worker list <queue-name>— lists only worker consumerswrangler queues consumer http list <queue-name>— lists only HTTP pull consumersPatch Changes
#13696
62e9f2aThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13576
2dc6175Thanks @MattieTK! - Restore telemetry tracking for common CLI flags that were unintentionally dropped during sanitisationWhen argument sanitisation was introduced, only explicitly allow-listed args had their values included in telemetry. The allow list was very conservative, which meant common boolean flags like
--remote,--json,--dry-run,--force, and many others were no longer being captured insanitizedArgsdespite previously being tracked. Boolean flags are inherently safe (values are onlytrue/false), so these have now been added back to the global allow list. A small number of fixed-choice args (--local-protocol,--upstream-protocol,--containers-rollout) have also been added with their known value sets.#13649
ae8eae3Thanks @petebacondarwin! - Fix service binding and tail consumerpropsbeing dropped between workers in different local dev instancesWhen a service binding or tail consumer configured with
propstargeted a worker running in a separatewrangler devinstance (via the dev registry), thepropswere silently dropped and the remote entrypoint saw an emptyctx.props. Props are now forwarded correctly across the dev registry boundary, matching the behavior users get when all workers run in a single instance.The target worker's
SessionEntryentrypoint now correctly receives{ tenant: "acme" }onctx.propsregardless of which local dev instance it runs in.#13662
f2e2241Thanks @petebacondarwin! - Fix three resource leaks inunstable_startWorkerteardown that could prevent Node from exiting cleanly afterworker.dispose().bundleWorkeris now disposed when the initial build fails. Previously a failing initial build (e.g. an unresolvable entrypoint, or a worker started with an invalid config viasetConfig) left the esbuild child process running for the lifetime of the parent Node process.runBuild's cleanup function now awaits the in-flight build before running the bundler's stop handler. Previously teardown could return beforeesbuild.BuildContext.dispose()had been called, so the esbuild watcher kept the event loop alive after dispose had resolved.BundlerController.teardown()now runs the esbuild cleanup before removing the bundler's temporary directory, and aborts the in-flight bundle build so it cannot emit stalebundleStart/bundleCompleteevents after teardown. Previously the tmpdir was removed first, which in race with an in-flight rebuild produced confusing "Could not resolve.wrangler/tmp/bundle-XXXX/middleware-loader.entry.ts" errors during dispose.#13674
4f6ed93Thanks @petebacondarwin! - Stop emitting a misleading[wrangler:error] Docker build exited with code: <n>log when the user aborts an in-progress container image build (for example by pressing therrebuild hotkey while the previous build is still running).The abort-detection branch in the local and multi-worker runtime controllers was matching the wrong error message — it checked for
"Build exited with code: 1", but the error thrown by the docker build helper is actually"Docker build exited with code: <n>", and the exit code after a process-group SIGINT/SIGKILL is typically130/137/143, not1. As a result, every legitimate user-initiated rebuild abort produced a spurious error event and[wrangler:error]log line. The check now matches the real error message prefix and ignores any non-zero exit code from the aborted build, so a user-requested rebuild while another build is in progress is silent.#13667
ed2f4ecThanks @emily-shen! - fix: Preserve auth in remote proxy session data to avoid unnecessary session restartsmaybeStartOrUpdateRemoteProxySessionwas not includingauthin its return value, so on subsequent callspreExistingRemoteProxySessionData.authwas alwaysundefined. This caused the auth comparison to always detect a change, disposing and recreating the remote proxy session on every reload even when auth had not changed.#13695
92bb8a5Thanks @alexanderniebuhr! -wrangler types --checkno longer throws when the types file was generated with an explicit boolean flag. Previously, yargs would parse such flags as actual booleans rather than strings, causing an internal parse error.#13662
f2e2241Thanks @petebacondarwin! - Fix thewrangler tailcommand leaking a signal-exit listener after the tail has been cleanly closed.The tail command registered both a
tail.on("close", exit)listener and a process-levelonExit(exit)handler, but never removed the latter afterexit()had run. In long-lived CLI processes this is harmless — the handler eventually runs once on shutdown — but in unit tests that repeatedly invokewrangler tail, every invocation accumulates a handler that fires during test-runner shutdown. Those late invocations calldeleteTail()after the test's auth mocks have been torn down, producing spurious "Not logged in" unhandled rejections which fail the Linux CI runs.The handler is now removed as soon as
exit()runs, andexit()is guarded against re-entry so it is idempotent if both the WebSocketcloseevent and a real signal fire for the same session.#13187
fcc491aThanks @dario-piotrowicz! - Recognize Hydrogen as a known unsupported framework in autoconfigPreviously, Hydrogen projects were incorrectly identified as React Router (since Hydrogen uses React Router under the hood), leading to a confusing autoconfig experience. Hydrogen is now recognized as a distinct unsupported framework, so users see a clear message that Hydrogen is not yet supported instead of being guided through React Router configuration.
#13628
e6c437aThanks @emily-shen! - fix: prioritiseCLOUDFLARE_ACCOUNT_IDover a cached account id for all Pages commandsPreviously, some Pages commands (
pages deploy,pages deployment list/delete/tail,pages download config,pages secret) used a cached account id over theCLOUDFLARE_ACCOUNT_IDenvironment variable. Thepages projectcommands already correctly prioritisedCLOUDFLARE_ACCOUNT_ID.Updated dependencies [
21b87b2,62e9f2a,033d6ec,ae8eae3,ef24ff2,6d27479,118027d]:v4.85.0Compare Source
Minor Changes
#13222
5680287Thanks @maxwellpeterson! - Add enabled and previews_enabled support for custom domain routesCustom domain routes can now include optional
enabledandpreviews_enabledboolean fields to control whether a custom domain serves production and/or preview traffic. When omitted, the API defaults apply (production enabled, previews disabled).Patch Changes
#13622
5a2968aThanks @petebacondarwin! - Fix inheritedai_search_namespacesbinding display inwrangler deployWhen an
ai_search_namespacesbinding inherits from the existing deployment, the bindings table now correctly shows(inherited)instead of a rawSymbol(inherit_binding)string.#13633
3494842Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13645
7d728fbThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13657
df9319dThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13574
d5e3c57Thanks @dario-piotrowicz! - Detect Cloudflare WAF block pages and include Ray ID in API error messagesWhen the Cloudflare WAF blocks an API request, the response is an HTML page rather than JSON. Previously, this caused a confusing "Received a malformed response from the API" error with a truncated HTML snippet. Wrangler now detects WAF block pages and displays a clear error message explaining that the request was blocked by the firewall, along with the Cloudflare Ray ID (when available) for use in support tickets.
For other non-JSON responses that aren't WAF blocks, the "malformed response" error also now includes the Ray ID to help reference failing requests in support tickets.
#13560
7567ef7Thanks @vaishnav-mk! - Preserve NonRetryableError message and name when theworkflows_preserve_non_retryable_error_messagecompatibility flag is enabled, instead of replacing it with a generic error message.#11784
2831b54Thanks @JPeer264! - fix(wrangler): Bind the console methods directly instead of using a global proxy#13644
377715dThanks @MattieTK! - Update@clack/coreand@clack/promptsto v1.2.0Bumps the bundled
@clack/coredependency used internally by@cloudflare/clifrom0.3.xto1.2.0, and the@clack/promptsdependency increate-cloudflarefrom0.6.xto1.2.0. Clack v1 includes a number of API changes, but no user-facing prompt behaviour changes are expected.Updated dependencies [
3494842,7d728fb,df9319d,3ceeec3,7567ef7,0a95061,7fc50c1,377715d]:[
v4.84.1](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAConfiguration
📅 Schedule: (UTC)
* 0-3 * * *)🚦 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.