Skip to content

Releases: cloudflare/workers-sdk

wrangler@3.114.16

19 Dec 17:18
c48751a

Choose a tag to compare

Patch Changes

  • #11689 9bab0a0 Thanks @ascorbic! - Display a warning when authentication errors occur and the account_id in 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 your wrangler.toml or wrangler.jsonc file.

  • #10737 c41a078 Thanks @workers-devprod! - Allow WRANGLER_SEND_ERROR_REPORTS env var to override whether to report Wrangler crashes to Sentry

  • #11134 bd39455 Thanks @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 9cb702e Thanks @dario-piotrowicz! - Fix observability.logs.persist being flagged as an unexpected field during the wrangler config file validation

  • #11147 cf4993b Thanks @FlorentCollin! - Improve the formatting of the D1 execute command to always show the duration in milliseconds with two decimal places.

  • #11650 cc29ead Thanks @ascorbic! - fix: respect TypeScript path aliases when resolving non-JS modules with module rules

    When importing non-JavaScript files (like .graphql, .txt, etc.) using TypeScript path aliases defined in tsconfig.json, Wrangler's module-collection plugin now correctly resolves these imports. Previously, path aliases were only respected for JavaScript/TypeScript files, causing imports like import schema from '~lib/schema.graphql' to fail when using module rules.

  • #11179 7f779e9 Thanks @ascorbic! - Log a more helpful error when attempting to "r2 object put" a non-existent file

  • #11501 c78d942 Thanks @edmundhung! - fix: prevent reporting SQLite error from wrangler d1 execute to Sentry

  • #11262 b2683f7 Thanks @workers-devprod! - Avoid using object lookup for OAuth Error classes

  • #11107 d8037d3 Thanks @workers-devprod! - Fixed conflict between --env and --expires flags in wrangler r2 object put.

    --e now aliases --env only, and NOT --expires.

  • #10961 02d2ea9 Thanks @devin-ai-integration! - Acquire Cloudflare Access tokens for additional requests made during a wrangler dev --remote session

  • #11108 892ec4f Thanks @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 3db872a Thanks @devin-ai-integration! - Implement tail-based logging for wrangler dev remote mode, behind the --x-tail-tags flag. This will become the default in the future.

  • #10889 204616c Thanks @workers-devprod! - Clarify that wrangler check startup generates a local CPU profile

  • #11491 ed8aaef Thanks @edmundhung! - Explicitly close FileHandle in wrangler d1 execute to support Node 25

  • #10962 203e599 Thanks @devin-ai-integration! - Fixed duplicate warning messages appearing during wrangler dev when configuration changes or state transitions occur

  • #11601 62754f8 Thanks @petebacondarwin! - Fix "TypeError: Body is unusable: Body has already been read" when failing to exchange oauth code because of double response.text().

  • #11138 3db872a Thanks @devin-ai-integration! - We're soon going to make backend changes that mean that wrangler dev --remote sessions will no longer have an associated inspector connection. In advance of these backend changes, we've enabled a new wrangler tail-based logging strategy for wrangler dev --remote. For now, you can revert to the previous logging strategy with wrangler 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 71758e9 Thanks @petebacondarwin! - add more logging around Wrangler authentication to help diagnose issues

  • Updated dependencies [d006fae, 4ae9ead]:

    • miniflare@3.20250718.3

miniflare@3.20250718.3

19 Dec 17:18
c48751a

Choose a tag to compare

Patch Changes

  • #11664 d006fae Thanks @NuroDev! - Fix Durable Object RPC calls from Node.js blocking the event loop, preventing Promise.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 4ae9ead Thanks @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

18 Dec 13:17
6be9321

Choose a tag to compare

Minor Changes

  • #11196 171cfd9 Thanks @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 472cf72 Thanks @vovacf201! - feat: add R2 Data Catalog snapshot expiration commands

    Adds new commands to manage automatic snapshot expiration for R2 Data Catalog tables:

    • wrangler r2 bucket catalog snapshot-expiration enable - Enable automatic snapshot expiration
    • wrangler 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 428ae9e Thanks @ascorbic! - fix: respect TypeScript path aliases when resolving non-JS modules with module rules

    When importing non-JavaScript files (like .graphql, .txt, etc.) using TypeScript path aliases defined in tsconfig.json, Wrangler's module-collection plugin now correctly resolves these imports. Previously, path aliases were only respected for JavaScript/TypeScript files, causing imports like import schema from '~lib/schema.graphql' to fail when using module rules.

  • #11647 c0e249e Thanks @dario-piotrowicz! - The auto-configuration logic present in wrangler setup and wrangler deploy --x-autoconfig cannot reliably handle Hono projects, so in these cases make sure to properly error saying that automatically configuring such projects is not supported.

  • #11694 3853200 Thanks @dario-piotrowicz! - fix: improve the open-next detection that wrangler deploy performs to eliminate false positives for non open-next projects

  • Updated dependencies [ae1ad22, 737c0f4]:

    • miniflare@4.20251217.0

miniflare@4.20251217.0

18 Dec 13:17
6be9321

Choose a tag to compare

Patch Changes

  • #11679 ae1ad22 Thanks @dependabot! - chore: update dependencies of "miniflare" package

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20251213.0 1.20251217.0
  • #11663 737c0f4 Thanks @NuroDev! - Fix Durable Object RPC calls from Node.js blocking the event loop, preventing Promise.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

18 Dec 13:17
6be9321

Choose a tag to compare

Minor Changes

  • #11684 f1f036c Thanks @ascorbic! - Add --variant CLI 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 1be6bfe Thanks @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

18 Dec 13:17
6be9321

Choose a tag to compare

Patch Changes

@cloudflare/vite-plugin@1.19.0

18 Dec 13:17
6be9321

Choose a tag to compare

Minor Changes

  • #11670 3483b84 Thanks @jamesopstad! - Provide the resolved entry Worker config in the second parameter to the auxiliary Worker config function. 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

18 Dec 13:17
6be9321

Choose a tag to compare

Patch Changes

@cloudflare/containers-shared@0.6.0

18 Dec 13:17
6be9321

Choose a tag to compare

Minor Changes

  • #11196 171cfd9 Thanks @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

16 Dec 12:35
8ba87a0

Choose a tag to compare

Minor Changes

Patch Changes

  • #11615 ed42010 Thanks @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 6b28de1 Thanks @petebacondarwin! - update command status text and formatting

  • #11578 4201472 Thanks @gpanders! - Fixup UX papercuts in containers SSH

  • #11550 95d81e1 Thanks @hiendv! - Fix "TypeError: Body is unusable: Body has already been read" when failing to exchange oauth code because of double response.text().

  • Updated dependencies [5d085fb, b75b710, 1e9be12]:

    • miniflare@4.20251213.0