Node.js 18 implements fetch using undici , a high-performance HTTP/1.1 client written specifically for Node.js. This brings the server runtime closer to the browser environment, allowing for isomorphic JavaScript code that runs seamlessly in both environments. Available Global Objects
First: fetch() is built-in. No more node-fetch . Try it right now – it just works.
The most impactful addition in Node 18 was the experimental (now stable) implementation of the node 18 full
: Changed from lookups to using the order returned by the DNS provider. This aligns Node.js behavior with browsers and curl.
If you are running Node.js 18 in production, plan an upgrade to an active LTS version (such as Node.js 20 or Node.js 22) to avoid security vulnerabilities. No more node-fetch
Node.js 18 raised its baseline operating system compatibility requirements:
fetch() , Request , Response , and Headers are available globally. This aligns Node
"Node 18 is now a full LTS release – here are 4 things you need to know in 60 seconds.