Node.js 24.14.0 “Krypton” LTS: Native Proxies, SQLite Safeguards, and ESM Power

The Node.js release cycle continues to deliver impressive stability and innovation, and the latest update to the 24.x LTS line—codenamed “Krypton”—is no exception. Version 24.14.0 introduces a wealth of quality-of-life improvements, performance optimizations, and long-awaited native features that further reduce our reliance on third-party dependencies.

First-Class Networking and Environment Handling

One of the most significant additions in this release is http.setGlobalProxyFromEnv(). For years, managing proxies via environment variables required manual configuration or external packages like global-agent. This new native method streamlines the process, making it easier than ever to deploy Node.js applications in enterprise environments with strict networking requirements. Additionally, events.listenerCount() has been repurposed to accept EventTargets, providing a more consistent API across different event-handling patterns.

Smarter File System and SQLite Integration

Performance-conscious developers will appreciate the new ignore option in fs.watch. By filtering out unnecessary file system events at the source, applications can significantly reduce CPU overhead during heavy I/O operations. On the data side, the built-in SQLite module continues to mature. Version 24.14.0 enables defensive mode by default, protecting the database from accidental corruption through SQL commands. It also introduces support for prepared statement arguments, bringing the native driver closer to feature parity with popular community libraries.

Modernizing the Module System and SEA

Node.js continues to refine its handling of Single Executable Applications (SEA). By adding LIEF as a dependency and splitting SEA binary manipulation code, the team is laying the groundwork for more robust binary distributions. Furthermore, the module system now allows subpath imports starting with #/, and the embedder API has received its initial support for ESM, marking a major milestone for developers integrating Node.js into larger C++ applications.

Testing and Developer Experience Improvements

The native test runner is becoming a powerhouse. This update introduces an env option to the run function, allowing for isolated environment variables per test suite. Even more exciting is the new support for expecting test cases to fail, a crucial feature for TDD and regression testing. We also see the addition of stream.bytes() to the consumers utility, simplifying how we interact with readable streams by providing a direct way to retrieve the total bytes processed.

Internal Optimizations and Ecosystem Updates

Under the hood, Node.js has replaced cjs-module-lexer with merve, optimizing how CommonJS modules are parsed. The release also bundles npm 11.9.0 and adds support for the upcoming Visual Studio 2026 build tools. These internal refinements ensure that while we get new shiny features, the core of the runtime remains faster and more maintainable than ever.

Source: Read the full article here.