github cloudflare/workers-sdk @cloudflare/workers-utils@0.22.0

Minor Changes

  • #13955 a2ef1a3 Thanks @G4brym! - Add support for the new web_search binding kind.

    Cloudflare Web Search is a managed, zero-setup web discovery primitive for agents and Workers. Declare the binding as a single object in wrangler.jsonc:

    {
    	"web_search": { "binding": "WEBSEARCH" },
    }

    There is exactly one shared web corpus, so there is no namespace, instance, or other field to specify -- only the variable name. The binding exposes a single search() method that returns URLs and catalog metadata for a query. Web Search is discovery-only -- to read a result's content the caller invokes the global fetch() API against the result's url.

    The binding is always remote in local development: Miniflare proxies to the production Web Search service via the remote-bindings transport. Adds the websearch.run OAuth scope to wrangler login.

    Also adds a wrangler websearch search command for running ad-hoc queries from the CLI:

    npx wrangler websearch search "cloudflare workers"
    npx wrangler websearch search "cloudflare workers" --limit 5
    npx wrangler websearch search "cloudflare workers" --json

    --limit is optional (defaults to 10, capped at 20). --json prints the raw response; without it the results render as a pretty table.

  • #13860 c8c7ec0 Thanks @oliy! - Rename pipeline field to stream in pipeline bindings configuration

    The pipeline field inside pipelines bindings has been renamed to stream to align with the updated API wire format. The old pipeline field is still accepted but deprecated and will emit a warning.

    Before:

    // wrangler.json
    {
    	"pipelines": [
    		{
    			"binding": "MY_PIPELINE",
    			"pipeline": "my-stream-name",
    		},
    	],
    }

    After:

    // wrangler.json
    {
    	"pipelines": [
    		{
    			"binding": "MY_PIPELINE",
    			"stream": "my-stream-name",
    		},
    	],
    }

Patch Changes

  • #14111 599b27a Thanks @nikitacano! - Fix cloudflared SHA256 checksum mismatch on macOS

    The update service (update.argotunnel.com) returns a checksum for the extracted binary, not the .tgz tarball. We were computing the SHA256 of the tarball itself, which always mismatched on macOS where cloudflared is distributed as a compressed archive.

    This aligns with cloudflared's own auto-updater (cmd/cloudflared/updater/workers_update.go), which decompresses the tarball first, then checksums the resulting binary. We now do the same: extract, then verify.

  • #12400 d4177ce Thanks @dario-piotrowicz! - Filter compatibility date fallback warning when no update is available

    The compatibility date warning from workerd (e.g., "The latest compatibility date supported by the installed Cloudflare Workers Runtime is...") is now only shown when a newer version of @cloudflare/vite-plugin is available. This matches the behavior in Wrangler and reduces noise when the user is already on the latest version.

    The update-check logic has been extracted to @cloudflare/workers-utils so it can be shared across packages.

Don't miss a new workers-sdk release

NewReleases is sending notifications on new releases.