Wrangler
Patch Changes
- #8175 eb46f98Thanks @edmundhung! - fix:unstable_splitSqlQueryshould ignore comments when splitting sql into statements
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 invalid
- Updated dependencies [ - 5e06177]:
Patch Changes
- #8021 28b1dc7Thanks @0xD34DC0DE! - fix: prevent __cf_cjs name collision in the hybrid Nodejs compat plugin
Minor Changes
- #8120 - 3fb801fThanks @sdnts! - Add a new- updatesubcommand for Queues to allow updating Queue settings
- #8120 - 3fb801fThanks @sdnts! - Allow overriding message retention duration when creating Queues
- #8026 - 542c6eaThanks @penalosa! - Add- --outfileto- wrangler 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 a- wrangler 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 way- wrangler check startupbuilds your Worker for analysis, provide the exact arguments you use when deploying your Worker with- wrangler deploy. For instance, if you deploy your Worker with- wrangler deploy --no-bundle, you should use- wrangler 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 from- wrangler 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 telemetry- User provided strings are still left redacted as always. 
- #8061 - 35710e5Thanks @emily-shen! - fix: respect- WRANGLER_LOGin- wrangler dev- Previously, - --log-level=debugwas the only way to see debug logs in- wrangler dev, which was unlike all other commands.
- Updated dependencies [ - 4db1fb5]:
Patch Changes
- #8103 - a025ad2Thanks @emily-shen! - fix: fix bug where- wrangler secret list --format=jsonwas printing the wrangler banner.
- Updated dependencies []: 
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 for- wrangler pipelines createand- wrangler pipelines updatecommands:- --cors-origins CORS origin allowlist for HTTP endpoint (use * for any origin) [array]
- #7290 - 0c0374cThanks @emily-shen! - fix: add support for workers with assets when running multiple workers in one- wrangler devinstance- https://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> flags- The following parameters have been renamed: - Previous Name - New Name - access-key-id - r2-access-key-id - secret-access-key - r2-secret-access-key - transform - transform-worker - r2 - r2-bucket - prefix - r2-prefix - binding - enable-worker-binding - http - enable-http - authentication - require-http-auth - filename - file-template - filepath - partition-template 
- #8012 - c412a31Thanks @mtlemilio! - Use fetchPagedListResult when listing Hyperdrive configs from the API- This fixes an issue where only 20 configs were being listed. 
- #8077 - 60310cdThanks @emily-shen! - feat: add telemetry to experimental auto-provisioning
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.
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]:
Minor Changes
- #7897 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: avoid- getPlatformProxylogging twice that it is using vars defined in- .dev.varsfiles- when - getPlatformProxyis called and it retrieves values from- .dev.varsfiles, it logs twice a message like:- Using vars defined in .dev.vars, the changes here make sure that in such cases this log only appears once
- #7889 - 38db4edThanks @emily-shen! - feat: add experimental resource auto-provisioning to versions upload
- #7864 - de6fa18Thanks @dario-piotrowicz! - Update the- unstable_getMiniflareWorkerOptionstypes to always include an- envparameter.- 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 the- envis still relevant for picking up variables from- .dev.varsfiles.
- #7964 - bc4d6c8Thanks @LuisDuarte1! - Fix scripts binding to a workflow in a different script overriding workflow config
- Updated dependencies [ - cf4f47a]:
Minor Changes
- #7856 - 2b6f149Thanks @emily-shen! - feat: add sanitised error messages to Wrangler telemetry- Error 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 version- unenv@2.0.0-rc.1allows using the workerd implementation for the Node modules- net,- timers, and- timers/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 retried- Also 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 Node- Switch - jsonc-parserto parse json:- JSON.parse()exception messages are not stable across Node versions
- While jsonc-parseris used, JSONC specific syntax is disabled
 
- Updated dependencies []: 
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 events
- Updated dependencies [ - 40f89a9]:
Minor Changes
- #7466 - e5ebdb1Thanks @Ltadrian! - feat: implement the- wrangler cert uploadcommand- This 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_CERT
 - For uploading CA certificate chain, run: - wrangler cert upload certificate-authority --ca-cert server-ca.pem --name SERVER_CA
 
Patch Changes
- #7867 - bdc7958Thanks @penalosa! - Revert https://github.com/cloudflare/workers-sdk/pull/7816. This feature added support for the ASSETS bindings to the- getPlatformProxy()API, but caused a regression when running- npm 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 []: 
Patch Changes
- #7798 a1ff045Thanks @CarmenPopoviciu! - Reverts #7720 as it introduced breakage in some of the C3 templates (eg. Nuxt)
Minor Changes
- #5086 - 8faf2c0Thanks @dario-piotrowicz! - add- --strict-varsoption to- wrangler types- add a new - --strict-varsoption to- wrangler typesthat developers can (by setting the flag to- false) use to disable the default strict/literal types generation for their variables- opting out of strict variables can be useful when developers change often their - varsvalues, even more so when multiple environments are involved- Example- With a toml containing: - [vars] MY_VARIABLE = "production_value" MY_NUMBERS = [1, 2, 3] [env.staging.vars] MY_VARIABLE = "staging_value" MY_NUMBERS = [7, 8, 9]- the - wrangler typescommand would generate the following interface:- interface Env { MY_VARIABLE: "production_value" | "staging_value"; MY_NUMBERS: [1,2,3] | [7,8,9]; }- while - wrangler types --strict-vars=falsewould instead generate:- interface Env { MY_VARIABLE: string; MY_NUMBERS: number[]; }- (allowing the developer to easily change their toml variables without the risk of breaking typescript types) 
Patch Changes
- #7720 - 902e3afThanks @vicb! - chore(wrangler): use the unenv preset from- @cloudflare/unenv-preset
- #7760 - 19228e5Thanks @vicb! - chore: update unenv dependency version
- #7735 - e8aaa39Thanks @penalosa! - Unwrap the error cause when available to send to Sentry
- #5086 - 8faf2c0Thanks @dario-piotrowicz! - fix: widen multi-env- varstypes in- wrangler types- Currently, the type generated for - varsis a string literal consisting of the value of the variable in the top level environment. If multiple environments are specified this wrongly restricts the type, since the variable could contain any of the values from each of the environments.- For example, given a - wrangler.tomlcontaining the following:- [vars] MY_VAR = "dev value" [env.production.vars] MY_VAR = "prod value"- running - wrangler typeswould generate:- interface Env { MY_VAR: "dev value"; }- making typescript incorrectly assume that - MY_VARis always going to be- "dev value"- after these changes, the generated interface would instead be: - interface Env { MY_VAR: "dev value" | "prod value"; }
- #7733 - dceb196Thanks @emily-shen! - feat: pull resource names for provisioning from config if provided- Uses - database_nameand- bucket_namefor provisioning if specified. For R2, this only happens if there is not a bucket with that name already. Also respects R2- jurisdictionif provided.
- Updated dependencies []: 
Minor Changes
- #7592 f613276Thanks @garrettgu10! - New filter validation logic supporting set and range queries in Vectorize CLI
Patch Changes
- #7750 - df0e5beThanks @andyjessop! - bug: Removes the (local) tag on Vectorize bindings in the console output of- wrangler dev, and adds-in the same tag for Durable Objects (which are emulated locally in- wrangler dev).
- #7706 - c63f1b0Thanks @penalosa! - Remove the server-based dev registry in favour of the more stable file-based dev registry. There should be no user-facing impact.
- Updated dependencies [ - 8e9aa40]: