Node.js 10: The First Week
Early last week the release of Node.js 10 shipped - our next major release line, eventually going into LTS in October under the codename "Dubnium". It’s been seven days since that happened, and quite a lot has occurred since then.
Because of the breadth of the Node.js 10 release, including what happened after the release shipped, I wanted to pull together a post noting some of the most notable and important things that have been discussed over the past seven days.
Most Exciting Updates and Changes in Node.js 10
- N-API has shipped with a
stablestatus, meaning that it’s enabled by default and no longer
experimental. Because of this status change, N-API is already seeing increased usage and discussion.
- node-chakracore v10.0.0 was released with the change in N-API’s status. Always awesome to see more technical approaches to the problems that Node.js solves at the VM layer.
- HTTP/2 has continued its evolution in Node.js 10, and seen continued development from its initial launch. Hopefully (fingers crossed!) we’ll begin seeing more adoption as the entire development ecosystem moves towards HTTP/2.
- OpenSSL 1.1.x and (eventually) TLS 1.3 have shipped with Node.js 10, and include quite a set of improvements. Support for a new set of cipher suites is available (AEAD, to be specific), the improvements introduced with TLS 1.3 in OpenSSL 1.1.1, and quite a few more juicy bits.
- Standardized Error Codes have finally shipped, enabling userland consumers of errors to rely on the error codes themselves not changing. This enables the Node.js contributor base to be a bit more fluid and dynamic with regular updates for things like tweaks and fixes to the human-readable parts of errors.
- V8 6.6 has now shipped in Node.js, with a pretty interesting set of enhancements and optimizations for your code, including optimizations for Promises. Exciting times in VM-land!
Highlights from the GitHub
- The commit that shipped Node.js 10
- The PR shipping the official Node.js 10 Docker images
- A discussion that led to dropping 32 bit builds of Node.js
- A discussion around Async Hooks behaving differently on Node.js 10 compared to how they did previously, seemingly caused by the V8 upgrade and optimizations for promises.
- A discussion around the
ts-nodemodule breaking with the release of Node.js 10, being caused by a module
ts-node’s dependency tree.
Notable Articles and Links from Release Week
- The Official Node.js 10 Release Announcement
- The npm@6 announcement
- A deep dive into the Node.js Buffer constructor deprecation
- The io.js congratulatory send-off for Node.js 10
- The fantastic Node.js 10 Cake by Alejandro Oviedo
One Last Thing...
Node.js 10 is soon to be an LTS release line, come October 2018. Once that happens the features that have already shipped, and the ones that land before October, will go into a LTS release line with a long lifecycle.
We care very deeply about LTS release lines, as they help promote stability and reliability in the Node.js ecosystem. We've built N|Solid exclusively LTS release lines, and plan on shipping a Node.js 10 version when it's officially LTS.
If you're generally interested in the stability and reliability of the Node.js ecosystem, be sure to check out @NodeSource on Twitter to keep up to date with the latest news and updates from the Node.js project and the greater community.