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: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:import { defineWorker, triggers } from "@cloudflare/config"; export default defineWorker({ triggers: [ triggers.connect({ protocol: "tcp", port: 5432, address: "127.0.0.1" }), ], });
-
#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:
Dependency From To @cloudflare/workers-types ^5.20260815.1 ^5.20260816.1 workerd 1.20260815.1 1.20260816.1 -
#15264
4b52975Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
Dependency From To @cloudflare/workers-types ^5.20260816.1 ^5.20260819.1 workerd 1.20260816.1 1.20260819.1 -
#15277
ce9b151Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
Dependency From To @cloudflare/workers-types ^5.20260819.1 ^5.20260820.1 workerd 1.20260819.1 1.20260820.1 -
#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]:
{ "connect": [{ "protocol": "tcp", "port": 5432 }] }