Curious about what’s going on in the Node.js community?
Node.js 16 will be released in April 2021 and promoted to long-term support in October 2021. We’re also rapidly approaching the end-of-life date for Node.js 10. After April 2021, there will be no further patches or security fixes made available for the Node.js 10 release line. If you haven’t already, you should plan to upgrade to Node.js 12 or Node.js 14 as soon as possible. See the Node.js release schedule in Figure 1.
Figure 1: An overview of the Node.js release timeline.
New features in Node.js 15
The “current” release line, Node.js 15, picks up the new features that are contributed to the runtime first. Features now available in Node.js 15 include:
crypto.randomUUID()
fsPromises.watch()
, an alternative version offs.watch()
that returns anAsyncIterator
- New
perf_hooks.createHistogram()
API for creating histogram instances that allow user recording - npm 7.5, including the new
npm diff
command - Support for source maps has graduated from experimental status to stable (proposed by Benjamin Coe)
Hot topics in the Node.js community
The following issues have sparked discussion in the Node.js community recently:
- Work progressing toward producing native Node.js binaries for Apple Silicon, to be distributed as a single “fat” (multi-architecture) binary for macOS
- Renewed discussion around including
fetch()
or afetch()
-like API in Node.js core - A proposal to promote the experimental APIs
AsyncResource
andAsyncLocalStorage
to stable status
The Node.js package maintenance ecosystem
The Node.js Package Maintenance Working Group aims to help maintainers in a number of ways. Two active efforts are:
- Encouraging the publishing of package support information: Publishing package support information helps maintainers set expectations in terms of supported Node.js versions, general support availability, and the backing behind a given package. The Working Group has defined the recommended metadata in
PACKAGE-SUPPORT.md
. New this month: The addition of acreate
command to the support tool, which makes it easier for maintainers to add this metadata to their packages.npx @pkgjs/support create
will guide you through adding the recommended metadata to your package. The Nodeshift project recently added package support information to our modules. You can read more about our experience in this article. - The wiby testing tool: The Working Group continues to develop wiby (“Will I break you?”). Still in early development, this tool helps package maintainers test whether changes in their packages break other packages that depend on them. If you’re interested in module testing or you’re a module maintainer wanting to test the impact of your changes on your downstream dependents, you can watch a demo and/or follow the progress in the GitHub repository.
The next 10 years of Node.js
The Node.js project is documenting what we think is important to make the next 10 years of Node.js as successful as the first 10 years. The Next-10 effort is focused on defining the project’s technical values and constituencies to set the foundation for future discussions. We’ve had many conversations and documented our initial thoughts, but now we need your help. The project has launched a survey to confirm that these values and constituencies align with our users' needs. You can help guide the future of Node.js by taking part in the survey.
Upcoming virtual events
Although we’ve been unable to meet in person over the past year, the Node.js community is still getting together at virtual events. Upcoming events include:
- OpenJS World (June 2, 2021)
- NodeConf Remote (October 18-21, 2021)