Open
Conversation
Contributor
Coverage Report
File CoverageNo changed files found. |
b4ac738 to
cb2ca63
Compare
cd4afcb to
ae7a74e
Compare
ae7a74e to
7ba0cda
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:
4.20260329.1→4.20260415.14.1.2→4.1.4bd52af5→3c505664.1.2→4.1.44.78.0→4.83.0Release Notes
cloudflare/workerd (@cloudflare/workers-types)
v4.20260415.1Compare Source
v4.20260414.1Compare Source
v4.20260413.1Compare Source
v4.20260412.2Compare Source
v4.20260412.1Compare Source
v4.20260411.1Compare Source
v4.20260410.1Compare Source
v4.20260409.1Compare Source
v4.20260408.1Compare Source
v4.20260405.1Compare Source
v4.20260404.1Compare Source
v4.20260403.1Compare Source
v4.20260402.1Compare Source
v4.20260401.1Compare Source
v4.20260331.1Compare Source
vitest-dev/vitest (@vitest/coverage-v8)
v4.1.4Compare Source
🚀 Features
skipFullif agent detected - by @hi-ogawa in #10018 (53757)assertionas a public field - by @sheremet-va in #10095 (a120e)🐞 Bug Fixes
expect(..., message)consistent as error message prefix - by @hi-ogawa and Codex in #10068 (a1b5f)View changes on GitHub
v4.1.3Compare Source
🚀 Experimental Features
experimental.preParseflag - by @sheremet-va in #10070 (78273)browser.locators.exactoption - by @sheremet-va in #10013 (48799)TestAttachment.bodyEncoding- by @hi-ogawa in #9969 (89ca0)🐞 Bug Fixes
expect.pollinterval - by @hi-ogawa and Claude Sonnet 4.6 in #10022 (3f5bf)@vitest/coverage-v8and@vitest/coverage-istanbulas optional dependency - by @alan-agius4 in #10025 (146d4)defineHelperfor webkit async stack trace + update playwright 1.59.0 - by @hi-ogawa in #10036 (5a5fa)JestExtendError.contextfrom verbose error reporting - by @hi-ogawa in #9983 (66751)vitest- by @hi-ogawa and Codex in #10042 (691d3)View changes on GitHub
cloudflare/workers-sdk (wrangler)
v4.83.0Minor Changes
#13391
60565ddThanks @mikenomitch! - Markwrangler containerscommands as stableThis changes the status of the Containers CLI from open beta to stable. Wrangler no longer shows
[open beta]labels or beta warning text forwrangler containerscommands, so the help output matches the feature's current availability.#13311
6cbcdebThanks @ryanking13! - JS files imported by the Python Workers runtime SDK are now handled as ESM modules.This is not a user-facing change, but Python Workers users should update their wrangler version to make sure to get Python workers SDK working properly.
Patch Changes
#13450
6f63eaaThanks @petebacondarwin! - Fix POST/PUT requests with non-2xx responses throwing "fetch failed"Previously, sending a POST or PUT request that received a non-2xx response (e.g. 401, 400, 403) would throw a
TypeError: fetch failederror. This was caused by an undici bug whereisTraversableNavigable()incorrectly returnedtrue, causing the 401 credential-retry block to execute in Node.js and fail on stream-backed request bodies. This has been fixed upstream in undici v7.24.8, so we've bumped our dependency and removed the previous pnpm patch workaround.#13447
aef9825Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13475
eaaa728Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13386
5e5bbc1Thanks @mksglu! - Make startup network requests non-blocking on slow connectionsWrangler makes network requests during startup (npm update check,
request.cfdata fetch) that previously blocked the CLI indefinitely on slow or degraded connections (airplane wifi, trains), causing 10+ second delays.update-checklibrary's auth-retry path.request.cffetch: The fetch toworkers.cloudflare.com/cf.jsonnow usesAbortSignal.timeout(3000), falling back to cached/default data on timeout.#13469
07a918cThanks @1000hz! -wrangler previewno longer warns on inheritable binding types being missing frompreviewsconfig.#13463
90aee27Thanks @roerohan! - Remove unnecessaryflagship:readOAuth scopeThe
flagship:readscope is not needed sinceflagship:writealready implies read access. This reduces the OAuth permissions requested during login to only what is required.Updated dependencies [
854d66c,6f63eaa,aef9825,eaaa728,58292f6,5e5bbc1,d5ff5a4,89c7829]:v4.82.2Compare Source
Patch Changes
9b2b6baThanks @jamesopstad! - Add Flagship OAuth scopes towrangler loginv4.82.1Compare Source
Patch Changes
#13453
6b11b07Thanks @petebacondarwin! - Disable flagship OAuth scopes that are not yet valid in the Cloudflare backendThe
flagship:readandflagship:writeOAuth scopes have been temporarily commented out from the default scopes requested during login, as they are not yet recognized by the Cloudflare backend.#13438
dd4e888Thanks @dependabot! - fix: handle Vike config files that use a variable-referenced default exportNewer versions of
create-vike(0.0.616+) generatepages/+config.tsfiles usingconst config: Config = { ... }; export default config;instead of the previousexport default { ... } satisfies Config;. The Wrangler autoconfig AST transformation now resolvesIdentifierexports to their variable declarations, supporting both old and new Vike config file formats.v4.82.0Compare Source
Minor Changes
#13353
5338bb6Thanks @mattzcarey! - Addartifacts:writeto Wrangler's default OAuth scopes, enablingwrangler loginto request access to Cloudflare Artifacts (registries and artifacts).#13139
79fd529Thanks @roerohan! - feat: add Flagship feature flag binding supportAdds end-to-end support for the Flagship feature flag binding, which allows Workers to evaluate feature flags from Cloudflare's Flagship service. Configure it in
wrangler.jsonwith aflagshiparray containingbindingandapp_identries. In local dev, the binding returns default values for all flag evaluations; use"remote": truein the binding to evaluate flags against the live Flagship service.#12983
28bc2beThanks @1000hz! - Added thewrangler previewcommand family for creating Preview deployments (currently in private beta).#13197
4fd138bThanks @shahsimpson! - Addpreviewoutput-file entries forwrangler previewdeploymentswrangler previewnow writes apreviewentry to the Wrangler output file whenWRANGLER_OUTPUT_FILE_PATHorWRANGLER_OUTPUT_FILE_DIRECTORYis configured. The entry includes the Worker name, preview metadata (preview_id,preview_name,preview_slug,preview_urls) and deployment metadata (deployment_id,deployment_urls).This makes preview command runs machine-readable in the same output stream as other Wrangler commands, which helps CI integrations consume preview URLs and IDs directly.
#13159
bafb96bThanks @ruifigueira! - Addwrangler browsercommands for managing Browser Rendering sessionsNew commands for Browser Rendering DevTools:
wrangler browser create [--lab] [--keepAlive <seconds>] [--open]- Create a new sessionwrangler browser close <sessionId>- Close a sessionwrangler browser list- List active sessionswrangler browser view [sessionId] [--target <selector>] [--open]- View a live browser sessionThe
viewcommand auto-selects when only one session exists, or prompts for selection when multiple are available.The
--openflag controls whether to open DevTools in browser (default: true in interactive mode, false in CI/scripts). Use--no-opento just print the DevTools URL.All commands support
--jsonfor programmatic output. Also addsbrowser:writeOAuth scope towrangler login.#13392
2589395Thanks @emily-shen! - Add telemetry to local REST APIThe local REST API (used by the local explorer) now collects anonymous usage telemetry. This respects any existing telemetry preferences, which can be disabled by running the command
wrangler telemetry disable.This only applies when the dev session is started via Wrangler, and not via the Vite plugin or standalone Miniflare.
No actual data values, keys, query contents, or resource IDs are collected.
Event schema:
{ "event": "localapi.<route>.<method>", // e.g. localapi.kv.keys.get "deviceId": "<uuid>", "timestamp": 1234567890, "properties": { "userAgent": "Mozilla/5.0 ...", // Only for localapi.local.workers.get: "workerCount": 2, "kvCount": 3, "d1Count": 1, "r2Count": 0, "doCount": 1, "workflowsCount": 0 } }Note: the Local Explorer and corresponding local REST API is still an experimental feature.
#13137
1313275Thanks @emily-shen! - explorer: expose the local explorer hotkeyList the local explorer's hotkey
[e]in wrangler dev output.Patch Changes
#13393
c50cb5bThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13424
525a46bThanks @paulelliotco! - Keep proxy notices off stdout for JSON Wrangler commandsWrangler now writes the startup notice for
HTTP_PROXYandHTTPS_PROXYto stderr instead of stdout. This keeps commands likewrangler auth token --jsonmachine-readable when a proxy is configured.Updated dependencies [
79fd529,c50cb5b,2589395,5eff8c1]:v4.81.1Compare Source
Patch Changes
#13337
c510494Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13362
8b71ecaThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13329
7ca6f6eThanks @G4brym! - fix: Treat AI Search bindings as always-remote in local devAI Search namespace (
ai_search_namespaces) and instance (ai_search) bindings are always-remote (they have no local simulation), butpickRemoteBindings()did not include them in its always-remote type list. This caused the remote proxy session to exclude these bindings whenremote: truewas not explicitly set in the config, resulting in broken AI Search bindings duringwrangler dev.Additionally,
removeRemoteConfigFieldFromBindings()in the deploy config-diff logic was not stripping theremotefield from AI Search bindings, which could cause false config diffs during deployment.Updated dependencies [
42c7ef0,c510494,8b71eca,a42e0e8]:v4.81.0Compare Source
Minor Changes
#12932
96ee5d4Thanks @thomasgauvin! - feat: addwrangler email routingandwrangler email sendingcommandsEmail Routing commands:
wrangler email routing list- list zones with email routing statuswrangler email routing settings <domain>- get email routing settings for a zonewrangler email routing enable/disable <domain>- enable or disable email routingwrangler email routing dns get/unlock <domain>- manage DNS recordswrangler email routing rules list/get/create/update/delete <domain>- manage routing rules (usecatch-allas the rule ID for the catch-all rule)wrangler email routing addresses list/get/create/delete- manage destination addressesEmail Sending commands:
wrangler email sending list- list zones with email sendingwrangler email sending settings <domain>- get email sending settings for a zonewrangler email sending enable <domain>- enable email sending for a zone or subdomainwrangler email sending disable <domain>- disable email sending for a zone or subdomainwrangler email sending dns get <domain>- get DNS records for a sending domainwrangler email sending send- send an email using the builder APIwrangler email sending send-raw- send a raw MIME email messageAlso adds
email_routing:writeandemail_sending:writeOAuth scopes towrangler login.Patch Changes
#13241
7d318e1Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13305
fa6d84fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13193
78cbe37Thanks @dario-piotrowicz! - During autoconfig filter out Hono when there are 2 detected frameworksDuring the auto-configuration process Hono is now treated as an auxiliary framework (like Vite) and automatically filtered out when two frameworks are detected (before Hono was being filtered out only when the other framework was Waku).
#13205
6fa5dfdThanks @petebacondarwin! - fix: useformatConfigSnippetfor compatibility_date warning inwrangler devThe compatibility_date warning shown when no date is configured in
wrangler devwas hardcoded in TOML format. This now usesformatConfigSnippetto render the snippet in the correct format (TOML or JSON) based on the user's config file type.Updated dependencies [
a3e3b57,7d318e1,fa6d84f,7d318e1,7a60d4b]:v4.80.0Compare Source
Minor Changes
#13151
9c4035bThanks @G4brym! - Add type generation for AI Search bindingsRunning
wrangler typesnow generatesAiSearchNamespaceandAiSearchInstancetypes forai_search_namespacesandai_searchconfig bindings respectively. Both simple and per-environment modes are supported.#13011
b9b7e9dThanks @ruifigueira! - Add experimental headful browser rendering support for local developmentWhen developing locally with the Browser Rendering API, you can enable headful (visible) mode via the
X_BROWSER_HEADFULenvironment variable to see the browser while debugging:Note: when using
@cloudflare/playwright, two Chrome windows may appear — the initial blank page and the one created bybrowser.newPage(). This is expected behavior due to how Playwright handles browser contexts via CDP.#12992
48d83caThanks @RiscadoA! - Addvpc_networksbinding support for routing Worker traffic through a Cloudflare Tunnel or network.{ "vpc_networks": [ // Route through a specific Cloudflare Tunnel { "binding": "MY_FIRST_VPC", "tunnel_id": "<tunnel-id>" }, // Route through the Cloudflare One mesh network { "binding": "MY_SECOND_VPC", "network_id": "cf1:network" } ] }Patch Changes
#13155
5d29055Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13162
fb67a18Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13136
ab44870Thanks @petebacondarwin! - Display build errors for auxiliary workers in multi-worker modePreviously, when running
wrangler devwith multiple-cconfig flags (multi-worker mode), build errors from auxiliary/secondary workers were only logged at debug level, causing Wrangler to silently hang. Build errors from all workers are now displayed at error level so you can see what went wrong and fix it.#12992
48d83caThanks @RiscadoA! - Fix remote proxy worker not catching errors thrown by bindings duringwrangler dev#13238
b2f53eaThanks @guybedford! - Fix source phase imports in bundled and non-bundled WorkersWrangler now preserves
import sourcesyntax when it runs esbuild, including module format detection and bundled deploy output. This fixes both--no-bundleand bundled deployments for Workers that import WebAssembly using source phase imports.#10126
14e72ebThanks @nekoze1210! - fix: Sort D1 migration files to ensure consistent chronological orderingwrangler d1 migrations listandwrangler d1 migrations applypreviously returned migration files in an order dependent on the filesystem, which could vary across operating systems. Migration filenames are now sorted alphabetically before being returned, ensuring consistent chronological ordering.#13150
4dc94fdThanks @dario-piotrowicz! - Polish Cloudflare Vite plugin installation during autoconfigProjects using Vite 6.0.x were rejected by auto-configuration because the minimum supported version was set to 6.1.0 (the
@cloudflare/vite-pluginpeer dependency). The minimum version check is now 6.0.0, and when a project has Vite in the [6.0.0, 6.1.0) range, auto-configuration will automatically upgrade it to the latest 6.x before installing@cloudflare/vite-plugin.#13051
d5bffdeThanks @dario-piotrowicz! - Use today's date as the default compatibility datePreviously, when generating a compatibility date for new projects or when no compatibility date was configured, the date was resolved by loading the locally installed
workerdpackage viaminiflare. This approach was unreliable in some package manager environments (notablypnpm). The logic now simply uses today's date instead, which is always correct and works reliably across all environments.Updated dependencies [
5d29055,fb67a18,d5bffde,b9b7e9d,b2f53ea,48d83ca]:v4.79.0Compare Source
Minor Changes
#12868
ffbc268Thanks @danielgek! - Addwrangler ai-searchcommand namespace for managing Cloudflare AI Search instancesIntroduces a CLI surface for the Cloudflare AI Search API (open beta), including:
ai-search list,create,get,update,deleteai-search searchwith repeatable--filter key=valueflagsai-search statsThe
createcommand uses an interactive wizard to guide configuration. All commands require authentication viawrangler login.#13097
cd0e971Thanks @pombosilva! - Add--localflag to Workflows commands for interacting with local devAll Workflows CLI commands now support a
--localflag that targets a runningwrangler devsession instead of the Cloudflare production API. This uses the/cdn-cgi/explorer/api/workflowsendpoints served by the local dev server.By default, commands continue to hit remote (production). Pass
--localto opt in, and optionally--portto specify a custom dev server port (defaults to 8787).Patch Changes
#13050
ed20a9bThanks @dario-piotrowicz! - Add minimum and maximum version checks for frameworks during auto-configurationWhen Wrangler automatically configures a project, it now validates the installed version of the detected framework before proceeding:
#13111
f214760Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#13079
746858aThanks @penalosa! - FixgetPlatformProxyandunstable_getMiniflareWorkerOptionscrashing whenassetsis configured without adirectorygetPlatformProxyandunstable_getMiniflareWorkerOptionsnow skip asset setup when the config has anassetsblock but nodirectory— instead of throwing "missing requireddirectoryproperty". This happens when an external tool like@cloudflare/vite-pluginhandles asset serving independently.#13112
9aad27fThanks @dario-piotrowicz! - Fix autoconfig failing onwakuprojects that usehonoWaku has a tight integration with Hono, causing both to be detected simultaneously and triggering a "multiple frameworks found" error. Hono is now filtered out when Waku is also detected.
#13113
1fc5518Thanks @dario-piotrowicz! - Skip lock file warning for static projects during autoconfigPreviously, running autoconfig on a static project (one with no framework detected) would emit a misleading warning about a missing lock file, suggesting the project might be in a workspace. Since static projects don't require a lock file, this warning is now suppressed for them.
#13072
b539dc7Thanks @jbwcloudflare! - Skip unnecessaryGET /versions?deployable=trueAPI call inwrangler versions deploywhen all version IDs are explicitly provided and--yesis passedWhen deploying a specific version non-interactively (e.g.
wrangler versions deploy <id> --yes), Wrangler previously always fetched the full list of deployable versions to populate the interactive selection prompt — even though the prompt is skipped entirely when--yesis used and all versions are already specified. The deployable-versions list is now only fetched when actually needed (i.e. when no version IDs are provided, or when running interactively).#13115
2565b1dThanks @dario-piotrowicz! - Improve error message when the assets directory path points to a file instead of a directoryPreviously, if the path provided as the assets directory (via
--assetsflag orassets.directoryconfig) pointed to an existing file rather than a directory, Wrangler would throw an unhelpfulENOTDIRsystem error when trying to read the_redirectsfile inside it. Now Wrangler detects this condition earlier and throws a clear user error.Updated dependencies [
9eff028,f214760,9282493,a532eea,d4c6158]:Configuration
📅 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.