Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 13, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
wrangler (source) 3.109.2 -> 4.12.0 age adoption passing confidence

Release Notes

cloudflare/workers-sdk (wrangler)

v4.12.0

Compare Source

Minor Changes
Patch Changes
  • #​8889 eab7ad9 Thanks @​penalosa! - When Wrangler encounters an error, if the Bun runtime is detected it will now warn users that Wrangler does not officially support Bun.

  • #​8673 5de2b9a Thanks @​IRCody! - Add containers {info, list, delete} subcommands.

  • Updated dependencies [62c40d7]:

    • miniflare@4.20250416.0

v4.11.1

Compare Source

Patch Changes

v4.11.0

Compare Source

Minor Changes
Patch Changes
  • #​8885 f2802f9 Thanks @​CarmenPopoviciu! - Disambiguate the "No files to upload. Proceeding with deployment..." message

  • #​8924 d2b44a2 Thanks @​dario-piotrowicz! - fix redirected config env validation breaking wrangler pages commands

    a validation check has recently been introduced to make wrangler error on
    deploy commands when an environment is specified and a redirected configuration
    is in use (the reason being that redirected configurations should not include
    any environment), this check is problematic with pages commands where the
    "production" environment is anyways set by default, to address this the validation
    check is being relaxed here on pages commands

  • Updated dependencies [f5413c5]:

    • miniflare@4.20250410.0

v4.10.0

Compare Source

Minor Changes
Patch Changes

v4.9.1

Compare Source

Patch Changes
  • Updated dependencies [d454ad9]:
    • miniflare@4.20250408.0

v4.9.0

Compare Source

Minor Changes
Patch Changes
  • #​8809 09464a6 Thanks @​dario-piotrowicz! - improve error message when redirected config contains environments

    this change improves that validation error message that users see
    when a redirected config file contains environments, by:

    • cleaning the message formatting and displaying the
      offending environments in a list
    • prompting the user to report the issue to the author
      of the tool which has generated the config
  • #​8829 62df08a Thanks @​cmackenzie1! - Add option --cors-origin none to remove CORS settings on a pipeline

  • Updated dependencies [afd93b9, 930ebb2]:

    • miniflare@4.20250405.1

v4.8.0

Compare Source

Minor Changes
Patch Changes
  • #​8780 4e69fb6 Thanks @​cmackenzie1! - - Rename wrangler pipelines show to wrangler pipelines get

    • Replace --enable-worker-binding and --enable-http with --source worker and --source http (or
      --source http worker for both)
    • Remove --file-template and --partition-template flags from wrangler pipelines create|update
    • Add pretty output for wrangler pipelines get <pipeline>. Existing output is available using --format=json.
    • Clarify the minimums, maximums, and defaults (if unset) for wrangler pipelines create commands.
  • #​8596 75b454c Thanks @​dario-piotrowicz! - add validation to redirected configs in regards to environments

    add the following validation behaviors to wrangler deploy commands, that relate
    to redirected configs (i.e. config files specified by .wrangler/deploy/config.json files):

    • redirected configs are supposed to be already flattened configurations without any
      environment (i.e. a build tool should generate redirected configs already targeting specific
      environments), so if wrangler encounters a redirected config with some environments defined
      it should error
    • given the point above, specifying an environment (--env=my-env) when using redirected
      configs is incorrect, so these environments should be ignored and a warning should be
      presented to the user
  • #​8795 d4c1171 Thanks @​GregBrimble! - feat: Unhide wrangler pages functions build command.

    This is already documented for Pages Plugins and by officially documenting it, we can ease the transition to Workers Assets for users of Pages Functions.

  • Updated dependencies [93267cf, ec7e621]:

    • miniflare@4.20250405.0

v4.7.2

Compare Source

Patch Changes
  • #​8763 2650fd3 Thanks @​garrettgu10! - R2 data catalog URIs now separate account ID and warehouse name with a slash rather than an underscore

  • #​8341 196f51d Thanks @​kotkoroid! - Improve error message when request to obtain membership info fails

    Wrangler now informs user that specific permission might be not granted when fails to obtain membership info. The same information is provided when Wrangler is unable to fetch user's email.

  • Updated dependencies [e0efb6f, 0a401d0]:

    • miniflare@4.20250404.0

v4.7.1

Compare Source

Patch Changes

v4.7.0

Compare Source

Minor Changes
Patch Changes

v4.6.0

Compare Source

Minor Changes
Patch Changes

v4.5.1

Compare Source

Patch Changes
  • #​8666 f29f018 Thanks @​penalosa! - Remove NodeJSCompatModule. This was never fully supported, and never worked for deploying Workers from Wrangler.

  • Updated dependencies [cad99dc, f29f018]:

    • miniflare@4.20250321.1

v4.5.0

Compare Source

Minor Changes
Patch Changes
  • #​8435 8e3688f Thanks @​emily-shen! - fix: include assets binding when printing summary of bindings

  • #​8675 f043b74 Thanks @​vicb! - Bump @cloudflare/unenv-preset to 2.3.1

    Use the workerd native implementation of createSecureContext and checkServerIdentity from node:tls. The functions have been implemented in cloudflare/workerd#3754.

v4.4.1

Compare Source

Patch Changes

v4.4.0

Compare Source

Minor Changes
Patch Changes

v4.3.0

Compare Source

Minor Changes
Patch Changes

v4.2.0

Compare Source

Minor Changes
Patch Changes

v4.1.0

Compare Source

Minor Changes
  • #​8337 1b2aa91 Thanks @​Ltadrian! - Add mTLS configuration fields to Hyperdrive command

    hyperdrive create test123 ... --ca-certificate-uuid=CA_CERT_UUID --mtls-certificate-uuid=MTLS_CERT_UUID

Patch Changes

v4.0.0

Compare Source

Major Changes
  • #​7334 869ec7b Thanks @​penalosa! - Use --local by default for wrangler kv key and wrangler r2 object commands

  • #​7334 869ec7b Thanks @​dario-piotrowicz! - chore: remove deprecated getBindingsProxy

    remove the deprecated getBindingsProxy utility which has been replaced with getPlatformProxy

  • #​7334 869ec7b Thanks @​penalosa! - Remove the deprecated --format argument on wrangler deploy and wrangler dev.

    Remove deprecated config fields:

    • type
    • webpack_config
    • miniflare
    • build.upload
    • zone_id
    • usage_model
    • experimental_services
    • kv-namespaces
  • #​7334 869ec7b Thanks @​rozenmd! - Remove wrangler d1 backups

    This change removes wrangler d1 backups, a set of alpha-only commands that would allow folks to interact with backups of their D1 alpha DBs.

    For production D1 DBs, you can restore previous versions of your database with wrangler d1 time-travel and export it at any time with wrangler d1 export.

    Closes #​7470

  • #​7334 869ec7b Thanks @​rozenmd! - Remove --batch-size as an option for wrangler d1 execute and wrangler d1 migrations apply

    This change removes the deprecated --batch-size flag, as it is no longer necessary to decrease the number of queries wrangler sends to D1.

    Closes #​7470

  • #​7334 869ec7b Thanks @​rozenmd! - Remove alpha support from wrangler d1 migrations apply

    This change removes code that would take a backup of D1 alpha databases before proceeding with applying a migration.

    We can remove this code as alpha DBs have not accepted queries in months.

    Closes #​7470

  • #​7334 869ec7b Thanks @​penalosa! - Remove the deprecated wrangler generate command. Instead, use the C3 CLI to create new projects: https://developers.cloudflare.com/pages/get-started/c3/

  • #​7334 869ec7b Thanks @​penalosa! - Remove the deprecated wrangler init --no-delegate-c3 command. wrangler init is still available, but will always delegate to C3.

  • #​7334 869ec7b Thanks @​penalosa! - Remove support for legacy assets.

    This removes support for legacy assets using the --legacy-assets flag or legacy_assets config field. Instead, you should use Workers Assets

  • #​7334 869ec7b Thanks @​penalosa! - Remove the deprecated wrangler publish command. Instead, use wrangler deploy, which takes exactly the same arguments.

    Additionally, remove the following deprecated commands, which are no longer supported.

    • wrangler config
    • wrangler preview
    • wrangler route
    • wrangler subdomain

    Remove the following deprecated command aliases:

    • wrangler secret:*, replaced by wrangler secret *
    • wrangler kv:*, replaced by wrangler kv *
  • #​7334 869ec7b Thanks @​penalosa! - Remove the deprecated wrangler version command. Instead, use wrangler --version to check the current version of Wrangler.

  • #​7334 869ec7b Thanks @​penalosa! - The --node-compat flag and node_compat config properties are no longer supported as of Wrangler v4. Instead, use the nodejs_compat compatibility flag. This includes the functionality from legacy node_compat polyfills and natively implemented Node.js APIs. See https://developers.cloudflare.com/workers/runtime-apis/nodejs for more information.

    If you need to replicate the behaviour of the legacy node_compat feature, refer to https://developers.cloudflare.com/workers/wrangler/migration/update-v3-to-v4/ for a detailed guide.

  • #​7334 869ec7b Thanks @​threepointone! - chore: update esbuild

    This patch updates esbuild from 0.17.19 to 0.24.2. That's a big bump! Lots has gone into esbuild since May '23. All the details are available at https://github.com/evanw/esbuild/blob/main/CHANGELOG.md / https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md.

    • We now support all modern JavasScript/TypeScript features suported by esbuild (as of December 2024). New additions include standard decorators, auto-accessors, and the using syntax.

    • 0.18 introduced wider support for configuration specified via tsconfig.json https://github.com/evanw/esbuild/issues/3019. After observing the (lack of) any actual broken code over the last year for this release, we feel comfortable releasing this without considering it a breaking change.

    • 0.19.3 introduced support for import attributes

      import stuff from './stuff.json' with { type: 'json' }

      While we don't currently expose the esbuild configuration for developers to add their own plugins to customise how modules with import attributes are bundled, we may introduce new "types" ourselves in the future.

    • 0.19.0 introduced support for wildcard imports. Specifics here (https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md#0190). tl;dr -

      • These 2 patterns will bundle all files that match the glob pattern into a single file.

        const json1 = await import("./data/" + kind + ".json");
        const json2 = await import(`./data/${kind}.json`);
      • This pattern will NOT bundle any matching patterns:

        const path = "./data/" + kind + ".js";
        const json2 = await import(path);

        You can use find_additional_modules to bundle any additional modules that are not referenced in the code but are required by the project.

      Now, this MAY be a breaking change for some. Specifically, if you were previously using the pattern (that will now include all files matching the glob pattern in the bundle), BUT find_additional_modules was NOT configured to include some files, those files would now be included in the bundle. For example, consider this code:

      // src/index.js
      export default {
      	async fetch() {
      		const url = new URL(request.url);
      		const name = url.pathname;
      		const value = (await import("." + name)).default;
      		return new Response(value);
      	},
      };

      Imagine if in that folder, you had these 3 files:

      // src/one.js
      export default "one";
      // src/two.js
      export default "two";
      // src/hidden/secret.js
      export default "do not share this secret";

      And your wrangler.toml was:

      name = "my-worker"
      main = "src/index.js

      Before this update:

      1. A request to anything but http://localhost:8787/ would error. For example, a request to http://localhost:8787/one.js would error with No such module "one.js".
      2. Let's configure wrangler.toml to include all .js files in the src folder:
      name = "my-worker"
      main = "src/index.js
      
      find_additional_modules = true
      rules = [
        { type = "ESModule", globs = ["*.js"]}
      ]

      Now, a request to http://localhost:8787/one.js would return the contents of src/one.js, but a request to http://localhost:8787/hidden/secret.js would error with No such module "hidden/secret.js". To include this file, you could expand the rules array to be:

      rules = [
        { type = "ESModule", globs = ["**/*.js"]}
      ]

      Then, a request to http://localhost:8787/hidden/secret.js will return the contents of src/hidden/secret.js.

      After this update:

      • Let's put the wrangler.toml back to its original configuration:
      name = "my-worker"
      main = "src/index.js
      • Now, a request to http://localhost:8787/one.js will return the contents of src/one.js, but a request to http://localhost:8787/hidden/secret.js will ALSO return the contents of src/hidden/secret.js. THIS MAY NOT BE WHAT YOU WANT. You can "fix" this in 2 ways:

        1. Remove the inline wildcard import:
        // src/index.js
        export default {
        	async fetch() {
        		const name = new URL(request.url).pathname;
        		const moduleName = "./" + name;
        		const value = (await import(moduleName)).default;
        		return new Response(value);
        	},
        };

        Now, no extra modules are included in the bundle, and a request to http://localhost:8787/hidden/secret.js will throw an error. You can use the find_additional_modules feature to include it again.

        1. Don't use the wildcard import pattern:
        // src/index.js
        import one from "./one.js";
        import two from "./two.js";
        
        export default {
        	async fetch() {
        		const name = new URL(request.url).pathname;
        		switch (name) {
        			case "/one.js":
        				return new Response(one);
        			case "/two.js":
        				return new Response(two);
        			default:
        				return new Response("Not found", { status: 404 });
        		}
        	},
        };

        Further, there may be some files that aren't modules (js/ts/wasm/text/binary/etc) that are in the folder being included (For example, a photo.jpg file). This pattern will now attempt to include them in the bundle, and throw an error. It will look like this:

        [ERROR] No loader is configured for ".png" files: src/photo.jpg

        To fix this, simply move the offending file to a different folder.

        In general, we DO NOT recommend using the wildcard import pattern. If done wrong, it can leak files into your bundle that you don't want, or make your worker slightly slower to start. If you must use it (either with a wildcard import pattern or with find_additional_modules) you must be diligent to check that your worker is working as expected and that you are not leaking files into your bundle that you don't want. You can configure eslint to disallow dynamic imports like this:

        // eslint.config.js
        export default [
        	{
        		rules: {
        			"no-restricted-syntax": [
        				"error",
        				{
        					selector: "ImportExpression[argument.type!='Literal']",
        					message:
        						"Dynamic imports with non-literal arguments are not allowed.",
        				},
        			],
        		},
        	},
        ];
  • #​7334 869ec7b Thanks @​pmiguel! - Remove worker name prefix from KV namespace create

    When running wrangler kv namespace create <name>, previously the name of the namespace was automatically prefixed with the worker title, or worker- when running outside the context of a worker.
    After this change, KV namespaces will no longer get prefixed, and the name used is the name supplied, verbatim.

  • #​7334 869ec7b Thanks @​penalosa! - Packages in Workers SDK now support the versions of Node that Node itself supports (Current, Active, Maintenance). Currently, that includes Node v18, v20, and v22.

Minor Changes
  • #​7334 869ec7b Thanks @​emily-shen! - Include runtime types in the output of wrangler types by default

    wrangler types will now produce one file that contains both Env types and runtime types based on your compatibility date and flags. This is located at worker-configuration.d.ts by default.

    This behaviour was previously gated behind --experimental-include-runtime. That flag is no longer necessary and has been removed. It has been replaced by --include-runtime and --include-env, both of which are set to true by default. If you were previously using --x-include-runtime, you can drop that flag and remove the separate runtime.d.ts file.

    If you were previously using @cloudflare/workers-types we recommend you run uninstall (e.g. npm uninstall @&#8203;cloudflare/workers-types) and run wrangler types instead. Note that @cloudflare/workers-types will continue to be published.

  • #​7334 869ec7b Thanks @​penalosa! - feat: prompt users to rerun wrangler types during wrangler dev

    If a generated types file is found at the default output location of wrangler types (worker-configuration.d.ts), remind users to rerun wrangler types if it looks like they're out of date.

Patch Changes

v3.114.6

Compare Source

Patch Changes
  • #​8783 7bcf352 Thanks @​petebacondarwin! - Improve error message when request to obtain membership info fails

    Wrangler now informs user that specific permission might be not granted when fails to obtain membership info. The same information is provided when Wrangler is unable to fetch user's email.

  • #​8866 db673d6 Thanks @​edmundhung! - improve error message when redirected config contains environments

    this change improves that validation error message that users see
    when a redirected config file contains environments, by:

    • cleaning the message formatting and displaying the
      offending environments in a list
    • prompting the user to report the issue to the author
      of the tool which has generated the config
  • #​8600 91cf028 Thanks @​workers-devprod! - add validation to redirected configs in regards to environments

    add the following validation behaviors to wrangler deploy commands, that relate
    to redirected configs (i.e. config files specified by .wrangler/deploy/config.json files):

    • redirected configs are supposed to be already flattened configurations without any
      environment (i.e. a build tool should generate redirected configs already targeting specific
      environments), so if wrangler encounters a redirected config with some environments defined
      it should error
    • given the point above, specifying an environment (--env=my-env) when using redirected
      configs is incorrect, so these environments should be ignored and a warning should be
      presented to the user

v3.114.5

Compare Source

Patch Changes

v3.114.4

Compare Source

Patch Changes

v3.114.3

Compare Source

Patch Changes

v3.114.2

Compare Source

Patch Changes

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/wrangler-4.x branch 4 times, most recently from 1398595 to 076b1d1 Compare March 22, 2025 18:39
@renovate renovate bot force-pushed the renovate/wrangler-4.x branch 4 times, most recently from 081bdfb to f221f91 Compare March 28, 2025 15:50
@renovate renovate bot force-pushed the renovate/wrangler-4.x branch 6 times, most recently from 912e4ce to 88ccd13 Compare April 8, 2025 23:22
@renovate renovate bot force-pushed the renovate/wrangler-4.x branch 3 times, most recently from a84fef6 to d32e546 Compare April 15, 2025 22:49
@renovate renovate bot force-pushed the renovate/wrangler-4.x branch from d32e546 to e364419 Compare April 17, 2025 06:37
@meyfa meyfa merged commit b1686dd into main Apr 18, 2025
2 checks passed
@meyfa meyfa deleted the renovate/wrangler-4.x branch April 18, 2025 21:58
@renovate renovate bot changed the title chore(deps): update dependency wrangler to v4 chore(deps): update dependency wrangler to v4 - autoclosed Apr 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants