Skip to content

Releases: cloudflare/workers-sdk

[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

Minor Changes

  • #12401 8723684 Thanks @jonesphillip! - Add validation retry loops to pipelines setup command

    The wrangler pipelines setup command now prompts users to retry when validation errors occur, instead of failing the entire setup process. This includes:

    • Validation retry prompts for pipeline names, bucket names, and field names
    • A "simple" mode for sink configuration that uses sensible defaults
    • Automatic bucket creation when buckets don't exist
    • Automatic Data Catalog enablement when not already active

    This improves the setup experience by allowing users to correct mistakes without restarting the entire configuration flow.

  • #12395 aa82c2b Thanks @cmackenzie1! - Generate typed pipeline bindings from stream schemas

    When running wrangler types, pipeline bindings now generate TypeScript types based on the stream's schema definition. This gives you full autocomplete and type checking when sending data to your pipelines.

    // wrangler.json
    {
    	"pipelines": [
    		{ "binding": "ANALYTICS", "pipeline": "analytics-stream-id" },
    	],
    }

    If your stream has a schema with fields like user_id (string) and event_count (int32), the generated types will be:

    declare namespace Cloudflare {
    	type AnalyticsStreamRecord = { user_id: string; event_count: number };
    	interface Env {
    		ANALYTICS: Pipeline<Cloudflare.AnalyticsStreamRecord>;
    	}
    }

    For unstructured streams or when not authenticated, bindings fall back to the generic Pipeline<PipelineRecord> type.

Patch Changes

  • #12592 aaa7200 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260217.0 1.20260218.0
  • #12606 2f19a40 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260218.0 1.20260219.0
  • #12604 e2a6600 Thanks @petebacondarwin! - fix: pass --env flag to auxiliary workers in multi-worker mode

    When running wrangler dev with multiple config files (e.g. -c ./apps/api/wrangler.jsonc -c ./apps/queues/wrangler.jsonc -e=dev), the --env flag was not being passed to auxiliary (non-primary) workers. This meant that environment-specific configuration (such as queue bindings) was not applied to auxiliary workers, causing features like queue consumers to not be triggered in local development.

  • #12597 0b17117 Thanks @sdnts! - The maximum allowed delivery and retry delays for Queues is now 24 hours

  • #12598 ca58062 Thanks @mattzcarey! - Stop redacting wrangler whoami output in non-interactive mode

    wrangler whoami is explicitly invoked to retrieve account info, so email and account names should always be visible. Redacting them in non-interactive/CI environments makes it difficult for coding agents and automated tools to identify which account to use. Other error messages that may appear unexpectedly in CI logs (e.g. multi-account selection errors) remain redacted.

  • Updated dependencies [f239077, aaa7200, 2f19a40, 5f9f0b4, 452cdc8, 527e4f5, 0b17117]:

[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

Minor Changes

  • #12462 f239077 Thanks @petebacondarwin! - Add Miniflare#purgeCache() method to clear cache entries programmatically

    This allows developers to clear cached data during local development without
    restarting the Miniflare instance. Useful when working with Workers Sites
    or any application that uses the Cache API.

    const mf = new Miniflare({
    	/* options */
    });
    
    // Purge the default cache
    await mf.purgeCache();
    
    // Purge a specific named cache
    await mf.purgeCache("my-named-cache");
  • #12574 527e4f5 Thanks @emily-shen! - Local explorer: add /query endpoint to introspect sqlite in DOs

    This required adding a wrapper that extends user DO classes and adds in an extra method to access ctx.storage.sql. This shouldn't have any impact on user code, but is gated by the env var X_LOCAL_EXPLORER.

    This is for an experimental WIP feature.

Patch Changes

  • #12592 aaa7200 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260217.0 1.20260218.0
  • #12606 2f19a40 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260218.0 1.20260219.0
  • #12597 0b17117 Thanks @sdnts! - The maximum allowed delivery and retry delays for Queues is now 24 hours

@cloudflare/[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

Minor Changes

  • #12549 10e2e15 Thanks @penalosa! - Add expandable object logging and improved console UI

    The Quick Editor console now displays logged objects and arrays as expandable tree views instead of [object Object].

@cloudflare/[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

@cloudflare/[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

@cloudflare/[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

Minor Changes

  • #11734 5f9f0b4 Thanks @petebacondarwin! - Add support for native node:readline module when the enable_nodejs_readline_module compatibility flag is enabled.

    This feature is currently experimental and requires both the enable_nodejs_readline_module and experimental compatibility flags to be set.

  • #12043 452cdc8 Thanks @petebacondarwin! - Add support for native node:worker_threads module from workerd when the enable_nodejs_worker_threads_module compatibility flag is enabled.

    This feature is currently experimental and requires nodejs_compat, experimental, and enable_nodejs_worker_threads_module compatibility flags to be set.

@cloudflare/[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

@cloudflare/[email protected]

19 Feb 13:14
88705ad

Choose a tag to compare

Minor Changes

  • #12570 01ded52 Thanks @NuroDev! - Add the initial plumbing for data studio components.

    This serves as another stepping stone for adding the complete data studio to the local explorer.

    This is a WIP experimental feature.

[email protected]

17 Feb 11:46
dae8d21

Choose a tag to compare

Minor Changes

  • #12466 caf9b11 Thanks @petebacondarwin! - Add WRANGLER_CACHE_DIR environment variable and smart cache directory detection

    Wrangler now intelligently detects where to store cache files:

    1. Use WRANGLER_CACHE_DIR env var if set
    2. Use existing cache directory if found (node_modules/.cache/wrangler or .wrangler/cache)
    3. Create cache in node_modules/.cache/wrangler if node_modules exists
    4. Otherwise use .wrangler/cache

    This improves compatibility with Yarn PnP, pnpm, and other package managers that don't use traditional node_modules directories, without requiring any configuration.

  • #12572 936187d Thanks @dario-piotrowicz! - Ensure the nodejs_compat flag is always applied in autoconfig

    Previously, the autoconfig feature relied on individual framework configurations to specify Node.js compatibility flags, some could set nodejs_compat while others nodejs_als.

    Now instead nodejs_compat is always included as a compatibility flag, this is generally beneficial and the user can always remove the flag afterwards if they want to.

  • #12560 c4c86f8 Thanks @taylorlee! - Support --tag and --message flags on wrangler deploy

    They have the same behavior that they do as during wrangler versions upload, as both
    are set on the version.

    The message is also reused for the deployment as well, with the same behavior as used
    during wrangler versions deploy.

Patch Changes

  • #12543 5a868a0 Thanks @G4brym! - Fix AI Search binding failing in local dev

    Using AI Search bindings with wrangler dev would fail with "RPC stub points at a non-serializable type". AI Search bindings now work correctly in local development.

  • #12552 c58e81b Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260212.0 1.20260213.0
  • #12568 33a9a8f Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260213.0 1.20260214.0
  • #12576 8077c14 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260214.0 1.20260217.0
  • #12466 caf9b11 Thanks @petebacondarwin! - fix: exclude .wrangler directory from Pages uploads

    The .wrangler directory contains local cache and state files that should never be deployed. This aligns Pages upload behavior with Workers Assets, which already excludes .wrangler via .assetsignore.

  • #12556 7d2355e Thanks @ascorbic! - Fix port availability check probing the wrong host when host changes

    memoizeGetPort correctly invalidated its cached port when called with a different host, but then still probed the original host for port availability. This could return a port that was free on the original host but already in use on the requested one, leading to bind failures at startup.

  • #12562 7ea69af Thanks @MattieTK! - Support function-based Vite configs in autoconfig setup

    wrangler setup and wrangler deploy --x-autoconfig can now automatically add the Cloudflare Vite plugin to projects that use function-based defineConfig() patterns. Previously, autoconfig would fail with "Cannot modify Vite config: expected an object literal but found ArrowFunctionExpression" for configs like:

    export default defineConfig(({ isSsrBuild }) => ({
    	plugins: [reactRouter(), tsconfigPaths()],
    }));

    This pattern is used by several official framework templates, including React Router's node-postgres and node-custom-server templates. The following defineConfig() patterns are now supported:

    • defineConfig({ ... }) (object literal, already worked)
    • defineConfig(() => ({ ... })) (arrow function with expression body)
    • defineConfig(({ isSsrBuild }) => ({ ... })) (arrow function with destructured params)
    • defineConfig(() => { return { ... }; }) (arrow function with block body)
    • defineConfig(function() { return { ... }; }) (function expression)
  • #12548 5cc7158 Thanks @dario-piotrowicz! - Fix .assetsignore formatting when autoconfig creates a new file

    Previously, when wrangler setup or wrangler deploy --x-autoconfig created a new .assetsignore file via autoconfig, it would add unnecessary leading empty lines before the wrangler-specific entries. Empty separator lines should only be added when appending to an existing .assetsignore file. This fix ensures newly created .assetsignore files start cleanly without leading blank lines.

  • #12556 7d2355e Thanks @ascorbic! - Improve error message when port binding is blocked by a sandbox or security policy

    When running wrangler dev inside a restricted environment (such as an AI coding agent sandbox or locked-down container), the port availability check would fail with a raw EPERM error. This now provides a clear message explaining that a sandbox or security policy is blocking network access, rather than the generic permission error that previously pointed at the file system.

  • #12545 c9d0f9d Thanks @dario-piotrowicz! - Improve framework detection when multiple frameworks are found

    When autoconfig detects multiple frameworks in a project, Wrangler now applies smarter logic to select the most appropriate one. Selecting the wrong one is acceptable locally where the user can change the detected framework, in CI an error is instead thrown.

  • #12548 5cc7158 Thanks @dario-piotrowicz! - Add trailing newline to generated package.json and wrangler.jsonc files

  • #12548 5cc7158 Thanks @dario-piotrowicz! - Fix .gitignore formatting when autoconfig creates a new file

    Previously, when wrangler setup or wrangler deploy created a new .gitignore file via autoconfig, it would add unnecessary leading empty lines before the wrangler-specific entries. Empty separator lines should only be added when appending to an existing .gitignore file. This fix ensures newly created .gitignore files start cleanly without leading blank lines.

  • #12545 c9d0f9d Thanks @dario-piotrowicz! - Throw actionable error when autoconfig is run in the root of a workspace

    When running Wrangler commands that trigger auto-configuration (like wrangler dev or wrangler deploy) in the root directory of a monorepo workspace, a helpful error is now shown directing users to run the command in a specific project's directory instead.

  • Updated dependencies [[5a868a0](5a868a0c0b305548e4...

Read more

[email protected]

17 Feb 11:45
dae8d21

Choose a tag to compare

Minor Changes

  • #12546 43c462a Thanks @emily-shen! - Local explorer: add endpoints to list DO namespaces and objects

    This is part of an experimental, WIP feature.

Patch Changes

  • #12543 5a868a0 Thanks @G4brym! - Fix AI Search binding failing in local dev

    Using AI Search bindings with wrangler dev would fail with "RPC stub points at a non-serializable type". AI Search bindings now work correctly in local development.

  • #12552 c58e81b Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260212.0 1.20260213.0
  • #12568 33a9a8f Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260213.0 1.20260214.0
  • #12576 8077c14 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260214.0 1.20260217.0
  • #12466 caf9b11 Thanks @petebacondarwin! - Add MINIFLARE_CACHE_DIR environment variable and smart cache directory detection

    Miniflare now intelligently detects where to store its cf.json cache file:

    1. Use MINIFLARE_CACHE_DIR env var if set
    2. Use existing cache directory if found (node_modules/.mf or .wrangler/cache)
    3. Create cache in node_modules/.mf if node_modules exists
    4. Otherwise use .wrangler/cache

    This improves compatibility with Yarn PnP, pnpm, and other package managers that don't use traditional node_modules directories, without requiring any configuration.