Minor Changes
-
#14685
01d7020Thanks @edmundhung! - Add JSON output to/cdn-cgi/handler/emailThe
/cdn-cgi/handler/emailendpoint now accepts?format=jsonto return the email handler result as JSON, including its outcome, rejection reason, forwarded messages, and replies. Requests withoutformat=jsonstill return the existing text outcome for backward compatibility.
Patch Changes
-
#14929
48f0c6cThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
Dependency From To @cloudflare/workers-types ^5.20260722.1 ^5.20260730.1 workerd 1.20260722.1 1.20260730.1 -
#14810
d7f38c3Thanks @allocsys! - Fix the local Images binding transform (env.IMAGES.input(...).transform(...)) ignoring thefit,gravity, andbackgroundoptions. Previously, local dev always letterboxed transformed images with black bars regardless of the options passed in. Local dev now respectsfit,gravity, andbackground, matching production Images binding behavior. -
#14850
5c25cfeThanks @exKAZUu! - Disable the keep-alive timeout on the loopback serverThe loopback server (which serves custom service bindings,
@cloudflare/vite-plugin's module transport, and other workerd → Node callbacks) used Node's defaultserver.keepAliveTimeoutof 5 seconds. workerd pools and reuses connections to the loopback server, so Node closing an idle pooled socket raced with workerd sending the next request on it, making that request fail withNetwork connection lost. The failure is probabilistic and load-dependent; under@cloudflare/vite-pluginwith a large SSR module graph and a cold optimizer cache (thousands offetchModulecalls with multi-second idle gaps between bursts), it broke most dev sessions. Disable the idle keep-alive timeout on the loopback server, mirroring the undici pools used for dispatch in the opposite direction. -
#14914
1f61001Thanks @nickpatt! - Capture Workflows invocations in local observabilityWhen local observability is enabled, the Workflows engine service is now attached to the trace collector (like every user worker), so workflow runs show up in the Local Explorer's Observability view attributed to the workflow. Previously the engine ran outside the per-user-worker tail wiring, so workflow invocations left no traces, spans, or logs in the local store.