* v8: Upgrade to 3.28.73 * uv: Upgrade to 1.0.2 * npm: Upgrade to v2.1.6 * uv: float patch to revert tty breakage (Trevor Norris) * v8: re-implement debugger-agent (Fedor Indutny) * v8: apply floating irhydra patch (Fedor Indutny) * v8: fix postmortem-metadata generator (Refael Ackermann) * debugger: fix unhandled error in setBreakpoint (Miroslav Bajtoš) * async-wrap: add event hooks (Trevor Norris) * async-wrap: expose async-wrap as binding (Trevor Norris) * buffer, doc: misc. fix and cleanup (Trevor Norris) * buffer: add generic functions for (u)int ops (Yazhong Liu) * buffer: fix and cleanup fill() (Trevor Norris) * buffer: mv floating point read/write checks to JS (Trevor Norris) * build, i18n: improve Intl build, add "--with-intl" (Steven R. Loomis) * build: add small-icu support for binary packages (Julien Gilli) * build: do not generate support for libuv's probes (Julien Gilli) * build: i18n: add icu config options (Steven R. Loomis) * build: i18n: support little-endian machines (Steven Loomis) * build: vcbuild fix "The input line is too long." (Alexis Campailla) * child_process: improve spawn() argument handling (cjihrig) * cluster: avoid race enabling debugger in worker (Timothy J Fontaine) * cluster: cluster.disconnect() should check status (Sam Roberts) * cluster: do not signal children in debug mode (Fedor Indutny) * cluster: don't assert if worker has no handles (Sam Roberts) * core: fix usage of uv_cwd (Saúl Ibarra Corretgé) * core: replace uv_fs_readdir with uv_fs_scandir (Saúl Ibarra Corretgé) * crypto: createDiffieHellman throw for bad args (Trevor Norris) * crypto: lower RSS usage for TLSCallbacks (Fedor Indutny) * crypto: store thread id as pointer-sized (Alexis Campailla) * dns: propagate domain for c-ares methods (Chris Dickinson) * fs: fix symlink error message (Vladimir Kurchatkin) * http: Improve _addHeaderLines method (Jackson Tian) * http: cleanup setHeader() (Trevor Norris) * http: rename flush to flushHeaders (Timothy J Fontaine) * lib,src: fix spawnSync ignoring its 'env' option (Juanjo) * modules: adding load linked modules feature (Thorsten Lorenz) * net: Make server.connections un-enumerable (Patrick Mooney) * net: add pauseOnConnect option to createServer() (cjihrig) * net: make connect() input validation synchronous (cjihrig) * node: avoid automatic microtask runs (Vladimir Kurchatkin) * node: fix throws before timer module is loaded (Trevor Norris) * openssl: fix keypress requirement in apps on win32 (Fedor Indutny) * path: added parse() and format() functions (Rory Bradford) * path: allow calling platform specific methods (Timothy J Fontaine) * path: don't lower-cases drive letters (Bert Belder) * path: refactor normalizeArray() (Nathan Woltman) * process: pid can be a string in process.kill() (Sam Roberts) * readline: fix performance issue when large line (Jicheng Li) * readline: should not require an output stream. (Julien Gilli) * smalloc: check if obj has external data (Vladimir Kurchatkin) * smalloc: don't allow to dispose typed arrays (Vladimir Kurchatkin) * smalloc: fix bad assert for zero length data (Trevor Norris) * smalloc: fix copyOnto optimization (Vladimir Kurchatkin) * src: all wrap's now use actual FunctionTemplate (Trevor Norris) * src: fix VC++ warning C4244 (Rasmus Christian Pedersen) * src: remove Async Listener (Trevor Norris) * stream: switch _writableState.buffer to queue (Chris Dickinson) * streams: make setDefaultEncoding() throw (Brian White) * streams: set default encoding for writable streams (Johnny Ray) * tls: remove tls.createSecurePair code deprecation (Jackson Tian) * tls_wrap: ignore ZERO_RETURN after close_notify (Fedor Indutny) * url: change hostname regex to negate invalid chars (Jonathan Johnson) * url: fixed encoding for slash switching emulation. (Evan Rutledge Borden) * url: improve parsing speed (CGavrila) * url: make query() consistent (Gabriel Wicke) * url: support `path` for url.format (Yazhong Liu) * util: add es6 Symbol support for `util.inspect` (gyson)
Evented I/O for V8 javascript.
To build:
Prerequisites (Unix only):
* GCC 4.2 or newer
* G++ 4.2 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)
Unix/Macintosh:
./configure
make
make install
If your python binary is in a non-standard location or has a non-standard name, run the following instead:
export PYTHON=/path/to/python
$PYTHON ./configure
make
make install
Prerequisites (Windows only):
* Python 2.6 or 2.7
* Visual Studio 2010 or 2012
Windows:
vcbuild nosign
You can download pre-built binaries for various operating systems from http://nodejs.org/download/. The Windows and OS X installers will prompt you for the location in which to install. The tarballs are self-contained; you can extract them to a local directory with:
tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz
Or system-wide with:
cd /usr/local && tar --strip-components 1 -xzf \
/path/to/node-<version>-<platform>-<arch>.tar.gz
To run the tests:
Unix/Macintosh:
make test
Windows:
vcbuild test
To build the documentation:
make doc
To read the documentation:
man doc/node.1
Intl (ECMA-402) support:
Intl support is not enabled by default.
"small" (English only) support
This option will build with "small" (English only) support, but
the full Intl (ECMA-402) APIs. With --download=all it will
download the ICU library as needed.
Unix/Macintosh:
./configure --with-intl=small-icu --download=all
Windows:
vcbuild small-icu download-all
The small-icu mode builds
with English-only data. You can add full data at runtime.
Note: more docs are on the wiki.
Build with full ICU support (all locales supported by ICU):
With the --download=all, this may download ICU if you don't
have an ICU in deps/icu.
Unix/Macintosh:
./configure --with-intl=full-icu --download=all
Windows:
vcbuild full-icu download-all
Build with no Intl support :-(
The Intl object will not be available.
This is the default at present, so this option is not normally needed.
Unix/Macintosh:
./configure --with-intl=none
Windows:
vcbuild intl-none
Use existing installed ICU (Unix/Macintosh only):
pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
Build with a specific ICU:
You can find other ICU releases at
the ICU homepage.
Download the file named something like icu4c-**##.#**-src.tgz (or
.zip).
Unix/Macintosh: from an already-unpacked ICU
./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu
Unix/Macintosh: from a local ICU tarball
./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz
Unix/Macintosh: from a tarball URL
./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
Windows: first unpack latest ICU to deps/icu
icu4c-##.#-src.tgz (or .zip)
as deps/icu (You'll have: deps/icu/source/...)
vcbuild full-icu