NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4709 most downloaded on npm
Command-line interface for all things Cloudflare Workers
Last release 2 days ago
02 Oct 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
119 versions withdrawn
withdrawn after publishing
14 years old
4955 releases · first in 2012
Updated dependencies [`31bfd37`, `5d8547e`]:
When set, this will ensure that wrangler deploy and wrangler versions upload only deploy to Workers which match the provided tag.
#6643 f30c61f Thanks @WalshyDev! - feat: add "Deployment alias URL" to wrangler pages deploy if an alias is available for this deployment.
#6415 b27b741 Thanks @irvinebroque! - chore: Redirect wrangler generate [template name] and wrangler init to npm create cloudflare
#6647 d68e8c9 Thanks @joshthoward! - feat: Configure SQLite backed Durable Objects in local dev
#6696 0a9e90a Thanks @penalosa! - feat: Support WRANGLER_CI_MATCH_TAG environment variable.
When set, this will ensure that wrangler deploy and wrangler versions upload only deploy to Workers which match the provided tag.
#6702 aa603ab Thanks @hhoughgg! - feat: Hide wrangler pipelines until release
#6699 2507304 Thanks @joshthoward! - fix: Bugs when warning users using SQLite in Durable Objects in remote dev
#6693 0737e0f Thanks @GregBrimble! - fix: Persist Workers Assets when doing wrangler versions secrets put/bulk
Updated dependencies [d68e8c9, fed1fda]:
One column per quarter.
[[pipelines]] binding = "MY_PIPELINE" pipeline = "my-pipeline"
#6674 831f892 Thanks @andyjessop! - feat: Added new [[pipelines]] bindings. This creates a new binding that allows sending events to
the specified pipeline.
Example:
[[pipelines]] binding = "MY_PIPELINE" pipeline = "my-pipeline"
#6668 88c40be Thanks @zebp! - feature: add observability setting to wrangler.toml
Adds the observability setting which provides your Worker with automatic persistent logs that can be searched, filtered, and queried directly from the Workers dashboard.
#6679 2174127 Thanks @jkoe-cf! - feat: adding option to specify a rule within the config to delete (if no rules are specified, all rules get deleted)
#6666 4107f57 Thanks @threepointone! - feat: support analytics engine in local/remote dev
This adds "support" for analytics engine datasets for wrangler dev. Specifically, it simply mocks the AE bindings so that they exist while developing (and don't throw when accessed).
This does NOT add support in Pages, though we very well could do so in a similar way in a followup.
#6640 8527675 Thanks @petebacondarwin! - feat: experimental workers assets can be ignored by adding a .assetsignore file
This file can be added to the root of the assets directory that is to be uploaded alongside the Worker
when using experimental_assets.
The file follows the .gitignore syntax, and any matching paths will not be included in the upload.
#6652 648cfdd Thanks @bthwaites! - feat: Update R2 Get Event Notification response, display, and actions
#6625 8dcd456 Thanks @maxwellpeterson! - feature: Add support for placement hints
Adds the hint field to smart placement configuration. When set, placement hints will be used to decide where smart-placement-enabled Workers are run.
#6631 59a0072 Thanks @emily-shen! - feat: Add config options 'html_handling' and 'not_found_handling' to experimental_asset field in wrangler.toml
#6621 6523db2 Thanks @emily-shen! - fix: Validate routes in wrangler dev and wrangler deploy for Workers with assets
We want wrangler to error if users are trying to deploy a Worker with assets, and routes with a path component.
All Workers with assets must have either:
#6687 7bbed63 Thanks @GregBrimble! - fix: Fix asset upload count messaging
#6628 33cc0ec Thanks @GregBrimble! - chore: Improves messaging when uploading assets
#6671 48eeff4 Thanks @jkoe-cf! - fix: Update R2 Create Event Notification response
#6618 67711c2 Thanks @GregBrimble! - fix: Switch to multipart/form-data upload format for Workers Assets
This has proven to be much more reliable.
Updated dependencies [3f5b934, 59a0072]:
Adds a cloudchamber curl command which allows easy access to arbitrary cloudchamber API endpoints.
#6126 18c105b Thanks @IRCody! - feature: Add 'cloudchamber curl' command
Adds a cloudchamber curl command which allows easy access to arbitrary cloudchamber API endpoints.
#6649 46a91e7 Thanks @andyjessop! - feature: Integrate the Cloudflare Pipelines product into wrangler.
Cloudflare Pipelines is a product that handles the ingest of event streams into R2. This feature integrates various forms of managing pipelines.
Usage:
wrangler pipelines create <pipeline>: Create a new pipeline
wrangler pipelines list: List current pipelines
wrangler pipelines show <pipeline>: Show a pipeline configuration
wrangler pipelines update <pipeline>: Update a pipeline
wrangler pipelines delete <pipeline>: Delete a pipeline
Examples: wrangler pipelines create my-pipeline --r2 MY_BUCKET --access-key-id "my-key" --secret-access-key "my-secret" wrangler pipelines show my-pipeline wrangler pipelines delete my-pipline
#6612 6471090 Thanks @dario-piotrowicz! - fix: Add hyperdrive binding support in getPlatformProxy
example:
# wrangler.toml
[[hyperdrive]]
binding = "MY_HYPERDRIVE"
id = "000000000000000000000000000000000"
localConnectionString = "postgres://user:pass@127.0.0.1:1234/db"
// index.mjs
import postgres from "postgres";
import { getPlatformProxy } from "wrangler";
const { env, dispose } = await getPlatformProxy();
try {
const sql = postgres(
// Note: connectionString points to `postgres://user:pass@127.0.0.1:1234/db` not to the actual hyperdrive
// connection string, for more details see the explanation below
env.MY_HYPERDRIVE.connectionString
);
const results = await sql`SELECT * FROM pg_tables`;
await sql.end();
} catch (e) {
console.error(e);
}
await dispose();
Note: the returned binding values are no-op/passthrough that can be used inside node.js, meaning
that besides direct connections via the connect methods, all the other values point to the
same db connection specified in the user configuration
#6620 ecdfabe Thanks @petebacondarwin! - fix: don't warn about node:async_hooks if nodejs_als is set
Fixes #6011
Updated dependencies [5936282, 6471090]:
The version upload API returns a field indicating whether a preview exists for that version. If a preview exists and workers.dev is enabled, wrangler
#6603 a197460 Thanks @taylorlee! - feature: log version preview url when previews exist
The version upload API returns a field indicating whether a preview exists for that version. If a preview exists and workers.dev is enabled, wrangler will now log the full URL on version upload.
This does not impact wrangler deploy, which only prints the workers.dev route of the latest deployment.
#6550 8d1d464 Thanks @Pedr0Rocha! - feature: add RateLimit type generation to the ratelimit unsafe binding.
#6615 21a09e0 Thanks @RamIdeas! - chore: avoid potential double-install of create-cloudflare
When wrangler init delegates to C3, it did so via npm create cloudflare@2.5.0. C3's v2.5.0 was the first to include auto-update support to avoid npx's potentially stale cache. But this also guaranteed a double install for users who do not have 2.5.0 cached. Now, wrangler delegates via npm create cloudflare@^2.5.0 which should use the latest version cached on the user's system or install and use the latest v2.x.x.
#6603 a197460 Thanks @taylorlee! - chore: fix version upload log order
Previously deploy prints: upload timings deploy timings current version id
while version upload prints: worker version id upload timings
This change makes version upload more similar to deploy by printing version id after upload, which also makes more sense, as version ID can only be known after upload has finished.
Updated dependencies [`e8975a9`]:
dff8d44 Thanks @CarmenPopoviciu! - feat: add support for experimental assets in wrangler dev watch mode#6605 c4f0d9e Thanks @WalshyDev! - fix: ensure we update non-versioned Worker settings for the new deploy path in wrangler deploy
Updated dependencies [e8975a9]:
A few of the commands had an output that wasn't guarded by --x-versions those have been updated to use the newer output, we have tried to keep compati
#6571 a7e1bfe Thanks @penalosa! - feat: Add deployment http targets to wrangler deploy logs, and add url to pages deploy logs
#6497 3bd833c Thanks @WalshyDev! - chore: move wrangler versions ..., wrangler deployments ..., wrangler rollback and wrangler triggers ... out of experimental and open beta.
These are now available to use without the --x-versions flag, you can continue to pass this however without issue to keep compatibility with all the usage today.
A few of the commands had an output that wasn't guarded by --x-versions those have been updated to use the newer output, we have tried to keep compatibility where possible (for example: wrangler rollback will continue to output "Worker Version ID:" so users can continue to grab the ID).
If you wish to use the old versions of the commands you can pass the --no-x-versions flag. Note, these will be removed in the future so please work on migrating.
#6586 72ea742 Thanks @penalosa! - feat: Inject a 404 response for browser requested favicon.ico files when loading the /__scheduled page for scheduled-only Workers
#6497 3bd833c Thanks @WalshyDev! - feat: update wrangler deploy to use the new versions and deployments API.
This should have zero user-facing impact but sets up the most used command to deploy Workers to use the new recommended APIs and move away from the old ones.
We will still call the old upload path where required (e.g. Durable Object migration or Service Worker format).
#6563 da48a70 Thanks @threepointone! - chore: remove the warning about local mode flag being removed in the future
#6595 0a76d7e Thanks @vicb! - feat: update unenv to the latest available version
#5738 c2460c4 Thanks @penalosa! - fix: Prevent spaces in names when validating
#6586 72ea742 Thanks @penalosa! - chore: Improve Miniflare CRON warning wording
#6593 f097cb7 Thanks @vicb! - fix: remove experimental: prefix requirement for nodejs_compat_v2
See https://jira.cfdata.org/browse/DEVDASH-218
#6572 0d83428 Thanks @penalosa! - fix: Show a clearer user error when trying to use a python worker without the python_workers compatibility flag specified
#6589 f4c8cea Thanks @vicb! - feat: update unenv to the latest available version
Updated dependencies [45ad2e0]:
Updated dependencies [`6c057d1`]:
#6548 439e63a Thanks @garvit-gupta! - fix: Fix Vectorize getVectors, deleteVectors payload in Wrangler Client; VS-271
#6554 46aee5d Thanks @andyjessop! - fix: nodejs_compat flags no longer error when running wrangler types --x-include-runtime
#6548 439e63a Thanks @garvit-gupta! - fix: Add content-type header to Vectorize POST operations; #6516/VS-269
#6566 669ec1c Thanks @penalosa! - fix: Ensure esbuild warnings are logged when running wrangler deploy
Updated dependencies [6c057d1]:
Updated dependencies [`b0e2f0b`, `f5bde66`]:
#6511 e75c581 Thanks @petebacondarwin! - fix: allow Pages projects to use `experimental:nodejs_compat_v2" flag
Fixes #6288
Updated dependencies [b0e2f0b, f5bde66]:
Replaces #6471, which was too verbose.
#6530 d0ecc6a Thanks @WalshyDev! - fix: fixed wrangler versions upload printing bindings twice
#6502 a9b4f25 Thanks @garvit-gupta! - fix: Fix Vectorize List MetadataIndex Http Method
#6508 56a3de2 Thanks @petebacondarwin! - fix: move the Windows C++ redistributable warning so it is only shown if there is an actual access violation
Replaces #6471, which was too verbose.
Fixes #6170
As well as providing paths to custom HTTPS certificate files, it is now possible to use WRANGLER_HTTPS_KEY_PATH and WRANGLER_HTTPS_CERT_PATH environme
#6479 3c24d84 Thanks @petebacondarwin! - feat: allow HTTPS custom certificate paths to be provided by a environment variables
As well as providing paths to custom HTTPS certificate files, it is now possible to use WRANGLER_HTTPS_KEY_PATH and WRANGLER_HTTPS_CERT_PATH environment variables.
Specifying the file paths at the command line overrides specifying in environment variables.
Fixes #5997
#6471 0d85f24 Thanks @petebacondarwin! - fix: add a helpful message on Windows when Miniflare fails to start
#6489 34bf393 Thanks @GregBrimble! - fix: Upload assets as JSON Lines (application/jsonl) rather than NDJSON (application/x-ndjson)
#6482 e24939c Thanks @RamIdeas! - fix: reimplement module aliasing so user-defined aliases take precedence over other plugins (eg unenv node.js polyfills)
Updated dependencies [00f340f]:
To avoid a breaking change, we have kept --count as an alias to --limit.
#6464 da9106c Thanks @AnantharamanSI! - feat: rename --count to --limit in wrangler d1 insights
This PR renames wrangler d1 insight's --count flag to --limit to improve clarity and conform to naming conventions.
To avoid a breaking change, we have kept --count as an alias to --limit.
#6451 515de6a Thanks @danielrs! - feat: whoami shows membership information when available
#6463 dbc6782 Thanks @AnantharamanSI! - feat: add queryEfficiency to wrangler d1 insights output
#6252 a2a144c Thanks @garvit-gupta! - feat: Enable Wrangler to operate on Vectorize V2 indexes
Updated dependencies [`d55eeca`]:
05082ad Thanks @petebacondarwin! - feat: support outputting ND-JSON files via an environment variable#6440 09b5092 Thanks @petebacondarwin! - fix: tweak the properties of the new Wrangler output file entries for better consistency
Updated dependencies [d55eeca]:
### Patch Changes - #6432 `cba2e25` Thanks @petebacondarwin! - fix: prevent crash when running wrangler dev due to missing dependency
cba2e25 Thanks @petebacondarwin! - fix: prevent crash when running wrangler dev due to missing dependencyThese changes do the ground work needed in order to add Assets support for Workers in wrangler dev. They implement the following:
#6392 c3e19b7 Thanks @taylorlee! - feat: log Worker startup time in the version upload command
#6370 8a3c6c0 Thanks @CarmenPopoviciu! - feat: Create very basic Asset Server Worker and plumb it into wrangler dev
These changes do the ground work needed in order to add Assets support for Workers in wrangler dev. They implement the following:
workers-shared that hosts the Asset Server Worker, and the Router Workerin the futureAsset Server Worker in some very basic form, with basic configuration. Further behaviour implementation will follow in a subsequent PR#6392 c3e19b7 Thanks @taylorlee! - fix: remove bundle size warning from Worker deploy commands
Bundle size was a proxy for startup time. Now that we have startup time reported, focus on bundle size is less relevant.
When using --localUpstream=example.com, the request.url would incorrectly be "example.com:8787" but is now "example.com".
#6318 dc576c8 Thanks @danlapid! - feat: Add a log for worker startup time in wrangler deploy
#6097 64f34e8 Thanks @RamIdeas! - feat: implements the --experimental-dev-env (shorthand: --x-dev-env) flag for wrangler pages dev
#6379 31aa15c Thanks @RamIdeas! - fix: clearer error message when trying to use Workers Sites or Legacy Assets with wrangler versions upload
#6367 7588800 Thanks @RamIdeas! - fix: implicitly cleanup (call stop()) in unstable_dev if the returned Promise rejected and the stop() function was not returned
#6330 cfbdede Thanks @RamIdeas! - fix: when the worker's request.url is overridden using the host or localUpstream, ensure port is overridden/cleared too
When using --localUpstream=example.com, the request.url would incorrectly be "example.com:8787" but is now "example.com".
This only applies to wrangler dev --x-dev-env and unstable_dev({ experimental: { devEnv: true } }).
#6365 13549c3 Thanks @WalshyDev! - fix: WASM modules meant that wrangler versions secret ... could not properly update the version. This has now been fixed.
Updated dependencies [a9021aa, 44ad2c7]:
This change adds a new experimental CLI flag (--experimental-assets) and configuration key (experimental_assets) for the new Workers + Assets work.
#6312 67c611a Thanks @emily-shen! - feat: add CLI flag and config key for experimental Workers + Assets
This change adds a new experimental CLI flag (--experimental-assets) and configuration key (experimental_assets) for the new Workers + Assets work.
The new flag and configuration key are for the time being "inactive", in the sense that no behaviour is attached to them yet. This will follow up in future work.
Updated dependencies [b3c3cb8]:
When using any cloudchamber command the cloudchamber scope will now be added to the existing scopes instead of replacing them.
#4545 e5afae0 Thanks @G4brym! - Remove experimental/beta constellation commands and binding, please migrate to Workers AI, learn more here https://developers.cloudflare.com/workers-ai/.
This is not deemed a major version bump for Wrangler since these commands were never generally available.
#6322 373248e Thanks @IRCody! - Add cloudchamber scope to existing scopes instead of replacing them.
When using any cloudchamber command the cloudchamber scope will now be added to the existing scopes instead of replacing them.
#6276 a432a13 Thanks @CarmenPopoviciu! - feat: Add support for wrangler.jsonc
This commit adds support for wrangler.jsonc config file for Workers. This feature is available behind the --experimental-json-config flag (just like wrangler.json).
To use the new configuration file, add a wrangler.jsonc file to your Worker project and run wrangler dev --experimental-json-config or wrangler deploy --experimental-json-config.
Please note that this work does NOT add wrangler.json or wrangler.jsonc support for Pages projects!
#6168 1ee41ff Thanks @IRCody! - feature: Add list and remove subcommands to cloudchamber registries command.
#6331 e6ada07 Thanks @threepointone! - fix: only warn about miniflare feature support (ai, vectorize, cron) once
We have some warnings in local mode dev when trying to use ai bindings / vectorize / cron, but they are printed every time the worker is started. This PR changes the warning to only be printed once per worker start.
The existing behavior of the assets config key/flag will change on August 15th.
#6295 ebc85c3 Thanks @andyjessop! - feat: introduce an experimental flag for wrangler types to dynamically generate runtime types according to the user's project configuration.
#6272 084d39e Thanks @emily-shen! - fix: add legacy-assets config and flag as alias of current assets behavior
assets config key/flag will change on August 15th.legacy-assets will preserve current functionality.Updated dependencies [`779c713`]:
#6267 957d668 Thanks @WalshyDev! - chore: add total module size to the logged table, this makes it much easier to see the total size of all modules combined.
#6244 e7c06d7 Thanks @gabivlj! - fix: wrangler cloudchamber json errors are properly formatted
Updated dependencies [779c713]:
Wrangler will now send the duration and the total size of any sourcemaps uploaded with your Worker to Cloudflare if you have metrics enabled.
#6194 25afcb2 Thanks @zebp! - chore: Add duration and sourcemap size to upload metrics event
Wrangler will now send the duration and the total size of any sourcemaps uploaded with your Worker to Cloudflare if you have metrics enabled.
#6259 eb201a3 Thanks @ottomated! - chore: Add types to DurableObjectNamespace type generation. For example:
interface Env {
OBJECT: DurableObjectNamespace<import("./src/index").MyDurableObject>;
}
#6245 e4abed3 Thanks @OilyLime! - feature: Add support for Hyperdrive over Access configs
#6255 d497e1e Thanks @rozenmd! - fix: teach wrangler init --from-dash about d1 bindings
This PR teaches wrangler init --from-dash about D1 bindings, so they aren't incorrectly added to the wrangler.toml as unsafe bindings.
#6258 4f524f2 Thanks @dom96! - feature: Add warning about deploying Python with requirements.txt
This expands on the warning shown for all Python Workers to include a message about deploying Python Workers with a requirements.txt not being supported.
#6249 8bbd824 Thanks @petebacondarwin! - chore: Update config-schema.json for the wrangler.toml
#5955 db11a0f Thanks @harugon! - fix: correctly escape newlines in constructType function for multiline strings
This fix ensures that multiline strings are correctly handled by the constructType function. Newlines are now properly escaped to prevent invalid JavaScript code generation when using the wrangler types command. This improves robustness and prevents errors related to multiline string handling in environment variables and other configuration settings.
#6263 fa1016c Thanks @petebacondarwin! - fix: use cli script-name arg when deploying a worker with queue consumers
Updated dependencies [0d32448]:
It is easy to get confused when trying to logout while the CLOUDFLARE_API_TOKEN env var is set. The logout command normally prints out a message which
#4925 7d4a4d0 Thanks @dom96! - feature: whoami, logout and login commands mention the CLOUDFLARE_API_TOKEN env var now
It is easy to get confused when trying to logout while the CLOUDFLARE_API_TOKEN env var is set. The logout command normally prints out a message which states that the user is not logged in. This change rectifes this to explicitly call out that the CLOUDFLARE_API_TOKEN is set and requests that the user unsets it to logout.
#5032 75f7928 Thanks @dbenCF! - Adding client side error handling for R2 when the user tries to create a bucket with an invalid name. The purpose of this addition is to provide the user with more context when encountering this error.
#4398 4b1e5bc Thanks @mattpocock! - fix: update tsconfig for Workers generated by wrangler init
in workerd detaching the waitUntil and passThroughOnException methods from the ExecutionContext object results in them throwing illegal invocation err
#6199 88313e5 Thanks @dario-piotrowicz! - fix: make sure getPlatformProxy's ctx methods throw illegal invocation errors like workerd
in workerd detaching the waitUntil and passThroughOnException methods from the ExecutionContext
object results in them throwing illegal invocation errors, such as for example:
export default {
async fetch(_request, _env, { waitUntil }) {
waitUntil(() => {}); // <-- throws an illegal invocation error
return new Response("Hello World!");
},
};
make sure that the same behavior is applied to the ctx object returned by getPlatformProxy
#5569 75ba960 Thanks @penalosa! - fix: Simplify wrangler pages download config:
The watch mode in pages dev for Advanced Mode projects is currently partially broken, as it only watches for changes in the "\_worker.js" file, but no
#6192 b879ce4 Thanks @petebacondarwin! - fix: do not report D1 user errors to Sentry
#6150 d993409 Thanks @CarmenPopoviciu! - fix: Fix pages dev watch mode [_worker.js]
The watch mode in pages dev for Advanced Mode projects is currently partially broken, as it only watches for changes in the "_worker.js" file, but not for changes in any of its imported dependencies. This means that given the following "_worker.js" file
import { graham } from "./graham-the-dog";
export default {
fetch(request, env) {
return new Response(graham)
}
}
pages dev will reload for any changes in the _worker.js file itself, but not for any changes in graham-the-dog.js, which is its dependency.
Similarly, pages dev will not reload for any changes in non-JS module imports, such as wasm/html/binary module imports.
This commit fixes all the aforementioned issues.
Sometimes, users want to replace modules with other modules. This commonly happens inside a third party dependency itself. As an example, a user might
#6167 e048958 Thanks @threepointone! - feature: alias modules in the worker
Sometimes, users want to replace modules with other modules. This commonly happens inside a third party dependency itself. As an example, a user might have imported node-fetch, which will probably never work in workerd. You can use the alias config to replace any of these imports with a module of your choice.
Let's say you make a fetch-nolyfill.js
export default fetch; // all this does is export the standard fetch function`
You can then configure wrangler.toml like so:
# ...
[alias]
"node-fetch": "./fetch-nolyfill"
So any calls to import fetch from 'node-fetch'; will simply use our nolyfilled version.
You can also pass aliases in the cli (for both dev and deploy). Like:
npx wrangler dev --alias node-fetch:./fetch-nolyfill
#6073 7ed675e Thanks @geelen! - Added D1 export support for local databases
#6149 35689ea Thanks @RamIdeas! - refactor: React-free hotkeys implementation, behind the --x-dev-env flag
#6022 7951815 Thanks @CarmenPopoviciu! - fix: Fix pages dev watch mode [Functions]
The watch mode in pages dev for Pages Functions projects is currently partially broken, as it only watches for file system changes in the
"/functions" directory, but not for changes in any of the Functions' dependencies. This means that given a Pages Function math-is-fun.ts, defined as follows:
import { ADD } from "../math/add";
export async function onRequest() {
return new Response(`${ADD} is fun!`);
}
pages dev will reload for any changes in math-is-fun.ts itself, but not for any changes in math/add.ts, which is its dependency.
Similarly, pages dev will not reload for any changes in non-JS module imports, such as wasm/html/binary module imports.
This commit fixes all these things, plus adds some extra polish to the pages dev watch mode experience.
#6164 4cdad9b Thanks @threepointone! - fix: use account id for listing zones
Fixes https://github.com/cloudflare/workers-sdk/issues/4944
Trying to fetch /zones fails when it spans more than 500 zones. The fix to use an account id when doing so. This patch passes the account id to the zones call, threading it through all the functions that require it.
#6180 b994604 Thanks @Skye-31! - Fix: pass env to getBindings to support reading .dev.vars.{environment}
https://github.com/cloudflare/workers-sdk/pull/5612 added support for selecting the environment of config used, but it missed passing it to the code that reads .dev.vars.{environment}
Closes #5641
#6124 d03b102 Thanks @RamIdeas! - feat: url and inspectorUrl properties have been exposed on the worker object returned by new unstable_DevEnv().startWorker(options)
#6147 02dda3d Thanks @penalosa! - refactor: React free dev registry
#6127 1568c25 Thanks @DaniFoldi! - fix: Bump ws dependency
#6140 4072114 Thanks @petebacondarwin! - fix: add extra error logging to auth response errors
#6160 9466531 Thanks @sm-bean! - fix: removes unnecessary wrangler tail warning against resetting durable object
fixes https://jira.cfdata.org/browse/STOR-3318
#6142 9272ef5 Thanks @dario-piotrowicz! - fix: improve the getPlatformProxy configPath option ts-doc comment to clarify its behavior
Updated dependencies [42a7930, 7ed675e, 1568c25]:
wrangler versions secret put allows for you to add/update a secret even if the latest version is not fully deployed. A new version with this secret wi
#5950 0075621 Thanks @WalshyDev! - feat: add wrangler versions secret put, wrangler versions secret bulk and wrangler versions secret list
wrangler versions secret put allows for you to add/update a secret even if the latest version is not fully deployed. A new version with this secret will be created, the existing secrets and config are copied from the latest version.
wrangler versions secret bulk allows you to bulk add/update multiple secrets at once, this behaves the same as secret put and will only make one new version.
wrangler versions secret list lists the secrets available to the currently deployed versions. wrangler versions secret list --latest-version or wrangler secret list will list for the latest version.
Additionally, we will now prompt for extra confirmation if attempting to rollback to a version with different secrets than the currently deployed.
#6118 1621992 Thanks @WalshyDev! - fix: rollback in the case of a secret change, the prompt meant to show was not showing due to the spinner in an interactive env. It will now properly show.
chore: improve the view of wrangler versions view and change up copy a little for versions secret commands.
#6105 26855f3 Thanks @helloimalastair! - feat: Add help messages to all invalid r2 commands
#3735 9c7df38 Thanks @lrapoport-cf! - chore: Cleanup wrangler --help output
This commit cleans up and standardizes the look and feel of all wrangler commands as displayed by wrangler --help and wrangler <cmd> --help.
#6080 e2972cf Thanks @threepointone! - chore: run eslint (with react config) on workers-playground/wrangler
This enables eslint (with our react config) for the workers-playground project. Additionally, this enables the react-jsx condition in relevant tsconfig/eslint config, letting us write jsx without having React in scope.
#6001 d39d595 Thanks @penalosa! - chore: changes to how wrangler dev launches your worker, behind the experimental --x-dev-env flag
#5214 05c5607 Thanks @penalosa! - feat: Experimental file based service discovery when running multiple Wrangler instances locally. To try it out, make sure all your local Wrangler instances are running with the --x-registry flag.
Updated dependencies [7d02856, d4e1e9f]:
This commit adds a small QOL improvement to init (to be deprecated in the future), for those who still use this wrangler command.
#5995 374bc44 Thanks @petebacondarwin! - feat: allow Durable Object migrations to be overridable in environments
By making the migrations key inheritable, users can provide different migrations
for each wrangler.toml environment.
Resolves #729
#6039 dc597a3 Thanks @petebacondarwin! - fix: hybrid nodejs compat now supports requiring the default export of a CJS module
Fixes #6028
#6051 15aff8f Thanks @threepointone! - fix: Don't check expiry dates on custom certs
Fixes https://github.com/cloudflare/workers-sdk/issues/5964
For wrangler dev, we don't have to check whether certificates have expired when they're provided by the user.
#6052 b4c0233 Thanks @threepointone! - chore: Add .wrangler and .DS_Store to .gitignore generated by wrangler init
This commit adds a small QOL improvement to init (to be deprecated in the future), for those who still use this wrangler command.
#6050 a0c3327 Thanks @threepointone! - chore: Normalize more deps
This is the last of the patches that normalize dependencies across the codebase. In this batch: ws, vitest, zod , rimraf, @types/rimraf, ava, source-map, glob, cookie, @types/cookie, @microsoft/api-extractor, @types/mime, @types/yargs, devtools-protocol, @vitest/ui, execa, strip-ansi
This patch also sorts dependencies in every package.json
#6029 f5ad1d3 Thanks @threepointone! - chore: Normalize some dependencies in workers-sdk
This is the first of a few expected patches that normalize dependency versions, This normalizes undici, concurrently, @types/node, react, react-dom, @types/react, @types/react-dom, eslint, typescript. There are no functional code changes (but there are a couple of typecheck fixes).
#6046 c643a81 Thanks @threepointone! - chore: Normalize more dependencies.
Follow up to https://github.com/cloudflare/workers-sdk/pull/6029, this normalizes some more dependencies : get-port, chalk, yargs, toucan-js, @typescript-eslint/parser, @typescript-eslint/eslint-plugin, esbuild-register, hono, glob-to-regexp, @cloudflare/workers-types
#6058 31cd51f Thanks @threepointone! - chore: Quieter builds
This patch cleans up warnings we were seeing when doing a full build. Specifically:
@microsoft/api-extractor so it didn't complain that it didn't match the typescript version (that we'd recently upgraded)wrangler. We'll need to fix those, but we'll do that when we work on unstable_dev etc.#6043 db66101 Thanks @threepointone! - fix: avoid esbuild warning when running dev/bundle
I've been experimenting with esbuild 0.21.4 with wrangler. It's mostly been fine. But I get this warning every time
▲ [WARNING] Import "__INJECT_FOR_TESTING_WRANGLER_MIDDLEWARE__" will always be undefined because there is no matching export in "src/index.ts" [import-is-undefined]
.wrangler/tmp/bundle-Z3YXTd/middleware-insertion-facade.js:8:23:
8 │ .....(OTHER_EXPORTS.__INJECT_FOR_TESTING_WRANGLER_MIDDLEWARE__ ?? []),
╵
This is because esbuild@0.18.5 enabled a warning by default whenever an undefined import is accessed on an imports object. However we abuse imports to inject stuff in middleware.test.ts. A simple fix is to only inject that code in tests.
#6062 267761b Thanks @WalshyDev! - fix: typo in wrangler d1 execute saying "Databas" instead of "Database"
#6064 84e6aeb Thanks @helloimalastair! - fix: Wrangler is now able to upload files to local R2 buckets above the 300 MiB limit
Updated dependencies [a0c3327, f5ad1d3, 31cd51f]:
It turns out that ESBuild paths are case insensitive, which can result in path collisions between polyfills for globalThis.performance and globalThis.
#6025 122ef06 Thanks @IgorMinar! - fix: avoid path collisions between performance and Performance Node.js polyfills
It turns out that ESBuild paths are case insensitive, which can result in path collisions between polyfills for globalThis.performance and globalThis.Performance, etc.
This change ensures that we encode all global names to lowercase and decode them appropriately.
#6009 169a9fa Thanks @RamIdeas! - fix: reduce the number of parallel file reads on Windows to avoid EMFILE type errors
Fixes #1586
53acdbc Thanks @petebacondarwin! - fix: warn if user tries normal deploy when in the middle of a gradual version rollout
Updated dependencies [c4146fc]:
This PR updates wrangler d1 insights to accept arbitrary timePeriod values up to 31 days.
### Patch Changes - #6002 `f1f1834` Thanks @GregBrimble! - Revert a change in 3.60.0 which incorrectly batched assets for Pages uploads (https://githu
f1f1834 Thanks @GregBrimble! - Revert a change in 3.60.0 which incorrectly batched assets for Pages uploads (https://github.com/cloudflare/workers-sdk/pull/5632).The old command is now deprecated (but still functional) and will be removed in a future release. The new command is now more consistent with the rest…
#5878 1e68fe5 Thanks @IgorMinar! - feat: add experimental support for hybrid Node.js compatibility
This feature is experimental and not yet available for general consumption.
Use a combination of workerd Node.js builtins (behind the experimental:nodejs_compat_v2 flag) and
Unenv polyfills (configured to only add those missing from the runtime) to provide a new more effective
Node.js compatibility approach.
#5988 e144f63 Thanks @RamIdeas! - feature: rename the wrangler secret:bulk command to wrangler secret bulk
The old command is now deprecated (but still functional) and will be removed in a future release. The new command is now more consistent with the rest of the wrangler CLI commands.
#5989 35b1a2f Thanks @RamIdeas! - feature: rename wrangler kv:... commands to wrangler kv ...
The old commands are now deprecated (but still functional) and will be removed in a future release. The new commands are now more consistent with the rest of the wrangler CLI commands.
#5861 1cc52f1 Thanks @zebp! - feat: allow for Pages projects to upload sourcemaps
Pages projects can now upload sourcemaps for server bundles to enable remapped stacktraces in realtime logs when deployed with upload_source_map set to true in wrangler.toml.
#5939 21573f4 Thanks @penalosa! - refactor: Adds the experimental flag --x-dev-env which opts in to using an experimental code path for wrangler dev and wrangler dev --remote. There should be no observable behaviour changes when this flag is enabled.
#5934 bac79fb Thanks @dbenCF! - fix: Update create KV namespace binding details message for easier implementation
#5927 6f83641 Thanks @CarmenPopoviciu! - fix: Clean pages dev terminal ouput
This work includes a series of improvements to the pages dev terminal output, in an attempt to make this output more structured, organised, cleaner, easier to follow, and therefore more helpful for our users <3
#5960 e648825 Thanks @petebacondarwin! - fix: avoid injecting esbuild watch stubs into production Worker code
When we added the ability to include additional modules in the deployed bundle of a Worker, we inadvertently also included some boiler plate code that is only needed at development time.
This fix ensures that this code is only injected if we are running esbuild in watch mode
(e.g. wrangler dev) and not when building for deployment.
It is interesting to note that this boilerplate only gets included in the production code if there is an import of CommonJS code in the Worker, which esbuild needs to convert to an ESM import.
Fixes #4269
Updated dependencies [ab95473]:
By setting WRANGLER_DISABLE_EXPERIMENTAL_WARNING to any truthy value, these warnings will be hidden.
#5963 bf803d7 Thanks @Skye-31! - Feature: Add support for hiding the "unsafe" fields are experimental warning using an environment variable
By setting WRANGLER_DISABLE_EXPERIMENTAL_WARNING to any truthy value, these warnings will be hidden.
bdbb7f8]:
The experimental "assets" field can be either a string or an object. However the type definition marks it only as an object. This is a problem because
93b98cb Thanks @WalshyDev! - feature: allow for writing authentication details per API environment. This allows someone targetting staging to have their staging auth details saved separately from production, this saves them logging in and out when switching environments.#5938 9e4d8bc Thanks @threepointone! - fix: let "assets" in wrangler.toml be a string
The experimental "assets" field can be either a string or an object. However the type definition marks it only as an object. This is a problem because we use this to generate the json schema, which gets picked up by vscode's even better toml extension, and shows it to be an error when used with a string (even though it works fine). The fix is to simply change the type definition to add a string variant.
#5758 8e5e589 Thanks @Jackenmen! - fix: use correct type for AI binding instead of unknown
Updated dependencies [e0e7725]:
Updated dependencies [`64ccdd6`, `4458a9e`]:
#5905 53f22a0 Thanks @penalosa! - fix: Remove WARP certificate injection. Instead, you should ensure that any custom certificates that are needed are included in NODE_EXTRA_CA_CERTS.
#5930 57daae0 Thanks @WalshyDev! - chore: improve error message when updating secret for a non-deployed latest version.
#5703 a905f31 Thanks @penalosa! - fix: Don't use ExportedHandler["middleware"] for injecting middleware
Updated dependencies [64ccdd6, 4458a9e]:
If a Pages project fails to deploy, wrangler pages deploy will log an error message, but exit successfully. It should instead throw a FatalError.
#5859 f2ceb3a Thanks @w-kuhn! - fix: queue consumer max_batch_timeout should accept a 0 value
#5862 441a05f Thanks @CarmenPopoviciu! - fix: wrangler pages deploy should fail if deployment was unsuccessful
If a Pages project fails to deploy, wrangler pages deploy will log
an error message, but exit successfully. It should instead throw a
FatalError.
#5812 d5e00e4 Thanks @thomasgauvin! - fix: remove Hyperdrive warning for local development.
Hyperdrive bindings are now supported when developing locally with Hyperdrive. We should update our logs to reflect this.
#5626 a12b031 Thanks @RamIdeas! - chore: ignore workerd output (error: CODE_MOVED) not intended for end-user devs
Today, if uploading a Pages Function, or deploying a Pages project fails for whatever reason, there’s no feedback shown to the user. Worse yet, the sh
#5696 7e97ba8 Thanks @geelen! - feature: Improved d1 execute --file --remote performance & added support for much larger SQL files within a single transaction.
#5819 63f7acb Thanks @CarmenPopoviciu! - fix: Show feedback on Pages project deployment failure
Today, if uploading a Pages Function, or deploying a Pages project fails for whatever reason, there’s no feedback shown to the user. Worse yet, the shown message is misleading, saying the deployment was successful, when in fact it was not:
✨ Deployment complete!
This commit ensures that we provide users with:
#5814 2869e03 Thanks @CarmenPopoviciu! - fix: Display correct global flags in wrangler pages --help
Running wrangler pages --help will list, amongst others, the following global flags:
-j, --experimental-json-config
-c, --config
-e, --env
-h, --help
-v, --version
This is not accurate, since flags such as --config, --experimental-json-config, or env are not supported by Pages.
This commit ensures we display the correct global flags that apply to Pages.
#5818 df2daf2 Thanks @WalshyDev! - chore: Deprecate usage of the deployment object on the unsafe metadata binding in favor of the new version_metadata binding.
If you're currently using the old binding, please move over to the new version_metadata binding by adding:
[version_metadata]
binding = "CF_VERSION_METADATA"
and updating your usage accordingly. You can find the docs for the new binding here: https://developers.cloudflare.com/workers/runtime-apis/bindings/version-metadata
#5838 609debd Thanks @petebacondarwin! - fix: update undici to the latest version to avoid a potential vulnerability
#5832 86a6e09 Thanks @petebacondarwin! - fix: do not allow non-string values in bulk secret uploads
Prior to Wrangler 3.4.0 we displayed an error if the user tried to upload a JSON file that contained non-string secrets, since these are not supported by the Cloudflare backend.
This change reintroduces that check to give the user a helpful error message
rather than a cryptic workers.api.error.invalid_script_config error code.
Reduces the maximum bucket size from 50 MiB to 40 MiB.
151bc3d Thanks @penalosa! - feat: Support mtls_certificates and browser bindings when using wrangler.toml with a Pages project#5813 9627cef Thanks @GregBrimble! - fix: Upload Pages project assets with more grace
Updated dependencies [0725f6f, 89b6d7f]:
This change updates the miniflare's queue broker to support delayed delivery of messages, both when sending the message from a producer and when retry
#5570 66bdad0 Thanks @sesteves! - feature: support delayed delivery in the miniflare's queue simulator.
This change updates the miniflare's queue broker to support delayed delivery of messages, both when sending the message from a producer and when retrying the message from a consumer.
#5740 97741db Thanks @WalshyDev! - chore: log "Version ID" in wrangler deploy, wrangler deployments list, wrangler deployments view and wrangler rollback to support migration from the deprecated "Deployment ID". Users should update any parsing to use "Version ID" before "Deployment ID" is removed.
#5754 f673c66 Thanks @RamIdeas! - fix: when using custom builds, the wrangler dev proxy server was sometimes left in a paused state
This could be observed as the browser loading indefinitely, after saving a source file (unchanged) when using custom builds. This is now fixed by ensuring the proxy server is unpaused after a short timeout period.
Updated dependencies [66bdad0, 9b4af8a]:
Previously, with the following in your wrangler.toml, an invalid types file would be generated:
#5091 6365c90 Thanks @Cherry! - fix: better handle dashes and other invalid JS identifier characters in wrangler types generation for vars, bindings, etc.
Previously, with the following in your wrangler.toml, an invalid types file would be generated:
[vars]
some-var = "foobar"
Now, the generated types file will be valid:
interface Env {
"some-var": "foobar";
}
#5748 27966a4 Thanks @penalosa! - fix: Load sourcemaps relative to the entry directory, not cwd.
#5746 1dd9f7e Thanks @petebacondarwin! - fix: suggest trying to update Wrangler if there is a newer one available after an unexpected error
#5226 f63e7a5 Thanks @DaniFoldi! - fix: remove second Wrangler banner from wrangler dispatch-namespace rename
allow getPlatformProxy to target environments by allowing users to specify an environment option
#5604 327a456 Thanks @dario-piotrowicz! - feat: add support for environments in getPlatformProxy
allow getPlatformProxy to target environments by allowing users to specify an environment option
Example usage:
const { env } = await getPlatformProxy({
environment: "production",
});
Today Pages cannot deploy Durable Objects itself. For this reason it is mandatory that when declaring Durable Objects bindings in the config file, the
#5666 81d9615 Thanks @CarmenPopoviciu! - fix: Fix Pages config validation around Durable Objects
Today Pages cannot deploy Durable Objects itself. For this reason it is mandatory that when declaring Durable Objects bindings in the config file, the script_name is specified. We are currently not failing validation if
script_name is not specified but we should. These changes fix that.
#5610 24840f6 Thanks @SuperchupuDev! - Mark ts-json-schema-generator as a dev dependency
#5669 a7e36d5 Thanks @dario-piotrowicz! - fix: fix broken Durable Object local proxying (when no cf property is present)
A regression was introduced in wrangler 3.46.0 (https://github.com/cloudflare/workers-sdk/pull/5215)
which made it so that missing Request#cf properties are serialized as "undefined", this in turn
throws a syntax parse error when such values are parsed via JSON.parse breaking the communication
with Durable Object local proxies. Fix such issue by serializing missing Request#cf properties as
"{}" instead.
#5616 c6312b5 Thanks @webbertakken! - fix: broken link to durable object migrations docs
#5482 1b7739e Thanks @DaniFoldi! - docs: show new Discord url everywhere for consistency. The old URL still works, but https://discord.cloudflare.com is preferred.
Updated dependencies [3a0d735, 1b7739e]:
### Patch Changes - #5652 `ccb9d3d` Thanks @petebacondarwin! - chore: re-release due to broken build
ccb9d3d Thanks @petebacondarwin! - chore: re-release due to broken buildIt's useful for Pages Plugins which want to declare a peer dependency.
#5477 9a46e03 Thanks @pmiguel! - feature: Changed Queues client to use the new QueueId and ConsumerId-based endpoints.
#5172 fbe1c9c Thanks @GregBrimble! - feat: Allow marking external modules (with --external) to avoid bundling them when building Pages Functions
It's useful for Pages Plugins which want to declare a peer dependency.
Currently pages functions build-env throws a fatal error if a config file does not exit, or if it is invalid. This causes issues for the CI system. We
#5587 d95450f Thanks @CarmenPopoviciu! - fix: pages functions build-env should throw error if invalid Pages config file is found
#5572 65aa21c Thanks @CarmenPopoviciu! - fix: fix pages function build-env to exit with code rather than throw fatal error
Currently pages functions build-env throws a fatal error if a config file does not exit, or if it is invalid. This causes issues for the CI system. We should instead exit with a specific code, if any of those situations arises.
#5291 ce00a44 Thanks @pmiguel! - feature: Added bespoke OAuth scope for Queues management.
08b4908]:
Excludes usage_model from wrangler.toml in all cases, since this field is deprecated and no longer used.
#5549 113ac41 Thanks @penalosa! - feat: Support wrangler pages secret put|delete|list|bulk
#5550 4f47f74 Thanks @penalosa! - feat: Generate a JSON schema for the Wrangler package & use it in templates
#5561 59591cd Thanks @ocsfrank! - feat: update R2 CreateBucket action to include the storage class in the request body
#5374 7999dd2 Thanks @maxwellpeterson! - fix: Improvements to --init-from-dash
Adds user-specified CPU limit to wrangler.toml if one exists. Excludes usage_model from wrangler.toml in all cases, since this field is deprecated and no longer used.
#5553 dcd65dd Thanks @rozenmd! - fix: refactor d1's time-travel compatibility check
#5380 57d5658 Thanks @GregBrimble! - fix: Respect --no-bundle when deploying a _worker.js/ directory in Pages projects
#5536 a7aa28a Thanks @Cherry! - fix: resolve a regression where wrangler pages dev would bind to port 8787 by default instead of 8788 since wrangler@3.38.0
Updated dependencies [9575a51]:
Wrangler supports an -s flag that allows the user to specify a storage class when creating a bucket, changing the default storage class of a bucket, a
#5429 c5561b7 Thanks @ocsfrank! - R2 will introduce storage classes soon. Wrangler allows you to interact with storage classes once it is
enabled on your account.
Wrangler supports an -s flag that allows the user to specify a storage class when creating a bucket,
changing the default storage class of a bucket, and uploading an object.
wrangler r2 bucket create ia-bucket -s InfrequentAccess
wrangler r2 bucket update storage-class my-bucket -s InfrequentAccess
wrangler r2 object put bucket/ia-object -s InfrequentAccess --file foo
Updated dependencies [`9f15ce1`]:
9f15ce1]:
### Minor Changes - #5506 `7734f80` Thanks @penalosa! - feat: Add interactive prompt to wrangler pages download config if an existing wrangler.toml fi
Adds the source_maps boolean config option. When enabled, source maps included in the build output are uploaded alongside the built code modules. Uplo
#5282 b7ddde1 Thanks @maxwellpeterson! - feature: Add source map support for Workers
Adds the source_maps boolean config option. When enabled, source maps included in the build output are uploaded alongside the built code modules. Uploaded source maps can then be used to remap stack traces emitted by the Workers runtime.
#5215 cd03d1d Thanks @GregBrimble! - feature: support named entrypoints in service bindings
This change allows service bindings to bind to a named export of another Worker. As an example, consider the following Worker named bound:
import { WorkerEntrypoint } from "cloudflare:workers";
export class EntrypointA extends WorkerEntrypoint {
fetch(request) {
return new Response("Hello from entrypoint A!");
}
}
export const entrypointB: ExportedHandler = {
fetch(request, env, ctx) {
return new Response("Hello from entrypoint B!");
},
};
export default <ExportedHandler>{
fetch(request, env, ctx) {
return new Response("Hello from the default entrypoint!");
},
};
Up until now, you could only bind to the default entrypoint. With this change, you can bind to EntrypointA or entrypointB too using the new entrypoint option:
[[services]]
binding = "SERVICE"
service = "bound"
entrypoint = "EntrypointA"
To bind to named entrypoints with wrangler pages dev, use the # character:
$ wrangler pages dev --service=SERVICE=bound#EntrypointA
#5215 cd03d1d Thanks @GregBrimble! - fix: ensure request url and cf properties preserved across service bindings
Previously, Wrangler could rewrite url and cf properties when sending requests via service bindings or Durable Object stubs. To match production behaviour, this change ensures these properties are preserved.
Updated dependencies [cd03d1d, 6c3be5b, cd03d1d, cd03d1d]:
As we are adding wrangler.toml support for Pages, we want to ensure that wrangler pages deploy works with a configuration file.
#5377 5d68744 Thanks @CarmenPopoviciu! - feat: Add wrangler.toml support in wrangler pages deploy
As we are adding wrangler.toml support for Pages, we want to ensure that wrangler pages deploy works with a configuration file.
#5471 489b9c5 Thanks @zebp! - feature: Add version-id filter for Worker tailing to filter logs by scriptVersion in a gradual deployment
This allows users to only get logs in a gradual deployment if you are troubleshooting issues
specific to one deployment. Example:
npx wrangler tail --version-id 72d3f357-4e52-47c5-8805-90be978c403f
#5462 68faf67 Thanks @OilyLime! - revert: Removes support for private networking Hyperdrive configs, pending more work to support the feature. Non-breaking change since the feature wasn't yet supported.
#5494 a232ccf Thanks @penalosa! - fix: Swallow parsing errors when a pages config file is required.
#5484 e7f8dc3 Thanks @ichernetsky-cf! - feature: support Cloudchamber deployment labels
#5434 bf9dca8 Thanks @OilyLime! - bugfix: Fix passing Hyperdrive caching options to backend
#5403 5d6d521 Thanks @oliy! - fix: wrangler dev --local support for ratelimits
Updated dependencies [940ad89]:
This allows users to see the entire event notification configuration -- i.e. every rule for every configured queue -- for a single bucket with a singl
#5461 f69e562 Thanks @mattdeboard! - feature: Add command for fetching R2 Event Notification configurations for a given bucket
This allows users to see the entire event notification configuration -- i.e. every rule for every configured queue -- for a single bucket with a single request.
This change also improves messaging of console output when creating a new bucket notification.
### Minor Changes - #5466 `ef9fbba` Thanks @celso! - feature: add Workers AI finetune commands ### Patch Changes - #5449 `91a2150` Thanks @penalosa! -
Previously, to get the correct Workers AI API, you needed to wrap your env.AI binding with new Ai() from @cloudflare/ai. This change moves the content
#5371 77152f3 Thanks @G4brym! - feature: remove requirement for @cloudflare/ai package to use Workers AI
Previously, to get the correct Workers AI API, you needed to wrap your env.AI binding with new Ai() from @cloudflare/ai. This change moves the contents of @cloudflare/ai into the Workers runtime itself, meaning env.AI is now an instance of Ai, without the need for wrapping.
d994066]:
### Minor Changes - #5425 `b7a6d9d` Thanks @rozenmd! - feat: implement wrangler d1 export
Since the original command was not yet operational, this update does not constitute a breaking change.
#5426 9343714 Thanks @RamIdeas! - feature: added a new wrangler triggers deploy command
This command currently requires the --experimental-versions flag.
This command extracts the trigger deployment logic from wrangler deploy and allows users to update their currently deployed Worker's triggers without doing another deployment. This is primarily useful for users of wrangler versions upload and wrangler versions deploy who can then run wrangler triggers deploy to apply trigger changes to their currently deployed Worker Versions.
The command can also be used even if not using the wrangler versions ... commands. And, in fact, users are already using it implicitly when running wrangler deploy.
#4932 dc0c1dc Thanks @xortive! - feature: Add support for private networking in Hyperdrive configs
#5369 7115568 Thanks @mattdeboard! - fix: Use queue name, not ID, for r2 bucket event-notification subcommands
Since the original command was not yet operational, this update does not constitute a breaking change.
Instead of providing the queue ID as the parameter to --queue, users must provide the queue name. Under the hood, we will query the Queues API for the queue ID given the queue name.
#5413 976adec Thanks @pmiguel! - feature: Added Queue delivery controls support in wrangler.toml
#5412 3e5a932 Thanks @RamIdeas! - feature: adds the --json option to wrangler deployments list --experimental-versions, wrangler deployments status --experimental-versions, wrangler versions list --experimental-versions and wrangler versions view --experimental-versions which will format the output as clean JSON. The --experimental-versions flag is still required for these commands.
#5258 fbdca7d Thanks @OilyLime! - feature: URL decode components of the Hyperdrive config connection string
#5416 47b325a Thanks @mattdeboard! - fix: minor improvements to R2 notification subcommand
r2 bucket event-notification <subcommand> becomes r2 bucket notification <subcommand>--event-type use - instead of _ (e.g. object_create -> object-create)Since the original command was not yet operational, this update does not constitute a breaking change.
#5419 daac6a2 Thanks @RamIdeas! - chore: add helpful logging to --experimental-versions commands
#5400 c90dd6b Thanks @RamIdeas! - chore: log of impending change of "Deployment ID" to "Version ID" in wrangler deploy, wrangler deployments list, wrangler deployments view and wrangler rollback. This is a warning of a future change for anyone depending on the output text format, for example by grepping the output in automated flows.
#5422 b341614 Thanks @geelen! - fix: remove d1BetaWarning and all usages
This PR removes the warning that D1 is in beta for all D1 commands.
Updated dependencies [fbdca7d]:
Please note, the experimental-versions flag is required to use the new behaviour. The original wrangler rollback command is unchanged if run without t
#5373 5bd8db8 Thanks @RamIdeas! - feature: Implement versioned rollbacks via wrangler rollback [version-id] --experimental-versions.
Please note, the experimental-versions flag is required to use the new behaviour. The original wrangler rollback command is unchanged if run without this flag.
#5366 e11e169 Thanks @RamIdeas! - fix: save non-versioned script-settings (logpush, tail_consumers) on wrangler versions deploy. This command still requires --experimental-versions.
#5405 7c701bf Thanks @RamIdeas! - chore: add wrangler deployments view [deployment-id] --experimental-versions command
This command will display an error message which points the user to run either wrangler deployments status --experimental-versions or wrangler versions view <version-id> --experimental-versions instead.
As we are adding wrangler.toml support for Pages, we want to ensure that wrangler pages dev works with a configuration file.
#5310 528c011 Thanks @penalosa! - feat: Watch the entire module root for changes in --no-bundle mode, rather than just the entrypoint file.
#5327 7d160c7 Thanks @penalosa! - feat: Add wrangler pages download config
#5284 f5e2367 Thanks @CarmenPopoviciu! - feat: Add wrangler.toml support in wrangler pages dev
As we are adding wrangler.toml support for Pages, we want to ensure that wrangler pages dev works with a configuration file.
#5353 3be826f Thanks @penalosa! - feat: Updates wrangler pages functions build to support using configuration from wrangler.toml in the generated output.
#5102 ba52208 Thanks @pmiguel! - feature: add support for queue delivery controls on wrangler queues create
Included are commands for creating and deleting event notification configurations for individual buckets.
#5294 bdc121d Thanks @mattdeboard! - feature: Add event-notification commands in support of event notifications for Cloudflare R2.
Included are commands for creating and deleting event notification configurations for individual buckets.
#5231 e88ad44 Thanks @w-kuhn! - feature: Add support for configuring HTTP Pull consumers for Queues
HTTP Pull consumers can be used to pull messages from queues via https request.
#5317 9fd7eba Thanks @GregBrimble! - chore: Deprecate -- <command>, --proxy and --script-path options from wrangler pages dev.
Build your application to a directory and run the wrangler pages dev <directory> instead. This results in a more faithful emulation of production behavior.
Updated dependencies [248a318]:
For Pages, Wrangler will not require both of the supported named environments ("preview" | "production") to be explicitly defined in the config file.
#5234 e739b7f Thanks @CarmenPopoviciu! - feat: Implement environment inheritance for Pages configuration
For Pages, Wrangler will not require both of the supported named environments ("preview" | "production") to be explicitly defined in the config file. If either [env.production] or [env.preview] is left unspecified, Wrangler will use the top-level environment when targeting that named Pages environment.
#5306 c60fed0 Thanks @taylorlee! - fix: Remove triggered_by annotation from experimental versions deploy command which is now set by the API and cannot be set by the client.
#5321 ac93411 Thanks @RamIdeas! - fix: rename --experimental-gradual-rollouts to --experimental-versions flag
The --experimental-gradual-rollouts flag has been made an alias and will still work.
And additional shorthand alias --x-versions has also been added and will work too.
#5324 bfc4282 Thanks @penalosa! - fix: Ignore OPTIONS requests in Wrangler's oauth server
In Chrome v123, the auth requests from the browser back to wrangler now first include a CORS OPTIONS preflight request before the expected GET request. Wrangler was able to successfully complete the login with the first (OPTIONS) request, and therefore upon the second (GET) request, errored because the token exchange had already occured and could not be repeated.
Wrangler now stops processing the OPTIONS request before completing the token exchange and only proceeds on the expected GET request.
If you see a ErrorInvalidGrant in a previous wrangler version when running wrangler login, please try upgrading to this version or later.
#5099 93150aa Thanks @KaiSpencer! - feat: expose --show-interactive-dev-session flag
This flag controls the interactive mode of the dev session, a feature that already exists internally but was not exposed to the user.
This is useful for CI/CD environments where the interactive mode is not desired, or running in tools like turbo and nx.
wrangler version is an undocumented alias for wrangler --version. It is being deprecated in favour of the more conventional flag syntax to avoid confu…
#5166 133a190 Thanks @CarmenPopoviciu! - feat: Implement config file validation for Pages projects
Wrangler proper has a mechanism in place through which it validates a wrangler.toml file for Workers projects. As part of adding wrangler toml support for Pages, we need to put a similar mechanism in place, to validate a configuration file against Pages specific requirements.
#5279 0a86050 Thanks @penalosa! - feat: Support the hidden command wrangler pages functions build-env
#5093 a676f55 Thanks @benycodes! - feature: add --dispatch-namespace to wrangler deploy to support uploading Workers directly to a Workers for Platforms dispatch namespace.
#5275 e1f2576 Thanks @petebacondarwin! - fix: ensure tail exits when the WebSocket disconnects
Previously when the tail WebSocket disconnected, e.g. because of an Internet failure,
the wrangler tail command would just hang and neither exit nor any longer receive tail messages.
Now the process exits with an exit code of 1, and outputs an error message.
The error message is formatted appropriately, if the tail format is set to json.
Fixes #3927
#5069 8f79981 Thanks @RamIdeas! - chore: deprecate wrangler version command
wrangler version is an undocumented alias for wrangler --version. It is being deprecated in favour of the more conventional flag syntax to avoid confusion with a new (upcoming) wrangler versions command.
Updated dependencies [1720f0a]:
Your coding agent can read these notes before it upgrades. Set up the MCP server →