Repository navigation
chore(deps): update dependency wrangler to v4 - #555
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
size-limit report 📦
|
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
8 times, most recently
from
March 21, 2025 02:10
c81b62f to
61d49a9
Compare
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
9 times, most recently
from
March 28, 2025 02:41
c370a91 to
6d156e7
Compare
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
9 times, most recently
from
April 4, 2025 10:06
ebeecb1 to
69188a7
Compare
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
3 times, most recently
from
April 5, 2025 05:47
b2a5082 to
5afdbd1
Compare
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
10 times, most recently
from
April 20, 2025 05:13
dedb561 to
622eab4
Compare
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
13 times, most recently
from
April 27, 2025 05:54
f5d2e28 to
1347ae5
Compare
renovate
Bot
force-pushed
the
renovate/wrangler-4.x
branch
6 times, most recently
from
May 2, 2025 02:09
4004eb2 to
21d7980
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
3.114.17→4.156.0Release Notes
cloudflare/workers-sdk (wrangler)
v4.156.0Compare Source
Minor Changes
#16532
25802bcThanks @simonha9! - Allow the experimentalwrangler d1 insightscommand to run across every D1 database in the accountThe database name is now optional. With no name, the command returns the top queries across every D1 database in the account, and each result gains a
databaseIdfield.Patch Changes
#16369
ec0bea4Thanks @MattieTK! - Stop autoconfig in non-interactive runs when a project root holds both static files and a PagesfunctionsdirectoryWhen a project without a detected framework has a
functionsdirectory, autoconfig asks whether it is a Cloudflare Pages project. Non-interactive runs (CI and coding agents) assume it is not and continue as a static site. When the static files are in the project root, that deploys the root as static assets, and the Pages Functions (the project's API routes) are not deployed.In that case autoconfig now stops with an error explaining that Pages Functions cannot be migrated automatically yet. For Pages Functions it suggests moving the static files into a subdirectory and deploying with
wrangler pages deploy, or migrating the Functions to a Worker; for afunctionsdirectory that is not Pages Functions, it suggests moving the static files into a subdirectory or adding a configuration file. Projects whose static files are already in a subdirectory, projects detected as Pages or with a detected framework, and interactive runs where the user answers the prompt are unaffected.#16367
b4653b4Thanks @MattieTK! - Write a protective.assetsignorewhen autoconfig uses the project root as the static assets directoryAutoconfig is meant to write an
.assetsignorewhen the project root itself is the assets directory, so that local files are not uploaded as public assets. The check compared the detected output directory, which is relative ("."), with the absolute project path, so it never matched and no.assetsignorewas written. A static project with anindex.htmlat its root (for example afterwrangler setupor a zero-configwrangler deploy) then uploaded files such as.env,.dev.vars,.gitandnode_modulesas public assets.The check now resolves the assets directory that the generated configuration uses and compares it with the project root, so frameworks that set their own build output directory (such as Nuxt or SvelteKit) do not get an unused root
.assetsignore. The generated.assetsignorealso covers what a Cloudflare Pages upload skips, alongside the existing.wrangler,.dev.vars*and.env*entries:/_worker.js,/_routes.jsonand/functionsat the root (so nested paths such asblog/functions/index.htmlare still uploaded),node_modules,.gitand.DS_Storeat any depth, and.npmrc. If an existing.assetsignoreonly lists a narrower pattern such as.env,.env*is added so that files like.env.productionare skipped too. When the project root of an assets-only project contains a Pagesfunctionsdirectory or_worker.js, autoconfig now warns that it will not be deployed, since it is excluded from the assets and not run as server code.#16532
25802bcThanks @simonha9! - Fail the experimentalwrangler d1 insightscommand with an actionable error when the GraphQL Analytics API rejects the requestPreviously the command printed an empty
[]. Rate limit errors now say how long to wait before retrying, and authorization errors name the "Account Analytics: Read" permission the API token needs.#16013
8b64becThanks @swalker326! - Fix Durable Object self-references in tests and container validationDurable Object bindings that explicitly name the Worker itself now resolve to the test runner in
@cloudflare/vitest-plugin, for bothcloudflare.config.tsand Wrangler configuration files. Named Wrangler environments use their effective Worker name, keeping bindings to the base Worker external. Container validation also accepts these self-references, using the effective deployment name to distinguish local and external bindings.Explicit binding targets remain intact during configuration conversion, so deploying with
--nameor a CI name override preserves the intended Durable Object target.Updated dependencies [
15fbaed,d8899ac]:v4.155.0Compare Source
Minor Changes
#16536
a95d647Thanks @WalshyDev! - Support remote Analytics Engine bindings in local developmentSetting
remote: trueon an Analytics Engine dataset now sendswriteDataPoint()calls fromwrangler devand the Vite plugin to the real dataset. Without it, writes are still dropped locally.{ "analytics_engine_datasets": [ { "binding": "EVENTS", "dataset": "my-dataset", "remote": true } ] }Patch Changes
#16526
dba0e81Thanks @petebacondarwin! - Render terminal control characters as visible text in tail outputPretty tail and remote-preview output now escape control characters in log strings, exceptions and event metadata. Unicode, tabs and multiline logs remain readable, and JSON output keeps the original structured values.
#16489
fc57bc0Thanks @akshitsinha! - Keep Flagship flag metadata when updating flagswrangler flagship flagscommands that update an existing flag, such asenable,set,rollout,split, andrules, no longer clear the flag's metadata.wrangler flagship flags pullnow copies metadata into the local flag store.#16521
ec6edddThanks @petebacondarwin! - Validate.assetsignoreencoding before building asset manifestsAsset uploads and local development now stop with an actionable user error when
.assetsignoreis not valid UTF-8 or contains null characters, instead of silently losing its patterns. This also applies to standalone Miniflare and the Wrangler, Vite and Vitest development integrations. Save the file as UTF-8 to continue; UTF-8 files with a byte order mark and intentionally empty files remain supported.Updated dependencies [
a95d647,c7a3373,c7a3373,c7a3373]:v4.154.0Compare Source
Minor Changes
#16494
0968b08Thanks @petebacondarwin! - Enable Miniflare's development registry by default and centralize path resolutionIn Miniflare v5 beta, resolve the registry from
CLOUDFLARE_DEV_REGISTRY_PATH, then theunsafeDevRegistryPathconstructor option, then<Cloudflare config directory>/dev-registry/v5. The default is independent of legacy Wrangler directories and is scoped to the Miniflare major version. The Vite v2 beta plugin follows this new default, while current Wrangler andgetPlatformProxy()retain Wrangler's legacy default for compatibility with existing Wrangler sessions. Vite v2 and Wrangler therefore require the sameCLOUDFLARE_DEV_REGISTRY_PATHto discover each other; set it for both processes when mixing these tools.Add
enableDevRegistry: falseto disable registration and discovery explicitly. Shared storage now uses the resolved default without requiring an explicit path. As before, shared storage requires an enabled registry to elect a storage owner, so combiningunsafeEnableSharedStorage: truewithenableDevRegistry: falseis rejected. Miniflare no longer readsMINIFLARE_REGISTRY_PATH; useCLOUDFLARE_DEV_REGISTRY_PATHinstead. ExposeresolveDevRegistryPath()for integrations that also read registry files. Wrangler uses the effective path for its runtime configuration, initial bindings display, and Flagship active-session check, so the canonical override cannot bypass that check. An explicitly disabled Wrangler registry remains disabled.Patch Changes
#16499
f3c13b3Thanks @dinasaur404! - Preserve binding error codes and names in local developmentErrors from remote bindings and from Node.js binding proxies (
getPlatformProxy()andMiniflare#getBindings()) now keep their machine-readable properties, such as Artifacts'codeandnumericCode. Previously these properties were dropped and the error name was folded into the message (for example"ArtifactsError: Repository not found"), so code could only branch on error text during local development.Node.js callers also keep custom error names such as
ArtifactsError. Errors from remote bindings received inside a Worker keep their properties but are still namedError.Updated dependencies [
0968b08,f3c13b3]:v4.153.0Minor Changes
#14865
c0e915fThanks @TheSaiEaranti! - Add an--infer-origin-from-routesflag towrangler devWhen a config has
routes, local dev infers the origin from the first route, so the Worker seesrequest.url, theHostheader, and anyOriginheader rewritten to the route's host even though the client connected tolocalhost. That silently breaks Host/Origin-sensitive logic — for example a CORS check allowlistinghttp://localhost:*receiveshttp://<route-host>instead and rejects the request only in local dev.The inference is intentional and remains the default. Passing
--infer-origin-from-routes=falsenow opts out, preserving the real local origin without removingroutesfrom the config. An explicitly configured--host,--local-upstream, ordev.hostcontinues to take precedence either way. The flag only affects local development: in remote mode the route host still determines the preview session as before.#15955
23ef63aThanks @ericclemmons! - Expand dotenv variable references in--secrets-fileinputDotenv files supplied through
--secrets-filetodeploy,versions upload, andpreviewnow expand$VARand${VAR}references using process values and earlier file values. Process environment values override matching file keys, including explicitly empty values. Treat dotenv secrets files as trusted input: they can read and upload any process environment value, such as a CI credential referenced byX=${GITHUB_TOKEN}. In CI, use secrets files whose contents untrusted contributors cannot modify.This changes how existing dotenv secrets files are interpreted: an unset reference becomes an empty string, so
PASSWORD=pa$wordbecomespawhenwordis unset. Escape literal dollar signs with a backslash (PASSWORD=pa\$word), or use a JSON secrets file to preserve values exactly. JSON input and bulk-secret commands, including piped stdin, retain their existing literal parsing.Patch Changes
#16403
5f82a56Thanks @dependabot! - UpdateDEFAULT_COMPAT_DATEto 2026-10-22Use the bundled workerd release's compatibility date by default when scaffolding new projects or when no compatibility date is configured.
#16437
e651d7cThanks @dependabot! - UpdateDEFAULT_COMPAT_DATEto 2026-10-23Use the bundled workerd release's compatibility date by default when scaffolding new projects or when no compatibility date is configured.
#16403
5f82a56Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#16437
e651d7cThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#16476
8a30d8eThanks @tannerlinsley! - Update Undici to 7.30.1 to prevent a malformed HTTP response from crashing development toolsThe updated shared dependency rejects excessive content encodings without leaving an unhandled stream error when the server closes the connection early. This fixes GHSA-xjj6-f33q-929c and keeps the matching Undici types on the same version.
#16485
b7e762dThanks @Cherry! - Fix the Windows keyring install when the config path contains a spaceOn Windows,
wrangler login --use-keyringcould not set up keyring storage when the configuration path contained a space, such as aC:\Users\John Smithprofile, so credentials fell back to the plaintext file. Keyring setup now works for those paths and credentials are stored encrypted.#16405
c709bffThanks @ondraulehla! - Fixkv key listreturning only the first 1000 keys in local modeListing a local namespace with more than 1000 keys stopped after the first 1000 without any warning, so the output looked complete when it wasn't.
kv key listnow returns every key in local mode, with or without--prefix.#16490
bcd618dThanks @petebacondarwin! - Update Zod to 4.6.6 to address GHSA-mrhx-c7xc-m3w5The updated shared dependency fixes excessive memory consumption when validating oversized collections. This updates both the published Zod dependencies and the copies bundled into development tools and Workers.
Updated dependencies [
9e05ade,5f82a56,e651d7c,5f82a56,e651d7c,8a30d8e,bcd618d]:v4.152.0Minor Changes
#14900
08f22d3Thanks @mack-erel! - Support remote Hyperdrive bindings in local development{ "hyperdrive": [ { "binding": "HYPERDRIVE", "id": "<your-hyperdrive-id>", "remote": true } ] }#16357
182d6deThanks @Naapperas! - Add ajurisdictionsetting to WorkflowsA Workflow defined by the Worker can now set the jurisdiction that its instances run and store their data in, on either a
workflowsbinding or aworkflowexport:{ "workflows": [ { "binding": "MY_WORKFLOW", "name": "my-workflow", "class_name": "MyWorkflow", "jurisdiction": "eu" } ] }The accepted values are
eu,fedramp, andus.wrangler deployandwrangler triggers deploysend the jurisdiction when they create or update the Workflow. A Workflow's jurisdiction is set when it is created and cannot be changed afterwards, sowrangler deployandwrangler versions uploadstop before uploading when an existing Workflow has a different jurisdiction from the configured one. Leavingjurisdictionout keeps the Workflow's existing jurisdiction.@cloudflare/configadds the setting toexports.workflow(),cf migratecarries it over, andwrangler workflows describeprints it. Local development ignores it.Patch Changes
#16388
80a9f96Thanks @DevVettel! - Printwrangler auth token --jsonoutput regardless ofWRANGLER_LOGPreviously the JSON was written through the normal log channel, so setting
WRANGLER_LOGtowarn,errorornonemade the command exit successfully with empty stdout. Tools that parse this output, such as the OpenNext Cloudflare adapter in CI, then failed to find any credentials. The JSON is now always printed, like other--jsoncommands.#16361
2878645Thanks @GrosserNL! - Report the R2 bucket location returned by the API when creating a bucketwrangler r2 bucket create --locationprinted the requested location hint even when R2 ignored it. Recreating a deleted bucket name keeps the original location, so the success message could claim a placement the bucket does not have. The command now uses the location from the create response: it mentions the hint only when that location matches, and otherwise reports the location R2 actually applied.Updated dependencies [
08f22d3,a4eb57d]:v4.151.3Compare Source
Patch Changes
#15611
4508172Thanks @taylorlee! - Allowwrangler devto start module Workers without a default exportPreviously,
wrangler devfailed to start module Workers that exported only named entrypoints, such as RPC services, unless an unused default export was added. These Workers now start normally in local development without that workaround.#16370
61fc739Thanks @WalshyDev! - Fetch the remote config diff from the configured compliance regionWhen a Worker was last deployed from the dashboard,
wrangler deployandwrangler versions uploaddownload its remote configuration to compare with the local one. These requests ignored thecompliance_regionfield in the Wrangler configuration file and only honoured theCLOUDFLARE_COMPLIANCE_REGIONenvironment variable. A FedRAMP High Worker configured through the config file would send them toapi.cloudflare.cominstead ofapi.fed.cloudflare.com, and the deploy would fail with authentication errors. They now use the same compliance region as the rest of the deploy.#15846
a88cac4Thanks @oddharsh! - Fail with an error instead of hanging when local dev requests can't work under BunBun's
fetch()ignores the undicidispatcherthat Miniflare routes requests through (oven-sh/bun#39247). Under Bun,createTestHarness()'sserver.fetch()andserver.getWorker()'sfetch(),email()andscheduled()now throw aUserError, requests to the dev server URL get a 503 naming the cause, and starting remote bindings throws aUserError. Each of these used to hang with no error.server.getWorker().getEnv()andgetExport()keep working under Bun.#16359
262021dThanks @tw4! - Stop--strictdeploys and version uploads from aborting when the API omits optional binding fieldsPreviously,
wrangler deploy --strictandwrangler versions upload --strictcould report a destructive change for an unchanged configuration, for example an R2 bucket in the default jurisdiction, because a field the API left out was compared as removed. Missing and unset optional fields are now treated as equal, so these commands proceed when the local configuration matches the deployed Worker.Updated dependencies [
3464abc]:v4.151.2Compare Source
Patch Changes
#16307
37ab91cThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#16352
0ae7926Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
Updated dependencies [
37ab91c,0ae7926]:v4.151.1Compare Source
Patch Changes
#15541
e13d5ccThanks @mack-erel! - Keep remote dev sessions alive through transient network failureswrangler dev --remoteandgetPlatformProxy()refresh their preview token before it expires, but a single failed refresh — for example while the network was briefly down — stopped refreshing for good, leaving the session broken until restart. A failed refresh now retries every minute until it succeeds. Rebuilds also no longer push the refresh past the session's expiry.#16284
42c6912Thanks @karloper! - Fixwrangler rollbackreporting success after the changed secrets confirmation is declinedPreviously, declining the "The following secrets have changed…" confirmation printed "Aborting rollback..." and then also printed a success message and the target version as the "Current Version ID", even though no deployment was made and the original version was still live. Wrangler now stops after aborting, so the output matches what is actually deployed.
#13742
4a5377fThanks @edmundhung! - Hide thewrangler devhotkey bar when Turborepo does not forward inputUpdated dependencies [
e1d1b77]:v4.151.0Compare Source
Minor Changes
#16245
d6b1c82Thanks @WalshyDev! - Include source maps by default inwrangler build --experimental-cf-build-outputBuild Output now matches
wrangler deployandwrangler versions upload, which upload source maps by default, so Workers built for tools likecfget stack traces that point at the original source. Source maps that can't be resolved are skipped rather than failing the build. Setupload_source_maps = falseto opt out.Patch Changes
#16220
97b2fb1Thanks @FlorentCollin! - Support local D1 queries through the experimentald1_binding_jsrpccompatibility flagLocal D1 bindings now implement the RPC query backend used by
D1Database.query()and prepared-statement methods when the flag is enabled. Queries reuse local SQLite execution, including transactional batches, execution metadata, and session bookmarks, while bindings without the flag continue to use HTTP. Update the bundled workerd runtime to1.20261012.1and align the default compatibility date with that release.Updated dependencies [
f360829,97b2fb1,97b2fb1,acd2822]:v4.150.0Compare Source
Minor Changes
#16231
091e5ecThanks @WalshyDev! - Upload source maps by default forwrangler deploy,wrangler versions uploadandwrangler previewWhen
upload_source_mapsisn't set in config or via--upload-source-maps, Wrangler now generates and uploads source maps so stack traces in logs andwrangler tailpoint at your original source without extra setup. In this default mode, source maps that can't be resolved (for example inlinedata:maps or missing.mapfiles from a custom build) are skipped rather than failing the upload. Settingupload_source_maps = truekeeps the existing strict behaviour, andupload_source_maps = false(or--no-upload-source-mapsfor deploy and versions upload) opts out.wrangler build --experimental-cf-build-outputis unchanged and still only includes source maps whenupload_source_maps = true.#16128
daae435Thanks @redsteadz! - Stopwrangler deploy,wrangler versions uploadandwrangler previewin projects that build for the Cloudflare CLI (cf)If your project builds through
cf, deploying it with Wrangler reads a different configuration, so it could update the wrong Worker or fail without explaining why. These commands now stop before uploading anything, name the.cloudflare/outputdirectory they found, and tell you to runcf deployinstead. If that directory is just left over from an earlier build, deleting it restores the Wrangler workflow.Ordinary Wrangler projects are unaffected, and
--dry-runstill works ondeployandversions upload. This is a new guard for the experimental Build Output Specification rather than a fix, and it gives three stable commands a failure mode they did not have before, so it is a minor.Patch Changes
#16161
fcf625dThanks @dario-piotrowicz! - Clarify the Worker not found error during CI deploy validationWrangler now reports that the configured Worker could not be found in the account instead of incorrectly describing the failure as a name mismatch.
#16156
18f061cThanks @armancharan! - Ignore.wranglerwrites in the dev assets watcherwrangler devreloaded in a loop whenassets.directorywas the project root, because the assets watcher treated wrangler's own writes under.wrangleras asset changes and dropped in-flight requests. The watcher now ignores the project's.wranglerdirectory anddev.persist, except when that path is the assets directory.#16025
61e07fdThanks @kohjunhao! - Fix optional Docker lookups printing Docker CLI errors during successful buildscf buildlooks for Container images left behind by earlier builds so it can remove them. This lookup is best effort, but when Docker could not be reached it still printed errors such asCannot connect to the Docker daemon, even when the build succeeded and no image needed Docker. Docker commands whose output Wrangler reads no longer forward the Docker CLI's error output to the terminal. If one of these commands fails in a way that stops the command, the error message still includes the Docker CLI's output.#16151
cafd3f9Thanks @DevVettel! - Time out the OAuth token request instead of waiting indefinitelyThe request that exchanges an authorization code or refresh token for an access token had no timeout, so a stalled connection (for example behind an HTTP proxy) could leave
wrangler loginhanging silently for many minutes after the browser step had succeeded. The request now gives up after 30 seconds and reports that the Cloudflare auth server could not be reached.#15517
ea64ec4Thanks @xgame92! - Preserve binding options when provisioning resources through a redirected configWrangler now writes provisioned resource identifiers to both the redirected and original config files without copying other binding options between them. This prevents generated relative paths such as D1
migrations_dirfrom replacing user-authored paths during Vite deployments.#16219
d232454Thanks @petebacondarwin! - HonorX-Forwarded-Protofor incoming development requests behind TLS-terminating proxiesMiniflare now uses the original client protocol when constructing URLs for network requests. This also prevents Wrangler from downgrading HTTPS URLs in response headers such as
LocationandWWW-Authenticatewhen a tunnel forwards requests over HTTP. Explicit programmatic request URLs and configured upstream origins remain authoritative.Updated dependencies [
5152bf8,9f87de8,9be5ec7,d232454]:v4.149.0Compare Source
Minor Changes
#16036
9a58244Thanks @edevil! - Support temporary event accounts in R2 and Containers commandswrangler r2andwrangler containerscommands now accept the hidden--temporaryflag, so accounts created for an event can manage buckets, objects and containers directly. Every command that supports--temporarynow also accepts a hidden--event-codeflag, so the first command a participant runs can create the event account:wrangler r2 bucket create my-bucket --temporary --event-code <code>R2 and Containers are only available on event accounts. R2 custom domains, Sippy, external container registries and
wrangler cloudchambercommands still require a logged-in account.Patch Changes
#16139
2d1d563Thanks @cpojer! - Update esbuild to 0.28.2Align esbuild dependency with tooling using the latest 0.28 patch so package managers can share one installation instead of downloading a second native binary.
#15632
85b14e7Thanks @petebacondarwin! - Honor Retry-After directives during static asset uploadsStatic asset uploads now pause retries and pending uploads until the latest outstanding deadline requested by the API. A per-request limiter also keeps gateway retries at the reduced concurrency after the pause ends, preventing a deployment from immediately overloading a constrained asset service again.
#16098
fe607f9Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#16093
ad7ff45Thanks @DiogoSantoss! - Document thataddressescatch-all entries must use the zone apexA
*@domainentry inaddressesmust use the zone apex, such as*@example.com. The zone catch-all also receives mail for every subdomain in the zone that has no literal rule.#16102
757faa6Thanks @tlq5l! - Keep Preview secrets when deploying to an existing PreviewSecrets added to a Preview with
wrangler preview secret putorwrangler preview secret bulkwere lost the next timewrangler previewran, because each new deployment was created from the Wrangler config,--varand--secrets-filevalues only.wrangler previewnow carries over the secrets of the Preview's latest deployment. A value passed in this deployment (--secrets-file,--varor apreviewsbinding with the same name) still replaces the existing secret, andwrangler preview secret deleteremoves one.#15617
93c1069Thanks @jpatel3! - Stop the update check from recommending deprecated versionsPreviously, the "update available" notice shown by
wranglerand@cloudflare/vite-pluginalways pointed at whichever version was taggedlateston npm, even after that version had been deprecated for shipping a bug. Deprecated versions are now never recommended: if the latest release has been deprecated, the newest non-deprecated stable release below it is suggested instead, or nothing at all if you are already on it.The check now reads the npm registry directly instead of going through the
update-checkpackage, which discarded the deprecation information. The on-disk cache location and one-hour refresh interval are unchanged.#16003
6947df3Thanks @oddharsh! - Shipusingandawait usingdeclarations to the runtime as written, for smaller Worker bundlesWorkers and Pages Functions that use explicit resource management no longer carry about 1 KB of bundled helper code to emulate it. workerd supports
usingandawait usingnatively at every compatibility date, sowrangler deploy,wrangler versions uploadand Pages Functions builds now leave these declarations untouched.#15958
82acf3cThanks @breken-ai! - Apply each action's own condition inwrangler r2 bucket lifecycle addWhen a lifecycle rule was added with both expiration and Infrequent Access transition flags, both actions read their condition from the same list of flags, which checked
--expire-daysfirst.--expire-days 365 --ia-transition-days 30therefore transitioned objects after 365 days instead of 30, and--expire-date 2027-01-01 --ia-transition-days 30deleted objects after 30 days instead of on the given date. Expiration now only reads--expire-days/--expire-date, and transition only reads--ia-transition-days/--ia-transition-date.Updated dependencies [
2d1d563,e6f7663,fe607f9,8de6b3c,ae29445,cc8e969,417b186]:v4.148.0Compare Source
Minor Changes
#16051
b4e1299Thanks @devteamaegis! - Add--source-namespaceand--source-repo-nametowrangler queues subscription createfor theartifacts.reposourceThe Event Subscriptions API requires
source.namespaceandsource.repo_nameforartifacts.reposubscriptions, but Wrangler had no way to pass them, so--source artifacts.repoalways failed with a validation error. Both flags are now required for this source, andwrangler queues subscription getshows the subscription's resource as<namespace>/<repo-name>.#15998
b75421fThanks @dario-piotrowicz! - Addassets.base_pathsupport to Workers AssetsServe an asset directory from a public URL prefix without changing its on-disk layout:
{ "assets": { "directory": "./public", "base_path": "/docs" } }Wrangler, preview, Miniflare, and generated build configuration preserve the explicitly selected value, while the Asset Worker normalizes it and strips the prefix only for asset lookup. Requests passed to a user Worker, request-facing headers, and redirects retain the public path. Relative pathname inputs are interpreted as root-relative prefixes, URL-shaped values are rejected, and omitting the option preserves existing root-path behavior.
Authored
_headersand_redirectsrules continue to match full public paths. In particular, both the source and destination of an authored200asset rewrite must include the configured public prefix; Asset Worker-generated redirects are prefixed automatically.#16005
4d308f6Thanks @oOPa! - Add a--experimental-mode instantoption towrangler kv namespace createThis lets entitled accounts create Workers KV Instant namespaces while the feature is in private beta.
#16030
aa2f9b7Thanks @edmundhung! - Add email-protected Quick Tunnels towrangler devPass one or more
--tunnel-allowed-mailflags to require email authentication when exposing a local development server through a Quick Tunnel. Each value can be an exact email address or a domain pattern.#15283
2dde890Thanks @shubhxho! - Support deleting secrets withwrangler versions secret bulkSet a secret's value to
nullin JSON input to remove it from the new Worker version. Bulk output now distinguishes between created and deleted secrets, so retryingwrangler secret bulkwithwrangler versions secret bulkpreserves requested deletions. Deploy the new version withwrangler versions deployto apply the changes to production traffic.Patch Changes
#15534
2b1a0caThanks @vahidshaik1901! - Improve guidance for conflicting Wrangler configuration filesWhen user and generated deploy configurations are found under different base paths, Wrangler now identifies the expected deploy configuration location, suggests how to resolve the conflict, and links to the relevant documentation.
#16014
c492d63Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#16079
ba52118Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15573
14f0339Thanks @xgame92! - Include default module rules in generated Worker typeswrangler typesnow declares the built-in Text, Data, and WebAssembly module patterns even when they are not repeated in the Wrangler configuration, keeping generated types aligned with deployment behavior.Service-worker declaration files are emitted as global scripts so that the generated wildcard module types are visible to imports.
Directory-specific rules retain their scope when TypeScript can represent it; ambiguous relative imports use a union of the possible deployed module types.
When generating combined types for named environments, each environment's effective rules are resolved independently and differing import types are represented as unions.
[#15261](h
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.
🔕 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.