Releases: cloudflare/workers-sdk
wrangler@3.114.16
Patch Changes
-
#11689
9bab0a0Thanks @ascorbic! - Display a warning when authentication errors occur and theaccount_idin your Wrangler configuration does not match any of your authenticated accounts. This helps identify configuration issues where you may have the wrong account ID set in yourwrangler.tomlorwrangler.jsoncfile. -
#10737
c41a078Thanks @workers-devprod! - Allow WRANGLER_SEND_ERROR_REPORTS env var to override whether to report Wrangler crashes to Sentry -
#11134
bd39455Thanks @petebacondarwin! - Reduce the amount of arguments being passed in metrics capture.Now the argument values that are captured come from an allow list,
and can be marked as ALLOW (capture the real value) or REDACT (capture as ""). -
#11020
9cb702eThanks @dario-piotrowicz! - Fixobservability.logs.persistbeing flagged as an unexpected field during the wrangler config file validation -
#11147
cf4993bThanks @FlorentCollin! - Improve the formatting of the D1 execute command to always show the duration in milliseconds with two decimal places. -
#11650
cc29eadThanks @ascorbic! - fix: respect TypeScript path aliases when resolving non-JS modules with module rulesWhen importing non-JavaScript files (like
.graphql,.txt, etc.) using TypeScript path aliases defined intsconfig.json, Wrangler's module-collection plugin now correctly resolves these imports. Previously, path aliases were only respected for JavaScript/TypeScript files, causing imports likeimport schema from '~lib/schema.graphql'to fail when using module rules. -
#11179
7f779e9Thanks @ascorbic! - Log a more helpful error when attempting to "r2 object put" a non-existent file -
#11501
c78d942Thanks @edmundhung! - fix: prevent reporting SQLite error fromwrangler d1 executeto Sentry -
#11262
b2683f7Thanks @workers-devprod! - Avoid using object lookup for OAuth Error classes -
#11107
d8037d3Thanks @workers-devprod! - Fixed conflict between--envand--expiresflags inwrangler r2 object put.--enow aliases--envonly, and NOT--expires. -
#10961
02d2ea9Thanks @devin-ai-integration! - Acquire Cloudflare Access tokens for additional requests made during awrangler dev --remotesession -
#11108
892ec4fThanks @emily-shen! - Fixed self-bindings (service bindings to the same worker) showing as [not connected] in wrangler dev. Self-bindings now correctly show as [connected] since a worker is always available to itself. -
#11138
3db872aThanks @devin-ai-integration! - Implement tail-based logging forwrangler devremote mode, behind the--x-tail-tagsflag. This will become the default in the future. -
#10889
204616cThanks @workers-devprod! - Clarify thatwrangler check startupgenerates a local CPU profile -
#11491
ed8aaefThanks @edmundhung! - Explicitly close FileHandle inwrangler d1 executeto support Node 25 -
#10962
203e599Thanks @devin-ai-integration! - Fixed duplicate warning messages appearing during wrangler dev when configuration changes or state transitions occur -
#11601
62754f8Thanks @petebacondarwin! - Fix "TypeError: Body is unusable: Body has already been read" when failing to exchange oauth code because of doubleresponse.text(). -
#11138
3db872aThanks @devin-ai-integration! - We're soon going to make backend changes that mean thatwrangler dev --remotesessions will no longer have an associated inspector connection. In advance of these backend changes, we've enabled a newwrangler tail-based logging strategy forwrangler dev --remote. For now, you can revert to the previous logging strategy withwrangler dev --remote --no-x-tail-logs, but in future it will not be possible to revert.The impact of this will be that logs that were previously available via devtools will now be provided directly to the Wrangler console and it will no longer be possible to interact with the remote Worker via the devtools console.
-
#11194
71758e9Thanks @petebacondarwin! - add more logging around Wrangler authentication to help diagnose issues -
Updated dependencies [
d006fae,4ae9ead]:- miniflare@3.20250718.3
miniflare@3.20250718.3
Patch Changes
-
#11664
d006faeThanks @NuroDev! - Fix Durable Object RPC calls from Node.js blocking the event loop, preventingPromise.race()and timeouts from working correctly.Previously, RPC calls from Node.js to Durable Objects would block the Node.js event loop, causing
Promise.race()with timeouts to never resolve. This fix ensures that RPC calls properly yield control back to the event loop, allowing concurrent operations and timeouts to work as expected. -
#10890
4ae9eadThanks @alsuren! - Document that dumpSql is shared with d1-worker, and incorporate some D1 internal stats gathering machinery (which is currently unused by miniflare)
wrangler@4.56.0
Minor Changes
-
#11196
171cfd9Thanks @emily-shen! - For containers being created in a FedRAMP high environment, registry credentials are encrypted by the container platform.
Update wrangler to correctly send a request to configure a registry for FedRAMP containers. -
#11646
472cf72Thanks @vovacf201! - feat: add R2 Data Catalog snapshot expiration commandsAdds new commands to manage automatic snapshot expiration for R2 Data Catalog tables:
wrangler r2 bucket catalog snapshot-expiration enable- Enable automatic snapshot expirationwrangler r2 bucket catalog snapshot-expiration disable- Disable automatic snapshot expiration
Snapshot expiration helps manage storage costs by automatically removing old table snapshots while keeping a minimum number of recent snapshots for recovery purposes.
Example usage:
# Enable snapshot expiration for entire catalog (keep 10 snapshots, expire after 5 days) wrangler r2 bucket catalog snapshot-expiration enable my-bucket --token $R2_CATALOG_TOKEN --max-age 7200 --min-count 10 # Enable for specific table wrangler r2 bucket catalog snapshot-expiration enable my-bucket my-namespace my-table --token $R2_CATALOG_TOKEN --max-age 2880 --min-count 5 # Disable snapshot expiration wrangler r2 bucket catalog snapshot-expiration disable my-bucket
Patch Changes
-
#11649
428ae9eThanks @ascorbic! - fix: respect TypeScript path aliases when resolving non-JS modules with module rulesWhen importing non-JavaScript files (like
.graphql,.txt, etc.) using TypeScript path aliases defined intsconfig.json, Wrangler's module-collection plugin now correctly resolves these imports. Previously, path aliases were only respected for JavaScript/TypeScript files, causing imports likeimport schema from '~lib/schema.graphql'to fail when using module rules. -
#11647
c0e249eThanks @dario-piotrowicz! - The auto-configuration logic present inwrangler setupandwrangler deploy --x-autoconfigcannot reliably handle Hono projects, so in these cases make sure to properly error saying that automatically configuring such projects is not supported. -
#11694
3853200Thanks @dario-piotrowicz! - fix: improve the open-next detection thatwrangler deployperforms to eliminate false positives for non open-next projects -
Updated dependencies [
ae1ad22,737c0f4]:- miniflare@4.20251217.0
miniflare@4.20251217.0
Patch Changes
-
#11679
ae1ad22Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
Dependency From To workerd 1.20251213.0 1.20251217.0 -
#11663
737c0f4Thanks @NuroDev! - Fix Durable Object RPC calls from Node.js blocking the event loop, preventingPromise.race()and timeouts from working correctly.Previously, RPC calls from Node.js to Durable Objects would block the Node.js event loop, causing
Promise.race()with timeouts to never resolve. This fix ensures that RPC calls properly yield control back to the event loop, allowing concurrent operations and timeouts to work as expected.
create-cloudflare@2.61.0
Minor Changes
- #11684
f1f036cThanks @ascorbic! - Add--variantCLI argument to select framework variants non-interactively. This allows users to skip the variant selection prompt when creating React projects by specifying the variant directly, for example:npm create cloudflare my-app -- --framework=react --platform=workers --variant=react-ts.
Patch Changes
-
#11662
1be6bfeThanks @pombosilva! - Generate Workflow name based on worker name in hello-world-workflows template.Previously, the hello-world-workflows template defaulted to the workflow name
workflows-hello-world. This caused deployments to overwrite existing workflows when
users forgot to change the name, since workflow names must be unique. The workflow
name is now generated from the worker name.
@cloudflare/vitest-pool-workers@0.11.1
@cloudflare/vite-plugin@1.19.0
Minor Changes
-
#11670
3483b84Thanks @jamesopstad! - Provide the resolved entry Worker config in the second parameter to the auxiliary Workerconfigfunction. This makes it straightforward to inherit configuration from the entry Worker in auxiliary Workers.Example:
export default defineConfig({ plugins: [ cloudflare({ auxiliaryWorkers: [ { config: (_, { entryWorkerConfig }) => ({ name: "auxiliary-worker", main: "./src/auxiliary-worker.ts", // Inherit compatibility settings from entry Worker compatibility_date: entryWorkerConfig.compatibility_date, compatibility_flags: entryWorkerConfig.compatibility_flags, }), }, ], }), ], });
Patch Changes
@cloudflare/pages-shared@0.13.95
@cloudflare/containers-shared@0.6.0
Minor Changes
- #11196
171cfd9Thanks @emily-shen! - For containers being created in a FedRAMP high environment, registry credentials are encrypted by the container platform.
Update wrangler to correctly send a request to configure a registry for FedRAMP containers.
wrangler@4.55.0
Minor Changes
-
#11301
6c590a0Thanks @dario-piotrowicz! - Makewrangler deployrunopennextjs-cloudflare deploywhen executed in an open-next project -
#11045
12a63efThanks @edmundhung! - Add an internalunstable_printBindingsAPI for vite plugin integration -
#11590
7d8d4a6Thanks @pombosilva! - Add Workflows send-event to wrangler commands. -
#11301
6c590a0Thanks @dario-piotrowicz! - Support Next.js (via OpenNext) projects in autoconfig
Patch Changes
-
#11615
ed42010Thanks @elithrar! - Add helpful warning when SSL certificate errors occur due to corporate proxies or VPNs intercepting HTTPS traffic. When errors like "self-signed certificate in certificate chain" are detected, wrangler now displays guidance about installing missing system roots from your corporate proxy vendor. -
#11641
6b28de1Thanks @petebacondarwin! - update command status text and formatting -
#11578
4201472Thanks @gpanders! - Fixup UX papercuts in containers SSH -
#11550
95d81e1Thanks @hiendv! - Fix "TypeError: Body is unusable: Body has already been read" when failing to exchange oauth code because of doubleresponse.text(). -
Updated dependencies [
5d085fb,b75b710,1e9be12]:- miniflare@4.20251213.0