Wrangler
Patch Changes
#7687
cc853cf
Thanks @emily-shen! - fix: bug where Pages deployments that create new projects were failing with a new repo#8131
efd7f97
Thanks @lambrospetrou! - D1 export will now show an error when the presigned URL is invalidUpdated dependencies [
5e06177
]:
Patch Changes
- #8021
28b1dc7
Thanks @0xD34DC0DE! - fix: prevent __cf_cjs name collision in the hybrid Nodejs compat plugin
Minor Changes
#8120
3fb801f
Thanks @sdnts! - Add a newupdate
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
towrangler 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 awrangler 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 waywrangler check startup
builds your Worker for analysis, provide the exact arguments you use when deploying your Worker withwrangler deploy
. For instance, if you deploy your Worker withwrangler deploy --no-bundle
, you should usewrangler 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 fromwrangler 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 telemetryUser provided strings are still left redacted as always.
#8061
35710e5
Thanks @emily-shen! - fix: respectWRANGLER_LOG
inwrangler dev
Previously,
--log-level=debug
was the only way to see debug logs inwrangler dev
, which was unlike all other commands.Updated dependencies [
4db1fb5
]:
Patch Changes
#8103
a025ad2
Thanks @emily-shen! - fix: fix bug wherewrangler secret list --format=json
was printing the wrangler banner.Updated dependencies []:
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 forwrangler pipelines create
andwrangler 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 onewrangler dev
instancehttps://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> flagsThe 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 APIThis fixes an issue where only 20 configs were being listed.
#8077
60310cd
Thanks @emily-shen! - feat: add telemetry to experimental auto-provisioning
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
.
Patch Changes
#7981
e2b3306
Thanks @WalshyDev! - Fixes a regression introduced in Wrangler 3.107.0 in which[assets]
was not being inherited from the top-level environment.Updated dependencies [
ab49886
]:
Minor Changes
- #7897
34f9797
Thanks @WillTaylorDev! - chore: providesrun_worker_first
for Worker-script-first configuration. Deprecatesexperimental_serve_directly
.
Patch Changes
#7945
d758215
Thanks @ns476! - Add Images binding (in private beta for the time being)#7947
f57bc4e
Thanks @dario-piotrowicz! - fix: avoidgetPlatformProxy
logging twice that it is using vars defined in.dev.vars
fileswhen
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 theunstable_getMiniflareWorkerOptions
types to always include anenv
parameter.The
unstable_getMiniflareWorkerOptions
types, when accepting a config object as the first argument, didn't accept a secondenv
argument. The changes here make sure they do, since theenv
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 configUpdated dependencies [
cf4f47a
]:
Minor Changes
#7856
2b6f149
Thanks @emily-shen! - feat: add sanitised error messages to Wrangler telemetryError 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 versionunenv@2.0.0-rc.1
allows using the workerd implementation for the Node modulesnet
,timers
, andtimers/promises
. Seeunjs/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 retriedAlso 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 NodeSwitch
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 []:
Patch Changes
#7884
fd5a455
Thanks @emily-shen! - feat: make experiemntal auto-provisioning non-interactive by default.#7811
7d138d9
Thanks @joshthoward! - Fix RPC method invocations showing up as unknown eventsUpdated dependencies [
40f89a9
]:
Minor Changes
#7466
e5ebdb1
Thanks @Ltadrian! - feat: implement thewrangler cert upload
commandThis 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
#7867
bdc7958
Thanks @penalosa! - Revert https://github.com/cloudflare/workers-sdk/pull/7816. This feature added support for the ASSETS bindings to thegetPlatformProxy()
API, but caused a regression when runningnpm run preview
in newly generated Workers Assets projects.#7868
78a9a2d
Thanks @penalosa! - Revert "Hyperdrive dev remote fix". This PR includes e2e tests that were not run before merging, and are currently failing.Updated dependencies []:
Patch Changes
- #7798
a1ff045
Thanks @CarmenPopoviciu! - Reverts #7720 as it introduced breakage in some of the C3 templates (eg. Nuxt)
Minor Changes
#5086
8faf2c0
Thanks @dario-piotrowicz! - add--strict-vars
option towrangler types
add a new
--strict-vars
option towrangler types
that developers can (by setting the flag tofalse
) use to disable the default strict/literal types generation for their variablesopting out of strict variables can be useful when developers change often their
vars
values, even more so when multiple environments are involvedExample
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-envvars
types inwrangler 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 providedUses
database_name
andbucket_name
for provisioning if specified. For R2, this only happens if there is not a bucket with that name already. Also respects R2jurisdiction
if provided.Updated dependencies []:
Minor Changes
- #7592
f613276
Thanks @garrettgu10! - New filter validation logic supporting set and range queries in Vectorize CLI
Patch Changes
#7750
df0e5be
Thanks @andyjessop! - bug: Removes the (local) tag on Vectorize bindings in the console output ofwrangler dev
, and adds-in the same tag for Durable Objects (which are emulated locally inwrangler dev
).#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
]: