diff --git a/CHANGELOG.md b/CHANGELOG.md
index 13fc70bcb8b..818f8f1eeae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,11 +10,12 @@ Select a Node.js version below to view the changelog history:
* [Node.js 8](doc/changelogs/CHANGELOG_V8.md)
* [Node.js 7](doc/changelogs/CHANGELOG_V7.md)
* [Node.js 6](doc/changelogs/CHANGELOG_V6.md)
+* [Node.js 5](doc/changelogs/CHANGELOG_V5.md)
* [Node.js 4](doc/changelogs/CHANGELOG_V4.md)
-* [Node.js 5](doc/changelogs/CHANGELOG_V5.md),
- [0.12](doc/changelogs/CHANGELOG_V012.md),
- [0.10](doc/changelogs/CHANGELOG_V010.md),
- [io.js](doc/changelogs/CHANGELOG_IOJS.md) and [Archive](doc/changelogs/CHANGELOG_ARCHIVE.md)
+* [io.js](doc/changelogs/CHANGELOG_IOJS.md)
+* [Node.js 0.12](doc/changelogs/CHANGELOG_V012.md)
+* [Node.js 0.10](doc/changelogs/CHANGELOG_V010.md)
+* [Archive](doc/changelogs/CHANGELOG_ARCHIVE.md)
Please use the following table to find the changelog for a specific Node.js
release.
diff --git a/common.gypi b/common.gypi
index acf812680f8..033b96348ae 100644
--- a/common.gypi
+++ b/common.gypi
@@ -338,7 +338,7 @@
'cflags': [ '-pthread', ],
'ldflags': [ '-pthread' ],
}],
- [ 'OS in "linux freebsd openbsd solaris android aix"', {
+ [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', {
'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++0x' ],
'ldflags': [ '-rdynamic' ],
diff --git a/configure b/configure
index 2023718263c..1dc0a45d3c8 100755
--- a/configure
+++ b/configure
@@ -57,7 +57,7 @@ from gyp_node import run_gyp
parser = optparse.OptionParser()
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
- 'android', 'aix')
+ 'android', 'aix', 'cloudabi')
valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
'ppc64', 'x32','x64', 'x86', 's390', 's390x')
valid_arm_float_abi = ('soft', 'softfp', 'hard')
diff --git a/doc/api/child_process.md b/doc/api/child_process.md
index 64bee59a661..48b8f395b23 100644
--- a/doc/api/child_process.md
+++ b/doc/api/child_process.md
@@ -264,6 +264,8 @@ changes:
* `gid` {number} Sets the group identity of the process (see setgid(2)).
* `windowsHide` {boolean} Hide the subprocess console window that would
normally be created on Windows systems. **Default:** `false`.
+ * `windowsVerbatimArguments` {boolean} No quoting or escaping of arguments is
+ done on Windows. Ignored on Unix. **Default:** `false`.
* `callback` {Function} Called with the output when process terminates.
* `error` {Error}
* `stdout` {string|Buffer}
@@ -338,6 +340,8 @@ changes:
When this option is provided, it overrides `silent`. If the array variant
is used, it must contain exactly one item with value `'ipc'` or an error
will be thrown. For instance `[0, 1, 2, 'ipc']`.
+ * `windowsVerbatimArguments` {boolean} No quoting or escaping of arguments is
+ done on Windows. Ignored on Unix. **Default:** `false`.
* `uid` {number} Sets the user identity of the process (see setuid(2)).
* `gid` {number} Sets the group identity of the process (see setgid(2)).
* Returns: {ChildProcess}
@@ -404,6 +408,9 @@ changes:
`'/bin/sh'` on UNIX, and `process.env.ComSpec` on Windows. A different
shell can be specified as a string. See [Shell Requirements][] and
[Default Windows Shell][]. **Default:** `false` (no shell).
+ * `windowsVerbatimArguments` {boolean} No quoting or escaping of arguments is
+ done on Windows. Ignored on Unix. This is set to `true` automatically
+ when `shell` is specified. **Default:** `false`.
* `windowsHide` {boolean} Hide the subprocess console window that would
normally be created on Windows systems. **Default:** `false`.
* Returns: {ChildProcess}
@@ -813,6 +820,9 @@ changes:
`'/bin/sh'` on UNIX, and `process.env.ComSpec` on Windows. A different
shell can be specified as a string. See [Shell Requirements][] and
[Default Windows Shell][]. **Default:** `false` (no shell).
+ * `windowsVerbatimArguments` {boolean} No quoting or escaping of arguments is
+ done on Windows. Ignored on Unix. This is set to `true` automatically
+ when `shell` is specified. **Default:** `false`.
* `windowsHide` {boolean} Hide the subprocess console window that would
normally be created on Windows systems. **Default:** `false`.
* Returns: {Object}
diff --git a/doc/api/crypto.md b/doc/api/crypto.md
index b962892f948..f2c288d2f79 100644
--- a/doc/api/crypto.md
+++ b/doc/api/crypto.md
@@ -1969,6 +1969,7 @@ added: v6.6.0
- `a` {Buffer | TypedArray | DataView}
- `b` {Buffer | TypedArray | DataView}
+This function is based on a constant-time algorithm.
Returns true if `a` is equal to `b`, without leaking timing information that
would allow an attacker to guess one of the values. This is suitable for
comparing HMAC digests or secret values like authentication cookies or
diff --git a/doc/api/errors.md b/doc/api/errors.md
index 8805e5ec03a..23817ef3d19 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -615,6 +615,11 @@ Used when attempting to perform an operation outside the bounds of a `Buffer`.
Used when an attempt has been made to create a `Buffer` larger than the
maximum allowed size.
+
+### ERR_CANNOT_WATCH_SIGINT
+
+Used when Node.js is unable to watch for the `SIGINT` signal.
+
### ERR_CHILD_CLOSED_BEFORE_REPLY
diff --git a/doc/api/process.md b/doc/api/process.md
index 89c245475e6..ef1a916a436 100644
--- a/doc/api/process.md
+++ b/doc/api/process.md
@@ -1282,7 +1282,13 @@ Will generate:
`heapTotal` and `heapUsed` refer to V8's memory usage.
`external` refers to the memory usage of C++ objects bound to JavaScript
-objects managed by V8.
+objects managed by V8. `rss`, Resident Set Size, is the amount of space
+occupied in the main memory device (that is a subset of the total allocated
+memory) for the process, which includes the _heap_, _code segment_ and _stack_.
+
+The _heap_ is where objects, strings and closures are stored. Variables are
+stored in the _stack_ and the actual JavaScript code resides in the
+_code segment_.
## process.nextTick(callback[, ...args])