Version Packages - #15291
Merged
Merged
Conversation
Contributor
|
✅ All changesets look good |
@cloudflare/autoconfig
@cloudflare/build-output-utils
@cloudflare/codemods
@cloudflare/config
create-cloudflare
@cloudflare/deploy-helpers
@cloudflare/kv-asset-handler
miniflare
@cloudflare/pages-functions
@cloudflare/pages-shared
@cloudflare/unenv-preset
@cloudflare/vite-plugin
@cloudflare/vitest-plugin
@cloudflare/workers-auth
@cloudflare/workers-editor-shared
@cloudflare/workers-utils
wrangler
commit: |
workers-devprod
force-pushed
the
changeset-release/main
branch
27 times, most recently
from
August 25, 2026 08:25
94024e8 to
e96f756
Compare
workers-devprod
force-pushed
the
changeset-release/main
branch
7 times, most recently
from
August 25, 2026 13:15
fde3413 to
d8b3432
Compare
workers-devprod
force-pushed
the
changeset-release/main
branch
from
August 25, 2026 14:20
d8b3432 to
cb0f2d8
Compare
penalosa
approved these changes
Aug 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/autoconfig@0.3.0
Minor Changes
#15246
daefb3cThanks @edmundhung! - Prepare autoconfig for multiple configuration targetsAdd target-specific configuration output and command detection while preserving Wrangler's existing setup and deployment behavior.
Patch Changes
ead8f69,9fcb1c9,9fcb1c9,82d11fc,7f66836,acb14d0]:@cloudflare/build-output-utils@0.2.0
Minor Changes
#15326
9fcb1c9Thanks @jamesopstad! - Record the selected mode in the Build Output Specification top-levelconfig.jsonThe mode a build was produced in is now written to
.cloudflare/output/v0/config.jsonas amodefield, alongside the account and compliance settings.#15326
9fcb1c9Thanks @jamesopstad! - Rename the top-level config accessors after the config they operate ongetRootConfigPathandwriteRootConfigare nowgetSettingsConfigPathandwriteSettingsConfig, and the corresponding validation error readsinvalid settings configrather thaninvalid root config.Patch Changes
ead8f69,9fcb1c9,9fcb1c9,82d11fc,7f66836,acb14d0]:@cloudflare/config@0.8.0
Minor Changes
#15326
9fcb1c9Thanks @jamesopstad! - Rename the settings config schema exports to the input/output conventionSettingsSchemais nowInputSettingsSchemaandParsedSettingsConfigis nowParsedInputSettingsConfig.#15326
9fcb1c9Thanks @jamesopstad! - Record the selected mode in the Build Output Specification top-levelconfig.jsonThe mode a build was produced in is now written to
.cloudflare/output/v0/config.jsonas amodefield, alongside the account and compliance settings.#15318
82d11fcThanks @jamesopstad! - Consolidate development-only binding configuration underdevThis experimental configuration now uses
dev.remotefor remote bindings anddev.connectionStringfor Hyperdrive. Miniflare's v5 binding configuration follows the same shape, and R2's local S3 credentials now share thedevobject.#15325
7f66836Thanks @jamesopstad! - Reject conflicting destination restrictions in send-email bindingsSend-email bindings now match Wrangler validation by allowing either
destinationAddressorallowedDestinationAddresses, but not both.allowedSenderAddressesremains an independent restriction that can accompany either destination mode.Patch Changes
#15324
ead8f69Thanks @jamesopstad! - Fix the inferred type ofConfigExportsSchemato reserve thesettingskey for settings configurationParsed config exports now expose
settingsas a settings configuration while treating all other exports as Worker configurations. Validation continues to report specific errors when a settings configuration uses the wrong export name or the reserved name contains a Worker configuration, and now explains how to handle unsupported exports.#15297
acb14d0Thanks @jamesopstad! - Fix declaration emit for values returned bydefineSettingsProjects can now export a
defineSettings()result while generating TypeScript declarations without encountering TS4023.@cloudflare/deploy-helpers@0.9.0
Minor Changes
#14966
a4c3458Thanks @yomna-shousha! - Add pull request metadata towrangler previewdeploymentswrangler previewnow detects the pull request associated with the current CI run (GitHub Actions, GitLab CI, CircleCI, and a genericPULL_REQUEST_URL/PR_URL/CHANGE_URLfallback) and attaches it, along with the repository URL, to the preview deployment as annotations (workers/pull_request_number,workers/pull_request_url,workers/repository_url).This is best effort: if no pull request can be detected, nothing changes. When a pull request is detected, its URL is now also shown in the
wrangler previewcommand output.Patch Changes
aa54b49,4a67a28,2d78137,04e8564,693ca29,693ca29,693ca29,37ed753,f76b68e,c66d2d5,693ca29,74de3ab,0cb8690,dd5148d,82d11fc]:miniflare@5.20260825.0-alpha
Minor Changes
#15064
693ca29Thanks @tpmmorris! - SupportEmailReplyMessageBuilderwhen replying from local email handlersBuilder replies now generate the recipient, threading headers, and a production-style Message-ID automatically. Raw
EmailMessagereplies also use a generated production-style Message-ID; user-provided Message-ID headers are rejected in favor of the generated ID.#15064
693ca29Thanks @tpmmorris! - Include a chronological list of handler events in email test harness results, so programmatic local email tests can assert the order in which messages are received, forwarded, replied to, or rejected.#15187
37ed753Thanks @penalosa! - Support Images data in experimental shared local storage#15188
f76b68eThanks @penalosa! - Support Stream in experimental shared local storage#15134
c66d2d5Thanks @gpanders! - Enable FUSE-capable local container developmentMiniflare now automatically passes the Docker privileges needed for FUSE to local Durable Object containers when using local rootless Docker on Linux with
/dev/fuseavailable, or a local Docker engine on macOS or through WSL where Linux containers run in a VM. This applies to Wrangler, the Cloudflare Vite plugin, and direct Miniflare use.#15064
693ca29Thanks @tpmmorris! - Capture locally sent and received emails, along with forwarding and reply activity and metadata, for inspection through the Local Explorer email API.Miniflare now captures locally sent and received emails, including forwarding, reply, rejection, and exception activity. The following endpoints are available below
/cdn-cgi/local/explorer/apiwhilewrangler devis running:POST /local/email/routing/send?worker=<name>sends a test email to a Worker'semail()handler.GET /local/email/routing?worker=<name>lists emails received by a Worker.GET /local/email/routing?email_id=<message-id>&worker=<name>returns a received email and its handler activity.GET /local/email/sending?worker=<name>lists emails sent through a Worker'ssend_emailbindings.GET /local/email/sending?email_id=<message-id>&worker=<name>returns a sent email.For example, send and then inspect a test email against a Worker named
my-worker:List endpoints support
per_pageand opaquecursorquery parameters. File paths logged by thesend_emailbinding are asynchronous debugging artifacts and should not be used to synchronize aftersend()resolves. Email handler exceptions are logged when structured local delivery reports an exception outcome.When email content exceeds the local storage row budget of approximately 2 MB, the email is delivered in full but the Local Explorer capture is truncated to fit. Detail responses identify each truncated sent email, received email, or reply in the top-level
messagesarray with warning code10604; for example:{ "messages": [ { "code": 10604, "message": "Displayed received email content was truncated during local capture. The complete message was still delivered to the Worker." } ] }#15169
dd5148dThanks @penalosa! - Add experimental shared local storage, letting several Miniflare instances read and write one set of local resourcesEach instance previously kept its own copy of local state, so two dev sessions pointed at the same KV namespace or D1 database could not see each other's writes. Instances that opt in now elect a single storage owner through the dev registry and route storage through it, so resources with the same ID resolve to the same data.
Opt in with
unsafeEnableSharedStorage, which requires three paths to be set:KV, D1, R2, Rate Limits, and Secrets Store participate in sharing. Cache, Durable Objects, Workflows, observability, and Hello World storage do not yet, and stay instance-local under
isolatedResourcePersistencePath, keeping their state across restarts without concurrent access to the shared root.This is experimental and the
unsafe-prefixed options may change without a major version bump.#15318
82d11fcThanks @jamesopstad! - Consolidate development-only binding configuration underdevThis experimental configuration now uses
dev.remotefor remote bindings anddev.connectionStringfor Hyperdrive. Miniflare's v5 binding configuration follows the same shape, and R2's local S3 credentials now share thedevobject.Patch Changes
#15341
aa54b49Thanks @jamesopstad! - Remove unsupported remote configuration from Workflow bindingsMiniflare now rejects
dev.remoteon Workflow bindings and no longer exposes or converts the legacy WorkflowremoteProxyConnectionStringoption. Workflows always use the local simulator.#15294
4a67a28Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15328
2d78137Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15346
04e8564Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15064
693ca29Thanks @tpmmorris! - Generate and use production-style Message-IDs for local email artifactsLocally sent emails and replies now use generated Message-IDs - which are 36 alphanumeric characters - consistently in returned results, raw MIME headers, Local Explorer records, and stored artifact filenames. User-provided
Message-IDheaders are replaced by the generated ID.For example, sending an email from
sender@example.commay return<AbCdEfGhIjKlMnOpQrStUvWxYz0123456789@example.com>. The raw email uses that same value for itsMessage-IDheader, the Local Explorer exposes the same ID, and the stored artifact is namedAbCdEfGhIjKlMnOpQrStUvWxYz0123456789@example.com.eml.Similarly, a reply containing
Message-ID: <custom@example.com>is stored and returned with a newly generated ID instead. This mirrors production behavior and prevents the supplied ID from becoming the local artifact key.#15316
74de3abThanks @dexvdev! - Restore cross-process service bindings after a machine wakes from sleepWorkers running in separate
wrangler devor Vite dev sessions now reconnect automatically after the machine wakes. Previously, service bindings could returnWorker "<name>" not founduntil the serving process reloaded or restarted.#15242
0cb8690Thanks @aesopfrom0! - Shut downworkerdwhen Miniflare is terminated withSIGHUPOn
SIGHUP, Miniflare now stopsworkerdand removes its temporary directory instead of leaving them behind. Previously onlySIGINTandSIGTERMwere handled, so tools that embed Miniflare, such as@cloudflare/vitest-pool-workersand@cloudflare/vite-plugin, could leave a stray process and directory behind on each run.@cloudflare/vite-plugin@1.54.0
Minor Changes
#15134
c66d2d5Thanks @gpanders! - Enable FUSE-capable local container developmentMiniflare now automatically passes the Docker privileges needed for FUSE to local Durable Object containers when using local rootless Docker on Linux with
/dev/fuseavailable, or a local Docker engine on macOS or through WSL where Linux containers run in a VM. This applies to Wrangler, the Cloudflare Vite plugin, and direct Miniflare use.#15326
9fcb1c9Thanks @jamesopstad! - Record the selected mode in the Build Output Specification top-levelconfig.jsonThe mode a build was produced in is now written to
.cloudflare/output/v0/config.jsonas amodefield, alongside the account and compliance settings.Patch Changes
aa54b49,4a67a28,2d78137,04e8564,d1cc3af,693ca29,693ca29,693ca29,daefb3c,37ed753,f76b68e,ad89456,c809851,c66d2d5,693ca29,74de3ab,0cb8690,9fcb1c9,22182da,a4c3458,d589d30,dd5148d,82d11fc]:@cloudflare/vitest-plugin@1.1.0
Minor Changes
#15117
f0c9c66Thanks @edmundhung! - Support Workerd's new module registry in Workers Vitest testsThe pool now follows Workerd's V2 module fallback protocol when
new_module_registryis selected while retaining the V1 path forlegacy_module_registry. Tests using the new registry preserve URL-basedimport.metabehavior and load CommonJS dependencies as native CommonJS modules with named exports.#15272
c921b3fThanks @penalosa! - Add an experimentalnewConfigoption for loading the Worker's configuration fromcloudflare.config.tsProjects that have migrated to the new TypeScript configuration format had no way to run their Vitest suite against their real bindings, since there was no Wrangler configuration file left to point
wrangler.configPathat. This adds the missing option, modelled on@cloudflare/vite-plugin'sexperimental.newConfig:newConfig: trueloadscloudflare.config.tsfrom the project root; pass{ configPath: "..." }to load it from elsewhere. Config functions are called withctx.modeset to Vite's mode, which defaults to"test"and can be overridden with--mode.experimental.newConfigcannot be combined withwrangler.This is experimental and may change without a major version bump. Wrangler environments,
wrangler.config.tstooling configuration, and type generation are not supported yet.Patch Changes
#15293
7a9b8a7Thanks @thatsKevinJain! - Fix "Network connection lost" when multiple test files use remote bindingsRemote proxy sessions are shared across pool workers by Wrangler config path, but were disposed during each test file's teardown. Because Vitest starts the next file's worker before the previous one finishes stopping, later files reused an already-disposed session and failed with "Network connection lost". Sessions are now disposed only once the last pool worker stops.
Updated dependencies [
aa54b49,4a67a28,2d78137,04e8564,d1cc3af,693ca29,693ca29,693ca29,daefb3c,37ed753,f76b68e,ad89456,c809851,c66d2d5,693ca29,74de3ab,0cb8690,9fcb1c9,22182da,a4c3458,d589d30,dd5148d,82d11fc]:wrangler@4.126.0
Minor Changes
#15332
d1cc3afThanks @pombosilva! - Adddefault_retentionto Workflow bindings for configuring how long instances are retainedWorkflow instances are retained for an account-wide default period after they finish. You can now set a per-Workflow default in your Wrangler configuration, applied to instances that do not specify their own retention:
{ "workflows": [ { "binding": "MY_WORKFLOW", "name": "my-workflow", "class_name": "MyWorkflow", "default_retention": { "success_retention": "3 days", "error_retention": "7 days" } } ] }Each side is optional and accepts either a duration string such as
"3 days"or a whole number of milliseconds. Durations are interpreted by the Workflows API, which also caps them at your account's retention limit.#15064
693ca29Thanks @tpmmorris! - Include a chronological list of handler events in email test harness results, so programmatic local email tests can assert the order in which messages are received, forwarded, replied to, or rejected.#15065
ad89456Thanks @mtlemilio! - Add experimentalwrangler hyperdrive planetscale signaturefor provisioning Cloudflare-billed PlanetScale databaseswrangler hyperdrive planetscale signatureprints a signed authorization as JSON, proving to PlanetScale that Cloudflare will be billed for the database you are about to create:pscale database createdefaults to Vitess, so pass--engine postgresqlfor a Postgres database, and--format jsonis recommended when the output is consumed by an agent.This requires
pscalev0.313.0 or newer. Wrangler authorizes the Cloudflare billing side only, so your PlanetScale credentials stay between you andpscale.The signature is a cryptographically signed token that authorizes creating a database billed to your Cloudflare account. Treat it as a credential and do not share it. Piping it, as above, is recommended over passing it as a command line argument.
This command is experimental and its interface may change.
#15134
c66d2d5Thanks @gpanders! - Enable FUSE-capable local container developmentMiniflare now automatically passes the Docker privileges needed for FUSE to local Durable Object containers when using local rootless Docker on Linux with
/dev/fuseavailable, or a local Docker engine on macOS or through WSL where Linux containers run in a VM. This applies to Wrangler, the Cloudflare Vite plugin, and direct Miniflare use.#15326
9fcb1c9Thanks @jamesopstad! - Record the selected mode in the Build Output Specification top-levelconfig.jsonThe mode a build was produced in is now written to
.cloudflare/output/v0/config.jsonas amodefield, alongside the account and compliance settings.#14966
a4c3458Thanks @yomna-shousha! - Add pull request metadata towrangler previewdeploymentswrangler previewnow detects the pull request associated with the current CI run (GitHub Actions, GitLab CI, CircleCI, and a genericPULL_REQUEST_URL/PR_URL/CHANGE_URLfallback) and attaches it, along with the repository URL, to the preview deployment as annotations (workers/pull_request_number,workers/pull_request_url,workers/repository_url).This is best effort: if no pull request can be detected, nothing changes. When a pull request is detected, its URL is now also shown in the
wrangler previewcommand output.Patch Changes
#15294
4a67a28Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15328
2d78137Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15346
04e8564Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15246
daefb3cThanks @edmundhung! - Prepare autoconfig for multiple configuration targetsAdd target-specific configuration output and command detection while preserving Wrangler's existing setup and deployment behavior.
#15320
c809851Thanks @Om-singhaI! - Fixwrangler login --use-keyringincorrectly reporting thatsecret-toolis missing on LinuxLibsecret's
secret-tooldoes not support--version; it prints usage and exits 2, which Wrangler previously interpreted as unavailable. Wrangler now reports it missing only when launching the executable fails.#15336
22182daThanks @podonnell-dev! -[private beta]: Explain unavailable Preview URLs afterwrangler previewdeploymentsWhen a Preview deployment has no active URLs, Wrangler now explains how to enable Preview Deployments on workers.dev or a custom domain.
#15296
d589d30Thanks @MattieTK! - Stop automatically offering to install Cloudflare skills for new usersWrangler will no longer prompt new users to install Cloudflare skills after commands complete. It will continue to offer updates to skills that Wrangler previously installed.
Updated dependencies [
aa54b49,4a67a28,2d78137,04e8564,693ca29,693ca29,693ca29,37ed753,f76b68e,c66d2d5,693ca29,74de3ab,0cb8690,dd5148d,82d11fc]:create-cloudflare@2.72.3
Patch Changes
#15321
c457bfcThanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
#15322
9da6bbdThanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
#15328
2d78137Thanks @dependabot! - Update the Hello World templates to use@cloudflare/vitest-pluginv1Newly generated Workers projects now use the renamed Vitest integration package instead of the deprecated
@cloudflare/vitest-pool-workerspackage.@cloudflare/pages-shared@0.13.172
Patch Changes
aa54b49,4a67a28,2d78137,04e8564,693ca29,693ca29,693ca29,37ed753,f76b68e,c66d2d5,693ca29,74de3ab,0cb8690,dd5148d,82d11fc]:@cloudflare/workers-auth@0.6.6
Patch Changes
#15320
c809851Thanks @Om-singhaI! - Fixwrangler login --use-keyringincorrectly reporting thatsecret-toolis missing on LinuxLibsecret's
secret-tooldoes not support--version; it prints usage and exits 2, which Wrangler previously interpreted as unavailable. Wrangler now reports it missing only when launching the executable fails.@cloudflare/remote-bindings@0.0.15
Patch Changes
aa54b49,4a67a28,2d78137,04e8564,693ca29,693ca29,693ca29,37ed753,f76b68e,c809851,c66d2d5,693ca29,74de3ab,0cb8690,a4c3458,dd5148d,82d11fc]:@cloudflare/runtime-types@0.0.17
Patch Changes
aa54b49,4a67a28,2d78137,04e8564,693ca29,693ca29,693ca29,37ed753,f76b68e,c66d2d5,693ca29,74de3ab,0cb8690,dd5148d,82d11fc]: