What changed
Cloudflare changed the default runtime baseline for Workers and Pages. For compatibility dates of 2026-08-04 or later, supported Node.js compatibility and the v2 compatibility layer are enabled automatically; projects no longer need to add `nodejs_compat` or `nodejs_compat_v2` to use supported built-in modules and many npm packages. Cloudflare documents support for APIs including `node:crypto`, `node:buffer`, `node:stream`, `node:net`, `node:dns`, `node:fs` and `node:http`. Existing projects on earlier compatibility dates keep their previous behavior. A project that deliberately wants Node.js compatibility disabled on a newer date must now add the corresponding negative compatibility flags.
Why it matters
The change makes the default Cloudflare Workers experience more familiar to Node.js developers and lowers one of the practical barriers to moving packages and server-side JavaScript onto the edge. It also changes upgrade semantics: advancing a project's compatibility date can now bring Node compatibility into the runtime even if the project never explicitly requested it. Builders therefore need to treat compatibility dates as an application-runtime boundary, test package behavior when advancing them and remember that Cloudflare still implements some Node APIs partially or as non-functional shims rather than providing a complete Node.js runtime.
Node compatibility has moved from opt-in to baseline behavior
Historically, Workers projects that needed Node.js built-ins added `nodejs_compat` and often the v2 compatibility flag. Cloudflare now enables the supported behavior automatically for compatibility dates on or after August 4, 2026. New projects using current dates therefore begin with Node-compatible APIs exposed without extra Wrangler configuration.
The immediate gain is broader npm portability
Many npm packages assume built-ins such as crypto, Buffer, streams, networking or HTTP modules exist. Making those supported APIs available by default reduces the amount of polyfill, bundler and compatibility configuration needed before a package can run on Workers. That can shorten the path from an ordinary Node-oriented package to an edge deployment.
Compatibility dates are now an even more important migration boundary
Older projects are not silently rewritten: behavior remains tied to the project's chosen compatibility date. But when a team advances that date, the new Node default can become part of the runtime environment. Cloudflare recommends testing date changes, and teams with deliberately minimal or web-standard-only Workers should make the opt-out explicit instead of assuming the old default persists.
Opting out now requires negative flags
For newer compatibility dates, projects that want Node.js compatibility fully disabled can use the documented `no_nodejs_compat` and `no_nodejs_compat_v2` flags. That inversion is operationally significant because 'no flag' now means compatibility is enabled rather than disabled.
Workers still is not identical to Node.js
Cloudflare's Node.js compatibility documentation distinguishes fully supported APIs from partially supported modules and shims that exist primarily so package imports resolve. A package loading successfully is therefore not proof that all of its runtime assumptions are implemented. File-system, process, native-addon and low-level networking behavior still needs workload-specific validation.