Skip to content
Cloudflare Docs

Wrangler

Subscribe to RSS

2025-03-13

4.0.0

We've released the next major version of Wrangler — wrangler@4.0.0. Wrangler v4 is a major release focused on updates to underlying systems and dependencies, along with improvements to keep Wrangler commands consistent and clear.

You can run the following command to install it in your projects:

Unlike previous major versions of Wrangler, which were foundational rewrites and rearchitectures — Version 4 of Wrangler includes a much smaller set of changes. If you use Wrangler today, your workflow is very unlikely to change.

A detailed migration guide is available and if you find a bug or hit a roadblock when upgrading to Wrangler v4, open an issue on the cloudflare/workers-sdk repository on GitHub.

Going forward, we'll continue supporting Wrangler v3 with bug fixes and security updates until Q1 2026, and with critical security updates until Q1 2027, at which point it will be out of support.

The full changelog is available at https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/CHANGELOG.md#400

2025-03-13

2.21.3

Patch Changes

  • #8393 c4653081c Thanks @penalosa! - Deprecate Wrangler v2. Since the release of Wrangler v3 in 2023, we’ve seen great adoption, and today over 95% of active Wrangler usage is with v3.

    As such, Wrangler v2 is now deprecated, and no new features or bug fixes are being published for v2. We strongly recommend you upgrade to the latest version of Wrangler to receive continued support. We have a migration guide to make this process easy! If you encounter any difficulties, please let us know by filing an issue.

2025-03-11

3.114.1

Patch Changes

  • #8383 8d6d722 Thanks @matthewdavidrodgers! - Make kv bulk put --local respect base64:true

    The 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 e3efd68 Thanks @penalosa! - Support AI, Vectorize, and Images bindings when using @cloudflare/vite-plugin

  • #8427 a352798 Thanks @vicb! - update unenv-preset dependency to fix bug with Performance global

    Fixes #8407 Fixes #8409 Fixes #8411

  • #8390 53e6323 Thanks @GregBrimble! - Parse and apply metafiles (_headers and _redirects) in wrangler dev for Workers Assets

  • #8392 4d9d9e6 Thanks @jahands! - fix: retry zone and route lookup API calls

    In rare cases, looking up Zone or Route API calls may fail due to transient errors. This change improves the reliability of wrangler deploy when 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]:

2025-03-06

3.114.0

Minor Changes

  • #8367 7b6b0c2 Thanks @jonesphillip! - Deprecated --id parameter in favor of --name for both the wrangler r2 bucket lifecycle and wrangler r2 bucket lock commands

2025-03-05

3.113.0

Minor Changes

  • #8300 bca1fb5 Thanks @vicb! - Use the unenv preset for Cloudflare from @cloudflare/unenv-preset

Patch Changes

  • #8338 2d40989 Thanks @GregBrimble! - feat: Upload _headers and _redirects if present with Workers Assets as part of wrangler deploy and wrangler versions upload.

  • #8288 cf14e17 Thanks @CarmenPopoviciu! - feat: Add assets Proxy Worker skeleton in miniflare

    This 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-rpc flag: wrangler dev --x-assets-rpc.

  • #8216 af9a57a Thanks @ns476! - Support Images binding in wrangler types

  • #8304 fbba583 Thanks @jahands! - chore: add concurrency and caching for Zone IDs and Workers routes lookups

    Workers 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]:

2025-03-04

3.112.0

Minor Changes

  • #8256 f59d95b Thanks @jbwcloudflare! - Add two new Queues commands: pause-delivery and resume-delivery

    These new commands allow users to pause and resume the delivery of messages to Queue Consumers

Patch Changes

2025-02-27

3.111.0

Minor Changes

Patch Changes

  • #8248 1cb2d34 Thanks @GregBrimble! - feat: Omits Content-Type header for files of an unknown extension in Workers Assets

  • #7977 36ef9c6 Thanks @jkoe-cf! - fixing the format of the R2 lifecycle rule date input to be parsed as string instead of number

2025-02-25

3.110.0

Minor Changes

  • #8253 6dd1e23 Thanks @CarmenPopoviciu! - Add --cwd global argument to the wrangler CLI to allow changing the current working directory before running any command.

Patch Changes

2025-02-24

3.109.3

Patch Changes

  • #8175 eb46f98 Thanks @edmundhung! - fix: unstable_splitSqlQuery should ignore comments when splitting sql into statements

2025-02-18

3.109.2

Patch Changes

2025-02-14

3.109.1

Patch Changes

2025-02-13

3.109.0

Minor Changes

  • #8120 3fb801f Thanks @sdnts! - Add a new update subcommand for Queues to allow updating Queue settings

  • #8120 3fb801f Thanks @sdnts! - Allow overriding message retention duration when creating Queues

  • #8026 542c6ea Thanks @penalosa! - Add --outfile to wrangler deploy for 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 542c6ea Thanks @penalosa! - Add a wrangler check startup command 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 startup builds 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 fff677e Thanks @penalosa! - When reporting errors to Sentry, Wrangler will now include the console output as additional metadata

  • #8120 3fb801f Thanks @sdnts! - Check bounds when overriding delivery delay when creating Queues

  • #7950 4db1fb5 Thanks @cmackenzie1! - Add local binding support for Worker Pipelines

  • #8119 1bc60d7 Thanks @penalosa! - Output correct config format from wrangler d1 create. Previously, this command would always output TOML, regardless of the config file format

  • #8130 1aa2a91 Thanks @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 35710e5 Thanks @emily-shen! - fix: respect WRANGLER_LOG in wrangler dev

    Previously, --log-level=debug was the only way to see debug logs in wrangler dev, which was unlike all other commands.

  • Updated dependencies [4db1fb5]:

2025-02-12

3.108.1

Patch Changes

2025-02-11

3.108.0

Minor Changes

  • #7990 b1966df Thanks @cmsparks! - Add WRANGLER_CI_OVERRIDE_NAME for Workers CI

  • #8028 b2dca9a Thanks @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 71fd250 Thanks @WillTaylorDev! - Provides unsafe.metadata configurations when using wrangler versions secret put.

Patch Changes

  • #8058 1f80d69 Thanks @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 88514c8 Thanks @andyjessop! - docs: clarifies that local resources are "simulated locally" or "connected to remote resource", and adds console messages to help explain local dev

  • #8008 9d08af8 Thanks @ns476! - Add support for Images bindings (in private beta for now), with optional local support for platforms where Sharp is available.

  • #7769 6abe69c Thanks @cmackenzie1! - Adds the following new option for wrangler pipelines create and wrangler pipelines update commands:

    --cors-origins           CORS origin allowlist for HTTP endpoint (use * for any origin)  [array]
    
  • #7290 0c0374c Thanks @emily-shen! - fix: add support for workers with assets when running multiple workers in one wrangler dev instance

    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 6abe69c Thanks @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 c412a31 Thanks @mtlemilio! - Use fetchPagedListResult when listing Hyperdrive configs from the API

    This fixes an issue where only 20 configs were being listed.

  • #8077 60310cd Thanks @emily-shen! - feat: add telemetry to experimental auto-provisioning

  • Updated dependencies [c80dbd8, 0c0374c]:

2025-02-04

3.107.3

Patch Changes

2025-01-31

3.107.2

Patch Changes

  • #7988 444a630 Thanks @edmundhung! - Fix #7985.

    This reverts the changes on #7945 that caused compatibility issues with Node 16 due to the introduction of sharp.

2025-01-31

3.107.1

Patch Changes