Node.js 24: Your Next Big Frontend Upgrade? ![rw-book-cover](https://cdn.thenewstack.io/media/2025/06/5f73ddac-matteocollina-1024x577.jpg) ## Metadata - Author: [[Loraine Lawson]] - Full Title: Node.js 24: Your Next Big Frontend Upgrade? - Category: #articles - Document Note: --- tags: - #nodejs - #javascript - #frontend Author: Loraine Lawson Source: The New Stack Reference: https://thenewstack.io/node-js-24-your-next-big-frontend-upgrade/ date created: 2025-08-20 00:00 --- # Title: Node.js 24: Your Next Big Frontend Upgrade? ## Table of Contents: - [📝 Summary](#-summary) - [📖 Main Content](#-main-content) - [🗒️ Notes](#-notes) - [📖 References](#-references) - [🗣️ Paraphrase](#-paraphrase) - [📰 Newsletter](#-newsletter) - [✅ Action Items](#-action-items) - [🧪 Hypotheses](#-hypotheses) - [📊 Methodology](#-methodology) - [❓ Questions](#-questions) - [🔮 Future Research](#-future-research) - [💡 Implications](#-implications) - [🧠 Learning Styles Assessment](#-learning-styles-assessment) - [📊 Accessibility Assessment](#-accessibility-assessment) - [🌍 DEIB Assessment](#-deib-deib-assessment) - [✅ Logical validity](#-logical-validity) - [🔍 DARVO Analysis](#-darvo-analysis) - [🔍 SEO Evaluation](#-seo-evaluation) - [🎯 Conclusion](#-conclusion) ### References: - JSNation conference (talk cited by Matteo Collina) - Node.js release and LTS schedules - V8 engine updates - TC39 Explicit Resource Management proposal - Platformatic.dev Watt application server ## 📝 Summary: The article recaps Matteo Collina’s JSNation update on Node.js, urging developers to upgrade to Node 24 (the next Active LTS) and questioning the continued growth in downloads of unsupported versions like Node 12 and end-of-life Node 18. Key updates include require() ESM interoperability, dropping the need for .mjs, out-of-the-box TypeScript support targeted to stabilize by Node 24, and V8-driven performance gains (notably ~7% for OpenTelemetry tracing and faster async local storage). It highlights TC39’s Explicit Resource Management for automatic cleanup of native resources, and introduces Watt, Platformatic’s Node.js application server that standardizes observability and can run PHP alongside Node (e.g., WordPress editorial + React front end use cases). Collina also notes reduced security funding (Alpha Omega from ~$300k to ~$150k in 2025), reinforcing the need to stay current for security releases. ## 📖 Main Content: - Upgrade urgency and version adoption - Collina points out surprising growth in downloads for Node 12 and heavy usage of Node 18 post-support, despite Node 24 approaching Active LTS. - Developers often skip versions when upgrading (e.g., 16 → 20 not immediate), suggesting upgrade friction. - Security is the core rationale to upgrade; Node ships quarterly security releases, but funding is strained. - Interop and developer experience improvements - require() ESM works out of the box, easing CommonJS ↔ ESM interop. - .mjs no longer required on the latest Node lines; “just run it and it works.” - TypeScript runs out of the box; planned as a flag on Node 22 and stable by Node 24, credited to Marco Ippolito. - Performance and runtime internals - V8 changes yielded ~7% improvements for OpenTelemetry tracing and faster async local storage. - These improvements ripple into better observability and context propagation performance. - Explicit Resource Management (TC39) - Structured, scope-based cleanup for resources like file handles and streams. - Works for sync and async, addressing leakage risks when exceptions occur. - Already effective for timers and some Node 24 APIs, with plans to expand. - Watt application server (Platformatic.dev) - Enterprise-grade features out of the box: multithreading model, standardized probes, logs, metrics, and OpenTelemetry. - Can run PHP as a native add-on in a separate thread alongside a Node app (e.g., Next.js + WordPress headless). - Serves real-world hybrid stacks where PHP remains prevalent. ### 🗒️ Notes - Upgrade adoption - Persistent downloads for Node 12 and 18 are a risk vector. - Skipping versions suggests teams wait for stable LTS or tooling parity. - Security governance - Quarterly security releases are essential but underfunded (Alpha Omega cut to ~$150k). - Staying current reduces exposure windows. - DX improvements - ESM interop via require() reduces friction in mixed codebases. - Removal of .mjs requirement simplifies scripts and tooling. - TypeScript OOTB promotes consistency across projects. - Performance gains - ~7% OpenTelemetry tracing improvement improves cost and SLOs at scale. - Async local storage speedups benefit frameworks and tracing libs. - Resource lifecycle - Explicit cleanup on scope exit mitigates native resource leaks, especially under error conditions. - Watt server - Multithreading and standardized observability accelerates production-readiness. - PHP-in-Node enables unified processes and headless architectures. ## 📖 References: - Node.js 24: Your Next Big Frontend Upgrade? — The New Stack (Loraine Lawson) - JSNation talk by Matteo Collina (as quoted) - TC39 Explicit Resource Management proposal - Platformatic.dev Watt documentation - V8 release notes for performance features (contextual) ## 🗣️ Paraphrase: 1) Original idea: “Why aren’t you updating Node.js? … Node 24 is going to be the new Active LTS; please, guys, update.” - Paraphrase: Collina challenged the audience on lagging upgrades, emphasizing that with Node 24 becoming Active LTS soon, teams should prioritize moving to it. 2) Original idea: “TypeScript now runs out of the box…hope to have that as a flag on Node 22 and stable by Node 24.” - Paraphrase: Native TypeScript support is landing directly in Node, initially behind a flag in Node 22 and expected to be fully stable by Node 24, streamlining TS workflows. ## 📰 Newsletter: Frontend and Node developers, your next upgrade might be bigger than you think. Matteo Collina (Node.js TSC) delivered a spicy JSNation update: despite Node 24 heading into Active LTS, downloads of unsupported Node 12 are climbing and Node 18 remains heavily used. Security is the headline—quarterly security releases keep you safe, but funding was cut this year, so staying current matters more than ever. What’s new? Interop gets easier: require() can load ESM, and you can drop the .mjs suffix. TypeScript runs out of the box (flagged in Node 22, aiming stable by Node 24). Under the hood, V8 upgrades yield ~7% better OpenTelemetry tracing and faster async local storage. TC39’s Explicit Resource Management brings automatic cleanup for resources—even when errors happen. Bonus: Platformatic’s Watt server makes Node apps enterprise-ready with standardized logs/metrics/OTel—and yes, you can run PHP beside your Next.js app (hello WordPress headless). If you’ve been waiting for a reason to upgrade, this is it. Further reading: - Node 24 feature highlights and LTS timelines - TC39 Explicit Resource Management proposal - Platformatic Watt overview ## ✅ Action Items: Prompt for alignment with your Developer Advocate/OSPO trajectory: - Map to open source advocacy: Identify how Node 24’s security releases and funding constraints illustrate the need for sustainable OSS investment models; propose a workshop on budgeting for security updates and LTS lifecycle management in WordPress/JS stacks. - Contributor engagement: Outline a contributor pathway around ESM interop testing, TypeScript runtime polish, and docs for Explicit Resource Management; create onboarding issues for first-time contributors. - Education design: Develop a curriculum module—“From Node 16/18 to 24: upgrade testing matrix, ESM migrations, TS OOTB, and tracing benchmarks”—with labs and GitHub templates. - WordPress ecosystem: Produce a tutorial for Next.js + WordPress headless with Watt, including PHP-in-Node threading and OTel tracing; compare to traditional LAMP deployment. - Transparency & inclusivity: Publish a public upgrade playbook with decision logs, de-risking steps, and accessibility/DEIB checks embedded; run inclusive office hours for community Q&A. - OSPO readiness: Draft an organizational policy for runtime version support (LTS cadence, deprecation timelines, SBOM updates) and an observability standard using OpenTelemetry; propose funding contributions to Node security as part of OSPO stewardship. ## 🧪 Hypotheses: - H1: Teams that upgrade to Node 24 experience - Summary: Matteo Collina of the Node.js Technical Steering Committee gave an update on Node.js and questioned why devs download old Node.js versions. - URL: https://thenewstack.io/node-js-24-your-next-big-frontend-upgrade/ ![Featued image for: Node.js 24: Your Next Big Frontend Upgrade?](https://cdn.thenewstack.io/media/2025/06/5f73ddac-matteocollina-1024x577.jpg)Image via JSNation screenshot Open source software developer [Matteo Collina](https://github.com/mcollina), a member of the Node.js Technical Steering Committee, has a question for you: Why aren’t you updating Node.js? And why, for pity’s sake, are downloads of the unsupported Node 12 growing when Node 20 is already in maintenance mode? “Node 12 over there, you see the red one is rising this, I have no clue,” said Collina, pointing to a graph that, indeed, showed Node 12 downloads increasing. This drew nervous laughter. “Anyway, you’re not updating Node, are you? Why are you not updating it? … [Node 24](https://nodejs.org/en/blog/release/v24.0.0) is going to be the new Active LTS; please, guys, update.” Active LTS, or long-term support, means that the version is actively maintained and receives regular updates for a longer period than regular releases. Collina created the [Fastify framework](https://thenewstack.io/introducing-fastify-speedy-node-js-web-framework/) and is also the co-founder and CTO of [Platformatic.dev](https://platformatic.dev/), a cloud native platform built to simplify Node.js development. He offered a State of Node.js report to update developers about Node.js, a popular cross-platform runtime that lets developers execute JavaScript code outside the browser. He made his remarks at this month’s [JSNation](https://jsnation.com/), a hybrid event held in Amsterdam. The [Node Package Manager (NPM)](https://www.npmjs.com/) and [Node.js](https://thenewstack.io/whats-in-the-new-node-js-and-how-do-you-install-it/) are two sides of the same coin, he began. The [NPM](https://thenewstack.io/npm-security-woes-continue-amidst-a-series-of-cdn-attacks/) is the most popular open source registry out there for things to download, he said. “Modular usage is growing more or less 50% every year, and it doubles every two years,” he said. “You’re downloading a lot of modules, guys, I don’t know. It’s not going down.” Node.js downloads alone were 271 million in December of 2024 and in May, that number was 375 million downloads for the month, he said. “I have no clue why, first of all, you’re not updating Node.js,” he said. Node 18 went out of support in April, but a huge number of people are still using it — in fact, it was downloaded 50 million times in May, he noted. The data also showed that developers tend to skip a version when they do update. “This is Node 16, okay, going down — still downloaded, I don’t know, 30 million times per month,” he said. “Sorry guys, I’m flabbergasted. … You see that not a lot of people are jumping from Node 16 to Node 20 straightaway.” [![Matteo Collina discusses the downloading of older versions of Node.js at this month's JSNation.](https://cdn.thenewstack.io/media/2025/06/bc38eba7-flabberghasted_node.jpg)](https://cdn.thenewstack.io/media/2025/06/bc38eba7-flabberghasted_node.jpg)Matteo Collina discusses the downloading of older versions of Node.js at this month’s [JSNation](https://jsnation.com/). Screenshot via JSNation presentation. That lead to his pitch for why you should update Node.js: In a word, [security](https://thenewstack.io/nodejs-interactive-security/). “The Node project works very hard to keep you all safe and give you a nice security release every quarter. Do you like our security releases? Maybe, probably not,” he said. “Okay, we don’t like them either, but we live in this world.” [Alpha Omega](https://alpha-omega.dev/), a Linux Foundation project, provides some of the funding for Node.js to maintain its security posture, he said. Previously, those funds were around $300k, but in 2025, the funding was cut in half to $150k, he added. #### Node.js Updates Node now has `require()` ESM — it works out of the box, so you can load ES Modules in a CommonJS context, thus improving interoperability between CommonJS and ESM in a Node.js application. Related to that, if you’re using the latest version of Node.js, .mjs is not needed anymore. .mjs was used to explicitly indicate that a JavaScript file should be treated as an ECMAScript Module. Now, developers can just run it and it works without using .mjs. “Nobody liked that […] script,” he said. “So you can just run it and it just works.” Another big change: TypeScript now runs out of the box, which Collina attributed to the work of [Marco Ippolito](https://github.com/marco-ippolito), a senior security engineer at HeroDevs and member of the Node.js Technical Steering Committee. They hope to have that as a flag on Node 22 and stable by Node 24, he added. There were also changes in V8 that allowed the Node team to improve the performance of open telemetry tracing by roughly 7%, he said. [V8](https://v8.dev/) is Google’s open source, high-performance JavaScript and WebAssembly engine that’s written in [C++](https://thenewstack.io/bjarne-stroustrup-on-how-he-sees-c-evolving/). It’s the engine that powers Node.js. “It also made a lot of things based on async local storage significantly faster,” Collina said. “There [are] a lot of new things coming thanks to that.” Last, he talked about using [explicit resource management](https://github.com/tc39/proposal-explicit-resource-management), which is a new feature of the TC39 that provides a [structured way to manage the lifecycle of resources](https://dev.to/zacharylee/explicit-resource-management-in-js-the-using-keyword-d9f#) like file handles or network connections. Resources are automatically deallocated, which means the resources are automatically cleaned up as soon as the code block using them is exited, even if an error occurs. “You can do, essentially a finalizer or a deallocation when you exit the scope,” he said. “It already works for timers and other APIs on Node 24, but we plan on adding this through all of them. Why is this useful? Because, essentially, you will be able to use a file or use a stream, and those will be automatically deallocated and cleaned up correctly, especially if there is a native resource underneath. And it’s also worth sync and async. So it’s pretty great.” That addresses a long-standing challenge in JavaScript, which was tricky, especially with asynchronous operations. There was the possibility that an error occurring before the developer explicitly closed the resource might lead to it remaining open, which in turn led to leaks. JavaScript’s automatic garbage collection did not clean up these non-memory “native resources” like file descriptors. By allowing resources to be automatically deallocated when their scope is exited — whether the code finishes normally or there’s an error — the explicit resource management feature provides a reliable cleanup mechanism for both sync and async operations. #### Watt: A Node.js Application Server Collina also talked about an [application server for Node.js](https://blog.platformatic.dev/introducing-the-node-application-platform) that he released last year on the Platformatic.dev platform. The server, called Watt, makes applications enterprise-grade out of the box, he said. “It runs your application in its streamlined multi-threading, running multiple Node.js applications within the same thread, within the same process, using threading and standardizing probe, logs, metrics, open telemetry and so on and so forth,” he said. This allowed Node.js to do a few good things, he added — like run PHP. It was possible to run [PHP on Node.js before,](https://medium.com/@MartinMouritzen/how-to-run-php-in-node-js-and-why-you-probably-shouldnt-do-that-fb12abe955b0) but now PHP inside Node.js runs as a native add-on on a separate thread, he said. “You could essentially create a single process in which you have your Next.js application and your PHP application,” he said. “How does it work? It runs PHP on a separate thread, and in that way, it can block and do all those things.” The main reason to support PHP is that people want to run PHP and still have [headless mode](https://thenewstack.io/maximizing-headless-architecture-a-guide-for-developer-teams/), he told the audience. “I was working on such an application in, I think, 2017 with a very popular newspaper using WordPress for editing, and then [they] wanted to use React for their [frontend](https://roadmap.sh/frontend),” he said. “There’s a lot of software built in PHP these days that probably is not going away anytime soon.”, Node.js 24: Your Next Big Frontend Upgrade?, Loraine Lawson, 01jyj4dkh4p0ngce4590r5wc6k.