diff --git a/.eslintrc b/.eslintrc index 9ff3f48aece491..532ac8b50cf07a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -10,6 +10,8 @@ ecmaFeatures: generators: true forOf: true objectLiteralShorthandProperties: true + objectLiteralShorthandMethods: true + classes: true rules: # Possible Errors @@ -43,8 +45,7 @@ rules: ## 2 space indentation indent: [2, 2] ## add space after comma - ## set to 'warn' because of https://github.com/eslint/eslint/issues/2408 - comma-spacing: 1 + comma-spacing: 2 ## put semi-colon semi: 2 ## require spaces operator like var sum = 1 + 1; diff --git a/.mailmap b/.mailmap index de9a9bc61ec16f..38e5c1928a7102 100644 --- a/.mailmap +++ b/.mailmap @@ -52,6 +52,7 @@ Igor Zinkovsky Isaac Z. Schlueter Isaac Z. Schlueter Jake Verbaten +James Hartig Jered Schmidt Jeremiah Senkpiel Joe Shaw diff --git a/AUTHORS b/AUTHORS index 2995611156925d..2b2fe64309b79c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -260,7 +260,7 @@ Adam Malcontenti-Wilson Avi Flax Pedro Teixeira Johan Bergström -James Hartig +James Hartig Shannen Saez Seong-Rak Choi Dave Irvine @@ -764,5 +764,14 @@ Frederic Hemberger Sharat M R Rich Trott Felipe Batista +Rebecca Turner +Tyler Anton +João Reis +Kat Marchán +Ryan Petschek +Pierre Inglebert +Ivan Yan +Sangmin Yoon +Mark Plomer # Generated by tools/update-authors.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c316b9231981e..f89e1c6352554a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,410 @@ # io.js ChangeLog +## 2015-08-18, Version 3.1.0, @Fishrock123 + +### Notable changes + +* **buffer**: Fixed a couple large memory leaks (Ben Noordhuis) [#2352](https://github.com/nodejs/node/pull/2352). +* **crypto**: + - Fixed a couple of minor memory leaks (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375). + - Signing now checks for OpenSSL errors (P.S.V.R) [#2342](https://github.com/nodejs/node/pull/2342). **Note that this may expose previously hidden errors in user code.** +* **intl**: Intl support using small-icu is now enabled by default in builds (Steven R. Loomis) [#2264](https://github.com/nodejs/node/pull/2264). + - [`String#normalize()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) can now be used for unicode normalization. + - The [`Intl`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl) object and various `String` and `Number` methods are present, but only support the English locale. + - For support of all locales, node must be built with [full-icu](https://github.com/nodejs/node#build-with-full-icu-support-all-locales-supported-by-icu). +* **tls**: Fixed tls throughput being much lower after an incorrect merge (Fedor Indutny) [#2381](https://github.com/nodejs/node/pull/2381). +* **tools**: The v8 tick processor now comes bundled with node (Matt Loring) [#2090](https://github.com/nodejs/node/pull/2090). + - This can be used by producing performance profiling output by running node with `--perf`, then running your appropriate platform's script on the output as found in [tools/v8-prof](https://github.com/nodejs/node/tree/master/tools/v8-prof). +* **util**: `util.inspect(obj)` now prints the constructor name of the object if there is one (Christopher Monsanto) [#1935](https://github.com/nodejs/io.js/pull/1935). + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Possible remaining post-3.0.0 buffer memory leak(s), details at [#2308](https://github.com/nodejs/node/issues/2308). Mostly fixed in [2781333...8841947](https://github.com/nodejs/node/compare/27813339cf713275fa7bbf2ae497d13b66aa78ce...88419479ccb6384473339f09e5c55f234f4ee194) - [#2352](https://github.com/nodejs/node/pull/2352), and also [6fff0f7...a40ae51](https://github.com/nodejs/node/compare/6fff0f73dc371153507d96ecd5f88c1ddc7780c9...a40ae513bb99ec3f85ea5b864a366bc7552d61f0) - [#2375](https://github.com/nodejs/node/pull/2375). +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal. [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760). +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion. [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +### Commits + +* [[`3645dc62ed`](https://github.com/nodejs/node/commit/3645dc62ed)] - **build**: work around VS2015 issue in ICU <56 (Steven R. Loomis) [#2283](https://github.com/nodejs/node/pull/2283) +* [[`1f12e03266`](https://github.com/nodejs/node/commit/1f12e03266)] - **(SEMVER-MINOR)** **build**: intl: converge from joyent/node (Steven R. Loomis) [#2264](https://github.com/nodejs/node/pull/2264) +* [[`071640abdd`](https://github.com/nodejs/node/commit/071640abdd)] - **build**: Intl: bump ICU4C from 54 to 55 (Steven R. Loomis) [#2293](https://github.com/nodejs/node/pull/2293) +* [[`07a88b0c8b`](https://github.com/nodejs/node/commit/07a88b0c8b)] - **build**: update manifest to include Windows 10 (Lucien Greathouse) [#2332](https://github.com/nodejs/io.js/pull/2332) +* [[`0bb099f444`](https://github.com/nodejs/node/commit/0bb099f444)] - **build**: expand ~ in install prefix early (Ben Noordhuis) [#2307](https://github.com/nodejs/io.js/pull/2307) +* [[`7fe6dd8f5d`](https://github.com/nodejs/node/commit/7fe6dd8f5d)] - **crypto**: check for OpenSSL errors when signing (P.S.V.R) [#2342](https://github.com/nodejs/node/pull/2342) +* [[`605f6ee904`](https://github.com/nodejs/node/commit/605f6ee904)] - **crypto**: fix memory leak in PBKDF2Request (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375) +* [[`ba6eb8af12`](https://github.com/nodejs/node/commit/ba6eb8af12)] - **crypto**: fix memory leak in ECDH::SetPrivateKey (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375) +* [[`6a16368611`](https://github.com/nodejs/node/commit/6a16368611)] - **crypto**: fix memory leak in PublicKeyCipher::Cipher (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375) +* [[`a760a87803`](https://github.com/nodejs/node/commit/a760a87803)] - **crypto**: fix memory leak in SafeX509ExtPrint (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375) +* [[`f45487cd6e`](https://github.com/nodejs/node/commit/f45487cd6e)] - **crypto**: fix memory leak in SetDHParam (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375) +* [[`2ff183dd86`](https://github.com/nodejs/node/commit/2ff183dd86)] - **doc**: Update FIPS instructions in README.md (Michael Dawson) [#2278](https://github.com/nodejs/node/pull/2278) +* [[`6483bc2e8f`](https://github.com/nodejs/node/commit/6483bc2e8f)] - **doc**: clarify options for fs.watchFile() (Rich Trott) [#2425](https://github.com/nodejs/node/pull/2425) +* [[`e76822f454`](https://github.com/nodejs/node/commit/e76822f454)] - **doc**: multiple documentation updates cherry picked from v0.12 (James M Snell) [#2302](https://github.com/nodejs/io.js/pull/2302) +* [[`1738c9680b`](https://github.com/nodejs/node/commit/1738c9680b)] - **net**: ensure Socket reported address is current (Ryan Graham) [#2095](https://github.com/nodejs/io.js/pull/2095) +* [[`844d3f0e3e`](https://github.com/nodejs/node/commit/844d3f0e3e)] - **path**: use '===' instead of '==' for comparison (Sam Stites) [#2388](https://github.com/nodejs/node/pull/2388) +* [[`7118b8a882`](https://github.com/nodejs/node/commit/7118b8a882)] - **path**: remove dead code in favor of unit tests (Nathan Woltman) [#2282](https://github.com/nodejs/io.js/pull/2282) +* [[`34f2cfa806`](https://github.com/nodejs/node/commit/34f2cfa806)] - **src**: better error message on failed Buffer malloc (Karl Skomski) [#2422](https://github.com/nodejs/node/pull/2422) +* [[`b196c1da3c`](https://github.com/nodejs/node/commit/b196c1da3c)] - **src**: fix memory leak in DLOpen (Karl Skomski) [#2375](https://github.com/nodejs/node/pull/2375) +* [[`d1307b2995`](https://github.com/nodejs/node/commit/d1307b2995)] - **src**: don't use fopen() in require() fast path (Ben Noordhuis) [#2377](https://github.com/nodejs/node/pull/2377) +* [[`455ec570d1`](https://github.com/nodejs/node/commit/455ec570d1)] - **src**: rename Buffer::Use() to Buffer::New() (Ben Noordhuis) [#2352](https://github.com/nodejs/node/pull/2352) +* [[`fd63e1ce2b`](https://github.com/nodejs/node/commit/fd63e1ce2b)] - **src**: introduce internal Buffer::Copy() function (Ben Noordhuis) [#2352](https://github.com/nodejs/node/pull/2352) +* [[`5586ceca13`](https://github.com/nodejs/node/commit/5586ceca13)] - **src**: move internal functions out of node_buffer.h (Ben Noordhuis) [#2352](https://github.com/nodejs/node/pull/2352) +* [[`bff9bcddb6`](https://github.com/nodejs/node/commit/bff9bcddb6)] - **src**: plug memory leaks (Ben Noordhuis) [#2352](https://github.com/nodejs/node/pull/2352) +* [[`ccf12df4f3`](https://github.com/nodejs/node/commit/ccf12df4f3)] - **(SEMVER-MINOR)** **src**: add total_available_size to v8 statistics (Roman Klauke) [#2348](https://github.com/nodejs/io.js/pull/2348) +* [[`194eeb841b`](https://github.com/nodejs/node/commit/194eeb841b)] - **test**: drop Isolate::GetCurrent() from addon tests (Ben Noordhuis) [#2427](https://github.com/nodejs/node/pull/2427) +* [[`46cdb2f6e2`](https://github.com/nodejs/node/commit/46cdb2f6e2)] - **test**: lint addon tests (Ben Noordhuis) [#2427](https://github.com/nodejs/node/pull/2427) +* [[`850c794882`](https://github.com/nodejs/node/commit/850c794882)] - **test**: refactor test-fs-watchfile.js (Rich Trott) [#2393](https://github.com/nodejs/node/pull/2393) +* [[`a3160c0a33`](https://github.com/nodejs/node/commit/a3160c0a33)] - **test**: correct spelling of 'childProcess' (muddletoes) [#2389](https://github.com/nodejs/node/pull/2389) +* [[`e51f90d747`](https://github.com/nodejs/node/commit/e51f90d747)] - **test**: option to run a subset of tests (João Reis) [#2260](https://github.com/nodejs/io.js/pull/2260) +* [[`cc46d3bca3`](https://github.com/nodejs/node/commit/cc46d3bca3)] - **test**: clarify dropMembership() call (Rich Trott) [#2062](https://github.com/nodejs/io.js/pull/2062) +* [[`0ee4df9c7a`](https://github.com/nodejs/node/commit/0ee4df9c7a)] - **test**: make listen-fd-cluster/server more robust (Sam Roberts) [#1944](https://github.com/nodejs/io.js/pull/1944) +* [[`cf9ba81398`](https://github.com/nodejs/node/commit/cf9ba81398)] - **test**: address timing issues in simple http tests (Gireesh Punathil) [#2294](https://github.com/nodejs/io.js/pull/2294) +* [[`cbb75c4f86`](https://github.com/nodejs/node/commit/cbb75c4f86)] - **tls**: fix throughput issues after incorrect merge (Fedor Indutny) [#2381](https://github.com/nodejs/node/pull/2381) +* [[`94b765f409`](https://github.com/nodejs/node/commit/94b765f409)] - **tls**: fix check for reused session (Fedor Indutny) [#2312](https://github.com/nodejs/io.js/pull/2312) +* [[`e83a41ad65`](https://github.com/nodejs/node/commit/e83a41ad65)] - **tls**: introduce internal `onticketkeycallback` (Fedor Indutny) [#2312](https://github.com/nodejs/io.js/pull/2312) +* [[`fb0f5d733f`](https://github.com/nodejs/node/commit/fb0f5d733f)] - **(SEMVER-MINOR)** **tools**: run the tick processor without building v8 (Matt Loring) [#2090](https://github.com/nodejs/node/pull/2090) +* [[`7606bdb897`](https://github.com/nodejs/node/commit/7606bdb897)] - **(SEMVER-MINOR)** **util**: display constructor when inspecting objects (Christopher Monsanto) [#1935](https://github.com/nodejs/io.js/pull/1935) + +## 2015-08-04, Version 3.0.0, @rvagg + +### Notable changes + +* **buffer**: + - Due to changes in V8, it has been necessary to reimplement `Buffer` on top of V8's `Uint8Array`. Every effort has been made to minimize the performance impact, however `Buffer` instantiation is measurably slower. Access operations may be faster in some circumstances but the exact performance profile and difference over previous versions will depend on how `Buffer` is used within applications. (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825). + - `Buffer` can now take `ArrayBuffer`s as a constructor argument (Trevor Norris) [#2002](https://github.com/nodejs/io.js/pull/2002). + - When a single buffer is passed to `Buffer.concat()`, a new, copied `Buffer` object will be returned; previous behavior was to return the original `Buffer` object (Sakthipriyan Vairamani) [#1937](https://github.com/nodejs/io.js/pull/1937). +* **build**: PPC support has been added to core to allow compiling on pLinux BE and LE (AIX support coming soon) (Michael Dawson) [#2124](https://github.com/nodejs/io.js/pull/2124). +* **dgram**: If an error occurs within `socket.send()` and a callback has been provided, the error is only passed as the first argument to the callback and not emitted on the `socket` object; previous behavior was to do both (Matteo Collina & Chris Dickinson) [#1796](https://github.com/nodejs/io.js/pull/1796) +* **freelist**: Deprecate the undocumented `freelist` core module (Sakthipriyan Vairamani) [#2176](https://github.com/nodejs/io.js/pull/2176). +* **http**: + - Status codes now all use the official [IANA names](http://www.iana.org/assignments/http-status-codes) as per [RFC7231](https://tools.ietf.org/html/rfc7231), e.g. `http.STATUS_CODES[414]` now returns `'URI Too Long'` rather than `'Request-URI Too Large'` (jomo) [#1470](https://github.com/nodejs/io.js/pull/1470). + - Calling .getName() on an HTTP agent no longer returns a trailing colon, HTTPS agents will no longer return an extra colon near the middle of the string (Brendan Ashworth) [#1617](https://github.com/nodejs/io.js/pull/1617). +* **node**: + - `NODE_MODULE_VERSION` has been bumped to `45` to reflect the break in ABI (Rod Vagg) [#2096](https://github.com/nodejs/io.js/pull/2096). + - Introduce a new `process.release` object that contains a `name` property set to `'io.js'` and `sourceUrl`, `headersUrl` and `libUrl` (Windows only) properties containing URLs for the relevant resources; this is intended to be used by node-gyp (Rod Vagg) [#2154](https://github.com/nodejs/io.js/pull/2154). + - The version of node-gyp bundled with io.js now downloads and uses a tarball of header files from iojs.org rather than the full source for compiling native add-ons; it is hoped this is a temporary floating patch and the change will be upstreamed to node-gyp soon (Rod Vagg) [#2066](https://github.com/nodejs/io.js/pull/2066). +* **repl**: Persistent history is now enabled by default. The history file is located at ~/.node_repl_history, which can be overridden by the new environment variable `NODE_REPL_HISTORY`. This deprecates the previous `NODE_REPL_HISTORY_FILE` variable. Additionally, the format of the file has been changed to plain text to better handle file corruption. (Jeremiah Senkpiel) [#2224](https://github.com/nodejs/io.js/pull/2224). +* **smalloc**: The `smalloc` module has been removed as it is no longer possible to provide the API due to changes in V8 (Ben Noordhuis) [#2022](https://github.com/nodejs/io.js/pull/2022). +* **tls**: Add `server.getTicketKeys()` and `server.setTicketKeys()` methods for [TLS session key](https://www.ietf.org/rfc/rfc5077.txt) rotation (Fedor Indutny) [#2227](https://github.com/nodejs/io.js/pull/2227). +* **v8**: Upgraded to 4.4.63.26 + - ES6: Enabled [computed property names](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names) + - ES6: `Array` can now be subclassed in strict mode + - ES6: Implement [rest parameters](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/rest_parameters) in staging, use the `--harmony-rest-parameters` command line flag + - ES6: Implement the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator) in staging, use the `--harmony-spreadcalls` command line flag + - Removed `SetIndexedPropertiesToExternalArrayData` and related APIs, forcing a shift to `Buffer` to be reimplemented based on `Uint8Array` + - Introduction of `Maybe` and `MaybeLocal` C++ API for objects which _may_ or _may not_ have a value. + - Added support for PPC + +See also https://github.com/nodejs/io.js/wiki/Breaking-Changes#300-from-2x for a summary of the breaking changes (SEMVER-MAJOR). + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal. [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760). +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion. [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +### Commits + +* [[`60a974d200`](https://github.com/nodejs/io.js/commit/60a974d200)] - **buffer**: fix missing null/undefined check (Trevor Norris) [#2195](https://github.com/nodejs/io.js/pull/2195) +* [[`e6ab2d92bc`](https://github.com/nodejs/io.js/commit/e6ab2d92bc)] - **buffer**: fix not return on error (Trevor Norris) [#2225](https://github.com/nodejs/io.js/pull/2225) +* [[`1057d1186b`](https://github.com/nodejs/io.js/commit/1057d1186b)] - **buffer**: rename internal/buffer_new.js to buffer.js (Ben Noordhuis) [#2022](https://github.com/nodejs/io.js/pull/2022) +* [[`4643b8b667`](https://github.com/nodejs/io.js/commit/4643b8b667)] - **(SEMVER-MINOR)** **buffer**: allow ArrayBuffer as Buffer argument (Trevor Norris) [#2002](https://github.com/nodejs/io.js/pull/2002) +* [[`e5ada116cd`](https://github.com/nodejs/io.js/commit/e5ada116cd)] - **buffer**: minor cleanup from rebase (Trevor Norris) [#2003](https://github.com/nodejs/io.js/pull/2003) +* [[`b625ab4242`](https://github.com/nodejs/io.js/commit/b625ab4242)] - **buffer**: fix usage of kMaxLength (Trevor Norris) [#2003](https://github.com/nodejs/io.js/pull/2003) +* [[`eea66e2a7b`](https://github.com/nodejs/io.js/commit/eea66e2a7b)] - **(SEMVER-MAJOR)** **buffer**: fix case of one buffer passed to concat (Sakthipriyan Vairamani) [#1937](https://github.com/nodejs/io.js/pull/1937) +* [[`8664084166`](https://github.com/nodejs/io.js/commit/8664084166)] - **buffer**: make additional changes to native API (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`36f78f4c1c`](https://github.com/nodejs/io.js/commit/36f78f4c1c)] - **buffer**: switch API to return MaybeLocal (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`571ec13841`](https://github.com/nodejs/io.js/commit/571ec13841)] - **buffer**: switch to using Maybe API (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`d75f5c8d0e`](https://github.com/nodejs/io.js/commit/d75f5c8d0e)] - **buffer**: finish implementing FreeCallback (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`63da0dfd3a`](https://github.com/nodejs/io.js/commit/63da0dfd3a)] - **buffer**: implement Uint8Array backed Buffer (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`23be6ca189`](https://github.com/nodejs/io.js/commit/23be6ca189)] - **buffer**: allow ARGS_THIS to accept a name (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`971de5e417`](https://github.com/nodejs/io.js/commit/971de5e417)] - **build**: prepare Windows installer for i18n support (Frederic Hemberger) [#2247](https://github.com/nodejs/io.js/pull/2247) +* [[`2ba8b23661`](https://github.com/nodejs/io.js/commit/2ba8b23661)] - **build**: add 'x86' option back in to configure (Rod Vagg) [#2233](https://github.com/nodejs/io.js/pull/2233) +* [[`b4226e797a`](https://github.com/nodejs/io.js/commit/b4226e797a)] - **build**: first set of updates to enable PPC support (Michael Dawson) [#2124](https://github.com/nodejs/io.js/pull/2124) +* [[`24dd016deb`](https://github.com/nodejs/io.js/commit/24dd016deb)] - **build**: produce symbol map files on windows (Ali Ijaz Sheikh) [#2243](https://github.com/nodejs/io.js/pull/2243) +* [[`423d8944ce`](https://github.com/nodejs/io.js/commit/423d8944ce)] - **cluster**: do not unconditionally set --debug-port (cjihrig) [#1949](https://github.com/nodejs/io.js/pull/1949) +* [[`fa98b97171`](https://github.com/nodejs/io.js/commit/fa98b97171)] - **cluster**: add handle ref/unref stubs in rr mode (Ben Noordhuis) [#2274](https://github.com/nodejs/io.js/pull/2274) +* [[`944f68046c`](https://github.com/nodejs/io.js/commit/944f68046c)] - **crypto**: remove kMaxLength on randomBytes() (Trevor Norris) [#1825](https://github.com/nodejs/io.js/pull/1825) +* [[`3d3c687012`](https://github.com/nodejs/io.js/commit/3d3c687012)] - **deps**: update V8 to 4.4.63.26 (Michaël Zasso) [#2220](https://github.com/nodejs/io.js/pull/2220) +* [[`3aad4fa89a`](https://github.com/nodejs/io.js/commit/3aad4fa89a)] - **deps**: upgrade v8 to 4.4.63.12 (Ben Noordhuis) [#2092](https://github.com/nodejs/io.js/pull/2092) +* [[`70d1f32f56`](https://github.com/nodejs/io.js/commit/70d1f32f56)] - **(SEMVER-MAJOR)** **deps**: update v8 to 4.4.63.9 (Ben Noordhuis) [#2022](https://github.com/nodejs/io.js/pull/2022) +* [[`deb7ee93a7`](https://github.com/nodejs/io.js/commit/deb7ee93a7)] - **deps**: backport 7b24219346 from v8 upstream (Rod Vagg) [#1805](https://github.com/nodejs/io.js/pull/1805) +* [[`d58e780504`](https://github.com/nodejs/io.js/commit/d58e780504)] - **(SEMVER-MAJOR)** **deps**: update v8 to 4.3.61.21 (Chris Dickinson) [iojs/io.js#1632](https://github.com/iojs/io.js/pull/1632) +* [[`2a63cf612b`](https://github.com/nodejs/io.js/commit/2a63cf612b)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`bf63266460`](https://github.com/nodejs/io.js/commit/bf63266460)] - **deps**: upgrade to npm 2.13.3 (Kat Marchán) [#2284](https://github.com/nodejs/io.js/pull/2284) +* [[`ef2c8cd4ec`](https://github.com/nodejs/io.js/commit/ef2c8cd4ec)] - **(SEMVER-MAJOR)** **dgram**: make send cb act as "error" event handler (Matteo Collina) [#1796](https://github.com/nodejs/io.js/pull/1796) +* [[`3da057fef6`](https://github.com/nodejs/io.js/commit/3da057fef6)] - **(SEMVER-MAJOR)** **dgram**: make send cb act as "error" event handler (Chris Dickinson) [#1796](https://github.com/nodejs/io.js/pull/1796) +* [[`df1994fe53`](https://github.com/nodejs/io.js/commit/df1994fe53)] - ***Revert*** "**dns**: remove AI_V4MAPPED hint flag on FreeBSD" (cjihrig) [iojs/io.js#1555](https://github.com/iojs/io.js/pull/1555) +* [[`1721968b22`](https://github.com/nodejs/io.js/commit/1721968b22)] - **doc**: document repl persistent history changes (Jeremiah Senkpiel) [#2224](https://github.com/nodejs/io.js/pull/2224) +* [[`d12df7f159`](https://github.com/nodejs/io.js/commit/d12df7f159)] - **doc**: update v8 flags in man page (Michaël Zasso) [iojs/io.js#1701](https://github.com/iojs/io.js/pull/1701) +* [[`d168d01b04`](https://github.com/nodejs/io.js/commit/d168d01b04)] - **doc**: properly inheriting from EventEmitter (Sakthipriyan Vairamani) [#2168](https://github.com/nodejs/io.js/pull/2168) +* [[`500f2538cc`](https://github.com/nodejs/io.js/commit/500f2538cc)] - **doc**: a listener, not "an" listener (Sam Roberts) [#1025](https://github.com/nodejs/io.js/pull/1025) +* [[`54627a919d`](https://github.com/nodejs/io.js/commit/54627a919d)] - **doc**: server close event does not have an argument (Sam Roberts) [#1025](https://github.com/nodejs/io.js/pull/1025) +* [[`ed85c95a9c`](https://github.com/nodejs/io.js/commit/ed85c95a9c)] - **doc,test**: documents behaviour of non-existent file (Sakthipriyan Vairamani) [#2169](https://github.com/nodejs/io.js/pull/2169) +* [[`2965442308`](https://github.com/nodejs/io.js/commit/2965442308)] - **(SEMVER-MAJOR)** **http**: fix agent.getName() and add tests (Brendan Ashworth) [#1617](https://github.com/nodejs/io.js/pull/1617) +* [[`2d9456e3e6`](https://github.com/nodejs/io.js/commit/2d9456e3e6)] - **(SEMVER-MAJOR)** **http**: use official IANA Status Codes (jomo) [#1470](https://github.com/nodejs/io.js/pull/1470) +* [[`11e4249227`](https://github.com/nodejs/io.js/commit/11e4249227)] - **(SEMVER-MAJOR)** **http_server**: `prefinish` vs `finish` (Fedor Indutny) [#1411](https://github.com/nodejs/io.js/pull/1411) +* [[`9bc2e26720`](https://github.com/nodejs/io.js/commit/9bc2e26720)] - **net**: do not set V4MAPPED on FreeBSD (Julien Gilli) [iojs/io.js#1555](https://github.com/iojs/io.js/pull/1555) +* [[`ba9ccf227e`](https://github.com/nodejs/io.js/commit/ba9ccf227e)] - **node**: remove redundant --use-old-buffer (Rod Vagg) [#2275](https://github.com/nodejs/io.js/pull/2275) +* [[`ef65321083`](https://github.com/nodejs/io.js/commit/ef65321083)] - **(SEMVER-MAJOR)** **node**: do not override `message`/`stack` of error (Fedor Indutny) [#2108](https://github.com/nodejs/io.js/pull/2108) +* [[`9f727f5e03`](https://github.com/nodejs/io.js/commit/9f727f5e03)] - **node-gyp**: detect RC build with x.y.z-rc.n format (Rod Vagg) [#2171](https://github.com/nodejs/io.js/pull/2171) +* [[`e52f963632`](https://github.com/nodejs/io.js/commit/e52f963632)] - **node-gyp**: download header tarball for compile (Rod Vagg) [#2066](https://github.com/nodejs/io.js/pull/2066) +* [[`902c9ca51d`](https://github.com/nodejs/io.js/commit/902c9ca51d)] - **node-gyp**: make aware of nightly, next-nightly & rc (Rod Vagg) [#2066](https://github.com/nodejs/io.js/pull/2066) +* [[`4cffaa3f55`](https://github.com/nodejs/io.js/commit/4cffaa3f55)] - **(SEMVER-MINOR)** **readline**: allow tabs in input (Rich Trott) [#1761](https://github.com/nodejs/io.js/pull/1761) +* [[`ed6c249104`](https://github.com/nodejs/io.js/commit/ed6c249104)] - **(SEMVER-MAJOR)** **repl**: persist history in plain text (Jeremiah Senkpiel) [#2224](https://github.com/nodejs/io.js/pull/2224) +* [[`f7d5e4c618`](https://github.com/nodejs/io.js/commit/f7d5e4c618)] - **(SEMVER-MINOR)** **repl**: default persistence to ~/.node_repl_history (Jeremiah Senkpiel) [#2224](https://github.com/nodejs/io.js/pull/2224) +* [[`ea05e760cd`](https://github.com/nodejs/io.js/commit/ea05e760cd)] - **repl**: don't clobber RegExp.$ properties (Sakthipriyan Vairamani) [#2137](https://github.com/nodejs/io.js/pull/2137) +* [[`d20093246b`](https://github.com/nodejs/io.js/commit/d20093246b)] - **src**: disable vector ICs on arm (Michaël Zasso) [#2220](https://github.com/nodejs/io.js/pull/2220) +* [[`04fd4fad46`](https://github.com/nodejs/io.js/commit/04fd4fad46)] - **(SEMVER-MINOR)** **src**: introduce process.release object (Rod Vagg) [#2154](https://github.com/nodejs/io.js/pull/2154) +* [[`9d34bd1147`](https://github.com/nodejs/io.js/commit/9d34bd1147)] - **src**: increment NODE_MODULE_VERSION to 45 (Rod Vagg) [#2096](https://github.com/nodejs/io.js/pull/2096) +* [[`ceee8d2807`](https://github.com/nodejs/io.js/commit/ceee8d2807)] - **test**: add tests for persistent repl history (Jeremiah Senkpiel) [#2224](https://github.com/nodejs/io.js/pull/2224) +* [[`8e1a8ffe24`](https://github.com/nodejs/io.js/commit/8e1a8ffe24)] - **test**: remove two obsolete pummel tests (Ben Noordhuis) [#2022](https://github.com/nodejs/io.js/pull/2022) +* [[`ae731ec0fa`](https://github.com/nodejs/io.js/commit/ae731ec0fa)] - **test**: don't use arguments.callee (Ben Noordhuis) [#2022](https://github.com/nodejs/io.js/pull/2022) +* [[`21d31c08e7`](https://github.com/nodejs/io.js/commit/21d31c08e7)] - **test**: remove obsolete harmony flags (Chris Dickinson) +* [[`64cf71195c`](https://github.com/nodejs/io.js/commit/64cf71195c)] - **test**: change the hostname to an invalid name (Sakthipriyan Vairamani) [#2287](https://github.com/nodejs/io.js/pull/2287) +* [[`80a1cf7425`](https://github.com/nodejs/io.js/commit/80a1cf7425)] - **test**: fix messages and use return to skip tests (Sakthipriyan Vairamani) [#2290](https://github.com/nodejs/io.js/pull/2290) +* [[`d5ab92bcc1`](https://github.com/nodejs/io.js/commit/d5ab92bcc1)] - **test**: use common.isWindows consistently (Sakthipriyan Vairamani) [#2269](https://github.com/nodejs/io.js/pull/2269) +* [[`bc733f7065`](https://github.com/nodejs/io.js/commit/bc733f7065)] - **test**: fix fs.readFile('/dev/stdin') tests (Ben Noordhuis) [#2265](https://github.com/nodejs/io.js/pull/2265) +* [[`3cbb5870e5`](https://github.com/nodejs/io.js/commit/3cbb5870e5)] - **tools**: expose skip output to test runner (Johan Bergström) [#2130](https://github.com/nodejs/io.js/pull/2130) +* [[`3b021efe11`](https://github.com/nodejs/io.js/commit/3b021efe11)] - **vm**: fix symbol access (Domenic Denicola) [#1773](https://github.com/nodejs/io.js/pull/1773) +* [[`7b81e4ba36`](https://github.com/nodejs/io.js/commit/7b81e4ba36)] - **vm**: remove unnecessary access checks (Domenic Denicola) [#1773](https://github.com/nodejs/io.js/pull/1773) +* [[`659dadd410`](https://github.com/nodejs/io.js/commit/659dadd410)] - **vm**: fix property descriptors of sandbox properties (Domenic Denicola) [#1773](https://github.com/nodejs/io.js/pull/1773) +* [[`9bac1dbae9`](https://github.com/nodejs/io.js/commit/9bac1dbae9)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) + +## 2015-07-28, Version 2.5.0, @cjihrig + +### Notable changes + +* **https**: TLS sessions in Agent are reused (Fedor Indutny) [#2228](https://github.com/nodejs/io.js/pull/2228) +* **src**: base64 decoding is now 50% faster (Ben Noordhuis) [#2193](https://github.com/nodejs/io.js/pull/2193) +* **npm**: Upgraded to v2.13.2, release notes can be found in (Kat Marchán) [#2241](https://github.com/nodejs/io.js/pull/2241). + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Using multiple REPL instances in parallel may cause some REPL history corruption or loss. [#1634](https://github.com/nodejs/io.js/issues/1634) +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal. [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760). +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion. [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +### Commits + +* [[`bf2cd225a8`](https://github.com/nodejs/io.js/commit/bf2cd225a8)] - **process**: resize stderr on SIGWINCH (Jeremiah Senkpiel) [#2231](https://github.com/nodejs/io.js/pull/2231) +* [[`99d9d7e716`](https://github.com/nodejs/io.js/commit/99d9d7e716)] - **benchmark**: add remaining path benchmarks & optimize (Nathan Woltman) [#2103](https://github.com/nodejs/io.js/pull/2103) +* [[`66fc8ca22b`](https://github.com/nodejs/io.js/commit/66fc8ca22b)] - **(SEMVER-MINOR)** **cluster**: emit 'message' event on cluster master (Sam Roberts) [#861](https://github.com/nodejs/io.js/pull/861) +* [[`eb35968de7`](https://github.com/nodejs/io.js/commit/eb35968de7)] - **crypto**: fix legacy SNICallback (Fedor Indutny) [#1720](https://github.com/nodejs/io.js/pull/1720) +* [[`fef190cea6`](https://github.com/nodejs/io.js/commit/fef190cea6)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`b73a7465c5`](https://github.com/nodejs/io.js/commit/b73a7465c5)] - **deps**: upgrade to npm 2.13.2 (Kat Marchán) [#2241](https://github.com/nodejs/io.js/pull/2241) +* [[`0a7bf81d2f`](https://github.com/nodejs/io.js/commit/0a7bf81d2f)] - **deps**: update V8 to 4.2.77.21 (Ali Ijaz Sheikh) [#2238](https://github.com/nodejs/io.js/issues/2238) +* [[`73cdcdd581`](https://github.com/nodejs/io.js/commit/73cdcdd581)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`04893a736d`](https://github.com/nodejs/io.js/commit/04893a736d)] - **deps**: upgrade to npm 2.13.1 (Kat Marchán) [#2210](https://github.com/nodejs/io.js/pull/2210) +* [[`a3c1b9720e`](https://github.com/nodejs/io.js/commit/a3c1b9720e)] - **doc**: add GPG fingerprint for cjihrig (cjihrig) [#2217](https://github.com/nodejs/io.js/pull/2217) +* [[`d9f857df3b`](https://github.com/nodejs/io.js/commit/d9f857df3b)] - **doc**: note about custom inspect functions (Sakthipriyan Vairamani) [#2142](https://github.com/nodejs/io.js/pull/2142) +* [[`4ef2b5fbfb`](https://github.com/nodejs/io.js/commit/4ef2b5fbfb)] - **doc**: Replace util.debug with console.error (Yosuke Furukawa) [#2214](https://github.com/nodejs/io.js/pull/2214) +* [[`b612f085ec`](https://github.com/nodejs/io.js/commit/b612f085ec)] - **doc**: add joaocgreis as a collaborator (João Reis) [#2208](https://github.com/nodejs/io.js/pull/2208) +* [[`6b85d5a4b3`](https://github.com/nodejs/io.js/commit/6b85d5a4b3)] - **doc**: add TSC meeting minutes 2015-07-15 (Rod Vagg) [#2191](https://github.com/nodejs/io.js/pull/2191) +* [[`c7d8b09162`](https://github.com/nodejs/io.js/commit/c7d8b09162)] - **doc**: recompile before testing core module changes (Phillip Johnsen) [#2051](https://github.com/nodejs/io.js/pull/2051) +* [[`9afee6785e`](https://github.com/nodejs/io.js/commit/9afee6785e)] - **http**: Check this.connection before using it (Sakthipriyan Vairamani) [#2172](https://github.com/nodejs/io.js/pull/2172) +* [[`2ca5a3db47`](https://github.com/nodejs/io.js/commit/2ca5a3db47)] - **https**: reuse TLS sessions in Agent (Fedor Indutny) [#2228](https://github.com/nodejs/io.js/pull/2228) +* [[`fef87fee1d`](https://github.com/nodejs/io.js/commit/fef87fee1d)] - **(SEMVER-MINOR)** **lib,test**: add freelist deprecation and test (Sakthipriyan Vairamani) [#2176](https://github.com/nodejs/io.js/pull/2176) +* [[`503b089dd8`](https://github.com/nodejs/io.js/commit/503b089dd8)] - **net**: don't throw on immediately destroyed socket (Evan Lucas) [#2251](https://github.com/nodejs/io.js/pull/2251) +* [[`93660c8b8e`](https://github.com/nodejs/io.js/commit/93660c8b8e)] - **node**: remove bad fn call and check (Trevor Norris) [#2157](https://github.com/nodejs/io.js/pull/2157) +* [[`afd7e37ee0`](https://github.com/nodejs/io.js/commit/afd7e37ee0)] - **repl**: better empty line handling (Sakthipriyan Vairamani) [#2163](https://github.com/nodejs/io.js/pull/2163) +* [[`81ea52aa01`](https://github.com/nodejs/io.js/commit/81ea52aa01)] - **repl**: improving line continuation handling (Sakthipriyan Vairamani) [#2163](https://github.com/nodejs/io.js/pull/2163) +* [[`30edb5aee9`](https://github.com/nodejs/io.js/commit/30edb5aee9)] - **repl**: preventing REPL crash with inherited properties (Sakthipriyan Vairamani) [#2163](https://github.com/nodejs/io.js/pull/2163) +* [[`77fa385e5d`](https://github.com/nodejs/io.js/commit/77fa385e5d)] - **repl**: fixing `undefined` in invalid REPL keyword error (Sakthipriyan Vairamani) [#2163](https://github.com/nodejs/io.js/pull/2163) +* [[`8fd3ce100e`](https://github.com/nodejs/io.js/commit/8fd3ce100e)] - **src**: make base64 decoding 50% faster (Ben Noordhuis) [#2193](https://github.com/nodejs/io.js/pull/2193) +* [[`c786d6341d`](https://github.com/nodejs/io.js/commit/c786d6341d)] - **test**: do not use public IPs for timeout testing (Rich Trott) [#2057](https://github.com/nodejs/io.js/pull/2057) +* [[`4e78cd71c0`](https://github.com/nodejs/io.js/commit/4e78cd71c0)] - **test**: skip IPv6 part before testing it (Sakthipriyan Vairamani) [#2226](https://github.com/nodejs/io.js/pull/2226) +* [[`ac70bc8240`](https://github.com/nodejs/io.js/commit/ac70bc8240)] - **test**: fix valgrind uninitialized memory warning (Ben Noordhuis) [#2193](https://github.com/nodejs/io.js/pull/2193) +* [[`ac7d3fa0d9`](https://github.com/nodejs/io.js/commit/ac7d3fa0d9)] - **test**: add -no_rand_screen to s_client opts on Win (Shigeki Ohtsu) [#2209](https://github.com/nodejs/io.js/pull/2209) +* [[`79c865a53f`](https://github.com/nodejs/io.js/commit/79c865a53f)] - **test**: changing process.exit to return while skipping tests (Sakthipriyan Vairamani) [#2109](https://github.com/nodejs/io.js/pull/2109) +* [[`69298d36cf`](https://github.com/nodejs/io.js/commit/69298d36cf)] - **test**: formatting skip messages for TAP parsing (Sakthipriyan Vairamani) [#2109](https://github.com/nodejs/io.js/pull/2109) +* [[`543dabb609`](https://github.com/nodejs/io.js/commit/543dabb609)] - **timers**: improve Timer.now() performance (Ben Noordhuis) [#2256](https://github.com/nodejs/io.js/pull/2256) +* [[`3663b124e6`](https://github.com/nodejs/io.js/commit/3663b124e6)] - **timers**: remove unused Timer.again() (Ben Noordhuis) [#2256](https://github.com/nodejs/io.js/pull/2256) +* [[`bcce5cf9bb`](https://github.com/nodejs/io.js/commit/bcce5cf9bb)] - **timers**: remove unused Timer.getRepeat() (Ben Noordhuis) [#2256](https://github.com/nodejs/io.js/pull/2256) +* [[`f2c83bd202`](https://github.com/nodejs/io.js/commit/f2c83bd202)] - **timers**: remove unused Timer.setRepeat() (Ben Noordhuis) [#2256](https://github.com/nodejs/io.js/pull/2256) +* [[`e11fc67225`](https://github.com/nodejs/io.js/commit/e11fc67225)] - **(SEMVER-MINOR)** **tls**: add `getTicketKeys()`/`setTicketKeys()` (Fedor Indutny) [#2227](https://github.com/nodejs/io.js/pull/2227) +* [[`68b06e94e3`](https://github.com/nodejs/io.js/commit/68b06e94e3)] - **tools**: use local or specified $NODE for test-npm (Jeremiah Senkpiel) [#1984](https://github.com/nodejs/io.js/pull/1984) +* [[`ab479659c7`](https://github.com/nodejs/io.js/commit/ab479659c7)] - **util**: delay creation of debug context (Ali Ijaz Sheikh) [#2248](https://github.com/nodejs/io.js/pull/2248) +* [[`6391f4d2fd`](https://github.com/nodejs/io.js/commit/6391f4d2fd)] - **util**: removing redundant checks in is* functions (Sakthipriyan Vairamani) [#2179](https://github.com/nodejs/io.js/pull/2179) +* [[`b148c0dff3`](https://github.com/nodejs/io.js/commit/b148c0dff3)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) +* [[`f90f1e75bb`](https://github.com/nodejs/io.js/commit/f90f1e75bb)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) + +## 2015-07-17, Version 2.4.0, @Fishrock123 + +### Notable changes + +* **src**: Added a new `--track-heap-objects` flag to track heap object allocations for heap snapshots (Bradley Meck) [#2135](https://github.com/nodejs/io.js/pull/2135). +* **readline**: Fixed a freeze that affected the repl if the keypress event handler threw (Alex Kocharin) [#2107](https://github.com/nodejs/io.js/pull/2107). +* **npm**: Upgraded to v2.13.0, release notes can be found in (Forrest L Norvell) [#2152](https://github.com/nodejs/io.js/pull/2152). + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal. [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760). +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion. [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +### Commits + +* [[`f95f9ef6ea`](https://github.com/nodejs/io.js/commit/f95f9ef6ea)] - **build**: always use prefix=/ for tar-headers (Rod Vagg) [#2082](https://github.com/nodejs/io.js/pull/2082) +* [[`12bc397207`](https://github.com/nodejs/io.js/commit/12bc397207)] - **build**: run-ci makefile rule (Alexis Campailla) [#2134](https://github.com/nodejs/io.js/pull/2134) +* [[`84012c99e0`](https://github.com/nodejs/io.js/commit/84012c99e0)] - **build**: fix vcbuild merge issues (Alexis Campailla) [#2131](https://github.com/nodejs/io.js/pull/2131) +* [[`47e2c5c828`](https://github.com/nodejs/io.js/commit/47e2c5c828)] - **build**: bail early if clean is invoked (Johan Bergström) [#2127](https://github.com/nodejs/io.js/pull/2127) +* [[`5acad6b163`](https://github.com/nodejs/io.js/commit/5acad6b163)] - **child_process**: fix arguments comments (Roman Reiss) [#2161](https://github.com/nodejs/io.js/pull/2161) +* [[`3c4121c418`](https://github.com/nodejs/io.js/commit/3c4121c418)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`938cc757bb`](https://github.com/nodejs/io.js/commit/938cc757bb)] - **deps**: upgrade to npm 2.13.0 (Forrest L Norvell) [#2152](https://github.com/nodejs/io.js/pull/2152) +* [[`6f306e0ed2`](https://github.com/nodejs/io.js/commit/6f306e0ed2)] - **doc**: add targos as a collaborator (Michaël Zasso) [#2200](https://github.com/nodejs/io.js/pull/2200) +* [[`c019d9a239`](https://github.com/nodejs/io.js/commit/c019d9a239)] - **doc**: add thefourtheye as a collaborator (Sakthipriyan Vairamani) [#2199](https://github.com/nodejs/io.js/pull/2199) +* [[`4e92dbc26b`](https://github.com/nodejs/io.js/commit/4e92dbc26b)] - **doc**: add TSC members from the combined project (Jeremiah Senkpiel) [#2085](https://github.com/nodejs/io.js/pull/2085) +* [[`6c3aabf455`](https://github.com/nodejs/io.js/commit/6c3aabf455)] - **doc**: add TSC meeting minutes 2015-07-08 (Rod Vagg) [#2184](https://github.com/nodejs/io.js/pull/2184) +* [[`30a0d47d51`](https://github.com/nodejs/io.js/commit/30a0d47d51)] - **doc**: add TSC meeting minutes 2015-07-01 (Rod Vagg) [#2132](https://github.com/nodejs/io.js/pull/2132) +* [[`23efb05cc3`](https://github.com/nodejs/io.js/commit/23efb05cc3)] - **doc**: document fs.watchFile behaviour on ENOENT (Brendan Ashworth) [#2093](https://github.com/nodejs/io.js/pull/2093) +* [[`65963ec26f`](https://github.com/nodejs/io.js/commit/65963ec26f)] - **doc,test**: empty strings in path module (Sakthipriyan Vairamani) [#2106](https://github.com/nodejs/io.js/pull/2106) +* [[`0ab81e6f58`](https://github.com/nodejs/io.js/commit/0ab81e6f58)] - **docs**: link to more up-to-date v8 docs (Jeremiah Senkpiel) [#2196](https://github.com/nodejs/io.js/pull/2196) +* [[`1afc0c9e86`](https://github.com/nodejs/io.js/commit/1afc0c9e86)] - **fs**: fix error on bad listener type (Brendan Ashworth) [#2093](https://github.com/nodejs/io.js/pull/2093) +* [[`2ba84606a6`](https://github.com/nodejs/io.js/commit/2ba84606a6)] - **path**: assert path.join() arguments equally (Phillip Johnsen) [#2159](https://github.com/nodejs/io.js/pull/2159) +* [[`bd01603201`](https://github.com/nodejs/io.js/commit/bd01603201)] - **readline**: fix freeze if `keypress` event throws (Alex Kocharin) [#2107](https://github.com/nodejs/io.js/pull/2107) +* [[`59f6b5da2a`](https://github.com/nodejs/io.js/commit/59f6b5da2a)] - **repl**: Prevent crash when tab-completed with Proxy (Sakthipriyan Vairamani) [#2120](https://github.com/nodejs/io.js/pull/2120) +* [[`cf14a2427c`](https://github.com/nodejs/io.js/commit/cf14a2427c)] - **(SEMVER-MINOR)** **src**: add --track-heap-objects (Bradley Meck) [#2135](https://github.com/nodejs/io.js/pull/2135) +* [[`2b4b600660`](https://github.com/nodejs/io.js/commit/2b4b600660)] - **test**: fix test-debug-port-from-cmdline (João Reis) [#2186](https://github.com/nodejs/io.js/pull/2186) +* [[`d4ceb16da2`](https://github.com/nodejs/io.js/commit/d4ceb16da2)] - **test**: properly clean up temp directory (Roman Reiss) [#2164](https://github.com/nodejs/io.js/pull/2164) +* [[`842eb5b853`](https://github.com/nodejs/io.js/commit/842eb5b853)] - **test**: add test for dgram.setTTL (Evan Lucas) [#2121](https://github.com/nodejs/io.js/pull/2121) +* [[`cff7300a57`](https://github.com/nodejs/io.js/commit/cff7300a57)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) + +## 2015-07-09, Version 2.3.4, @Fishrock123 + +### Notable changes + +* **openssl**: Upgrade to 1.0.2d, fixes CVE-2015-1793 (Alternate Chains Certificate Forgery) (Shigeki Ohtsu) [#2141](https://github.com/nodejs/io.js/pull/2141). +* **npm**: Upgraded to v2.12.1, release notes can be found in and (Kat Marchán) [#2112](https://github.com/nodejs/io.js/pull/2112). + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal. [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760). +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion. [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +### Commits + +* [[`0d15161c24`](https://github.com/nodejs/io.js/commit/0d15161c24)] - **benchmark**: Add some path benchmarks for #1778 (Nathan Woltman) [#1778](https://github.com/nodejs/io.js/pull/1778) +* [[`c70e68fa32`](https://github.com/nodejs/io.js/commit/c70e68fa32)] - **deps**: update deps/openssl/conf/arch/*/opensslconf.h (Shigeki Ohtsu) [#2141](https://github.com/nodejs/io.js/pull/2141) +* [[`ca93f7f2e6`](https://github.com/nodejs/io.js/commit/ca93f7f2e6)] - **deps**: upgrade openssl sources to 1.0.2d (Shigeki Ohtsu) [#2141](https://github.com/nodejs/io.js/pull/2141) +* [[`b18c841ec1`](https://github.com/nodejs/io.js/commit/b18c841ec1)] - **deps**: make node-gyp work with io.js (cjihrig) [iojs/io.js#990](https://github.com/iojs/io.js/pull/990) +* [[`863cdbdd08`](https://github.com/nodejs/io.js/commit/863cdbdd08)] - **deps**: upgrade to npm 2.12.1 (Kat Marchán) [#2112](https://github.com/nodejs/io.js/pull/2112) +* [[`84b3915764`](https://github.com/nodejs/io.js/commit/84b3915764)] - **doc**: document current release procedure (Rod Vagg) [#2099](https://github.com/nodejs/io.js/pull/2099) +* [[`46140334cd`](https://github.com/nodejs/io.js/commit/46140334cd)] - **doc**: update AUTHORS list (Rod Vagg) [#2100](https://github.com/nodejs/io.js/pull/2100) +* [[`bca53dce76`](https://github.com/nodejs/io.js/commit/bca53dce76)] - **path**: refactor for performance and consistency (Nathan Woltman) [#1778](https://github.com/nodejs/io.js/pull/1778) +* [[`6bef15afe7`](https://github.com/nodejs/io.js/commit/6bef15afe7)] - **src**: remove traceSyncIO property from process (Bradley Meck) [#2143](https://github.com/nodejs/io.js/pull/2143) +* [[`2ba1740ba1`](https://github.com/nodejs/io.js/commit/2ba1740ba1)] - **test**: add missing crypto checks (Johan Bergström) [#2129](https://github.com/nodejs/io.js/pull/2129) +* [[`180fd392ca`](https://github.com/nodejs/io.js/commit/180fd392ca)] - **test**: refactor test-repl-tab-complete (Sakthipriyan Vairamani) [#2122](https://github.com/nodejs/io.js/pull/2122) +* [[`fb05c8e27d`](https://github.com/nodejs/io.js/commit/fb05c8e27d)] - ***Revert*** "**test**: add test for missing `close`/`finish` event" (Fedor Indutny) +* [[`9436a860cb`](https://github.com/nodejs/io.js/commit/9436a860cb)] - **test**: add test for missing `close`/`finish` event (Mark Plomer) [iojs/io.js#1373](https://github.com/iojs/io.js/pull/1373) +* [[`ee3ce2ed88`](https://github.com/nodejs/io.js/commit/ee3ce2ed88)] - **tools**: install gdbinit from v8 to $PREFIX/share (Ali Ijaz Sheikh) [#2123](https://github.com/nodejs/io.js/pull/2123) +* [[`dd523c75da`](https://github.com/nodejs/io.js/commit/dd523c75da)] - **win,node-gyp**: enable delay-load hook by default (Bert Belder) [iojs/io.js#1433](https://github.com/iojs/io.js/pull/1433) + +## 2015-07-04, Version 2.3.3, @Fishrock123 + +### Notable changes + +* **deps**: Fixed an out-of-band write in utf8 decoder. **This is an important security update** as it can be used to cause a denial of service attack. + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal. [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760). +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion. [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +## Commits + +* [[`030f8045c7`](https://github.com/nodejs/io.js/commit/030f8045c7)] - **deps**: fix out-of-band write in utf8 decoder (Fedor Indutny) +* [[`0f09b8db28`](https://github.com/nodejs/io.js/commit/0f09b8db28)] - **doc**: don't recommend domains for error handling (Benjamin Gruenbaum) [#2056](https://github.com/nodejs/io.js/pull/2056) +* [[`9cd44bb2b6`](https://github.com/nodejs/io.js/commit/9cd44bb2b6)] - **util**: prepend '(node) ' to deprecation messages (Sakthipriyan Vairamani) [#1892](https://github.com/nodejs/io.js/pull/1892) + +## 2015-07-01, Version 2.3.2, @rvagg + +### Notable changes + +* **build**: + - Added support for compiling with Microsoft Visual C++ 2015 + - Started building and distributing headers-only tarballs along with binaries + +### Known issues + +See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and current list of known issues. + +* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/nodejs/io.js/issues/1264). +* Surrogate pair in REPL can freeze terminal [#690](https://github.com/nodejs/io.js/issues/690) +* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/nodejs/io.js/issues/760) and fix in [#774](https://github.com/nodejs/io.js/issues/774) +* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion [#894](https://github.com/nodejs/io.js/issues/894) +* `url.resolve` may transfer the auth portion of the url when resolving between two full hosts, see [#1435](https://github.com/nodejs/io.js/issues/1435). + +## Commits + +* [[`9180140231`](https://github.com/nodejs/io.js/commit/9180140231)] - **_stream_wrap**: prevent use after free in TLS (Fedor Indutny) [#1910](https://github.com/nodejs/io.js/pull/1910) +* [[`05a73c0f25`](https://github.com/nodejs/io.js/commit/05a73c0f25)] - **benchmark**: make concurrent requests configurable (Rich Trott) [#2068](https://github.com/nodejs/io.js/pull/2068) +* [[`f52d73352e`](https://github.com/nodejs/io.js/commit/f52d73352e)] - **benchmark**: fix typo in README (Rich Trott) [#2067](https://github.com/nodejs/io.js/pull/2067) +* [[`1cd9eeb556`](https://github.com/nodejs/io.js/commit/1cd9eeb556)] - **buffer**: prevent abort on bad proto (Trevor Norris) [#2012](https://github.com/nodejs/io.js/pull/2012) +* [[`8350f3a3a2`](https://github.com/nodejs/io.js/commit/8350f3a3a2)] - **buffer**: optimize Buffer#toString() (Ben Noordhuis) [#2027](https://github.com/nodejs/io.js/pull/2027) +* [[`628a3ab093`](https://github.com/nodejs/io.js/commit/628a3ab093)] - **build**: add tar-headers target for headers-only tar (Rod Vagg) [#1975](https://github.com/nodejs/io.js/pull/1975) +* [[`dcbb9e1da6`](https://github.com/nodejs/io.js/commit/dcbb9e1da6)] - **build**: update build targets for io.js (Rod Vagg) [#1938](https://github.com/nodejs/io.js/pull/1938) +* [[`c87c34c242`](https://github.com/nodejs/io.js/commit/c87c34c242)] - **build**: fix cherry-pick ooops, fix comment wording (Rod Vagg) [#2036](https://github.com/nodejs/io.js/pull/2036) +* [[`4208dc4fef`](https://github.com/nodejs/io.js/commit/4208dc4fef)] - **build**: add MSVS 2015 support (Rod Vagg) [#2036](https://github.com/nodejs/io.js/pull/2036) +* [[`834a365113`](https://github.com/nodejs/io.js/commit/834a365113)] - **build**: DTrace is enabled by default on darwin (Evan Lucas) [#2019](https://github.com/nodejs/io.js/pull/2019) +* [[`c0c0d73269`](https://github.com/nodejs/io.js/commit/c0c0d73269)] - **build,win**: set env before generating projects (Alexis Campailla) [joyent/node#20109](https://github.com/joyent/node/pull/20109) +* [[`9e890fe8b4`](https://github.com/nodejs/io.js/commit/9e890fe8b4)] - **crypto**: fix VerifyCallback in case of verify error (Shigeki Ohtsu) [#2064](https://github.com/nodejs/io.js/pull/2064) +* [[`1f371e3988`](https://github.com/nodejs/io.js/commit/1f371e3988)] - **deps**: copy all openssl header files to include dir (Shigeki Ohtsu) [#2016](https://github.com/nodejs/io.js/pull/2016) +* [[`c370bd3aea`](https://github.com/nodejs/io.js/commit/c370bd3aea)] - **doc**: make the abbreviation 1MM clear (Ivan Yan) [#2053](https://github.com/nodejs/io.js/pull/2053) +* [[`54d5437566`](https://github.com/nodejs/io.js/commit/54d5437566)] - **doc**: Added sample command to test iojs build (Jimmy Hsu) [#850](https://github.com/nodejs/io.js/pull/850) +* [[`f1f1b7e597`](https://github.com/nodejs/io.js/commit/f1f1b7e597)] - **doc**: add TSC meeting minutes 2015-06-17 (Rod Vagg) [#2048](https://github.com/nodejs/io.js/pull/2048) +* [[`dbd5dc932d`](https://github.com/nodejs/io.js/commit/dbd5dc932d)] - **doc**: clarify prerequisites in benchmark/README.md (Jeremiah Senkpiel) [#2034](https://github.com/nodejs/io.js/pull/2034) +* [[`50dbc8e143`](https://github.com/nodejs/io.js/commit/50dbc8e143)] - **doc**: add TSC meeting minutes 2015-05-27 (Rod Vagg) [#2037](https://github.com/nodejs/io.js/pull/2037) +* [[`941ad362a7`](https://github.com/nodejs/io.js/commit/941ad362a7)] - **doc**: archive io.js TC minutes (Rod Vagg) +* [[`644b2eaa89`](https://github.com/nodejs/io.js/commit/644b2eaa89)] - **doc**: rename tc-meetings to tsc-meetings (Rod Vagg) +* [[`1330ee3b27`](https://github.com/nodejs/io.js/commit/1330ee3b27)] - **doc**: add TC meeting 2015-05-13 minutes (Rod Vagg) [#1700](https://github.com/nodejs/io.js/pull/1700) +* [[`392e8fd64e`](https://github.com/nodejs/io.js/commit/392e8fd64e)] - **doc**: add @shigeki and @mscdex to TC (Rod Vagg) [#2008](https://github.com/nodejs/io.js/pull/2008) +* [[`af249fa8a1`](https://github.com/nodejs/io.js/commit/af249fa8a1)] - **net**: wrap connect in nextTick (Evan Lucas) [#2054](https://github.com/nodejs/io.js/pull/2054) +* [[`7f63449fde`](https://github.com/nodejs/io.js/commit/7f63449fde)] - **net**: fix debug for dnsopts (Evan Lucas) [#2059](https://github.com/nodejs/io.js/pull/2059) +* [[`eabed2f518`](https://github.com/nodejs/io.js/commit/eabed2f518)] - **repl**: remove obsolete TODO (Rich Trott) [#2081](https://github.com/nodejs/io.js/pull/2081) +* [[`a198c68b56`](https://github.com/nodejs/io.js/commit/a198c68b56)] - **repl**: make 'Unexpected token' errors recoverable (Julien Gilli) [#2052](https://github.com/nodejs/io.js/pull/2052) +* [[`d735b2c6ef`](https://github.com/nodejs/io.js/commit/d735b2c6ef)] - **repl**: fix tab completion for a non-global context (Sangmin Yoon) [#2052](https://github.com/nodejs/io.js/pull/2052) +* [[`8cee8f54fc`](https://github.com/nodejs/io.js/commit/8cee8f54fc)] - **src**: nix stdin _readableState.reading manipulation (Chris Dickinson) [#454](https://github.com/nodejs/io.js/pull/454) +* [[`856c11f8c8`](https://github.com/nodejs/io.js/commit/856c11f8c8)] - **test**: purge stale disabled tests (Rich Trott) [#2045](https://github.com/nodejs/io.js/pull/2045) +* [[`4d5089e181`](https://github.com/nodejs/io.js/commit/4d5089e181)] - **test**: do not swallow OpenSSL support error (Rich Trott) [#2042](https://github.com/nodejs/io.js/pull/2042) +* [[`06721fe005`](https://github.com/nodejs/io.js/commit/06721fe005)] - **test**: fix test-repl-tab-complete.js (cjihrig) [#2052](https://github.com/nodejs/io.js/pull/2052) +* [[`8e9089ac35`](https://github.com/nodejs/io.js/commit/8e9089ac35)] - **test**: check for error on Windows (Rich Trott) [#2035](https://github.com/nodejs/io.js/pull/2035) +* [[`776a65ebcd`](https://github.com/nodejs/io.js/commit/776a65ebcd)] - **test**: remove obsolete TODO comments (Rich Trott) [#2033](https://github.com/nodejs/io.js/pull/2033) +* [[`bdfeb798ad`](https://github.com/nodejs/io.js/commit/bdfeb798ad)] - **test**: remove obsolete TODO comments (Rich Trott) [#2032](https://github.com/nodejs/io.js/pull/2032) +* [[`58e914f9bc`](https://github.com/nodejs/io.js/commit/58e914f9bc)] - **tools**: fix gyp to work on MacOSX without XCode (Shigeki Ohtsu) [iojs/io.js#1325](https://github.com/iojs/io.js/pull/1325) +* [[`99cbbc0a13`](https://github.com/nodejs/io.js/commit/99cbbc0a13)] - **tools**: update gyp to 25ed9ac (Ben Noordhuis) [#2074](https://github.com/nodejs/io.js/pull/2074) +* [[`e3f9335c40`](https://github.com/nodejs/io.js/commit/e3f9335c40)] - **tools**: re-enable comma-spacing linter rule (Roman Reiss) [#2072](https://github.com/nodejs/io.js/pull/2072) +* [[`d91e10b3bd`](https://github.com/nodejs/io.js/commit/d91e10b3bd)] - **tools**: update eslint to 0.24.0 (Roman Reiss) [#2072](https://github.com/nodejs/io.js/pull/2072) +* [[`6c61ca5325`](https://github.com/nodejs/io.js/commit/6c61ca5325)] - **url**: fix typo in comment (Rich Trott) [#2071](https://github.com/nodejs/io.js/pull/2071) +* [[`1a51f0058c`](https://github.com/nodejs/io.js/commit/1a51f0058c)] - **v8**: cherry-pick JitCodeEvent patch from upstream (Ben Noordhuis) [#2075](https://github.com/nodejs/io.js/pull/2075) + ## 2015-06-23, Version 2.3.1, @rvagg ### Notable changes @@ -209,8 +614,8 @@ See https://github.com/nodejs/io.js/labels/confirmed-bug for complete and curren ### Commits * [[`c5a1009903`](https://github.com/nodejs/io.js/commit/c5a1009903)] - **build**: avoid passing empty strings to build flags (Johan Bergström) [#1789](https://github.com/nodejs/io.js/pull/1789) -* [[`5d83401086`](https://github.com/nodejs/io.js/commit/5d83401086)] - **doc**: put SEMVER-MINOR on pre-load module fix 2.2.0 (Rod Vagg) -* [[`4d6b768e5d`](https://github.com/nodejs/io.js/commit/4d6b768e5d)] - **http**: revert deprecation of client property (Michaël Zasso) [#1852](https://github.com/nodejs/io.js/pull/1852) +* [[`5d83401086`](https://github.com/nodejs/io.js/commit/5d83401086)] - **doc**: put SEMVER-MINOR on pre-load module fix 2.2.0 (Rod Vagg) +* [[`4d6b768e5d`](https://github.com/nodejs/io.js/commit/4d6b768e5d)] - **http**: revert deprecation of client property (Michaël Zasso) [#1852](https://github.com/nodejs/io.js/pull/1852) ## 2015-05-31, Version 2.2.0, @rvagg diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2ab54f981ea650..3efad27eec6fe8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -126,7 +126,7 @@ test/parallel/ directory. Look at other tests to see how they should be structured (license boilerplate, common includes, etc.). ```text -$ make jslint test +$ ./configure && make -j8 test ``` Make sure the linter is happy and that all tests pass. Please, do not submit @@ -142,9 +142,11 @@ $ python tools/test.py -v --mode=release parallel/test-stream2-transform You can run tests directly with iojs: ```text -$ iojs ./test/parallel/test-streams2-transform.js +$ ./iojs ./test/parallel/test-stream2-transform.js ``` +Remember to recompile with `make -j8` in between test runs if you change +core modules. ### Step 6: Push diff --git a/LICENSE b/LICENSE index f493fde3613eb5..7d215a0717da22 100644 --- a/LICENSE +++ b/LICENSE @@ -657,3 +657,388 @@ The externally maintained libraries used by io.js are: ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """ + +- ICU's license follows: + From http://source.icu-project.org/repos/icu/icu/trunk/license.html + """ + ICU License - ICU 1.8.1 and later + + COPYRIGHT AND PERMISSION NOTICE + + Copyright (c) 1995-2014 International Business Machines Corporation and others + + All rights reserved. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, and/or sell copies of the + Software, and to permit persons to whom the Software is furnished + to do so, provided that the above copyright notice(s) and this + permission notice appear in all copies of the Software and that + both the above copyright notice(s) and this permission notice + appear in supporting documentation. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE + COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR + ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR + ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in this Software without prior written + authorization of the copyright holder. + + All trademarks and registered trademarks mentioned herein are the + property of their respective owners. + + Third-Party Software Licenses + + This section contains third-party software notices and/or + additional terms for licensed third-party software components + included within ICU libraries. + + 1. Unicode Data Files and Software + COPYRIGHT AND PERMISSION NOTICE + + Copyright © 1991-2014 Unicode, Inc. All rights reserved. + Distributed under the Terms of Use in + http://www.unicode.org/copyright.html. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of the Unicode data files and any associated documentation + (the "Data Files") or Unicode software and any associated documentation + (the "Software") to deal in the Data Files or Software + without restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, and/or sell copies of + the Data Files or Software, and to permit persons to whom the Data Files + or Software are furnished to do so, provided that + (a) this copyright and permission notice appear with all copies + of the Data Files or Software, + (b) this copyright and permission notice appear in associated + documentation, and + (c) there is clear notice in each modified Data File or in the Software + as well as in the documentation associated with the Data File(s) or + Software that the data or software has been modified. + + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THE DATA FILES OR SOFTWARE. + + Except as contained in this notice, the name of a copyright holder + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in these Data Files or Software without prior + written authorization of the copyright holder. + + 2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + # The Google Chrome software developed by Google is licensed + # under the BSD license. Other software included in this distribution + # is provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or + # without modification, are permitted provided that the following + # conditions are met: + # + # Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three + word lists listed + # below with further processing for compound word breaking. The + frequency is generated + # with an iterative training against Google web corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia Sinica. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END------------------------------------ + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------------ + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END------------------------------------ + + 3. Lao Word Break Dictionary Data (laodict.txt) + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight modifications. + # -------------------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without modification, + # are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in binary + # form must reproduce the above copyright notice, this list of conditions and + # the following disclaimer in the documentation and/or other materials + # provided with the distribution. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------------- + + 4. Burmese Word Break Dictionary Data (burmesedict.txt) + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without modification, + # are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. + # + # Redistributions in binary form must reproduce the above copyright notice, this + # list of conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------------- + + 5. Time Zone Database + ICU uses the public domain data and code derived from Time Zone + Database for its time zone support. The ownership of the TZ + database is explained in BCP 175: Procedure for Maintaining the + Time Zone Database section 7. + + 7. Database Ownership + + The TZ database itself is not an IETF Contribution or an IETF + document. Rather it is a pre-existing and regularly updated work + that is in the public domain, and is intended to remain in the public + domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do not apply + to the TZ Database or contributions that individuals make to it. + Should any claims be made and substantiated against the TZ Database, + the organization that is providing the IANA Considerations defined in + this RFC, under the memorandum of understanding with the IETF, + currently ICANN, may act in accordance with all competent court + orders. No ownership claims will be made by ICANN or the IETF Trust + on the database or the code. Any person making a contribution to the + database or code waives all rights to future claims in that + contribution or in the TZ Database. + """ diff --git a/Makefile b/Makefile index a59f55c0dc144f..7027ba973f95c1 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,11 @@ NODE ?= ./iojs$(EXEEXT) NODE_EXE = iojs$(EXEEXT) NODE_G_EXE = iojs_g$(EXEEXT) +# Flags for packaging. +BUILD_DOWNLOAD_FLAGS ?= --download=all +BUILD_INTL_FLAGS ?= --with-intl=small-icu +BUILD_RELEASE_FLAGS ?= $(BUILD_DOWNLOAD_FLAGS) $(BUILD_INTL_FLAGS) + # Default to verbose builds. # To do quiet/pretty builds, run `make V=` to set V to an empty string, # or set the V environment variable to an empty string. @@ -139,7 +144,7 @@ test-debugger: all $(PYTHON) tools/test.py debugger test-npm: $(NODE_EXE) - NODE_EXE=$(NODE_EXE) tools/test-npm.sh + NODE=$(NODE) tools/test-npm.sh test-npm-publish: $(NODE_EXE) npm_package_config_publishtest=true $(NODE) deps/npm/test/run.js @@ -156,7 +161,7 @@ test-timers-clean: apidoc_sources = $(wildcard doc/api/*.markdown) apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \ - $(addprefix out/,$(apidoc_sources:.markdown=.json)) + $(addprefix out/,$(apidoc_sources:.markdown=.json)) apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets @@ -185,6 +190,11 @@ docopen: out/doc/api/all.html docclean: -rm -rf out/doc +run-ci: + $(PYTHON) ./configure $(CONFIG_FLAGS) + $(MAKE) + $(MAKE) test-ci + RAWVER=$(shell $(PYTHON) tools/getnodeversion.py) VERSION=v$(RAWVER) @@ -237,9 +247,17 @@ else ifeq ($(DESTCPU),arm) ARCH=arm else +ifeq ($(DESTCPU),ppc64) +ARCH=ppc64 +else +ifeq ($(DESTCPU),ppc) +ARCH=ppc +else ARCH=x86 endif endif +endif +endif # enforce "x86" over "ia32" as the generally accepted way of referring to 32-bit intel ifeq ($(ARCH),ia32) @@ -264,7 +282,7 @@ release-only: @if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \ exit 0 ; \ else \ - echo "" >&2 ; \ + echo "" >&2 ; \ echo "The git repository is not clean." >&2 ; \ echo "Please commit changes before building release tarball." >&2 ; \ echo "" >&2 ; \ @@ -275,17 +293,21 @@ release-only: @if [ "$(DISTTYPE)" != "release" -o "$(RELEASE)" = "1" ]; then \ exit 0; \ else \ - echo "" >&2 ; \ + echo "" >&2 ; \ echo "#NODE_VERSION_IS_RELEASE is set to $(RELEASE)." >&2 ; \ - echo "Did you remember to update src/node_version.h?" >&2 ; \ - echo "" >&2 ; \ + echo "Did you remember to update src/node_version.h?" >&2 ; \ + echo "" >&2 ; \ exit 1 ; \ fi $(PKG): release-only rm -rf $(PKGDIR) rm -rf out/deps out/Release - $(PYTHON) ./configure --dest-cpu=x64 --tag=$(TAG) + $(PYTHON) ./configure \ + --dest-cpu=x64 \ + --tag=$(TAG) \ + --release-urlbase=$(RELEASE_URLBASE) \ + $(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS) $(MAKE) install V=$(V) DESTDIR=$(PKGDIR) SIGN="$(CODESIGN_CERT)" PKGDIR="$(PKGDIR)" bash tools/osx-codesign.sh cat tools/osx-pkg.pmdoc/index.xml.tmpl \ @@ -341,8 +363,13 @@ doc-upload: tar ssh $(STAGINGSERVER) "touch staging/$(DISTTYPEDIR)/$(FULLVERSION)/doc.done" $(TARBALL)-headers: config.gypi release-only - $(PYTHON) ./configure --prefix=/ --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS) - HEADERS_ONLY=1 $(PYTHON) tools/install.py install '$(TARNAME)' '$(PREFIX)' + $(PYTHON) ./configure \ + --prefix=/ \ + --dest-cpu=$(DESTCPU) \ + --tag=$(TAG) \ + --release-urlbase=$(RELEASE_URLBASE) \ + $(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS) + HEADERS_ONLY=1 $(PYTHON) tools/install.py install '$(TARNAME)' '/' find $(TARNAME)/ -type l | xargs rm # annoying on windows tar -cf $(TARNAME)-headers.tar $(TARNAME) rm -rf $(TARNAME) @@ -366,7 +393,12 @@ endif $(BINARYTAR): release-only rm -rf $(BINARYNAME) rm -rf out/deps out/Release - $(PYTHON) ./configure --prefix=/ --dest-cpu=$(DESTCPU) --tag=$(TAG) $(CONFIG_FLAGS) + $(PYTHON) ./configure \ + --prefix=/ \ + --dest-cpu=$(DESTCPU) \ + --tag=$(TAG) \ + --release-urlbase=$(RELEASE_URLBASE) \ + $(CONFIG_FLAGS) $(BUILD_RELEASE_FLAGS) $(MAKE) install DESTDIR=$(BINARYNAME) V=$(V) PORTABLE=1 cp README.md $(BINARYNAME) cp LICENSE $(BINARYNAME) @@ -433,7 +465,7 @@ bench-all: bench bench-misc bench-array bench-buffer bench-url bench-events bench: bench-net bench-http bench-fs bench-tls bench-http-simple: - benchmark/http_simple_bench.sh + benchmark/http_simple_bench.sh bench-idle: $(NODE) benchmark/idle_server.js & @@ -451,8 +483,19 @@ CPPLINT_EXCLUDE += src/node_win32_perfctr_provider.cc CPPLINT_EXCLUDE += src/queue.h CPPLINT_EXCLUDE += src/tree.h CPPLINT_EXCLUDE += src/v8abbr.h - -CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard src/*.cc src/*.h src/*.c tools/icu/*.h tools/icu/*.cc deps/debugger-agent/include/* deps/debugger-agent/src/*)) +CPPLINT_EXCLUDE += $(wildcard test/addons/doc-*/*.cc test/addons/doc-*/*.h) + +CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard \ + deps/debugger-agent/include/* \ + deps/debugger-agent/src/* \ + src/*.c \ + src/*.cc \ + src/*.h \ + test/addons/*/*.cc \ + test/addons/*/*.h \ + tools/icu/*.cc \ + tools/icu/*.h \ + )) cpplint: @$(PYTHON) tools/cpplint.py $(CPPLINT_FILES) @@ -464,4 +507,4 @@ lint: jslint cpplint dynamiclib test test-all test-addons build-addons website-upload pkg \ blog blogclean tar binary release-only bench-http-simple bench-idle \ bench-all bench bench-misc bench-array bench-buffer bench-net \ - bench-http bench-fs bench-tls cctest + bench-http bench-fs bench-tls cctest run-ci diff --git a/README.md b/README.md index 0d1c2e809605e0..dcf36e4dbcec82 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,12 @@ To read the documentation: $ man doc/iojs.1 ``` +To test if io.js was built correctly: + +``` +$ iojs -e "console.log('Hello from io.js ' + process.version)" +``` + ### Windows Prerequisites: @@ -140,6 +146,12 @@ To run the tests: > vcbuild test ``` +To test if io.js was built correctly: + +``` +$ iojs -e "console.log('Hello from io.js ' + process.version)" +``` + ### Android / Android based devices, aka. Firefox OS Be sure you have downloaded and extracted [Android NDK] @@ -257,20 +269,46 @@ NOTE: Windows is not yet supported It is possible to build io.js with [OpenSSL FIPS module](https://www.openssl.org/docs/fips/fipsnotes.html). +**Note** that 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] +(http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf) +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] +(http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf). +If you need FIPS validated cryptography it is recommended that you +read both the [security policy] +(http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf) +and [user guide] (https://openssl.org/docs/fips/UserGuide-2.0.pdf). + Instructions: -1. Download and verify `openssl-fips-x.x.x.tar.gz` from - https://www.openssl.org/source/ -2. Extract source to `openssl-fips` folder -3. ``cd openssl-fips && ./config fipscanisterbuild --prefix=`pwd`/out`` - (NOTE: On OS X, you may want to run - ``./Configure darwin64-x86_64-cc --prefix=`pwd`/out`` if you are going to - build x64-mode io.js) -4. `make -j && make install` -5. Get into io.js checkout folder -6. `./configure --openssl-fips=/path/to/openssl-fips/out` -7. Build io.js with `make -j` -8. Verify with `node -p "process.versions.openssl"` (`1.0.2a-fips`) +1. Obtain a copy of openssl-fips-x.x.x.tar.gz. + To comply with the security policy you must ensure the path + through which you get the file complies with the requirements + for a "secure intallation" as described in section 6.6 in + the [user guide] (https://openssl.org/docs/fips/UserGuide-2.0.pdf). + For evaluation/experimentation you can simply download and verify + `openssl-fips-x.x.x.tar.gz` from https://www.openssl.org/source/ +2. Extract source to `openssl-fips` folder and `cd openssl-fips` +3. `./config` +4. `make` +5. `make install` + (NOTE: to comply with the security policy you must use the exact + commands in steps 3-5 without any additional options as per + Appendix A in the [security policy] + (http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp1747.pdf). + The only exception is that `./config no-asm` can be + used in place of `./config` ) +6. Get into io.js checkout folder +7. `./configure --openssl-fips=/path/to/openssl-fips/installdir` + For example on ubuntu 12 the installation directory was + /usr/local/ssl/fips-2.0 +8. Build io.js with `make -j` +9. Verify with `node -p "process.versions.openssl"` (`1.0.2a-fips`) + ## Resources for Newcomers @@ -294,35 +332,47 @@ handling your report. ## Current Project Team Members The io.js project team comprises a group of core collaborators and a sub-group -that forms the _Technical Committee_ (TC) which governs the project. For more +that forms the _Technical Steering Committee_ (TSC) which governs the project. For more information about the governance of the io.js project, see [GOVERNANCE.md](./GOVERNANCE.md). -* **Isaac Z. Schlueter** <i@izs.me> ([@isaacs](https://github.com/isaacs)) (Technical Committee) -* **Ben Noordhuis** <info@bnoordhuis.nl> ([@bnoordhuis](https://github.com/bnoordhuis)) (Technical Committee) -* **Bert Belder** <bertbelder@gmail.com> ([@piscisaureus](https://github.com/piscisaureus)) (Technical Committee) -* **Fedor Indutny** <fedor.indutny@gmail.com> ([@indutny](https://github.com/indutny)) (Technical Committee) -* **Trevor Norris** <trev.norris@gmail.com> ([@trevnorris](https://github.com/trevnorris)) (Technical Committee) -* **Chris Dickinson** <christopher.s.dickinson@gmail.com> ([@chrisdickinson](https://github.com/chrisdickinson)) (Technical Committee) +======= +### TSC (Technical Steering Committee) + +* **Ben Noordhuis** <info@bnoordhuis.nl> ([@bnoordhuis](https://github.com/bnoordhuis)) +* **Bert Belder** <bertbelder@gmail.com> ([@piscisaureus](https://github.com/piscisaureus)) +* **Fedor Indutny** <fedor.indutny@gmail.com> ([@indutny](https://github.com/indutny)) +* **Trevor Norris** <trev.norris@gmail.com> ([@trevnorris](https://github.com/trevnorris)) +* **Chris Dickinson** <christopher.s.dickinson@gmail.com> ([@chrisdickinson](https://github.com/chrisdickinson)) - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B +* **Rod Vagg** <rod@vagg.org> ([@rvagg](https://github.com/rvagg)) + - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D +* **Jeremiah Senkpiel** <fishrock123@rocketmail.com> ([@fishrock123](https://github.com/fishrock123)) + - Release GPG key: FD3A5288F042B6850C66B31F09FE44734EB7990E * **Colin Ihrig** <cjihrig@gmail.com> ([@cjihrig](https://github.com/cjihrig)) + - Release GPG key: 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 +* **Alexis Campailla** <orangemocha@nodejs.org> ([@orangemocha](https://github.com/orangemocha)) +* **Julien Gilli** <jgilli@nodejs.org> ([@misterdjules](https://github.com/misterdjules)) +* **James M Snell** <jasnell@gmail.com> ([@jasnell](https://github.com/jasnell)) +* **Steven R Loomis** <srloomis@us.ibm.com> ([@srl295](https://github.com/srl295)) +* **Michael Dawson** <michael_dawson@ca.ibm.com> ([@mhdawson](https://github.com/mhdawson)) +* **Shigeki Ohtsu** <ohtsu@iij.ad.jp> ([@shigeki](https://github.com/shigeki)) +* **Brian White** <mscdex@mscdex.net> ([@mscdex](https://github.com/mscdex)) + +### Collaborators + +* **Isaac Z. Schlueter** <i@izs.me> ([@isaacs](https://github.com/isaacs)) * **Mikeal Rogers** <mikeal.rogers@gmail.com> ([@mikeal](https://github.com/mikeal)) -* **Rod Vagg** <rod@vagg.org> ([@rvagg](https://github.com/rvagg)) (Technical Committee) - - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D * **Thorsten Lorenz** <thlorenz@gmx.de> ([@thlorenz](https://github.com/thlorenz)) * **Stephen Belanger** <admin@stephenbelanger.com> ([@qard](https://github.com/qard)) -* **Jeremiah Senkpiel** <fishrock123@rocketmail.com> ([@fishrock123](https://github.com/fishrock123)) (Technical Committee) - - Release GPG key: FD3A5288F042B6850C66B31F09FE44734EB7990E * **Evan Lucas** <evanlucas@me.com> ([@evanlucas](https://github.com/evanlucas)) * **Brendan Ashworth** <brendan.ashworth@me.com> ([@brendanashworth](https://github.com/brendanashworth)) * **Vladimir Kurchatkin** <vladimir.kurchatkin@gmail.com> ([@vkurchatkin](https://github.com/vkurchatkin)) * **Nikolai Vavilov** <vvnicholas@gmail.com> ([@seishun](https://github.com/seishun)) * **Nicu Micleușanu** <micnic90@gmail.com> ([@micnic](https://github.com/micnic)) * **Aleksey Smolenchuk** <lxe@lxe.co> ([@lxe](https://github.com/lxe)) -* **Shigeki Ohtsu** <ohtsu@iij.ad.jp> ([@shigeki](https://github.com/shigeki)) * **Sam Roberts** <vieuxtech@gmail.com> ([@sam-github](https://github.com/sam-github)) * **Wyatt Preul** <wpreul@gmail.com> ([@geek](https://github.com/geek)) -* **Brian White** <mscdex@mscdex.net> ([@mscdex](https://github.com/mscdex)) * **Christian Tellnes** <christian@tellnes.no> ([@tellnes](https://github.com/tellnes)) * **Robert Kowalski** <rok@kowalski.gd> ([@robertkowalski](https://github.com/robertkowalski)) * **Julian Duque** <julianduquej@gmail.com> ([@julianduque](https://github.com/julianduque)) @@ -337,6 +387,9 @@ information about the governance of the io.js project, see * **Domenic Denicola** <d@domenic.me> ([@domenic](https://github.com/domenic)) * **Rich Trott** <rtrott@gmail.com> ([@Trott](https://github.com/Trott)) * **Сковорода Никита Андреевич** <chalkerx@gmail.com> ([@ChALkeR](https://github.com/ChALkeR)) +* **Sakthipriyan Vairamani** <thechargingvolcano@gmail.com> ([@thefourtheye](https://github.com/thefourtheye)) +* **Michaël Zasso** <mic.besace@gmail.com> ([@targos](https://github.com/targos)) +* **João Reis** <reis@janeasystems.com> ([@joaocgreis](https://github.com/joaocgreis)) -Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in +Collaborators & TSC members follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in maintaining the io.js project. diff --git a/benchmark/README.md b/benchmark/README.md index 7ed96403bc0941..456cdf1769fde2 100644 --- a/benchmark/README.md +++ b/benchmark/README.md @@ -5,8 +5,12 @@ io.js APIs. ## Prerequisites -Most of the http benchmarks require [`wrk`][wrk] and [`ab`][ab] being installed. -These are most often available through your preferred package manager. +Most of the http benchmarks require [`wrk`][wrk] and [`ab`][ab] (ApacheBench) being installed. +These may be available through your preferred package manager. + +If they are not available: +- `wrk` may easily be built [from source][wrk] via `make`. +- `ab` is sometimes bundled in a package called `apache2-utils`. [wrk]: https://github.com/wg/wrk [ab]: http://httpd.apache.org/docs/2.2/programs/ab.html diff --git a/benchmark/buffers/buffer-base64-decode.js b/benchmark/buffers/buffer-base64-decode.js new file mode 100644 index 00000000000000..76850c1231eda0 --- /dev/null +++ b/benchmark/buffers/buffer-base64-decode.js @@ -0,0 +1,15 @@ +var assert = require('assert'); +var common = require('../common.js'); + +var bench = common.createBenchmark(main, {}); + +function main(conf) { + for (var s = 'abcd'; s.length < 32 << 20; s += s); + s.match(/./); // Flatten string. + assert.equal(s.length % 4, 0); + var b = Buffer(s.length / 4 * 3); + b.write(s, 0, s.length, 'base64'); + bench.start(); + for (var i = 0; i < 32; i += 1) b.base64Write(s, 0, s.length); + bench.end(32); +} diff --git a/benchmark/buffers/buffer-tostring.js b/benchmark/buffers/buffer-tostring.js new file mode 100644 index 00000000000000..948052042d677b --- /dev/null +++ b/benchmark/buffers/buffer-tostring.js @@ -0,0 +1,26 @@ +'use strict'; + +const common = require('../common.js'); + +const bench = common.createBenchmark(main, { + arg: [true, false], + len: [0, 1, 64, 1024], + n: [1e7] +}); + +function main(conf) { + const arg = conf.arg; + const len = conf.len | 0; + const n = conf.n | 0; + const buf = Buffer(len).fill(42); + + bench.start(); + if (arg) { + for (var i = 0; i < n; i += 1) + buf.toString('utf8'); + } else { + for (var i = 0; i < n; i += 1) + buf.toString(); + } + bench.end(n); +} diff --git a/benchmark/http_bench.js b/benchmark/http_bench.js index 0541667760a774..a8f99e2f0e7978 100644 --- a/benchmark/http_bench.js +++ b/benchmark/http_bench.js @@ -8,7 +8,8 @@ var options = { port: 22344, path: '/', servers: 1, - clients: 1 + clients: 1, + clientConcurrentRequests: 2 }; for (var i = 2; i < process.argv.length; ++i) { @@ -44,13 +45,25 @@ function patch(fun) { function startMaster() { if (!cluster.isMaster) return startServer(); - for (var i = ~~options.servers; i > 0; --i) cluster.fork(); + var forkCount = 0; + + cluster.on('online', function () { + forkCount = forkCount + 1; + if (forkCount === ~~options.servers) { + var args = [ + __filename, + 'mode=client', + 'clientConcurrentRequests=' + options.clientConcurrentRequests + ]; + for (var i = ~~options.clients; i > 0; --i) { + var cp = spawn(process.execPath, args); + cp.stdout.pipe(process.stdout); + cp.stderr.pipe(process.stderr); + } + } + }); - for (var i = ~~options.clients; i > 0; --i) { - var cp = spawn(process.execPath, [__filename, 'mode=client']); - cp.stdout.pipe(process.stdout); - cp.stderr.pipe(process.stderr); - } + for (var i = ~~options.servers; i > 0; --i) cluster.fork(); } function startServer() { @@ -73,9 +86,9 @@ function startServer() { function startClient() { // send off a bunch of concurrent requests - // TODO make configurable - sendRequest(); - sendRequest(); + for (var i = ~~options.clientConcurrentRequests; i > 0; --i) { + sendRequest(); + } function sendRequest() { var req = http.request(options, onConnection); diff --git a/benchmark/path/basename.js b/benchmark/path/basename.js new file mode 100644 index 00000000000000..57d9492746b32c --- /dev/null +++ b/benchmark/path/basename.js @@ -0,0 +1,26 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + + // Force optimization before starting the benchmark + p.basename('/foo/bar/baz/asdf/quux.html'); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.basename)'); + p.basename('/foo/bar/baz/asdf/quux.html'); + + bench.start(); + for (var i = 0; i < n; i++) { + p.basename('/foo/bar/baz/asdf/quux.html'); + p.basename('/foo/bar/baz/asdf/quux.html', '.html'); + } + bench.end(n); +} diff --git a/benchmark/path/dirname.js b/benchmark/path/dirname.js new file mode 100644 index 00000000000000..e95adf28811a4e --- /dev/null +++ b/benchmark/path/dirname.js @@ -0,0 +1,25 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + + // Force optimization before starting the benchmark + p.dirname('/foo/bar/baz/asdf/quux'); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.dirname)'); + p.dirname('/foo/bar/baz/asdf/quux'); + + bench.start(); + for (var i = 0; i < n; i++) { + p.dirname('/foo/bar/baz/asdf/quux'); + } + bench.end(n); +} diff --git a/benchmark/path/extname.js b/benchmark/path/extname.js new file mode 100644 index 00000000000000..c655ee7e3e160a --- /dev/null +++ b/benchmark/path/extname.js @@ -0,0 +1,26 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + + // Force optimization before starting the benchmark + p.extname('index.html'); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.extname)'); + p.extname('index.html'); + + bench.start(); + for (var i = 0; i < n; i++) { + p.extname('index.html'); + p.extname('index'); + } + bench.end(n); +} diff --git a/benchmark/path/format.js b/benchmark/path/format.js new file mode 100644 index 00000000000000..bc77f888116963 --- /dev/null +++ b/benchmark/path/format.js @@ -0,0 +1,38 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e7], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + var test = conf.type === 'win32' ? { + root: 'C:\\', + dir: 'C:\\path\\dir', + base: 'index.html', + ext: '.html', + name: 'index' + } : { + root : '/', + dir : '/home/user/dir', + base : 'index.html', + ext : '.html', + name : 'index' + }; + + // Force optimization before starting the benchmark + p.format(test); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.format)'); + p.format(test); + + bench.start(); + for (var i = 0; i < n; i++) { + p.format(test); + } + bench.end(n); +} diff --git a/benchmark/path/isAbsolute.js b/benchmark/path/isAbsolute.js new file mode 100644 index 00000000000000..d4c79b99cdbeb7 --- /dev/null +++ b/benchmark/path/isAbsolute.js @@ -0,0 +1,34 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + var tests = conf.type === 'win32' + ? ['//server', 'C:\\baz\\..', 'bar\\baz', '.'] + : ['/foo/bar', '/baz/..', 'bar/baz', '.']; + + // Force optimization before starting the benchmark + p.isAbsolute(tests[0]); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.isAbsolute)'); + p.isAbsolute(tests[0]); + + bench.start(); + for (var i = 0; i < n; i++) { + runTests(p, tests); + } + bench.end(n); +} + +function runTests(p, tests) { + for (var i = 0; i < tests.length; i++) { + p.isAbsolute(tests[i]); + } +} diff --git a/benchmark/path/join.js b/benchmark/path/join.js new file mode 100644 index 00000000000000..58f4dc3e1e9e44 --- /dev/null +++ b/benchmark/path/join.js @@ -0,0 +1,25 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + + // Force optimization before starting the benchmark + p.join('/foo', 'bar', '', 'baz/asdf', 'quux', '..'); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.join)'); + p.join('/foo', 'bar', '', 'baz/asdf', 'quux', '..'); + + bench.start(); + for (var i = 0; i < n; i++) { + p.join('/foo', 'bar', '', 'baz/asdf', 'quux', '..'); + } + bench.end(n); +} diff --git a/benchmark/path/normalize.js b/benchmark/path/normalize.js new file mode 100644 index 00000000000000..6f7f05e4f9e1c8 --- /dev/null +++ b/benchmark/path/normalize.js @@ -0,0 +1,25 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + + // Force optimization before starting the benchmark + p.normalize('/foo/bar//baz/asdf/quux/..'); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.normalize)'); + p.normalize('/foo/bar//baz/asdf/quux/..'); + + bench.start(); + for (var i = 0; i < n; i++) { + p.normalize('/foo/bar//baz/asdf/quux/..'); + } + bench.end(n); +} diff --git a/benchmark/path/parse.js b/benchmark/path/parse.js new file mode 100644 index 00000000000000..f3fbb2a1f5c98f --- /dev/null +++ b/benchmark/path/parse.js @@ -0,0 +1,28 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + var test = conf.type === 'win32' + ? 'C:\\path\\dir\\index.html' + : '/home/user/dir/index.html'; + + // Force optimization before starting the benchmark + p.parse(test); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.parse)'); + p.parse(test); + + bench.start(); + for (var i = 0; i < n; i++) { + p.parse(test); + } + bench.end(n); +} diff --git a/benchmark/path/relative.js b/benchmark/path/relative.js new file mode 100644 index 00000000000000..d61c3961a62d8b --- /dev/null +++ b/benchmark/path/relative.js @@ -0,0 +1,33 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e5], +}); + +function main(conf) { + var n = +conf.n; + var runTest = conf.type === 'win32' ? runWin32Test : runPosixTest; + + // Force optimization before starting the benchmark + runTest(); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(path[conf.type].relative)'); + runTest(); + + bench.start(); + for (var i = 0; i < n; i++) { + runTest(); + } + bench.end(n); +} + +function runWin32Test() { + path.win32.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb'); +} + +function runPosixTest() { + path.posix.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb'); +} diff --git a/benchmark/path/resolve.js b/benchmark/path/resolve.js new file mode 100644 index 00000000000000..375e8b134ba0ea --- /dev/null +++ b/benchmark/path/resolve.js @@ -0,0 +1,25 @@ +var common = require('../common.js'); +var path = require('path'); +var v8 = require('v8'); + +var bench = common.createBenchmark(main, { + type: ['win32', 'posix'], + n: [1e6], +}); + +function main(conf) { + var n = +conf.n; + var p = path[conf.type]; + + // Force optimization before starting the benchmark + p.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile'); + v8.setFlagsFromString('--allow_natives_syntax'); + eval('%OptimizeFunctionOnNextCall(p.resolve)'); + p.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile'); + + bench.start(); + for (var i = 0; i < n; i++) { + p.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile'); + } + bench.end(n); +} diff --git a/common.gypi b/common.gypi index 4c1b90b29ad2ca..7972c2d60a5a77 100644 --- a/common.gypi +++ b/common.gypi @@ -163,6 +163,8 @@ }], ], 'GenerateDebugInformation': 'true', + 'GenerateMapFile': 'true', # /MAP + 'MapExports': 'true', # /MAPINFO:EXPORTS 'RandomizedBaseAddress': 2, # enable ASLR 'DataExecutionPrevention': 2, # enable DEP 'AllowIsolation': 'true', @@ -223,6 +225,14 @@ 'cflags': [ '-m64' ], 'ldflags': [ '-m64' ], }], + [ 'target_arch=="ppc"', { + 'cflags': [ '-m32' ], + 'ldflags': [ '-m32' ], + }], + [ 'target_arch=="ppc64"', { + 'cflags': [ '-m64', '-mminimal-toc' ], + 'ldflags': [ '-m64' ], + }], [ 'OS=="solaris"', { 'cflags': [ '-pthreads' ], 'ldflags': [ '-pthreads' ], diff --git a/configure b/configure index dc56a10c6f5e75..cd594d62788658 100755 --- a/configure +++ b/configure @@ -26,7 +26,8 @@ import nodedownload parser = optparse.OptionParser() valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'android') -valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'x32', 'x64', 'x86') +valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 'x32', + 'x64', 'x86') valid_arm_float_abi = ('soft', 'softfp', 'hard') valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx') valid_mips_fpu = ('fp32', 'fp64', 'fpxx') @@ -191,6 +192,13 @@ parser.add_option('--tag', dest='tag', help='custom build tag') +parser.add_option('--release-urlbase', + action='store', + dest='release_urlbase', + help='Provide a custom URL prefix for the `process.release` properties ' + '`sourceUrl` and `headersUrl`. When compiling a release build, this ' + 'will default to https://iojs.org/download/release/') + parser.add_option('--v8-options', action='store', dest='v8_options', @@ -230,7 +238,7 @@ parser.add_option('--with-mips-float-abi', parser.add_option('--with-dtrace', action='store_true', dest='with_dtrace', - help='build with DTrace (default is true on sunos)') + help='build with DTrace (default is true on sunos and darwin)') parser.add_option('--with-lttng', action='store_true', @@ -327,6 +335,9 @@ parser.add_option('--enable-static', (options, args) = parser.parse_args() +# Expand ~ in the install prefix now, it gets written to multiple files. +options.prefix = os.path.expanduser(options.prefix or '') + # set up auto-download list auto_downloads = nodedownload.parse(options.download_list) @@ -538,6 +549,8 @@ def host_arch_cc(): '__arm__' : 'arm', '__i386__' : 'ia32', '__mips__' : 'mips', + '__PPC64__' : 'ppc64', + '__PPC__' : 'ppc', '__x86_64__' : 'x64', } @@ -601,7 +614,7 @@ def configure_mips(o): def configure_node(o): if options.dest_os == 'android': o['variables']['OS'] = 'android' - o['variables']['node_prefix'] = os.path.expanduser(options.prefix or '') + o['variables']['node_prefix'] = options.prefix o['variables']['node_install_npm'] = b(not options.without_npm) o['default_configuration'] = 'Debug' if options.debug else 'Release' @@ -613,6 +626,7 @@ def configure_node(o): target_arch = 'ia32' o['variables']['host_arch'] = host_arch o['variables']['target_arch'] = target_arch + o['variables']['node_byteorder'] = sys.byteorder cross_compiling = target_arch != host_arch want_snapshots = not options.without_snapshot @@ -675,6 +689,8 @@ def configure_node(o): else: o['variables']['node_tag'] = '' + o['variables']['node_release_urlbase'] = options.release_urlbase or '' + if options.v8_options: o['variables']['node_v8_options'] = options.v8_options.replace('"', '\\"') @@ -765,7 +781,7 @@ def write(filename, data): do_not_edit = '# Do not edit. Generated by the configure script.\n' -def glob_to_var(dir_base, dir_sub): +def glob_to_var(dir_base, dir_sub, patch_dir): list = [] dir_all = os.path.join(dir_base, dir_sub) files = os.walk(dir_all) @@ -773,16 +789,23 @@ def glob_to_var(dir_base, dir_sub): (path, dirs, files) = ent for file in files: if file.endswith('.cpp') or file.endswith('.c') or file.endswith('.h'): - list.append('%s/%s' % (dir_sub, file)) + # srcfile uses "slash" as dir separator as its output is consumed by gyp + srcfile = '%s/%s' % (dir_sub, file) + if patch_dir: + patchfile = '%s/%s/%s' % (dir_base, patch_dir, file) + if os.path.isfile(patchfile): + srcfile = '%s/%s' % (patch_dir, file) + print 'Using version-specific floating patch %s' % patchfile + list.append(srcfile) break return list def configure_intl(o): icus = [ { - 'url': 'http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.zip', - # from https://ssl.icu-project.org/files/icu4c/54.1/icu4c-src-54_1.md5: - 'md5': '6b89d60e2f0e140898ae4d7f72323bca', + 'url': 'http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.zip', + # from https://ssl.icu-project.org/files/icu4c/55.1/icu4c-src-55_1.md5: + 'md5': '4cddf1e1d47622fdd9de2cd7bb5001fd', }, ] def icu_download(path): @@ -995,7 +1018,7 @@ def configure_intl(o): for i in icu_src: var = 'icu_src_%s' % i path = '../../deps/icu/source/%s' % icu_src[i] - icu_config['variables'][var] = glob_to_var('tools/icu', path) + icu_config['variables'][var] = glob_to_var('tools/icu', path, 'patches/%s/source/%s' % (icu_ver_major, icu_src[i]) ) # write updated icu_config.gypi with a bunch of paths write(icu_config_name, do_not_edit + pprint.pformat(icu_config, indent=2) + '\n') diff --git a/deps/npm/.travis.yml b/deps/npm/.travis.yml index e971a85534c59a..d555682984faf5 100644 --- a/deps/npm/.travis.yml +++ b/deps/npm/.travis.yml @@ -8,7 +8,7 @@ env: - DEPLOY_VERSION=testing before_install: - "npm config set spin false" - - "npm install -g npm/npm" + - "npm install -g npm/npm#2.x" - "sudo mkdir -p /var/run/couchdb" script: "npm run-script test-all" notifications: diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS index 92dee7cfc1e21d..9f48c3b5fbd4bf 100644 --- a/deps/npm/AUTHORS +++ b/deps/npm/AUTHORS @@ -288,3 +288,16 @@ Cedric Nelson Kat Marchán Andrew Eduardo Pinho +Rachel Hutchison +Ryan Temple +Eugene Sharygin +Nick Heiner +James Talmage +jane arc +Joseph Dykstra +Joshua Egan +Thomas Cort +Thaddee Tyl +Steve Klabnik +Andrew Murray +Stephan Bönnemann diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index a2b62ecf174e52..3db382ca343e48 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,501 @@ +### v2.13.3 (2015-07-23): + +#### I'M SAVING THE GOOD JOKES FOR MORE INTERESTING RELEASES + +It's pretty hard to outdo last week's release buuuuut~ I promise I'll have a +treat when we release our shiny new **Teams and Organizations** feature! :D +(Coming Soon™). It'll be a real *gem*. + +That means it's a pretty low-key release this week. We got some nice +documentation tweaks, a few bugfixes, and other such things, though! + +Oh, and a _bunch of version bumps_. Thanks, `semver`! + +#### IT'S THE LITTLE THINGS THAT MATTER + +* [`2fac6ae`](https://github.com/npm/npm/commit/2fac6aeffefba2934c3db395b525d931599c34d8) + [#9012](https://github.com/npm/npm/issues/9012) A convenience for releases -- + using the globally-installed npm before now was causing minor annoyances, so + we just use the exact same npm we're releasing to build the new release. + ([@zkat](https://github.com/zkat)) + +#### WHAT DOES THIS BUTTON DO? + +There's a couple of doc updates! The last one might be interesting. + +* [`4cd3205`](https://github.com/npm/npm/commit/4cd32050c0f89b7f1ae486354fa2c35eea302ba5) + [#9002](https://github.com/npm/npm/issues/9002) Updated docs to list the + various files that npm automatically includes and excludes, regardless of + settings. + ([@SimenB](https://github.com/SimenB)) +* [`cf09e75`](https://github.com/npm/npm/commit/cf09e754931739af32647d667b671e72a4c79081) + + [#9022](https://github.com/npm/npm/issues/9022) Document the `"access"` field + in `"publishConfig"`. Did you know you don't need to use `--access=public` + when publishing scoped packages?! Just put it in your `package.json`! + Go refresh yourself on scopes packages by [checking our docs](https://docs.npmjs.com/getting-started/scoped-packages) on them. + + ([@boennemann](https://github.com/boennemann)) +* [`bfd73da`](https://github.com/npm/npm/commit/bfd73da33349cc2afb8278953b2ae16ea95023de) + [#9013](https://github.com/npm/npm/issues/9013) fixed typo in changelog + ([@radarhere](https://github.com/radarhere)) + +#### THE SEMVER MAJOR VERSION APOCALYPSE IS UPON US + +Basically, `semver` is up to `@5`, and that meant we needed to go in an update a +bunch of our dependencies manually. `node-gyp` is still pending update, since +it's not ours, though! + +* [`9232e58`](https://github.com/npm/npm/commit/9232e58d54c032c23716ef976023d36a42bfdcc9) + [#8972](https://github.com/npm/npm/issues/8972) `init-package-json@1.7.1` + ([@othiym23](https://github.com/othiym23)) +* [`ba44f6b`](https://github.com/npm/npm/commit/ba44f6b4201a4faee025341b123e372d8f45b6d9) + [#8972](https://github.com/npm/npm/issues/8972) `normalize-package-data@2.3.1` + ([@othiym23](https://github.com/othiym23)) +* [`3901d3c`](https://github.com/npm/npm/commit/3901d3cf191880bb4420b1d6b8aedbcd8fc26cdf) + [#8972](https://github.com/npm/npm/issues/8972) `npm-install-checks@1.0.6` + ([@othiym23](https://github.com/othiym23)) +* [`ffcc7dd`](https://github.com/npm/npm/commit/ffcc7dd12f8bb94ff0f64c465c57e460b3f24a24) + [#8972](https://github.com/npm/npm/issues/8972) `npm-package-arg@4.0.2` + ([@othiym23](https://github.com/othiym23)) +* [`7128f9e`](https://github.com/npm/npm/commit/7128f9ec10c0c8482087511b716dbddb54249626) + [#8972](https://github.com/npm/npm/issues/8972) `npm-registry-client@6.5.1` + ([@othiym23](https://github.com/othiym23)) +* [`af28911`](https://github.com/npm/npm/commit/af28911ecd54a844f848c6ae41887097d6aa2f3b) + [#8972](https://github.com/npm/npm/issues/8972) `read-installed@4.0.2` + ([@othiym23](https://github.com/othiym23)) +* [`3cc817a`](https://github.com/npm/npm/commit/3cc817a0f34f698b580ff6ff02308700efc54f7c) + [#8972](https://github.com/npm/npm/issues/8972) node-gyp needs its own version + of semver + ([@othiym23](https://github.com/othiym23)) +* [`f98eccc`](https://github.com/npm/npm/commit/f98eccc6e3a6699ca0aa9ecbad93a3b995583871) + [#8972](https://github.com/npm/npm/issues/8972) `semver@5.0.1`: Stop including + browser builds. + ([@isaacs](https://github.com/isaacs)) + +#### \*BUMP\* + +And some other version bumps for good measure. + +* [`254ecfb`](https://github.com/npm/npm/commit/254ecfb04f026c2fd16427db01a53600c1892c8b) + [#8990](https://github.com/npm/npm/issues/8990) `marked-man@0.1.5`: Fixes an + issue with documentation rendering where backticks in 2nd-level headers would + break rendering (?!?!) + ([@steveklabnik](https://github.com/steveklabnik)) +* [`79efd79`](https://github.com/npm/npm/commit/79efd79ac216da8cee8636fb2ed926b0196a4eb6) + `minimatch@2.0.10`: A pattern like `'*.!(x).!(y)'` should not match a name + like `'a.xyz.yab'`. + ([@isaacs](https://github.com/isaacs)) +* [`39c7dc9`](https://github.com/npm/npm/commit/39c7dc9a4e17cd35a5ed882ba671821c9a900f9e) + `request@2.60.0`: A few bug fixes and doc updates. + ([@simov](https://github.com/simov)) +* [`72d3c3a`](https://github.com/npm/npm/commit/72d3c3a9e1e461608aa21b14c01a650333330da9) + `rimraf@2.4.2`: Minor doc and dep updates + ([@isaacs](https://github.com/isaacs)) +* [`7513035`](https://github.com/npm/npm/commit/75130356a06f5f4fbec3786aac9f9f0b36dfe010) + `nock@2.9.1` + ([@pgte](https://github.com/pgte)) +* [`3d9aa82`](https://github.com/npm/npm/commit/3d9aa82260f0643a32c13d0c1ed16f644b6fd4ab) + Fixes this thing where Kat decided to save `nock` as a regular dependency ;) + ([@othiym23](https://github.com/othiym23)) + +### v2.13.2 (2015-07-16): + +#### HOLD ON TO YOUR TENTACLES... IT'S NPM RELEASE TIME! + +Kat: Hooray! Full team again, and we've got a pretty small patch release this +week, about everyone's favorite recurring issue: git URLs! + +Rebecca: No Way! Again? + +Kat: The ride never ends! In the meantime, there's some fun, exciting work in +the background to get orgs and teams out the door. Keep an eye out for news. :) + +Rebecca: And make sure to keep an eye out for patches for the super-fresh +`npm@3`! + +#### LET'S GIT INKY + +Rebecca: So what's this about another git URL issue? + +Kat: Welp, I apparently broke backwards-compatibility on what are actually +invalid `git+https` URLs! So I'm making it work, but we're gonna deprecate URLs +that look like `git+https://user@host:path/is/here`. + +Rebecca: What should we use instead?! + +Kat: Just do me a solid and use `git+ssh://user@host:path/here` or +`git+https://user@host/absolute/https/path` instead! + +* [`769f06e`](https://github.com/npm/npm/commit/769f06e5455d7a9fc738379de2e05868df0dab6f) + Updated tests for `getResolved` so the URLs are run through + `normalize-git-url`. + ([@zkat](https://github.com/zkat)) +* [`edbae68`](https://github.com/npm/npm/commit/edbae685bf48971e878ced373d6825fc1891ee47) + [#8881](https://github.com/npm/npm/issues/8881) Added tests to verify that `git+https:` URLs are handled compatibly. + ([@zkat](https://github.com/zkat)) + +#### NEWS FLASH! DOCUMENTATION IMPROVEMENTS! + +* [`bad4e014`](https://github.com/npm/npm/commit/bad4e0143cc95754a682f1da543b2b4e196e924b) + [#8924](https://github.com/npm/npm/pull/8924) Make sure documented default + values in `lib/cache.js` properly correspond to current code. + ([@watilde](https://github.com/watilde)) +* [`e7a11fd`](https://github.com/npm/npm/commit/e7a11fdf70e333cdfe3dac94a1a30907adb76d59) + [#8036](https://github.com/npm/npm/issues/8036) Clarify the documentation for + `.npmrc` to clarify that it's not read at the project level when doing global + installs. + ([@espadrine](https://github.com/espadrine)) + +#### STAY FRESH~ + +Kat: That's it for npm core changes! + +Rebecca: Great! Let's look at the fresh new dependencies, then! + +Kat: See you all next week! + +Both: Stay Freeesh~ + +(some cat form of Forrest can be seen snoring in the corner) + +* [`bfa1f45`](https://github.com/npm/npm/bfa1f45ee760d05039557d2245b7e3df9fda8def) + `normalize-git-url@3.0.1`: Fixes url normalization such that `git+https:` + accepts scp syntax, but get converted into absolute-path `https:` URLs. Also + fixes scp syntax so you can have absolute paths after the `:` + (`git@myhost.org:/some/absolute/place.git`) + ([@zkat](https://github.com/zkat)) +* [`6f757d2`](https://github.com/npm/npm/6f757d22b53f91da0bebec6b5d16c1f4dbe130b4) + `glob@5.0.15`: Better handling of ENOTSUP + ([@isaacs](https://github.com/isaacs)) +* [`0920819`](https://github.com/npm/npm/09208197fb8b0c6d5dbf6bd7f59970cf366de989) + `node-gyp@2.0.2`: Fixes an issue with long paths on Win32 + ([@TooTallNate](https://github.com/TooTallNate)) + +### v2.13.1 (2015-07-09): + +#### KAUAI WAS NICE. I MISS IT. + +But Forrest's still kinda on vacation, and not just mentally, because he's +hanging out with the fine meatbags at CascadiaFest. Enjoy this small bug +release. + +#### MAKE OURSELVES HAPPY + +* [`40981f2`](https://github.com/npm/npm/commit/40981f2e0c9c12bb003ccf188169afd1d201f5af) + [#8862](https://github.com/npm/npm/issues/8862) Make the lifecycle's safety + check work with scoped packages. ([@tcort](https://github.com/tcort)) +* [`5125856`](https://github.com/npm/npm/commit/512585622481dbbda9a0306932468d59efaff658) + [#8855](https://github.com/npm/npm/issues/8855) Make dependency versions of + `"*"` match `"latest"` when all versions are prerelease. + ([@iarna](https://github.com/iarna)) +* [`22fdc1d`](https://github.com/npm/npm/commit/22fdc1d52602ba7098af978c75fca8f7d1060141) + Visually emphasize the correct way to write lifecycle scripts. + ([@josh-egan](https://github.com/josh-egan)) + +#### MAKE TRAVIS HAPPY + +* [`413c3ac`](https://github.com/npm/npm/commit/413c3ac2ab2437f3011c6ca0d1630109ec14e604) + Use npm's `2.x` branch for testing its `2.x` branch. + ([@iarna](https://github.com/iarna)) +* [`7602f64`](https://github.com/npm/npm/commit/7602f64826f7a465d9f3a20bd87a376d992607e6) + Don't prompt for GnuPG passphrase in version lifecycle tests. + ([@othiym23](https://github.com/othiym23)) + +#### MAKE `npm outdated` HAPPY + +* [`d338668`](https://github.com/npm/npm/commit/d338668601d1ebe5247a26237106e80ea8cd7f48) + [#8796](https://github.com/npm/npm/issues/8796) `fstream-npm@1.0.4`: When packing the + package tarball, npm no longer crashes for packages with certain combinations of + `.npmignore` entries, `.gitignore` entries, and lifecycle scripts. + ([@iarna](https://github.com/iarna)) +* [`dbe7c9c`](https://github.com/npm/npm/commit/dbe7c9c74734be870d16dd61b9e7f746123011f6) + `nock@2.7.0`: Add matching based on query strings. + ([@othiym23](https://github.com/othiym23)) + +There are new versions of `strip-ansi` and `ansi-regex`, but npm only uses them +indirectly, so we pushed them down into their dependencies where they can get +updated at their own pace. + +* [`06b6ca5`](https://github.com/npm/npm/commit/06b6ca5b5333025f10c8d901628859bd4678e027) + undeduplicate `ansi-regex` ([@othiym23](https://github.com/othiym23)) +* [`b168e33`](https://github.com/npm/npm/commit/b168e33ad46faf47020a45f72ba8cec8c644bdb9) + undeduplicate `strip-ansi` ([@othiym23](https://github.com/othiym23)) + +### v2.13.0 (2015-07-02): + +#### FORREST IS OUT! LET'S SNEAK IN ALL THE THINGS! + +Well, not _everything_. Just a couple of goodies, like the new `npm ping` +command, and the ability to add files to the commits created by `npm version` +with the new version hooks. There's also a couple of bugfixes in `npm` itself +and some of its dependencies. Here we go! + +#### YES HELLO THIS IS NPM REGISTRY SORRY NO DOG HERE + +Yes, that's right! We now have a dedicated `npm ping` command. It's super simple +and super easy. You ping. We tell you whether you pinged right by saying hello +right back. This should help out folks dealing with things like proxy issues or +other registry-access debugging issues. Give it a shot! + +This addresses [#5750](https://github.com/npm/npm/issues/5750), and will help +with the `npm doctor` stuff described in +[#6756](https://github.com/npm/npm/issues/6756). + +* [`f1f7a85`](https://github.com/npm/npm/commit/f1f7a85) + Add ping command to CLI + ([@michaelnisi](https://github.com/michaelnisi)) +* [`8cec629`](https://github.com/npm/npm/commit/8cec629) + Add ping command to npm-registry-client + ([@michaelnisi](https://github.com/michaelnisi)) +* [`0c0c92d`](https://github.com/npm/npm/0c0c92d) + Fixed ping command issues (added docs, tests, fixed minor bugs, etc) + ([@zkat](https://github.com/zkat)) + +#### I'VE WANTED THIS FOR `version` SINCE LIKE LITERALLY FOREVER AND A DAY + +Seriously! This patch lets you add files to the `version` commit before it's +made, So you can add additional metadata files, more automated changes to +`package.json`, or even generate `CHANGELOG.md` automatically pre-commit if +you're into that sort of thing. I'm so happy this is there I can't even. Do you +have other fun usecases for this? Tell +[npmbot (@npmjs)](http://twitter.com/npmjs) about it! + +* [`582f170`](https://github.com/npm/npm/commit/582f170) + [#8620](https://github.com/npm/npm/issues/8620) version: Allow scripts to add + files to the commit. + ([@jamestalmage](https://github.com/jamestalmage)) + +#### ALL YOUR FILE DESCRIPTORS ARE BELONG TO US + +We've had problems in the past with things like `EMFILE` errors popping up when +trying to install packages with a bunch of dependencies. Isaac patched up +[`graceful-fs`](https://github.com/isaacs/node-graceful-fs) to handle this case +better, so we should be seeing fewer of those. + +* [`022691a`](https://github.com/npm/npm/commit/022691a) + `graceful-fs@4.1.2`: Updated so we can monkey patch globally. + ([@isaacs](https://github.com/isaacs)) +* [`c9fb0fd`](https://github.com/npm/npm/commit/c9fb0fd) + Globally monkey-patch graceful-fs. This should fix some errors when installing + packages with lots of dependencies. + ([@isaacs](https://github.com/isaacs)) + +#### READ THE FINE DOCS. THEY'VE IMPROVED + +* [`5587d0d`](https://github.com/npm/npm/commit/5587d0d) + Nice clarification for `directories.bin` + ([@ujane](https://github.com/ujane)) +* [`20673c7`](https://github.com/npm/npm/commit/20673c7) + Hey, Windows folks! Check out + [`nvm-windows`](https://github.com/coreybutler/nvm-windows) + ([@ArtskydJ](https://github.com/ArtskydJ)) + +#### MORE NUMBERS! MORE VALUE! + +* [`5afa2d5`](https://github.com/npm/npm/commit/5afa2d5) + `validate-npm-package-name@2.2.2`: Documented package name rules in README + ([@zeusdeux](https://github.com/zeusdeux)) +* [`021f4d9`](https://github.com/npm/npm/commit/021f4d9) + `rimraf@2.4.1`: [#74](https://github.com/isaacs/rimraf/issues/74) Use async + function for bin (to better handle Window's `EBUSY`) + ([@isaacs](https://github.com/isaacs)) +* [`5223432`](https://github.com/npm/npm/commit/5223432) + `osenv@0.1.3`: Use `os.homedir()` polyfill for more reliable output. io.js + added the function and the polyfill does a better job than the prior solution. + ([@sindresorhus](https://github.com/sindresorhus)) +* [`8ebbc90`](https://github.com/npm/npm/commit/8ebbc90) + `npm-cache-filename@1.0.2`: Make sure different git references get different + cache folders. This should prevent `foo/bar#v1.0` and `foo/bar#master` from + sharing the same cache folder. + ([@tomekwi](https://github.com/tomekwi)) +* [`367b854`](https://github.com/npm/npm/commit/367b854) + `lru-cache@2.6.5`: Minor test/typo changes + ([@isaacs](https://github.com/isaacs)) +* [`9fcae61`](https://github.com/npm/npm/commit/9fcae61) + `glob@5.0.13`: Tiny doc change + stop firing 'match' events for ignored items. + ([@isaacs](https://github.com/isaacs)) + +#### OH AND ONE MORE THING + +* [`7827249`](https://github.com/npm/npm/commit/7827249) + `PeerDependencies` errors now include the package version. + ([@NickHeiner](https://github.com/NickHeiner)) + +### v2.12.1 (2015-06-25): + +#### HEY WHERE DID EVERYBODY GO + +I keep [hearing some commotion](https://github.com/npm/npm/releases/tag/v3.0.0). +Is there something going on? Like, a party or something? Anyway, here's a small +release with at least two significant bug fixes, at least one of which some of +you have been waiting for for quite a while. + +#### REMEMBER WHEN I SAID "REMEMBER WHEN I SAID THAT THING ABOUT PERMISSIONS?"? + +`npm@2.12.0` has a change that introduces a fix for a permissions problem +whereby the `_locks` directory in the cache directory can up being owned by +root. The fix in 2.12.0 takes care of that problem, but introduces a new +problem for Windows users where npm tries to call `process.getuid()`, which +doesn't exist on Windows. It was easy enough to fix (but more or less +impossible to test, thanks to all the external dependencies involved with +permissions and platforms and whatnot), but as a result, Windows users might +want to skip `npm@2.12.0` and go straight to `npm@2.12.1`. Sorry about that! + +* [`7e5da23`](https://github.com/npm/npm/commit/7e5da238ee869201fdb9027c27b79b0f76b440a8) + When using the new, "fixed" cache directory creator, be extra-careful to not + call `process.getuid()` on platforms that lack it. + ([@othiym23](https://github.com/othiym23)) + +#### WHEW! ALL DONE FIXING GIT FOREVER! + +New npm CLI team hero [@zkat](https://github.com/zkat) has finally (FINALLY) +fixed the regression somebody (hi!) introduced a couple months ago whereby git +URLs of the format `git+ssh://user@githost.com:org/repo.git` suddenly stopped +working, and also started being saved (and cached) incorrectly. I am 100% sure +there are absolutely no more bugs in the git caching code at all ever. Mm hm. +Yep. Pretty sure. Maybe. Hmm... I hope. + +*Sighs audibly.* + +[Let us know](http://github.com/npm/npm/issues/new) if we broke something else +with this fix. + +* [`94ca4a7`](https://github.com/npm/npm/commit/94ca4a711619ba8e40ce3d20bc42b13cdb7611b7) + [#8031](https://github.com/npm/npm/issues/8031) Even though + `git+ssh://user@githost.com:org/repo.git` isn't a URL, treat it like one for + the purposes of npm. ([@zkat](https://github.com/zkat)) +* [`e7f56e5`](https://github.com/npm/npm/commit/e7f56e5a97fcf1c52d5c5bee71303b0126129815) + [#8031](https://github.com/npm/npm/issues/8031) `normalize-git-url@2.0.0`: + Handle git URLs (and URL-like remote refs) in a manner consistent with npm's + docs. ([@zkat](https://github.com/zkat)) + +#### YEP, THERE ARE STILL DEPENDENCY UPGRADES + +* [`679bf47`](https://github.com/npm/npm/commit/679bf4745ac2cfbb01c9ce273e189807fd04fa33) + [#40](http://github.com/npm/read-installed/issues/40) `read-installed@4.0.1`: + Handle prerelease versions in top-level dependencies not in `package.json` + without marking those packages as invalid. + ([@benjamn](https://github.com/benjamn)) +* [`3a67410`](https://github.com/npm/npm/commit/3a6741068c9119174c920496778aeee870ebdac0) + `tap@1.3.1` ([@isaacs](https://github.com/isaacs)) +* [`151904a`](https://github.com/npm/npm/commit/151904af39dc24567f8c98529a2a64a4dbcc960a) + `nopt@3.0.3` ([@isaacs](https://github.com/isaacs)) + +### v2.12.0 (2015-06-18): + +#### REMEMBER WHEN I SAID THAT THING ABOUT PERMISSIONS? + +About [a million people](https://github.com/npm/npm/issues?utf8=%E2%9C%93&q=is%3Aissue+EACCES+_locks) +have filed issues related to having a tough time using npm after they've run +npm once or twice with sudo. "Don't worry about it!" I said. "We've fixed all +those permissions problems ages ago! Use this one weird trick and you'll never +have to deal with this again!" + +Well, uh, if you run npm with root the first time you run npm on a machine, it +turns out that the directory npm uses to store lockfiles ends up being owned by +the wrong user (almost always root), and that can, well, it can cause problems +sometimes. By which I mean every time you run npm without being root it'll barf +with `EACCES` errors. Whoops! + +This is an obnoxious regression, and to prevent it from recurring, we've made +it so that the cache, cached git remotes, and the lockfile directories are all +created and maintained using the same utilty module, which not only creates the +relevant paths with the correct permissions, but will fix the permissions on +those directories (if it can) when it notices that they're broken. An `npm +install` run as root ought to be sufficient to fix things up (and if that +doesn't work, first tell us about it, and then run `sudo chown -R $(whoami) +$HOME/.npm`) + +Also, I apologize for inadvertently gaslighting any of you by claiming this bug +wasn't actually a bug. I do think we've got this permanently dealt with now, +but I'll be paying extra-close attention to permissions issues related to the +cache for a while. + +* [`85d1a53`](https://github.com/npm/npm/commit/85d1a53d7b5e0fc04823187e522ae3711ede61fa) + Set permissions on lock directory to the owner of the process. + ([@othiym23](https://github.com/othiym23)) + +#### I WENT TO NODECONF AND ALL I GOT WAS THIS LOUSY SPDX T-SHIRT + +That's not literally true. We spent very little time discussing SPDX, +[@kemitchell](https://github.com/kemitchell) is a champ, and I had a lot of fun +playing drum & bass to a mostly empty Boogie Barn and only ended up with one +moderately severe cold for my pains. Another winner of a NodeConf! (I would +probably wear a SPDX T-shirt if somebody gave me one, though.) + +A bunch of us did have a spirited discussion of the basics of open-source +intellectual property, and the convergence of me, +[@kemitchell](https://github.com/kemitchell), and +[@jandrieu](https://github.com/jandrieu) in one place allowed us to hammmer out +a small but significant issue that had been bedeviling early adopters of the +new SPDX expression syntax in `package.json` license fields: how to deal with +packages that are left without a license on purpose. + +Refer to [the docs](https://github.com/npm/npm/blob/16a3dd545b10f8a2464e2037506ce39124739b41/doc/files/package.json.md#license) +for the specifics, but the short version is that instead of using +`LicenseRef-LICENSE` for proprietary licenses, you can now use either +`UNLICENSED` if you want to make it clear that you don't _want_ your software +to be licensed (and want npm to stop warning you about this), or `SEE LICENSE +IN ` if there's a license with custom text you want to use. At some +point in the near term, we'll be updating npm to verify that the mentioned +file actually exists, but for now you're all on the honor system. + +* [`4827fc7`](https://github.com/npm/npm/commit/4827fc784117c17f35dd9b51b21d1eff6094f661) + [#8557](https://github.com/npm/npm/issues/8557) + `normalize-package-data@2.2.1`: Allow `UNLICENSED` and `SEE LICENSE IN + ` in "license" field of `package.json`. + ([@kemitchell](https://github.com/kemitchell)) +* [`16a3dd5`](https://github.com/npm/npm/commit/16a3dd545b10f8a2464e2037506ce39124739b41) + [#8557](https://github.com/npm/npm/issues/8557) Document the new accepted + values for the "license" field. + ([@kemitchell](https://github.com/kemitchell)) +* [`8155311`](https://github.com/npm/npm/commit/81553119350deaf199e79e38e35b52a5c8ad206c) + [#8557](https://github.com/npm/npm/issues/8557) `init-package-json@1.7.0`: + Support new "license" field values at init time. + ([@kemitchell](https://github.com/kemitchell)) + +#### SMALLISH BUG FIXES + +* [`9d8cac9`](https://github.com/npm/npm/commit/9d8cac94a258db648a2b1069b1c8c6529c79d013) + [#8548](https://github.com/npm/npm/issues/8548) Remove extraneous newline + from `npm view` output, making it easier to use in shell scripts. + ([@eush77](https://github.com/eush77)) +* [`765fd4b`](https://github.com/npm/npm/commit/765fd4bfca8ea3e2a4a399765b17eec40a3d893d) + [#8521](https://github.com/npm/npm/issues/8521) When checking for outdated + packages, or updating packages, raise an error when the registry is + unreachable instead of silently "succeeding". + ([@ryantemple](https://github.com/ryantemple)) + +#### SMALLERISH DOCUMENTATION TWEAKS + +* [`5018335`](https://github.com/npm/npm/commit/5018335ce1754a9f771954ecbc1a93acde9b8c0a) + [#8365](https://github.com/npm/npm/issues/8365) Add details about which git + environment variables are whitelisted by npm. + ([@nmalaguti](https://github.com/nmalaguti)) +* [`bed9edd`](https://github.com/npm/npm/commit/bed9edddfdcc6d22a80feab33b53e4ef9172ec72) + [#8554](https://github.com/npm/npm/issues/8554) Fix typo in version docs. + ([@rainyday](https://github.com/rainyday)) + +#### WELL, I GUESS THERE ARE MORE DEPENDENCY UPGRADES + +* [`7ce2f06`](https://github.com/npm/npm/commit/7ce2f06f6f34d469b1d2e248084d4f3fef10c05e) + `request@2.58.0`: Refactor tunneling logic, and use `extend` instead of + abusing `util._extend`. ([@simov](https://github.com/simov)) +* [`e6c6195`](https://github.com/npm/npm/commit/e6c61954aad42e20eec49745615c7640b2026a6c) + `nock@2.6.0`: Refined interception behavior. + ([@pgte](https://github.com/pgte)) +* [`9583cc3`](https://github.com/npm/npm/commit/9583cc3cb192c2fced006927cfba7cd37b588605) + `fstream-npm@1.0.3`: Ensure that `main` entry in `package.json` is always + included in the bundled package tarball. + ([@coderhaoxin](https://github.com/coderhaoxin)) +* [`df89493`](https://github.com/npm/npm/commit/df894930f2716adac28740b29b2e863170919990) + `fstream@1.0.7` ([@isaacs](https://github.com/isaacs)) +* [`9744049`](https://github.com/npm/npm/commit/974404934758124aa8ae5b54f7d5257c3bd6b588) + `dezalgo@1.0.3`: `dezalgo` should be usable in the browser, and can be now + that `asap` has been upgraded to be browserifiable. + ([@mvayngrib](https://github.com/mvayngrib)) + ### v2.11.3 (2015-06-11): This was a very quiet week. This release was done by @@ -15,19 +513,19 @@ NodeConf Adventure! * [`9f439da`](https://github.com/npm/npm/commit/9f439da) `spdx@0.4.1`: License range updates - (@kemitchell)[https://github.com/kemitchell] + ([@kemitchell](https://github.com/kemitchell)) * [`2dd055b`](https://github.com/npm/npm/commit/2dd055b) `normalize-package-data@2.2.1`: Fixes a crashing bug when the package.json `scripts` property is not an object. - (@iarna)[https://github.com/iarna] + ([@iarna](https://github.com/iarna)) * [`e02e85d`](https://github.com/npm/npm/commit/e02e85d) `osenv@0.1.2`: Switches to using the `os-tmpdir` module instead of `os.tmpdir()` for greate consistency in behavior between node versions. - (@iarna)[https://github.com/iarna] + ([@iarna](https://github.com/iarna)) * [`a6f0265`](https://github.com/npm/npm/commit/a6f0265) - `ini@1.3.4` (@isaacs)[https://github.com/isaacs] + `ini@1.3.4` ([@isaacs](https://github.com/isaacs)) * [`7395977`](https://github.com/npm/npm/commit/7395977) - `rimraf@2.4.0` (@isaacs)[https://github.com/isaacs] + `rimraf@2.4.0` ([@isaacs](https://github.com/isaacs)) ### v2.11.2 (2015-06-04): diff --git a/deps/npm/doc/api/npm-ping.md b/deps/npm/doc/api/npm-ping.md new file mode 100644 index 00000000000000..4357fe2ba99994 --- /dev/null +++ b/deps/npm/doc/api/npm-ping.md @@ -0,0 +1,14 @@ +npm-ping(3) -- Ping npm registry +================================ + +## SYNOPSIS + + npm.registry.ping(registry, options, function (er, pong)) + +## DESCRIPTION + +Attempts to connect to the given registry, returning a `pong` +object with various metadata if it succeeds. + +This function is primarily useful for debugging connection issues +to npm registries. diff --git a/deps/npm/doc/cli/npm-install.md b/deps/npm/doc/cli/npm-install.md index b2f4e077b40070..be32f7b296ef01 100644 --- a/deps/npm/doc/cli/npm-install.md +++ b/deps/npm/doc/cli/npm-install.md @@ -166,11 +166,24 @@ after packing it up into a tarball (b). `git+https`. If no `` is specified, then `master` is used. + The following git environment variables are recognized by npm and will be added + to the environment when running git: + + * `GIT_ASKPASS` + * `GIT_PROXY_COMMAND` + * `GIT_SSH` + * `GIT_SSH_COMMAND` + * `GIT_SSL_CAINFO` + * `GIT_SSL_NO_VERIFY` + + See the git man page for details. + Examples: - git+ssh://git@github.com:npm/npm.git#v1.0.27 - git+https://isaacs@github.com/npm/npm.git - git://github.com/npm/npm.git#v1.0.27 + npm install git+ssh://git@github.com:npm/npm.git#v1.0.27 + npm install git+https://isaacs@github.com/npm/npm.git + npm install git://github.com/npm/npm.git#v1.0.27 + GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://git@github.com:npm/npm.git * `npm install /[#]`: * `npm install github:/[#]`: diff --git a/deps/npm/doc/cli/npm-ping.md b/deps/npm/doc/cli/npm-ping.md new file mode 100644 index 00000000000000..f0e628915efdee --- /dev/null +++ b/deps/npm/doc/cli/npm-ping.md @@ -0,0 +1,16 @@ +npm-ping(1) -- Ping npm registry +================================ + +## SYNOPSIS + + npm ping [--registry ] + +## DESCRIPTION + +Ping the configured or given npm registry and verify authentication. + +## SEE ALSO + +* npm-config(1) +* npm-config(7) +* npmrc(5) diff --git a/deps/npm/doc/cli/npm-run-script.md b/deps/npm/doc/cli/npm-run-script.md index 487bd5942ac5de..895e382f2faa18 100644 --- a/deps/npm/doc/cli/npm-run-script.md +++ b/deps/npm/doc/cli/npm-run-script.md @@ -33,8 +33,11 @@ In addition to the shell's pre-existing `PATH`, `npm run` adds `node_modules/.bin` to the `PATH` provided to scripts. Any binaries provided by locally-installed dependencies can be used without the `node_modules/.bin` prefix. For example, if there is a `devDependency` on `tap` in your package, -you should write `"scripts": {"test": "tap test/\*.js"}` instead of `"scripts": -{"test": "node_modules/.bin/tap test/\*.js"}` to run your tests. +you should write: + + "scripts": {"test": "tap test/\*.js"} + +instead of `"scripts": {"test": "node_modules/.bin/tap test/\*.js"}` to run your tests. ## SEE ALSO diff --git a/deps/npm/doc/cli/npm-version.md b/deps/npm/doc/cli/npm-version.md index 63a5e95122951d..0a00e78cd7ccb9 100644 --- a/deps/npm/doc/cli/npm-version.md +++ b/deps/npm/doc/cli/npm-version.md @@ -11,14 +11,15 @@ Run this in a package directory to bump the version and write the new data back to `package.json` and, if present, `npm-shrinkwrap.json`. The `newversion` argument should be a valid semver string, *or* a -valid second argument to semver.inc (one of "patch", "minor", "major", -"prepatch", "preminor", "premajor", "prerelease"). In the second case, +valid second argument to semver.inc (one of `patch`, `minor`, `major`, +`prepatch`, `preminor`, `premajor`, `prerelease`). In the second case, the existing version will be incremented by 1 in the specified field. -If run in a git repo, it will also create a version commit and tag, and fail if -the repo is not clean. This behavior is controlled by `git-tag-version` (see -below), and can be disabled on the command line by running `npm ---no-git-tag-version version` +If run in a git repo, it will also create a version commit and tag. +This behavior is controlled by `git-tag-version` (see below), and can +be disabled on the command line by running `npm --no-git-tag-version version`. +It will fail if the working directory is not clean, unless the `--force` +flag is set. If supplied with `--message` (shorthand: `-m`) config option, npm will use it as a commit message when creating a version commit. If the @@ -40,13 +41,35 @@ in your git config for this to work properly. For example: Enter passphrase: -If "preversion", "version", "postversion" in the "scripts" property of -the package.json, it will execute by running `npm version`. preversion -and version ware executed before bump the package version, postversion -was executed after bump the package version. For example to run `npm version` -after passed all test: - - "scripts": { "preversion": "npm test" } +If `preversion`, `version`, or `postversion` are in the `scripts` property of +the package.json, they will be executed as part of running `npm version`. + +The exact order of execution is as follows: + 1. Check to make sure the git working directory is clean before we get started. + Your scripts may add files to the commit in future steps. + This step is skipped if the `--force` flag is set. + 2. Run the `preversion` script. These scripts have access to the old `version` in package.json. + A typical use would be running your full test suite before deploying. + Any files you want added to the commit should be explicitly added using `git add`. + 3. Bump `version` in `package.json` as requested (`patch`, `minor`, `major`, etc). + 4. Run the `version` script. These scripts have access to the new `version` in package.json + (so they can incorporate it into file headers in generated files for example). + Again, scripts should explicitly add generated files to the commit using `git add`. + 5. Commit and tag. + 6. Run the `postversion` script. Use it to clean up the file system or automatically push + the commit and/or tag. + +Take the following example: + + "scripts": { + "preversion": "npm test", + "version": "npm run build && git add -A dist", + "postversion": "git push && git push --tags && rm -rf build/temp" + } + +This runs all your tests, and proceeds only if they pass. Then runs your `build` script, and +adds everything in the `dist` directory to the commit. After the commit, it pushes the new commit +and tag up to the server, and deletes the `build/temp` directory. ## CONFIGURATION diff --git a/deps/npm/doc/files/npmrc.md b/deps/npm/doc/files/npmrc.md index 4d068efc8ab42a..8aab60aff643a3 100644 --- a/deps/npm/doc/files/npmrc.md +++ b/deps/npm/doc/files/npmrc.md @@ -52,6 +52,9 @@ running npm in. It has no effect when your module is published. For example, you can't publish a module that forces itself to install globally, or in a different location. +Additionally, this file is not read in global mode, such as when running +`npm install -g`. + ### Per-user config file `$HOME/.npmrc` (or the `userconfig` param, if set in the environment diff --git a/deps/npm/doc/files/package.json.md b/deps/npm/doc/files/package.json.md index ad2b6623a1ebba..b0d86d9492f0d0 100644 --- a/deps/npm/doc/files/package.json.md +++ b/deps/npm/doc/files/package.json.md @@ -115,9 +115,9 @@ expression syntax version 2.0 string](http://npmjs.com/package/spdx), like this: If you are using a license that hasn't been assigned an SPDX identifier, or if you are using a custom license, use the following valid SPDX expression: - { "license" : "LicenseRef-LICENSE" } + { "license" : "SEE LICENSE IN " } -Then include a LICENSE file at the top level of the package. +Then include a file named `` at the top level of the package. Some old packages used license objects or a "licenses" property containing an array of license objects: @@ -147,6 +147,13 @@ Those styles are now deprecated. Instead, use SPDX expressions, like this: { "license": "(MIT OR Apache-2.0)" } +Finally, if you do not wish to grant others the right to use a private or +unpublished package under any terms: + + { "license": "UNLICENSED"} + +Consider also setting `"private": true` to prevent accidental publication. + ## people fields: author, contributors The "author" is one person. "contributors" is an array of people. A "person" @@ -176,6 +183,26 @@ which will keep files from being included, even if they would be picked up by the files array. The ".npmignore" file works just like a ".gitignore". +Certain files are always included, regardless of settings: + +* `package.json` +* `README` (and its variants) +* `CHANGELOG` (and its variants) +* `LICENSE` / `LICENCE` + +Conversely, some files are always ignored: + +* `.git` +* `CVS` +* `.svn` +* `.hg` +* `.lock-wscript` +* `.wafpickle-N` +* `*.swp` +* `.DS_Store` +* `._*` +* `npm-debug.log` + ## main The main field is a module ID that is the primary entry point to your program. @@ -276,10 +303,13 @@ with the lib folder in any way, but it's useful meta info. ### directories.bin -If you specify a `bin` directory, then all the files in that folder will -be added as children of the `bin` path. +If you specify a `bin` directory in `directories.bin`, all the files in +that folder will be added. -If you have a `bin` path already, then this has no effect. +Because of the way the `bin` directive works, specifying both a +`bin` path and setting `directories.bin` is an error. If you want to +specify individual files, use `bin`, and for all the files in an +existing `bin` directory, use `directories.bin`. ### directories.man @@ -660,13 +690,13 @@ param at publish-time. ## publishConfig -This is a set of config values that will be used at publish-time. It's -especially handy if you want to set the tag or registry, so that you can -ensure that a given package is not tagged with "latest" or published to -the global public registry by default. +This is a set of config values that will be used at publish-time. It's +especially handy if you want to set the tag, registry or access, so that +you can ensure that a given package is not tagged with "latest", published +to the global public registry or that a scoped module is private by default. -Any config values can be overridden, but of course only "tag" and -"registry" probably matter for the purposes of publishing. +Any config values can be overridden, but of course only "tag", "registry" and +"access" probably matter for the purposes of publishing. See `npm-config(7)` to see the list of config options that can be overridden. diff --git a/deps/npm/doc/misc/npm-faq.md b/deps/npm/doc/misc/npm-faq.md index b9e837f76dfd9d..557ec1a9c6c27a 100644 --- a/deps/npm/doc/misc/npm-faq.md +++ b/deps/npm/doc/misc/npm-faq.md @@ -279,6 +279,7 @@ Unix: Windows: * +* * * diff --git a/deps/npm/doc/misc/npm-index.md b/deps/npm/doc/misc/npm-index.md index 8b9b69a48b9cf9..837ef26ba0180d 100644 --- a/deps/npm/doc/misc/npm-index.md +++ b/deps/npm/doc/misc/npm-index.md @@ -113,6 +113,10 @@ Manage package owners Create a tarball from a package +### npm-ping(1) + +Ping npm registry + ### npm-prefix(1) Display prefix @@ -285,6 +289,10 @@ Manage package owners Create a tarball from a package +### npm-ping(3) + +Ping npm registry + ### npm-prefix(3) Display prefix diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html index 58a7ad43f2e4f3..0ad6f04cf5558a 100644 --- a/deps/npm/html/doc/README.html +++ b/deps/npm/html/doc/README.html @@ -140,7 +140,7 @@

If you have a complaint about a package in the public npm registry, and cannot resolve it with the package owner, please email -support@npmjs.com and explain the situation.

+support@npmjs.com and explain the situation.

Any data published to The npm Registry (including user account information) may be removed or modified at the sole discretion of the npm server administrators.

@@ -183,5 +183,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-bin.html b/deps/npm/html/doc/api/npm-bin.html index dcc8dbdee89632..5dbec20a88b4f4 100644 --- a/deps/npm/html/doc/api/npm-bin.html +++ b/deps/npm/html/doc/api/npm-bin.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-bugs.html b/deps/npm/html/doc/api/npm-bugs.html index 9abf98e959d1a6..e86f3841929a4d 100644 --- a/deps/npm/html/doc/api/npm-bugs.html +++ b/deps/npm/html/doc/api/npm-bugs.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-cache.html b/deps/npm/html/doc/api/npm-cache.html index 218f930996d85c..5419551c0a2c2c 100644 --- a/deps/npm/html/doc/api/npm-cache.html +++ b/deps/npm/html/doc/api/npm-cache.html @@ -42,5 +42,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-commands.html b/deps/npm/html/doc/api/npm-commands.html index b7074c74f75e3c..bdff581012b193 100644 --- a/deps/npm/html/doc/api/npm-commands.html +++ b/deps/npm/html/doc/api/npm-commands.html @@ -36,5 +36,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-config.html b/deps/npm/html/doc/api/npm-config.html index 8f9c9904f5a412..5185aa8a64d475 100644 --- a/deps/npm/html/doc/api/npm-config.html +++ b/deps/npm/html/doc/api/npm-config.html @@ -57,5 +57,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-deprecate.html b/deps/npm/html/doc/api/npm-deprecate.html index 123c1905fc6d97..965d4689958a25 100644 --- a/deps/npm/html/doc/api/npm-deprecate.html +++ b/deps/npm/html/doc/api/npm-deprecate.html @@ -47,5 +47,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-docs.html b/deps/npm/html/doc/api/npm-docs.html index 0c1b8509ca1ceb..b3d061aad497e2 100644 --- a/deps/npm/html/doc/api/npm-docs.html +++ b/deps/npm/html/doc/api/npm-docs.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-edit.html b/deps/npm/html/doc/api/npm-edit.html index 1c3ba0f7d5699a..7de618518791c1 100644 --- a/deps/npm/html/doc/api/npm-edit.html +++ b/deps/npm/html/doc/api/npm-edit.html @@ -36,5 +36,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-explore.html b/deps/npm/html/doc/api/npm-explore.html index 3f4534ad726001..a7645373cef744 100644 --- a/deps/npm/html/doc/api/npm-explore.html +++ b/deps/npm/html/doc/api/npm-explore.html @@ -31,5 +31,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-help-search.html b/deps/npm/html/doc/api/npm-help-search.html index eb7701580ca9d2..550240f942c78e 100644 --- a/deps/npm/html/doc/api/npm-help-search.html +++ b/deps/npm/html/doc/api/npm-help-search.html @@ -44,5 +44,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-init.html b/deps/npm/html/doc/api/npm-init.html index 55e914a2086a46..899e8776e763d7 100644 --- a/deps/npm/html/doc/api/npm-init.html +++ b/deps/npm/html/doc/api/npm-init.html @@ -39,5 +39,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-install.html b/deps/npm/html/doc/api/npm-install.html index 84aed0de0c8bb0..1bb1043c3f1efb 100644 --- a/deps/npm/html/doc/api/npm-install.html +++ b/deps/npm/html/doc/api/npm-install.html @@ -32,5 +32,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-link.html b/deps/npm/html/doc/api/npm-link.html index ac8ff4f6c9b64a..7eac566fd2d80a 100644 --- a/deps/npm/html/doc/api/npm-link.html +++ b/deps/npm/html/doc/api/npm-link.html @@ -42,5 +42,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-load.html b/deps/npm/html/doc/api/npm-load.html index 7f33487782a0c0..320d1d3fd0f11f 100644 --- a/deps/npm/html/doc/api/npm-load.html +++ b/deps/npm/html/doc/api/npm-load.html @@ -37,5 +37,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-ls.html b/deps/npm/html/doc/api/npm-ls.html index 07d9134612ae64..e65c1925746c3b 100644 --- a/deps/npm/html/doc/api/npm-ls.html +++ b/deps/npm/html/doc/api/npm-ls.html @@ -63,5 +63,5 @@

global

       - + diff --git a/deps/npm/html/doc/api/npm-outdated.html b/deps/npm/html/doc/api/npm-outdated.html index a0262030674e5c..3327649c261d14 100644 --- a/deps/npm/html/doc/api/npm-outdated.html +++ b/deps/npm/html/doc/api/npm-outdated.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-owner.html b/deps/npm/html/doc/api/npm-owner.html index 185c373df4345e..aeea03091dff55 100644 --- a/deps/npm/html/doc/api/npm-owner.html +++ b/deps/npm/html/doc/api/npm-owner.html @@ -47,5 +47,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-pack.html b/deps/npm/html/doc/api/npm-pack.html index 6ea6ed1dd2d0e8..4518abfac0a244 100644 --- a/deps/npm/html/doc/api/npm-pack.html +++ b/deps/npm/html/doc/api/npm-pack.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-submodule.html b/deps/npm/html/doc/api/npm-ping.html similarity index 68% rename from deps/npm/html/doc/api/npm-submodule.html rename to deps/npm/html/doc/api/npm-ping.html index f4b5c85c6e092d..f3a4e7a775cd83 100644 --- a/deps/npm/html/doc/api/npm-submodule.html +++ b/deps/npm/html/doc/api/npm-ping.html @@ -1,35 +1,22 @@ - npm-submodule + npm-ping - +
-

npm-submodule

Add a package as a git submodule

+

npm-ping

Ping npm registry

SYNOPSIS

-
npm.commands.submodule(packages, callback)
+
npm.registry.ping(registry, options, function (er, pong))
 

DESCRIPTION

-

For each package specified, npm will check if it has a git repository url -in its package.json description then add it as a git submodule at -node_modules/<pkg name>.

-

This is a convenience only. From then on, it's up to you to manage -updates by using the appropriate git commands. npm will stubbornly -refuse to update, modify, or remove anything with a .git subfolder -in it.

-

This command also does not install missing dependencies, if the package -does not include them in its git repository. If npm ls reports that -things are missing, you can either install, link, or submodule them yourself, -or you can do npm explore <pkgname> -- npm install to install the -dependencies into the submodule folder.

-

SEE ALSO

-
    -
  • npm help json
  • -
  • git help submodule
  • -
+

Attempts to connect to the given registry, returning a pong +object with various metadata if it succeeds.

+

This function is primarily useful for debugging connection issues +to npm registries.

@@ -42,4 +29,4 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-prefix.html b/deps/npm/html/doc/api/npm-prefix.html index beb56a37fcfdb3..45f4bdb6efac6e 100644 --- a/deps/npm/html/doc/api/npm-prefix.html +++ b/deps/npm/html/doc/api/npm-prefix.html @@ -29,5 +29,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-prune.html b/deps/npm/html/doc/api/npm-prune.html index 01ab1055a996d1..9a240664b84a5a 100644 --- a/deps/npm/html/doc/api/npm-prune.html +++ b/deps/npm/html/doc/api/npm-prune.html @@ -30,5 +30,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-publish.html b/deps/npm/html/doc/api/npm-publish.html index c870b3d367981e..92302a1ecdb0d5 100644 --- a/deps/npm/html/doc/api/npm-publish.html +++ b/deps/npm/html/doc/api/npm-publish.html @@ -46,5 +46,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-rebuild.html b/deps/npm/html/doc/api/npm-rebuild.html index 612acf114d49da..65d10c50ba4055 100644 --- a/deps/npm/html/doc/api/npm-rebuild.html +++ b/deps/npm/html/doc/api/npm-rebuild.html @@ -30,5 +30,5 @@

CONFIGURATION

       - + diff --git a/deps/npm/html/doc/api/npm-repo.html b/deps/npm/html/doc/api/npm-repo.html index e426c2ad6412a7..84956f12a662de 100644 --- a/deps/npm/html/doc/api/npm-repo.html +++ b/deps/npm/html/doc/api/npm-repo.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-restart.html b/deps/npm/html/doc/api/npm-restart.html index ae60b9b904cb70..fdbcdfa57ff90d 100644 --- a/deps/npm/html/doc/api/npm-restart.html +++ b/deps/npm/html/doc/api/npm-restart.html @@ -52,5 +52,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-root.html b/deps/npm/html/doc/api/npm-root.html index c3d418d3af2b68..7c6223fa707733 100644 --- a/deps/npm/html/doc/api/npm-root.html +++ b/deps/npm/html/doc/api/npm-root.html @@ -29,5 +29,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-run-script.html b/deps/npm/html/doc/api/npm-run-script.html index 1c4aa15dc5fc65..fdd705d444b086 100644 --- a/deps/npm/html/doc/api/npm-run-script.html +++ b/deps/npm/html/doc/api/npm-run-script.html @@ -41,5 +41,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-search.html b/deps/npm/html/doc/api/npm-search.html index 1638a63e06041a..55b50b974b447f 100644 --- a/deps/npm/html/doc/api/npm-search.html +++ b/deps/npm/html/doc/api/npm-search.html @@ -53,5 +53,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-shrinkwrap.html b/deps/npm/html/doc/api/npm-shrinkwrap.html index 9dfff6c718fcad..eb115481c77b25 100644 --- a/deps/npm/html/doc/api/npm-shrinkwrap.html +++ b/deps/npm/html/doc/api/npm-shrinkwrap.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-start.html b/deps/npm/html/doc/api/npm-start.html index d1f5ff7a804f43..e885248d20207f 100644 --- a/deps/npm/html/doc/api/npm-start.html +++ b/deps/npm/html/doc/api/npm-start.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-stop.html b/deps/npm/html/doc/api/npm-stop.html index cb3b83a4ad9bdc..222c23b88758de 100644 --- a/deps/npm/html/doc/api/npm-stop.html +++ b/deps/npm/html/doc/api/npm-stop.html @@ -28,5 +28,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-tag.html b/deps/npm/html/doc/api/npm-tag.html index 51d7af306aeff7..6d2e6571c1b6be 100644 --- a/deps/npm/html/doc/api/npm-tag.html +++ b/deps/npm/html/doc/api/npm-tag.html @@ -36,5 +36,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-test.html b/deps/npm/html/doc/api/npm-test.html index 10303feadc2d0c..a41cf64cb38de2 100644 --- a/deps/npm/html/doc/api/npm-test.html +++ b/deps/npm/html/doc/api/npm-test.html @@ -30,5 +30,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-uninstall.html b/deps/npm/html/doc/api/npm-uninstall.html index 4cc010db456cee..193ba1211d2c5b 100644 --- a/deps/npm/html/doc/api/npm-uninstall.html +++ b/deps/npm/html/doc/api/npm-uninstall.html @@ -30,5 +30,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-unpublish.html b/deps/npm/html/doc/api/npm-unpublish.html index 60f9e3b2b60f57..5ee64a910f6e2a 100644 --- a/deps/npm/html/doc/api/npm-unpublish.html +++ b/deps/npm/html/doc/api/npm-unpublish.html @@ -33,5 +33,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-update.html b/deps/npm/html/doc/api/npm-update.html index c31fcd059dead1..6e964f04456c0f 100644 --- a/deps/npm/html/doc/api/npm-update.html +++ b/deps/npm/html/doc/api/npm-update.html @@ -33,5 +33,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/api/npm-version.html b/deps/npm/html/doc/api/npm-version.html index 02ac457e29ee0d..12e4c941482e16 100644 --- a/deps/npm/html/doc/api/npm-version.html +++ b/deps/npm/html/doc/api/npm-version.html @@ -32,5 +32,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm-view.html b/deps/npm/html/doc/api/npm-view.html index 59b0f4bda80b29..4c515ff43772b1 100644 --- a/deps/npm/html/doc/api/npm-view.html +++ b/deps/npm/html/doc/api/npm-view.html @@ -81,5 +81,5 @@

RETURN VALUE

       - + diff --git a/deps/npm/html/doc/api/npm-whoami.html b/deps/npm/html/doc/api/npm-whoami.html index 6f63d93daf1780..5d347fbe7cdc06 100644 --- a/deps/npm/html/doc/api/npm-whoami.html +++ b/deps/npm/html/doc/api/npm-whoami.html @@ -29,5 +29,5 @@

SYNOPSIS

       - + diff --git a/deps/npm/html/doc/api/npm.html b/deps/npm/html/doc/api/npm.html index 2f75c679475e5b..1d17da12f437da 100644 --- a/deps/npm/html/doc/api/npm.html +++ b/deps/npm/html/doc/api/npm.html @@ -23,7 +23,7 @@

SYNOPSIS

npm.commands.install(["package"], cb) })

VERSION

-

2.11.3

+

2.13.3

DESCRIPTION

This is the API documentation for npm. To find documentation of the command line @@ -109,5 +109,5 @@

ABBREVS

       - + diff --git a/deps/npm/html/doc/cli/npm-access.html b/deps/npm/html/doc/cli/npm-access.html index ef5fda3e6aad54..7588c3113624fb 100644 --- a/deps/npm/html/doc/cli/npm-access.html +++ b/deps/npm/html/doc/cli/npm-access.html @@ -75,5 +75,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-adduser.html b/deps/npm/html/doc/cli/npm-adduser.html index 5eda2bf5ce6157..1fd0b1ccac9342 100644 --- a/deps/npm/html/doc/cli/npm-adduser.html +++ b/deps/npm/html/doc/cli/npm-adduser.html @@ -68,5 +68,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-bin.html b/deps/npm/html/doc/cli/npm-bin.html index 000641e2e5e87d..345188c7f963bf 100644 --- a/deps/npm/html/doc/cli/npm-bin.html +++ b/deps/npm/html/doc/cli/npm-bin.html @@ -35,5 +35,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-bugs.html b/deps/npm/html/doc/cli/npm-bugs.html index 62539c0ddce3d2..db8b253800c8ae 100644 --- a/deps/npm/html/doc/cli/npm-bugs.html +++ b/deps/npm/html/doc/cli/npm-bugs.html @@ -54,5 +54,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-build.html b/deps/npm/html/doc/cli/npm-build.html index b6b1b9c3bb99c8..03169c7377d8d3 100644 --- a/deps/npm/html/doc/cli/npm-build.html +++ b/deps/npm/html/doc/cli/npm-build.html @@ -40,5 +40,5 @@

DESCRIPTION

       - + diff --git a/deps/npm/html/doc/cli/npm-bundle.html b/deps/npm/html/doc/cli/npm-bundle.html index f9b1deea9a9b70..4cbf952f3d60de 100644 --- a/deps/npm/html/doc/cli/npm-bundle.html +++ b/deps/npm/html/doc/cli/npm-bundle.html @@ -31,5 +31,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-cache.html b/deps/npm/html/doc/cli/npm-cache.html index 4f174bbc440cf8..1bfe9a7f2cf6db 100644 --- a/deps/npm/html/doc/cli/npm-cache.html +++ b/deps/npm/html/doc/cli/npm-cache.html @@ -81,5 +81,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-completion.html b/deps/npm/html/doc/cli/npm-completion.html index 2632938af4e917..458e2f8dddafba 100644 --- a/deps/npm/html/doc/cli/npm-completion.html +++ b/deps/npm/html/doc/cli/npm-completion.html @@ -42,5 +42,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-config.html b/deps/npm/html/doc/cli/npm-config.html index 376bbd48067815..1a887e2d0c1d21 100644 --- a/deps/npm/html/doc/cli/npm-config.html +++ b/deps/npm/html/doc/cli/npm-config.html @@ -66,5 +66,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-dedupe.html b/deps/npm/html/doc/cli/npm-dedupe.html index b93f3fcb75aee6..7d1653ed93610e 100644 --- a/deps/npm/html/doc/cli/npm-dedupe.html +++ b/deps/npm/html/doc/cli/npm-dedupe.html @@ -63,5 +63,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-deprecate.html b/deps/npm/html/doc/cli/npm-deprecate.html index d916b791c93b0d..cd2bc564815fd3 100644 --- a/deps/npm/html/doc/cli/npm-deprecate.html +++ b/deps/npm/html/doc/cli/npm-deprecate.html @@ -38,5 +38,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-dist-tag.html b/deps/npm/html/doc/cli/npm-dist-tag.html index 1fdf4b97a6fcb5..c910e081a9a9f5 100644 --- a/deps/npm/html/doc/cli/npm-dist-tag.html +++ b/deps/npm/html/doc/cli/npm-dist-tag.html @@ -77,5 +77,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-docs.html b/deps/npm/html/doc/cli/npm-docs.html index 8dfd9f0a615dd5..95fdcd7ad9d039 100644 --- a/deps/npm/html/doc/cli/npm-docs.html +++ b/deps/npm/html/doc/cli/npm-docs.html @@ -56,5 +56,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-edit.html b/deps/npm/html/doc/cli/npm-edit.html index 44581b1e8274f2..60622185dae763 100644 --- a/deps/npm/html/doc/cli/npm-edit.html +++ b/deps/npm/html/doc/cli/npm-edit.html @@ -49,5 +49,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-explore.html b/deps/npm/html/doc/cli/npm-explore.html index d6b2c363fdd728..08848c044a31a3 100644 --- a/deps/npm/html/doc/cli/npm-explore.html +++ b/deps/npm/html/doc/cli/npm-explore.html @@ -49,5 +49,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-help-search.html b/deps/npm/html/doc/cli/npm-help-search.html index a39aad66566aca..b50aa666bfc755 100644 --- a/deps/npm/html/doc/cli/npm-help-search.html +++ b/deps/npm/html/doc/cli/npm-help-search.html @@ -46,5 +46,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-help.html b/deps/npm/html/doc/cli/npm-help.html index a9ac805bbffd67..a8598ca7e9fad5 100644 --- a/deps/npm/html/doc/cli/npm-help.html +++ b/deps/npm/html/doc/cli/npm-help.html @@ -52,5 +52,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-init.html b/deps/npm/html/doc/cli/npm-init.html index 5791edd4accae4..6387d82de4b69a 100644 --- a/deps/npm/html/doc/cli/npm-init.html +++ b/deps/npm/html/doc/cli/npm-init.html @@ -48,5 +48,5 @@

SEE ALSO

       - + diff --git a/deps/npm/html/doc/cli/npm-install.html b/deps/npm/html/doc/cli/npm-install.html index 35162c5018edba..cb01884a43a359 100644 --- a/deps/npm/html/doc/cli/npm-install.html +++ b/deps/npm/html/doc/cli/npm-install.html @@ -138,11 +138,24 @@

SYNOPSIS

<protocol> is one of git, git+ssh, git+http, or git+https. If no <commit-ish> is specified, then master is used.

-

Examples:

-
    git+ssh://git@github.com:npm/npm.git#v1.0.27
-    git+https://isaacs@github.com/npm/npm.git
-    git://github.com/npm/npm.git#v1.0.27
+

The following git environment variables are recognized by npm and will be added + to the environment when running git:

+
    +
  • GIT_ASKPASS
  • +
  • GIT_PROXY_COMMAND
  • +
  • GIT_SSH
  • +
  • GIT_SSH_COMMAND
  • +
  • GIT_SSL_CAINFO
  • +
  • GIT_SSL_NO_VERIFY

    +

    See the git man page for details.

    +

    Examples:

    +
    npm install git+ssh://git@github.com:npm/npm.git#v1.0.27
    +npm install git+https://isaacs@github.com/npm/npm.git
    +npm install git://github.com/npm/npm.git#v1.0.27
    +GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://git@github.com:npm/npm.git
     
  • +
+
  • npm install <githubname>/<githubrepo>[#<commit-ish>]:

  • npm install github:<githubname>/<githubrepo>[#<commit-ish>]:

    @@ -264,5 +277,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-link.html b/deps/npm/html/doc/cli/npm-link.html index fa2d33cc3a879a..ca622a583d1672 100644 --- a/deps/npm/html/doc/cli/npm-link.html +++ b/deps/npm/html/doc/cli/npm-link.html @@ -72,5 +72,5 @@

    SYNOPSIS

           - + diff --git a/deps/npm/html/doc/cli/npm-logout.html b/deps/npm/html/doc/cli/npm-logout.html index add0967b268527..d538a93080cce3 100644 --- a/deps/npm/html/doc/cli/npm-logout.html +++ b/deps/npm/html/doc/cli/npm-logout.html @@ -55,5 +55,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-ls.html b/deps/npm/html/doc/cli/npm-ls.html index 90a2aa75033e20..399d6a96739c3d 100644 --- a/deps/npm/html/doc/cli/npm-ls.html +++ b/deps/npm/html/doc/cli/npm-ls.html @@ -22,7 +22,7 @@

    SYNOPSIS

    limit the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

    -
    npm@2.11.3 /path/to/npm
    +
    npm@2.13.3 /path/to/npm
     └─┬ init-package-json@0.0.4
       └── promzard@0.1.5
     

    It will print out extraneous, missing, and invalid packages.

    @@ -97,5 +97,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-outdated.html b/deps/npm/html/doc/cli/npm-outdated.html index e0ecfd26c2d746..cc4c2392fd1862 100644 --- a/deps/npm/html/doc/cli/npm-outdated.html +++ b/deps/npm/html/doc/cli/npm-outdated.html @@ -67,5 +67,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-owner.html b/deps/npm/html/doc/cli/npm-owner.html index 9b83f7e6735eba..ab8336925c3be3 100644 --- a/deps/npm/html/doc/cli/npm-owner.html +++ b/deps/npm/html/doc/cli/npm-owner.html @@ -49,5 +49,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-pack.html b/deps/npm/html/doc/cli/npm-pack.html index ccebbe323da364..2df3394ff31cd9 100644 --- a/deps/npm/html/doc/cli/npm-pack.html +++ b/deps/npm/html/doc/cli/npm-pack.html @@ -41,5 +41,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-submodule.html b/deps/npm/html/doc/cli/npm-ping.html similarity index 69% rename from deps/npm/html/doc/cli/npm-submodule.html rename to deps/npm/html/doc/cli/npm-ping.html index 30bde01b318f47..c4865c01e8a201 100644 --- a/deps/npm/html/doc/cli/npm-submodule.html +++ b/deps/npm/html/doc/cli/npm-ping.html @@ -1,34 +1,24 @@ - npm-submodule + npm-ping - +
    -

    npm-submodule

    Add a package as a git submodule

    +

    npm-ping

    Ping npm registry

    SYNOPSIS

    -
    npm submodule <pkg>
    +
    npm ping [--registry <registry>]
     

    DESCRIPTION

    -

    If the specified package has a git repository url in its package.json -description, then this command will add it as a git submodule at -node_modules/<pkg name>.

    -

    This is a convenience only. From then on, it's up to you to manage -updates by using the appropriate git commands. npm will stubbornly -refuse to update, modify, or remove anything with a .git subfolder -in it.

    -

    This command also does not install missing dependencies, if the package -does not include them in its git repository. If npm ls reports that -things are missing, you can either install, link, or submodule them yourself, -or you can do npm explore <pkgname> -- npm install to install the -dependencies into the submodule folder.

    +

    Ping the configured or given npm registry and verify authentication.

    SEE ALSO

    @@ -42,4 +32,4 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-prefix.html b/deps/npm/html/doc/cli/npm-prefix.html index f9af61318d4c46..c999e7d928b60b 100644 --- a/deps/npm/html/doc/cli/npm-prefix.html +++ b/deps/npm/html/doc/cli/npm-prefix.html @@ -38,5 +38,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-prune.html b/deps/npm/html/doc/cli/npm-prune.html index 58125c416497b8..9a130e583eb10b 100644 --- a/deps/npm/html/doc/cli/npm-prune.html +++ b/deps/npm/html/doc/cli/npm-prune.html @@ -41,5 +41,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html index ba1bad9e26c8a4..61d10cc4f8f711 100644 --- a/deps/npm/html/doc/cli/npm-publish.html +++ b/deps/npm/html/doc/cli/npm-publish.html @@ -66,5 +66,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-rebuild.html b/deps/npm/html/doc/cli/npm-rebuild.html index 38bc945329aa9c..af56a92f2d1ae6 100644 --- a/deps/npm/html/doc/cli/npm-rebuild.html +++ b/deps/npm/html/doc/cli/npm-rebuild.html @@ -38,5 +38,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-repo.html b/deps/npm/html/doc/cli/npm-repo.html index 63b850a61edfd1..39dc1a0af51413 100644 --- a/deps/npm/html/doc/cli/npm-repo.html +++ b/deps/npm/html/doc/cli/npm-repo.html @@ -42,5 +42,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-restart.html b/deps/npm/html/doc/cli/npm-restart.html index faafb1d00e45c8..0ff0f93c2ce495 100644 --- a/deps/npm/html/doc/cli/npm-restart.html +++ b/deps/npm/html/doc/cli/npm-restart.html @@ -53,5 +53,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-rm.html b/deps/npm/html/doc/cli/npm-rm.html index 09ece656aa2f55..23bd040c8ea4ec 100644 --- a/deps/npm/html/doc/cli/npm-rm.html +++ b/deps/npm/html/doc/cli/npm-rm.html @@ -39,5 +39,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-root.html b/deps/npm/html/doc/cli/npm-root.html index c3092e686fd899..34fb1cdb4edc69 100644 --- a/deps/npm/html/doc/cli/npm-root.html +++ b/deps/npm/html/doc/cli/npm-root.html @@ -35,5 +35,5 @@

    SEE ALSO

           - + diff --git a/deps/npm/html/doc/cli/npm-run-script.html b/deps/npm/html/doc/cli/npm-run-script.html index 03f1aa201a2a69..3503be3d7b3215 100644 --- a/deps/npm/html/doc/cli/npm-run-script.html +++ b/deps/npm/html/doc/cli/npm-run-script.html @@ -34,8 +34,9 @@

    SYNOPSIS

    node_modules/.bin to the PATH provided to scripts. Any binaries provided by locally-installed dependencies can be used without the node_modules/.bin prefix. For example, if there is a devDependency on tap in your package, -you should write "scripts": {"test": "tap test/\*.js"} instead of "scripts": -{"test": "node_modules/.bin/tap test/\*.js"} to run your tests.

    +you should write:

    +
    "scripts": {"test": "tap test/\*.js"}
    +

    instead of "scripts": {"test": "node_modules/.bin/tap test/\*.js"} to run your tests.

    SEE ALSO

    • npm-scripts(7)
    • @@ -56,5 +57,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-search.html b/deps/npm/html/doc/cli/npm-search.html index fc065f99915d96..96ce6d93a543d6 100644 --- a/deps/npm/html/doc/cli/npm-search.html +++ b/deps/npm/html/doc/cli/npm-search.html @@ -49,5 +49,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-shrinkwrap.html b/deps/npm/html/doc/cli/npm-shrinkwrap.html index b6f8ddc6d0489a..3a80e8f4573c71 100644 --- a/deps/npm/html/doc/cli/npm-shrinkwrap.html +++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html @@ -164,5 +164,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-star.html b/deps/npm/html/doc/cli/npm-star.html index 273ba24060f395..481782e57898ad 100644 --- a/deps/npm/html/doc/cli/npm-star.html +++ b/deps/npm/html/doc/cli/npm-star.html @@ -36,5 +36,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-stars.html b/deps/npm/html/doc/cli/npm-stars.html index 1899557adf5ab3..51b845889d942f 100644 --- a/deps/npm/html/doc/cli/npm-stars.html +++ b/deps/npm/html/doc/cli/npm-stars.html @@ -37,5 +37,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-start.html b/deps/npm/html/doc/cli/npm-start.html index eb36bd5b29f623..bd6c881d02b638 100644 --- a/deps/npm/html/doc/cli/npm-start.html +++ b/deps/npm/html/doc/cli/npm-start.html @@ -34,5 +34,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-stop.html b/deps/npm/html/doc/cli/npm-stop.html index c772f894616830..c2034c6490a7c0 100644 --- a/deps/npm/html/doc/cli/npm-stop.html +++ b/deps/npm/html/doc/cli/npm-stop.html @@ -34,5 +34,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html index 414e84a0dd165a..a758ac14f44f00 100644 --- a/deps/npm/html/doc/cli/npm-tag.html +++ b/deps/npm/html/doc/cli/npm-tag.html @@ -62,5 +62,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-test.html b/deps/npm/html/doc/cli/npm-test.html index 1adc889770378d..380491a5409c87 100644 --- a/deps/npm/html/doc/cli/npm-test.html +++ b/deps/npm/html/doc/cli/npm-test.html @@ -37,5 +37,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-uninstall.html b/deps/npm/html/doc/cli/npm-uninstall.html index aae5ca9b4d8571..6947e65fd3ff5f 100644 --- a/deps/npm/html/doc/cli/npm-uninstall.html +++ b/deps/npm/html/doc/cli/npm-uninstall.html @@ -57,5 +57,5 @@

      SYNOPSIS

             - + diff --git a/deps/npm/html/doc/cli/npm-unpublish.html b/deps/npm/html/doc/cli/npm-unpublish.html index 1f042fc55e3292..ecf13ea2515f84 100644 --- a/deps/npm/html/doc/cli/npm-unpublish.html +++ b/deps/npm/html/doc/cli/npm-unpublish.html @@ -47,5 +47,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-update.html b/deps/npm/html/doc/cli/npm-update.html index ae6685d449547a..3285f6ece507a6 100644 --- a/deps/npm/html/doc/cli/npm-update.html +++ b/deps/npm/html/doc/cli/npm-update.html @@ -119,5 +119,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-version.html b/deps/npm/html/doc/cli/npm-version.html index 941df172003f9f..fbbe2b98299474 100644 --- a/deps/npm/html/doc/cli/npm-version.html +++ b/deps/npm/html/doc/cli/npm-version.html @@ -16,13 +16,14 @@

      SYNOPSIS

      Run this in a package directory to bump the version and write the new data back to package.json and, if present, npm-shrinkwrap.json.

      The newversion argument should be a valid semver string, or a -valid second argument to semver.inc (one of "patch", "minor", "major", -"prepatch", "preminor", "premajor", "prerelease"). In the second case, +valid second argument to semver.inc (one of patch, minor, major, +prepatch, preminor, premajor, prerelease). In the second case, the existing version will be incremented by 1 in the specified field.

      -

      If run in a git repo, it will also create a version commit and tag, and fail if -the repo is not clean. This behavior is controlled by git-tag-version (see -below), and can be disabled on the command line by running npm ---no-git-tag-version version

      +

      If run in a git repo, it will also create a version commit and tag. +This behavior is controlled by git-tag-version (see below), and can +be disabled on the command line by running npm --no-git-tag-version version. +It will fail if the working directory is not clean, unless the --force +flag is set.

      If supplied with --message (shorthand: -m) config option, npm will use it as a commit message when creating a version commit. If the message config contains %s then that will be replaced with the @@ -39,13 +40,34 @@

      SYNOPSIS

      2048-bit RSA key, ID 6C481CF6, created 2010-08-31 Enter passphrase: -

    If "preversion", "version", "postversion" in the "scripts" property of -the package.json, it will execute by running npm version. preversion -and version ware executed before bump the package version, postversion -was executed after bump the package version. For example to run npm version -after passed all test:

    -
    "scripts": { "preversion": "npm test" }
    -

    CONFIGURATION

    +
  • If preversion, version, or postversion are in the scripts property of +the package.json, they will be executed as part of running npm version.

    +

    The exact order of execution is as follows:

    +
      +
    1. Check to make sure the git working directory is clean before we get started. +Your scripts may add files to the commit in future steps. +This step is skipped if the --force flag is set.
    2. +
    3. Run the preversion script. These scripts have access to the old version in package.json. +A typical use would be running your full test suite before deploying. +Any files you want added to the commit should be explicitly added using git add.
    4. +
    5. Bump version in package.json as requested (patch, minor, major, etc).
    6. +
    7. Run the version script. These scripts have access to the new version in package.json +(so they can incorporate it into file headers in generated files for example). +Again, scripts should explicitly add generated files to the commit using git add.
    8. +
    9. Commit and tag.
    10. +
    11. Run the postversion script. Use it to clean up the file system or automatically push +the commit and/or tag.
    12. +
    +

    Take the following example:

    +
    "scripts": {
    +  "preversion": "npm test",
    +  "version": "npm run build && git add -A dist",
    +  "postversion": "git push && git push --tags && rm -rf build/temp"
    +}
    +

    This runs all your tests, and proceeds only if they pass. Then runs your build script, and +adds everything in the dist directory to the commit. After the commit, it pushes the new commit +and tag up to the server, and deletes the build/temp directory.

    +

    CONFIGURATION

    git-tag-version

    • Default: true
    • @@ -73,5 +95,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-view.html b/deps/npm/html/doc/cli/npm-view.html index e0f48b675e967a..8ad404d9d3c635 100644 --- a/deps/npm/html/doc/cli/npm-view.html +++ b/deps/npm/html/doc/cli/npm-view.html @@ -82,5 +82,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm-whoami.html b/deps/npm/html/doc/cli/npm-whoami.html index 9b451f148cc5b7..bfb6e8c0552fb9 100644 --- a/deps/npm/html/doc/cli/npm-whoami.html +++ b/deps/npm/html/doc/cli/npm-whoami.html @@ -33,5 +33,5 @@

      SEE ALSO

             - + diff --git a/deps/npm/html/doc/cli/npm.html b/deps/npm/html/doc/cli/npm.html index 83fe67d5759669..5dd95b874fea76 100644 --- a/deps/npm/html/doc/cli/npm.html +++ b/deps/npm/html/doc/cli/npm.html @@ -13,7 +13,7 @@

      npm

      javascript package manager

      SYNOPSIS

      npm <command> [args]
       

      VERSION

      -

      2.11.3

      +

      2.13.3

      DESCRIPTION

      npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency @@ -110,7 +110,7 @@

      CONTRIBUTIONS

      the issues list or ask on the mailing list.

      BUGS

      When you find issues, please report them:

      @@ -118,7 +118,7 @@

      BUGS

    • web: http://github.com/npm/npm/issues
    • email: -npm-@googlegroups.com
    • +npm-@googlegroups.com

    Be sure to include all of the output from the npm command that didn't work as expected. The npm-debug.log file is also helpful to provide.

    @@ -128,7 +128,7 @@

    AUTHOR

    Isaac Z. Schlueter :: isaacs :: @izs :: -i@izs.me

    +i@izs.me

    SEE ALSO