Wrangler
Minor Changes
- #7425 - 8757579Thanks @CarmenPopoviciu! - feat: Make DX improvements in- wrangler dev --remote- Workers + Assets projects have, in certain situations, a relatively degraded - wrangler dev --remotedeveloper experience, as opposed to Workers proper projects. This is due to the fact that, for Workers + Assets, we need to make extra API calls to:- check for asset files changes
- upload the changed assets, if any
 - This commit improves the - wrangler dev --remoteDX for Workers + Assets, for use cases when the User Worker/assets change while the API calls for previous changes are still in flight. For such use cases, we have put an exit early strategy in place, that drops the event handler execution of the previous changes, in favour of the handler triggered by the new changes.
- #7537 - 086a6b8Thanks @WillTaylorDev! - Provide validation around assets.experimental_serve_directly
- #7568 - 2bbcb93Thanks @WillTaylorDev! - Warn users when using smart placement with Workers + Assets and- serve_directlyis set to- false
Patch Changes
- #7521 - 48e7e10Thanks @emily-shen! - feat: add experimental_patchConfig()- experimental_patchConfig()can add to a user's config file. It preserves comments if its a- wrangler.jsonc. However, it is not suitable for- wrangler.tomlwith comments as we cannot preserve comments on write.
Minor Changes
- #7476 - 5124b5dThanks @WalshyDev! - feat: allow routing to Workers with Assets on any HTTP route, not just the root. For example,- example.com/blog/*can now be used to serve assets. These assets will be served as though the assets directly were mounted to the root. For example, if you have- assets = { directory = "./public/" }, a route like- "example.com/blog/*"and a file- ./public/blog/logo.png, this will be available at- example.com/blog/logo.png. Assets outside of directories which match the configured HTTP routes can still be accessed with the Assets binding or with a Service binding to this Worker.
- #7380 - 72935f9Thanks @CarmenPopoviciu! - Add Workers + Assets support in- wrangler dev --remote
Patch Changes
- #7573 - fb819f9Thanks @emily-shen! - feat: add experimental_readRawConfig()- Adds a Wrangler API to find and read a config file 
- #7549 - 42b9429Thanks @penalosa! - Expand metrics collection to:- Detect Pages & Workers CI
- Filter out default args (e.g. --x-versions,--x-dev-env, and--latest) by only including args that were inargv
 
- #7583 - 8def8c9Thanks @penalosa! - Revert support for custom unenv resolve path to address an issue with Wrangler failing to deploy Pages projects with- nodejs_compat_v2in some cases
Minor Changes
- #7522 - 6403e41Thanks @vicb! - feat(wrangler): allow overriding the unenv preset.- By default wrangler uses the bundled unenv preset. - Setting - WRANGLER_UNENV_RESOLVE_PATHSallow to use another version of the preset. Those paths are used when resolving the unenv module identifiers to absolute paths. This can be used to test a development version.
- #7479 - 2780849Thanks @penalosa! - Accept a JSON file of the format- { name: string }[]in- wrangler kv bulk delete, as well as the current- string[]format.
Patch Changes
Minor Changes
- #7510 - 004af53Thanks @oliy! - Add file prefix option to wrangler pipelines commands
- #7383 - 8af3365Thanks @jonesphillip! - Added wrangler r2 domain get command
Patch Changes
- #7542 - f13c897Thanks @CarmenPopoviciu! - Always print deployment and placement ID in Cloudchamber commands- Currently, Cloudchamber commands only print the full deployment ID when the deployment has an IPv4 address. This commit ensures the deployment ID and the placement ID are always printed to stdout. It also moves the printing of the IPv4 address (if one exists) to the same place as the IPv6 address so that they are printed together. 
- #6754 - 0356d0aThanks @bluwy! - refactor: move- @cloudflare/workers-sharedas dev dependency
- #7478 - 2e90efcThanks @petebacondarwin! - fix: ensure that non-inherited fields are not removed when using an inferred named environment- It is an error for the the user to provide an environment name that doesn't match any of the named environments in the Wrangler configuration. But if there are no named environments defined at all in the Wrangler configuration, we special case the top-level environment as though it was a named environment. Previously, when this happens, we would remove all the nonInheritable fields from the configuration (essentially all the bindings) leaving an incorrect configuration. Now we correctly generate a flattened named environment that has the nonInheritable fields, plus correctly applies any transformFn on inheritable fields. 
- #7524 - 11f95f7Thanks @gpanders! - Include response body in Cloudchamber API errors
- #7427 - 3bc0f28Thanks @edmundhung! - The- x-provisionexperimental flag now identifies draft and inherit bindings by looking up the current binding settings.- Draft bindings can then be provisioned (connected to new or existing KV, D1, or R2 resources) during - wrangler deploy.
- Updated dependencies []: 
Minor Changes
- #7382 e0b98fdThanks @jonesphillip! - Added r2 bucket cors command to Wrangler including list, set, delete
Minor Changes
- #7229 669d7adThanks @gabivlj! - Introduce a new cloudchamber commandwrangler cloudchamber apply, which will be used by customers to deploy container-apps
Patch Changes
- #7002 - d2447c6Thanks @GregBrimble! - fix: More helpful error messages when validating compatibility date
- #7493 - 4c140bcThanks @emily-shen! - fix: remove non-json output in json mode commands- Fixes regressions in 3.93.0 where unwanted text (wrangler banner, telemetry notice) was printing in commands that should only output valid json. 
- Updated dependencies [ - 5449fe5]:- @cloudflare/workers-shared@0.11.0
- miniflare@3.20241205.0
 
Minor Changes
- #7291 - f5b9cd5Thanks @edmundhung! - Add anonymous telemetry to Wrangler commands- For new users, Cloudflare will collect anonymous usage telemetry to guide and improve Wrangler's development. If you have already opted out of Wrangler's existing telemetry, this setting will still be respected. - See our data policy for more details on what we collect and how to opt out if you wish. 
- #7448 - 20a0f17Thanks @GregBrimble! - feat: Allow Workers for Platforms scripts (scripts deployed with- --dispatch-namespace) to bring along- assets
- #7445 - f4ae6eeThanks @WillTaylorDev! - Support for- assets.experimental_serve_directlywith- wrangler dev
Patch Changes
- #7256 - 415e5b5Thanks @jamesopstad! - Export unstable_readConfig function and Unstable_Config, Unstable_RawConfig, Unstable_RawEnvironment and Unstable_MiniflareWorkerOptions types from Wrangler. Overload unstable_getMiniflareWorkerOptions function to accept a config that has already been loaded.
- #7431 - 8f25ebeThanks @vicb! - chore(wrangler): update unenv dependency version- Pull in: - refactor(cloudflare): reimplement module:createRequire for latest workerd (unjs/unenv#351)
- refactor: use node:events instead of relative path (unjs/unenv#354)
- refactor(http, cloudflare): use unenv/ imports inside node:http (unjs/unenv#363)
- refactor(node:process): set process.domain to undefined (unjs/unenv#367)
 
- #7426 - b40d0abThanks @petebacondarwin! - fix: allow the asset directory to be omitted in Wrangler config for commands that don't need it
- #7454 - f2045beThanks @petebacondarwin! - refactor: Ensure that unstable type exports are all prefixed with- Unstable_rather than just- Unstable
- #7461 - 9ede45bThanks @petebacondarwin! - fix: relax validation of unsafe configuration to allow an empty object- The types, the default and the code in general support an empty object for this config setting. - So it makes sense to avoid erroring when validating the config. 
- #7446 - 9435af0Thanks @petebacondarwin! - fix: make sure Wrangler doesn't create a- .wranglertmp dir in the- functions/folder of a Pages project- This regression was introduced in https://github.com/cloudflare/workers-sdk/pull/7415 and this change fixes it by reverting that change. 
- #7385 - 14a7bc6Thanks @edmundhung! - The- x-provisionexperimental flag now support inherit bindings in deploys
- #7463 - 073293fThanks @penalosa! - Clarify messaging around- wrangler versionscommands to reflect that they're stable (and have been since GA during birthday week)
- #7436 - 5e69799Thanks @Ankcorn! - Relax type on observability.enabled to remove linting error for nested configurations
- #7450 - 8c873edThanks @petebacondarwin! - fix: ensure that version secrets commands do not write wrangler config warnings
- Updated dependencies [ - 21a9e24,- f4ae6ee]:- miniflare@3.20241205.0
- @cloudflare/workers-shared@0.10.0