Commit cf646cde authored by Jérémy Lal's avatar Jérémy Lal

New upstream version 6.11.0~dfsg

parent 14ef0b44

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

This diff is collapsed.
......@@ -8,21 +8,95 @@ If you consistently can reproduce a test failure, search for it in the
[Node.js issue tracker]( or
file a new issue.
## Supported platforms
### Unix / OS X
This list of supported platforms is current as of the branch / release to
which it is attached.
### Input
Node.js relies on V8 and libuv. Therefore, we adopt a subset of their
supported platforms.
### Strategy
Support is divided into three tiers:
* **Tier 1**: Full test coverage and maintenance by the Node.js core team and
the broader community.
* **Tier 2**: Full test coverage but more limited maintenance,
often provided by the vendor of the platform.
* **Experimental**: Known to compile but not necessarily reliably or with
a full passing test suite. These are often working to be promoted to Tier
2 but are not quite ready. There is at least one individual actively
providing maintenance and the team is striving to broaden quality and
reliability of support.
### Supported platforms
| System | Support type | Version | Architectures | Notes |
| GNU/Linux | Tier 1 | kernel >= 2.6.18, glibc >= 2.5 | x86, x64, arm, arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7 or >= Windows2008R2 | x86, x64 | |
| SmartOS | Tier 2 | >= 14 < 16.4 | x86, x64 | see note1 |
| FreeBSD | Tier 2 | >= 10 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 4.2.0, glibc >= 2.19 | ppc64be | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le | |
| AIX | Tier 2 | >= 6.1 TL09 | ppc64be | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| macOS | Experimental | >= 10.8 < 10.10 | x64 | no test coverage |
| Linux (musl) | Experimental | musl >= 1.0 | x64 | |
note1 - The gcc4.8-libs package needs to be installed, because node
binaries have been built with GCC 4.8, for which runtime libraries are not
installed by default. For these node versions, the recommended binaries
are the ones available in pkgsrc, not the one available from
Note that the binaries downloaded from the pkgsrc repositories are not
officially supported by the Node.js project, and instead are supported
by Joyent. SmartOS images >= 16.4 are not supported because
GCC 4.8 runtime libraries are not available in their pkgsrc repository
### Supported toolchains
Depending on host platform, the selection of toolchains may vary.
#### Unix
* GCC 4.8 or newer
* Clang 3.4 or newer
#### Windows
* Building Node: Visual Studio 2015 or Visual C++ Build Tools 2015 or newer
* Building native add-ons: Visual Studio 2013 or Visual C++ Build Tools 2015
or newer
## Building Node.js on supported platforms
### Unix / macOS
* `gcc` and `g++` 4.8 or newer, or
* `gcc` and `g++` 4.8.5 or newer, or
* `clang` and `clang++` 3.4 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
On OS X, you will also need:
On macOS, you will also need:
* [Xcode](
* You also need to install the `Command Line Tools` via Xcode. You can find
- You also need to install the `Command Line Tools` via Xcode. You can find
this under the menu `Xcode -> Preferences -> Downloads`
* This step will install `gcc` and the related toolchain containing `make`
- This step will install `gcc` and the related toolchain containing `make`
* After building, you may want to setup [firewall rules](tools/
to avoid popups asking to accept incoming network connections when running tests:
$ sudo ./tools/
Running this script will add rules for the executable `node` in the out
directory and the symbolic `node` link in the projects root directory.
On FreeBSD and OpenBSD, you may also need:
* libexecinfo
......@@ -31,10 +105,19 @@ To build Node.js:
$ ./configure
$ make
$ make -j4
Note that the above requires that `python` resolve to Python 2.6 or 2.7 and not a newer version.
Running `make` with the `-j4` flag will cause it to run 4 compilation jobs
concurrently which may significantly reduce build time. The number after `-j`
can be changed to best suit the number of processor cores on your machine. If
you run into problems running `make` with concurrency, try running it without
the `-j4` flag. See the
[GNU Make Documentation](
for more information.
Note that the above requires that `python` resolve to Python 2.6 or 2.7
and not a newer version.
To run the tests:
......@@ -92,7 +175,8 @@ Prerequisites:
* One of:
* [Visual C++ Build Tools](
* [Visual Studio 2015 Update 3](, all editions
including the Community edition.
including the Community edition (remember to select
"Common Tools for Visual C++ 2015" feature during installation).
* Basic Unix tools required for some tests,
[Git for Windows]( includes Git Bash
and tools which can be included in the global `PATH`.
......@@ -104,7 +188,7 @@ Prerequisites:
To run the tests:
> .\vcbuild test
> .\vcbuild nosign test
To test if Node.js was built correctly:
......@@ -113,7 +197,7 @@ To test if Node.js was built correctly:
> Release\node -e "console.log('Hello from Node.js', process.version)"
### Android / Android-based devices (e.g., Firefox OS)
### Android / Android-based devices (e.g. Firefox OS)
Although these instructions for building on Android are provided, please note
that Android is not an officially supported platform at this time. Patches to
......@@ -153,7 +237,7 @@ With the `--download=all`, this may download ICU if you don't have an
ICU in `deps/icu`. (The embedded `small-icu` included in the default
Node.js source does not include all locales.)
##### Unix / OS X:
##### Unix / macOS:
$ ./configure --with-intl=full-icu --download=all
......@@ -162,7 +246,7 @@ $ ./configure --with-intl=full-icu --download=all
##### Windows:
> .\vcbuild full-icu download-all
> .\vcbuild nosign full-icu download-all
#### Building without Intl support
......@@ -170,7 +254,7 @@ $ ./configure --with-intl=full-icu --download=all
The `Intl` object will not be available, nor some other APIs such as
##### Unix / OS X:
##### Unix / macOS:
$ ./configure --without-intl
......@@ -179,10 +263,10 @@ $ ./configure --without-intl
##### Windows:
> .\vcbuild without-intl
> .\vcbuild nosign without-intl
#### Use existing installed ICU (Unix / OS X only):
#### Use existing installed ICU (Unix / macOS only):
$ pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
......@@ -198,7 +282,7 @@ You can find other ICU releases at
Download the file named something like `icu4c-**##.#**-src.tgz` (or
##### Unix / OS X
##### Unix / macOS
From an already-unpacked ICU:
......@@ -222,7 +306,7 @@ First unpack latest ICU to `deps/icu`
as `deps/icu` (You'll have: `deps/icu/source/...`)
> .\vcbuild full-icu
> .\vcbuild nosign full-icu
## Building Node.js with FIPS-compliant OpenSSL
......@@ -230,13 +314,15 @@ as `deps/icu` (You'll have: `deps/icu/source/...`)
NOTE: Windows is not yet supported
It is possible to build Node.js with
[OpenSSL FIPS module](
[OpenSSL FIPS module](
**Note**: building in this way does **not** allow you to claim that the
runtime is FIPS 140-2 validated. Instead you can indicate that the runtime
uses a validated module. See the [security policy](
uses a validated module. See the
[security policy](
page 60 for more details. In addition, the validation for the underlying module
is only valid if it is deployed in accordance with its [security policy](
is only valid if it is deployed in accordance with its
[security policy](
If you need FIPS validated cryptography it is recommended that you read both
the [security policy](
and [user guide](
......@@ -18,7 +18,7 @@ release.
<th><a href="doc/changelogs/">v6</a><sup>Current</sup</th>
<th title="LTS Until 2019-04"><a href="doc/changelogs/">v6</a><sup>LTS</sup</th>
<th><a href="doc/changelogs/">v5</a></th>
<th title="LTS Until 2018-04"><a href="doc/changelogs/">v4</a><sup>LTS</sup></th>
<th title="LTS Until 2016-12-31"><a href="doc/changelogs/">v0.12</a><sup>LTS</sup></th>
......@@ -26,7 +26,16 @@ release.
<td valign="top">
<b><a href="doc/changelogs/">6.9.1</a></b><br/>
<b><a href="doc/changelogs/">6.11.0</a></b><br/>
<a href="doc/changelogs/">6.10.3</a><br/>
<a href="doc/changelogs/">6.10.2</a><br/>
<a href="doc/changelogs/">6.10.1</a><br/>
<a href="doc/changelogs/">6.10.0</a><br/>
<a href="doc/changelogs/">6.9.5</a><br/>
<a href="doc/changelogs/">6.9.4</a><br/>
<a href="doc/changelogs/">6.9.3</a><br/>
<a href="doc/changelogs/">6.9.2</a><br/>
<a href="doc/changelogs/">6.9.1</a><br/>
<a href="doc/changelogs/">6.9.0</a><br/>
<a href="doc/changelogs/">6.8.1</a><br/>
<a href="doc/changelogs/">6.8.0</a><br/>
# Code of Conduct
## Conduct
* We are committed to providing a friendly, safe and welcoming
environment for all, regardless of level of experience, gender
identity and expression, sexual orientation, disability,
personal appearance, body size, race, ethnicity, age, religion,
nationality, or other similar characteristic.
* Please avoid using overtly sexual nicknames or other nicknames that
might detract from a friendly, safe and welcoming environment for
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that some individuals and cultures consider the casual use of
profanity and sexualized language offensive and off-putting.
* Respect that people have differences of opinion and that every
design or implementation choice carries a trade-off and numerous
costs. There is seldom a right answer.
* Please keep unstructured critique to a minimum. If you have solid
ideas you want to experiment with, make a fork and see how it works.
* We will exclude you from interaction if you insult, demean or harass
anyone. That is not welcome behavior. We interpret the term
"harassment" as including the definition in the [Citizen Code of
Conduct](; if you have any lack of
clarity about what might be included in that concept, please read
their definition. In particular, we don't tolerate behavior that
excludes people in socially marginalized groups.
* Private harassment is also unacceptable. No matter who you are, if
you feel you have been or are being harassed or made uncomfortable