Node.js 26.5.0 landed on 8 July 2026, a minor release that quietly improves day-to-day development for many Node users. The standout addition: experimental support for importing text files as modules — a pattern frontend bundlers have supported for years, but one that always required workarounds in Node itself.
Loading text as a module
With the `--experimental-import-text` flag, you can now import a SQL query, HTML template, or GraphQL schema directly as a string: `import query from './user.sql' with { type: 'text' }`. The old approach meant a bundler plugin or a `fs.readFileSync` call cluttering your logic. This is a regular ES import — statically analysable, straightforward to mock in tests, and colocatable right next to the code that uses it. The experimental prefix signals the API may still change, but the pattern itself is grounded in the Import Attributes spec that already has broad ecosystem support.
Streams grow richer
Two other additions extend the Blob and stream APIs Node has been absorbing from the web platform. `Blob.textStream()` returns a ReadableStream of a Blob's text content — useful for processing large uploads or server responses incrementally without pulling everything into memory. `ReadableStreamTee`, the internal mechanism for splitting a stream, is now also directly exposed, making it easier to pipe one stream to two independent consumers without maintaining a manual copy in between. Small APIs, meaningful difference when working with large or continuous data flows.
Our take
Node.js 26.5 is not a blockbuster release — it is better than that. Each step toward the web platform shrinks the conceptual gap between front-end and back-end: less adapter code, more shared mental models. Text imports solve a concrete ergonomics problem anyone who colocates SQL, templates, or other text resources with their code will recognise immediately. That kind of targeted, quiet improvement is what makes a platform pleasant to keep building on — today, next year, and the year after.



