Skip to content

Wrangler

2024-12-19

3.99.0

Minor Changes

  • #7425 8757579 Thanks @CarmenPopoviciu! - feat: Make DX improvements in wrangler dev --remote

    Workers + Assets projects have, in certain situations, a relatively degraded wrangler dev --remote developer 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:

    1. check for asset files changes
    2. upload the changed assets, if any

    This commit improves the wrangler dev --remote DX 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 086a6b8 Thanks @WillTaylorDev! - Provide validation around assets.experimental_serve_directly

  • #7568 2bbcb93 Thanks @WillTaylorDev! - Warn users when using smart placement with Workers + Assets and serve_directly is set to false

Patch Changes

  • #7521 48e7e10 Thanks @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.toml with comments as we cannot preserve comments on write.

  • Updated dependencies [1488e11, 7216835]:

2024-12-19

3.98.0

Minor Changes

  • #7476 5124b5d Thanks @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 72935f9 Thanks @CarmenPopoviciu! - Add Workers + Assets support in wrangler dev --remote

Patch Changes

  • #7573 fb819f9 Thanks @emily-shen! - feat: add experimental_readRawConfig()

    Adds a Wrangler API to find and read a config file

  • #7549 42b9429 Thanks @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 in argv
  • #7583 8def8c9 Thanks @penalosa! - Revert support for custom unenv resolve path to address an issue with Wrangler failing to deploy Pages projects with nodejs_compat_v2 in some cases

2024-12-17

3.97.0

Minor Changes

  • #7522 6403e41 Thanks @vicb! - feat(wrangler): allow overriding the unenv preset.

    By default wrangler uses the bundled unenv preset.

    Setting WRANGLER_UNENV_RESOLVE_PATHS allow 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 2780849 Thanks @penalosa! - Accept a JSON file of the format { name: string }[] in wrangler kv bulk delete, as well as the current string[] format.

Patch Changes

2024-12-16

3.96.0

Minor Changes

Patch Changes

  • #7542 f13c897 Thanks @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 0356d0a Thanks @bluwy! - refactor: move @cloudflare/workers-shared as dev dependency

  • #7478 2e90efc Thanks @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 11f95f7 Thanks @gpanders! - Include response body in Cloudchamber API errors

  • #7427 3bc0f28 Thanks @edmundhung! - The x-provision experimental 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 []:

2024-12-10

3.95.0

Minor Changes

2024-12-09

3.94.0

Minor Changes

  • #7229 669d7ad Thanks @gabivlj! - Introduce a new cloudchamber command wrangler cloudchamber apply, which will be used by customers to deploy container-apps

Patch Changes

2024-12-06

3.93.0

Minor Changes

  • #7291 f5b9cd5 Thanks @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 20a0f17 Thanks @GregBrimble! - feat: Allow Workers for Platforms scripts (scripts deployed with --dispatch-namespace) to bring along assets

  • #7445 f4ae6ee Thanks @WillTaylorDev! - Support for assets.experimental_serve_directly with wrangler dev

Patch Changes

  • #7256 415e5b5 Thanks @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 8f25ebe Thanks @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 b40d0ab Thanks @petebacondarwin! - fix: allow the asset directory to be omitted in Wrangler config for commands that don't need it

  • #7454 f2045be Thanks @petebacondarwin! - refactor: Ensure that unstable type exports are all prefixed with Unstable_ rather than just Unstable

  • #7461 9ede45b Thanks @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 9435af0 Thanks @petebacondarwin! - fix: make sure Wrangler doesn't create a .wrangler tmp 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 14a7bc6 Thanks @edmundhung! - The x-provision experimental flag now support inherit bindings in deploys

  • #7463 073293f Thanks @penalosa! - Clarify messaging around wrangler versions commands to reflect that they're stable (and have been since GA during birthday week)

  • #7436 5e69799 Thanks @Ankcorn! - Relax type on observability.enabled to remove linting error for nested configurations

  • #7450 8c873ed Thanks @petebacondarwin! - fix: ensure that version secrets commands do not write wrangler config warnings

  • Updated dependencies [21a9e24, f4ae6ee]: