From 5e4ffad3bc33f02caf9a9fc17e0229f4eca73002 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 24 Sep 2026 19:03:17 +0000 Subject: [PATCH] Version Packages --- .changeset/cron-triggers-local-explorer-ui.md | 7 -- .changeset/cron-triggers-miniflare-api.md | 7 -- .changeset/cron-triggers-miniflare-assets.md | 7 -- .changeset/dependabot-update-15796.md | 13 --- .changeset/durable-object-container-ssh.md | 27 ------- .changeset/fix-workflows-duplicate-ids.md | 8 -- .changeset/fresh-crons-explore.md | 7 -- .changeset/quiet-clocks-trigger.md | 7 -- .changeset/quiet-otters-prerender.md | 7 -- .changeset/quiet-ravens-help.md | 7 -- .changeset/smol-toml-1-9.md | 12 --- .changeset/tasty-stingrays-connect.md | 10 --- .changeset/workflow-exports-config.md | 26 ------ packages/autoconfig/CHANGELOG.md | 9 +++ packages/autoconfig/package.json | 2 +- packages/build-output-utils/CHANGELOG.md | 13 +++ packages/build-output-utils/package.json | 2 +- packages/cli/CHANGELOG.md | 7 ++ packages/cli/package.json | 2 +- packages/config/CHANGELOG.md | 27 +++++++ packages/config/package.json | 2 +- packages/containers-shared/CHANGELOG.md | 33 ++++++++ packages/containers-shared/package.json | 2 +- packages/create-cloudflare/CHANGELOG.md | 10 +++ packages/create-cloudflare/package.json | 2 +- packages/deploy-helpers/CHANGELOG.md | 53 ++++++++++++ packages/deploy-helpers/package.json | 2 +- packages/local-explorer-ui/CHANGELOG.md | 8 ++ packages/local-explorer-ui/package.json | 2 +- packages/miniflare/CHANGELOG.md | 50 ++++++++++++ packages/miniflare/package.json | 2 +- packages/pages-shared/CHANGELOG.md | 7 ++ packages/pages-shared/package.json | 2 +- packages/remote-bindings/CHANGELOG.md | 11 +++ packages/remote-bindings/package.json | 2 +- packages/runtime-types/CHANGELOG.md | 7 ++ packages/runtime-types/package.json | 2 +- packages/vite-plugin-cloudflare/CHANGELOG.md | 14 ++++ packages/vite-plugin-cloudflare/package.json | 2 +- packages/vitest-plugin/CHANGELOG.md | 8 ++ packages/vitest-plugin/package.json | 2 +- packages/workers-auth/CHANGELOG.md | 13 +++ packages/workers-auth/package.json | 2 +- packages/workers-utils/CHANGELOG.md | 56 +++++++++++++ packages/workers-utils/package.json | 2 +- packages/wrangler/CHANGELOG.md | 80 +++++++++++++++++++ packages/wrangler/package.json | 2 +- 47 files changed, 423 insertions(+), 162 deletions(-) delete mode 100644 .changeset/cron-triggers-local-explorer-ui.md delete mode 100644 .changeset/cron-triggers-miniflare-api.md delete mode 100644 .changeset/cron-triggers-miniflare-assets.md delete mode 100644 .changeset/dependabot-update-15796.md delete mode 100644 .changeset/durable-object-container-ssh.md delete mode 100644 .changeset/fix-workflows-duplicate-ids.md delete mode 100644 .changeset/fresh-crons-explore.md delete mode 100644 .changeset/quiet-clocks-trigger.md delete mode 100644 .changeset/quiet-otters-prerender.md delete mode 100644 .changeset/quiet-ravens-help.md delete mode 100644 .changeset/smol-toml-1-9.md delete mode 100644 .changeset/tasty-stingrays-connect.md delete mode 100644 .changeset/workflow-exports-config.md diff --git a/.changeset/cron-triggers-local-explorer-ui.md b/.changeset/cron-triggers-local-explorer-ui.md deleted file mode 100644 index e702b033ca..0000000000 --- a/.changeset/cron-triggers-local-explorer-ui.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/local-explorer-ui": minor ---- - -Add one-off Cron Trigger testing to Local Explorer - -Developers can invoke a Worker's configured or custom Cron Trigger with an exact or guided expression, choose a UTC or epoch-millisecond scheduled time, and inspect the latest structured result without editing configuration. diff --git a/.changeset/cron-triggers-miniflare-api.md b/.changeset/cron-triggers-miniflare-api.md deleted file mode 100644 index 764c13a096..0000000000 --- a/.changeset/cron-triggers-miniflare-api.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"miniflare": minor ---- - -Expose configured Cron Triggers and one-off scheduled dispatch through Local Explorer - -Miniflare's V4 Worker options now accept exact Cron Trigger expressions. Local Explorer reports them in Worker metadata and can dispatch a scheduled event to an exact local or peer Worker name with a chosen cron expression and time. diff --git a/.changeset/cron-triggers-miniflare-assets.md b/.changeset/cron-triggers-miniflare-assets.md deleted file mode 100644 index 23fa1ad9f6..0000000000 --- a/.changeset/cron-triggers-miniflare-assets.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"miniflare": minor ---- - -Package the Cron Triggers interface in Local Explorer - -The Local Explorer assets now include an interactive Cron Triggers destination for one-off local scheduled-handler testing. diff --git a/.changeset/dependabot-update-15796.md b/.changeset/dependabot-update-15796.md deleted file mode 100644 index eb3d06c591..0000000000 --- a/.changeset/dependabot-update-15796.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"miniflare": patch -"wrangler": patch ---- - -Update dependencies of "miniflare", "wrangler" - -The following dependency versions have been updated: - -| Dependency | From | To | -| ------------------------- | ------------- | ------------- | -| @cloudflare/workers-types | ^5.20260921.1 | ^5.20260923.1 | -| workerd | 1.20260921.1 | 1.20260923.1 | diff --git a/.changeset/durable-object-container-ssh.md b/.changeset/durable-object-container-ssh.md deleted file mode 100644 index e6bc34cfe3..0000000000 --- a/.changeset/durable-object-container-ssh.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -"wrangler": minor -"@cloudflare/workers-utils": minor -"@cloudflare/deploy-helpers": minor -"@cloudflare/containers-shared": minor ---- - -Configure SSH for experimental Durable Object-managed Containers - -Set `containers[].ssh` and `containers[].authorized_keys` when using `scheduling_policy: "durable_object"`. These are application-wide settings that follow the same rules as the existing Durable Object-managed Container settings: normal deployments create missing applications and update explicitly configured values, while omitted settings preserve the existing application configuration. - -```jsonc -// wrangler.jsonc -{ - "containers": [ - { - "name": "sandbox", - "class_name": "Sandbox", - "scheduling_policy": "durable_object", - "ssh": { "enabled": true }, - "authorized_keys": [ - { "name": "laptop", "public_key": "ssh-ed25519 AAAA..." }, - ], - }, - ], -} -``` diff --git a/.changeset/fix-workflows-duplicate-ids.md b/.changeset/fix-workflows-duplicate-ids.md deleted file mode 100644 index ec81e73521..0000000000 --- a/.changeset/fix-workflows-duplicate-ids.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"miniflare": patch -"wrangler": patch ---- - -Emulate the deterministic-ID uniqueness contract in the local Workflows binding - -The local Workflows binding now matches the documented production behavior for deterministic instance IDs: `create({ id })` with an ID that already exists throws `(instance.already_exists)` and retains the existing instance, and `createBatch()` skips IDs that already exist or repeat within the batch, excluding them from the result instead of creating duplicate executions. Previously both paths silently created duplicates, so code relying on deterministic IDs for idempotency (for example a Queue consumer creating one workflow per message) appeared to work locally while double-executing workflow bodies. diff --git a/.changeset/fresh-crons-explore.md b/.changeset/fresh-crons-explore.md deleted file mode 100644 index 3870f78821..0000000000 --- a/.changeset/fresh-crons-explore.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": minor ---- - -Expose configured Cron Triggers to local development consumers - -Wrangler now passes the active environment's exact Cron Trigger expressions to Miniflare so Local Explorer can display them. Headless agent sessions also advertise the Local Explorer scheduled invocation API. diff --git a/.changeset/quiet-clocks-trigger.md b/.changeset/quiet-clocks-trigger.md deleted file mode 100644 index 129edefe07..0000000000 --- a/.changeset/quiet-clocks-trigger.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/vite-plugin": minor ---- - -Advertise Local Explorer scheduled invocations to headless agents - -The Vite plugin's Local Explorer hint now documents how to invoke a Worker's scheduled handler and points agents to the OpenAPI schema for the complete request contract. diff --git a/.changeset/quiet-otters-prerender.md b/.changeset/quiet-otters-prerender.md deleted file mode 100644 index 824b517898..0000000000 --- a/.changeset/quiet-otters-prerender.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@cloudflare/build-output-utils": minor ---- - -Allow frameworks to remove Worker bundles after prerendering - -Build Output readers now ignore stale manifests when only static assets remain and omit non-default Workers that have neither a bundle nor assets. A default Worker must still contain deployable output. diff --git a/.changeset/quiet-ravens-help.md b/.changeset/quiet-ravens-help.md deleted file mode 100644 index e356435079..0000000000 --- a/.changeset/quiet-ravens-help.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"wrangler": patch ---- - -Show `--jurisdiction` in help for `wrangler kv namespace create` - -The option was supported but omitted from the command's help output. Users can now discover how to create KV namespaces in a specific jurisdiction. diff --git a/.changeset/smol-toml-1-9.md b/.changeset/smol-toml-1-9.md deleted file mode 100644 index d59737a3b1..0000000000 --- a/.changeset/smol-toml-1-9.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"wrangler": patch -"create-cloudflare": patch -"@cloudflare/workers-utils": patch -"@cloudflare/workers-auth": patch ---- - -Update `smol-toml` to 1.9.0 to fix slow parsing of very large TOML files - -Parse time for TOML config files now grows linearly with their size, instead of with its square: a 40,000-line file that took 259 ms to parse now takes 17 ms, while typical `wrangler.toml` files parse in the same time as before. This addresses the `GHSA-r4xh-jqrq-34v2` advisory against earlier versions of the parser. - -Some TOML syntax errors now point at the character that caused them. For example, a `wrangler.toml` containing `INVALID "FILE` is now reported as `illegal character in key` at the `"`, rather than `incomplete key-value` at the start of the line. diff --git a/.changeset/tasty-stingrays-connect.md b/.changeset/tasty-stingrays-connect.md deleted file mode 100644 index ee502a9336..0000000000 --- a/.changeset/tasty-stingrays-connect.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@cloudflare/config": minor -"@cloudflare/workers-utils": minor -"miniflare": minor -"wrangler": minor ---- - -Support UDP connect handlers in local development - -The experimental `connect` configuration now accepts `protocol: "udp"`, with optional `idle_timeout_ms` and `max_pending_bytes` settings. UDP datagrams are delivered to the Worker's `connect()` handler using workerd's value-mode socket streams, and can be tested with `Miniflare#dispatchConnect({ protocol: "udp" })`. diff --git a/.changeset/workflow-exports-config.md b/.changeset/workflow-exports-config.md deleted file mode 100644 index 0ddc1d4e1d..0000000000 --- a/.changeset/workflow-exports-config.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -"@cloudflare/workers-utils": minor -"@cloudflare/deploy-helpers": minor -"@cloudflare/config": minor -"miniflare": minor -"wrangler": minor ---- - -Support `workflow` entries in the `exports` configuration map - -A Worker can now declare the Workflows it defines in `exports`, keyed by the `WorkflowEntrypoint` class name: - -```jsonc -{ - "exports": { - "MyWorkflow": { - "type": "workflow", - "name": "my-workflow", - "limits": { "steps": 100 }, - "schedules": "0 * * * *", - }, - }, -} -``` - -A `workflow` export accepts the same settings as a `workflows` binding: `limits`, `concurrency`, `schedules`, and `default_retention`. `wrangler deploy` and `wrangler versions upload` send these entries to the upload API by name, and `wrangler deploy` and `wrangler triggers deploy` provision the Workflow with its settings, just as they do for `workflows` bindings owned by the Worker. A Workflow may be declared both as a binding and as an export, as long as both declarations use the same class and do not set the same setting to different values. A binding to another Worker's Workflow cannot share a name with an export. `@cloudflare/config` adds the matching `exports.workflow()` helper. Local development does not yet act on these entries. diff --git a/packages/autoconfig/CHANGELOG.md b/packages/autoconfig/CHANGELOG.md index f6672a2bab..b578269e93 100644 --- a/packages/autoconfig/CHANGELOG.md +++ b/packages/autoconfig/CHANGELOG.md @@ -1,5 +1,14 @@ # @cloudflare/autoconfig +## 0.6.4 + +### Patch Changes + +- Updated dependencies [[`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - @cloudflare/workers-utils@0.42.0 + - @cloudflare/config@0.18.0 + - @cloudflare/cli-shared-helpers@0.1.38 + ## 0.6.3 ### Patch Changes diff --git a/packages/autoconfig/package.json b/packages/autoconfig/package.json index 6993563212..a2b123ecb1 100644 --- a/packages/autoconfig/package.json +++ b/packages/autoconfig/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/autoconfig", - "version": "0.6.3", + "version": "0.6.4", "description": "Framework autoconfig detection and configuration for Cloudflare Workers", "license": "MIT OR Apache-2.0", "repository": { diff --git a/packages/build-output-utils/CHANGELOG.md b/packages/build-output-utils/CHANGELOG.md index c19135cbcd..725730f6ba 100644 --- a/packages/build-output-utils/CHANGELOG.md +++ b/packages/build-output-utils/CHANGELOG.md @@ -1,5 +1,18 @@ # @cloudflare/build-output-utils +## 0.8.0 + +### Minor Changes + +- [#15844](https://github.com/cloudflare/workers-sdk/pull/15844) [`43f7ffb`](https://github.com/cloudflare/workers-sdk/commit/43f7ffbcbe020bc4c30809c6bd408059a6eeac87) Thanks [@jamesopstad](https://github.com/jamesopstad)! - Allow frameworks to remove Worker bundles after prerendering + + Build Output readers now ignore stale manifests when only static assets remain and omit non-default Workers that have neither a bundle nor assets. A default Worker must still contain deployable output. + +### Patch Changes + +- Updated dependencies [[`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - @cloudflare/config@0.18.0 + ## 0.7.1 ### Patch Changes diff --git a/packages/build-output-utils/package.json b/packages/build-output-utils/package.json index 3ad65736f6..8847979edb 100644 --- a/packages/build-output-utils/package.json +++ b/packages/build-output-utils/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/build-output-utils", - "version": "0.7.1", + "version": "0.8.0", "description": "Utilities for reading and writing the Build Output Specification directory. This is not yet stable enough for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/build-output-utils#readme", "bugs": { diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index c80284665a..c1e17fd382 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # @cloudflare/cli +## 0.1.38 + +### Patch Changes + +- Updated dependencies [[`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - @cloudflare/workers-utils@0.42.0 + ## 0.1.37 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 1f22e11914..ed23163073 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/cli-shared-helpers", - "version": "0.1.37", + "version": "0.1.38", "description": "Internal shared CLI helpers for workers-sdk. Not intended for external use — APIs may change without notice.", "keywords": [ "cli", diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index ae01bf05e6..0c7796a661 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,32 @@ # @cloudflare/config +## 0.18.0 + +### Minor Changes + +- [#15786](https://github.com/cloudflare/workers-sdk/pull/15786) [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8) Thanks [@ThomasRubini](https://github.com/ThomasRubini)! - Support UDP connect handlers in local development + + The experimental `connect` configuration now accepts `protocol: "udp"`, with optional `idle_timeout_ms` and `max_pending_bytes` settings. UDP datagrams are delivered to the Worker's `connect()` handler using workerd's value-mode socket streams, and can be tested with `Miniflare#dispatchConnect({ protocol: "udp" })`. + +- [#15779](https://github.com/cloudflare/workers-sdk/pull/15779) [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2) Thanks [@Naapperas](https://github.com/Naapperas)! - Support `workflow` entries in the `exports` configuration map + + A Worker can now declare the Workflows it defines in `exports`, keyed by the `WorkflowEntrypoint` class name: + + ```jsonc + { + "exports": { + "MyWorkflow": { + "type": "workflow", + "name": "my-workflow", + "limits": { "steps": 100 }, + "schedules": "0 * * * *" + } + } + } + ``` + + A `workflow` export accepts the same settings as a `workflows` binding: `limits`, `concurrency`, `schedules`, and `default_retention`. `wrangler deploy` and `wrangler versions upload` send these entries to the upload API by name, and `wrangler deploy` and `wrangler triggers deploy` provision the Workflow with its settings, just as they do for `workflows` bindings owned by the Worker. A Workflow may be declared both as a binding and as an export, as long as both declarations use the same class and do not set the same setting to different values. A binding to another Worker's Workflow cannot share a name with an export. `@cloudflare/config` adds the matching `exports.workflow()` helper. Local development does not yet act on these entries. + ## 0.17.0 ### Minor Changes diff --git a/packages/config/package.json b/packages/config/package.json index ba71a52beb..e0535d8247 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/config", - "version": "0.17.0", + "version": "0.18.0", "description": "Definitions and utilities for configuring Cloudflare Workers and related products. This is not yet stable enough for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/config#readme", "bugs": { diff --git a/packages/containers-shared/CHANGELOG.md b/packages/containers-shared/CHANGELOG.md index bdb5145581..3a0dd95f5d 100644 --- a/packages/containers-shared/CHANGELOG.md +++ b/packages/containers-shared/CHANGELOG.md @@ -1,5 +1,38 @@ # @cloudflare/containers-shared +## 0.20.0 + +### Minor Changes + +- [#15792](https://github.com/cloudflare/workers-sdk/pull/15792) [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f) Thanks [@flakey5](https://github.com/flakey5)! - Configure SSH for experimental Durable Object-managed Containers + + Set `containers[].ssh` and `containers[].authorized_keys` when using `scheduling_policy: "durable_object"`. These are application-wide settings that follow the same rules as the existing Durable Object-managed Container settings: normal deployments create missing applications and update explicitly configured values, while omitted settings preserve the existing application configuration. + + ```jsonc + // wrangler.jsonc + { + "containers": [ + { + "name": "sandbox", + "class_name": "Sandbox", + "scheduling_policy": "durable_object", + "ssh": { "enabled": true }, + "authorized_keys": [ + { "name": "laptop", "public_key": "ssh-ed25519 AAAA..." } + ] + } + ] + } + ``` + +### Patch Changes + +- Updated dependencies [[`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`43f7ffb`](https://github.com/cloudflare/workers-sdk/commit/43f7ffbcbe020bc4c30809c6bd408059a6eeac87), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - @cloudflare/workers-utils@0.42.0 + - @cloudflare/build-output-utils@0.8.0 + - @cloudflare/config@0.18.0 + - @cloudflare/cli-shared-helpers@0.1.38 + ## 0.19.2 ### Patch Changes diff --git a/packages/containers-shared/package.json b/packages/containers-shared/package.json index ec566b1113..e9159075e0 100644 --- a/packages/containers-shared/package.json +++ b/packages/containers-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/containers-shared", - "version": "0.19.2", + "version": "0.20.0", "description": "Internal-only shared container helpers for workers-sdk. Do not use directly; APIs are unstable and may change or disappear without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/containers-shared#readme", "bugs": { diff --git a/packages/create-cloudflare/CHANGELOG.md b/packages/create-cloudflare/CHANGELOG.md index 3032dda4c7..b2a834aff3 100644 --- a/packages/create-cloudflare/CHANGELOG.md +++ b/packages/create-cloudflare/CHANGELOG.md @@ -1,5 +1,15 @@ # create-cloudflare +## 2.72.12 + +### Patch Changes + +- [#15838](https://github.com/cloudflare/workers-sdk/pull/15838) [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095) Thanks [@oddharsh](https://github.com/oddharsh)! - Update `smol-toml` to 1.9.0 to fix slow parsing of very large TOML files + + Parse time for TOML config files now grows linearly with their size, instead of with its square: a 40,000-line file that took 259 ms to parse now takes 17 ms, while typical `wrangler.toml` files parse in the same time as before. This addresses the `GHSA-r4xh-jqrq-34v2` advisory against earlier versions of the parser. + + Some TOML syntax errors now point at the character that caused them. For example, a `wrangler.toml` containing `INVALID "FILE` is now reported as `illegal character in key` at the `"`, rather than `incomplete key-value` at the start of the line. + ## 2.72.11 ### Patch Changes diff --git a/packages/create-cloudflare/package.json b/packages/create-cloudflare/package.json index 53f3450343..6042c3c402 100644 --- a/packages/create-cloudflare/package.json +++ b/packages/create-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "create-cloudflare", - "version": "2.72.11", + "version": "2.72.12", "description": "A CLI for creating and deploying new applications to Cloudflare.", "keywords": [ "cloudflare", diff --git a/packages/deploy-helpers/CHANGELOG.md b/packages/deploy-helpers/CHANGELOG.md index a79b30e81a..cdd522ef0e 100644 --- a/packages/deploy-helpers/CHANGELOG.md +++ b/packages/deploy-helpers/CHANGELOG.md @@ -1,5 +1,58 @@ # @cloudflare/deploy-helpers +## 0.16.0 + +### Minor Changes + +- [#15792](https://github.com/cloudflare/workers-sdk/pull/15792) [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f) Thanks [@flakey5](https://github.com/flakey5)! - Configure SSH for experimental Durable Object-managed Containers + + Set `containers[].ssh` and `containers[].authorized_keys` when using `scheduling_policy: "durable_object"`. These are application-wide settings that follow the same rules as the existing Durable Object-managed Container settings: normal deployments create missing applications and update explicitly configured values, while omitted settings preserve the existing application configuration. + + ```jsonc + // wrangler.jsonc + { + "containers": [ + { + "name": "sandbox", + "class_name": "Sandbox", + "scheduling_policy": "durable_object", + "ssh": { "enabled": true }, + "authorized_keys": [ + { "name": "laptop", "public_key": "ssh-ed25519 AAAA..." } + ] + } + ] + } + ``` + +- [#15779](https://github.com/cloudflare/workers-sdk/pull/15779) [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2) Thanks [@Naapperas](https://github.com/Naapperas)! - Support `workflow` entries in the `exports` configuration map + + A Worker can now declare the Workflows it defines in `exports`, keyed by the `WorkflowEntrypoint` class name: + + ```jsonc + { + "exports": { + "MyWorkflow": { + "type": "workflow", + "name": "my-workflow", + "limits": { "steps": 100 }, + "schedules": "0 * * * *" + } + } + } + ``` + + A `workflow` export accepts the same settings as a `workflows` binding: `limits`, `concurrency`, `schedules`, and `default_retention`. `wrangler deploy` and `wrangler versions upload` send these entries to the upload API by name, and `wrangler deploy` and `wrangler triggers deploy` provision the Workflow with its settings, just as they do for `workflows` bindings owned by the Worker. A Workflow may be declared both as a binding and as an export, as long as both declarations use the same class and do not set the same setting to different values. A binding to another Worker's Workflow cannot share a name with an export. `@cloudflare/config` adds the matching `exports.workflow()` helper. Local development does not yet act on these entries. + +### Patch Changes + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + - @cloudflare/workers-utils@0.42.0 + - @cloudflare/containers-shared@0.20.0 + - @cloudflare/config@0.18.0 + - @cloudflare/cli-shared-helpers@0.1.38 + ## 0.15.1 ### Patch Changes diff --git a/packages/deploy-helpers/package.json b/packages/deploy-helpers/package.json index 8869ae3ea0..c24b471da8 100644 --- a/packages/deploy-helpers/package.json +++ b/packages/deploy-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/deploy-helpers", - "version": "0.15.1", + "version": "0.16.0", "description": "Internal deploy helpers for workers-sdk. Not intended for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/deploy-helpers#readme", "bugs": { diff --git a/packages/local-explorer-ui/CHANGELOG.md b/packages/local-explorer-ui/CHANGELOG.md index e536c6e6ce..b5dfbbf9ac 100644 --- a/packages/local-explorer-ui/CHANGELOG.md +++ b/packages/local-explorer-ui/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudflare/local-explorer-ui +## 0.17.0 + +### Minor Changes + +- [#15652](https://github.com/cloudflare/workers-sdk/pull/15652) [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31) Thanks [@tpmmorris](https://github.com/tpmmorris)! - Add one-off Cron Trigger testing to Local Explorer + + Developers can invoke a Worker's configured or custom Cron Trigger with an exact or guided expression, choose a UTC or epoch-millisecond scheduled time, and inspect the latest structured result without editing configuration. + ## 0.16.0 ### Minor Changes diff --git a/packages/local-explorer-ui/package.json b/packages/local-explorer-ui/package.json index 6da56bc9ba..04e5b62006 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.16.0", + "version": "0.17.0", "private": true, "type": "module", "scripts": { diff --git a/packages/miniflare/CHANGELOG.md b/packages/miniflare/CHANGELOG.md index f702bede1e..c5b812acb8 100644 --- a/packages/miniflare/CHANGELOG.md +++ b/packages/miniflare/CHANGELOG.md @@ -1,5 +1,55 @@ # miniflare +## 5.20260923.0-alpha + +### Minor Changes + +- [#15648](https://github.com/cloudflare/workers-sdk/pull/15648) [`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7) Thanks [@tpmmorris](https://github.com/tpmmorris)! - Expose configured Cron Triggers and one-off scheduled dispatch through Local Explorer + + Miniflare's V4 Worker options now accept exact Cron Trigger expressions. Local Explorer reports them in Worker metadata and can dispatch a scheduled event to an exact local or peer Worker name with a chosen cron expression and time. + +- [#15652](https://github.com/cloudflare/workers-sdk/pull/15652) [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31) Thanks [@tpmmorris](https://github.com/tpmmorris)! - Package the Cron Triggers interface in Local Explorer + + The Local Explorer assets now include an interactive Cron Triggers destination for one-off local scheduled-handler testing. + +- [#15786](https://github.com/cloudflare/workers-sdk/pull/15786) [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8) Thanks [@ThomasRubini](https://github.com/ThomasRubini)! - Support UDP connect handlers in local development + + The experimental `connect` configuration now accepts `protocol: "udp"`, with optional `idle_timeout_ms` and `max_pending_bytes` settings. UDP datagrams are delivered to the Worker's `connect()` handler using workerd's value-mode socket streams, and can be tested with `Miniflare#dispatchConnect({ protocol: "udp" })`. + +- [#15779](https://github.com/cloudflare/workers-sdk/pull/15779) [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2) Thanks [@Naapperas](https://github.com/Naapperas)! - Support `workflow` entries in the `exports` configuration map + + A Worker can now declare the Workflows it defines in `exports`, keyed by the `WorkflowEntrypoint` class name: + + ```jsonc + { + "exports": { + "MyWorkflow": { + "type": "workflow", + "name": "my-workflow", + "limits": { "steps": 100 }, + "schedules": "0 * * * *" + } + } + } + ``` + + A `workflow` export accepts the same settings as a `workflows` binding: `limits`, `concurrency`, `schedules`, and `default_retention`. `wrangler deploy` and `wrangler versions upload` send these entries to the upload API by name, and `wrangler deploy` and `wrangler triggers deploy` provision the Workflow with its settings, just as they do for `workflows` bindings owned by the Worker. A Workflow may be declared both as a binding and as an export, as long as both declarations use the same class and do not set the same setting to different values. A binding to another Worker's Workflow cannot share a name with an export. `@cloudflare/config` adds the matching `exports.workflow()` helper. Local development does not yet act on these entries. + +### Patch Changes + +- [#15796](https://github.com/cloudflare/workers-sdk/pull/15796) [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ------------------------- | ------------- | ------------- | + | @cloudflare/workers-types | ^5.20260921.1 | ^5.20260923.1 | + | workerd | 1.20260921.1 | 1.20260923.1 | + +- [#14847](https://github.com/cloudflare/workers-sdk/pull/14847) [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47) Thanks [@TheSaiEaranti](https://github.com/TheSaiEaranti)! - Emulate the deterministic-ID uniqueness contract in the local Workflows binding + + The local Workflows binding now matches the documented production behavior for deterministic instance IDs: `create({ id })` with an ID that already exists throws `(instance.already_exists)` and retains the existing instance, and `createBatch()` skips IDs that already exist or repeat within the batch, excluding them from the result instead of creating duplicate executions. Previously both paths silently created duplicates, so code relying on deterministic IDs for idempotency (for example a Queue consumer creating one workflow per message) appeared to work locally while double-executing workflow bodies. + ## 5.20260921.1-alpha ### Minor Changes diff --git a/packages/miniflare/package.json b/packages/miniflare/package.json index d86e2eb2d3..2e379f4c3d 100644 --- a/packages/miniflare/package.json +++ b/packages/miniflare/package.json @@ -1,6 +1,6 @@ { "name": "miniflare", - "version": "5.20260921.1-alpha", + "version": "5.20260923.0-alpha", "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 831355f251..a101875fc0 100644 --- a/packages/pages-shared/CHANGELOG.md +++ b/packages/pages-shared/CHANGELOG.md @@ -1,5 +1,12 @@ # @cloudflare/pages-shared +## 0.13.188 + +### Patch Changes + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + ## 0.13.187 ### Patch Changes diff --git a/packages/pages-shared/package.json b/packages/pages-shared/package.json index 3ac6bb9cc2..c541af8881 100644 --- a/packages/pages-shared/package.json +++ b/packages/pages-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/pages-shared", - "version": "0.13.187", + "version": "0.13.188", "repository": { "type": "git", "url": "https://github.com/cloudflare/workers-sdk.git", diff --git a/packages/remote-bindings/CHANGELOG.md b/packages/remote-bindings/CHANGELOG.md index ee6b7df4e9..f3f6772bb6 100644 --- a/packages/remote-bindings/CHANGELOG.md +++ b/packages/remote-bindings/CHANGELOG.md @@ -1,5 +1,16 @@ # @cloudflare/remote-bindings +## 0.0.34 + +### Patch Changes + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + - @cloudflare/workers-utils@0.42.0 + - @cloudflare/deploy-helpers@0.16.0 + - @cloudflare/workers-auth@0.9.2 + - @cloudflare/cli-shared-helpers@0.1.38 + ## 0.0.33 ### Patch Changes diff --git a/packages/remote-bindings/package.json b/packages/remote-bindings/package.json index 58e6b42b6a..f31dced2ad 100644 --- a/packages/remote-bindings/package.json +++ b/packages/remote-bindings/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/remote-bindings", - "version": "0.0.33", + "version": "0.0.34", "private": true, "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/remote-bindings#readme", "bugs": { diff --git a/packages/runtime-types/CHANGELOG.md b/packages/runtime-types/CHANGELOG.md index e442069dc8..c2ecee4022 100644 --- a/packages/runtime-types/CHANGELOG.md +++ b/packages/runtime-types/CHANGELOG.md @@ -1,5 +1,12 @@ # @cloudflare/runtime-types +## 0.1.2 + +### Patch Changes + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + ## 0.1.1 ### Patch Changes diff --git a/packages/runtime-types/package.json b/packages/runtime-types/package.json index b8c1f0cf7e..7c9172e31f 100644 --- a/packages/runtime-types/package.json +++ b/packages/runtime-types/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/runtime-types", - "version": "0.1.1", + "version": "0.1.2", "description": "Utilities for generating Cloudflare Workers runtime types from compatibility dates and flags. This is not yet stable enough for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/runtime-types#readme", "bugs": { diff --git a/packages/vite-plugin-cloudflare/CHANGELOG.md b/packages/vite-plugin-cloudflare/CHANGELOG.md index 3d59eaf024..9fc662169e 100644 --- a/packages/vite-plugin-cloudflare/CHANGELOG.md +++ b/packages/vite-plugin-cloudflare/CHANGELOG.md @@ -1,5 +1,19 @@ # @cloudflare/vite-plugin +## 1.60.0 + +### Minor Changes + +- [#15648](https://github.com/cloudflare/workers-sdk/pull/15648) [`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7) Thanks [@tpmmorris](https://github.com/tpmmorris)! - Advertise Local Explorer scheduled invocations to headless agents + + The Vite plugin's Local Explorer hint now documents how to invoke a Worker's scheduled handler and points agents to the OpenAPI schema for the complete request contract. + +### Patch Changes + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`cd60c9c`](https://github.com/cloudflare/workers-sdk/commit/cd60c9c946bb3bcb9f6c32d426c2d4ee2992e03a), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + - wrangler@4.139.0 + ## 1.59.0 ### Minor Changes diff --git a/packages/vite-plugin-cloudflare/package.json b/packages/vite-plugin-cloudflare/package.json index b5d6b9c99e..ff5427bd1f 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.59.0", + "version": "1.60.0", "description": "Cloudflare plugin for Vite", "keywords": [ "cloudflare", diff --git a/packages/vitest-plugin/CHANGELOG.md b/packages/vitest-plugin/CHANGELOG.md index 449a3c6a88..21f4ed7dd4 100644 --- a/packages/vitest-plugin/CHANGELOG.md +++ b/packages/vitest-plugin/CHANGELOG.md @@ -1,5 +1,13 @@ # @cloudflare/vitest-pool-workers +## 1.2.6 + +### Patch Changes + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`cd60c9c`](https://github.com/cloudflare/workers-sdk/commit/cd60c9c946bb3bcb9f6c32d426c2d4ee2992e03a), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + - wrangler@4.139.0 + ## 1.2.5 ### Patch Changes diff --git a/packages/vitest-plugin/package.json b/packages/vitest-plugin/package.json index 518d679946..d57d7de2c0 100644 --- a/packages/vitest-plugin/package.json +++ b/packages/vitest-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/vitest-plugin", - "version": "1.2.5", + "version": "1.2.6", "description": "Workers Vitest integration for writing Vitest unit and integration tests that run inside the Workers runtime", "keywords": [ "cloudflare", diff --git a/packages/workers-auth/CHANGELOG.md b/packages/workers-auth/CHANGELOG.md index 492834489f..d2fc05cdab 100644 --- a/packages/workers-auth/CHANGELOG.md +++ b/packages/workers-auth/CHANGELOG.md @@ -1,5 +1,18 @@ # @cloudflare/workers-auth +## 0.9.2 + +### Patch Changes + +- [#15838](https://github.com/cloudflare/workers-sdk/pull/15838) [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095) Thanks [@oddharsh](https://github.com/oddharsh)! - Update `smol-toml` to 1.9.0 to fix slow parsing of very large TOML files + + Parse time for TOML config files now grows linearly with their size, instead of with its square: a 40,000-line file that took 259 ms to parse now takes 17 ms, while typical `wrangler.toml` files parse in the same time as before. This addresses the `GHSA-r4xh-jqrq-34v2` advisory against earlier versions of the parser. + + Some TOML syntax errors now point at the character that caused them. For example, a `wrangler.toml` containing `INVALID "FILE` is now reported as `illegal character in key` at the `"`, rather than `incomplete key-value` at the start of the line. + +- Updated dependencies [[`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f), [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - @cloudflare/workers-utils@0.42.0 + ## 0.9.1 ### Patch Changes diff --git a/packages/workers-auth/package.json b/packages/workers-auth/package.json index f92fc54392..4196093e6f 100644 --- a/packages/workers-auth/package.json +++ b/packages/workers-auth/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/workers-auth", - "version": "0.9.1", + "version": "0.9.2", "description": "Internal OAuth 2.0 + PKCE flow for Cloudflare CLIs. Not intended for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/workers-auth#readme", "bugs": { diff --git a/packages/workers-utils/CHANGELOG.md b/packages/workers-utils/CHANGELOG.md index 2719b6d14d..8ce5bd5611 100644 --- a/packages/workers-utils/CHANGELOG.md +++ b/packages/workers-utils/CHANGELOG.md @@ -1,5 +1,61 @@ # @cloudflare/workers-utils +## 0.42.0 + +### Minor Changes + +- [#15792](https://github.com/cloudflare/workers-sdk/pull/15792) [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f) Thanks [@flakey5](https://github.com/flakey5)! - Configure SSH for experimental Durable Object-managed Containers + + Set `containers[].ssh` and `containers[].authorized_keys` when using `scheduling_policy: "durable_object"`. These are application-wide settings that follow the same rules as the existing Durable Object-managed Container settings: normal deployments create missing applications and update explicitly configured values, while omitted settings preserve the existing application configuration. + + ```jsonc + // wrangler.jsonc + { + "containers": [ + { + "name": "sandbox", + "class_name": "Sandbox", + "scheduling_policy": "durable_object", + "ssh": { "enabled": true }, + "authorized_keys": [ + { "name": "laptop", "public_key": "ssh-ed25519 AAAA..." } + ] + } + ] + } + ``` + +- [#15786](https://github.com/cloudflare/workers-sdk/pull/15786) [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8) Thanks [@ThomasRubini](https://github.com/ThomasRubini)! - Support UDP connect handlers in local development + + The experimental `connect` configuration now accepts `protocol: "udp"`, with optional `idle_timeout_ms` and `max_pending_bytes` settings. UDP datagrams are delivered to the Worker's `connect()` handler using workerd's value-mode socket streams, and can be tested with `Miniflare#dispatchConnect({ protocol: "udp" })`. + +- [#15779](https://github.com/cloudflare/workers-sdk/pull/15779) [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2) Thanks [@Naapperas](https://github.com/Naapperas)! - Support `workflow` entries in the `exports` configuration map + + A Worker can now declare the Workflows it defines in `exports`, keyed by the `WorkflowEntrypoint` class name: + + ```jsonc + { + "exports": { + "MyWorkflow": { + "type": "workflow", + "name": "my-workflow", + "limits": { "steps": 100 }, + "schedules": "0 * * * *" + } + } + } + ``` + + A `workflow` export accepts the same settings as a `workflows` binding: `limits`, `concurrency`, `schedules`, and `default_retention`. `wrangler deploy` and `wrangler versions upload` send these entries to the upload API by name, and `wrangler deploy` and `wrangler triggers deploy` provision the Workflow with its settings, just as they do for `workflows` bindings owned by the Worker. A Workflow may be declared both as a binding and as an export, as long as both declarations use the same class and do not set the same setting to different values. A binding to another Worker's Workflow cannot share a name with an export. `@cloudflare/config` adds the matching `exports.workflow()` helper. Local development does not yet act on these entries. + +### Patch Changes + +- [#15838](https://github.com/cloudflare/workers-sdk/pull/15838) [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095) Thanks [@oddharsh](https://github.com/oddharsh)! - Update `smol-toml` to 1.9.0 to fix slow parsing of very large TOML files + + Parse time for TOML config files now grows linearly with their size, instead of with its square: a 40,000-line file that took 259 ms to parse now takes 17 ms, while typical `wrangler.toml` files parse in the same time as before. This addresses the `GHSA-r4xh-jqrq-34v2` advisory against earlier versions of the parser. + + Some TOML syntax errors now point at the character that caused them. For example, a `wrangler.toml` containing `INVALID "FILE` is now reported as `illegal character in key` at the `"`, rather than `incomplete key-value` at the start of the line. + ## 0.41.2 ### Patch Changes diff --git a/packages/workers-utils/package.json b/packages/workers-utils/package.json index bbf16a0036..c8bdaec99c 100644 --- a/packages/workers-utils/package.json +++ b/packages/workers-utils/package.json @@ -1,6 +1,6 @@ { "name": "@cloudflare/workers-utils", - "version": "0.41.2", + "version": "0.42.0", "description": "Internal utility package for workers-sdk. Not intended for external use — APIs may change without notice.", "homepage": "https://github.com/cloudflare/workers-sdk/tree/main/packages/workers-utils#readme", "bugs": { diff --git a/packages/wrangler/CHANGELOG.md b/packages/wrangler/CHANGELOG.md index c5c8c4df06..940d5715f1 100644 --- a/packages/wrangler/CHANGELOG.md +++ b/packages/wrangler/CHANGELOG.md @@ -1,5 +1,85 @@ # wrangler +## 4.139.0 + +### Minor Changes + +- [#15792](https://github.com/cloudflare/workers-sdk/pull/15792) [`479e1e8`](https://github.com/cloudflare/workers-sdk/commit/479e1e8eaf05764da7950c42c38cff2a98f00e3f) Thanks [@flakey5](https://github.com/flakey5)! - Configure SSH for experimental Durable Object-managed Containers + + Set `containers[].ssh` and `containers[].authorized_keys` when using `scheduling_policy: "durable_object"`. These are application-wide settings that follow the same rules as the existing Durable Object-managed Container settings: normal deployments create missing applications and update explicitly configured values, while omitted settings preserve the existing application configuration. + + ```jsonc + // wrangler.jsonc + { + "containers": [ + { + "name": "sandbox", + "class_name": "Sandbox", + "scheduling_policy": "durable_object", + "ssh": { "enabled": true }, + "authorized_keys": [ + { "name": "laptop", "public_key": "ssh-ed25519 AAAA..." } + ] + } + ] + } + ``` + +- [#15648](https://github.com/cloudflare/workers-sdk/pull/15648) [`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7) Thanks [@tpmmorris](https://github.com/tpmmorris)! - Expose configured Cron Triggers to local development consumers + + Wrangler now passes the active environment's exact Cron Trigger expressions to Miniflare so Local Explorer can display them. Headless agent sessions also advertise the Local Explorer scheduled invocation API. + +- [#15786](https://github.com/cloudflare/workers-sdk/pull/15786) [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8) Thanks [@ThomasRubini](https://github.com/ThomasRubini)! - Support UDP connect handlers in local development + + The experimental `connect` configuration now accepts `protocol: "udp"`, with optional `idle_timeout_ms` and `max_pending_bytes` settings. UDP datagrams are delivered to the Worker's `connect()` handler using workerd's value-mode socket streams, and can be tested with `Miniflare#dispatchConnect({ protocol: "udp" })`. + +- [#15779](https://github.com/cloudflare/workers-sdk/pull/15779) [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2) Thanks [@Naapperas](https://github.com/Naapperas)! - Support `workflow` entries in the `exports` configuration map + + A Worker can now declare the Workflows it defines in `exports`, keyed by the `WorkflowEntrypoint` class name: + + ```jsonc + { + "exports": { + "MyWorkflow": { + "type": "workflow", + "name": "my-workflow", + "limits": { "steps": 100 }, + "schedules": "0 * * * *" + } + } + } + ``` + + A `workflow` export accepts the same settings as a `workflows` binding: `limits`, `concurrency`, `schedules`, and `default_retention`. `wrangler deploy` and `wrangler versions upload` send these entries to the upload API by name, and `wrangler deploy` and `wrangler triggers deploy` provision the Workflow with its settings, just as they do for `workflows` bindings owned by the Worker. A Workflow may be declared both as a binding and as an export, as long as both declarations use the same class and do not set the same setting to different values. A binding to another Worker's Workflow cannot share a name with an export. `@cloudflare/config` adds the matching `exports.workflow()` helper. Local development does not yet act on these entries. + +### Patch Changes + +- [#15796](https://github.com/cloudflare/workers-sdk/pull/15796) [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d) Thanks [@dependabot](https://github.com/apps/dependabot)! - Update dependencies of "miniflare", "wrangler" + + The following dependency versions have been updated: + + | Dependency | From | To | + | ------------------------- | ------------- | ------------- | + | @cloudflare/workers-types | ^5.20260921.1 | ^5.20260923.1 | + | workerd | 1.20260921.1 | 1.20260923.1 | + +- [#14847](https://github.com/cloudflare/workers-sdk/pull/14847) [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47) Thanks [@TheSaiEaranti](https://github.com/TheSaiEaranti)! - Emulate the deterministic-ID uniqueness contract in the local Workflows binding + + The local Workflows binding now matches the documented production behavior for deterministic instance IDs: `create({ id })` with an ID that already exists throws `(instance.already_exists)` and retains the existing instance, and `createBatch()` skips IDs that already exist or repeat within the batch, excluding them from the result instead of creating duplicate executions. Previously both paths silently created duplicates, so code relying on deterministic IDs for idempotency (for example a Queue consumer creating one workflow per message) appeared to work locally while double-executing workflow bodies. + +- [#15803](https://github.com/cloudflare/workers-sdk/pull/15803) [`cd60c9c`](https://github.com/cloudflare/workers-sdk/commit/cd60c9c946bb3bcb9f6c32d426c2d4ee2992e03a) Thanks [@pmiguel](https://github.com/pmiguel)! - Show `--jurisdiction` in help for `wrangler kv namespace create` + + The option was supported but omitted from the command's help output. Users can now discover how to create KV namespaces in a specific jurisdiction. + +- [#15838](https://github.com/cloudflare/workers-sdk/pull/15838) [`15799d4`](https://github.com/cloudflare/workers-sdk/commit/15799d4b61adc6317a506d700846ebaeeb558095) Thanks [@oddharsh](https://github.com/oddharsh)! - Update `smol-toml` to 1.9.0 to fix slow parsing of very large TOML files + + Parse time for TOML config files now grows linearly with their size, instead of with its square: a 40,000-line file that took 259 ms to parse now takes 17 ms, while typical `wrangler.toml` files parse in the same time as before. This addresses the `GHSA-r4xh-jqrq-34v2` advisory against earlier versions of the parser. + + Some TOML syntax errors now point at the character that caused them. For example, a `wrangler.toml` containing `INVALID "FILE` is now reported as `illegal character in key` at the `"`, rather than `incomplete key-value` at the start of the line. + +- Updated dependencies [[`52c0e9f`](https://github.com/cloudflare/workers-sdk/commit/52c0e9f79d21b508466cd7508434fd8860be56f7), [`44f5295`](https://github.com/cloudflare/workers-sdk/commit/44f52951a699f77a35fa5d3b0ba1d33c7e2e3a31), [`be72815`](https://github.com/cloudflare/workers-sdk/commit/be728157f7b1f59f5878d09ca4f23b96f338f75d), [`940c692`](https://github.com/cloudflare/workers-sdk/commit/940c6925b887faa4f43eccc957766385f6cc2d47), [`bdda4c3`](https://github.com/cloudflare/workers-sdk/commit/bdda4c3b3c028d3d4dab5ea4c5af8040ed7ed1d8), [`fc3cbaa`](https://github.com/cloudflare/workers-sdk/commit/fc3cbaa4150a3cf30502286452153806bf8800d2)]: + - miniflare@5.20260923.0-alpha + ## 4.138.0 ### Minor Changes diff --git a/packages/wrangler/package.json b/packages/wrangler/package.json index 674a8343ca..fb38142e0e 100644 --- a/packages/wrangler/package.json +++ b/packages/wrangler/package.json @@ -1,6 +1,6 @@ { "name": "wrangler", - "version": "4.138.0", + "version": "4.139.0", "description": "Command-line interface for all things Cloudflare Workers", "keywords": [ "assembly",