diff --git a/.changeset/astro-v6-workers-support.md b/.changeset/astro-v6-workers-support.md deleted file mode 100644 index cfd5651dd95f..000000000000 --- a/.changeset/astro-v6-workers-support.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update Astro Workers template for Astro v6 - -The Astro Workers template now scaffolds projects using Astro v6. The adapter uses the Cloudflare Vite plugin under the hood, so `astro dev` runs on the workerd runtime locally and `wrangler.jsonc` fields like `main` and `assets` are no longer needed in the template. - -For existing projects, see the [Astro Cloudflare adapter migration guide](https://docs.astro.build/en/guides/integrations-guide/cloudflare/#upgrading-to-v13-and-astro-6). diff --git a/.changeset/c3-frameworks-update-11639.md b/.changeset/c3-frameworks-update-11639.md new file mode 100644 index 000000000000..0349a9d33a36 --- /dev/null +++ b/.changeset/c3-frameworks-update-11639.md @@ -0,0 +1,11 @@ +--- +"create-cloudflare": patch +--- + +Update dependencies of "create-cloudflare" + +The following dependency versions have been updated: + +| Dependency | From | To | +| --------------- | ------ | ------ | +| create-next-app | 15.5.6 | 16.1.6 | diff --git a/.changeset/c3-frameworks-update-12905.md b/.changeset/c3-frameworks-update-12905.md new file mode 100644 index 000000000000..34aff98588e8 --- /dev/null +++ b/.changeset/c3-frameworks-update-12905.md @@ -0,0 +1,11 @@ +--- +"create-cloudflare": patch +--- + +Update dependencies of "create-cloudflare" + +The following dependency versions have been updated: + +| Dependency | From | To | +| ---------- | ------ | ------ | +| nuxi | 3.33.1 | 3.34.0 | diff --git a/.changeset/c3-frameworks-update-12908.md b/.changeset/c3-frameworks-update-12908.md new file mode 100644 index 000000000000..c7e06ab287d4 --- /dev/null +++ b/.changeset/c3-frameworks-update-12908.md @@ -0,0 +1,11 @@ +--- +"create-cloudflare": patch +--- + +Update dependencies of "create-cloudflare" + +The following dependency versions have been updated: + +| Dependency | From | To | +| --------------- | ------ | ------ | +| @angular/create | 21.2.1 | 21.2.2 | diff --git a/.changeset/c3-frameworks-update-12909.md b/.changeset/c3-frameworks-update-12909.md new file mode 100644 index 000000000000..756dd07bd60a --- /dev/null +++ b/.changeset/c3-frameworks-update-12909.md @@ -0,0 +1,11 @@ +--- +"create-cloudflare": patch +--- + +Update dependencies of "create-cloudflare" + +The following dependency versions have been updated: + +| Dependency | From | To | +| ----------- | ------ | ------ | +| create-qwik | 1.19.1 | 1.19.2 | diff --git a/.changeset/eleven-ways-go.md b/.changeset/eleven-ways-go.md deleted file mode 100644 index ba3ca7249d55..000000000000 --- a/.changeset/eleven-ways-go.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"miniflare": patch ---- - -Local explorer: validate host and origin headers before Miniflare modifies them - -If `routes` are set, Miniflare will alter the host and origin headers to match, causing the local explorer to mistakenly identify and block same-origin requests. - -Note the local explorer is a WIP experimental feature. diff --git a/.changeset/evil-crabs-start.md b/.changeset/evil-crabs-start.md deleted file mode 100644 index 65a3d38fc6a5..000000000000 --- a/.changeset/evil-crabs-start.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/vite-plugin": patch ---- - -Fix crash when plugins send HMR events before runner initialization - -Previously, if another Vite plugin (such as `vite-plugin-vue-devtools`) sent HMR events during `configureServer` before the Cloudflare plugin had initialized its runner, the dev server would crash with `AssertionError: The WebSocket is undefined`. The environment's WebSocket send operations are now deferred until the runner is fully initialized, allowing early HMR events to be handled gracefully. diff --git a/.changeset/fast-escape-keypress.md b/.changeset/fast-escape-keypress.md deleted file mode 100644 index f521659d2815..000000000000 --- a/.changeset/fast-escape-keypress.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Add `escapeCodeTimeout` option to `onKeyPress` utility for faster Esc key detection - -The `onKeyPress` utility now accepts an optional `escapeCodeTimeout` parameter that controls how long readline waits to disambiguate a standalone Esc press from multi-byte escape sequences (e.g. arrow keys). The default remains readline's built-in 500ms, but callers can pass a lower value (e.g. 25ms) for near-instant Esc handling in interactive prompts. diff --git a/.changeset/fifty-radios-nail.md b/.changeset/fifty-radios-nail.md deleted file mode 100644 index 41c9e522d132..000000000000 --- a/.changeset/fifty-radios-nail.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"wrangler": patch ---- - -Fix autoconfig package installation always failing at workspace roots - -When running autoconfig at the root of a monorepo workspace, package installation commands now include the appropriate workspace root flags (`--workspace-root` for pnpm, `-W` for yarn). This prevents errors like "Running this command will add the dependency to the workspace root" that previously occurred when configuring projects at the workspace root. - -Additionally, autoconfig now allows running at the workspace root if the root directory itself is listed as a workspace package (e.g., `workspaces: ["packages/*", "."]`). diff --git a/.changeset/green-buses-melt.md b/.changeset/green-buses-melt.md deleted file mode 100644 index 137c3e21e3ff..000000000000 --- a/.changeset/green-buses-melt.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/vite-plugin": minor ---- - -Add Vite 8 to the supported peer dependency range - -The package now lists Vite 8 in its peer dependency range, so installs with Vite 8 no longer show a peer dependency warning. diff --git a/.changeset/neat-glasses-open.md b/.changeset/neat-glasses-open.md deleted file mode 100644 index 1811dd037e8d..000000000000 --- a/.changeset/neat-glasses-open.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/local-explorer-ui": patch ---- - -Fixed table selection dropdown incorrect z-index. - -Previously, the dropdown you used to select a table in the data studio had an incorrect or missing z-index, meanint it conflicted with the table row header & was partially cut off when you had too many tables. This change ensures that the dropdown is always "on top" and visible. diff --git a/.changeset/olive-heads-arrive.md b/.changeset/olive-heads-arrive.md deleted file mode 100644 index ea40c96fcb98..000000000000 --- a/.changeset/olive-heads-arrive.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Fix unclear error when assets upload session returns a `null` response - -When deploying assets, if the Cloudflare API returns a `null` response object, Wrangler now provides a clear error message asking users to retry instead of failing with a confusing error. diff --git a/.changeset/open-apples-heal.md b/.changeset/open-apples-heal.md new file mode 100644 index 000000000000..e808b18e444b --- /dev/null +++ b/.changeset/open-apples-heal.md @@ -0,0 +1,7 @@ +--- +"wrangler": patch +--- + +Fix execution freezing on `debugger` statements when DevTools is not attached + +Previously, `wrangler` always sent `Debugger.enable` to the runtime on connection, even when DevTools wasn't open. This caused scripts to freeze on `debugger` statements. Now `Debugger.enable` is only sent when DevTools is actually attached, and `Debugger.disable` is sent when DevTools disconnects to stop the runtime from performing debugging work. diff --git a/.changeset/secrets-file-versions-upload.md b/.changeset/secrets-file-versions-upload.md deleted file mode 100644 index 33ddb0b4f1bd..000000000000 --- a/.changeset/secrets-file-versions-upload.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"wrangler": minor ---- - -feat: add `--secrets-file` parameter to `wrangler deploy` and `wrangler versions upload` - -You can now upload secrets alongside your Worker code in a single operation using the `--secrets-file` parameter on both `wrangler deploy` and `wrangler versions upload`. The file format matches what's used by `wrangler versions secret bulk`, supporting both JSON and .env formats. - -Example usage: - -```bash -wrangler deploy --secrets-file .env.production -wrangler versions upload --secrets-file secrets.json -``` - -Secrets not included in the file will be inherited from the previous version, matching the behavior of `wrangler versions secret bulk`. diff --git a/.changeset/ten-maps-judge.md b/.changeset/ten-maps-judge.md deleted file mode 100644 index eba3793ec73b..000000000000 --- a/.changeset/ten-maps-judge.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Fix React app creation flow skipping Cloudflare setup - -Creating a React app with create-cloudflare no longer allows the Cloudflare setup step to be skipped by accepting create-vite's `Install and start now` prompt. diff --git a/.changeset/warm-containers-instances.md b/.changeset/warm-containers-instances.md deleted file mode 100644 index 67bdbef079ae..000000000000 --- a/.changeset/warm-containers-instances.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"wrangler": minor -"@cloudflare/containers-shared": minor ---- - -Add `wrangler containers instances ` command to list container instances - -Lists all container instances for a given application, matching the Dash instances view. Displays instance ID, state, location, version, and creation time. Supports pagination for applications with many instances. Also adds paginated request support to the containers-shared API client. diff --git a/packages/containers-shared/CHANGELOG.md b/packages/containers-shared/CHANGELOG.md index 0f6c8542ec18..a7c996494c5c 100644 --- a/packages/containers-shared/CHANGELOG.md +++ b/packages/containers-shared/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudflare/containers-shared +## 0.12.0 + +### Minor Changes + +- [#12873](https://github.com/cloudflare/workers-sdk/pull/12873) [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68) Thanks [@gpanders](https://github.com/gpanders)! - Add `wrangler containers instances ` command to list container instances + + Lists all container instances for a given application, matching the Dash instances view. Displays instance ID, state, location, version, and creation time. Supports pagination for applications with many instances. Also adds paginated request support to the containers-shared API client. + ## 0.11.0 ### Minor Changes diff --git a/packages/containers-shared/package.json b/packages/containers-shared/package.json index 3877a85aa808..fefb00eb7f95 100644 --- a/packages/containers-shared/package.json +++ b/packages/containers-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/containers-shared", - "version": "0.11.0", + "version": "0.12.0", "private": true, "description": "Package that contains shared container functionality for Cloudflare Workers SDK.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/containers-shared#readme", diff --git a/packages/create-cloudflare/CHANGELOG.md b/packages/create-cloudflare/CHANGELOG.md index ff8a212f9768..eb523a3c6d85 100644 --- a/packages/create-cloudflare/CHANGELOG.md +++ b/packages/create-cloudflare/CHANGELOG.md @@ -1,5 +1,19 @@ # create-cloudflare +## 2.64.8 + +### Patch Changes + +- [#12837](https://github.com/cloudflare/workers-sdk/pull/12837) [`2363d48`](https://github.com/cloudflare/workers-sdk/commit/2363d485a67b8c5abdffd01eee1bd3eb6bd53b10) Thanks [@edmundhung](https://github.com/edmundhung)! - Update Astro Workers template for Astro v6 + + The Astro Workers template now scaffolds projects using Astro v6. The adapter uses the Cloudflare Vite plugin under the hood, so `astro dev` runs on the workerd runtime locally and `wrangler.jsonc` fields like `main` and `assets` are no longer needed in the template. + + For existing projects, see the [Astro Cloudflare adapter migration guide](https://docs.astro.build/en/guides/integrations-guide/cloudflare/#upgrading-to-v13-and-astro-6). + +- [#12866](https://github.com/cloudflare/workers-sdk/pull/12866) [`077c4d5`](https://github.com/cloudflare/workers-sdk/commit/077c4d54cbf068aeca86927620332b9aeceec762) Thanks [@edmundhung](https://github.com/edmundhung)! - Fix React app creation flow skipping Cloudflare setup + + Creating a React app with create-cloudflare no longer allows the Cloudflare setup step to be skipped by accepting create-vite's `Install and start now` prompt. + ## 2.64.7 ### Patch Changes diff --git a/packages/create-cloudflare/e2e/tests/frameworks/test-config.ts b/packages/create-cloudflare/e2e/tests/frameworks/test-config.ts index 186ebb2eba32..b2f309690375 100644 --- a/packages/create-cloudflare/e2e/tests/frameworks/test-config.ts +++ b/packages/create-cloudflare/e2e/tests/frameworks/test-config.ts @@ -67,6 +67,7 @@ function getFrameworkTestConfig(pm: string): NamedFrameworkTestConfig[] { name: "astro:workers", argv: ["--platform", "workers"], testCommitMessage: true, + timeout: LONG_TIMEOUT, unsupportedOSs: ["win32"], verifyDeploy: { route: "/", diff --git a/packages/create-cloudflare/package.json b/packages/create-cloudflare/package.json index 23c0904e5f58..f9ade2a1e0a1 100644 --- a/packages/create-cloudflare/package.json +++ b/packages/create-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudflare", - "version": "2.64.7", + "version": "2.64.8", "description": "A CLI for creating and deploying new applications to Cloudflare.", "keywords": [ "cloudflare", diff --git a/packages/create-cloudflare/src/frameworks/package.json b/packages/create-cloudflare/src/frameworks/package.json index 00a7270728ab..4e46c62721ce 100644 --- a/packages/create-cloudflare/src/frameworks/package.json +++ b/packages/create-cloudflare/src/frameworks/package.json @@ -7,11 +7,11 @@ "dependencies": { "create-astro": "4.13.2", "create-analog": "2.3.1", - "@angular/create": "21.2.1", + "@angular/create": "21.2.2", "create-docusaurus": "3.9.2", "create-hono": "0.19.4", - "create-next-app": "15.5.6", - "create-qwik": "1.19.1", + "create-next-app": "16.1.6", + "create-qwik": "1.19.2", "create-vite": "8.3.0", "create-rwsdk": "3.1.3", "create-react-router": "7.13.1", @@ -22,6 +22,6 @@ "@tanstack/create-start": "0.59.8", "gatsby": "5.16.1", "sv": "0.12.4", - "nuxi": "3.33.1" + "nuxi": "3.34.0" } } diff --git a/packages/local-explorer-ui/CHANGELOG.md b/packages/local-explorer-ui/CHANGELOG.md index ce9d6ee09b40..16524806c6e0 100644 --- a/packages/local-explorer-ui/CHANGELOG.md +++ b/packages/local-explorer-ui/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudflare/local-explorer-ui +## 0.8.2 + +### Patch Changes + +- [#12877](https://github.com/cloudflare/workers-sdk/pull/12877) [`7dc3fb3`](https://github.com/cloudflare/workers-sdk/commit/7dc3fb36b1af4740f14409d8cdf9c50d8942a4df) Thanks [@NuroDev](https://github.com/NuroDev)! - Fixed table selection dropdown incorrect z-index. + + Previously, the dropdown you used to select a table in the data studio had an incorrect or missing z-index, meanint it conflicted with the table row header & was partially cut off when you had too many tables. This change ensures that the dropdown is always "on top" and visible. + ## 0.8.1 ### Patch Changes diff --git a/packages/local-explorer-ui/package.json b/packages/local-explorer-ui/package.json index cefd27cad219..90ce4858f6da 100644 --- a/packages/local-explorer-ui/package.json +++ b/packages/local-explorer-ui/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/local-explorer-ui", - "version": "0.8.1", + "version": "0.8.2", "private": true, "type": "module", "scripts": { diff --git a/packages/miniflare/CHANGELOG.md b/packages/miniflare/CHANGELOG.md index 86b3459ae381..4b375a17a98e 100644 --- a/packages/miniflare/CHANGELOG.md +++ b/packages/miniflare/CHANGELOG.md @@ -1,5 +1,15 @@ # miniflare +## 4.20260312.1 + +### Patch Changes + +- [#12869](https://github.com/cloudflare/workers-sdk/pull/12869) [`ade0aed`](https://github.com/cloudflare/workers-sdk/commit/ade0aed5246a5d3379961d06e1d504c6ceb0b1a8) Thanks [@emily-shen](https://github.com/emily-shen)! - Local explorer: validate host and origin headers before Miniflare modifies them + + If `routes` are set, Miniflare will alter the host and origin headers to match, causing the local explorer to mistakenly identify and block same-origin requests. + + Note the local explorer is a WIP experimental feature. + ## 4.20260312.0 ### Patch Changes diff --git a/packages/miniflare/package.json b/packages/miniflare/package.json index b91f768709c1..c66b637092a4 100644 --- a/packages/miniflare/package.json +++ b/packages/miniflare/package.json @@ -1,6 +1,6 @@ { "name": "miniflare", - "version": "4.20260312.0", + "version": "4.20260312.1", "description": "Fun, full-featured, fully-local simulator for Cloudflare Workers", "keywords": [ "cloudflare", diff --git a/packages/pages-shared/CHANGELOG.md b/packages/pages-shared/CHANGELOG.md index 8f9a953bf65c..d04e9b30ecd2 100644 --- a/packages/pages-shared/CHANGELOG.md +++ b/packages/pages-shared/CHANGELOG.md @@ -1,5 +1,12 @@ # @cloudflare/pages-shared +## 0.13.115 + +### Patch Changes + +- Updated dependencies [[`ade0aed`](https://github.com/cloudflare/workers-sdk/commit/ade0aed5246a5d3379961d06e1d504c6ceb0b1a8)]: + - miniflare@4.20260312.1 + ## 0.13.114 ### Patch Changes diff --git a/packages/pages-shared/package.json b/packages/pages-shared/package.json index 4731c558e474..42a3b19a4e4c 100644 --- a/packages/pages-shared/package.json +++ b/packages/pages-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/pages-shared", - "version": "0.13.114", + "version": "0.13.115", "repository": { "type": "git", "url": "https://github.com/cloudflare/workers-sdk.git", diff --git a/packages/vite-plugin-cloudflare/CHANGELOG.md b/packages/vite-plugin-cloudflare/CHANGELOG.md index 27587d4a2d56..446a742d2413 100644 --- a/packages/vite-plugin-cloudflare/CHANGELOG.md +++ b/packages/vite-plugin-cloudflare/CHANGELOG.md @@ -1,5 +1,23 @@ # @cloudflare/vite-plugin +## 1.29.0 + +### Minor Changes + +- [#12885](https://github.com/cloudflare/workers-sdk/pull/12885) [`12505c9`](https://github.com/cloudflare/workers-sdk/commit/12505c97c280e3516ace4354fef0a8434f87cdf4) Thanks [@edmundhung](https://github.com/edmundhung)! - Add Vite 8 to the supported peer dependency range + + The package now lists Vite 8 in its peer dependency range, so installs with Vite 8 no longer show a peer dependency warning. + +### Patch Changes + +- [#12859](https://github.com/cloudflare/workers-sdk/pull/12859) [`876108a`](https://github.com/cloudflare/workers-sdk/commit/876108a04b19f6577843f7cf9884639e17d37fb7) Thanks [@dario-piotrowicz](https://github.com/dario-piotrowicz)! - Fix crash when plugins send HMR events before runner initialization + + Previously, if another Vite plugin (such as `vite-plugin-vue-devtools`) sent HMR events during `configureServer` before the Cloudflare plugin had initialized its runner, the dev server would crash with `AssertionError: The WebSocket is undefined`. The environment's WebSocket send operations are now deferred until the runner is fully initialized, allowing early HMR events to be handled gracefully. + +- Updated dependencies [[`ade0aed`](https://github.com/cloudflare/workers-sdk/commit/ade0aed5246a5d3379961d06e1d504c6ceb0b1a8), [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68), [`65f1092`](https://github.com/cloudflare/workers-sdk/commit/65f1092281866333118e5e8ebf0f5234bf695baf), [`7b0d8f5`](https://github.com/cloudflare/workers-sdk/commit/7b0d8f5830e9b317c69abdcd452a79d88811f000), [`351e1e1`](https://github.com/cloudflare/workers-sdk/commit/351e1e1efa808a19b84b5888d747cd4aa4566921), [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68)]: + - miniflare@4.20260312.1 + - wrangler@4.74.0 + ## 1.28.0 ### Minor Changes diff --git a/packages/vite-plugin-cloudflare/package.json b/packages/vite-plugin-cloudflare/package.json index fa057dd6d07b..8f7e3a134901 100644 --- a/packages/vite-plugin-cloudflare/package.json +++ b/packages/vite-plugin-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/vite-plugin", - "version": "1.28.0", + "version": "1.29.0", "description": "Cloudflare plugin for Vite", "keywords": [ "cloudflare", diff --git a/packages/vitest-pool-workers/CHANGELOG.md b/packages/vitest-pool-workers/CHANGELOG.md index d60afa8b756a..d077b3d31cc5 100644 --- a/packages/vitest-pool-workers/CHANGELOG.md +++ b/packages/vitest-pool-workers/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudflare/vitest-pool-workers +## 0.13.1 + +### Patch Changes + +- Updated dependencies [[`ade0aed`](https://github.com/cloudflare/workers-sdk/commit/ade0aed5246a5d3379961d06e1d504c6ceb0b1a8), [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68), [`65f1092`](https://github.com/cloudflare/workers-sdk/commit/65f1092281866333118e5e8ebf0f5234bf695baf), [`7b0d8f5`](https://github.com/cloudflare/workers-sdk/commit/7b0d8f5830e9b317c69abdcd452a79d88811f000), [`351e1e1`](https://github.com/cloudflare/workers-sdk/commit/351e1e1efa808a19b84b5888d747cd4aa4566921), [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68)]: + - miniflare@4.20260312.1 + - wrangler@4.74.0 + ## 0.13.0 ### Minor Changes diff --git a/packages/vitest-pool-workers/package.json b/packages/vitest-pool-workers/package.json index da285bccc195..43535aa4904d 100644 --- a/packages/vitest-pool-workers/package.json +++ b/packages/vitest-pool-workers/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/vitest-pool-workers", - "version": "0.13.0", + "version": "0.13.1", "description": "Workers Vitest integration for writing Vitest unit and integration tests that run inside the Workers runtime", "keywords": [ "cloudflare", diff --git a/packages/wrangler/CHANGELOG.md b/packages/wrangler/CHANGELOG.md index 76176ca86dd7..a5394cc5cbe5 100644 --- a/packages/wrangler/CHANGELOG.md +++ b/packages/wrangler/CHANGELOG.md @@ -1,5 +1,45 @@ # wrangler +## 4.74.0 + +### Minor Changes + +- [#10896](https://github.com/cloudflare/workers-sdk/pull/10896) [`351e1e1`](https://github.com/cloudflare/workers-sdk/commit/351e1e1efa808a19b84b5888d747cd4aa4566921) Thanks [@devin-ai-integration](https://github.com/apps/devin-ai-integration)! - feat: add `--secrets-file` parameter to `wrangler deploy` and `wrangler versions upload` + + You can now upload secrets alongside your Worker code in a single operation using the `--secrets-file` parameter on both `wrangler deploy` and `wrangler versions upload`. The file format matches what's used by `wrangler versions secret bulk`, supporting both JSON and .env formats. + + Example usage: + + ```bash + wrangler deploy --secrets-file .env.production + wrangler versions upload --secrets-file secrets.json + ``` + + Secrets not included in the file will be inherited from the previous version, matching the behavior of `wrangler versions secret bulk`. + +- [#12873](https://github.com/cloudflare/workers-sdk/pull/12873) [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68) Thanks [@gpanders](https://github.com/gpanders)! - Add `wrangler containers instances ` command to list container instances + + Lists all container instances for a given application, matching the Dash instances view. Displays instance ID, state, location, version, and creation time. Supports pagination for applications with many instances. Also adds paginated request support to the containers-shared API client. + +### Patch Changes + +- [#12873](https://github.com/cloudflare/workers-sdk/pull/12873) [`2b9a186`](https://github.com/cloudflare/workers-sdk/commit/2b9a186dceebdae8fb57617c1c129971a9d20d68) Thanks [@gpanders](https://github.com/gpanders)! - Add `escapeCodeTimeout` option to `onKeyPress` utility for faster Esc key detection + + The `onKeyPress` utility now accepts an optional `escapeCodeTimeout` parameter that controls how long readline waits to disambiguate a standalone Esc press from multi-byte escape sequences (e.g. arrow keys). The default remains readline's built-in 500ms, but callers can pass a lower value (e.g. 25ms) for near-instant Esc handling in interactive prompts. + +- [#12676](https://github.com/cloudflare/workers-sdk/pull/12676) [`65f1092`](https://github.com/cloudflare/workers-sdk/commit/65f1092281866333118e5e8ebf0f5234bf695baf) Thanks [@dario-piotrowicz](https://github.com/dario-piotrowicz)! - Fix autoconfig package installation always failing at workspace roots + + When running autoconfig at the root of a monorepo workspace, package installation commands now include the appropriate workspace root flags (`--workspace-root` for pnpm, `-W` for yarn). This prevents errors like "Running this command will add the dependency to the workspace root" that previously occurred when configuring projects at the workspace root. + + Additionally, autoconfig now allows running at the workspace root if the root directory itself is listed as a workspace package (e.g., `workspaces: ["packages/*", "."]`). + +- [#12841](https://github.com/cloudflare/workers-sdk/pull/12841) [`7b0d8f5`](https://github.com/cloudflare/workers-sdk/commit/7b0d8f5830e9b317c69abdcd452a79d88811f000) Thanks [@dario-piotrowicz](https://github.com/dario-piotrowicz)! - Fix unclear error when assets upload session returns a `null` response + + When deploying assets, if the Cloudflare API returns a `null` response object, Wrangler now provides a clear error message asking users to retry instead of failing with a confusing error. + +- Updated dependencies [[`ade0aed`](https://github.com/cloudflare/workers-sdk/commit/ade0aed5246a5d3379961d06e1d504c6ceb0b1a8)]: + - miniflare@4.20260312.1 + ## 4.73.0 ### Minor Changes diff --git a/packages/wrangler/package.json b/packages/wrangler/package.json index 99200c8ea255..c995d56354b6 100644 --- a/packages/wrangler/package.json +++ b/packages/wrangler/package.json @@ -1,6 +1,6 @@ { "name": "wrangler", - "version": "4.73.0", + "version": "4.74.0", "description": "Command-line interface for all things Cloudflare Workers", "keywords": [ "wrangler", diff --git a/packages/wrangler/templates/startDevWorker/InspectorProxyWorker.ts b/packages/wrangler/templates/startDevWorker/InspectorProxyWorker.ts index f2c95498e9e6..7f30de52910e 100644 --- a/packages/wrangler/templates/startDevWorker/InspectorProxyWorker.ts +++ b/packages/wrangler/templates/startDevWorker/InspectorProxyWorker.ts @@ -398,10 +398,18 @@ export class InspectorProxyWorker implements DurableObject { { method: "Runtime.enable", id: this.nextCounter() }, runtime ); - this.sendRuntimeMessage( - { method: "Debugger.enable", id: this.nextCounter() }, - runtime - ); + // Only send Debugger.enable if DevTools is already attached. + // When DevTools first connects, it sends its own Debugger.enable message. + // However, on runtime reconnect (e.g., after worker reload), DevTools won't + // re-send Debugger.enable since it considers the session still active. + // Without this, Debugger.scriptParsed events won't be emitted on the new + // runtime connection, breaking source maps, breakpoints, and debugger pausing. + if (this.websockets.devtools !== undefined) { + this.sendRuntimeMessage( + { method: "Debugger.enable", id: this.nextCounter() }, + runtime + ); + } this.sendRuntimeMessage( { method: "Network.enable", id: this.nextCounter() }, runtime @@ -547,24 +555,31 @@ export class InspectorProxyWorker implements DurableObject { ); } else { devtools.addEventListener("message", this.handleDevToolsIncomingMessage); + const disconnectDevtools = () => { + if (this.websockets.devtools === devtools) { + this.websockets.devtools = undefined; + + // Notify the runtime to disable the debugger when DevTools disconnects. + if (this.websockets.runtime) { + this.sendRuntimeMessage({ + id: this.nextCounter(), + method: "Debugger.disable", + }); + } + } + }; devtools.addEventListener("close", (event) => { this.sendDebugLog( "DEVTOOLS WEBSOCKET CLOSED", event.code, event.reason ); - - if (this.websockets.devtools === devtools) { - this.websockets.devtools = undefined; - } + disconnectDevtools(); }); devtools.addEventListener("error", (event) => { const error = serialiseError(event.error); this.sendDebugLog("DEVTOOLS WEBSOCKET ERROR", error); - - if (this.websockets.devtools === devtools) { - this.websockets.devtools = undefined; - } + disconnectDevtools(); }); // Since Wrangler proxies the inspector, reloading Chrome DevTools won't trigger debugger initialisation events (because it's connecting to an extant session).