{"id":"prod_L0CdWwB5NMnnm_LxDvWGG","name":"Workers","slug":"workers","orgId":"org_fW6EY8PY8Cr42ifo1IUAm","url":null,"description":null,"category":"cloud","kind":"platform","avatarUrl":null,"createdAt":"2026-04-07T17:15:26.672Z","embeddedAt":"2026-04-15T16:19:39.821Z","deletedAt":null,"sources":[{"id":"src_w1DmCIkdzHhcTfke6AKkt","slug":"cloudflare-workerd","name":"Cloudflare workerd","type":"github","url":"https://github.com/cloudflare/workerd","metadata":"{\"changelogDetectedAt\":\"2026-03-31T14:09:27.012Z\",\"wellKnownSweptAt\":\"2026-06-24T06:00:01.224Z\"}","kind":"platform"},{"id":"src_t0jrlCeVCdvY4B0770mt3","slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github","url":"https://github.com/cloudflare/workers-sdk","metadata":"{\"changelogDetectedAt\":\"2026-03-31T14:09:16.523Z\",\"changelogPaths\":[\"packages/wrangler/CHANGELOG.md\",\"packages/miniflare/CHANGELOG.md\",\"packages/create-cloudflare/CHANGELOG.md\",\"packages/vitest-pool-workers/CHANGELOG.md\",\"packages/kv-asset-handler/CHANGELOG.md\"],\"wellKnownSweptAt\":\"2026-06-24T06:00:01.224Z\"}","kind":"tool"}],"tags":["edge","javascript","serverless"],"aliases":[],"notice":null,"releases":[{"id":"rel_HY2cQYZpm07a17jxIJacO","version":"v1.20260627.1","type":"feature","title":"v1.20260627.1","summary":"**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260626.1...v1.20260627.1","titleGenerated":"Workers v1.20260627.1 release","titleShort":null,"content":"**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260626.1...v1.20260627.1","publishedAt":"2026-06-27T01:22:00.000Z","url":"https://github.com/cloudflare/workerd/releases/tag/v1.20260627.1","media":[],"prerelease":false,"source":{"slug":"cloudflare-workerd","name":"Cloudflare workerd","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":95,"contentTokens":32,"composition":null},{"id":"rel_7FC-OCfQ1-wP9U5L68p9S","version":"v1.20260626.1","type":"feature","title":"v1.20260626.1","summary":"**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260625.1...v1.20260626.1","titleGenerated":"Cloudflare Workers v1.20260626.1 dependency update","titleShort":null,"content":"**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260625.1...v1.20260626.1","publishedAt":"2026-06-26T01:26:58.000Z","url":"https://github.com/cloudflare/workerd/releases/tag/v1.20260626.1","media":[],"prerelease":false,"source":{"slug":"cloudflare-workerd","name":"Cloudflare workerd","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":95,"contentTokens":32,"composition":null},{"id":"rel_qnJLmtjtLy5Puj_KRSRDl","version":"@cloudflare/vitest-pool-workers@0.16.20","type":"feature","title":"@cloudflare/vitest-pool-workers@0.16.20","summary":"Added `evictDurableObject` and `evictAllDurableObjects` test helpers to the `cloudflare:test` module for exercising eviction behavior in Durable Object tests. Fixed a SQL injection vulnerability where `migrationsTableName` and migration filenames were interpolated unescaped into SQLite queries in both wrangler and the vitest pool.","titleGenerated":"Workers vitest pool 0.16.20 adds Durable Object eviction helpers and fixes D1 SQL injection","titleShort":"DO eviction test helpers; D1 SQL escaping fixed","content":"### Patch Changes\n\n- [#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`\n\n  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.\n\n  ```ts\n  import { evictDurableObject, evictAllDurableObjects } from \"cloudflare:test\";\n  import { env } from \"cloudflare:workers\";\n\n  const id = env.COUNTER.idFromName(\"my-counter\");\n  const stub = env.COUNTER.get(id);\n\n  // Evict the Durable Object instance pointed to by a specific stub\n  await evictDurableObject(stub);\n  await evictDurableObject(stub, { webSockets: \"close\" });\n\n  // Evict all currently-running Durable Objects in evictable namespaces\n  await evictAllDurableObjects();\n  ```\n\n- [#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\n\n  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:\n\n  - A table name such as `my\"table` would produce invalid SQL in `CREATE TABLE`, `SELECT`, and `INSERT` statements, and\n  - 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`.\n\n  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.\n\n- 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)]:\n  - wrangler@4.105.0\n  - miniflare@4.20260625.0","publishedAt":"2026-06-25T13:25:46.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/vitest-pool-workers%400.16.20","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":2844,"contentTokens":833,"composition":{"bugs":1,"features":1,"enhancements":0}},{"id":"rel_zqCBh8J5U4jy0T9nUVXb6","version":"@cloudflare/vite-plugin@1.42.3","type":"feature","title":"@cloudflare/vite-plugin@1.42.3","summary":"Updated wrangler to 4.105.0 and miniflare to 4.20260625.0.","titleGenerated":"Workers Vite Plugin v1.42.3 updates wrangler and miniflare dependencies","titleShort":"Wrangler and miniflare dependencies bumped","content":"### Patch Changes\n\n- 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)]:\n  - wrangler@4.105.0\n  - miniflare@4.20260625.0","publishedAt":"2026-06-25T13:25:43.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/vite-plugin%401.42.3","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":611,"contentTokens":257,"composition":null},{"id":"rel_T9WzViPn6TNAO2uxACUyh","version":"@cloudflare/containers-shared@0.16.0","type":"feature","title":"@cloudflare/containers-shared@0.16.0","summary":"`wrangler containers registries configure` now recognizes `*-docker.pkg.dev` domains with `--gar-email` for the service account and a JSON key via stdin as the private credential, never exposed in shell history.","titleGenerated":"Workers containers registries now supports Google Artifact Registry","titleShort":"Google Artifact Registry domains supported in containers registries","content":"### Minor Changes\n\n- [#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`\n\n  `wrangler containers registries configure` now recognizes `*-docker.pkg.dev` (Google Artifact Registry) domains.\n\n  - The Google service account email is the public credential, supplied with `--gar-email`. It must match the `client_email` in the service account key.\n  - 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.\n  - 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.\n\n  ```sh\n  <path-to-key>.json | npx wrangler@latest containers registries configure <region>-docker.pkg.dev --gar-email=<service-account-email> --secret-name=Google_Service_Account_JSON_Key\n  ```","publishedAt":"2026-06-25T13:25:40.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/containers-shared%400.16.0","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":1356,"contentTokens":329,"composition":{"bugs":0,"features":1,"enhancements":0}},{"id":"rel_ommrSI-iynpy-Y2L72x31","version":"@cloudflare/pages-shared@0.13.150","type":"feature","title":"@cloudflare/pages-shared@0.13.150","summary":"### Patch Changes\n\n- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]:\n  ...","titleGenerated":"Cloudflare Workers @cloudflare/pages-shared@0.13.150 dependency update","titleShort":null,"content":"### Patch Changes\n\n- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]:\n  - miniflare@4.20260625.0","publishedAt":"2026-06-25T13:25:37.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/pages-shared%400.13.150","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":174,"contentTokens":69,"composition":null},{"id":"rel_mOHtnDyyUHWbbZsGZIt5t","version":"miniflare@4.20260625.0","type":"feature","title":"miniflare@4.20260625.0","summary":"### Patch Changes\n\n- [#14406](https://github.com/cloudflare/workers-sdk/pull/14406) [`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743...","titleGenerated":"Workers SDK (Miniflare) v4.20260625.0 dependency update","titleShort":null,"content":"### Patch Changes\n\n- [#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\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260623.1 | 1.20260625.1 |","publishedAt":"2026-06-25T13:25:34.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/miniflare%404.20260625.0","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":491,"contentTokens":151,"composition":null},{"id":"rel_IrbkKXmiefqXQdVA7gPyh","version":"wrangler@4.105.0","type":"feature","title":"wrangler@4.105.0","summary":"Wrangler can now configure Google Artifact Registry container registries via `wrangler containers registries configure`. D1 migration commands now properly escape table names and filenames in SQLite queries, fixing a bug where special characters like quotes could produce invalid SQL. Dockerfile-backed container deploys now use digest-pinned image references for Cloudchamber validation.","titleGenerated":"Wrangler 4.105.0 adds Google Artifact Registry support and fixes D1 SQL injection","titleShort":"Google Artifact Registry support; D1 SQL escaping fixed","content":"### Minor Changes\n\n- [#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`\n\n  `wrangler containers registries configure` now recognizes `*-docker.pkg.dev` (Google Artifact Registry) domains.\n\n  - The Google service account email is the public credential, supplied with `--gar-email`. It must match the `client_email` in the service account key.\n  - 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.\n  - 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.\n\n  ```sh\n  <path-to-key>.json | npx wrangler@latest containers registries configure <region>-docker.pkg.dev --gar-email=<service-account-email> --secret-name=Google_Service_Account_JSON_Key\n  ```\n\n### Patch Changes\n\n- [#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\n\n  This updates the agentic environment detection library to the latest version, which adds detection for the Pi coding agent (`earendil-works/pi`).\n\n- [#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\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260623.1 | 1.20260625.1 |\n\n- [#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\n\n  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.\n\n- [#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\n\n  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:\n\n  - A table name such as `my\"table` would produce invalid SQL in `CREATE TABLE`, `SELECT`, and `INSERT` statements, and\n  - 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`.\n\n  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.\n\n- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]:\n  - miniflare@4.20260625.0","publishedAt":"2026-06-25T13:25:31.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.105.0","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":4065,"contentTokens":1089,"composition":{"bugs":2,"features":1,"enhancements":1}},{"id":"rel_zQ56Rs9T2Mk62lJX2E4OP","version":"@cloudflare/deploy-helpers@0.2.4","type":"feature","title":"@cloudflare/deploy-helpers@0.2.4","summary":"### Patch Changes\n\n- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]:\n  ...","titleGenerated":"Workers deploy-helpers v0.2.4 dependency update","titleShort":null,"content":"### Patch Changes\n\n- Updated dependencies [[`3b743c1`](https://github.com/cloudflare/workers-sdk/commit/3b743c1b86ad80c40fd9d2d678cd5a8cb66e86fa)]:\n  - miniflare@4.20260625.0","publishedAt":"2026-06-25T13:25:28.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/deploy-helpers%400.2.4","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":174,"contentTokens":69,"composition":null},{"id":"rel_GKJA822k-pxs_7kNNDb_l","version":"v1.20260625.1","type":"feature","title":"v1.20260625.1","summary":"## What's Changed\n* 2026 06 24 upstream update by @mikea in https://github.com/cloudflare/workerd/pull/6844\n\n\n**Full Changelog**: https://github.com/c...","titleGenerated":"Cloudflare Workers v1.20260625.1 upstream update","titleShort":null,"content":"## What's Changed\n* 2026 06 24 upstream update by @mikea in https://github.com/cloudflare/workerd/pull/6844\n\n\n**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260624.1...v1.20260625.1","publishedAt":"2026-06-25T01:24:44.000Z","url":"https://github.com/cloudflare/workerd/releases/tag/v1.20260625.1","media":[],"prerelease":false,"source":{"slug":"cloudflare-workerd","name":"Cloudflare workerd","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":205,"contentTokens":67,"composition":null},{"id":"rel_KsoVdjWP856MYfi0aFRtQ","version":"v1.20260624.1","type":"feature","title":"v1.20260624.1","summary":"**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260623.1...v1.20260624.1","titleGenerated":null,"titleShort":null,"content":"**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260623.1...v1.20260624.1","publishedAt":"2026-06-24T01:19:30.000Z","url":"https://github.com/cloudflare/workerd/releases/tag/v1.20260624.1","media":[],"prerelease":false,"source":{"slug":"cloudflare-workerd","name":"Cloudflare workerd","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":95,"contentTokens":32,"composition":null},{"id":"rel_7-Sx3BnMQ4TvcTkHTrRNI","version":"@cloudflare/autoconfig@0.1.1","type":"feature","title":"@cloudflare/autoconfig@0.1.1","summary":"Added a repository URL to the @cloudflare/autoconfig package metadata.","titleGenerated":"Workers autoconfig v0.1.1 adds repository URL to package metadata","titleShort":"Autoconfig package now declares repository URL","content":"### Patch Changes\n\n- [#14368](https://github.com/cloudflare/workers-sdk/pull/14368) [`a55b29a`](https://github.com/cloudflare/workers-sdk/commit/a55b29a4ba8a24f4d539538e2bf38e6a7e5b8e52) Thanks [@penalosa](https://github.com/penalosa)! - Add repository URL to `@cloudflare/autoconfig`","publishedAt":"2026-06-23T15:39:57.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/autoconfig%400.1.1","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":284,"contentTokens":99,"composition":{"bugs":0,"features":1,"enhancements":0}},{"id":"rel_3614DdZSXxYlfGeTqB8qG","version":"miniflare@4.20260623.0","type":"feature","title":"miniflare@4.20260623.0","summary":"### Patch Changes\n\n- [#14364](https://github.com/cloudflare/workers-sdk/pull/14364) [`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085d...","titleGenerated":"Miniflare v4.20260623.0 runtime dependency updates","titleShort":null,"content":"### Patch Changes\n\n- [#14364](https://github.com/cloudflare/workers-sdk/pull/14364) [`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"miniflare\", \"wrangler\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260617.1 | 1.20260619.1 |\n\n- [#14383](https://github.com/cloudflare/workers-sdk/pull/14383) [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"miniflare\", \"wrangler\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260619.1 | 1.20260621.1 |\n\n- [#14397](https://github.com/cloudflare/workers-sdk/pull/14397) [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"miniflare\", \"wrangler\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260621.1 | 1.20260623.1 |","publishedAt":"2026-06-23T15:39:54.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/miniflare%404.20260623.0","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":1439,"contentTokens":429,"composition":null},{"id":"rel_GWGY1hWSPIrLtz2ZZBJQj","version":"wrangler@4.104.0","type":"feature","title":"wrangler@4.104.0","summary":"Files discovered by `find_additional_modules` that only match an inactive module rule are now silently skipped instead of hard-erroring, and container egress interception on arm64 Docker no longer forces a non-native image. Also added `getEnv()` to `createTestHarness()` for accessing the full Workers `env` object in tests.","titleGenerated":"Wrangler 4.104.0 fixes module rule file-scan failures and arm64 container egress","titleShort":"Inactive module rules no longer break builds; arm64 egress fixed","content":"### Minor Changes\n\n- [#14369](https://github.com/cloudflare/workers-sdk/pull/14369) [`e312dec`](https://github.com/cloudflare/workers-sdk/commit/e312decf71f8d1a435ca178f209844363f24014a) Thanks [@edmundhung](https://github.com/edmundhung)! - Add `getEnv()` to `createTestHarness()` Worker handles\n\n  Tests can now access the full `env` object for a Worker with `await server.getWorker<Env>().getEnv()`, including vars, secrets, and bindings.\n\n### Patch Changes\n\n- [#14364](https://github.com/cloudflare/workers-sdk/pull/14364) [`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"miniflare\", \"wrangler\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260617.1 | 1.20260619.1 |\n\n- [#14383](https://github.com/cloudflare/workers-sdk/pull/14383) [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"miniflare\", \"wrangler\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260619.1 | 1.20260621.1 |\n\n- [#14397](https://github.com/cloudflare/workers-sdk/pull/14397) [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"miniflare\", \"wrangler\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From         | To           |\n  | ---------- | ------------ | ------------ |\n  | workerd    | 1.20260621.1 | 1.20260623.1 |\n\n- [#14388](https://github.com/cloudflare/workers-sdk/pull/14388) [`3f02864`](https://github.com/cloudflare/workers-sdk/commit/3f028644284236fbfe36567052200cf00e707d85) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - Stop erroring when `find_additional_modules` discovers a file that only matches a inactive module rule\n\n  Module rules assign module _types_ to imported files — they are not include/exclude filters. Also, setting `fallthrough: false` in a rule will cause subsequent rules to become inactive. Previously, when `find_additional_modules` walked the filesystem and discovered a file whose only matching rule is inactive, Wrangler would throw an error and fail the build.\n\n  This meant that adding a user rule like the one below would break the build for any `.txt`, `.html`, `.sql`, `.bin` or `.wasm` file that didn't match the user-supplied globs but lived somewhere under the module root:\n\n  ```jsonc\n  // wrangler.json\n  {\n    \"rules\": [\n      {\n        \"type\": \"Text\",\n        \"globs\": [\"html/includeme.html\"],\n        \"fallthrough\": false\n      }\n    ]\n  }\n  ```\n\n  Discovered files that only match an inactive rule are now silently skipped (a `debug`-level log records each skip for troubleshooting), so users can use `fallthrough: false` to narrow the set of files attached to their Worker without having to delete or move untouched files on disk.\n\n  The direct-import path is unchanged: importing a file in code that only matches an inactive rule is still a hard error, because the imported file genuinely needs a defined module type.\n\n  Fixes [#14257](https://github.com/cloudflare/workers-sdk/issues/14257).\n\n- [#14358](https://github.com/cloudflare/workers-sdk/pull/14358) [`4ef872f`](https://github.com/cloudflare/workers-sdk/commit/4ef872fe530282d26ec8f2f8c52f23b8702ae757) Thanks [@gabivlj](https://github.com/gabivlj)! - Fix container egress interception on arm64 Docker runtimes\n\n  Both `wrangler dev` and the Cloudflare Vite plugin no longer force the `proxy-everything` sidecar image to pull as `linux/amd64`, allowing Docker to select the native image from the multi-platform manifest. Set `MINIFLARE_CONTAINER_EGRESS_IMAGE_PLATFORM` to force a specific platform when needed.\n\n- [#14362](https://github.com/cloudflare/workers-sdk/pull/14362) [`2a02858`](https://github.com/cloudflare/workers-sdk/commit/2a028589543aa7692f99a053952bfc1c5eb8302f) Thanks [@sherryliu-lsy](https://github.com/sherryliu-lsy)! - Don't require the private credential when reusing an existing Secrets Store secret in `containers registries configure`\n\n  `wrangler containers registries configure` now checks whether the target Secrets Store secret already exists before resolving the private credential. When the secret already exists it is reused by reference, so the private credential no longer needs to be supplied (via stdin in non-interactive mode, or via a prompt interactively). This applies to all external registries.\n\n  The new-secret path is unchanged: the credential is still required and stored. The only visible interactive change is that the secret prompt now appears last and only when a new secret is being created.\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315), [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5)]:\n  - miniflare@4.20260623.0","publishedAt":"2026-06-23T15:39:52.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.104.0","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":5405,"contentTokens":1463,"composition":{"bugs":2,"features":1,"enhancements":0}},{"id":"rel_HXW0t3gY73LMzPpZSudKv","version":"@cloudflare/vitest-pool-workers@0.16.19","type":"feature","title":"@cloudflare/vitest-pool-workers@0.16.19","summary":"### Patch Changes\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9...","titleGenerated":"Workers vitest-pool-workers v0.16.19 dependency update","titleShort":null,"content":"### Patch Changes\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315), [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5), [`3f02864`](https://github.com/cloudflare/workers-sdk/commit/3f028644284236fbfe36567052200cf00e707d85), [`4ef872f`](https://github.com/cloudflare/workers-sdk/commit/4ef872fe530282d26ec8f2f8c52f23b8702ae757), [`2a02858`](https://github.com/cloudflare/workers-sdk/commit/2a028589543aa7692f99a053952bfc1c5eb8302f), [`e312dec`](https://github.com/cloudflare/workers-sdk/commit/e312decf71f8d1a435ca178f209844363f24014a)]:\n  - miniflare@4.20260623.0\n  - wrangler@4.104.0","publishedAt":"2026-06-23T15:39:48.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/vitest-pool-workers%400.16.19","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":819,"contentTokens":314,"composition":null},{"id":"rel_BeMgUKxRwLxVNFjnjI-5O","version":"@cloudflare/vite-plugin@1.42.2","type":"feature","title":"@cloudflare/vite-plugin@1.42.2","summary":"Container egress interception no longer forces amd64 emulation on arm64 Docker runtimes; the native image is used by default. A MINIFLARE_CONTAINER_EGRESS_IMAGE_PLATFORM environment variable is available to force a specific platform.","titleGenerated":"Cloudflare Workers Vite plugin v1.42.2 fixes container egress on arm64 Docker","titleShort":"Container egress works natively on arm64 Docker","content":"### Patch Changes\n\n- [#14358](https://github.com/cloudflare/workers-sdk/pull/14358) [`4ef872f`](https://github.com/cloudflare/workers-sdk/commit/4ef872fe530282d26ec8f2f8c52f23b8702ae757) Thanks [@gabivlj](https://github.com/gabivlj)! - Fix container egress interception on arm64 Docker runtimes\n\n  Both `wrangler dev` and the Cloudflare Vite plugin no longer force the `proxy-everything` sidecar image to pull as `linux/amd64`, allowing Docker to select the native image from the multi-platform manifest. Set `MINIFLARE_CONTAINER_EGRESS_IMAGE_PLATFORM` to force a specific platform when needed.\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315), [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5), [`3f02864`](https://github.com/cloudflare/workers-sdk/commit/3f028644284236fbfe36567052200cf00e707d85), [`4ef872f`](https://github.com/cloudflare/workers-sdk/commit/4ef872fe530282d26ec8f2f8c52f23b8702ae757), [`2a02858`](https://github.com/cloudflare/workers-sdk/commit/2a028589543aa7692f99a053952bfc1c5eb8302f), [`e312dec`](https://github.com/cloudflare/workers-sdk/commit/e312decf71f8d1a435ca178f209844363f24014a)]:\n  - miniflare@4.20260623.0\n  - wrangler@4.104.0","publishedAt":"2026-06-23T15:39:45.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/vite-plugin%401.42.2","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":1396,"contentTokens":474,"composition":{"bugs":1,"features":0,"enhancements":0}},{"id":"rel_Q8bl_j8Qn9phNWopn178B","version":"@cloudflare/deploy-helpers@0.2.3","type":"feature","title":"@cloudflare/deploy-helpers@0.2.3","summary":"### Patch Changes\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9...","titleGenerated":"Workers deploy-helpers v0.2.3 dependency update","titleShort":null,"content":"### Patch Changes\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315), [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5)]:\n  - miniflare@4.20260623.0","publishedAt":"2026-06-23T15:39:42.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/deploy-helpers%400.2.3","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":382,"contentTokens":145,"composition":null},{"id":"rel_gS0W20XoFnPJ2d2hCDYOj","version":"create-cloudflare@2.70.6","type":"feature","title":"create-cloudflare@2.70.6","summary":"The Waku template now runs the default create-waku generator and overlays Cloudflare-specific files (wrangler.jsonc, src/waku.server.tsx, Cloudflare waku.config.ts, public/_headers, public/404.html) instead of relying on the external wakujs/waku-examples repository. Dependency bumps for create-vike, @angular/create, create-react-router, create-vue.","titleGenerated":"Workers create-cloudflare 2.70.6 scaffolds Cloudflare Waku files locally, bumps framework deps","titleShort":"Waku template scaffolds Cloudflare files locally; deps bumped","content":"### Patch Changes\n\n- [#14377](https://github.com/cloudflare/workers-sdk/pull/14377) [`bc08cfa`](https://github.com/cloudflare/workers-sdk/commit/bc08cfaa9c140ab6965ff8cd6d69a8f000439fba) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"create-cloudflare\"\n\n  The following dependency versions have been updated:\n\n  | Dependency  | From    | To      |\n  | ----------- | ------- | ------- |\n  | create-vike | 0.0.651 | 0.0.654 |\n\n- [#14378](https://github.com/cloudflare/workers-sdk/pull/14378) [`2091f80`](https://github.com/cloudflare/workers-sdk/commit/2091f804396f28a700fb90420e6ecf8c46336702) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"create-cloudflare\"\n\n  The following dependency versions have been updated:\n\n  | Dependency      | From   | To     |\n  | --------------- | ------ | ------ |\n  | @angular/create | 22.0.1 | 22.0.3 |\n\n- [#14379](https://github.com/cloudflare/workers-sdk/pull/14379) [`914bd65`](https://github.com/cloudflare/workers-sdk/commit/914bd65d2b02d6268709c6bc225a95fe33cfdd3e) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"create-cloudflare\"\n\n  The following dependency versions have been updated:\n\n  | Dependency          | From  | To    |\n  | ------------------- | ----- | ----- |\n  | create-react-router | 8.0.0 | 8.0.1 |\n\n- [#14380](https://github.com/cloudflare/workers-sdk/pull/14380) [`44a4084`](https://github.com/cloudflare/workers-sdk/commit/44a4084720eefa24bf09ed388a13cfc80e409825) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of \"create-cloudflare\"\n\n  The following dependency versions have been updated:\n\n  | Dependency | From   | To     |\n  | ---------- | ------ | ------ |\n  | create-vue | 3.22.3 | 3.22.4 |\n\n- [#14381](https://github.com/cloudflare/workers-sdk/pull/14381) [`f927adc`](https://github.com/cloudflare/workers-sdk/commit/f927adc72b06c36237384b68d6289e5415a90e63) Thanks [@dai-shi](https://github.com/dai-shi)! - Scaffold the Cloudflare-specific Waku files in the C3 script instead of relying on an external example\n\n  The Waku template now runs the default `create-waku` generator and overlays the Cloudflare-specific files (`wrangler.jsonc`, the Workers entrypoint `src/waku.server.tsx`, the Cloudflare `waku.config.ts`, and the `public/_headers` / `public/404.html` static assets) via `copyFiles`, installing the extra build dependencies and removing the redundant trailing-slash dev middleware in `configure`. This removes the dependency on the external `wakujs/waku-examples` repository for the scaffolded project content.","publishedAt":"2026-06-23T15:39:39.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/create-cloudflare%402.70.6","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":2631,"contentTokens":750,"composition":{"bugs":0,"features":0,"enhancements":2}},{"id":"rel_seFngIBcF3FWE0jQPn5aW","version":"@cloudflare/pages-shared@0.13.149","type":"feature","title":"@cloudflare/pages-shared@0.13.149","summary":"### Patch Changes\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9...","titleGenerated":"Workers SDK Pages Shared v0.13.149 dependency update","titleShort":null,"content":"### Patch Changes\n\n- Updated dependencies [[`a085dec`](https://github.com/cloudflare/workers-sdk/commit/a085deca12d7126c21e500b3dd4298edfd13f8cd), [`9a0de8f`](https://github.com/cloudflare/workers-sdk/commit/9a0de8f71f50bb7d1884288e376259082084a315), [`fab565f`](https://github.com/cloudflare/workers-sdk/commit/fab565fdb1a912c73232d72ccdf1963fd96f9ad5)]:\n  - miniflare@4.20260623.0","publishedAt":"2026-06-23T15:39:36.000Z","url":"https://github.com/cloudflare/workers-sdk/releases/tag/%40cloudflare/pages-shared%400.13.149","media":[],"prerelease":false,"source":{"slug":"cloudflare-workers-sdk","name":"Workers SDK","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":382,"contentTokens":145,"composition":null},{"id":"rel_K98mr8kfS2z_rXUF5qp0l","version":"v1.20260623.1","type":"feature","title":"v1.20260623.1","summary":"Fixed two bugs affecting persistent stubs.","titleGenerated":"Cloudflare Workers v1.20260623.1 fixes two persistent stubs bugs","titleShort":"Two persistent stubs bugs fixed","content":"## What's Changed\n* Fix two bugs affecting persistent stubs by @kentonv in https://github.com/cloudflare/workerd/pull/6840\n\n\n**Full Changelog**: https://github.com/cloudflare/workerd/compare/v1.20260622.1...v1.20260623.1","publishedAt":"2026-06-23T01:21:35.000Z","url":"https://github.com/cloudflare/workerd/releases/tag/v1.20260623.1","media":[],"prerelease":false,"source":{"slug":"cloudflare-workerd","name":"Cloudflare workerd","type":"github"},"product":{"slug":"workers","name":"Workers"},"groupSlug":"workers","groupName":"Workers","coverageCount":0,"contentChars":220,"contentTokens":65,"composition":{"bugs":2,"features":0,"enhancements":0}}],"pagination":{"nextCursor":"2026-06-23T01:21:35.000Z|2026-06-23T04:05:25.919Z|rel_K98mr8kfS2z_rXUF5qp0l","limit":20}}