isaacs [Thu, 10 Jan 2013 01:07:21 +0000 (17:07 -0800)]
Merge branch 'v0.8.17-release' into v0.8
isaacs [Thu, 10 Jan 2013 00:04:21 +0000 (16:04 -0800)]
2012.01.09, Version 0.8.17 (Stable)
* npm: Upgrade to v1.2.0
- peerDependencies (Domenic Denicola)
- node-gyp v0.8.2 (Nathan Rajlich)
- Faster installs from github user/project shorthands (Nathan Zadoks)
* typed arrays: fix 32 bit size/index overflow (Ben Noordhuis)
* http: Improve performance of single-packet responses (Ben Noordhuis)
* install: fix openbsd man page location (Ben Noordhuis)
* http: bubble up parser errors to ClientRequest (Brian White)
Ben Noordhuis [Wed, 9 Jan 2013 23:39:44 +0000 (00:39 +0100)]
typed arrays: fix 32 bit size/index overflow
Fix an out-of-bound read/write bug due to integer wrapping. Reported by
Dean McNamee.
isaacs [Wed, 9 Jan 2013 23:21:30 +0000 (15:21 -0800)]
npm: Upgrade to v1.2.0
Fedor Indutny [Fri, 4 Jan 2013 12:37:38 +0000 (16:37 +0400)]
object_wrap: add missing HandleScope
by Sven Panne's suggestion, see [0] for details.
[0]: https://code.google.com/p/v8/issues/detail?id=2468
Ben Noordhuis [Tue, 8 Jan 2013 03:27:34 +0000 (04:27 +0100)]
dgram: don't assert on send('string')
Raise a TypeError when the argument to send() or sendto() is anything
but a Buffer.
Fixes the following assertion:
$ node -e 'require("dgram").createSocket("udp4").send("BAM")'
node: ../../src/udp_wrap.cc:220: static v8::Handle<v8::Value>
node::UDPWrap::DoSend(const v8::Arguments&, int): Assertion
`Buffer::HasInstance(args[0])' failed.
Aborted (core dumped)
Fixes #4496.
Johannes Ewald [Fri, 4 Jan 2013 18:07:40 +0000 (19:07 +0100)]
doc: improve example of process.hrtime()
The example clarifies now that diff[0] *
1000000000 + diff[1] equals
the result in nanoseconds.
Tim Bradshaw [Thu, 20 Dec 2012 22:29:45 +0000 (22:29 +0000)]
os: change CPU time from Integer to Number
CPU time values must be Numbers, not Integers, as they can be too large
for Integers on 32 bit platforms.
Ben Noordhuis [Sun, 30 Dec 2012 23:36:47 +0000 (00:36 +0100)]
doc: add CONTRIBUTING.md
isaacs [Sun, 30 Dec 2012 01:26:32 +0000 (17:26 -0800)]
blog: Post for v0.9.5
Ben Noordhuis [Sat, 29 Dec 2012 16:34:41 +0000 (17:34 +0100)]
deps: upgrade libuv to 4997738
Maciej Małecki [Fri, 21 Dec 2012 01:56:47 +0000 (02:56 +0100)]
build: allow to specify custom tags
When building custom `node` versions (e.g., floating features/fixes from
different versions) it's often useful to specify a custom tag which
easily identifies build when invoking `node -v`.
Introduce a way to specify this tag in `node_version.h` file or by
running `./configure --tag="<tag>"`. Insert it right after the patch
version (and before `-pre`, if build is not a release).
isaacs [Wed, 26 Dec 2012 23:26:53 +0000 (15:26 -0800)]
lint
isaacs [Fri, 21 Dec 2012 20:37:39 +0000 (12:37 -0800)]
blog: Post about v0.9.4
isaacs [Fri, 21 Dec 2012 16:42:29 +0000 (16:42 +0000)]
npm: upgrade to 1.1.70
isaacs [Fri, 21 Dec 2012 00:46:40 +0000 (00:46 +0000)]
blog: More streams2 wordsmithing
isaacs [Fri, 21 Dec 2012 00:08:50 +0000 (00:08 +0000)]
blog: Update blog post re streams2
Ben Noordhuis [Wed, 19 Dec 2012 11:35:07 +0000 (12:35 +0100)]
http: pack response body buffer in first tcp packet
Apply the same optimization to res.end(buf) that is applied to res.end(str).
Speeds up `node benchmark/http_simple_auto -k -c 1 -n 25000 buffer/1`
(non-chunked response body) by about 750x. That's not a typo.
Chunked responses:
$ cat tmp/http-chunked-client.js
// Run `node benchmark/http_simple` in another terminal.
var http = require('http'), url = require('url');
var options = url.parse('http://127.0.0.1:8000/buffer/1/1');
options.agent = new http.Agent({ maxSockets: 1 });
for (var i = 0; i < 25000; ++i) http.get(options);
Before:
$ time out/Release/node tmp/http-chunked-client.js
real 16m40.411s
user 0m9.184s
sys 0m0.604s
After:
$ time out/Release/node tmp/http-chunked-client.js
real 0m5.386s
user 0m2.768s
sys 0m0.728s
That's still a 185x speed-up.
Fixes #4415.
Ben Noordhuis [Wed, 19 Dec 2012 13:09:10 +0000 (14:09 +0100)]
bench: use res.end() for chunked encoding
Use res.end() for the final chunk so we can benchmark the 'hot path' shortcut
in lib/http.js that packs the headers and the body into a single packet.
isaacs [Tue, 18 Dec 2012 16:43:45 +0000 (08:43 -0800)]
blog: post about streams2 feature
Nicolas Chambrier [Mon, 17 Dec 2012 15:53:52 +0000 (16:53 +0100)]
doc: add Google+ French community
Ben Noordhuis [Mon, 17 Dec 2012 11:05:14 +0000 (12:05 +0100)]
install: fix openbsd man page location
Man pages go into $PREFIX/man on OpenBSD, not $PREFIX/share/man.
Brian White [Tue, 7 Aug 2012 00:42:13 +0000 (20:42 -0400)]
http: bubble up parser errors to ClientRequest
Make parser errors bubble up to the ClientRequest instead of the underlying
net.Socket object.
This is a back-port of commit c78678b from the master branch.
Fixes #3776.
isaacs [Thu, 13 Dec 2012 19:50:47 +0000 (11:50 -0800)]
blog: Post for 0.8.16
isaacs [Thu, 13 Dec 2012 19:50:35 +0000 (11:50 -0800)]
Now working on 0.8.17
isaacs [Thu, 13 Dec 2012 19:50:15 +0000 (11:50 -0800)]
Merge commit 'v0.8.16' into v0.8
isaacs [Wed, 12 Dec 2012 22:44:54 +0000 (14:44 -0800)]
2012.12.13, Version 0.8.16 (Stable)
* npm: Upgrade to 1.1.69
* fs: fix WriteStream/ReadStream fd leaks (Ben Noordhuis)
* crypto: fix leak in GetPeerCertificate (Fedor Indutny)
* buffer: Don't double-negate numeric buffer arg (Trevor Norris)
* net: More accurate IP address validation and IPv6 dotted notation. (Joshua Erickson)
isaacs [Wed, 12 Dec 2012 22:41:28 +0000 (14:41 -0800)]
npm: Upgrade to v1.1.69
Ben Noordhuis [Tue, 11 Dec 2012 15:01:58 +0000 (16:01 +0100)]
fs: fix WriteStream fd leak
Close the file descriptor when a write operation fails.
Fixes #4387.
Ben Noordhuis [Tue, 11 Dec 2012 13:45:45 +0000 (14:45 +0100)]
fs: fix ReadStream fd leak
Close the file descriptor when a read operation fails.
Fixes #4387.
Ben Noordhuis [Tue, 31 Jul 2012 15:47:53 +0000 (17:47 +0200)]
test: add common.mustCall function
Verifies that the callback gets invoked <n> times during the lifetime of the
test script.
This is a back-port of commit d0e6c3f from the master branch.
isaacs [Tue, 11 Dec 2012 00:56:49 +0000 (16:56 -0800)]
doc: Add nodejstr to community page
Ben Noordhuis [Thu, 6 Dec 2012 20:58:29 +0000 (21:58 +0100)]
doc: remove broken require.extensions example
Fixes #4384.
Fedor Indutny [Sat, 1 Dec 2012 18:26:40 +0000 (22:26 +0400)]
crypto: fix leak in GetPeerCertificate
Ben Noordhuis [Sun, 2 Dec 2012 02:01:17 +0000 (03:01 +0100)]
tools: fix platform detection on freebsd, sunos
This is a back-port of upstream gyp commit r1482.
Ben Noordhuis [Sun, 2 Dec 2012 01:54:14 +0000 (02:54 +0100)]
install: fix freebsd man page location
Man pages go into $PREFIX/man on FreeBSD, not $PREFIX/share/man.
Lewuathe [Fri, 30 Nov 2012 01:13:52 +0000 (10:13 +0900)]
Fix dropped html tag
Trevor Norris [Fri, 30 Nov 2012 21:02:39 +0000 (13:02 -0800)]
buffer: Don't double-negate numeric buffer arg
Fix #4331
Using double negate forces values into 32bit space. Because of this
Math.ceil needs to be used. Since NaN comparisons are always false, use
that to our advantage to return 0 if it is.
Also added two tests to verify the changes.
Kyle Robinson Young [Thu, 29 Nov 2012 18:59:12 +0000 (10:59 -0800)]
website: typo fixes
Joshua Erickson [Tue, 9 Oct 2012 00:51:59 +0000 (19:51 -0500)]
net: More accurate IP address validation and IPv6 dotted notation.
* Added isIP method to make use of inet_pton to cares_wrap.cc
* Modified net.isIP() to make use of new C++ isIP method.
* Added new tests to test-net-isip.js.
This is a back-port of commit fb6377e from the master branch.
Ryunosuke SATO [Tue, 27 Nov 2012 14:52:49 +0000 (23:52 +0900)]
doc: Fix missing link target to 'https.request()'
isaacs [Mon, 26 Nov 2012 17:18:51 +0000 (09:18 -0800)]
blog: Post for v0.8.15
isaacs [Mon, 26 Nov 2012 17:18:33 +0000 (09:18 -0800)]
Now working on 0.8.16
isaacs [Mon, 26 Nov 2012 17:12:52 +0000 (09:12 -0800)]
Merge branch 'v0.8.15-release' into v0.8
isaacs [Thu, 25 Oct 2012 20:49:32 +0000 (13:49 -0700)]
2012.11.26, Version 0.8.15 (Stable)
* npm: Upgrade to 1.1.66 (isaacs)
* linux: use /proc/cpuinfo for CPU frequency (Ben Noordhuis)
* windows: map WSAESHUTDOWN to UV_EPIPE (Ben Noordhuis)
* windows: map ERROR_GEN_FAILURE to UV_EIO (Bert Belder)
* unix: do not set environ unless one is provided (Charlie McConnell)
* domains: don't crash if domain is set to null (Bert Belder)
* windows: fix the x64 debug build (Bert Belder)
* net, tls: fix connect() resource leak (Ben Noordhuis)
Ben Noordhuis [Mon, 26 Nov 2012 00:50:04 +0000 (01:50 +0100)]
tls: fix tls.connect() resource leak
The 'secureConnect' event listener was attached with .on(), which blocked it
from getting garbage collected. Use .once() instead.
Fixes #4308.
Ben Noordhuis [Sat, 24 Nov 2012 14:24:36 +0000 (15:24 +0100)]
net: fix net.connect() resource leak
The 'connect' event listener was attached with .on(), which blocked it from
getting garbage collected. Use .once() instead.
Fixes #4308.
isaacs [Fri, 23 Nov 2012 20:54:33 +0000 (12:54 -0800)]
blog: Don't filter out non-latest release notes
This causes too many people to ask me why it's broken.
isaacs [Fri, 23 Nov 2012 20:51:23 +0000 (12:51 -0800)]
npm: Upgrade to 1.1.66
Trevor Norris [Thu, 22 Nov 2012 17:30:18 +0000 (09:30 -0800)]
doc: Add lines about additonal uses of Buffer
That Buffers can be used with Typed Array Views and DataViews. Included
are a couple simple examples.
Closes #4257.
Ben Noordhuis [Tue, 20 Nov 2012 18:21:48 +0000 (19:21 +0100)]
deps: upgrade libuv to 5639b2f
Bert Belder [Thu, 8 Nov 2012 23:49:24 +0000 (00:49 +0100)]
domains: don't crash if domain is set to null
Closes #4256
Bert Belder [Thu, 8 Nov 2012 22:54:53 +0000 (23:54 +0100)]
windows: fix the x64 debug build
Francois Marier [Mon, 29 Oct 2012 03:13:10 +0000 (16:13 +1300)]
doc: remove duplicate set of options
Francois Marier [Mon, 29 Oct 2012 03:16:40 +0000 (16:16 +1300)]
doc: reflect hostname v. host preference in examples
The documentation for http.request and https.request states that
`hostname` is preferred over `host` so the code examples should
use that option name.
isaacs [Thu, 25 Oct 2012 21:42:47 +0000 (14:42 -0700)]
blog: Correct shasums for v0.8.14
isaacs [Thu, 25 Oct 2012 21:17:43 +0000 (14:17 -0700)]
blog: Post for v0.8.14
isaacs [Thu, 25 Oct 2012 21:16:53 +0000 (14:16 -0700)]
Now working on 0.8.15
isaacs [Thu, 25 Oct 2012 21:15:27 +0000 (14:15 -0700)]
Merge branch 'v0.8.14-release' into v0.8
isaacs [Thu, 25 Oct 2012 20:49:32 +0000 (13:49 -0700)]
2012.10.25, Version 0.8.14 (Stable)
* events: Don't clobber pre-existing _events obj in EE ctor (isaacs)
isaacs [Thu, 25 Oct 2012 20:37:08 +0000 (13:37 -0700)]
events: Don't clobber pre-existing _events obj in EE ctor
isaacs [Thu, 25 Oct 2012 19:53:03 +0000 (12:53 -0700)]
blog: Post for v0.8.13
isaacs [Thu, 25 Oct 2012 19:52:46 +0000 (12:52 -0700)]
Now working on 0.8.14
isaacs [Thu, 25 Oct 2012 19:52:26 +0000 (12:52 -0700)]
Merge branch 'v0.8.13-release' into v0.8
isaacs [Thu, 25 Oct 2012 18:32:31 +0000 (11:32 -0700)]
2012.10.25, Version 0.8.13 (Stable)
* V8: Upgrade to 3.11.10.25
* npm: Upgrade to 1.1.65
* url: parse hostnames that start with - or _ (Ben Noordhuis)
* repl: Fix Windows 8 terminal issue (Bert Belder)
* typed arrays: use signed char for signed int8s (Aaron Jacobs)
* crypto: fix bugs in DiffieHellman (Ben Noordhuis)
* configure: turn on VFPv3 on ARMv7 (Ben Noordhuis)
* Re-enable OpenSSL UI for entering passphrases via tty (Ben Noordhuis)
* repl: ensure each REPL instance gets its own "context" (Nathan Rajlich)
isaacs [Wed, 24 Oct 2012 16:21:39 +0000 (09:21 -0700)]
V8 build: 'echo -n' considered harmful
isaacs [Thu, 25 Oct 2012 16:15:35 +0000 (09:15 -0700)]
npm: Upgrade to 1.1.65
isaacs [Thu, 25 Oct 2012 14:48:36 +0000 (07:48 -0700)]
events: Make the EventEmitter class monomorphic
Always add domain, _events, and _maxListeners properties, set to the
default values at first.
Leads to a very very slight perf improvement when using setMaxListeners,
or dealing with a lot of EE objects that don't have any listeners.
Ben Noordhuis [Wed, 24 Oct 2012 22:52:15 +0000 (00:52 +0200)]
v8: remove optimization switches
Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi, we set
them globally in $(TOPLEVEL)/common.gypi.
Commit
29d12c73 accidentally reintroduced the switches again. In particular,
the 'cflags!': ['-O2','-Os'] section forced building V8 without any
optimizations, resulting in a steep (~66%) performance drop on some benchmarks.
Fixes #4191.
Ben Noordhuis [Wed, 24 Oct 2012 22:44:37 +0000 (00:44 +0200)]
build: add --unsafe-optimizations configure switch
Turns on -O3 and other optimizations that may produce buggy code with some
toolchains. Use at your own risk.
Ben Noordhuis [Tue, 23 Oct 2012 12:06:04 +0000 (14:06 +0200)]
url: parse hostnames that start with - or _
Allow hostnames like '-lovemonsterz.tumblr.com' and '_jabber._tcp.google.com'.
Fixes #4177.
isaacs [Wed, 24 Oct 2012 17:08:58 +0000 (10:08 -0700)]
blog: Post for v0.9.3 release
Bert Belder [Wed, 24 Oct 2012 00:42:57 +0000 (02:42 +0200)]
repl: call resume() after setRawMode()
Solves #4178, but does not fix the underlying issue
Olivier Lalonde [Tue, 23 Oct 2012 16:45:10 +0000 (00:45 +0800)]
doc: child_process: document uid and gid spawn() options
isaacs [Tue, 23 Oct 2012 18:38:09 +0000 (11:38 -0700)]
V8: Reapply patches
isaacs [Tue, 23 Oct 2012 18:35:27 +0000 (11:35 -0700)]
V8: Upgrade to 3.11.10.25
isaacs [Tue, 23 Oct 2012 18:34:46 +0000 (11:34 -0700)]
npm: Upgrade to 1.1.64
Ben Noordhuis [Tue, 23 Oct 2012 15:07:23 +0000 (17:07 +0200)]
test: add typed arrays regression test
Ensure that uint8 values >= 128 are correctly promoted to int8 <= -1.
Aaron Jacobs [Tue, 23 Oct 2012 05:43:51 +0000 (16:43 +1100)]
typed arrays: use `signed char` for signed int8s
The C standard allows plain `char` to be unsigned. The build environment
at Google trips this issue.
yangguo@chromium.org [Tue, 23 Oct 2012 13:04:05 +0000 (13:04 +0000)]
v8: use correct timezone information on Solaris
`timezone` variable contains the difference, in seconds, between UTC and
local standard time (see `man 3 localtime` on Solaris).
Call to `tzset` is required to apply contents of `TZ` variable to
`timezone` variable.
BUG=v8:2064
Review URL: https://chromiumcodereview.appspot.com/
10967066
Patch from Maciej Małecki <me@mmalecki.com>.
This is a back-port of upstream commit r12802.
Ben Noordhuis [Sun, 21 Oct 2012 22:18:14 +0000 (00:18 +0200)]
crypto: fix DH use-after-free and memory leak
Fix a use-after-free bug and a memory leak in the error path of
DiffieHellman::ComputeSecret().
* the BIGNUM key was used after being freed with BN_free().
* the output buffer was not freed
Ben Noordhuis [Sun, 21 Oct 2012 22:03:47 +0000 (00:03 +0200)]
crypto: fix DH 1 byte buffer underflow
Passing a bad key to DiffieHellman::ComputeSecret() made it zero the byte
before the heap allocated buffer due to an erroneous size calculation.
Ben Noordhuis [Sun, 21 Oct 2012 21:55:52 +0000 (23:55 +0200)]
test: add diffie-hellman regression test
Exercises the error path in DiffieHellman::ComputeSecret() in src/node_crypto.cc
isaacs [Tue, 16 Oct 2012 17:59:23 +0000 (10:59 -0700)]
doc: Typo. s/arguemnt/argument/
Nathan Rajlich [Mon, 15 Oct 2012 21:51:43 +0000 (14:51 -0700)]
test: disable global variable check for "test-repl-options.js"
Previously, the "global" mode of REPLs was broken when created after another
non-global REPL (they would end up sharing the same context). Now that "global"
mode is fixed for that case (
b1e78cef097c682ed63528ad7efe294b18a9fb1d), this
test case gets its global scope modified with "module" and other REPL-specific
properties, so disable the global check.
Ben Noordhuis [Wed, 19 Sep 2012 12:37:08 +0000 (14:37 +0200)]
configure: turn on VFPv3 on ARMv7
Fixes a V8 build error caused by missing arm_fpu and arm_neon settings.
This is a back-port of commit bbf6b4e from the master branch.
Fixes #4142.
Ben Noordhuis [Mon, 15 Oct 2012 21:40:15 +0000 (23:40 +0200)]
Revert "Disable OpenSSL UI"
This reverts commit
1c88c3b3b56c6047180e116c5614dad2b13995f9.
It breaks the "read a password from stdin" functionality that OpenSSL provides.
Fixes #4059, #4143.
Conflicts:
deps/openssl/openssl.gyp
Jan Lehnardt [Sun, 14 Oct 2012 12:44:06 +0000 (14:44 +0200)]
docs: fix copy and paste error
Ben Noordhuis [Fri, 12 Oct 2012 13:27:47 +0000 (15:27 +0200)]
doc: rectify http.ClientResponse close/end events
* The 'close' event doesn't emit an error object.
* It's possible for a 'close' event to come after an 'end' event, contrary to
what the documentation said.
Fixes #4116.
Nathan Rajlich [Fri, 12 Oct 2012 23:34:36 +0000 (16:34 -0700)]
repl: ensure each REPL instance gets its own "context"
Before there was this weird module-scoped "context" variable which seemingly
shared the "context" of subsequent REPL instances, unless ".clear" was invoked
inside the REPL. To be proper, we need to ensure that each REPL gets its own
"context" object. I literally don't know why this "sharing" behavior was in place
before, but it was just plain wrong.
Max Ogden [Fri, 12 Oct 2012 18:31:59 +0000 (21:31 +0300)]
doc: set default background color to white
isaacs [Fri, 12 Oct 2012 15:57:25 +0000 (08:57 -0700)]
Now working on 0.8.13
isaacs [Fri, 12 Oct 2012 15:57:12 +0000 (08:57 -0700)]
blog: Post about 0.8.12
isaacs [Fri, 12 Oct 2012 15:56:53 +0000 (08:56 -0700)]
Merge branch 'v0.8.12-release' into v0.8
isaacs [Thu, 11 Oct 2012 21:22:13 +0000 (14:22 -0700)]
2012.10.12, Version 0.8.12 (Stable)
* npm: Upgrade to 1.1.63
* crypto: Reduce stability index to 2-Unstable (isaacs)
* windows: fix handle leak in uv_fs_utime (Bert Belder)
* windows: fix application crashed popup in debug version (Bert Belder)
* buffer: report proper retained size in profiler (Ben Noordhuis)
* buffer: fix byteLength with UTF-16LE (koichik)
* repl: make "end of input" JSON.parse() errors throw in the REPL (Nathan Rajlich)
* repl: make invalid RegExp modifiers throw in the REPL (Nathan Rajlich)
* http: handle multiple Proxy-Authenticate values (Willi Eggeling)
isaacs [Thu, 11 Oct 2012 21:11:38 +0000 (14:11 -0700)]
npm: Upgrade to 1.1.63
isaacs [Thu, 11 Oct 2012 15:32:36 +0000 (08:32 -0700)]
doc: Reduce crypto stability to 2-Unstable
Ben Noordhuis [Wed, 10 Oct 2012 22:44:49 +0000 (00:44 +0200)]
buffer: report proper retained size in profiler
Make buffers report the proper retained size in heap snapshots.
Before this commit, Buffer objects would show up in the heap profiler as being
only a few hundred bytes large, even if the actual buffer was many megabytes.
Bert Belder [Wed, 10 Oct 2012 15:18:48 +0000 (17:18 +0200)]
uv: upgrade to b0c1a38
Ben Noordhuis [Sun, 7 Oct 2012 22:00:30 +0000 (00:00 +0200)]
crypto: fix -Wtautological-compare warning