Skip to content

Wrangler

Subscribe to RSS

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

2025-01-30

3.107.0

Minor Changes

  • #7897 34f9797 Thanks @WillTaylorDev! - chore: provides run_worker_first for Worker-script-first configuration. Deprecates experimental_serve_directly.

Patch Changes

  • #7945 d758215 Thanks @ns476! - Add Images binding (in private beta for the time being)

  • #7947 f57bc4e Thanks @dario-piotrowicz! - fix: avoid getPlatformProxy logging twice that it is using vars defined in .dev.vars files

    when getPlatformProxy is called and it retrieves values from .dev.vars files, 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 38db4ed Thanks @emily-shen! - feat: add experimental resource auto-provisioning to versions upload

  • #7864 de6fa18 Thanks @dario-piotrowicz! - Update the unstable_getMiniflareWorkerOptions types to always include an env parameter.

    The unstable_getMiniflareWorkerOptions types, when accepting a config object as the first argument, didn't accept a second env argument. The changes here make sure they do, since the env is still relevant for picking up variables from .dev.vars files.

  • #7964 bc4d6c8 Thanks @LuisDuarte1! - Fix scripts binding to a workflow in a different script overriding workflow config

  • Updated dependencies [cf4f47a]:

2025-01-28

3.106.0

Minor Changes

  • #7856 2b6f149 Thanks @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 bd9228e Thanks @vicb! - chore(wrangler): update unenv dependency version

    unenv@2.0.0-rc.1 allows using the workerd implementation for the Node modules net, timers, and timers/promises. See unjs/unenv#396.

Patch Changes

  • #7904 50b13f6 Thanks @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 134d61d Thanks @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 5c02e46 Thanks @andyjessop! - Fix to not require local connection string when using Hyperdrive and wrangler dev --remote

  • #7860 13ab591 Thanks @vicb! - refactor(wrangler): make JSON parsing independent of Node

    Switch jsonc-parser to parse json:

    • JSON.parse() exception messages are not stable across Node versions
    • While jsonc-parser is used, JSONC specific syntax is disabled
  • Updated dependencies []:

2025-01-24

3.105.1

Patch Changes

2025-01-22

3.105.0

Minor Changes

  • #7466 e5ebdb1 Thanks @Ltadrian! - feat: implement the wrangler cert upload command

    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

2025-01-17

3.103.2

Patch Changes

  • #7804 16a9460 Thanks @vicb! - fix(wrangler): use require.resolve to resolve unenv path

2025-01-16

3.103.1

Patch Changes

2025-01-16

3.103.0

Minor Changes

  • #5086 8faf2c0 Thanks @dario-piotrowicz! - add --strict-vars option to wrangler types

    add a new --strict-vars option to wrangler types that 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 vars values, 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 types command 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=false would 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 902e3af Thanks @vicb! - chore(wrangler): use the unenv preset from @cloudflare/unenv-preset

  • #7760 19228e5 Thanks @vicb! - chore: update unenv dependency version

  • #7735 e8aaa39 Thanks @penalosa! - Unwrap the error cause when available to send to Sentry

  • #5086 8faf2c0 Thanks @dario-piotrowicz! - fix: widen multi-env vars types in wrangler types

    Currently, the type generated for vars is 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.toml containing the following:

    [vars]
    MY_VAR = "dev value"
    
    [env.production.vars]
    MY_VAR = "prod value"
    

    running wrangler types would generate:

    interface Env {
      MY_VAR: "dev value";
    }
    

    making typescript incorrectly assume that MY_VAR is always going to be "dev value"

    after these changes, the generated interface would instead be:

    interface Env {
      MY_VAR: "dev value" | "prod value";
    }
    
  • #7733 dceb196 Thanks @emily-shen! - feat: pull resource names for provisioning from config if provided

    Uses database_name and bucket_name for provisioning if specified. For R2, this only happens if there is not a bucket with that name already. Also respects R2 jurisdiction if provided.

  • Updated dependencies []:

2025-01-14

3.102.0

Minor Changes

Patch Changes

  • #7750 df0e5be Thanks @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).

  • #7732 d102b60 Thanks @Ankcorn! - fix pages secret bulk copy

  • #7706 c63f1b0 Thanks @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]: