Update dependency wrangler to v4.125.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
|
🤖 Finished Review · ✅ Success · Started 3:52 PM UTC · Completed 4:07 PM UTC |
|
🤖 Review · ❌ Terminated · Started 1:29 PM UTC · Ended 1:40 PM UTC Commit: |
|
🚀 Preview is available at https://08b09434.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 1:29 PM UTC · Completed 1:40 PM UTC Commit: |
|
🤖 Review · ❌ Terminated · Started 6:46 PM UTC · Ended 7:00 PM UTC Commit: |
|
🚀 Preview is available at https://154ec7d8.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 6:46 PM UTC · Completed 7:00 PM UTC Commit: |
|
🤖 Review · ❌ Terminated · Started 12:54 AM UTC · Ended 1:05 AM UTC Commit: |
|
🚀 Preview is available at https://6c306752.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 12:54 AM UTC · Completed 1:05 AM UTC Commit: |
|
🤖 Review · ❌ Terminated · Started 5:54 PM UTC · Ended 6:08 PM UTC Commit: |
|
🚀 Preview is available at https://cce52c66.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 5:54 PM UTC · Completed 6:08 PM UTC Commit: |
|
🤖 Review · ❌ Terminated · Started 7:48 PM UTC · Ended 8:00 PM UTC Commit: |
|
🚀 Preview is available at https://8db5711d.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 7:48 PM UTC · Completed 8:00 PM UTC Commit: |
|
🤖 Review · ❌ Terminated · Started 5:03 PM UTC · Ended 5:16 PM UTC Commit: |
|
🚀 Preview is available at https://88e89bba.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 5:03 PM UTC · Completed 5:16 PM UTC Commit: |
|
🤖 Review · ❌ Terminated · Started 8:13 PM UTC · Ended 8:27 PM UTC Commit: |
|
🚀 Preview is available at https://599f79f1.enterprise-contract.pages.dev |
|
🤖 Finished Review · ✅ Success · Started 8:13 PM UTC · Completed 8:27 PM UTC Commit: |
This PR contains the following updates:
4.59.1→4.125.0Release Notes
cloudflare/workers-sdk (wrangler)
v4.125.0Compare Source
Minor Changes
#14995
59872c4Thanks @ThomasRubini! - Addconnecttrigger for raw socketsYou can now configure a Worker to receive raw socket connections during
wrangler dev, delivered directly to the Worker'sconnect(socket, env, ctx)handler:{ "connect": [{ "protocol": "tcp", "port": 5432 }] }Each entry opens a listening socket on
127.0.0.1(or the givenaddress) that forwards incoming connections straight to the Worker, bypassing the local dev HTTP entry point. This requires theexperimentalcompatibility flag. Only"tcp"is supported at the moment.@cloudflare/configalso supports declaring this trigger viatriggers.connect(...), which lowers to theconnectfield above:#15172
c68f9cbThanks @WillTaylorDev! - Add container support to worker previewsWorker previews now support containers through a new
previews.containersconfiguration block. Container configuration doesn't inherit, so declare containers explicitly in thepreviewsblock to enable them for previews. This mirrors howpreviews.durable_objectsworks today. Wrangler names each preview container application{worker_name}_{preview_slug}_{class_name}, normalising and shortening the result to what the API accepts. Either change appends a short digest of the composed name, so two names that would otherwise land on one stay distinct. An entry cannot set its ownname, because application names are unique to an account and a fixed name would collide between two previews of the same Worker. A Durable Object class is backed by at most one container application, so the validator rejects two entries that share aclass_name. Wrangler skips container applications bound to Durable Object classes that another Worker implements throughscript_name, because the implementing Worker owns its own container application. A binding is not required: a Durable Object declared throughmigrationsorexportsand reached only overctx.exportscan still back a container. Every entry must setclass_name. Apreviews.containersentry whoseclass_namematches no Durable Object class at all is rejected before the preview deployment is created, so a typo fails loudly instead of producing a preview with no container.Wrangler creates the container applications on
wrangler preview. Deleting a preview tears them down server side, sowrangler preview deletedoesn't remove them.Container build and deploy progress prints to stdout.
wrangler preview --jsonsuppresses wrangler's own output so it doesn't interleave with the payload, and warnings and errors still go to stderr. Docker's build output and the progress spinner write to stdout directly and bypass that suppression, so parse--jsonfrom a non interactive shell, where the spinner is skipped, and prefer a prebuiltimageover a Dockerfile.#15174
649f667Thanks @WillTaylorDev! - [private beta]: Create the parent Worker automatically whenwrangler previewtargets one that doesn't exist yetPreviews hang off a parent Worker, so running
wrangler previewbefore the Worker had ever been deployed failed with a raw API error naming the Preview endpoint. Wrangler now offers to create an empty parent Worker and then carries on creating the Preview. The parent uses the same workers.dev and Preview URL settings thatwrangler deploywould resolve, without applying routes or cron triggers. In non-interactive environments, Wrangler creates the Worker without asking.#14735
30c2d47Thanks @vaishnav-mk! - Add individual and batch Workflow instance deletion to the runtime and SDK.WorkflowInstance.delete()deletes one instance. Self-deletion stops the current execution.env.MY_WORKFLOW.deleteBatch(instanceIds)deletes up to 100 instances and returns{ deleted, errors }per input position.wrangler workflows instances delete <name> [id..]deletes instances remotely or with--local; IDs can also come from a JSON array passed with--filename, with a combined limit of 100.Patch Changes
#15260
5ae9d5bThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15264
4b52975Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15277
ce9b151Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15192
ef73a28Thanks @ondraulehla! - Fixeskv bulk putcorrupting binary values written to local KVValues marked
base64: truewere stored incorrectly whenever they contained bytes that do not form valid UTF-8, which covers images, compressed data and most other binary payloads. A Worker reading such a key back underwrangler devgot a different, longer value than the one that was written: a 12 byte PNG header came back as 20 bytes.kv bulk putwrites to local KV by default, so the plain command was the affected one. Remote writes were never affected, and neither were entries withoutbase64or values written withkv key put.#15284
39dcea6Thanks @emily-shen! - Move deploy output writing into shared deploy helpers#15130
99a1f49Thanks @emily-shen! - Remove unsupportedremoteconfiguration from Workflow bindingsWorkflow bindings no longer accept
remotein configuration, as remote Workflow bindings have never actually been supported.#15278
f2437e6Thanks @Sosokker! - Fix the--temporaryerror on commands that authenticate more than one timewrangler d1 migrations apply --remote --temporaryfailed with this error:You're already authenticated with Cloudflare, so --temporary can't be used. The failure occurred with no login and with noCLOUDFLARE_API_TOKEN. This command authenticates one time for each statement that it runs. The first authentication makes a temporary preview account. The second authentication read the token of this new account as an earlier login.Wrangler now uses again the temporary account from the same command run. Commands that authenticate more than one time now work as
wrangler deploy --temporaryworks. If real credentials are available,--temporaryis still an error.Updated dependencies [
59872c4,99a1f49,5ae9d5b,4b52975,ce9b151,99a1f49,99a1f49,30c2d47]:v4.124.0Compare Source
Minor Changes
#15026
6529f0cThanks @petebacondarwin! - Allow containers to be attached to a Durable Object from itsexportsentryA container can now be linked to its Durable Object from the export side, using a new
containerfield that names an entry in thecontainersarray. As a resultcontainers[].class_nameis now optional — a container that is referenced this way only needs aname:{ "name": "my-worker", "main": "worker.js", "compatibility_date": "2026-07-01", "containers": [ { "name": "my-container", "image": "./Dockerfile", "max_instances": 1 } ], "exports": { "MyContainerDO": { "type": "durable-object", "storage": "sqlite", "container": "my-container" } } }The existing
containers[].class_namedirection keeps working and either direction may be used, but the two must agree: a container that names its Durable Object cannot also be claimed by a different one.containeris only valid on livedurable-objectexports (createdandexpecting-transfer) and requiresstorage: "sqlite". Wrangler now also reports an error when:containerreference names a container that does not existnameclass_namenames a Durable Object whosestorageislegacy-kvThat last case was previously accepted but could never work: workerd attaches a single container per Durable Object namespace, and in local development every container for a class builds into the same image tag, so one silently overwrote the other. If you have two containers on one
class_name, give each its own Durable Object class.Patch Changes
#15211
bc5726bThanks @nithin42! - Honoraccess.devwhen running Workers with@cloudflare/vitest-pool-workers, soctx.access.getIdentity()returns the configured identity just as it does withwrangler dev.#14999
ba54f0dThanks @mittalpk! - Fix.envloading on Windows leaking stale, differently-cased duplicate keysOn Windows,
wranglerloads.envvalues through a case-insensitiveProxywrapper so lookups likeenv.PATHandenv.Pathresolve to the same value, and this object is assigned directly toprocess.env. When a key was set again under a different casing (e.g. a value in.env.localoverriding one from.envwith different casing), the previous casing was never removed from the underlying object.env.PATH/env.Pathstill returned the correct, latest value, but anything that enumeratesprocess.env—Object.keys,for...in,JSON.stringify, object spread, or a spawned subprocess inheriting the environment — would see both the stale and current key.Duplicate entries no longer appear, so environment variables passed to subprocesses and any code that lists the environment now see only the latest value for each variable.
#15044
b7422b0Thanks @stareezy-1! - Normalize structural CRLF line endings before sending D1 commands to the remote query APIwrangler d1 migrations apply --remoteandwrangler d1 execute --remote --commandfailed withincomplete input: SQLITE_ERRORwhen the SQL contained CRLF line endings inside a compound statement such as aCREATE TRIGGER ... BEGIN ... END;body. Structural line endings are now normalized to LF before the command is sent to the D1 query API, while CRLF inside quoted values and identifiers remains unchanged.#15046
186339cThanks @erwinzhang7! - Fixes D1 SQL statements not handling lowercaseends correctlywrangler d1 executeandwrangler d1 migrations applysplit a SQL file into statements before running them. ABEGINorCASEblock closed with a lowercaseendwas not recognised as closed, so every statement after it was folded into that block instead of being run on its own. SQLite accepts either case, so a file like this applied only the trigger and silently skipped the table:Files written with an uppercase
ENDwere unaffected. Both cases now behave the same.#15231
4f922dcThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15248
4d74b8dThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15185
1f79aceThanks @jamesopstad! - Resolve--latestto the newest compatibility date supported by the installed runtimewrangler deploy --latestandwrangler versions upload --latestresolved the compatibility date to the current date, andwrangler pages download configdid the same for projects configured to always use the latest compatibility date. Both write that date into a configuration file for subsequent commands to use, so a date that the installedworkerddid not yet support left the project unable to runwrangler dev.These now resolve to the latest compatibility date supported by this version of Wrangler, which is the release date of the
workerdit ships with.#15151
49f73deThanks @maximilliangrand! - Fix spuriousTrailing comma jsonc(519)warnings forwrangler.jsoncin VS Code 1.131+Trailing commas in
wrangler.jsoncfiles that reference Wrangler's JSON schema are no longer reported as errors by recent versions of VS Code. Wrangler always accepted these files; only the editor warning was wrong.#14983
7cee278Thanks @kdelay! - RespectCLOUDFLARE_ACCOUNT_IDinwrangler pages project list,createanddeleteThese three commands could target a previously used account even when
CLOUDFLARE_ACCOUNT_IDwas set, failing withAuthentication error [code: 10000]in setups with more than one account. They now use the account named byCLOUDFLARE_ACCOUNT_ID, matching the rest ofwrangler pages. When the variable is unset, the previously used account is still selected, as before.#15153
265256aThanks @podonnell-dev! - Fixwrangler preview base-configcommands showing an inheritedscriptpositional#15185
1f79aceThanks @jamesopstad! - Use a fixed default compatibility date rather than the current dateWhen no compatibility date was set, Wrangler, C3 and the Vitest pool all defaulted to the current date.
workerdonly accepts a compatibility date up to 7 days beyond its own release, so whenever aworkerdrelease was delayed the default could get ahead of the runtime that had been installed, and local development would fail to start.The default is now fixed at the release date of the
workerdversion that ships with each release, which leaves a week of headroom and updates asworkerdis upgraded.@cloudflare/vite-pluginpreviously inlined the date at which it was built. It now shares the same default.#15239
f431166Thanks @jamesopstad! - Prevent date-enabled Node.js compatibility from adding conflicting globals to generated runtime typesRuntime type generation now treats Node.js compatibility enabled by a compatibility date the same way as an explicit
nodejs_compatflag. Node.js globals continue to come from@types/nodeinstead of being generated asanydeclarations that override those types.#15196
8fb2b87Thanks @skepticfx! - Use the FedRAMP High managed container registry when Wrangler targets the FedRAMP High compliance regionContainer builds, pushes, deployments, image commands, and local development now select the corresponding production or staging FedRAMP registry and API from either
compliance_regionorCLOUDFLARE_COMPLIANCE_REGION.#15082
75cf407Thanks @penalosa! - Enable the new configuration format in thecf-wranglerdev delegateProjects started through
cf devnow loadcloudflare.config.tsand optionalwrangler.config.ts, matching the configuration used by the delegate's build path.Updated dependencies [
1277a72,4f922dc,4d74b8d,2e0c962,8777180]: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,a60ff4d,99eb50c]:v4.119.0Compare Source
Minor Changes
#14952
20470faThanks @nelsonjsduarte! - Add--parse-typeflag towrangler ai-search createwrangler ai-search createnow accepts--parse-typeto control how a website data source discovers URLs.sitemap(the default) reads XML sitemaps;discoverfollows links recursively.Previously the parse type could only be chosen through the interactive wizard, which was skipped whenever
--sourcewas supplied — so it was impossible to create adiscoverinstance from a script.The interactive wizard now offers
DiscoveralongsideSitemap.--parse-typeis only valid with--type web-crawler; passing it with--type builtinor--type r2is rejected, since the API stores the value for those source types but never reads it. When the flag is omitted in non-interactive mode the field is left unset and the API default (sitemap) applies.#14941
266172bThanks @nickpatt! - Improve the Local Explorer's Observability viewsconsole.logmessages now render the way the console would (JSON-encoded strings are unwrapped and multi-argument logs are joined), traces and events can be looked up by trace or span id from the search bar, and an event's "View trace" button jumps to the exact invocation that emitted it — even when a trace_id spans several invocations (e.g. a subrequest or self fetch).#14064
a9e5abbThanks @petebacondarwin! - Add support for OAuth 2.0 Device Authorization Grant towrangler loginRun
wrangler login --deviceto authenticate without a local callback server. Useful in containers, remote SSH sessions, Codespaces, and any other environment wherelocalhost:8976is unreachable from your browser.The new flow:
--browser=false),The verification URL is supplied by the authorization server, so it is rejected unless it is an
httpsURL on the same auth domain the device code was requested from — it is never printed or opened otherwise.--callback-hostand--callback-portcannot be combined with--device, since this flow does not start a local callback server.Patch Changes
#14984
9c74538Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15012
0d33cb8Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
Updated dependencies [
9c74538,0d33cb8,a88d169,a88d169,daf65f2]:v4.118.0Compare Source
Minor Changes
#14057
cc63aaeThanks @matingathani! - Add--jsonflag towrangler containers infofor consistent JSON output with sibling commandslistandinstances#14944
a249591Thanks @nickpatt! - Enable local observability capture by default in devwrangler devand the Vite plugin now capture request traces and console logs into the Local Explorer's Observability tab out of the box — previously this was opt-in behindX_LOCAL_OBSERVABILITY=true. SetX_LOCAL_OBSERVABILITY=falseto opt out (for example if the extra per-worker collector/streaming-tail services cause trouble in a multi-process dev-registry setup).#14919
e0bbf55Thanks @avenceslau! - Add additional triggers to WorkflowsWorkers can now declaratively start a locally defined Workflow. Configure event subscriptions under
triggers.events; Wrangler validates each target and updates the script's event triggers during deployment.{ "triggers": { "events": [ { "type": "cf.artifacts.repo.pushed", "filter": { "namespace": "my-namespace", "repo_name": "my-repo" }, "targets": [ { "type": "workflow", "workflow_name": "my-workflow" } ] } ] } }Patch Changes
#14936
f92d1fcThanks @petebacondarwin! - Fixjsx_fragmentbeing ignored whenwrangler devruns a custom buildIf your project uses a custom build and sets both
jsx_factoryandjsx_fragment,wrangler devused yourjsx_factoryvalue for JSX fragments as well, so fragments compiled incorrectly. Yourjsx_fragmentvalue is now used.#14936
f92d1fcThanks @petebacondarwin! - Stopwrangler devstarting new work after you stop it or it reloadsStopping
wrangler dev, or having it reload after a configuration change, could still leave it starting work for the state it had just left behind: your custom build command could run once more after dev had stopped, a change to a file in your assets directory could be reported against configuration that had already been replaced, and in some cases the process could stay alive instead of exiting.That work is now discarded, so stopping or reloading
wrangler devleaves nothing running behind it.[#​
Configuration
📅 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.