“Node.js 8 cut our web response by 70 percent across the board and unlocks ES7 features to let us write simpler, more maintainable code,” said Connor Peet, Senior Software Engineer at Mixer, a live streaming website.
If you’re ever wondering what ES7 features are compatible in Node.js version, check out this really handy and awesome guide.
Let’s take a look at some of the awesome features that you can find in Node.js 8.9.0 (including experimental) and why performance has drastically improved.
Performance Enhancements Across Web and Enterprise Applications
More Collaborations Outside and Inside the Node.js Community Adds Stability
More on this work can be viewed during Franzi Hinkelmann’s keynote at Node.js Interactive. Franzi works at Google on Chrome V8, she is a member of the Node.js Core Technical Committee.
Node.js API (N-API), a stable module API that is independent from changes in V8, is available as an experimental feature in Node.js 8.9.0. This technology was created in collaboration with Google, IBM, Intel, Microsoft, nearForm, NodeSource, and individual contributors. It allows native modules to run against newer version of Node.js without recompilation. This frees package maintainers from having to update these dependency, creates more stability and opens up choice for those consuming modules. It also sets the foundation for VM neutrality and opening Node.js up to new environments in IoT, mobile and a variety of different systems.
This group saw increased community participation after Node.js Interactive 2017 and are focused on getting N-API out of experimental status, improving documentation and responding to bugs reported by people who are trying to adopt N-API. Learn how you can help with its progress here.
Async / Await Bring Elegant Coding and More
Experimental ES Modules
Our experimental ES Module implementation will allow developers to begin experimenting with the standardized module pattern in Node.js today while the team works on first class support. The implementation would not be possible without the hard and tireless work of Brad Farias who has been working on modules at a standards level at TC39 and at an implementation level in Node.js.
For even more goodies in Node.js 8 LTS, check out NodeSource’s overview blog.
So, what’s the deal with Node.js 9?
The Node.js Project also released Node.js 9.0.0 for developers who are interested in testing and experimentation. This release focuses on adding and testing new bleeding-edge features and is frequently updated. Therefore it is not recommended for those using Node.js in production.
The bulk of changes in this new release involve the deprecation or removal of legacy APIs. In addition, Node.js core codebase is slowly migrating to a new error system. The goal of this migration is to associate a unique code with all errors thrown by Node.js. This will allow error messages to be changed without being considered breaking. It will also make user code more robust by not relying on error messages. For more information on upgrading, check out Joyent’s overview.
MAJOR THANK YOU
There were so many people that worked on these releases. If you were a part of this, thank you a million times over. The release manager for Node.js 8.9.0 is Gibson Fahnestock and for Node.js 9.0.0, it is James Snell.
If you are interested in downloading these releases, please head here — they should be posted later today (look for Node.js 8.9.0 and Node.js 9.0.0). If you are on Node.js 4.x or Node.js 6.x, we recommend starting the migration process onto Node.js 8.x LTS.
Want to learn more about the overall Node.js release strategy and cadence? Head here.