Releases: cloudflare/workers-sdk
[email protected]
Minor Changes
- #9393
34b6174
Thanks @jamesopstad! - Hard fail on Node.js < 20. Wrangler no longer supports Node.js 18.x as it reached end-of-life on 2025-04-30. See https://github.com/nodejs/release?tab=readme-ov-file#end-of-life-releases.
Patch Changes
-
#9308
d3a6eb3
Thanks @dario-piotrowicz! - expose new utilities and types to aid consumers of the programmatic mixed-mode APISpecifically the exports have been added:
Experimental_MixedModeSession
: type representing a mixed-mode sessionExperimental_ConfigBindingsOptions
: type representing config-bindingsexperimental_pickRemoteBindings
: utility for picking only the remote bindings from a record of start-worker bindings.unstable_convertConfigBindingsToStartWorkerBindings
: utility for converting config-bindings into start-worker bindings (that can be passed tostartMixedModeSession
)
-
#9347
b8f058c
Thanks @penalosa! - Improve binding display on narrower terminals
[email protected]
Minor Changes
-
#9387
e39a45f
Thanks @jamesopstad! - AddlogReady
method to MiniflareLog
class. This makes it possible to override the messages printed on server start. -
#9376
fdae3f7
Thanks @jamesopstad! - Add support for Node.js style custom handlers for service bindings and outbound services. This makes it easier to integrate Miniflare with existing Node.js middleware and libraries asreq
andres
objects can be used directly.new Miniflare({ serviceBindings: { CUSTOM: { node: (req, res) => { res.end(`Hello world`); }, }, }, });
Patch Changes
-
#9366
d9d937a
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
Dependency From To workerd 1.20250523.0 1.20250525.0 @cloudflare/workers-types ^4.20250523.0 ^4.20250525.0
@cloudflare/[email protected]
Patch Changes
- #9367
2e12e6e
Thanks @Caio-Nogueira! - Fix instance hydration after abort. Some use cases were causing instances to not be properly rehydrated after server shutdown, which would cause the instance to be lost.
@cloudflare/[email protected]
@cloudflare/[email protected]
Patch Changes
-
#9387
e39a45f
Thanks @jamesopstad! - Prevent leaking Miniflare server logs. Logs that were previously filtered were leaking as they were changed to include colors. We now override the new MiniflareLog.logReady
method with a noop rather than filtering the logs. -
#9308
d3a6eb3
Thanks @dario-piotrowicz! - Add newmixedMode
experimental optionAdd a new
mixedMode
experimental option that allows uses to have their worker access remote resources during development (and preview)To enabled mixed mode set the corresponding option to the cloudflare plugin instantiation:
export default defineConfig({ plugins: [ cloudflare({ // ... experimental: { mixedMode: true }, }), ], });
Thereafter bindings configured with the
remote
flags will be accessible by workers' code when run viavite dev
andvite preview
-
Updated dependencies [
34b6174
,d9d937a
,e39a45f
,d3a6eb3
,b8f058c
,fdae3f7
]:
@cloudflare/[email protected]
[email protected]
Minor Changes
-
#9321
6c03bde
Thanks @petebacondarwin! - Add support for FedRAMP High compliance regionNow it is possible to target Wrangler at the FedRAMP High compliance region.
There are two ways to signal to Wrangler to run in this mode:- set
"compliance_region": "fedramp_high"
in a Wrangler configuration - set
CLOUDFLARE_COMPLIANCE_REGION=fedramp_high
environment variable when running Wrangler
If both are provided and the values do not match then Wrangler will exit with an error.
When in this mode OAuth authentication is not supported.
It is necessary to authenticate using a Cloudflare API Token acquired from the Cloudflare FedRAMP High dashboard.Most bindings and commands are supported in this mode.
- Unsupported commands may result in API requests that are not supported - possibly 422 Unprocessable Entity responses.
- Unsupported bindings may work in local dev, as there is no local validation, but will fail at Worker deployment time.
Resolves DEVX-1921.
- set
-
#9330
34c71ce
Thanks @edmundhung! - Updated internal configuration to use Miniflare’s newdefaultPersistRoot
instead of per-pluginpersist
flags -
#8973
cc7fae4
Thanks @Caio-Nogueira! - Show latest instance by default onworkflows instances describe
command
Patch Changes
-
#9335
6479fc5
Thanks @penalosa! - Redesignwrangler dev
to more clearly present information and have a bit of a glow up ✨
-
#9329
410d985
Thanks @penalosa! - Hide logs in thestartMixedModeSession()
API -
#9325
c2678d1
Thanks @edmundhung! - refactor: fallbacks to local image binding from miniflare when local mode is enabled -
Updated dependencies [
34c71ce
,f7c82a4
,7ddd865
,6479fc5
,e5ae13a
]:
[email protected]
Minor Changes
-
#9330
34c71ce
Thanks @edmundhung! - Add a newdefaultPersistRoot
option to control where plugins persist data when no path is provided.// Before this change / No `defaultPersistRoot` new Miniflare({ kvPersist: undefined, // → "/(tmp)/kv" d1Persist: true, // → "$PWD/.mf/d1" r2Persist: false, // → "/(tmp)/r2" cachePersist: "/my-cache", // → "/my-cache" }); // With `defaultPersistRoot` new Miniflare({ defaultPersistRoot: "/storage", kvPersist: undefined, // → "/storage/kv" d1Persist: true, // → "/storage/d1" r2Persist: false, // → "/(tmp)/r2" cachePersist: "/my-cache", // → "/my-cache" });
Patch Changes
-
#9184
f7c82a4
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
Dependency From To workerd 1.20250508.0 1.20250520.0 @cloudflare/workers-types ^4.20250508.0 ^4.20250520.0 -
#9346
7ddd865
Thanks @dependabot! - chore: update dependencies of "miniflare" packageThe following dependency versions have been updated:
Dependency From To workerd 1.20250520.0 1.20250523.0 @cloudflare/workers-types ^4.20250520.0 ^4.20250523.0 -
#9335
6479fc5
Thanks @penalosa! - Redesignwrangler dev
to more clearly present information and have a bit of a glow up ✨
-
#9106
e5ae13a
Thanks @edmundhung! - fix: decouple KV plugin from secrets store pluginThe KV plugin previously configured both KV namespace and secrets store bindings with the same service name but different persistence paths, causing conflicts when both were defined. This change copies the KV binding implementation into the secrets store plugin and customizes its service name to prevent collisions.
[email protected]
Patch Changes
- #9332
a3496bf
Thanks @petebacondarwin! - add extra information about asset serving to hello-world templates
@cloudflare/[email protected]
Patch Changes
-
#9331
3c770ec
Thanks @petebacondarwin! - fix the Vitest integration to support Workers that want Node.js compatibility is only v1 in productionIt does this by adding the
nodejs_compat_v2
flag (if missing) and removingno_nodejs_compat_v2
flag (if found).This does mean that the Vitest tests are running with a slightly different environment to production, but this has always been the case in other ways.
-
#9350
68a9008
Thanks @penalosa! - Don't crash Vitest when started with a non-existent tail consumer -
Updated dependencies [
34c71ce
,f7c82a4
,7ddd865
,6479fc5
,410d985
,e5ae13a
,6c03bde
,c2678d1
,34c71ce
,cc7fae4
]: