github cloudflare/workers-sdk wrangler@3.27.0

Minor Changes

  • #4877 3e7cd6e4 Thanks @magnusdahlstrand! - fix: Do not show unnecessary errors during watch rebuilds

    When Pages is used in conjunction with a full stack framework, the framework
    build will temporarily remove files that are being watched by Pages, such as
    _worker.js and _routes.json.
    Previously we would display errors for these changes, which adds confusing and excessive messages to the Pages dev output. Now builds are skipped if a watched _worker.js or _routes.json is removed.

  • #4901 2469e9fa Thanks @penalosa! - feature: implemented Python support in Wrangler

    Python Workers are now supported by wrangler deploy and wrangler dev.

  • #4922 4c7031a6 Thanks @dario-piotrowicz! - feature: add a ctx field to the getBindingsProxy result

    Add a new ctx filed to the getBindingsProxy result that people can use to mock the production
    ExecutionContext object.

    Example:

    const { ctx } = await getBindingsProxy();
    ctx.waitUntil(myPromise);

Patch Changes

  • #4914 e61dba50 Thanks @nora-soderlund! - fix: ensure d1 validation errors render user friendly messages

  • #4907 583e4451 Thanks @mrbbot! - fix: mark R2 object and bucket not found errors as unreportable

    Previously, running wrangler r2 objects {get,put} with an object or bucket that didn't exist would ask if you wanted to report that error to Cloudflare. There's nothing we can do to fix this, so this change prevents the prompt in this case.

  • #4872 5ef56067 Thanks @rozenmd! - fix: intercept and stringify errors thrown by d1 execute in --json mode

    Prior to this PR, if a query threw an error when run in wrangler d1 execute ... --json, wrangler would swallow the error.

    This PR returns the error as JSON. For example, the invalid query SELECT asdf; now returns the following in JSON mode:

    {
    	"error": {
    		"text": "A request to the Cloudflare API (/accounts/xxxx/d1/database/xxxxxxx/query) failed.",
    		"notes": [
    			{
    				"text": "no such column: asdf at offset 7 [code: 7500]"
    			}
    		],
    		"kind": "error",
    		"name": "APIError",
    		"code": 7500
    	}
    }
  • #4888 3679bc18 Thanks @petebacondarwin! - fix: ensure that the Pages dev proxy server does not change the Host header

    Previously, when configuring wrangler pages dev to use a proxy to a 3rd party dev server,
    the proxy would replace the Host header, resulting in problems at the dev server if it was
    checking for cross-site scripting attacks.

    Now the proxy server passes through the Host header unaltered making it invisible to the
    3rd party dev server.

    Fixes #4799

  • #4909 34b6ea1e Thanks @rozenmd! - feat: add an experimental insights command to wrangler d1

    This PR adds a wrangler d1 insights <DB_NAME> command, to let D1 users figure out which of their queries to D1 need to be optimised.

    This command defaults to fetching the top 5 queries that took the longest to run in total over the last 24 hours.

    You can also fetch the top 5 queries that consumed the most rows read over the last week, for example:

    npx wrangler d1 insights northwind --sortBy reads --timePeriod 7d

    Or the top 5 queries that consumed the most rows written over the last month, for example:

    npx wrangler d1 insights northwind --sortBy writes --timePeriod 31d

    Or the top 5 most frequently run queries in the last 24 hours, for example:

    npx wrangler d1 insights northwind --sortBy count
  • #4830 48f90859 Thanks @Lekensteyn! - fix: listen on loopback for wrangler dev port check and login

    Avoid listening on the wildcard address by default to reduce the attacker's
    surface and avoid firewall prompts on macOS.

    Relates to #4430.

  • #4907 583e4451 Thanks @mrbbot! - fix: ensure wrangler dev --log-level flag applied to all logs

    Previously, wrangler dev may have ignored the --log-level flag for some startup logs. This change ensures the --log-level flag is applied immediately.

  • Updated dependencies [148feff6]:

    • miniflare@3.20240129.1

Don't miss a new workers-sdk release

NewReleases is sending notifications on new releases.