The Node.js project uses an open governance model. The OpenJS Foundation provides support for the project.
This project is bound by a Code of Conduct.
- Support
- Release types
- Building Node.js
- Security
- Contributing to Node.js
- Current project team members
- License
Looking for help? Check out the instructions for getting support.
- Current: Under active development. Code for the Current release is in the branch for its major version number (for example, v15.x). Node.js releases a new major version every 6 months, allowing for breaking changes. This happens in April and October every year. Releases appearing each October have a support life of 8 months. Releases appearing each April convert to LTS (see below) each October.
- LTS: Releases that receive Long Term Support, with a focus on stability and security. Every even-numbered major version will become an LTS release. LTS releases receive 12 months of Active LTS support and a further 18 months of Maintenance. LTS release lines have alphabetically-ordered code names, beginning with v4 Argon. There are no breaking changes or feature additions, except in some special circumstances.
- Nightly: Code from the Current branch built every 24-hours when there are changes. Use with caution.
Current and LTS releases follow Semantic Versioning. A member of the Release Team signs each Current and LTS release. For more information, see the Release README.
Binaries, installers, and source tarballs are available at https://nodejs.org/en/download/.
https://nodejs.org/download/release/
The latest directory is an alias for the latest Current release. The latest-codename directory is an alias for the latest release from an LTS line. For example, the latest-fermium directory contains the latest Fermium (Node.js 14) release.
https://nodejs.org/download/nightly/
Each directory name and filename contains a date (in UTC) and the commit SHA at the HEAD of the release.
Documentation for the latest Current release is at https://nodejs.org/api/. Version-specific documentation is available in each release directory in the docs subdirectory. Version-specific documentation is also at https://nodejs.org/download/docs/.
Download directories contain a SHASUMS256.txt
file with SHA checksums for the
files.
To download SHASUMS256.txt
using curl
:
$ curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt
To check that a downloaded file matches the checksum, run
it through sha256sum
with a command such as:
$ grep node-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
For Current and LTS, the GPG detached signature of SHASUMS256.txt
is in
SHASUMS256.txt.sig
. You can use it with gpg
to verify the integrity of
SHASUMS256.txt
. You will first need to import
the GPG keys of individuals authorized to create releases. To
import the keys:
$ gpg --keyserver pool.sks-keyservers.net --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D
See the bottom of this README for a full script to import active release keys.
Next, download the SHASUMS256.txt.sig
for the release:
$ curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt.sig
Then use gpg --verify SHASUMS256.txt.sig SHASUMS256.txt
to verify
the file's signature.
See BUILDING.md for instructions on how to build Node.js from source and a list of supported platforms.
For information on reporting security vulnerabilities in Node.js, see SECURITY.md.
- Contributing to the project
- Working Groups
- Strategic Initiatives
- Technical values and prioritization
For information about the governance of the Node.js project, see GOVERNANCE.md.
- aduh95 - Antoine du Hamel <[email protected]> (he/him)
- apapirovski - Anatoli Papirovski <[email protected]> (he/him)
- BethGriggs - Beth Griggs <[email protected]> (she/her)
- BridgeAR - Ruben Bridgewater <[email protected]> (he/him)
- ChALkeR - Сковорода Никита Андреевич <[email protected]> (he/him)
- cjihrig - Colin Ihrig <[email protected]> (he/him)
- codebytere - Shelley Vohr <[email protected]> (she/her)
- danbev - Daniel Bevenius <[email protected]> (he/him)
- danielleadams - Danielle Adams <[email protected]> (she/her)
- fhinkel - Franziska Hinkelmann <[email protected]> (she/her)
- gabrielschulhof - Gabriel Schulhof <[email protected]>
- gireeshpunathil - Gireesh Punathil <[email protected]> (he/him)
- jasnell - James M Snell <[email protected]> (he/him)
- joyeecheung - Joyee Cheung <[email protected]> (she/her)
- mcollina - Matteo Collina <[email protected]> (he/him)
- mhdawson - Michael Dawson <[email protected]> (he/him)
- mmarchini - Mary Marchini <[email protected]> (she/her)
- MylesBorins - Myles Borins <[email protected]> (he/him)
- ronag - Robert Nagy <[email protected]>
- targos - Michaël Zasso <[email protected]> (he/him)
- tniessen - Tobias Nießen <[email protected]>
- Trott - Rich Trott <[email protected]> (he/him)
- addaleax - Anna Henningsen <[email protected]> (she/her)
- bnoordhuis - Ben Noordhuis <[email protected]>
- chrisdickinson - Chris Dickinson <[email protected]>
- evanlucas - Evan Lucas <[email protected]> (he/him)
- Fishrock123 - Jeremiah Senkpiel <[email protected]> (he/they)
- gibfahn - Gibson Fahnestock <[email protected]> (he/him)
- indutny - Fedor Indutny <[email protected]>
- isaacs - Isaac Z. Schlueter <[email protected]>
- joshgav - Josh Gavant <[email protected]>
- mscdex - Brian White <[email protected]>
- nebrius - Bryan Hughes <[email protected]>
- ofrobots - Ali Ijaz Sheikh <[email protected]> (he/him)
- orangemocha - Alexis Campailla <[email protected]>
- piscisaureus - Bert Belder <[email protected]>
- rvagg - Rod Vagg <[email protected]>
- sam-github - Sam Roberts <[email protected]>
- shigeki - Shigeki Ohtsu <[email protected]> (he/him)
- thefourtheye - Sakthipriyan Vairamani <[email protected]> (he/him)
- TimothyGu - Tiancheng "Timothy" Gu <[email protected]> (he/him)
- trevnorris - Trevor Norris <[email protected]>
- addaleax - Anna Henningsen <[email protected]> (she/her)
- aduh95 - Antoine du Hamel <[email protected]> (he/him)
- ak239 - Aleksei Koziatinskii <[email protected]>
- AndreasMadsen - Andreas Madsen <[email protected]> (he/him)
- antsmartian - Anto Aravinth <[email protected]> (he/him)
- apapirovski - Anatoli Papirovski <[email protected]> (he/him)
- AshCripps - Ash Cripps <[email protected]>
- bcoe - Ben Coe <[email protected]> (he/him)
- bengl - Bryan English <[email protected]> (he/him)
- benjamingr - Benjamin Gruenbaum <[email protected]>
- BethGriggs - Beth Griggs <[email protected]> (she/her)
- bmeck - Bradley Farias <[email protected]>
- bmeurer - Benedikt Meurer <[email protected]>
- boneskull - Christopher Hiller <[email protected]> (he/him)
- BridgeAR - Ruben Bridgewater <[email protected]> (he/him)
- bzoz - Bartosz Sosnowski <[email protected]>
- cclauss - Christian Clauss <[email protected]> (he/him)
- ChALkeR - Сковорода Никита Андреевич <[email protected]> (he/him)
- cjihrig - Colin Ihrig <[email protected]> (he/him)
- codebytere - Shelley Vohr <[email protected]> (she/her)
- danbev - Daniel Bevenius <[email protected]> (he/him)
- danielleadams - Danielle Adams <[email protected]> (she/her)
- davisjam - Jamie Davis <[email protected]> (he/him)
- DerekNonGeneric - Derek Lewis <[email protected]> (he/him)
- devnexen - David Carlier <[email protected]>
- devsnek - Gus Caplan <[email protected]> (they/them)
- dmabupt - Xu Meng <[email protected]> (he/him)
- dnlup Daniele Belardi <[email protected]> (he/him)
- edsadr - Adrian Estrada <[email protected]> (he/him)
- eugeneo - Eugene Ostroukhov <[email protected]>
- evanlucas - Evan Lucas <[email protected]> (he/him)
- fhinkel - Franziska Hinkelmann <[email protected]> (she/her)
- Fishrock123 - Jeremiah Senkpiel <[email protected]> (he/they)
- Flarna - Gerhard Stöbich <[email protected]> (he/they)
- gabrielschulhof - Gabriel Schulhof <[email protected]>
- gdams - George Adams <[email protected]> (he/him)
- geek - Wyatt Preul <[email protected]>
- gengjiawen - Jiawen Geng <[email protected]>
- GeoffreyBooth - Geoffrey Booth <[email protected]> (he/him)
- gireeshpunathil - Gireesh Punathil <[email protected]> (he/him)
- guybedford - Guy Bedford <[email protected]> (he/him)
- HarshithaKP - Harshitha K P <[email protected]> (she/her)
- hashseed - Yang Guo <[email protected]> (he/him)
- himself65 - Zeyu Yang <[email protected]> (he/him)
- hiroppy - Yuta Hiroto <[email protected]> (he/him)
- iansu - Ian Sutherland <[email protected]>
- indutny - Fedor Indutny <[email protected]>
- JacksonTian - Jackson Tian <[email protected]>
- jasnell - James M Snell <[email protected]> (he/him)
- jdalton - John-David Dalton <[email protected]>
- jkrems - Jan Krems <[email protected]> (he/him)
- joaocgreis - João Reis <[email protected]>
- joyeecheung - Joyee Cheung <[email protected]> (she/her)
- juanarbol - Juan José Arboleda <[email protected]> (he/him)
- JungMinu - Minwoo Jung <[email protected]> (he/him)
- lance - Lance Ball <[email protected]> (he/him)
- legendecas - Chengzhong Wu <[email protected]> (he/him)
- Leko - Shingo Inoue <[email protected]> (he/him)
- linkgoron - Nitzan Uziely <[email protected]>
- lpinca - Luigi Pinca <[email protected]> (he/him)
- lundibundi - Denys Otrishko <[email protected]> (he/him)
- Lxxyx - Zijian Liu <[email protected]> (he/him)
- mafintosh - Mathias Buus <[email protected]> (he/him)
- mcollina - Matteo Collina <[email protected]> (he/him)
- mhdawson - Michael Dawson <[email protected]> (he/him)
- miladfarca - Milad Fa <[email protected]> (he/him)
- mildsunrise - Alba Mendez <[email protected]> (she/her)
- misterdjules - Julien Gilli <[email protected]>
- mmarchini - Mary Marchini <[email protected]> (she/her)
- mscdex - Brian White <[email protected]>
- MylesBorins - Myles Borins <[email protected]> (he/him)
- ofrobots - Ali Ijaz Sheikh <[email protected]> (he/him)
- oyyd - Ouyang Yadong <[email protected]> (he/him)
- panva - Filip Skokan <[email protected]>
- PoojaDurgad - Pooja D P <[email protected]> (she/her)
- puzpuzpuz - Andrey Pechkurov <[email protected]> (he/him)
- Qard - Stephen Belanger <[email protected]> (he/him)
- RaisinTen - Darshan Sen <[email protected]> (he/him)
- refack - Refael Ackermann (רפאל פלחי) <[email protected]> (he/him/הוא/אתה)
- rexagod - Pranshu Srivastava <[email protected]> (he/him)
- richardlau - Richard Lau <[email protected]>
- rickyes - Ricky Zhou <[email protected]> (he/him)
- ronag - Robert Nagy <[email protected]>
- rubys - Sam Ruby <[email protected]>
- ruyadorno - Ruy Adorno <[email protected]> (he/him)
- rvagg - Rod Vagg <[email protected]>
- ryzokuken - Ujjwal Sharma <[email protected]> (he/him)
- saghul - Saúl Ibarra Corretgé <[email protected]>
- santigimeno - Santiago Gimeno <[email protected]>
- seishun - Nikolai Vavilov <[email protected]>
- shisama - Masashi Hirano <[email protected]> (he/him)
- silverwind - Roman Reiss <[email protected]>
- srl295 - Steven R Loomis <[email protected]>
- starkwang - Weijia Wang <[email protected]>
- sxa - Stewart X Addison <[email protected]> (he/him)
- targos - Michaël Zasso <[email protected]> (he/him)
- TimothyGu - Tiancheng "Timothy" Gu <[email protected]> (he/him)
- tniessen - Tobias Nießen <[email protected]>
- trivikr - Trivikram Kamat <[email protected]>
- Trott - Rich Trott <[email protected]> (he/him)
- vdeturckheim - Vladimir de Turckheim <[email protected]> (he/him)
- watilde - Daijiro Wachi <[email protected]> (he/him)
- watson - Thomas Watson <[email protected]>
- XadillaX - Khaidi Chu <[email protected]> (he/him)
- yashLadha - Yash Ladha <[email protected]> (he/him)
- yhwang - Yihong Wang <[email protected]>
- yorkie - Yorkie Liu <[email protected]>
- yosuke-furukawa - Yosuke Furukawa <[email protected]>
- ZYSzys - Yongsheng Zhang <[email protected]> (he/him)
- andrasq - Andras <[email protected]>
- AnnaMag - Anna M. Kedzierska <[email protected]>
- aqrln - Alexey Orlenko <[email protected]> (he/him)
- bnoordhuis - Ben Noordhuis <[email protected]>
- brendanashworth - Brendan Ashworth <[email protected]>
- calvinmetcalf - Calvin Metcalf <[email protected]>
- chrisdickinson - Chris Dickinson <[email protected]>
- claudiorodriguez - Claudio Rodriguez <[email protected]>
- DavidCai1993 - David Cai <[email protected]> (he/him)
- digitalinfinity - Hitesh Kanwathirtha <[email protected]> (he/him)
- eljefedelrodeodeljefe - Robert Jefe Lindstaedt <[email protected]>
- estliberitas - Alexander Makarenko <[email protected]>
- firedfox - Daniel Wang <[email protected]>
- gibfahn - Gibson Fahnestock <[email protected]> (he/him)
- glentiki - Glen Keane <[email protected]> (he/him)
- iarna - Rebecca Turner <[email protected]>
- imran-iq - Imran Iqbal <[email protected]>
- imyller - Ilkka Myller <[email protected]>
- isaacs - Isaac Z. Schlueter <[email protected]>
- italoacasas - Italo A. Casas <[email protected]> (he/him)
- jasongin - Jason Ginchereau <[email protected]>
- jbergstroem - Johan Bergström <[email protected]>
- jhamhader - Yuval Brik <[email protected]>
- joshgav - Josh Gavant <[email protected]>
- julianduque - Julian Duque <[email protected]> (he/him)
- kfarnung - Kyle Farnung <[email protected]> (he/him)
- kunalspathak - Kunal Pathak <[email protected]>
- lucamaraschi - Luca Maraschi <[email protected]> (he/him)
- lxe - Aleksey Smolenchuk <[email protected]>
- maclover7 - Jon Moss <[email protected]> (he/him)
- matthewloring - Matthew Loring <[email protected]>
- micnic - Nicu Micleușanu <[email protected]> (he/him)
- mikeal - Mikeal Rogers <[email protected]>
- monsanto - Christopher Monsanto <[email protected]>
- MoonBall - Chen Gang <[email protected]>
- not-an-aardvark - Teddy Katz <[email protected]> (he/him)
- Olegas - Oleg Elifantiev <[email protected]>
- orangemocha - Alexis Campailla <[email protected]>
- othiym23 - Forrest L Norvell <[email protected]> (he/him)
- petkaantonov - Petka Antonov <[email protected]>
- phillipj - Phillip Johnsen <[email protected]>
- piscisaureus - Bert Belder <[email protected]>
- pmq20 - Minqi Pan <[email protected]>
- princejwesley - Prince John Wesley <[email protected]>
- psmarshall - Peter Marshall <[email protected]> (he/him)
- rlidwka - Alex Kocharin <[email protected]>
- rmg - Ryan Graham <[email protected]>
- robertkowalski - Robert Kowalski <[email protected]>
- romankl - Roman Klauke <[email protected]>
- ronkorving - Ron Korving <[email protected]>
- RReverser - Ingvar Stepanyan <[email protected]>
- sam-github - Sam Roberts <[email protected]>
- sebdeckers - Sebastiaan Deckers <[email protected]>
- shigeki - Shigeki Ohtsu <[email protected]> (he/him)
- stefanmb - Stefan Budeanu <[email protected]>
- tellnes - Christian Tellnes <[email protected]>
- thefourtheye - Sakthipriyan Vairamani <[email protected]> (he/him)
- thlorenz - Thorsten Lorenz <[email protected]>
- trevnorris - Trevor Norris <[email protected]>
- tunniclm - Mike Tunnicliffe <[email protected]>
- vkurchatkin - Vladimir Kurchatkin <[email protected]>
- vsemozhetbyt - Vse Mozhet Byt <[email protected]> (he/him)
- whitlockjc - Jeremy Whitlock <[email protected]>
Collaborators follow the Collaborator Guide in maintaining the Node.js project.
- Ayase-252 - Qingyu Deng <[email protected]>
- marsonya - Akhil Marsonya <[email protected]> (he/him)
- PoojaDurgad - Pooja Durgad <[email protected]>
- RaisinTen - Darshan Sen <[email protected]>
Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
- Beth Griggs <[email protected]>
4ED778F539E3634C779C87C6D7062848A1AB005C
- Colin Ihrig <[email protected]>
94AE36675C464D64BAFA68DD7434390BDBE9B9C5
- Danielle Adams <[email protected]>
74F12602B6F1C4E913FAA37AD3A89613643B6201
- James M Snell <[email protected]>
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1
- Michaël Zasso <[email protected]>
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600
- Myles Borins <[email protected]>
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8
- Richard Lau <[email protected]>
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C
- Rod Vagg <[email protected]>
DD8F2338BAE7501E3DD5AC78C273792F7D83545D
- Ruben Bridgewater <[email protected]>
A48C2BEE680E841632CD4E44F07496B3EB3C1762
- Ruy Adorno <[email protected]>
108F52B48DB57BB0CC439B2997B01419BD92F80A
- Shelley Vohr <[email protected]>
B9E2F5981AA6E0CD28160D9FF13993A75599653C
To import the full set of trusted release keys (including subkeys possibly used to sign releases):
gpg --keyserver pool.sks-keyservers.net --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C
gpg --keyserver pool.sks-keyservers.net --recv-keys 94AE36675C464D64BAFA68DD7434390BDBE9B9C5
gpg --keyserver pool.sks-keyservers.net --recv-keys 74F12602B6F1C4E913FAA37AD3A89613643B6201
gpg --keyserver pool.sks-keyservers.net --recv-keys 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1
gpg --keyserver pool.sks-keyservers.net --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600
gpg --keyserver pool.sks-keyservers.net --recv-keys C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8
gpg --keyserver pool.sks-keyservers.net --recv-keys C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C
gpg --keyserver pool.sks-keyservers.net --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D
gpg --keyserver pool.sks-keyservers.net --recv-keys A48C2BEE680E841632CD4E44F07496B3EB3C1762
gpg --keyserver pool.sks-keyservers.net --recv-keys 108F52B48DB57BB0CC439B2997B01419BD92F80A
gpg --keyserver pool.sks-keyservers.net --recv-keys B9E2F5981AA6E0CD28160D9FF13993A75599653C
See the section above on Verifying Binaries for how to use these keys to verify a downloaded file.
Other keys used to sign some previous releases:
- Chris Dickinson <[email protected]>
9554F04D7259F04124DE6B476D5A82AC7E37093B
- Danielle Adams <[email protected]>
1C050899334244A8AF75E53792EF661D867B9DFA
- Evan Lucas <[email protected]>
B9AE9905FFD7803F25714661B63B535A4C206CA9
- Gibson Fahnestock <[email protected]>
77984A986EBC2AA786BC0F66B01FBB92821C587A
- Isaac Z. Schlueter <[email protected]>
93C7E9E91B49E432C2F75674B0A78B0A6C481CF6
- Italo A. Casas <[email protected]>
56730D5401028683275BD23C23EFEFE93C4CFFFE
- Jeremiah Senkpiel <[email protected]>
FD3A5288F042B6850C66B31F09FE44734EB7990E
- Julien Gilli <[email protected]>
114F43EE0176B71C7BC219DD50A3051F888C628D
- Timothy J Fontaine <[email protected]>
7937DFD2AB06298B2293C3187D33FF9D0246406D
Node.js is available under the MIT license. Node.js also includes external libraries that are available under a variety of licenses. See LICENSE for the full license text.