This repository was archived by the owner on Mar 24, 2025. It is now read-only.
chore(deps): update dependency wrangler to v4 #39
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.57.1->^4.0.0Release Notes
cloudflare/workers-sdk (wrangler)
v4.0.0Compare Source
Major Changes
#7334
869ec7bThanks @penalosa! - Use--localby default forwrangler kv keyandwrangler r2 objectcommands#7334
869ec7bThanks @dario-piotrowicz! - chore: remove deprecatedgetBindingsProxyremove the deprecated
getBindingsProxyutility which has been replaced withgetPlatformProxy#7334
869ec7bThanks @penalosa! - Remove the deprecated--formatargument onwrangler deployandwrangler dev.Remove deprecated config fields:
typewebpack_configminiflarebuild.uploadzone_idusage_modelexperimental_serviceskv-namespaces#7334
869ec7bThanks @rozenmd! - Removewrangler d1 backupsThis change removes
wrangler d1 backups, a set of alpha-only commands that would allow folks to interact with backups of their D1 alpha DBs.For production D1 DBs, you can restore previous versions of your database with
wrangler d1 time-traveland export it at any time withwrangler d1 export.Closes #7470
#7334
869ec7bThanks @rozenmd! - Remove--batch-sizeas an option forwrangler d1 executeandwrangler d1 migrations applyThis change removes the deprecated
--batch-sizeflag, as it is no longer necessary to decrease the number of queries wrangler sends to D1.Closes #7470
#7334
869ec7bThanks @rozenmd! - Remove alpha support fromwrangler d1 migrations applyThis change removes code that would take a backup of D1 alpha databases before proceeding with applying a migration.
We can remove this code as alpha DBs have not accepted queries in months.
Closes #7470
#7334
869ec7bThanks @penalosa! - Remove the deprecatedwrangler generatecommand. Instead, use the C3 CLI to create new projects: https://developers.cloudflare.com/pages/get-started/c3/#7334
869ec7bThanks @penalosa! - Remove the deprecatedwrangler init --no-delegate-c3command.wrangler initis still available, but will always delegate to C3.#7334
869ec7bThanks @penalosa! - Remove support for legacy assets.This removes support for legacy assets using the
--legacy-assetsflag orlegacy_assetsconfig field. Instead, you should use Workers Assets#7334
869ec7bThanks @penalosa! - Remove the deprecatedwrangler publishcommand. Instead, usewrangler deploy, which takes exactly the same arguments.Additionally, remove the following deprecated commands, which are no longer supported.
wrangler configwrangler previewwrangler routewrangler subdomainRemove the following deprecated command aliases:
wrangler secret:*, replaced bywrangler secret *wrangler kv:*, replaced bywrangler kv *#7334
869ec7bThanks @penalosa! - Remove the deprecatedwrangler versioncommand. Instead, usewrangler --versionto check the current version of Wrangler.#7334
869ec7bThanks @penalosa! - The--node-compatflag andnode_compatconfig properties are no longer supported as of Wrangler v4. Instead, use thenodejs_compatcompatibility flag. This includes the functionality from legacynode_compatpolyfills and natively implemented Node.js APIs. See https://developers.cloudflare.com/workers/runtime-apis/nodejs for more information.If you need to replicate the behaviour of the legacy
node_compatfeature, refer to https://developers.cloudflare.com/workers/wrangler/migration/update-v3-to-v4/ for a detailed guide.#7334
869ec7bThanks @threepointone! - chore: update esbuildThis patch updates esbuild from 0.17.19 to 0.24.2. That's a big bump! Lots has gone into esbuild since May '23. All the details are available at https://github.com/evanw/esbuild/blob/main/CHANGELOG.md / https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md.
We now support all modern JavasScript/TypeScript features suported by esbuild (as of December 2024). New additions include standard decorators, auto-accessors, and the
usingsyntax.0.18 introduced wider support for configuration specified via
tsconfig.jsonhttps://github.com/evanw/esbuild/issues/3019. After observing the (lack of) any actual broken code over the last year for this release, we feel comfortable releasing this without considering it a breaking change.0.19.3 introduced support for import attributes
While we don't currently expose the esbuild configuration for developers to add their own plugins to customise how modules with import attributes are bundled, we may introduce new "types" ourselves in the future.
0.19.0 introduced support for wildcard imports. Specifics here (https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md#0190). tl;dr -
These 2 patterns will bundle all files that match the glob pattern into a single file.
This pattern will NOT bundle any matching patterns:
You can use
find_additional_modulesto bundle any additional modules that are not referenced in the code but are required by the project.Now, this MAY be a breaking change for some. Specifically, if you were previously using the pattern (that will now include all files matching the glob pattern in the bundle), BUT
find_additional_moduleswas NOT configured to include some files, those files would now be included in the bundle. For example, consider this code:Imagine if in that folder, you had these 3 files:
And your
wrangler.tomlwas:Before this update:
http://localhost:8787/would error. For example, a request tohttp://localhost:8787/one.jswould error with No such module "one.js".wrangler.tomlto include all.jsfiles in thesrcfolder:Now, a request to
http://localhost:8787/one.jswould return the contents ofsrc/one.js, but a request tohttp://localhost:8787/hidden/secret.jswould error with No such module "hidden/secret.js". To include this file, you could expand therulesarray to be:Then, a request to
http://localhost:8787/hidden/secret.jswill return the contents ofsrc/hidden/secret.js.After this update:
Now, a request to
http://localhost:8787/one.jswill return the contents ofsrc/one.js, but a request tohttp://localhost:8787/hidden/secret.jswill ALSO return the contents ofsrc/hidden/secret.js. THIS MAY NOT BE WHAT YOU WANT. You can "fix" this in 2 ways:Now, no extra modules are included in the bundle, and a request to
http://localhost:8787/hidden/secret.jswill throw an error. You can use thefind_additional_modulesfeature to include it again.Further, there may be some files that aren't modules (js/ts/wasm/text/binary/etc) that are in the folder being included (For example, a
photo.jpgfile). This pattern will now attempt to include them in the bundle, and throw an error. It will look like this:[ERROR] No loader is configured for ".png" files: src/photo.jpgTo fix this, simply move the offending file to a different folder.
In general, we DO NOT recommend using the wildcard import pattern. If done wrong, it can leak files into your bundle that you don't want, or make your worker slightly slower to start. If you must use it (either with a wildcard import pattern or with
find_additional_modules) you must be diligent to check that your worker is working as expected and that you are not leaking files into your bundle that you don't want. You can configure eslint to disallow dynamic imports like this:#7334
869ec7bThanks @pmiguel! - Remove worker name prefix from KV namespace createWhen running
wrangler kv namespace create <name>, previously the name of the namespace was automatically prefixed with the worker title, orworker-when running outside the context of a worker.After this change, KV namespaces will no longer get prefixed, and the name used is the name supplied, verbatim.
#7334
869ec7bThanks @penalosa! - Packages in Workers SDK now support the versions of Node that Node itself supports (Current, Active, Maintenance). Currently, that includes Node v18, v20, and v22.Minor Changes
#7334
869ec7bThanks @emily-shen! - Include runtime types in the output ofwrangler typesby defaultwrangler typeswill now produce one file that contains bothEnvtypes and runtime types based on your compatibility date and flags. This is located atworker-configuration.d.tsby default.This behaviour was previously gated behind
--experimental-include-runtime. That flag is no longer necessary and has been removed. It has been replaced by--include-runtimeand--include-env, both of which are set totrueby default. If you were previously using--x-include-runtime, you can drop that flag and remove the separateruntime.d.tsfile.If you were previously using
@cloudflare/workers-typeswe recommend you run uninstall (e.g.npm uninstall @​cloudflare/workers-types) and runwrangler typesinstead. Note that@cloudflare/workers-typeswill continue to be published.#7334
869ec7bThanks @penalosa! - feat: prompt users to rerunwrangler typesduringwrangler devIf a generated types file is found at the default output location of
wrangler types(worker-configuration.d.ts), remind users to rerunwrangler typesif it looks like they're out of date.Patch Changes
869ec7b,869ec7b]:v3.114.1Compare Source
Patch Changes
#8383
8d6d722Thanks @matthewdavidrodgers! - Make kv bulk put --local respect base64:trueThe bulk put api has an optional "base64" boolean property for each key.
Before storing the key, the value should be decoded from base64.
For real (remote) kv, this is handled by the rest api. For local kv, it
seems the base64 field was ignored, meaning encoded base64 content was
stored locally rather than the raw values.
To fix, we need to decode each value before putting to the local
miniflare namespace when base64 is true.
#8273
e3efd68Thanks @penalosa! - Support AI, Vectorize, and Images bindings when using@cloudflare/vite-plugin#8427
a352798Thanks @vicb! - update unenv-preset dependency to fix bug with Performance globalFixes #8407
Fixes #8409
Fixes #8411
#8390
53e6323Thanks @GregBrimble! - Parse and apply metafiles (_headersand_redirects) inwrangler devfor Workers Assets#8392
4d9d9e6Thanks @jahands! - fix: retry zone and route lookup API callsIn rare cases, looking up Zone or Route API calls may fail due to transient errors. This change improves the reliability of
wrangler deploywhen these errors occur.Also fixes a rare issue where concurrent API requests may fail without correctly throwing an error which may cause a deployment to incorrectly appear successful.
Updated dependencies [
8242e07,53e6323]:v3.114.0Compare Source
Minor Changes
7b6b0c2Thanks @jonesphillip! - Deprecated--idparameter in favor of--namefor both thewrangler r2 bucket lifecycleandwrangler r2 bucket lockcommandsv3.113.0Compare Source
Minor Changes
bca1fb5Thanks @vicb! - Use the unenv preset for Cloudflare from@cloudflare/unenv-presetPatch Changes
#8338
2d40989Thanks @GregBrimble! - feat: Upload _headers and _redirects if present with Workers Assets as part ofwrangler deployandwrangler versions upload.#8288
cf14e17Thanks @CarmenPopoviciu! - feat: Add assets Proxy Worker skeleton in miniflareThis commit implements a very basic Proxy Worker skeleton, and wires it in the "pipeline" miniflare creates for assets. This Worker will be incrementally worked on, but for now, the current implementation will forward all incoming requests to the Router Worker, thus leaving the current assets behaviour in local dev, the same.
This is an experimental feature available under the
--x-assets-rpcflag:wrangler dev --x-assets-rpc.#8216
af9a57aThanks @ns476! - Support Images binding inwrangler types#8304
fbba583Thanks @jahands! - chore: add concurrency and caching for Zone IDs and Workers routes lookupsWorkers with many routes can result in duplicate Zone lookups during deployments, making deployments unnecessarily slow. This compounded by the lack of concurrency when making these API requests.
This change deduplicates these requests and adds concurrency to help speed up deployments.
Updated dependencies [
2d40989,da568e5,cf14e17,79c7810]:v3.112.0Compare Source
Minor Changes
#8256
f59d95bThanks @jbwcloudflare! - Add two new Queues commands: pause-delivery and resume-deliveryThese new commands allow users to pause and resume the delivery of messages to Queue Consumers
Patch Changes
#8274
fce642dThanks @emily-shen! - fix bindings to entrypoints on the same worker in workers with assets#8201
2cad136Thanks @ichernetsky-cf! - fix: interactively list Cloudchamber deployments using labels#8289
a4909cbThanks @penalosa! - Add the experimental--x-assets-rpcflag to gate feature work to support JSRPC with Workers + Assets projects.Updated dependencies [
fce642d,a4909cb]:v3.111.0Compare Source
Minor Changes
36ef9c6Thanks @jkoe-cf! - Added wrangler r2 commands for bucket lock configurationPatch Changes
#8248
1cb2d34Thanks @GregBrimble! - feat: Omits Content-Type header for files of an unknown extension in Workers Assets#7977
36ef9c6Thanks @jkoe-cf! - fixing the format of the R2 lifecycle rule date input to be parsed as string instead of numberv3.110.0Compare Source
Minor Changes
6dd1e23Thanks @CarmenPopoviciu! - Add--cwdglobal argument to thewranglerCLI to allow changing the current working directory before running any command.Patch Changes
#8191
968c3d9Thanks @vicb! - Optimize global injection in node compat mode#8247
a9a4c33Thanks @GregBrimble! - feat: Omits Content-Type header for files of an unknown extension in Workers AssetsUpdated dependencies [
a9a4c33,6cae13a]:v3.109.3Compare Source
Patch Changes
eb46f98Thanks @edmundhung! - fix:unstable_splitSqlQueryshould ignore comments when splitting sql into statementsv3.109.2Compare Source
Patch Changes
#7687
cc853cfThanks @emily-shen! - fix: bug where Pages deployments that create new projects were failing with a new repo#8131
efd7f97Thanks @lambrospetrou! - D1 export will now show an error when the presigned URL is invalidUpdated dependencies [
5e06177]:v3.109.1Compare Source
Patch Changes
28b1dc7Thanks @0xD34DC0DE! - fix: prevent __cf_cjs name collision in the hybrid Nodejs compat pluginv3.109.0Compare Source
Minor Changes
#8120
3fb801fThanks @sdnts! - Add a newupdatesubcommand for Queues to allow updating Queue settings#8120
3fb801fThanks @sdnts! - Allow overriding message retention duration when creating Queues#8026
542c6eaThanks @penalosa! - Add--outfiletowrangler deployfor generating a worker bundle.This is an advanced feature that most users won't need to use. When set, Wrangler will output your built Worker bundle in a Cloudflare specific format that captures all information needed to deploy a Worker using the Worker Upload API
#8026
542c6eaThanks @penalosa! - Add awrangler check startupcommand to generate a CPU profile of your Worker's startup phase.This can be imported into Chrome DevTools or opened directly in VSCode to view a flamegraph of your Worker's startup phase. Additionally, when a Worker deployment fails with a startup time error Wrangler will automatically generate a CPU profile for easy investigation.
Advanced usage:
--args: to customise the waywrangler check startupbuilds your Worker for analysis, provide the exact arguments you use when deploying your Worker withwrangler deploy. For instance, if you deploy your Worker withwrangler deploy --no-bundle, you should usewrangler check startup --args="--no-bundle"to profile the startup phase.--worker-bundle: if you don't use Wrangler to deploy your Worker, you can use this argument to provide a Worker bundle to analyse. This should be a file path to a serialised multipart upload, with the exact same format as the API expects: https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/Patch Changes
#8112
fff677eThanks @penalosa! - When reporting errors to Sentry, Wrangler will now include the console output as additional metadata#8120
3fb801fThanks @sdnts! - Check bounds when overriding delivery delay when creating Queues#7950
4db1fb5Thanks @cmackenzie1! - Add local binding support for Worker Pipelines#8119
1bc60d7Thanks @penalosa! - Output correct config format fromwrangler d1 create. Previously, this command would always output TOML, regardless of the config file format#8130
1aa2a91Thanks @emily-shen! - Include default values for wrangler types --path and --x-include-runtime in telemetryUser provided strings are still left redacted as always.
#8061
35710e5Thanks @emily-shen! - fix: respectWRANGLER_LOGinwrangler devPreviously,
--log-level=debugwas the only way to see debug logs inwrangler dev, which was unlike all other commands.Updated dependencies [
4db1fb5]:v3.108.1Compare Source
Patch Changes
#8103
a025ad2Thanks @emily-shen! - fix: fix bug wherewrangler secret list --format=jsonwas printing the wrangler banner.Updated dependencies []:
v3.108.0Compare Source
Minor Changes
#7990
b1966dfThanks @cmsparks! - Add WRANGLER_CI_OVERRIDE_NAME for Workers CI#8028
b2dca9aThanks @emily-shen! - feat: Also log when no bindings are found.We currently print a worker's bindings during dev, versions upload and deploy. This just also prints something when there's no bindings found, in case you were expecting bindings.
#8037
71fd250Thanks @WillTaylorDev! - Provides unsafe.metadata configurations when using wrangler versions secret put.Patch Changes
#8058
1f80d69Thanks @WillTaylorDev! - Bugfix: Modified versions secret put to inherit all known bindings, which circumvents a limitation in the API which does not return all fields for all bindings.#7986
88514c8Thanks @andyjessop! - docs: clarifies that local resources are "simulated locally" or "connected to remote resource", and adds console messages to help explain local dev#8008
9d08af8Thanks @ns476! - Add support for Images bindings (in private beta for now), with optional local support for platforms where Sharp is available.#7769
6abe69cThanks @cmackenzie1! - Adds the following new option forwrangler pipelines createandwrangler pipelines updatecommands:#7290
0c0374cThanks @emily-shen! - fix: add support for workers with assets when running multiple workers in onewrangler devinstancehttps://github.com/cloudflare/workers-sdk/pull/7251 added support for running multiple Workers in one
wrangler dev/miniflare session. e.g.wrangler dev -c wrangler.toml -c ../worker2/wrangler.toml, which among other things, allowed cross-service RPC to Durable Objects.However this did not work in the same way as production when there was a Worker with assets - this PR should fix that.
#7769
6abe69cThanks @cmackenzie1! - Rename wrangler pipelines <create|update> flagsThe following parameters have been renamed:
#8012
c412a31Thanks @mtlemilio! - Use fetchPagedListResult when listing Hyperdrive configs from the APIThis fixes an issue where only 20 configs were being listed.
#8077
60310cdThanks @emily-shen! - feat: add telemetry to experimental auto-provisioningUpdated dependencies [
c80dbd8,0c0374c]:v3.107.3Compare Source
Patch Changes
#7378
59c7c8eThanks @IRCody! - Add build and push helper sub-commands under the cloudchamber command.Updated dependencies []:
v3.107.2Compare Source
Patch Changes
#7988
444a630Thanks @edmundhung! - Fix #7985.This reverts the changes on #7945 that caused compatibility issues with Node 16 due to the introduction of
sharp.v3.107.1Compare Source
Patch Changes
#7981
e2b3306Thanks @WalshyDev! - Fixes a regression introduced in Wrangler 3.107.0 in which[assets]was not being inherited from the top-level environment.Updated dependencies [
ab49886]:v3.107.0Compare Source
Minor Changes
34f9797Thanks @WillTaylorDev! - chore: providesrun_worker_firstfor Worker-script-first configuration. Deprecatesexperimental_serve_directly.Patch Changes
#7945
d758215Thanks @ns476! - Add Images binding (in private beta for the time being)#7947
f57bc4eThanks @dario-piotrowicz! - fix: avoidgetPlatformProxylogging twice that it is using vars defined in.dev.varsfileswhen
getPlatformProxyis called and it retrieves values from.dev.varsfiles, it logs twicea message like:
Using vars defined in .dev.vars, the changes here make sure that in such casesthis log only appears once
#7889
38db4edThanks @emily-shen! - feat: add experimental resource auto-provisioning to versions upload#7864
de6fa18Thanks @dario-piotrowicz! - Update theunstable_getMiniflareWorkerOptionstypes to always include anenvparameter.The
unstable_getMiniflareWorkerOptionstypes, when accepting a config object as the first argument,didn't accept a second
envargument. The changes here make sure they do, since theenvis stillrelevant for picking up variables from
.dev.varsfiles.#7964
bc4d6c8Thanks @LuisDuarte1! - Fix scripts binding to a workflow in a different script overriding workflow configUpdated dependencies [
cf4f47a]:v3.106.0Compare Source
Minor Changes
#7856
2b6f149Thanks @emily-shen! - feat: add sanitised error messages to Wrangler telemetryError messages that have been audited for potential inclusion of personal information, and explicitly opted-in, are now included in Wrangler's telemetry collection. Collected error messages will not include any filepaths, user input or any other potentially private content.
#7900
bd9228eThanks @vicb! - chore(wrangler): update unenv dependency versionunenv@2.0.0-rc.1allows using the workerd implementation forthe Node modules
net,timers, andtimers/promises.See
unjs/unenv#396.Patch Changes
#7904
50b13f6Thanks @WalshyDev! - fix: validation for R2 bucket names, the regex was wrongly rejecting buckets starting with a number and the message wasn't as clear as it could be on what was going wrong.#7895
134d61dThanks @jahands! - Fix regression in retryOnAPIFailure preventing any requests from being retriedAlso fixes a regression in pipelines that prevented 401 errors from being retried when waiting for an API token to become active.
#7879
5c02e46Thanks @andyjessop! - Fix to not require local connection string when using Hyperdrive and wrangler dev --remote#7860
13ab591Thanks @vicb! - refactor(wrangler): make JSON parsing independent of NodeSwitch
jsonc-parserto parse json:JSON.parse()exception messages are not stable across Node versionsjsonc-parseris used, JSONC specific syntax is disabledUpdated dependencies []:
v3.105.1Compare Source
Patch Changes
#7884
fd5a455Thanks @emily-shen! - feat: make experiemntal auto-provisioning non-interactive by default.#7811
7d138d9Thanks @joshthoward! - Fix RPC method invocations showing up as unknown eventsUpdated dependencies [
40f89a9]:v3.105.0Compare Source
Minor Changes
#7466
e5ebdb1Thanks @Ltadrian! - feat: implement thewrangler cert uploadcommandThis command allows users to upload a mTLS certificate/private key or certificate-authority certificate chain.
For uploading mTLS certificate, run:
wrangler cert upload mtls-certificate --cert cert.pem --key key.pem --name MY_CERTFor uploading CA certificate chain, run:
wrangler cert upload certificate-authority --ca-cert server-ca.pem --name SERVER_CAPatch Changes
#7867
bdc7958Thanks @penalosa! - Revert https://github.com/cloudflare/workers-sdk/pull/7816. This feature added support for the ASSETS bindings to thegetPlatformProxy()API, but caused a regression when runningnpm run previewin newly generated Workers Assets projects.#7868
78a9a2dThanks @penalosa! - Revert "Hyperdrive dev remote fix". This PR includes e2e tests that were not run before merging, and are currently failing.Updated dependencies []:
v3.104.0Compare Source
Minor Changes
#7715
26fa9e8Thanks @penalosa! - Support service bindings from Pages projects to Workers in a singleworkerdinstance. To try it out, pass multiple-cflags to Wrangler: i.e.wrangler pages dev -c wrangler.toml -c ../other-worker/wrangler.toml. The first-cflag must point to your Pages config file, and the rest should point to Workers that are bound to your Pages project.#7816
f6cc029Thanks @dario-piotrowicz! - add support for assets bindings togetPlatformProxythis change makes sure that that
getPlatformProxy, when the input configurationfile contains an assets field, correctly returns the appropriate asset binding proxy
example:
Patch Changes
#7785
cccfe51Thanks @joshthoward! - Fix Durable Objects transfer migration validation#7821
fcaa02cThanks @vicb! - fix(wrangler): fix wrangler config schema defaults#7832
97d2a1bThanConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 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.