Node.js 25.4.0 Ships with Stable require(esm)
Blog post from Socket
Node.js 25.4.0 marks a significant advancement in the JavaScript ecosystem by declaring the require(esm) feature stable, finalizing the transition between CommonJS and ECMAScript Modules after years of development. Previously in experimental status, require(esm) has been used in recent Node versions, but its stabilization now allows developers to rely on it as a supported runtime feature, simplifying the module system for projects and enabling ESM-first workflows. The stability journey involved addressing edge cases, backports, and ecosystem coordination, as explained by Node.js core contributor Joyee Cheung, who noted that the community-driven nature of Node.js often leads to slower progress without centralized planning. Node.js 25.4.0 also introduces new CLI flags, promotes several APIs to stable status, and updates root certificates, underscoring the release's focus on enhancing module system stability and usability.