History

Ryan Dahl, creator of Node.js, in 2010
Rocket Turtle, the official mascot of Node.js since February 2024

Node.js was initially written by Ryan Dahl in 2009, about 13 years after the introduction of the first server-side JavaScript environment, Netscape’s LiveWire Pro Web. The initial release supported only Linux and Mac OS X. Its development and maintenance was led by Dahl and later sponsored by Joyent.

Dahl criticized the limited capability of Apache HTTP Server to handle many (10,000+) concurrent connections, as well as the dominant programming paradigm of sequential programming, in which applications could block entire processes or cause the creation of multiple execution stacks for simultaneous connections.

Dahl demonstrated the project at the inaugural European JSConf on November 8, 2009.Node.js combined Google’s V8 JavaScript engine, an event loop, and a low-level I/O API.

In January 2010, a package manager was introduced for the Node.js environment called npm. The package manager allows programmers to publish and share Node.js packages, along with the accompanying source code, and is designed to simplify the installation, update and uninstallation of packages.

In June 2011, Microsoft and Joyent implemented a native Windows version of Node.js. The first Node.js build supporting Windows was released in July 2011.

In January 2012, Dahl yielded management of the project to npm creator Isaac Schlueter. In January 2014, Schlueter announced that Timothy J. Fontaine would lead the project.

In December 2014, Fedor Indutny created io.js, a fork of Node.js created because of dissatisfaction with Joyent’s governance as an open-governance alternative with a separate technical committee. The goal was to enable a structure that would be more receptive to community input, including the updating of io.js with the latest Google V8 JavaScript engine releases, diverging from Node.js’s approach at that time.

The Node.js Foundation, formed to reconcile Node.js and io.js under a unified banner, was announced in February 2015. The merger was realized in September 2015 with Node.js v0.12 and io.js v3.3 combining into Node v4.0. This merge brought V8 ES6 features into Node.js and started a long-term support release cycle. By 2016, the io.js website recommended returning to Node.js and announced no further io.js releases, effectively ending the fork and solidifying the merger’s success.

In 2019, the JS Foundation and Node.js Foundation merged to form the OpenJS Foundation.

On September 6, 2023, Node.js 20.6.0 was released. The update brought the addition of built-in support for .env files, the unflagging of import.meta.resolve, the introduction of a new node:module API register for module customization hooks and a new initialize hook. Additionally, the module customization load hook now supports CommonJS, and Node.js C++ add-ons have gained experimental support for cppgc (Oilpan), which is a C++ garbage collection library for V8.

Branding

The Node.js logo features a green hexagon with overlapping bands to represent the cross-platform nature of the runtime. The Rocket Turtle was chosen as the official Node.js mascot in February 2024 following a design contest.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *