Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v12.6.0 proposal #28508

Merged
merged 144 commits into from
Jul 3, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
993c0db
test: make sure test function resolves in test-worker-debug
addaleax Jun 10, 2019
e517b03
process: hide NodeEnvironmentFlagsSet's `add` function
BridgeAR Jun 13, 2019
d0de204
http2: refactor ping + settings object lifetime management
addaleax Jun 10, 2019
2cf37f5
Revert "build: remove mips support"
mutao-loongson May 30, 2019
cfb5ca3
build: enable openssl support for mips64el
mutao-loongson May 31, 2019
17efd93
doc: remove instructions to post CI links
Trott Jun 16, 2019
990feaf
crypto: fix crash when calling digest after piping
tniessen Jun 16, 2019
d949ead
test: check custom inspection truncation in assert
Trott Jun 14, 2019
168c127
doc: tidy AssertionError text
Trott Jun 16, 2019
040b9db
src: save exec path when initializing Environment
joyeecheung Jun 16, 2019
c491e4d
src: fall back to env->exec_path() for default profile directory
joyeecheung Jun 16, 2019
d95d610
meta: update LICENSE
Trott Jun 17, 2019
3a2e67b
test: do not spawn rmdir in test-statwatcher
joaocgreis Jun 18, 2019
b6a7052
lib: refactor unhandled rejection deprecation warning emission
joyeecheung Jun 17, 2019
5b92eb4
src: refactor uncaught exception handling
joyeecheung Jun 15, 2019
72f52a3
test: add Worker + uncaughtException + process.exit() test
addaleax Jun 17, 2019
359e20f
doc: clarify when http emits aborted event
ronag Jun 17, 2019
424d91a
test: add logging to statwatcher test
Trott Jun 17, 2019
dd53e6a
tools: update babel-eslint to 10.0.2
ZYSzys Jun 17, 2019
c44db7f
test: fix flaky test-worker-debug
addaleax Jun 19, 2019
0856a4d
doc: add gengjiawen to collaborators
gengjiawen Jun 20, 2019
c14e4d5
test: use .code for error in setgid
Jun 14, 2019
2053dd0
worker: only unref port for stdin if we ref’ed it before
addaleax Jun 10, 2019
337aef0
test: normalize location test-worker-process-cwd.js runs tests
ssample812 Jun 17, 2019
db65594
benchmark: refactor buffer benchmarks
BridgeAR Mar 4, 2019
c4a357d
report: add report versioning
cjihrig Jun 7, 2019
1f2b8c8
doc: revise strict mode text in assert
Trott Jun 19, 2019
57ac661
doc: document PerformanceNodeTiming.environment field
Jun 18, 2019
0044fd2
src: add error codes to errors thrown in node_i18n.cc
yanivfriedensohn Jun 14, 2019
4d12cef
build: link libatomic on mac and linux
devsnek Jun 14, 2019
53297e6
n-api: make func argument of napi_create_threadsafe_function optional
legendecas May 21, 2019
8346596
test: permit test-graph.signal to work without test runner
Trott Jun 19, 2019
b448db3
test: remove test-ttywrap.writestream.js
Trott Jun 20, 2019
51742b8
doc: revise assert legacy mode text
Trott Jun 20, 2019
6063ceb
doc: format ECMA-262 with a hyphen
cjihrig Jun 20, 2019
632fc1f
doc: make multipleResolves docs less opinionated
cjihrig Jun 20, 2019
dd5e07f
child_process: attach child in promisification
cjihrig Jun 20, 2019
a213eb7
doc: remove obsolete external link
cjihrig Jun 20, 2019
c9226f5
doc: drop 'Note that' in addons docs
cjihrig Jun 20, 2019
64f8530
doc: fix typo in process.disconnect() docs
cjihrig Jun 20, 2019
e607055
bootstrap: --frozen-intrinsics override problem workaround
guybedford Jun 16, 2019
3d6ae65
doc: remote "note that" from BUILDING.md
Trott Jun 20, 2019
71cf558
doc: remove "note that" from CPP_STYLE_GUIDE.md
Trott Jun 20, 2019
79f23b5
doc: remove "note that" from releases.md
Trott Jun 20, 2019
3daced7
doc: remove "make that" from onboarding.md
Trott Jun 20, 2019
1591309
doc: remove "note that" from writing-tests.md
Trott Jun 20, 2019
ffba80b
doc: remove "note that" from writing-and-running-benchmarks.md
Trott Jun 20, 2019
9461ef8
doc: remove "note that" from using-symbols.md
Trott Jun 20, 2019
a67afc8
doc: remove "note that" from maintaining-the-build-files.md
Trott Jun 20, 2019
9ac3a55
doc: remove "note that" from maintaining-V8.md
Trott Jun 20, 2019
651ab3f
doc: remove "note that" from pull-requests.md
Trott Jun 20, 2019
6d94620
doc: remove "note that" from zlib.md
Trott Jun 20, 2019
c3c86b6
doc: remove "note that" from util.md
Trott Jun 20, 2019
5e979bf
doc: remove "note that" from url.md
Trott Jun 20, 2019
204c9d8
doc: remove "note that" from tty.md
Trott Jun 20, 2019
7bd2cae
doc: remove "note that" from tls.md
Trott Jun 20, 2019
eba2e3c
doc: remove "note that" from stream.md
Trott Jun 20, 2019
b0a6da7
doc: remove "note that" from process.md
Trott Jun 20, 2019
f299c44
doc: remove "note that" from net.md
Trott Jun 20, 2019
f4c6f7a
doc: remove "note that" from modules.md
Trott Jun 20, 2019
f0a857f
doc: remove "note that" from http2.md
Trott Jun 20, 2019
3174bc1
doc: remove "note that" from http.md
Trott Jun 20, 2019
d65c90b
doc: remove "note that" from fs.md
Trott Jun 20, 2019
520ef83
doc: remove "note that" from events.md
Trott Jun 20, 2019
7595486
doc: remove "note that" from errors.md
Trott Jun 20, 2019
f3b4449
doc: remove "note that" from domain.md
Trott Jun 20, 2019
33d9cf5
doc: remove "note that" from dns.md
Trott Jun 20, 2019
c41dbf5
doc: remove "note that" from dgram.md
Trott Jun 20, 2019
898b69c
doc: remove "note that" from crypto.md
Trott Jun 20, 2019
af05ad1
doc: remove "note that" from console.md
Trott Jun 20, 2019
cb89b3b
doc: remove "note that" from cluster.md
Trott Jun 20, 2019
658c758
doc: remove "note that" from cli.md
Trott Jun 20, 2019
9ca7c86
doc: remove "note that" from buffer.md
Trott Jun 20, 2019
d384911
doc: remove "note that" from async_hooks.md
Trott Jun 20, 2019
d759e0f
doc: remove "note that" from assert.md
Trott Jun 20, 2019
ed8cee6
n-api: add error message for date expected
Jun 19, 2019
def96ae
crypto: move _scrypt call out of handleError funct
danbev Jun 20, 2019
47b230a
crypto: move _randomBytes call out of handleError funct
danbev Jun 20, 2019
558e9cf
crypto: move _pbkdf2 call out of handleError funct
danbev Jun 20, 2019
f21ddb2
crypto: move _impl call out of handleError funct
danbev Jun 20, 2019
5047006
test: use regex for OpenSSL function name
danbev Jun 19, 2019
818f084
doc: add example code for fs.existsSync()
nicolasrestrepo Jun 21, 2019
4762399
doc: add example for Buffer.isEncoding()
Meyito Jun 21, 2019
d25d40e
doc: fix sentence about Http2Stream destruction
cjihrig Jun 21, 2019
758a003
test: fix assertion argument order in test-buffer-failed-alloc-type
RamirezAlex Jun 21, 2019
0e6196c
doc: add missing word in frameError event docs
cjihrig Jun 22, 2019
91d5a4d
doc,n-api: fix metadata for napi_create_threadsafe_function
richardlau Jun 24, 2019
16926a8
test: duplicated buffer in test-stream2-writable.js
duvanmonsa Jun 22, 2019
e161744
test: move non-pummel crypto DH tests to parallel
Trott Jun 22, 2019
9f508e3
test: split pummel crypto dh test into two separate tests
Trott Jun 22, 2019
69f17f1
test: make test-dh-regr more efficient where possible
Trott Jun 22, 2019
b6d0cbc
doc: add example code for worker.isDead() to cluster.md
jessecogollo Jun 21, 2019
3d693c5
doc: cleanup pendingSettingsAck docs
cjihrig Jun 22, 2019
e3dd4d5
doc: fix nits regarding stream utilities
vsemozhetbyt Jun 22, 2019
4973f21
test: fix order of assertion arguments in test-event-emitter-num-args
luisgallon Jun 21, 2019
e6c7ebe
vm: increase code coverage of source_text_module.js
kball Jun 21, 2019
4bca4a5
test: change order of arguments
MistyBlunch Jun 21, 2019
ecf4494
test: tls switch arguments order for the assertion
ltciro Jun 21, 2019
3bc62b9
test: switch assertion order
yomarguti Jun 21, 2019
e55d0ef
doc: remove N-API version for Experimental APIs
mhdawson Jun 20, 2019
1650bcf
stream: add writableFinished
zero1five Jun 1, 2019
d8942f8
http2: use writableFinished instead of _writableState
zero1five Jun 2, 2019
619eb93
tools: fix typo in cache_builder.cc
danbev Jun 25, 2019
5367d02
doc: replace version with REPLACEME
cjihrig Jun 26, 2019
b822545
test: switch the param order in the assertion
raveneyex Jun 21, 2019
e63990e
test: eliminate duplicate statements
khriztianmoreno Jun 21, 2019
d88c697
test: refactoring test, reordering arguments
d4vsanchez Jun 21, 2019
cd78c5e
test: fixing broken test
MelinaMejia95 Jun 21, 2019
8ad880f
net: replace _writableState.finished with writableFinished
Trott Jun 25, 2019
03e3ccd
tools: update remark-preset-lint-node to 1.7.0
Trott Jun 23, 2019
3c047b3
doc: clarify response.finished
ronag Jun 24, 2019
b744bd9
tools: update eslint
BridgeAR Jun 11, 2019
0fd6524
process: split routines used to enhance fatal exception stack traces
joyeecheung Jun 19, 2019
96e8b98
doc: clean up isDead() example
cjihrig Jun 25, 2019
0d2d116
doc: add links to 12.5.0 changelog notable changes
devsnek Jun 27, 2019
3fea2e4
doc: update readline asyncIterator docs
cjihrig Jun 25, 2019
14f6cee
doc: reformat for-await-of
cjihrig Jun 27, 2019
79b1bf5
test: use assert() in N-API async test
addaleax Jun 25, 2019
60cf911
tools: fix typo in js2c.py
danbev Jun 25, 2019
3d014e1
tools: remove out-of-date code-cache-path comment
danbev Jun 25, 2019
21d2bdd
tools: remove unused using declarations
danbev Jun 25, 2019
dce4947
test: do not use fixed port in async-hooks/test-httparser-reuse
addaleax Jun 20, 2019
d8d4f9b
http2: propagate session destroy code to streams
cjihrig Jun 26, 2019
82b80e0
test: reset validity dates of expired certs
sam-github Jun 28, 2019
4367732
deps: upgrade to libuv 1.30.0
cjihrig Jun 27, 2019
b808484
tools: change editorconfig's 'ignore' to 'unset'
silverwind Jun 26, 2019
c9a96ae
esm: ensure cwd-relative imports for module --eval
guybedford Jun 22, 2019
624fd17
src: fix small memory leak
devnexen Jun 27, 2019
19f9281
process: expose uv_rusage on process.resourcesUsage()
vmarchaud Jun 2, 2019
0111c61
doc: fix swapedOut typo
cjihrig Jul 1, 2019
fd4d1e2
http2: remove square brackets from parsed hostname
lpinca Jun 24, 2019
004d26d
test: add tests to assert.ok and improve coverage
estrada9166 Jun 21, 2019
937afcc
test: add test to doesNotThrow; validate if actual with regex
estrada9166 Jun 24, 2019
5f9ee9f
lib: fix stack overflow check to not break on primitives
kball Jun 21, 2019
035b613
src: don't abort on EIO when restoring tty
bnoordhuis Jul 1, 2019
eee66c5
doc: merge bootstrap/README.md into BUILDING.md
rvagg Jun 28, 2019
d38b985
tools: fix v8 testing with devtoolset on ppcle
sam-github Jun 27, 2019
40ae2a6
tools: move python code out of jenkins shell
sam-github Jun 27, 2019
1b4a7fb
tools: update unified-args to 7.0.0 for md-lint CLI
Trott Jun 26, 2019
3f6f968
test: skip tests related to CI failures on AIX
sam-github Jun 28, 2019
8a64b70
test: fix flaky test-vm-timeout-escape-nexttick
Trott Jun 27, 2019
cd71aad
build: expose napi_build_version variable
NickNaso May 23, 2019
3a493b8
deps: upgrade to libuv 1.30.1
cjihrig Jul 2, 2019
e71a0f4
2019-07-03, Version 12.6.0 (Current)
targos Jul 2, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ indent_size = 8
indent_style = tab

[{deps}/**]
charset = ignore
end_of_line = ignore
indent_size = ignore
indent_style = ignore
trim_trailing_whitespace = ignore
charset = unset
end_of_line = unset
indent_size = unset
indent_style = unset
trim_trailing_whitespace = unset

[{test/fixtures,deps,tools/node_modules,tools/gyp,tools/icu,tools/msvs}/**]
insert_final_newline = false
184 changes: 128 additions & 56 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,36 @@ file a new issue.
* [OpenSSL asm support](#openssl-asm-support)
* [Previous versions of this document](#previous-versions-of-this-document)
* [Building Node.js on supported platforms](#building-nodejs-on-supported-platforms)
* [Unix/macOS](#unixmacos)
* [Prerequisites](#prerequisites)
* [Note about Python 2 and Python 3](#note-about-python-2-and-python-3)
* [Unix and macOS](#unix-and-macos)
* [Unix prerequisites](#unix-prerequisites)
* [macOS prerequisites](#macos-prerequisites)
* [Building Node.js](#building-nodejs)
* [Running Tests](#running-tests)
* [Running Coverage](#running-coverage)
* [Building the documentation](#building-the-documentation)
* [Building a debug build](#building-a-debug-build)
* [Windows](#windows)
* [Prerequisites](#prerequisites-1)
* [Option 1: Manual install](#option-1-manual-install)
* [Option 1: Automated install with Boxstarter](#option-1-automated-install-with-boxstarter)
* [Building Node.js](#building-nodejs-1)
* [Android/Android-based devices (e.g. Firefox OS)](#androidandroid-based-devices-eg-firefox-os)
* [`Intl` (ECMA-402) support](#intl-ecma-402-support)
* [Default: `small-icu` (English only) support](#default-small-icu-english-only-support)
* [Build with full ICU support (all locales supported by ICU)](#build-with-full-icu-support-all-locales-supported-by-icu)
* [Unix/macOS](#unixmacos-1)
* [Windows](#windows-1)
* [Building without Intl support](#building-without-intl-support)
* [Unix/macOS](#unixmacos-2)
* [Windows](#windows-2)
* [Use existing installed ICU (Unix/macOS only)](#use-existing-installed-icu-unixmacos-only)
* [Build with a specific ICU](#build-with-a-specific-icu)
* [Unix/macOS](#unixmacos-3)
* [Windows](#windows-3)
* [`Intl` (ECMA-402) support](#intl-ecma-402-support)
* [Default: `small-icu` (English only) support](#default-small-icu-english-only-support)
* [Build with full ICU support (all locales supported by ICU)](#build-with-full-icu-support-all-locales-supported-by-icu)
* [Unix/macOS](#unixmacos)
* [Windows](#windows-1)
* [Building without Intl support](#building-without-intl-support)
* [Unix/macOS](#unixmacos-1)
* [Windows](#windows-2)
* [Use existing installed ICU (Unix/macOS only)](#use-existing-installed-icu-unixmacOS-only)
* [Build with a specific ICU](#build-with-a-specific-icu)
* [Unix/macOS](#unixmacos-2)
* [Windows](#windows-3)
* [Building Node.js with FIPS-compliant OpenSSL](#building-nodejs-with-fips-compliant-openssl)
* [Building Node.js with external core modules](#building-nodejs-with-external-core-modules)
* [Unix/macOS](#unixmacos-4)
* [Unix/macOS](#unixmacos-3)
* [Windows](#windows-4)
* [Note for downstream distributors of Node.js](#note-for-downstream-distributors-of-nodejs)

Expand Down Expand Up @@ -188,7 +194,7 @@ For use of AVX-512,
* gas (GNU assembler) version 2.26 or higher
* nasm version 2.11.8 or higher in Windows

Note that AVX-512 is disabled for Skylake-X by OpenSSL-1.1.1.
AVX-512 is disabled for Skylake-X by OpenSSL-1.1.1.

For use of AVX2,

Expand All @@ -215,34 +221,58 @@ Consult previous versions of this document for older versions of Node.js:

## Building Node.js on supported platforms

The [bootstrapping guide](https://github.com/nodejs/node/blob/master/tools/bootstrap/README.md)
explains how to install all prerequisites.
### Note about Python 2 and Python 3

### Unix/macOS
The Node.js project uses Python as part of its build process and has
historically only been Python 2 compatible.

#### Prerequisites
Python 2 will reach its _end-of-life_ at the end of 2019 at which point the
interpreter will cease receiving updates. See https://python3statement.org/
for more information.

The Node.js project is in the process of transitioning its Python code to
Python 3 compatibility. Installing both versions of Python while building
and testing Node.js allows developers and end users to test, benchmark,
and debug Node.js running on both versions to ensure a smooth and complete
transition before the year-end deadline.

### Unix and macOS

#### Unix prerequisites

* `gcc` and `g++` >= 6.3 or newer, or
* macOS: Xcode Command Line Tools >= 8
* Python 2.7
* Python 2.7 end of life is in 2019 so a transition to Python 3 is underway.
* Python 3.5, 3.6, and 3.7 are experimental.
* GNU Make 3.81 or newer
* Python (see note above)
* Python 2.7
* Python 3.5, 3.6, and 3.7 are experimental.

Installation via Linux package manager can be achieved with:

* Ubuntu, Debian: `sudo apt-get install python g++ make`
* Fedora: `sudo dnf install python gcc-c++ make`
* CentOS and RHEL: `sudo yum install python gcc-c++ make`
* OpenSUSE: `sudo zypper install python gcc-c++ make`

On macOS, install the `Xcode Command Line Tools` by running
FreeBSD and OpenBSD users may also need to install `libexecinfo`.

#### macOS prerequisites

* Xcode Command Line Tools >= 8 for macOS
* Python (see note above)
* Python 2.7
* Python 3.5, 3.6, and 3.7 are experimental.

macOS users can install the `Xcode Command Line Tools` by running
`xcode-select --install`. Alternatively, if you already have the full Xcode
installed, you can find them under the menu `Xcode -> Open Developer Tool ->
More Developer Tools...`. This step will install `clang`, `clang++`, and
`make`.

#### Building Node.js

If the path to your build directory contains a space, the build will likely
fail.

On FreeBSD and OpenBSD, you may also need:
* libexecinfo

#### Building Node.js

To build Node.js:

```console
Expand All @@ -254,7 +284,7 @@ The `-j4` option will cause `make` to run 4 simultaneous compilation jobs which
may reduce build time. For more information, see the
[GNU Make Documentation](https://www.gnu.org/software/make/manual/html_node/Parallel.html).

Note that the above requires that `python` resolves to a supported version of
The above requires that `python` resolves to a supported version of
Python. See [Prerequisites](#prerequisites).

After building, setting up [firewall rules](tools/macos-firewall.sh) can avoid
Expand Down Expand Up @@ -461,7 +491,9 @@ $ backtrace

### Windows

Prerequisites:
#### Prerequisites

##### Option 1: Manual install

* [Python 2.7](https://www.python.org/downloads/)
* The "Desktop development with C++" workload from
Expand All @@ -476,17 +508,58 @@ Prerequisites:
If not installed in the default location, it needs to be manually added
to `PATH`. A build with the `openssl-no-asm` option does not need this, nor
does a build targeting ARM64 Windows.
* **Optional** (to build the MSI): the [WiX Toolset v3.11](http://wixtoolset.org/releases/)
and the [Wix Toolset Visual Studio 2017 Extension](https://marketplace.visualstudio.com/items?itemName=RobMensching.WixToolsetVisualStudio2017Extension).
* **Optional** Requirements for compiling for Windows 10 on ARM (ARM64):
* ARM64 Windows build machine
* Due to a GYP limitation, this is required to run compiled code
generation tools (like V8's builtins and mksnapshot tools)
* Visual Studio 15.9.0 or newer
* Visual Studio optional components
* Visual C++ compilers and libraries for ARM64
* Visual C++ ATL for ARM64
* Windows 10 SDK 10.0.17763.0 or newer

Optional requirements to build the MSI installer package:

* The [WiX Toolset v3.11](http://wixtoolset.org/releases/) and the
[Wix Toolset Visual Studio 2017 Extension](https://marketplace.visualstudio.com/items?itemName=RobMensching.WixToolsetVisualStudio2017Extension).

Optional requirements for compiling for Windows 10 on ARM (ARM64):

* ARM64 Windows build machine
* Due to a GYP limitation, this is required to run compiled code
generation tools (like V8's builtins and mksnapshot tools)
* Visual Studio 15.9.0 or newer
* Visual Studio optional components
* Visual C++ compilers and libraries for ARM64
* Visual C++ ATL for ARM64
* Windows 10 SDK 10.0.17763.0 or newer

##### Option 2: Automated install with Boxstarter
<a name="boxstarter"></a>

A [Boxstarter](http://boxstarter.org/) script can be used for easy setup of
Windows systems with all the required prerequisites for Node.js development.
This script will install the following [Chocolatey](https://chocolatey.org/)
packages:

* [Git for Windows](https://chocolatey.org/packages/git) with the `git` and
Unix tools added to the `PATH`.
* [Python 3.x](https://chocolatey.org/packages/python) and
[legacy Python](https://chocolatey.org/packages/python2)
* [Visual Studio 2017 Build Tools](https://chocolatey.org/packages/visualstudio2017buildtools)
with [Visual C++ workload](https://chocolatey.org/packages/visualstudio2017-workload-vctools)
* [NetWide Assembler](https://chocolatey.org/packages/nasm)

To install Node.js prerequisites using
[Boxstarter WebLauncher](http://boxstarter.org/WebLauncher), open
<http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/nodejs/node/master/tools/bootstrap/windows_boxstarter>
with Internet Explorer or Edge browser on the target machine.

Alternatively, you can use PowerShell. Run those commands from an elevated
PowerShell terminal:

```powershell
Set-ExecutionPolicy Unrestricted -Force
iex ((New-Object System.Net.WebClient).DownloadString('http://boxstarter.org/bootstrapper.ps1'))
get-boxstarter -Force
Install-BoxstarterPackage https://raw.githubusercontent.com/nodejs/node/master/tools/bootstrap/windows_boxstarter -DisableReboots
```

The entire installation using Boxstarter will take up approximately 10 GB of
disk space.

#### Building Node.js

If the path to your build directory contains a space or a non-ASCII character,
the build will likely fail.
Expand Down Expand Up @@ -523,55 +596,54 @@ $ ./android-configure /path/to/your/android-ndk
$ make
```


### `Intl` (ECMA-402) support
## `Intl` (ECMA-402) support

[Intl](https://github.com/nodejs/node/blob/master/doc/api/intl.md) support is
enabled by default, with English data only.

#### Default: `small-icu` (English only) support
### Default: `small-icu` (English only) support

By default, only English data is included, but
the full `Intl` (ECMA-402) APIs. It does not need to download
any dependencies to function. You can add full
data at runtime.

#### Build with full ICU support (all locales supported by ICU)
### Build with full ICU support (all locales supported by ICU)

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/macOS
#### Unix/macOS

```console
$ ./configure --with-intl=full-icu --download=all
```

##### Windows
#### Windows

```console
> .\vcbuild full-icu download-all
```

#### Building without Intl support
### Building without Intl support

The `Intl` object will not be available, nor some other APIs such as
`String.normalize`.

##### Unix/macOS
#### Unix/macOS

```console
$ ./configure --without-intl
```

##### Windows
#### Windows

```console
> .\vcbuild without-intl
```

#### Use existing installed ICU (Unix/macOS only)
### Use existing installed ICU (Unix/macOS only)

```console
$ pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
Expand All @@ -580,7 +652,7 @@ $ pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
If you are cross-compiling, your `pkg-config` must be able to supply a path
that works for both your host and target environments.

#### Build with a specific ICU
### Build with a specific ICU

You can find other ICU releases at
[the ICU homepage](http://icu-project.org/download).
Expand All @@ -591,7 +663,7 @@ To check the minimum recommended ICU, run `./configure --help` and see
the help for the `--with-icu-source` option. A warning will be printed
during configuration if the ICU version is too old.

##### Unix/macOS
#### Unix/macOS

From an already-unpacked ICU:
```console
Expand All @@ -608,7 +680,7 @@ From a tarball URL:
$ ./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
```

##### Windows
#### Windows

First unpack latest ICU to `deps/icu`
[icu4c-**##.#**-src.tgz](http://icu-project.org/download) (or `.zip`)
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.5.0">12.5.0</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.6.0">12.6.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.5.0">12.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.4.0">12.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.3.1">12.3.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.3.0">12.3.0</a><br/>
Expand Down
9 changes: 4 additions & 5 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,8 @@ Please always remove it again as soon as the conditions are not met anymore.

### Handling own pull requests

When you open a pull request, [start a CI](#testing-and-ci) right away and post
the link to it in a comment in the pull request. Later, after new code changes
or rebasing, start a new CI.
When you open a pull request, [start a CI](#testing-and-ci) right away. Later,
after new code changes or rebasing, start a new CI.

As soon as the pull request is ready to land, please do so. This allows other
Collaborators to focus on other pull requests. If your pull request is not ready
Expand Down Expand Up @@ -109,8 +108,8 @@ review by @-mention.
See [Who to CC in the issue tracker](#who-to-cc-in-the-issue-tracker).

If you are the first Collaborator to approve a pull request that has no CI yet,
please [start one](#testing-and-ci). Post the link to the CI in the PR. Please
also start a new CI if the PR creator pushed new code since the last CI run.
please [start one](#testing-and-ci). Please also start a new CI if the PR
creator pushed new code since the last CI run.

### Consensus Seeking

Expand Down
2 changes: 1 addition & 1 deletion CPP_STYLE_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ When there is a need to throw errors from a C++ binding method, try to
return the data necessary for constructing the errors to JavaScript,
then construct and throw the errors [using `lib/internal/errors.js`][errors].

Note that in general, type-checks on arguments should be done in JavaScript
In general, type-checks on arguments should be done in JavaScript
before the arguments are passed into C++. Then in the C++ binding, simply using
`CHECK` assertions to guard against invalid arguments should be enough.

Expand Down
10 changes: 6 additions & 4 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -757,11 +757,13 @@ The externally maintained libraries used by Node.js are:
This code is copyrighted by Sun Microsystems Inc. and released
under a 3-clause BSD license.

- Valgrind client API header, located at third_party/valgrind/valgrind.h
This is release under the BSD license.
- Valgrind client API header, located at src/third_party/valgrind/valgrind.h
This is released under the BSD license.

- antlr4 parser generator Cpp library located in third_party/antlr4
This is release under the BSD license.
- The Wasm C/C++ API headers, located at third_party/wasm-api/wasm.{h,hh}
This is released under the Apache license. The API's upstream prototype
implementation also formed the basis of V8's implementation in
src/wasm/c-api.cc.

These libraries have their own licenses; we recommend you read them,
as their terms may differ from the terms below.
Expand Down
Loading