diff --git a/.changeset/ai-auth-error-message.md b/.changeset/ai-auth-error-message.md deleted file mode 100644 index 892135bc38..0000000000 --- a/.changeset/ai-auth-error-message.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Log a helpful error message when AI binding requests fail with a 403 authentication error - -Previously, when the AI proxy token expired during a long session, users received an unhelpful 403 error. Now, wrangler detects error code 1031 and suggests running `wrangler login` to refresh the token. diff --git a/.changeset/artifacts-binding-support.md b/.changeset/artifacts-binding-support.md deleted file mode 100644 index b4aeef0525..0000000000 --- a/.changeset/artifacts-binding-support.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -"wrangler": minor -"miniflare": minor -"@cloudflare/workers-utils": minor ---- - -Add Artifacts binding support to wrangler - -You can now configure Artifacts bindings in your wrangler configuration: - -```jsonc -// wrangler.jsonc -{ - "artifacts": [{ "binding": "MY_ARTIFACTS", "namespace": "default" }], -} -``` - -Type generation produces the correct `Artifacts` type reference from the workerd type definitions: - -```ts -interface Env { - MY_ARTIFACTS: Artifacts; -} -``` diff --git a/.changeset/c3-frameworks-update-12714.md b/.changeset/c3-frameworks-update-12714.md deleted file mode 100644 index 6b888d5524..0000000000 --- a/.changeset/c3-frameworks-update-12714.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update dependencies of "create-cloudflare" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ---------------------- | ------ | ------- | -| @tanstack/create-start | 0.59.8 | 0.59.21 | diff --git a/.changeset/c3-frameworks-update-12804.md b/.changeset/c3-frameworks-update-12804.md deleted file mode 100644 index c9bf70af40..0000000000 --- a/.changeset/c3-frameworks-update-12804.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update dependencies of "create-cloudflare" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ---------- | ------ | ------ | -| sv | 0.12.4 | 0.12.5 | diff --git a/.changeset/c3-frameworks-update-13360.md b/.changeset/c3-frameworks-update-13360.md deleted file mode 100644 index 256aa290aa..0000000000 --- a/.changeset/c3-frameworks-update-13360.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update dependencies of "create-cloudflare" - -The following dependency versions have been updated: - -| Dependency | From | To | -| --------------- | ------ | ------ | -| create-next-app | 16.2.2 | 16.2.4 | diff --git a/.changeset/c3-frameworks-update-13593.md b/.changeset/c3-frameworks-update-13593.md deleted file mode 100644 index 64f3b7f12a..0000000000 --- a/.changeset/c3-frameworks-update-13593.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update dependencies of "create-cloudflare" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ------------- | ----- | ----- | -| create-analog | 2.4.7 | 2.4.8 | diff --git a/.changeset/c3-frameworks-update-13594.md b/.changeset/c3-frameworks-update-13594.md deleted file mode 100644 index 04a922716b..0000000000 --- a/.changeset/c3-frameworks-update-13594.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update dependencies of "create-cloudflare" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ------------------- | ------ | ------ | -| create-react-router | 7.14.0 | 7.14.1 | diff --git a/.changeset/c3-frameworks-update-13595.md b/.changeset/c3-frameworks-update-13595.md deleted file mode 100644 index fbd9bdb662..0000000000 --- a/.changeset/c3-frameworks-update-13595.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"create-cloudflare": patch ---- - -Update dependencies of "create-cloudflare" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ----------- | ------- | ------- | -| create-vike | 0.0.616 | 0.0.622 | diff --git a/.changeset/calm-bobcats-chew.md b/.changeset/calm-bobcats-chew.md deleted file mode 100644 index d692a6120f..0000000000 --- a/.changeset/calm-bobcats-chew.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": minor ---- - -Rename the documented containers SSH config option to `ssh` - -Wrangler now accepts and documents `containers.ssh` in config files while continuing to accept `containers.wrangler_ssh` as an undocumented backwards-compatible alias. Wrangler still sends and reads `wrangler_ssh` when talking to the containers API. diff --git a/.changeset/clear-turkeys-boil.md b/.changeset/clear-turkeys-boil.md deleted file mode 100644 index c683a50224..0000000000 --- a/.changeset/clear-turkeys-boil.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/vitest-pool-workers": patch ---- - -Update warning message when attempting to access exports not defined on the main worker - -Previously this referred to the `SELF` worker, which is now a deprecated API in the Vitest integration. diff --git a/.changeset/close-runtime-dispatcher-pool.md b/.changeset/close-runtime-dispatcher-pool.md deleted file mode 100644 index 048985db48..0000000000 --- a/.changeset/close-runtime-dispatcher-pool.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"miniflare": patch ---- - -fix: close all open handles on dispose to prevent process hangs - -Several resources were not being properly cleaned up during `Miniflare.dispose()`, which could leave the Node.js event loop alive and cause processes (particularly tests using `node --test`) to hang instead of exiting cleanly: - -- The internal undici `Pool` used to dispatch fetch requests to the workerd runtime was not closed. Lingering TCP sockets from this pool could keep the event loop alive indefinitely. -- `WebSocketServer` instances for live reload and WebSocket proxying were never closed, leaving connected clients' sockets open. -- The `InspectorProxy` was not closing its runtime WebSocket connection, relying on process death to break the connection. -- `HyperdriveProxyController.dispose()` had a missing `return` in a `.map()` callback, causing `Promise.allSettled` to resolve immediately without waiting for `net.Server` instances to close. -- `ProxyClientBridge` was not clearing its finalization batch `setTimeout` during disposal. -- `InspectorProxyController.dispose()` was not calling `server.closeAllConnections()` before `server.close()`, so active HTTP keep-alive or WebSocket connections could prevent the close callback from firing. diff --git a/.changeset/container-placement-constraints.md b/.changeset/container-placement-constraints.md deleted file mode 100644 index a60b590efa..0000000000 --- a/.changeset/container-placement-constraints.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": minor -"@cloudflare/containers-shared": minor -"@cloudflare/workers-utils": minor ---- - -Add regional and jurisdictional placement constraints for Containers. Users can now set `constraints.regions` and `constraints.jurisdiction` in wrangler config to control where containers run. diff --git a/.changeset/cyan-rivers-happen.md b/.changeset/cyan-rivers-happen.md deleted file mode 100644 index 958f35f5c1..0000000000 --- a/.changeset/cyan-rivers-happen.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/vite-plugin": patch ---- - -Allow internal Wrangler config path overrides via env - -`@cloudflare/vite-plugin` now checks `CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH` when `configPath` is not set explicitly. This lets integrators provide generated Wrangler configs outside the project root without requiring users to thread `configPath` through framework config. diff --git a/.changeset/dependabot-update-13557.md b/.changeset/dependabot-update-13557.md deleted file mode 100644 index a804f0421f..0000000000 --- a/.changeset/dependabot-update-13557.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.20260415.1 | 1.20260416.2 | diff --git a/.changeset/dependabot-update-13579.md b/.changeset/dependabot-update-13579.md deleted file mode 100644 index 136e9ad3b8..0000000000 --- a/.changeset/dependabot-update-13579.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.20260416.2 | 1.20260417.1 | diff --git a/.changeset/dependabot-update-13603.md b/.changeset/dependabot-update-13603.md deleted file mode 100644 index 5fbfa72b3b..0000000000 --- a/.changeset/dependabot-update-13603.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.20260417.1 | 1.20260420.1 | diff --git a/.changeset/fix-esbuild-cleanup-race.md b/.changeset/fix-esbuild-cleanup-race.md deleted file mode 100644 index d21df06d2a..0000000000 --- a/.changeset/fix-esbuild-cleanup-race.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"wrangler": patch ---- - -fix: ensure esbuild context is disposed during teardown - -The esbuild bundler cleanup function could race with the initial build. If `BundlerController.teardown()` ran before the initial `build()` completed, the `stopWatching` closure variable would still be `undefined`, so the esbuild context was never disposed. This left the esbuild child process running, keeping the Node.js event loop alive and causing processes to hang instead of exiting cleanly. - -The cleanup function now awaits the build promise before calling `stopWatching`, ensuring the esbuild context is always properly disposed. diff --git a/.changeset/fix-explorer-kv-bulk-get-413.md b/.changeset/fix-explorer-kv-bulk-get-413.md deleted file mode 100644 index d7dfd5dafa..0000000000 --- a/.changeset/fix-explorer-kv-bulk-get-413.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@cloudflare/local-explorer-ui": patch ---- - -Fix local explorer KV bulk / get for large payloads. - -Fixes an issue where the local explorer UI would crash when fetching large KV payloads. - -Additionally, the local KV bulk get API endpoint now enforces a total 25MB payload limit, in alignment with the remote Cloudflare API. diff --git a/.changeset/fix-ipv6-localhost-spin.md b/.changeset/fix-ipv6-localhost-spin.md deleted file mode 100644 index 622e22240b..0000000000 --- a/.changeset/fix-ipv6-localhost-spin.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"miniflare": patch ---- - -fix(miniflare): use 127.0.0.1 for internal loopback when localhost is configured - -When `localhost` is configured as the host, Node.js may bind to `[::1]` (IPv6) while workerd resolves `localhost` to `127.0.0.1` (IPv4) first. This mismatch causes connection refused errors and 100% CPU spins. - -This fix ensures the internal loopback communication between Node.js and workerd always uses `127.0.0.1` when `localhost` is configured, while preserving the user-facing URL as `localhost`. diff --git a/.changeset/fix-remote-bindings-timeout.md b/.changeset/fix-remote-bindings-timeout.md deleted file mode 100644 index ae83a4a1ac..0000000000 --- a/.changeset/fix-remote-bindings-timeout.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"wrangler": patch -"miniflare": patch ---- - -fix: prevent remote binding sessions from expiring during long-running dev sessions - -Preview tokens for remote bindings expire after one hour. Previously, the first request after expiry would fail before a refresh was triggered. This change proactively refreshes the token at 50 minutes so no request ever sees an expired session. - -The reactive recovery path is also improved: `error code: 1031` responses (returned by bindings such as Workers AI when their session times out) now correctly trigger a refresh, where previously only `Invalid Workers Preview configuration` HTML responses did. - -Auth credentials are now resolved lazily when a remote proxy session starts rather than at bundle-complete time. This means that if your OAuth access token has been refreshed since `wrangler dev` started, the new token is used rather than the one captured at startup. diff --git a/.changeset/fix-workflow-introspector-dispose-ordering.md b/.changeset/fix-workflow-introspector-dispose-ordering.md deleted file mode 100644 index 731419aca8..0000000000 --- a/.changeset/fix-workflow-introspector-dispose-ordering.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/vitest-pool-workers": patch ---- - -fix: Restore workflow binding before async cleanup in `WorkflowIntrospectorHandle.dispose()` - -Previously, `dispose()` awaited all instance abort operations before restoring the original `env` binding. On slower CI environments (especially Windows), this left a window where the next test could see a stale proxy, causing "Trying to mock step multiple times" errors or failed introspection. The binding is now restored synchronously before the async instance cleanup begins. diff --git a/.changeset/local-explorer-ui-fix-occured-typo.md b/.changeset/local-explorer-ui-fix-occured-typo.md deleted file mode 100644 index fa68c06c7c..0000000000 --- a/.changeset/local-explorer-ui-fix-occured-typo.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@cloudflare/local-explorer-ui": patch ---- - -Fix `occured` -> `occurred` typo in the `ResourceError` fallback message rendered by the local explorer UI when a worker resource fails to load. diff --git a/.changeset/miniflare-dispose-cleanup-followup.md b/.changeset/miniflare-dispose-cleanup-followup.md deleted file mode 100644 index 8aa0fb974f..0000000000 --- a/.changeset/miniflare-dispose-cleanup-followup.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"miniflare": patch ---- - -Fix resource leaks during config updates - -Two follow-up fixes to the dispose cleanup in #13515: - -- Only close and recreate the dev-registry dispatcher when its port actually changes, matching the existing `runtimeDispatcher` behavior. Previously, every config update unconditionally tore down and rebuilt the connection pool, which could cause brief request failures if a registry push was in-flight. -- Dispose old `InspectorProxy` instances before replacing them during `updateConnection()`. Previously, stale proxies were silently discarded, leaking their runtime WebSocket connections and 10-second keepalive interval timers. diff --git a/.changeset/miniflare-send-email-result.md b/.changeset/miniflare-send-email-result.md deleted file mode 100644 index c6fc0ac0b7..0000000000 --- a/.changeset/miniflare-send-email-result.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"miniflare": patch ---- - -Return `EmailSendResult` from the `send_email` binding's `send()` in local mode - -The binding's `send()` used to resolve to `undefined`. It now returns `{ messageId: string }`, the same shape as the public `SendEmail` type in production. Workers that read the return value (for logging, or to pass the id downstream) no longer get `undefined` under miniflare. - -Both branches synthesize an id in the shape production returns — `<{36 alphanumeric chars}@{sender domain}>`, angle brackets included — using the envelope `from` for the `EmailMessage` path and the builder's `from` for the `MessageBuilder` path. Production synthesizes its own id rather than echoing anything submitted, so miniflare does the same. diff --git a/.changeset/nasty-years-taste.md b/.changeset/nasty-years-taste.md deleted file mode 100644 index d15c725d32..0000000000 --- a/.changeset/nasty-years-taste.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"wrangler": patch ---- - -Improve validation and error messaging for R2 CORS configuration files to catch AWS S3-style formatting mistake. diff --git a/.changeset/native-dev-registry-proxy.md b/.changeset/native-dev-registry-proxy.md deleted file mode 100644 index 8503664b2f..0000000000 --- a/.changeset/native-dev-registry-proxy.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"miniflare": minor -"wrangler": minor -"@cloudflare/vite-plugin": minor ---- - -Use `workerd`'s debug port to power cross-process service bindings, Durable Objects, and tail workers via the dev registry. This enables Durable Object RPC via the dev registry, and is an overall stability improvement. diff --git a/.changeset/poor-melons-smile.md b/.changeset/poor-melons-smile.md deleted file mode 100644 index e1de192ec8..0000000000 --- a/.changeset/poor-melons-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"wrangler": patch ---- - -fix: Pass `force` query parameter to API in `pages deployment delete` diff --git a/.changeset/r2-bucket-list-no-config.md b/.changeset/r2-bucket-list-no-config.md deleted file mode 100644 index a4b2db53c1..0000000000 --- a/.changeset/r2-bucket-list-no-config.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Allow `wrangler r2 bucket list` to run without a valid Wrangler config - -This is an account-level command and does not require parsing `wrangler.toml`/`wrangler.jsonc`. Previously, an invalid local config could prevent listing buckets, making it harder to fix the config. diff --git a/.changeset/rename-browser-run.md b/.changeset/rename-browser-run.md deleted file mode 100644 index 0b1e3a52aa..0000000000 --- a/.changeset/rename-browser-run.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch -"miniflare": patch -"@cloudflare/workers-utils": patch ---- - -Rename "Browser Rendering" to "Browser Run" in all user-facing strings, error messages, and CLI output. diff --git a/.changeset/rename-flags-to-flagship.md b/.changeset/rename-flags-to-flagship.md deleted file mode 100644 index 5a8b12f6f6..0000000000 --- a/.changeset/rename-flags-to-flagship.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"miniflare": patch ---- - -Rename `Flags` type to `Flagship` to match the upstream rename in `@cloudflare/workers-types` - -The `Flags` type was renamed to `Flagship` in `@cloudflare/workers-types`. This updates the import and the return type of `getFlagshipBinding` accordingly. diff --git a/.changeset/replace-glob-with-tinyglobby.md b/.changeset/replace-glob-with-tinyglobby.md deleted file mode 100644 index 9deae0ea5b..0000000000 --- a/.changeset/replace-glob-with-tinyglobby.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"create-cloudflare": patch -"@cloudflare/pages-shared": patch ---- - -Replace `glob` with `tinyglobby` in build tooling. Remove unused `glob` dependency from pages-shared. diff --git a/.changeset/spicy-shirts-pay.md b/.changeset/spicy-shirts-pay.md deleted file mode 100644 index f47a82bc27..0000000000 --- a/.changeset/spicy-shirts-pay.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"miniflare": patch ---- - -Removed unused devDependencies from miniflare package. diff --git a/.changeset/tricky-experts-fry.md b/.changeset/tricky-experts-fry.md deleted file mode 100644 index 63e48b8cb4..0000000000 --- a/.changeset/tricky-experts-fry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"wrangler": patch ---- - -Add D1 export prompt message for unavailability, use `--skip-confirmation` to not show the prompt. diff --git a/.changeset/update-am-i-vibing.md b/.changeset/update-am-i-vibing.md deleted file mode 100644 index 5670610d60..0000000000 --- a/.changeset/update-am-i-vibing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"wrangler": patch ---- - -Update am-i-vibing to v0.1.1 for improved agentic environment detection diff --git a/.changeset/vpw-log-level.md b/.changeset/vpw-log-level.md deleted file mode 100644 index 01b16cc215..0000000000 --- a/.changeset/vpw-log-level.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@cloudflare/vitest-pool-workers": patch ---- - -Reduce default log verbosity from `VERBOSE` to `INFO` - -The pool logger was previously hardcoded to `VERBOSE`, causing noisy debug messages on every test run (e.g. `[vpw:debug] Adding compatibility flag...`). Only informational, warning, and error messages are now printed by default. - -For debugging, set `NODE_DEBUG=vitest-pool-workers` to restore the detailed output. diff --git a/packages/containers-shared/CHANGELOG.md b/packages/containers-shared/CHANGELOG.md index d404655792..a91149484f 100644 --- a/packages/containers-shared/CHANGELOG.md +++ b/packages/containers-shared/CHANGELOG.md @@ -1,5 +1,11 @@ # @cloudflare/containers-shared +## 0.14.0 + +### Minor Changes + +- [#13571](https://github.com/cloudflare/workers-sdk/pull/13571) [`7dc0433`](https://github.com/cloudflare/workers-sdk/commit/7dc043315272df2479c17ad204c379515dcc83e8) Thanks [@must108](https://github.com/must108)! - Add regional and jurisdictional placement constraints for Containers. Users can now set `constraints.regions` and `constraints.jurisdiction` in wrangler config to control where containers run. + ## 0.13.1 ### Patch Changes diff --git a/packages/containers-shared/package.json b/packages/containers-shared/package.json index 3cb48145d0..5c68279217 100644 --- a/packages/containers-shared/package.json +++ b/packages/containers-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/containers-shared", - "version": "0.13.1", + "version": "0.14.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 270f93af11..7e24b03f71 100644 --- a/packages/create-cloudflare/CHANGELOG.md +++ b/packages/create-cloudflare/CHANGELOG.md @@ -1,5 +1,59 @@ # create-cloudflare +## 2.67.1 + +### Patch Changes + +- [#12714](https://github.com/cloudflare/workers-sdk/pull/12714) [`852fb79`](https://github.com/cloudflare/workers-sdk/commit/852fb79327ca525d8cbdc18ed2ffc1a28fad8a0a) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "create-cloudflare" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------------------- | ------ | ------- | + | @tanstack/create-start | 0.59.8 | 0.59.21 | + +- [#12804](https://github.com/cloudflare/workers-sdk/pull/12804) [`d090818`](https://github.com/cloudflare/workers-sdk/commit/d0908188ddcb909acc8034b2a2ae38e7e3b52c29) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "create-cloudflare" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------ | ------ | + | sv | 0.12.4 | 0.12.5 | + +- [#13360](https://github.com/cloudflare/workers-sdk/pull/13360) [`359706d`](https://github.com/cloudflare/workers-sdk/commit/359706d6a5c210de183100c94b20324eba684262) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "create-cloudflare" + + The following dependency versions have been updated: + + | Dependency | From | To | + | --------------- | ------ | ------ | + | create-next-app | 16.2.2 | 16.2.4 | + +- [#13593](https://github.com/cloudflare/workers-sdk/pull/13593) [`4ca7cc6`](https://github.com/cloudflare/workers-sdk/commit/4ca7cc6afb7a7cbf0e42580801654803b406b1e0) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "create-cloudflare" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ------------- | ----- | ----- | + | create-analog | 2.4.7 | 2.4.8 | + +- [#13594](https://github.com/cloudflare/workers-sdk/pull/13594) [`f406f0b`](https://github.com/cloudflare/workers-sdk/commit/f406f0b885f032e17a580a6e9fef0de01b0194be) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "create-cloudflare" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ------------------- | ------ | ------ | + | create-react-router | 7.14.0 | 7.14.1 | + +- [#13595](https://github.com/cloudflare/workers-sdk/pull/13595) [`aa1d317`](https://github.com/cloudflare/workers-sdk/commit/aa1d317e33e6cdb1693cff5490e19e93c433b515) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "create-cloudflare" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ----------- | ------- | ------- | + | create-vike | 0.0.616 | 0.0.622 | + +- [#12705](https://github.com/cloudflare/workers-sdk/pull/12705) [`7329b3f`](https://github.com/cloudflare/workers-sdk/commit/7329b3f1ba11d69ff242e0647d1de6f436b30082) Thanks [@roli-lpci](https://github.com/roli-lpci)! - Replace `glob` with `tinyglobby` in build tooling. Remove unused `glob` dependency from pages-shared. + ## 2.67.0 ### Minor Changes diff --git a/packages/create-cloudflare/package.json b/packages/create-cloudflare/package.json index 44ce65cb44..ef55561c4f 100644 --- a/packages/create-cloudflare/package.json +++ b/packages/create-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudflare", - "version": "2.67.0", + "version": "2.67.1", "description": "A CLI for creating and deploying new applications to Cloudflare.", "keywords": [ "cloudflare", diff --git a/packages/local-explorer-ui/CHANGELOG.md b/packages/local-explorer-ui/CHANGELOG.md index 79527bed17..8db848566e 100644 --- a/packages/local-explorer-ui/CHANGELOG.md +++ b/packages/local-explorer-ui/CHANGELOG.md @@ -1,5 +1,17 @@ # @cloudflare/local-explorer-ui +## 0.13.1 + +### Patch Changes + +- [#13466](https://github.com/cloudflare/workers-sdk/pull/13466) [`c4461ff`](https://github.com/cloudflare/workers-sdk/commit/c4461ff25ec9cb6266ad0da240bed8a755de7d08) Thanks [@NuroDev](https://github.com/NuroDev)! - Fix local explorer KV bulk / get for large payloads. + + Fixes an issue where the local explorer UI would crash when fetching large KV payloads. + + Additionally, the local KV bulk get API endpoint now enforces a total 25MB payload limit, in alignment with the remote Cloudflare API. + +- [#13543](https://github.com/cloudflare/workers-sdk/pull/13543) [`39a5f04`](https://github.com/cloudflare/workers-sdk/commit/39a5f04792f5e0ec12ff727fe9cb07e1f4516094) Thanks [@SAY-5](https://github.com/SAY-5)! - Fix `occured` -> `occurred` typo in the `ResourceError` fallback message rendered by the local explorer UI when a worker resource fails to load. + ## 0.13.0 ### Minor Changes diff --git a/packages/local-explorer-ui/package.json b/packages/local-explorer-ui/package.json index edac25b0f6..3779d18975 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.13.0", + "version": "0.13.1", "private": true, "type": "module", "scripts": { diff --git a/packages/miniflare/CHANGELOG.md b/packages/miniflare/CHANGELOG.md index fd914dddfe..2375c4719d 100644 --- a/packages/miniflare/CHANGELOG.md +++ b/packages/miniflare/CHANGELOG.md @@ -1,5 +1,102 @@ # miniflare +## 4.20260420.0 + +### Minor Changes + +- [#13326](https://github.com/cloudflare/workers-sdk/pull/13326) [`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7) Thanks [@mattzcarey](https://github.com/mattzcarey)! - Add Artifacts binding support to wrangler + + You can now configure Artifacts bindings in your wrangler configuration: + + ```jsonc + // wrangler.jsonc + { + "artifacts": [{ "binding": "MY_ARTIFACTS", "namespace": "default" }] + } + ``` + + Type generation produces the correct `Artifacts` type reference from the workerd type definitions: + + ```ts + interface Env { + MY_ARTIFACTS: Artifacts; + } + ``` + +- [#12600](https://github.com/cloudflare/workers-sdk/pull/12600) [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315) Thanks [@penalosa](https://github.com/penalosa)! - Use `workerd`'s debug port to power cross-process service bindings, Durable Objects, and tail workers via the dev registry. This enables Durable Object RPC via the dev registry, and is an overall stability improvement. + +### Patch Changes + +- [#13515](https://github.com/cloudflare/workers-sdk/pull/13515) [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - fix: close all open handles on dispose to prevent process hangs + + Several resources were not being properly cleaned up during `Miniflare.dispose()`, which could leave the Node.js event loop alive and cause processes (particularly tests using `node --test`) to hang instead of exiting cleanly: + + - The internal undici `Pool` used to dispatch fetch requests to the workerd runtime was not closed. Lingering TCP sockets from this pool could keep the event loop alive indefinitely. + - `WebSocketServer` instances for live reload and WebSocket proxying were never closed, leaving connected clients' sockets open. + - The `InspectorProxy` was not closing its runtime WebSocket connection, relying on process death to break the connection. + - `HyperdriveProxyController.dispose()` had a missing `return` in a `.map()` callback, causing `Promise.allSettled` to resolve immediately without waiting for `net.Server` instances to close. + - `ProxyClientBridge` was not clearing its finalization batch `setTimeout` during disposal. + - `InspectorProxyController.dispose()` was not calling `server.closeAllConnections()` before `server.close()`, so active HTTP keep-alive or WebSocket connections could prevent the close callback from firing. + +- [#13557](https://github.com/cloudflare/workers-sdk/pull/13557) [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260415.1 | 1.20260416.2 | + +- [#13579](https://github.com/cloudflare/workers-sdk/pull/13579) [`b6e1351`](https://github.com/cloudflare/workers-sdk/commit/b6e13513ffbb6012c8d9829906aaeb23172334df) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260416.2 | 1.20260417.1 | + +- [#13604](https://github.com/cloudflare/workers-sdk/pull/13604) [`d8314c6`](https://github.com/cloudflare/workers-sdk/commit/d8314c64ce25a1f3d8a2c13c3d0c286874ec5560) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260417.1 | 1.20260420.1 | + +- [#12913](https://github.com/cloudflare/workers-sdk/pull/12913) [`7f50300`](https://github.com/cloudflare/workers-sdk/commit/7f50300ad86c7f180ae3a8ff80ac83783b2416a7) Thanks [@Sigmabrogz](https://github.com/Sigmabrogz)! - fix(miniflare): use 127.0.0.1 for internal loopback when localhost is configured + + When `localhost` is configured as the host, Node.js may bind to `[::1]` (IPv6) while workerd resolves `localhost` to `127.0.0.1` (IPv4) first. This mismatch causes connection refused errors and 100% CPU spins. + + This fix ensures the internal loopback communication between Node.js and workerd always uses `127.0.0.1` when `localhost` is configured, while preserving the user-facing URL as `localhost`. + +- [#13470](https://github.com/cloudflare/workers-sdk/pull/13470) [`4fda685`](https://github.com/cloudflare/workers-sdk/commit/4fda685f8074c7cec3af927cae3faeb58c33c3cd) Thanks [@penalosa](https://github.com/penalosa)! - fix: prevent remote binding sessions from expiring during long-running dev sessions + + Preview tokens for remote bindings expire after one hour. Previously, the first request after expiry would fail before a refresh was triggered. This change proactively refreshes the token at 50 minutes so no request ever sees an expired session. + + The reactive recovery path is also improved: `error code: 1031` responses (returned by bindings such as Workers AI when their session times out) now correctly trigger a refresh, where previously only `Invalid Workers Preview configuration` HTML responses did. + + Auth credentials are now resolved lazily when a remote proxy session starts rather than at bundle-complete time. This means that if your OAuth access token has been refreshed since `wrangler dev` started, the new token is used rather than the one captured at startup. + +- [#13586](https://github.com/cloudflare/workers-sdk/pull/13586) [`be5e6a0`](https://github.com/cloudflare/workers-sdk/commit/be5e6a0c4421db36277736f8621346747f52f327) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - Fix resource leaks during config updates + + Two follow-up fixes to the dispose cleanup in #13515: + + - Only close and recreate the dev-registry dispatcher when its port actually changes, matching the existing `runtimeDispatcher` behavior. Previously, every config update unconditionally tore down and rebuilt the connection pool, which could cause brief request failures if a registry push was in-flight. + - Dispose old `InspectorProxy` instances before replacing them during `updateConnection()`. Previously, stale proxies were silently discarded, leaking their runtime WebSocket connections and 10-second keepalive interval timers. + +- [#13577](https://github.com/cloudflare/workers-sdk/pull/13577) [`e456952`](https://github.com/cloudflare/workers-sdk/commit/e456952b46fccdb010730dbd91be332ee92f1e3d) Thanks [@connyay](https://github.com/connyay)! - Return `EmailSendResult` from the `send_email` binding's `send()` in local mode + + The binding's `send()` used to resolve to `undefined`. It now returns `{ messageId: string }`, the same shape as the public `SendEmail` type in production. Workers that read the return value (for logging, or to pass the id downstream) no longer get `undefined` under miniflare. + + Both branches synthesize an id in the shape production returns — `<{36 alphanumeric chars}@{sender domain}>`, angle brackets included — using the envelope `from` for the `EmailMessage` path and the builder's `from` for the `MessageBuilder` path. Production synthesizes its own id rather than echoing anything submitted, so miniflare does the same. + +- [#13516](https://github.com/cloudflare/workers-sdk/pull/13516) [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84) Thanks [@jonnyparris](https://github.com/jonnyparris)! - Rename "Browser Rendering" to "Browser Run" in all user-facing strings, error messages, and CLI output. + +- [#13557](https://github.com/cloudflare/workers-sdk/pull/13557) [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc) Thanks [@dependabot](https://github.com/apps/dependabot)! - Rename `Flags` type to `Flagship` to match the upstream rename in `@cloudflare/workers-types` + + The `Flags` type was renamed to `Flagship` in `@cloudflare/workers-types`. This updates the import and the return type of `getFlagshipBinding` accordingly. + +- [#11849](https://github.com/cloudflare/workers-sdk/pull/11849) [`266c418`](https://github.com/cloudflare/workers-sdk/commit/266c418138f4ab53ea662fa45d3e66d38fdf0d52) Thanks [@43081j](https://github.com/43081j)! - Removed unused devDependencies from miniflare package. + ## 4.20260415.0 ### Patch Changes diff --git a/packages/miniflare/package.json b/packages/miniflare/package.json index e14d4f9802..7872263dfb 100644 --- a/packages/miniflare/package.json +++ b/packages/miniflare/package.json @@ -1,6 +1,6 @@ { "name": "miniflare", - "version": "4.20260415.0", + "version": "4.20260420.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 6460ecee5f..fd76e444ea 100644 --- a/packages/pages-shared/CHANGELOG.md +++ b/packages/pages-shared/CHANGELOG.md @@ -1,5 +1,14 @@ # @cloudflare/pages-shared +## 0.13.126 + +### Patch Changes + +- [#12705](https://github.com/cloudflare/workers-sdk/pull/12705) [`7329b3f`](https://github.com/cloudflare/workers-sdk/commit/7329b3f1ba11d69ff242e0647d1de6f436b30082) Thanks [@roli-lpci](https://github.com/roli-lpci)! - Replace `glob` with `tinyglobby` in build tooling. Remove unused `glob` dependency from pages-shared. + +- Updated dependencies [[`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7), [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`b6e1351`](https://github.com/cloudflare/workers-sdk/commit/b6e13513ffbb6012c8d9829906aaeb23172334df), [`d8314c6`](https://github.com/cloudflare/workers-sdk/commit/d8314c64ce25a1f3d8a2c13c3d0c286874ec5560), [`7f50300`](https://github.com/cloudflare/workers-sdk/commit/7f50300ad86c7f180ae3a8ff80ac83783b2416a7), [`4fda685`](https://github.com/cloudflare/workers-sdk/commit/4fda685f8074c7cec3af927cae3faeb58c33c3cd), [`be5e6a0`](https://github.com/cloudflare/workers-sdk/commit/be5e6a0c4421db36277736f8621346747f52f327), [`e456952`](https://github.com/cloudflare/workers-sdk/commit/e456952b46fccdb010730dbd91be332ee92f1e3d), [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315), [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`266c418`](https://github.com/cloudflare/workers-sdk/commit/266c418138f4ab53ea662fa45d3e66d38fdf0d52)]: + - miniflare@4.20260420.0 + ## 0.13.125 ### Patch Changes diff --git a/packages/pages-shared/package.json b/packages/pages-shared/package.json index 4f82731d5f..305dea3760 100644 --- a/packages/pages-shared/package.json +++ b/packages/pages-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/pages-shared", - "version": "0.13.125", + "version": "0.13.126", "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 e664e5298a..8f4bddc194 100644 --- a/packages/vite-plugin-cloudflare/CHANGELOG.md +++ b/packages/vite-plugin-cloudflare/CHANGELOG.md @@ -1,5 +1,21 @@ # @cloudflare/vite-plugin +## 1.33.0 + +### Minor Changes + +- [#12600](https://github.com/cloudflare/workers-sdk/pull/12600) [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315) Thanks [@penalosa](https://github.com/penalosa)! - Use `workerd`'s debug port to power cross-process service bindings, Durable Objects, and tail workers via the dev registry. This enables Durable Object RPC via the dev registry, and is an overall stability improvement. + +### Patch Changes + +- [#13587](https://github.com/cloudflare/workers-sdk/pull/13587) [`fdb32ca`](https://github.com/cloudflare/workers-sdk/commit/fdb32ca32c8e93b8e3184c65ef5e1a10f0601ce1) Thanks [@vimtor](https://github.com/vimtor)! - Allow internal Wrangler config path overrides via env + + `@cloudflare/vite-plugin` now checks `CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH` when `configPath` is not set explicitly. This lets integrators provide generated Wrangler configs outside the project root without requiring users to thread `configPath` through framework config. + +- Updated dependencies [[`05f4443`](https://github.com/cloudflare/workers-sdk/commit/05f4443aa581d3f9095e2b1479672557d27e0603), [`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7), [`d8c895a`](https://github.com/cloudflare/workers-sdk/commit/d8c895a9e97af52a25721cc08e9c5445986e0845), [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e), [`7dc0433`](https://github.com/cloudflare/workers-sdk/commit/7dc043315272df2479c17ad204c379515dcc83e8), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`b6e1351`](https://github.com/cloudflare/workers-sdk/commit/b6e13513ffbb6012c8d9829906aaeb23172334df), [`d8314c6`](https://github.com/cloudflare/workers-sdk/commit/d8314c64ce25a1f3d8a2c13c3d0c286874ec5560), [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e), [`7f50300`](https://github.com/cloudflare/workers-sdk/commit/7f50300ad86c7f180ae3a8ff80ac83783b2416a7), [`4fda685`](https://github.com/cloudflare/workers-sdk/commit/4fda685f8074c7cec3af927cae3faeb58c33c3cd), [`be5e6a0`](https://github.com/cloudflare/workers-sdk/commit/be5e6a0c4421db36277736f8621346747f52f327), [`e456952`](https://github.com/cloudflare/workers-sdk/commit/e456952b46fccdb010730dbd91be332ee92f1e3d), [`59eec63`](https://github.com/cloudflare/workers-sdk/commit/59eec634e4611392a5eb273079d73bf6417cd8bc), [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315), [`cc1413a`](https://github.com/cloudflare/workers-sdk/commit/cc1413ae661e688e93406c3e252737f07d1e8cce), [`d0a9d1c`](https://github.com/cloudflare/workers-sdk/commit/d0a9d1c8d2123bd2ca49a963d11c7d2417b97de2), [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`266c418`](https://github.com/cloudflare/workers-sdk/commit/266c418138f4ab53ea662fa45d3e66d38fdf0d52), [`6d887db`](https://github.com/cloudflare/workers-sdk/commit/6d887db1133595a5eae88cc95dac0935113d8674), [`5716d69`](https://github.com/cloudflare/workers-sdk/commit/5716d69b7988c111f3151d9fadbc6c717b6bb8c1)]: + - wrangler@4.84.0 + - miniflare@4.20260420.0 + ## 1.32.3 ### Patch Changes diff --git a/packages/vite-plugin-cloudflare/package.json b/packages/vite-plugin-cloudflare/package.json index bf6d4251a0..46ddb610da 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.32.3", + "version": "1.33.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 e6ffeaa134..5d39f5b0a3 100644 --- a/packages/vitest-pool-workers/CHANGELOG.md +++ b/packages/vitest-pool-workers/CHANGELOG.md @@ -1,5 +1,27 @@ # @cloudflare/vitest-pool-workers +## 0.14.8 + +### Patch Changes + +- [#13548](https://github.com/cloudflare/workers-sdk/pull/13548) [`1aee990`](https://github.com/cloudflare/workers-sdk/commit/1aee99059d6025c7ea8ef88b3ea421922eee6354) Thanks [@emily-shen](https://github.com/emily-shen)! - Update warning message when attempting to access exports not defined on the main worker + + Previously this referred to the `SELF` worker, which is now a deprecated API in the Vitest integration. + +- [#13607](https://github.com/cloudflare/workers-sdk/pull/13607) [`d5d0446`](https://github.com/cloudflare/workers-sdk/commit/d5d0446ecc30b75b6fabd1e5c7c3d8d4eca4146d) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - fix: Restore workflow binding before async cleanup in `WorkflowIntrospectorHandle.dispose()` + + Previously, `dispose()` awaited all instance abort operations before restoring the original `env` binding. On slower CI environments (especially Windows), this left a window where the next test could see a stale proxy, causing "Trying to mock step multiple times" errors or failed introspection. The binding is now restored synchronously before the async instance cleanup begins. + +- [#13007](https://github.com/cloudflare/workers-sdk/pull/13007) [`2c3258d`](https://github.com/cloudflare/workers-sdk/commit/2c3258d5a4720b8b07f99f79c7dd17013f92ca44) Thanks [@sheplu](https://github.com/sheplu)! - Reduce default log verbosity from `VERBOSE` to `INFO` + + The pool logger was previously hardcoded to `VERBOSE`, causing noisy debug messages on every test run (e.g. `[vpw:debug] Adding compatibility flag...`). Only informational, warning, and error messages are now printed by default. + + For debugging, set `NODE_DEBUG=vitest-pool-workers` to restore the detailed output. + +- Updated dependencies [[`05f4443`](https://github.com/cloudflare/workers-sdk/commit/05f4443aa581d3f9095e2b1479672557d27e0603), [`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7), [`d8c895a`](https://github.com/cloudflare/workers-sdk/commit/d8c895a9e97af52a25721cc08e9c5445986e0845), [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e), [`7dc0433`](https://github.com/cloudflare/workers-sdk/commit/7dc043315272df2479c17ad204c379515dcc83e8), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`b6e1351`](https://github.com/cloudflare/workers-sdk/commit/b6e13513ffbb6012c8d9829906aaeb23172334df), [`d8314c6`](https://github.com/cloudflare/workers-sdk/commit/d8314c64ce25a1f3d8a2c13c3d0c286874ec5560), [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e), [`7f50300`](https://github.com/cloudflare/workers-sdk/commit/7f50300ad86c7f180ae3a8ff80ac83783b2416a7), [`4fda685`](https://github.com/cloudflare/workers-sdk/commit/4fda685f8074c7cec3af927cae3faeb58c33c3cd), [`be5e6a0`](https://github.com/cloudflare/workers-sdk/commit/be5e6a0c4421db36277736f8621346747f52f327), [`e456952`](https://github.com/cloudflare/workers-sdk/commit/e456952b46fccdb010730dbd91be332ee92f1e3d), [`59eec63`](https://github.com/cloudflare/workers-sdk/commit/59eec634e4611392a5eb273079d73bf6417cd8bc), [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315), [`cc1413a`](https://github.com/cloudflare/workers-sdk/commit/cc1413ae661e688e93406c3e252737f07d1e8cce), [`d0a9d1c`](https://github.com/cloudflare/workers-sdk/commit/d0a9d1c8d2123bd2ca49a963d11c7d2417b97de2), [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`266c418`](https://github.com/cloudflare/workers-sdk/commit/266c418138f4ab53ea662fa45d3e66d38fdf0d52), [`6d887db`](https://github.com/cloudflare/workers-sdk/commit/6d887db1133595a5eae88cc95dac0935113d8674), [`5716d69`](https://github.com/cloudflare/workers-sdk/commit/5716d69b7988c111f3151d9fadbc6c717b6bb8c1)]: + - wrangler@4.84.0 + - miniflare@4.20260420.0 + ## 0.14.7 ### Patch Changes diff --git a/packages/vitest-pool-workers/package.json b/packages/vitest-pool-workers/package.json index 21680513fc..1d56639de3 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.14.7", + "version": "0.14.8", "description": "Workers Vitest integration for writing Vitest unit and integration tests that run inside the Workers runtime", "keywords": [ "cloudflare", diff --git a/packages/workers-utils/CHANGELOG.md b/packages/workers-utils/CHANGELOG.md index 0992fceece..32f8105402 100644 --- a/packages/workers-utils/CHANGELOG.md +++ b/packages/workers-utils/CHANGELOG.md @@ -1,5 +1,34 @@ # @cloudflare/workers-utils +## 0.17.0 + +### Minor Changes + +- [#13326](https://github.com/cloudflare/workers-sdk/pull/13326) [`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7) Thanks [@mattzcarey](https://github.com/mattzcarey)! - Add Artifacts binding support to wrangler + + You can now configure Artifacts bindings in your wrangler configuration: + + ```jsonc + // wrangler.jsonc + { + "artifacts": [{ "binding": "MY_ARTIFACTS", "namespace": "default" }] + } + ``` + + Type generation produces the correct `Artifacts` type reference from the workerd type definitions: + + ```ts + interface Env { + MY_ARTIFACTS: Artifacts; + } + ``` + +- [#13571](https://github.com/cloudflare/workers-sdk/pull/13571) [`7dc0433`](https://github.com/cloudflare/workers-sdk/commit/7dc043315272df2479c17ad204c379515dcc83e8) Thanks [@must108](https://github.com/must108)! - Add regional and jurisdictional placement constraints for Containers. Users can now set `constraints.regions` and `constraints.jurisdiction` in wrangler config to control where containers run. + +### Patch Changes + +- [#13516](https://github.com/cloudflare/workers-sdk/pull/13516) [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84) Thanks [@jonnyparris](https://github.com/jonnyparris)! - Rename "Browser Rendering" to "Browser Run" in all user-facing strings, error messages, and CLI output. + ## 0.16.1 ### Patch Changes diff --git a/packages/workers-utils/package.json b/packages/workers-utils/package.json index 5b7c764fee..24b6874c1d 100644 --- a/packages/workers-utils/package.json +++ b/packages/workers-utils/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/workers-utils", - "version": "0.16.1", + "version": "0.17.0", "private": true, "description": "Utility package for common Worker operations", "homepage": "https://github.com/cloudflare/workers-sdk#readme", diff --git a/packages/wrangler/CHANGELOG.md b/packages/wrangler/CHANGELOG.md index 6cb08a689a..bdccb7fc2a 100644 --- a/packages/wrangler/CHANGELOG.md +++ b/packages/wrangler/CHANGELOG.md @@ -1,5 +1,97 @@ # wrangler +## 4.84.0 + +### Minor Changes + +- [#13326](https://github.com/cloudflare/workers-sdk/pull/13326) [`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7) Thanks [@mattzcarey](https://github.com/mattzcarey)! - Add Artifacts binding support to wrangler + + You can now configure Artifacts bindings in your wrangler configuration: + + ```jsonc + // wrangler.jsonc + { + "artifacts": [{ "binding": "MY_ARTIFACTS", "namespace": "default" }] + } + ``` + + Type generation produces the correct `Artifacts` type reference from the workerd type definitions: + + ```ts + interface Env { + MY_ARTIFACTS: Artifacts; + } + ``` + +- [#13567](https://github.com/cloudflare/workers-sdk/pull/13567) [`d8c895a`](https://github.com/cloudflare/workers-sdk/commit/d8c895a9e97af52a25721cc08e9c5445986e0845) Thanks [@gpanders](https://github.com/gpanders)! - Rename the documented containers SSH config option to `ssh` + + Wrangler now accepts and documents `containers.ssh` in config files while continuing to accept `containers.wrangler_ssh` as an undocumented backwards-compatible alias. Wrangler still sends and reads `wrangler_ssh` when talking to the containers API. + +- [#13571](https://github.com/cloudflare/workers-sdk/pull/13571) [`7dc0433`](https://github.com/cloudflare/workers-sdk/commit/7dc043315272df2479c17ad204c379515dcc83e8) Thanks [@must108](https://github.com/must108)! - Add regional and jurisdictional placement constraints for Containers. Users can now set `constraints.regions` and `constraints.jurisdiction` in wrangler config to control where containers run. + +- [#12600](https://github.com/cloudflare/workers-sdk/pull/12600) [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315) Thanks [@penalosa](https://github.com/penalosa)! - Use `workerd`'s debug port to power cross-process service bindings, Durable Objects, and tail workers via the dev registry. This enables Durable Object RPC via the dev registry, and is an overall stability improvement. + +### Patch Changes + +- [#13160](https://github.com/cloudflare/workers-sdk/pull/13160) [`05f4443`](https://github.com/cloudflare/workers-sdk/commit/05f4443aa581d3f9095e2b1479672557d27e0603) Thanks [@JoaquinGimenez1](https://github.com/JoaquinGimenez1)! - Log a helpful error message when AI binding requests fail with a 403 authentication error + + Previously, when the AI proxy token expired during a long session, users received an unhelpful 403 error. Now, wrangler detects error code 1031 and suggests running `wrangler login` to refresh the token. + +- [#13557](https://github.com/cloudflare/workers-sdk/pull/13557) [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260415.1 | 1.20260416.2 | + +- [#13579](https://github.com/cloudflare/workers-sdk/pull/13579) [`b6e1351`](https://github.com/cloudflare/workers-sdk/commit/b6e13513ffbb6012c8d9829906aaeb23172334df) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260416.2 | 1.20260417.1 | + +- [#13604](https://github.com/cloudflare/workers-sdk/pull/13604) [`d8314c6`](https://github.com/cloudflare/workers-sdk/commit/d8314c64ce25a1f3d8a2c13c3d0c286874ec5560) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ---------- | ------------ | ------------ | + | workerd | 1.20260417.1 | 1.20260420.1 | + +- [#13515](https://github.com/cloudflare/workers-sdk/pull/13515) [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e) Thanks [@petebacondarwin](https://github.com/petebacondarwin)! - fix: ensure esbuild context is disposed during teardown + + The esbuild bundler cleanup function could race with the initial build. If `BundlerController.teardown()` ran before the initial `build()` completed, the `stopWatching` closure variable would still be `undefined`, so the esbuild context was never disposed. This left the esbuild child process running, keeping the Node.js event loop alive and causing processes to hang instead of exiting cleanly. + + The cleanup function now awaits the build promise before calling `stopWatching`, ensuring the esbuild context is always properly disposed. + +- [#13470](https://github.com/cloudflare/workers-sdk/pull/13470) [`4fda685`](https://github.com/cloudflare/workers-sdk/commit/4fda685f8074c7cec3af927cae3faeb58c33c3cd) Thanks [@penalosa](https://github.com/penalosa)! - fix: prevent remote binding sessions from expiring during long-running dev sessions + + Preview tokens for remote bindings expire after one hour. Previously, the first request after expiry would fail before a refresh was triggered. This change proactively refreshes the token at 50 minutes so no request ever sees an expired session. + + The reactive recovery path is also improved: `error code: 1031` responses (returned by bindings such as Workers AI when their session times out) now correctly trigger a refresh, where previously only `Invalid Workers Preview configuration` HTML responses did. + + Auth credentials are now resolved lazily when a remote proxy session starts rather than at bundle-complete time. This means that if your OAuth access token has been refreshed since `wrangler dev` started, the new token is used rather than the one captured at startup. + +- [#12456](https://github.com/cloudflare/workers-sdk/pull/12456) [`59eec63`](https://github.com/cloudflare/workers-sdk/commit/59eec634e4611392a5eb273079d73bf6417cd8bc) Thanks [@venkatnikhilm](https://github.com/venkatnikhilm)! - Improve validation and error messaging for R2 CORS configuration files to catch AWS S3-style formatting mistake. + +- [#13444](https://github.com/cloudflare/workers-sdk/pull/13444) [`cc1413a`](https://github.com/cloudflare/workers-sdk/commit/cc1413ae661e688e93406c3e252737f07d1e8cce) Thanks [@naile](https://github.com/naile)! - fix: Pass `force` query parameter to API in `pages deployment delete` + +- [#11918](https://github.com/cloudflare/workers-sdk/pull/11918) [`d0a9d1c`](https://github.com/cloudflare/workers-sdk/commit/d0a9d1c8d2123bd2ca49a963d11c7d2417b97de2) Thanks [@ksawaneh](https://github.com/ksawaneh)! - Allow `wrangler r2 bucket list` to run without a valid Wrangler config + + This is an account-level command and does not require parsing `wrangler.toml`/`wrangler.jsonc`. Previously, an invalid local config could prevent listing buckets, making it harder to fix the config. + +- [#13516](https://github.com/cloudflare/workers-sdk/pull/13516) [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84) Thanks [@jonnyparris](https://github.com/jonnyparris)! - Rename "Browser Rendering" to "Browser Run" in all user-facing strings, error messages, and CLI output. + +- [#13575](https://github.com/cloudflare/workers-sdk/pull/13575) [`6d887db`](https://github.com/cloudflare/workers-sdk/commit/6d887db1133595a5eae88cc95dac0935113d8674) Thanks [@lambrospetrou](https://github.com/lambrospetrou)! - Add D1 export prompt message for unavailability, use `--skip-confirmation` to not show the prompt. + +- [#13473](https://github.com/cloudflare/workers-sdk/pull/13473) [`5716d69`](https://github.com/cloudflare/workers-sdk/commit/5716d69b7988c111f3151d9fadbc6c717b6bb8c1) Thanks [@MattieTK](https://github.com/MattieTK)! - Update am-i-vibing to v0.1.1 for improved agentic environment detection + +- Updated dependencies [[`4a9ba90`](https://github.com/cloudflare/workers-sdk/commit/4a9ba90b3f64e94da90343f2694d42f78777e4b7), [`b35617b`](https://github.com/cloudflare/workers-sdk/commit/b35617b32456b742f716e2b2b0fa04839dd19a9e), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`b6e1351`](https://github.com/cloudflare/workers-sdk/commit/b6e13513ffbb6012c8d9829906aaeb23172334df), [`d8314c6`](https://github.com/cloudflare/workers-sdk/commit/d8314c64ce25a1f3d8a2c13c3d0c286874ec5560), [`7f50300`](https://github.com/cloudflare/workers-sdk/commit/7f50300ad86c7f180ae3a8ff80ac83783b2416a7), [`4fda685`](https://github.com/cloudflare/workers-sdk/commit/4fda685f8074c7cec3af927cae3faeb58c33c3cd), [`be5e6a0`](https://github.com/cloudflare/workers-sdk/commit/be5e6a0c4421db36277736f8621346747f52f327), [`e456952`](https://github.com/cloudflare/workers-sdk/commit/e456952b46fccdb010730dbd91be332ee92f1e3d), [`50bf819`](https://github.com/cloudflare/workers-sdk/commit/50bf819ba8cc7731e9a45c277d0aea7434d8f315), [`4eb1da9`](https://github.com/cloudflare/workers-sdk/commit/4eb1da9b24247a10a031ecced2cc829243024f84), [`8ca78bb`](https://github.com/cloudflare/workers-sdk/commit/8ca78bba8b8079e80bee07259a455b57b70a68fc), [`266c418`](https://github.com/cloudflare/workers-sdk/commit/266c418138f4ab53ea662fa45d3e66d38fdf0d52)]: + - miniflare@4.20260420.0 + ## 4.83.0 ### Minor Changes diff --git a/packages/wrangler/package.json b/packages/wrangler/package.json index b9756e62da..126f2cf46c 100644 --- a/packages/wrangler/package.json +++ b/packages/wrangler/package.json @@ -1,6 +1,6 @@ { "name": "wrangler", - "version": "4.83.0", + "version": "4.84.0", "description": "Command-line interface for all things Cloudflare Workers", "keywords": [ "assembly",