Version Packages#14740
Conversation
| { | ||
| "name": "@cloudflare/vitest-pool-workers", | ||
| "version": "0.18.6", | ||
| "version": "0.18.7", |
There was a problem hiding this comment.
🟡 Release version bump is smaller than the change warrants
The change that adds the ability to test Streaming Tail Workers is being released as a bug-fix-level update (patch, 0.18.6→0.18.7 in packages/vitest-pool-workers/package.json:3) even though it introduces brand-new functionality, which the repository's own guidelines say must be a feature-level update.
Impact: Users receive a new capability under a version number that signals only bug fixes, hiding the new feature from anyone relying on version numbers to decide when to adopt changes.
Semver classification mismatch per REVIEW.md
The deleted changeset .changeset/fuzzy-tails-listen.md declared "@cloudflare/vitest-pool-workers": patch with description "Support testing Streaming Tail Workers in Vitest Pool Workers."
REVIEW.md "Semver Classification" states that adding "new API capabilities" and "behavior changes that add functionality" are Minor, and explicitly: "A changeset described as 'Support X' is adding a new feature (minor)". This change adds support for a new class of Workers to be tested, which is a new feature, so it should be classified as minor (i.e. 0.19.0), not patch. This affects both the version in packages/vitest-pool-workers/package.json:3 and the CHANGELOG heading added at packages/vitest-pool-workers/CHANGELOG.md:3.
Was this helpful? React with 👍 or 👎 to provide feedback.
|
@cloudflare/autoconfig
@cloudflare/config
create-cloudflare
@cloudflare/deploy-helpers
@cloudflare/kv-asset-handler
miniflare
@cloudflare/pages-shared
@cloudflare/unenv-preset
@cloudflare/vite-plugin
@cloudflare/vitest-pool-workers
@cloudflare/workers-auth
@cloudflare/workers-editor-shared
@cloudflare/workers-utils
wrangler
commit: |
a440559 to
d931132
Compare
d931132 to
114215f
Compare
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@cloudflare/config@0.3.0
Minor Changes
#14724
a50f73aThanks @jamesopstad! - Add asettingsexport to the experimentalcloudflare.config.tsconfigAccount-level settings (
accountId,complianceRegion) now live in a dedicated, namedsettingsexport authored viadefineSettings, rather than on the Worker config. Acloudflare.config.tscan export at most onesettingsobject; the Worker itself is thedefaultexport.This is only used behind the experimental new-config path (
wrangler --experimental-new-configand the@cloudflare/vite-pluginexperimental.newConfigoption).@cloudflare/deploy-helpers@0.6.0
Minor Changes
#14471
f03b108Thanks @DiogoSantoss! - Apply Email Routingaddressesduring Worker trigger deploymentWorker trigger deployment now reconciles the Worker's Email Routing rules with the top-level
addressesconfig. This runs forwrangler deploy,wrangler triggers deploy, and clients of@cloudflare/deploy-helpers. After the Worker uploads, or whenwrangler triggers deployruns after a version promotion, the deploy helper asks the Email Routing API for a plan, renders the changes grouped by zone (+added,~updated,-deleted,!conflict), prompts once for destructive changes in interactive mode, and applies accepted changes through the per-zone rule endpoints. Purely additive plans apply without a prompt, while non-interactive destructive plans fail without modifying rules.Patch Changes
#14744
a0a091bThanks @penalosa! - Drop the "Experimental:" prefix from the resource provisioning header now that automatic provisioning is generally available. The deploy output now readsThe following bindings need to be provisioned:.Updated dependencies [
a6c214f,34430b3]:miniflare@4.20260714.1
Minor Changes
#14742
34430b3Thanks @pombosilva! - Add support for redacting sensitive Workflows step output in local dev.Steps configured with
sensitive: "output"now have their output redacted to[REDACTED]in step logs and step-output responses when running Workflows locally, matching production behavior. The real value is still passed to downstream steps, and step errors are never redacted.@cloudflare/vite-plugin@1.46.0
Minor Changes
#14724
a50f73aThanks @jamesopstad! - Add asettingsexport to the experimentalcloudflare.config.tsconfigAccount-level settings (
accountId,complianceRegion) now live in a dedicated, namedsettingsexport authored viadefineSettings, rather than on the Worker config. Acloudflare.config.tscan export at most onesettingsobject; the Worker itself is thedefaultexport.This is only used behind the experimental new-config path (
wrangler --experimental-new-configand the@cloudflare/vite-pluginexperimental.newConfigoption).Patch Changes
a0a091b,f03b108,deae171,4e92e32,d1d6945,a0c8bb1,a50f73a,c82d96b,34430b3,f75ae5d]:wrangler@4.113.0
Minor Changes
#14471
f03b108Thanks @DiogoSantoss! - Apply Email Routingaddressesduring Worker trigger deploymentWorker trigger deployment now reconciles the Worker's Email Routing rules with the top-level
addressesconfig. This runs forwrangler deploy,wrangler triggers deploy, and clients of@cloudflare/deploy-helpers. After the Worker uploads, or whenwrangler triggers deployruns after a version promotion, the deploy helper asks the Email Routing API for a plan, renders the changes grouped by zone (+added,~updated,-deleted,!conflict), prompts once for destructive changes in interactive mode, and applies accepted changes through the per-zone rule endpoints. Purely additive plans apply without a prompt, while non-interactive destructive plans fail without modifying rules.#14679
deae171Thanks @dario-piotrowicz! - Addexclude_packagesoption todependencies_instrumentationconfigurationThe
dependencies_instrumentationconfig object now accepts an optionalexclude_packagesfield — an array of package name patterns (with glob-style*wildcards) to exclude from the dependency metadata collected during deploy and version uploads.#14721
4e92e32Thanks @dmmulroy! - Support Artifacts sources when creating Queue event subscriptionswrangler queues subscription createnow accepts theartifactsandartifacts.reposource types supported by the Cloudflare API.#13352
d1d6945Thanks @penalosa! - Expand automatic resource provisioning to Queue, Dispatch Namespace, and Flagship bindingsDeployments can now omit the resource name or ID for these bindings. Wrangler will inherit the existing binding on subsequent deploys, create a deterministically named resource automatically, or offer existing resources during an interactive deploy with automatic creation disabled.
#14688
a0c8bb1Thanks @NuroDev! - Print Local Explorer API details for headless agent-drivenwrangler devsessionsWhen
wrangler devis started in a headless AI agent environment, Wrangler now prints the Local Explorer API URL and basic resource routes so agents can inspect local Workers and bindings without relying on the interactive UI.#14724
a50f73aThanks @jamesopstad! - Add asettingsexport to the experimentalcloudflare.config.tsconfigAccount-level settings (
accountId,complianceRegion) now live in a dedicated, namedsettingsexport authored viadefineSettings, rather than on the Worker config. Acloudflare.config.tscan export at most onesettingsobject; the Worker itself is thedefaultexport.This is only used behind the experimental new-config path (
wrangler --experimental-new-configand the@cloudflare/vite-pluginexperimental.newConfigoption).#14742
34430b3Thanks @pombosilva! - Add support for redacting sensitive Workflows step output in local dev.Steps configured with
sensitive: "output"now have their output redacted to[REDACTED]in step logs and step-output responses when running Workflows locally, matching production behavior. The real value is still passed to downstream steps, and step errors are never redacted.Patch Changes
#14744
a0a091bThanks @penalosa! - Drop the "Experimental:" prefix from the resource provisioning header now that automatic provisioning is generally available. The deploy output now readsThe following bindings need to be provisioned:.#14448
c82d96bThanks @GregBrimble! - Use the new PATCH APIs for versioned secret commandsWrangler now updates versioned Worker secrets by patching the latest Worker version instead of downloading the latest version contents and uploading a full replacement version. This avoids reconstructing Worker configuration in Wrangler, which should reduce bugs when Workers use less common features. For example, this avoids regressions like the previous placement preservation bug fixed in #13843.
#14617
f75ae5dThanks @martijnwalraven! - DerivenodejsCompatModefrom the effective compatibility inputs inunstable_startWorker()The CLI computes the node-compat mode from the effective compatibility date and flags (
args.* ?? parsedConfig.*), but the programmatic path usedinput.build.nodejsCompatModeraw — leaving it unset meant a worker'snodejs_compatflag (from its config file or from input-levelcompatibilityFlags) was silently ignored, so bundling failed to resolve node builtins thatwrangler devhandles.startWorkernow derives the mode the same way when the caller does not provide one: input-levelcompatibilityDate/compatibilityFlagsfirst, then the resolved config, with no-bundle taken from the resolvedbuild.bundlesemantics. Passing an explicitnullstill disables it.Updated dependencies [
34430b3]:@cloudflare/autoconfig@0.1.7
Patch Changes
#14534
a330170Thanks @petebacondarwin! - Preserve existing Nuxtmoduleswhen configuring a project for CloudflareConfiguring an existing Nuxt project whose
nuxt.config.tsalready declares amodulesarray previously overwrote that array when addingnitro-cloudflare-dev, dropping modules such as@nuxt/ui. Existing entries are now retained and the Cloudflare module is appended instead.Updated dependencies [
a6c214f]:@cloudflare/cli-shared-helpers@0.1.16
Patch Changes
a6c214f]:create-cloudflare@2.70.13
Patch Changes
#14759
947ad34Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
#14760
9ed6dc2Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
#14534
a330170Thanks @petebacondarwin! - Preserve existing Nuxtmoduleswhen adding Cloudflare configurationScaffolding a Nuxt application whose
nuxt.config.tsalready declares amodulesarray (for example theuistarter, which registers@nuxt/uiand@nuxt/eslint) previously overwrote that array when addingnitro-cloudflare-dev, dropping the existing modules and breaking the build. Existing entries are now retained and the Cloudflare module is appended instead.@cloudflare/pages-shared@0.13.159
Patch Changes
34430b3]:@cloudflare/vitest-pool-workers@0.18.7
Patch Changes
#14713
de34449Thanks @allocsys! - Fix a non-ASCII path failure during the Miniflare WebSocket handshake: theMF-Vitest-Worker-Dataheader embedded the rawprocess.cwd()value, which threw a Latin-1/ASCII header encoding error when the workspace path contained non-ASCII characters (e.g. CJK characters) on Windows. The value is now percent-encoded on write and decoded on read, matching the fix applied to the module fallback redirect response.#14713
de34449Thanks @allocsys! - Fix a runtime start-up failure ("No such module "cloudflare:test-internal"") when the project workspace path contains non-ASCII characters (e.g. CJK characters) on Windows. The module fallback service's redirect response set the target file path directly as an HTTPLocationheader value, but headers are restricted to the Latin-1/ASCII byte range, so any non-ASCII byte in the path caused header construction to throw. Such paths are now percent-encoded (and tagged with a sentinel prefix) before being used as a header value, and decoded again only for the values we encoded, so the round-trip is unambiguous and a workspace path containing a literal%is left untouched instead of being mis-decoded.#14739
5eac99eThanks @Ankcorn! - Support testing Streaming Tail Workers in Vitest Pool Workers.#14763
538e867Thanks @gianghungtien! - TreatwebSocketMessage(),webSocketClose()andwebSocketError()as optional Durable Object handlersThe pool wraps each Durable Object class and installs a prototype method for every default handler before user code is loaded, so
workerdalways sees a handler and always dispatches. When the wrapped class didn't actually define one, the wrapper threw<ClassName> exported by <path> does not define a `webSocketClose()` method, even though deployed Workers silently ignore these events for classes that omit them. A hibernatable Durable Object defining onlywebSocketMessage()would log an uncaughtTypeErroron every close.These three handlers now no-op when absent, matching deployed behaviour.
alarm()is unchanged and still reports a missing handler, sinceworkerdrejectssetAlarm()up front on a class without one.Updated dependencies [
a0a091b,f03b108,deae171,4e92e32,d1d6945,a0c8bb1,a50f73a,c82d96b,34430b3,f75ae5d]:@cloudflare/workers-auth@0.5.1
Patch Changes
a6c214f]:@cloudflare/workers-utils@0.27.1
Patch Changes
#14746
a6c214fThanks @samarth70! - Return a clear error whenobservabilityis set tonullvalidateObservabilityguarded only againstundefined, so anullvalue (valid in JSON/JSONC config) passed thetypeof value === "object"check and then threwTypeError: Cannot read properties of null (reading 'enabled')while validating the config. It now rejectsnullwith the same"observability" should be an object but got null.diagnostic that the siblingcachevalidator already produces.@cloudflare/runtime-types@0.0.4
Patch Changes
34430b3]: