chore(deps): update dependency miniflare to v4 - #63
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the
Comment |
commit: |
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
4 times, most recently
from
November 13, 2025 18:02
19d429f to
c06c210
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
November 25, 2025 11:43
8a83174 to
61fd395
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
December 3, 2025 19:58
4706ae6 to
34a4e14
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
from
December 9, 2025 19:53
34a4e14 to
036e539
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
2 times, most recently
from
December 23, 2025 13:51
c6bfec6 to
3e7b082
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
from
December 31, 2025 17:06
3e7b082 to
86658c2
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
2 times, most recently
from
January 14, 2026 14:46
fa03fb7 to
8bd532b
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
January 23, 2026 17:29
ef59e9b to
68fcc97
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
2 times, most recently
from
February 2, 2026 18:16
71bacf4 to
e5437b8
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
February 12, 2026 10:03
b832efd to
9a6a6a7
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
February 24, 2026 15:54
d2ec3b2 to
eb8199a
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
April 3, 2026 17:39
b0d9113 to
573b4b5
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
2 times, most recently
from
April 9, 2026 15:07
cb37494 to
9e73bf1
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
April 22, 2026 16:18
5e815e8 to
5f0c14c
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
May 1, 2026 14:01
2867454 to
f0d9bb0
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
May 12, 2026 09:42
4bbc5ad to
b0f4ea2
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
6 times, most recently
from
May 19, 2026 15:02
0839d17 to
992e4d5
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
3 times, most recently
from
May 26, 2026 11:11
ac56df7 to
7e978f4
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
4 times, most recently
from
June 2, 2026 19:13
81d3c98 to
f75617c
Compare
renovate
Bot
force-pushed
the
renovate/miniflare-4.x
branch
2 times, most recently
from
June 11, 2026 12:01
dd47f92 to
7cbe72c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^3.20250718.3→^4.0.0Release Notes
cloudflare/workers-sdk (miniflare)
v4.20260721.0Compare Source
Minor Changes
#14742
34430b3Thanks @pombosilva! - Add support for redacting sensitive Workflows step output in local dev.Steps configured with
sensitive: "output"now have their output redacted to[REDACTED]in step logs and step-output responses when running Workflows locally, matching production behavior. The real value is still passed to downstream steps, and step errors are never redacted.Patch Changes
#14715
42af66dThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14766
4815711Thanks @gianghungtien! - Report the Worker's error forHEADrequests instead of an internal JSON parse errorA Worker that threw on a
HEADrequest (for examplecurl -I) loggedSyntaxError: Unexpected end of JSON inputfrom miniflare's internals rather than the actual error, anddispatchFetch()rejected with that same misleading error.workerddrops response bodies forHEADrequests, so the serialised error never reached the code that revives it.The error is now also carried in a header, which survives
HEAD, so the original message and source-mapped stack are reported for every method. When no payload is available the reporting degrades to a plain error rather than surfacing a parse failure.v4.20260714.0Compare Source
Minor Changes
#14562
9f04a7eThanks @martijnwalraven! - Add ahandleUncaughtErrorshared option that receives uncaught Worker exceptionsThe runtime catches handler exceptions to build the 500 response, so they never reach the inspector — the one place an uncaught exception exists as a structured value in Node is the pretty-error path, where the error report from the Worker is revived into a source-mapped
Error. Embedders can now passhandleUncaughtError: (error: Error) => voidto observe that revived error programmatically; logging behavior is unchanged.The hook fires only where the pretty-error path does: requests reaching the Worker through the entry socket (a browser or another HTTP client against the dev server).
dispatchFetch()is unaffected — it always setsMF-Disable-Pretty-Error, and the entry worker then propagates the exception by rejecting the returned promise instead, sodispatchFetch()callers already receive the error directly and the hook is not invoked.#14706
cb6c3f9Thanks @edmundhung! - Add Durable Object storage access tocreateTestHarness()You can now execute SQL against a SQLite-backed Durable Object to seed or assert the storage state.
Patch Changes
#14417
34e696dThanks @matthewdavidrodgers! - Improve asset serving performance by removing an unnecessary internal dispatch hopAsset requests and RPC calls now avoid an extra internal forwarding layer, reducing latency. The forwarding infrastructure is preserved for future use by cohort-based deployments.
#14682
d39ae01Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14562
9f04a7eThanks @martijnwalraven! - Keep reporting uncaught Worker errors when a stack frame's file URL has no local pathfileURLToPaththrows onfile://URLs that cannot be represented as a local path (a non-local host; on Windows, any drive-less path — which is everyfile:///...URL reported by a POSIX-built bundle). Both the source-mapping machinery andyouch's error-page frame parsing convert stack-frame specifiers this way, so one such frame previously failed the whole pretty-error request: the error page was replaced by a raw Node stack, the error was not logged, andhandleUncaughtErrordid not fire. Source mapping now degrades to the unmapped stack and the pretty page falls back to a plain stack response instead.#14418
cb30df3Thanks @matthewdavidrodgers! - Improve routing performance for Workers with assetsReduce request handling latency by streamlining the router Worker's request path. The loopback infrastructure remains available for future use.
#14727
3f3afbbThanks @ascorbic! - Prevent local Browser Rendering teardown from hanging when Chrome does not exitMiniflare now bounds graceful Chrome shutdown and forcefully terminates the browser process tree when needed, preventing disposal from waiting indefinitely.
#14723
e6fbc4eThanks @ascorbic! - Prevent concurrent Miniflare instances from deleting each other's temporary email sessionsEmail session cleanup now removes only the current instance's session directory and leaves the shared parent intact, avoiding startup failures when multiple local runtimes use the same project.
v4.20260710.0Compare Source
Minor Changes
#14602
7692a61Thanks @edmundhung! - AddunsafeEvictDurableObject()for targeted Durable Object evictionThis lets users verify how a Durable Object recovers after its instance is torn down.
#14602
7692a61Thanks @edmundhung! - AllowlistDurableObjectIds()to accept Durable Object class names as well as binding names.Patch Changes
#14627
ed33326Thanks @tpmmorris! - Add convenient logging for worker emails in the project directory. In addition to the system's temp directory, logs for emails sent by workers are also written to a local temp directory defined by the calling process, e.g for an simple text email sent via Wrangler this is.wrangler/tmp/email/<session>/email-text/<message-uuid>.txt(and related files) in the project root. Callers of Miniflare can control this location via the newdefaultProjectTmpPathoption, which Wrangler and Vite plugin now set automatically.#14642
018574bThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
v4.20260708.1Compare Source
Minor Changes
#14535
1b965c5Thanks @Naapperas! - Support dynamic retry delays for Workflow steps in local devA step's
retries.delaycan now be a function that computes the delay per failed attempt, in addition to a static duration. The function receives{ ctx, error }and returns a delay (a number of milliseconds or a duration string like"30 seconds"), and its result is fed into the configuredbackoff.The function is invoked once per failed attempt with a 5 second timeout. If it throws, times out, or returns an invalid value, the step fails without further retries.
v4.20260708.0Compare Source
Minor Changes
#14489
e3f0cd6Thanks @edmundhung! - AddlistDurableObjectIds()to MiniflareMiniflare now exposes
listDurableObjectIds()for listing persisted Durable Object instance IDs by binding name. The Vitest pool now uses this shared Miniflare API internally instead of duplicating Miniflare's storage listing logic.#14465
2fedb1fThanks @vaishnav-mk! - Add rollback support when terminating Workflow instancesWorkflowInstance.terminate({ rollback: true })now runs registered rollback handlers before marking a local Workflow instance as terminated. Wrangler also supports this viawrangler workflows instances terminate --rollback, including local mode.The rollback option is only sent for terminate operations and is rejected by the Local Explorer API for pause, resume, and restart actions.
Patch Changes
#14596
8511ddfThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
v4.20260706.0Compare Source
Patch Changes
#14567
0852346Thanks @dependabot! - Update dependencies of "miniflare", "wrangler", "create-cloudflare"The following dependency versions have been updated:
v4.20260702.0Compare Source
Minor Changes
#14469
e7e5780Thanks @connyay! - Support Queues across separate local dev processesQueue producers can now send messages to consumers running in a separate local dev process. Messages produced before the consumer process has registered, or while it is down or reloading, are dropped rather than buffered, with a debug-level log emitted.
Patch Changes
#14514
d88555eThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14492
1ac96a1Thanks @penalosa! - Replace the CommonJSxdg-app-pathsdependency with a vendored pure-ESM implementationxdg-app-paths(and itsxdg-portable/os-pathsdependencies) are CommonJS only, which caused "Dynamic require of 'path' is not supported" errors when the surrounding code was bundled to ESM. The global config/cache directory resolution is now provided by a small, dependency-free pure-ESM module in@cloudflare/workers-utilsthat reproduces the previous path resolution exactly (verified against the real package in unit tests), so existing config and credential locations are unchanged. This also drops the transitivefseventsoptional dependency thatxdg-app-pathspulled in.Miniflare and create-cloudflare now consume the shared helpers from
@cloudflare/workers-utilsinstead of maintaining their own copies, importing node-only leaf entry points (@cloudflare/workers-utils/fs-helpers,@cloudflare/workers-utils/global-wrangler-config-path) where ESM bundling is required.#14572
f416dd9Thanks @petebacondarwin! - Key local rate limit counters bynamespace_idinstead of binding namewrangler devand Miniflare previously tracked each rate limit binding's counter by its binding name, so two bindings that referenced the samenamespace_idwere treated as separate limiters. Counters are now keyed bynamespace_id, matching production: bindings that share anamespace_idshare a limit, while distinct namespaces stay isolated. This also re-enables rate limit bindings in multiworkerwrangler devsessions, where they were previously stripped from secondary Workers to avoid a startup crash.#14409
16fbf81Thanks @matingathani! -reset()fromcloudflare:testnow resets ratelimit binding state between tests. Previously,RATE_LIMITERSbindings retained their in-memory bucket counts across test boundaries, causing later tests in the same file to see stale rate-limit exhaustion state.v4.20260701.0Compare Source
Patch Changes
#14502
6b0ce98Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
v4.20260630.0Compare Source
Patch Changes
#14490
75d8cb0Thanks @petebacondarwin! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14478
f10d4adThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14490
75d8cb0Thanks @petebacondarwin! - Fix edge cases on the local R2 public bucket endpoint (/cdn-cgi/local/r2/public) to match r2.dev: write methods are rejected with 401, malformed/multiple/inverted ranges with 400 and unsatisfiable ranges (includingbytes=-0) with 416,Rangeis honored on HEAD requests with a bodyless 206,Content-Rangeis correct for suffix ranges, object keys are percent-decoded exactly once (keys containing a literal%no longer fail), and objects stored without a content type are served asapplication/octet-streaminstead of omitting theContent-Typeheader. Unread object bodies are also cancelled (on HEAD and unsatisfiable-range responses) instead of leaking a read stream until garbage collection.#14490
75d8cb0Thanks @petebacondarwin! - Add Workflow introspection tocreateTestHarness()Worker handles can now introspect Workflow bindings by name, allowing tests to disable sleeps, mock step results, and wait for Workflow outcomes. Tests can introspect a known Workflow instance by ID or track instances created after introspection starts.
v4.20260625.0Compare Source
Patch Changes
#14406
3b743c1Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
v4.20260623.0Compare Source
Patch Changes
#14364
a085decThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14383
9a0de8fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14397
fab565fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
v4.20260617.1Compare Source
Patch Changes
#14118
b38823fThanks @aicayzer! - FixUint8Arraystep outputs in local Workflows being persisted with the full backingArrayBufferA
Uint8Arrayreturned from a Workflows step underwrangler devwas serialised together with its full underlyingArrayBuffer, causing a rawSQLITE_TOOBIGerror at view sizes well below the documented 1MiB step-output limit. For example, a 200KB view sliced from an 800KB buffer (a common pattern fromcrypto.getRandomValuesorarr.slice(...)on a larger pool) would fail. The view's bytes are now copied to a tight buffer before persistence, bringing local behaviour in line with production. Fixes #14101.v4.20260617.0Compare Source
Patch Changes
#14347
673b09eThanks @jamesopstad! - Update undici from 7.24.8 to 7.28.0#14346
e930bd4Thanks @haidargit! - Bumpwsfrom 8.20.1 to 8.21.0 to address GHSA-96hv-2xvq-fx4pGHSA-96hv-2xvq-fx4p / CVE-2026-48779 (high severity) reports a remote memory-exhaustion DoS in
ws@<8.21.0: a peer sending a high volume of tiny fragments and data chunks over modest network traffic can crash awsserver or client via OOM. The fix shipped in ws@8.21.0 (commit2b2abd45, released 2026-05-22), which also introduces themaxBufferedChunksandmaxFragmentsoptions. This change bumps the workspace catalog entry so thatminiflare,wrangler, and@cloudflare/vite-pluginall pick up the patched release.#14314
5c3bb11Thanks @harryzcy! - Bump esbuild to 0.28.1This update includes several bug fixes from esbuild versions 0.27.3 through 0.28.1. See the esbuild changelog for details.
#14331
296ad65Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
v4.20260616.0Compare Source
Minor Changes
#14221
0e055d3Thanks @mglewis! - Supportcf.image(transform via Workers) image transformations in local devfetch(url, { cf: { image: { ... } } })now transforms images locally via Sharp, instead of returning the original bytes unchanged. This mirrors the production "transform via Workers" feature, so Workers already usingcf.imagebehave much more closely to production inwrangler dev.As with the Images binding,
cf.imagetransforms require Sharp to be installed — transforms are silently skipped if Sharp is unavailable.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:
#14287
41f391fThanks @edmundhung! - Improve errors for missing resource bindingsWhen methods like
getKVNamespace()orgetR2Bucket()are called with a binding name that is not configured for that resource type, Miniflare now reports the expected binding type in the error message.v4.20260611.0Compare Source
Minor Changes
#14119
2047a32Thanks @tahmid-23! - Add support for serving R2 bucket objects publicly via the dev serverEach local R2 bucket is now exposed under
/cdn-cgi/local/r2/public/<bucket-id>/<key>on the existing user-facing dev server. The<bucket-id>is the bucket'sidwhen set, otherwise its binding name. Buckets with aremoteProxyConnectionStringare not exposed. The endpoint supports GET and HEAD, range requests, conditional headers, and forwards stored HTTP metadata.Patch Changes
#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:
v4.20260609.0Compare Source
Patch Changes
#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:
#14177
48c4ff0Thanks @ktKongTong! - Enable local scheduled handler dispatch for Workers + Assets (#9882)It is now possible to trigger a scheduled handler on a Worker that has assets.
v4.20260603.0Compare Source
Minor Changes
#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.#13863
3b8b80aThanks @aslakhellesoy! - Support cross-worker workflow bindings via the dev registryWhen a workflow binding has a
scriptNamethat refers to a worker registered in another Miniflare instance (viaunsafeDevRegistryPath), miniflare now reroutes the engine'sUSER_WORKFLOWbinding through the dev-registry-proxy worker — the same mechanism Durable Objects already use for cross-workerscriptNamebindings.Previously the workflow engine was bound directly to a local service
core:user:<scriptName>, so workerd refused to start when that script lived in a different process.This unblocks
getPlatformProxy()(and any other split-Miniflare setup) for users whose workflow class is defined in a separate worker — for example SvelteKit/Remix on Cloudflare, whereadapter-cloudflare's dev integration runs the user's worker in a sidecar.See #7459.
Patch Changes
#14175
a3eea27Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14081
1fdd8deThanks @dario-piotrowicz! - Detect early workerd exit instead of hanging indefinitelyWhen
workerdexits during startup before writing all expected listen events to the control file descriptor (e.g. due to an IPv6 bind failure, permission error, or missing library), Miniflare'swaitForPorts()would block forever. This causedwrangler devto stall at "Starting local server..." with no error and no timeout.The fix races
waitForPorts()against the child process exit event so that any unexpectedworkerdtermination is detected immediately. Whenworkerdexits early, Miniflare now throwsERR_RUNTIME_FAILUREwith the runtime's stderr output included in the error message, making the root cause diagnosable without external tools.v4.20260601.0Compare Source
Patch Changes
#14147
e06cbb7Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14086
4ef790bThanks @dario-piotrowicz! - Use127.0.0.1instead oflocalhostfor the runtime inspector addressOn systems where
getaddrinfo("localhost")returns::1but IPv6 is disabled at the kernel level,workerdfails to bind the inspector socket and silently continues without emitting thelisten-inspectorevent to the control FD. This causedwrangler devto hang indefinitely at "Starting local server..." with no error output.Using
127.0.0.1explicitly is consistent withDEFAULT_HOST,--debug-port, andresolveLocalhost()already in the codebase.#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.#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.v4.20260529.0Compare Source
Minor Changes
#14087
e3c862aThanks @edmundhung! - Add support for the newweb_searchbinding kind.Cloudflare Web Search is a managed, zero-setup web discovery primitive for agents and Workers. Declare the binding as a single object in
wrangler.jsonc:{ "web_search": { "binding": "WEBSEARCH" } }There is exactly one shared web corpus, so there is no namespace, instance, or other field to specify -- only the variable name. The binding exposes a single
search()method that returns URLs and catalog metadata for a query. Web Search is discovery-only -- to read a result's content the caller invokes the globalfetch()API against the result'surl.The binding is always remote in local development: Miniflare proxies to the production Web Search service via the remote-bindings transport. Adds the
websearch.runOAuth scope towrangler login.Also adds a
wrangler websearch searchcommand for running ad-hoc queries from the CLI:--limitis optional (defaults to 10, capped at 20).--jsonprints the raw response; without it the results render as a pretty table.#13610
cbb39bdThanks @petebacondarwin! - Add support foragent_memorybindingsAgent Memory bindings allow Workers to connect to Cloudflare's Agent Memory service for storing and retrieving agent conversation state. This binding is remote-only, meaning it always connects to the Cloudflare API during
wrangler devrather than using a local simulation.To configure an
agent_memorybinding, add the following to yourwrangler.json:{ "agent_memory": [ { "binding": "MY_MEMORY", "namespace": "my-namespace" } ] }Wrangler will automatically provision the namespace during deployment if it does not already exist. Type generation via
wrangler typesis also supported.This change also adds the
agent-memory:writeOAuth scope to Wrangler's default login scopes, sowrangler logincan request the permissions needed to provision and manage Agent Memory namespaces.#14087
e3c862aThanks @edmundhung! - Renamepipelinefield tostreamin pipeline bindings configurationThe
pipelinefield insidepipelinesbindings has been renamed tostreamto align with the updated API wire format. The oldpipelinefield is still accepted but deprecated and will emit a warning.Before:
After:
#14079
972d13dThanks @edmundhung! - Add JSON output to/cdn-cgi/handler/scheduledThe
/cdn-cgi/handler/scheduledendpoint now accepts?format=jsonto return the scheduled handler result as JSON, including whether the handler calledcontroller.noRetry(). Requests withoutformat=jsonstill return the existing text outcome for backward compatibility.Patch Changes
#14106
7bb5c7aThanks @dario-piotrowicz! - Add timeout to browser-rendering browser launch to prevent infinite hangsThe browser-rendering plugin's
launchBrowser()function now passes a 5-minute timeout towaitForLineOutput()when waiting for Chrome to print its DevTools WebSocket URL. Previously, if Chrome failed to start or crashed before printing the URL, the promise would hang forever. This could cause CI pipelines and local dev sessions to get stuck indefinitely.#14087
e3c862aThanks @edmundhung! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14076
97d7d81Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14100
c647cccThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14087
e3c862aThanks @edmundhung! - Fixwrangler devcrash under Yarn PnP when the worker emits a structured log or the inspector forwards a stack trace.getFreshSourceMapSupportwas unconditionally indexingrequire.cache, but whenminiflareisimported from ESM under Yarn PnP, Node's ESM->CJS bridge (loadCJSModuleinnode:internal/modules/esm/translators) hands the wrapped CJS module a re-inventedrequirethat only carries.resolveand.main, with no.cache. Fall back tocreateRequire(__filename)in that case so the fresh-load cache-swap keeps working.v4.20260526.0Compare Source
Patch Changes
#14003
c1fd2fdThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#14011
420e457Thanks @petebacondarwin! - Warn when a remote-bindings request is blocked by Cloudflare AccessWhen
wrangler devis used with remote bindings and a request from the local remote-bindings proxy client to the remote workers.dev proxy server is blocked by Cloudflare Access (HTTP 403 with the Cloudflare Access block page), Wrangler now:CLOUDFLARE_ACCESS_CLIENT_ID/CLOUDFLARE_ACCESS_CLIENT_SECRET(Service Token credentials) or runcloudflared access loginto authenticate.InferenceUpstreamErrorfromenv.AI.run()) and any browser response piped back via a service binding.fetch().Previously the 403 was returned to user code with the full Access HTML, which both drowned out other logs and made it hard to tell that the failure was due to Cloudflare Access on workers.dev rather than a problem in the binding itself or the deployed proxy server. The detection runs inside the proxy client worker (which only ever talks to the remote-bindings proxy URL), so it does not trigger false positives on user-worker 403s.
v4.20260521.0Compare Source
Patch Changes
#13993
0733688Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13999 [
30657e1](https://redConfiguration
📅 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.