diff --git a/.changeset/bump-am-i-vibing-0-5-0.md b/.changeset/bump-am-i-vibing-0-5-0.md deleted file mode 100644 index 1f2e801311..0000000000 --- a/.changeset/bump-am-i-vibing-0-5-0.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Bump `am-i-vibing` from 0.4.0 to 0.5.0 - -This updates the agentic environment detection library to the latest version, which adds detection for the Pi coding agent (`earendil-works/pi`). diff --git a/.changeset/common-boats-help.md b/.changeset/common-boats-help.md deleted file mode 100644 index d414f1f9eb..0000000000 --- a/.changeset/common-boats-help.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"@cloudflare/containers-shared": minor -"wrangler": minor ---- - -Add Google Artifact Registry support to `containers registries configure` - -`wrangler containers registries configure` now recognizes `*-docker.pkg.dev` (Google Artifact Registry) domains. - -- The Google service account email is the public credential, supplied with `--gar-email`. It must match the `client_email` in the service account key. -- The service account JSON key is the private credential. It is provided via stdin (a file path, raw JSON, or base64) or an interactive prompt (a file path or base64) — never as a CLI flag, so it does not appear in shell history. The key is validated against `--gar-email` and stored base64-encoded. -- Secret reuse inherits the existence-first flow: when the target Secrets Store secret already exists, it is reused by reference and the key is not required. In that case the email cannot be verified locally; it is validated against the key when images are pulled. - -```sh -.json | npx wrangler@latest containers registries configure -docker.pkg.dev --gar-email= --secret-name=Google_Service_Account_JSON_Key -``` diff --git a/.changeset/dependabot-update-14406.md b/.changeset/dependabot-update-14406.md deleted file mode 100644 index f110ad389d..0000000000 --- a/.changeset/dependabot-update-14406.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"miniflare": patch -"wrangler": patch ---- - -Update dependencies of "miniflare", "wrangler" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ---------- | ------------ | ------------ | -| workerd | 1.20260623.1 | 1.20260625.1 | diff --git a/.changeset/dockerfile-container-digest.md b/.changeset/dockerfile-container-digest.md deleted file mode 100644 index 5c032b96ba..0000000000 --- a/.changeset/dockerfile-container-digest.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Use digest-pinned image references for Dockerfile container deploys - -Dockerfile-backed container deploys now use the pushed image digest when deploying the container application. This lets snapshot-enabled container apps pass Cloudchamber validation while keeping local, non-pushed builds and registry image URI deploys unchanged. diff --git a/.changeset/evict-durable-objects.md b/.changeset/evict-durable-objects.md deleted file mode 100644 index d7cdcd801d..0000000000 --- a/.changeset/evict-durable-objects.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -"@cloudflare/vitest-pool-workers": patch ---- - -Add `evictDurableObject` and `evictAllDurableObjects` test helpers to `cloudflare:test` - -These helpers let you exercise how a Durable Object behaves across evictions in your tests. Eviction is graceful: durable storage is preserved, in-memory state is reset by tearing down the instance, hibernatable WebSockets are hibernated rather than closed, and eviction waits for in-flight requests to drain. - -```ts -import { evictDurableObject, evictAllDurableObjects } from "cloudflare:test"; -import { env } from "cloudflare:workers"; - -const id = env.COUNTER.idFromName("my-counter"); -const stub = env.COUNTER.get(id); - -// Evict the Durable Object instance pointed to by a specific stub -await evictDurableObject(stub); -await evictDurableObject(stub, { webSockets: "close" }); - -// Evict all currently-running Durable Objects in evictable namespaces -await evictAllDurableObjects(); -``` diff --git a/.changeset/fix-d1-escape-migrations.md b/.changeset/fix-d1-escape-migrations.md deleted file mode 100644 index 076d13a970..0000000000 --- a/.changeset/fix-d1-escape-migrations.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"wrangler": patch -"@cloudflare/vitest-pool-workers": patch ---- - -fix(d1): escape `migrationsTableName` and filenames in SQLite queries - -D1 migration commands in both `wrangler` and `@cloudflare/vitest-pool-workers` interpolated the `migrationsTableName` config value and migration filenames directly into SQL strings without any escaping. This meant: - -- A table name such as `my"table` would produce invalid SQL in `CREATE TABLE`, `SELECT`, and `INSERT` statements, and -- A migration filename containing an apostrophe (e.g. `what's-new.sql`) would break the `INSERT INTO ... VALUES ('...')` statement appended after each migration in `wrangler`. - -Both identifiers are now properly escaped before interpolation: `migrationsTableName` is wrapped in double-quotes with internal double-quotes doubled (SQL-standard identifier quoting), and migration filenames used as string literals have their single-quotes doubled before insertion. diff --git a/packages/containers-shared/CHANGELOG.md b/packages/containers-shared/CHANGELOG.md index f86a437295..7b556dde96 100644 --- a/packages/containers-shared/CHANGELOG.md +++ b/packages/containers-shared/CHANGELOG.md @@ -1,5 +1,21 @@ # @cloudflare/containers-shared +## 0.16.0 + +### Minor Changes + +- [#14311](https://github.com/cloudflare/workers-sdk/pull/14311) [`34e0cef`](https://github.com/cloudflare/workers-sdk/commit/34e0cefcd54130be4ca3f9cf4de1e9867252ead0) Thanks [@sherryliu-lsy](https://github.com/sherryliu-lsy)! - Add Google Artifact Registry support to `containers registries configure` + + `wrangler containers registries configure` now recognizes `*-docker.pkg.dev` (Google Artifact Registry) domains. + + - The Google service account email is the public credential, supplied with `--gar-email`. It must match the `client_email` in the service account key. + - The service account JSON key is the private credential. It is provided via stdin (a file path, raw JSON, or base64) or an interactive prompt (a file path or base64) — never as a CLI flag, so it does not appear in shell history. The key is validated against `--gar-email` and stored base64-encoded. + - Secret reuse inherits the existence-first flow: when the target Secrets Store secret already exists, it is reused by reference and the key is not required. In that case the email cannot be verified locally; it is validated against the key when images are pulled. + + ```sh + .json | npx wrangler@latest containers registries configure -docker.pkg.dev --gar-email= --secret-name=Google_Service_Account_JSON_Key + ``` + ## 0.15.1 ### Patch Changes diff --git a/packages/containers-shared/package.json b/packages/containers-shared/package.json index 1ba0c48897..9a52dab658 100644 --- a/packages/containers-shared/package.json +++ b/packages/containers-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/containers-shared", - "version": "0.15.1", + "version": "0.16.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/deploy-helpers/CHANGELOG.md b/packages/deploy-helpers/CHANGELOG.md index c8cb1f27b5..2c0a2967f3 100644 --- a/packages/deploy-helpers/CHANGELOG.md +++ b/packages/deploy-helpers/CHANGELOG.md @@ -1,5 +1,12 @@ # @cloudflare/deploy-helpers +## 0.2.4 + +### Patch Changes + +- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]: + - miniflare@4.20260625.0 + ## 0.2.3 ### Patch Changes diff --git a/packages/deploy-helpers/package.json b/packages/deploy-helpers/package.json index b388e7cd50..f0c6a834ee 100644 --- a/packages/deploy-helpers/package.json +++ b/packages/deploy-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/deploy-helpers", - "version": "0.2.3", + "version": "0.2.4", "description": "Internal deploy helpers for workers-sdk. Not intended for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/deploy-helpers#readme", "bugs": { diff --git a/packages/miniflare/CHANGELOG.md b/packages/miniflare/CHANGELOG.md index d267fcfed0..0f8e6b781f 100644 --- a/packages/miniflare/CHANGELOG.md +++ b/packages/miniflare/CHANGELOG.md @@ -1,5 +1,17 @@ # miniflare +## 4.20260625.0 + +### Patch Changes + +- [#14406](https://github.com/cloudflare/workers-sdk/pull/14406) [`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260623.1 | 1.20260625.1 | + ## 4.20260623.0 ### Patch Changes diff --git a/packages/miniflare/package.json b/packages/miniflare/package.json index 85f811006d..0862096fde 100644 --- a/packages/miniflare/package.json +++ b/packages/miniflare/package.json @@ -1,6 +1,6 @@ { "name": "miniflare", - "version": "4.20260623.0", + "version": "4.20260625.0", "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 5db297dcac..4b64c555bb 100644 --- a/packages/pages-shared/CHANGELOG.md +++ b/packages/pages-shared/CHANGELOG.md @@ -1,5 +1,12 @@ # @cloudflare/pages-shared +## 0.13.150 + +### Patch Changes + +- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]: + - miniflare@4.20260625.0 + ## 0.13.149 ### Patch Changes diff --git a/packages/pages-shared/package.json b/packages/pages-shared/package.json index e3bddc41c7..0eccd4c392 100644 --- a/packages/pages-shared/package.json +++ b/packages/pages-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/pages-shared", - "version": "0.13.149", + "version": "0.13.150", "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 3ed7474116..02aeffb43f 100644 --- a/packages/vite-plugin-cloudflare/CHANGELOG.md +++ b/packages/vite-plugin-cloudflare/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudflare/vite-plugin +## 1.42.3 + +### Patch Changes + +- Updated dependencies [[`5f40dd5`](https://github.com/cloudflare/workers-sdk/commit/5f40dd5d2897c4c8a1fb30f29af038baefcf67a4), [`34e0cef`](https://github.com/cloudflare/workers-sdk/commit/34e0cefcd54130be4ca3f9cf4de1e9867252ead0), [`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa), [`daa5389`](https://github.com/cloudflare/workers-sdk/commit/daa5389863bd20ab655cf68a5f7cd63afeb30904), [`8a5cf8c`](https://github.com/cloudflare/workers-sdk/commit/8a5cf8c2e61bf3c01a836aad260fa3a5f29e1e7c)]: + - wrangler@4.105.0 + - miniflare@4.20260625.0 + ## 1.42.2 ### Patch Changes diff --git a/packages/vite-plugin-cloudflare/package.json b/packages/vite-plugin-cloudflare/package.json index a7a649bac9..b07b95d2e7 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.42.2", + "version": "1.42.3", "description": "Cloudflare plugin for Vite", "keywords": [ "cloudflare", diff --git a/packages/vitest-pool-workers/CHANGELOG.md b/packages/vitest-pool-workers/CHANGELOG.md index dd98cb9197..9e1c0dfd63 100644 --- a/packages/vitest-pool-workers/CHANGELOG.md +++ b/packages/vitest-pool-workers/CHANGELOG.md @@ -1,5 +1,41 @@ # @cloudflare/vitest-pool-workers +## 0.16.20 + +### Patch Changes + +- [#14398](https://github.com/cloudflare/workers-sdk/pull/14398) [`c5014cc`](https://github.com/cloudflare/workers-sdk/commit/c5014ccc363f70d2a48eb1ba6113e3e62784e09f) Thanks [@apeacock1991](https://github.com/apeacock1991)! - Add `evictDurableObject` and `evictAllDurableObjects` test helpers to `cloudflare:test` + + These helpers let you exercise how a Durable Object behaves across evictions in your tests. Eviction is graceful: durable storage is preserved, in-memory state is reset by tearing down the instance, hibernatable WebSockets are hibernated rather than closed, and eviction waits for in-flight requests to drain. + + ```ts + import { evictDurableObject, evictAllDurableObjects } from "cloudflare:test"; + import { env } from "cloudflare:workers"; + + const id = env.COUNTER.idFromName("my-counter"); + const stub = env.COUNTER.get(id); + + // Evict the Durable Object instance pointed to by a specific stub + await evictDurableObject(stub); + await evictDurableObject(stub, { webSockets: "close" }); + + // Evict all currently-running Durable Objects in evictable namespaces + await evictAllDurableObjects(); + ``` + +- [#14394](https://github.com/cloudflare/workers-sdk/pull/14394) [`8a5cf8c`](https://github.com/cloudflare/workers-sdk/commit/8a5cf8c2e61bf3c01a836aad260fa3a5f29e1e7c) Thanks [@Partha-Shankar](https://github.com/Partha-Shankar)! - fix(d1): escape `migrationsTableName` and filenames in SQLite queries + + D1 migration commands in both `wrangler` and `@cloudflare/vitest-pool-workers` interpolated the `migrationsTableName` config value and migration filenames directly into SQL strings without any escaping. This meant: + + - A table name such as `my"table` would produce invalid SQL in `CREATE TABLE`, `SELECT`, and `INSERT` statements, and + - A migration filename containing an apostrophe (e.g. `what's-new.sql`) would break the `INSERT INTO ... VALUES ('...')` statement appended after each migration in `wrangler`. + + Both identifiers are now properly escaped before interpolation: `migrationsTableName` is wrapped in double-quotes with internal double-quotes doubled (SQL-standard identifier quoting), and migration filenames used as string literals have their single-quotes doubled before insertion. + +- Updated dependencies [[`5f40dd5`](https://github.com/cloudflare/workers-sdk/commit/5f40dd5d2897c4c8a1fb30f29af038baefcf67a4), [`34e0cef`](https://github.com/cloudflare/workers-sdk/commit/34e0cefcd54130be4ca3f9cf4de1e9867252ead0), [`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa), [`daa5389`](https://github.com/cloudflare/workers-sdk/commit/daa5389863bd20ab655cf68a5f7cd63afeb30904), [`8a5cf8c`](https://github.com/cloudflare/workers-sdk/commit/8a5cf8c2e61bf3c01a836aad260fa3a5f29e1e7c)]: + - wrangler@4.105.0 + - miniflare@4.20260625.0 + ## 0.16.19 ### Patch Changes diff --git a/packages/vitest-pool-workers/package.json b/packages/vitest-pool-workers/package.json index c5916f20c4..925e35aa25 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.16.19", + "version": "0.16.20", "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 b75a55c81b..003fa8f6d6 100644 --- a/packages/wrangler/CHANGELOG.md +++ b/packages/wrangler/CHANGELOG.md @@ -1,5 +1,51 @@ # wrangler +## 4.105.0 + +### Minor Changes + +- [#14311](https://github.com/cloudflare/workers-sdk/pull/14311) [`34e0cef`](https://github.com/cloudflare/workers-sdk/commit/34e0cefcd54130be4ca3f9cf4de1e9867252ead0) Thanks [@sherryliu-lsy](https://github.com/sherryliu-lsy)! - Add Google Artifact Registry support to `containers registries configure` + + `wrangler containers registries configure` now recognizes `*-docker.pkg.dev` (Google Artifact Registry) domains. + + - The Google service account email is the public credential, supplied with `--gar-email`. It must match the `client_email` in the service account key. + - The service account JSON key is the private credential. It is provided via stdin (a file path, raw JSON, or base64) or an interactive prompt (a file path or base64) — never as a CLI flag, so it does not appear in shell history. The key is validated against `--gar-email` and stored base64-encoded. + - Secret reuse inherits the existence-first flow: when the target Secrets Store secret already exists, it is reused by reference and the key is not required. In that case the email cannot be verified locally; it is validated against the key when images are pulled. + + ```sh + .json | npx wrangler@latest containers registries configure -docker.pkg.dev --gar-email= --secret-name=Google_Service_Account_JSON_Key + ``` + +### Patch Changes + +- [#14424](https://github.com/cloudflare/workers-sdk/pull/14424) [`5f40dd5`](https://github.com/cloudflare/workers-sdk/commit/5f40dd5d2897c4c8a1fb30f29af038baefcf67a4) Thanks [@MattieTK](https://github.com/MattieTK)! - Bump `am-i-vibing` from 0.4.0 to 0.5.0 + + This updates the agentic environment detection library to the latest version, which adds detection for the Pi coding agent (`earendil-works/pi`). + +- [#14406](https://github.com/cloudflare/workers-sdk/pull/14406) [`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260623.1 | 1.20260625.1 | + +- [#14343](https://github.com/cloudflare/workers-sdk/pull/14343) [`daa5389`](https://github.com/cloudflare/workers-sdk/commit/daa5389863bd20ab655cf68a5f7cd63afeb30904) Thanks [@th0m](https://github.com/th0m)! - Use digest-pinned image references for Dockerfile container deploys + + Dockerfile-backed container deploys now use the pushed image digest when deploying the container application. This lets snapshot-enabled container apps pass Cloudchamber validation while keeping local, non-pushed builds and registry image URI deploys unchanged. + +- [#14394](https://github.com/cloudflare/workers-sdk/pull/14394) [`8a5cf8c`](https://github.com/cloudflare/workers-sdk/commit/8a5cf8c2e61bf3c01a836aad260fa3a5f29e1e7c) Thanks [@Partha-Shankar](https://github.com/Partha-Shankar)! - fix(d1): escape `migrationsTableName` and filenames in SQLite queries + + D1 migration commands in both `wrangler` and `@cloudflare/vitest-pool-workers` interpolated the `migrationsTableName` config value and migration filenames directly into SQL strings without any escaping. This meant: + + - A table name such as `my"table` would produce invalid SQL in `CREATE TABLE`, `SELECT`, and `INSERT` statements, and + - A migration filename containing an apostrophe (e.g. `what's-new.sql`) would break the `INSERT INTO ... VALUES ('...')` statement appended after each migration in `wrangler`. + + Both identifiers are now properly escaped before interpolation: `migrationsTableName` is wrapped in double-quotes with internal double-quotes doubled (SQL-standard identifier quoting), and migration filenames used as string literals have their single-quotes doubled before insertion. + +- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]: + - miniflare@4.20260625.0 + ## 4.104.0 ### Minor Changes diff --git a/packages/wrangler/package.json b/packages/wrangler/package.json index d54d1d38fe..2fbcaaff9d 100644 --- a/packages/wrangler/package.json +++ b/packages/wrangler/package.json @@ -1,6 +1,6 @@ { "name": "wrangler", - "version": "4.104.0", + "version": "4.105.0", "description": "Command-line interface for all things Cloudflare Workers", "keywords": [ "assembly",