Ben Noordhuis [Sat, 4 Aug 2012 00:18:16 +0000 (02:18 +0200)]
installer: honor --without-npm, default install path
* honor the --without-waf and --without-npm configure switches
* a small logic bug made the installer script install to $PWD instead of
/usr/local if --prefix= was not passed to configure
Bert Belder [Fri, 3 Aug 2012 15:11:08 +0000 (17:11 +0200)]
net: make pause work with connecting sockets
This fixes the problem that calling pause() on a socket would not
actually prevent 'data' events from being emitted. It also replaces
the existing test by a more elaborate one.
Ref: #3118
isaacs [Thu, 2 Aug 2012 22:00:57 +0000 (15:00 -0700)]
blog: Fix date on 0.8.5 release
isaacs [Thu, 2 Aug 2012 21:59:47 +0000 (14:59 -0700)]
Blog post about 0.8.5
isaacs [Thu, 2 Aug 2012 21:58:15 +0000 (14:58 -0700)]
Now working on 0.8.6
isaacs [Thu, 2 Aug 2012 21:57:34 +0000 (14:57 -0700)]
Merge branch 'v0.8.5-release' into v0.8
isaacs [Thu, 2 Aug 2012 15:12:22 +0000 (08:12 -0700)]
2012.08.02, Version 0.8.5 (Stable)
* node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)
* fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)
* fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)
* installer: don't assume bash is installed (Ben Noordhuis)
* Report errors properly from --eval and stdin (isaacs)
* assert: fix throws() throws an error without message property (koichik)
* cluster: fix libuv assert in net.listen() (Ben Noordhuis)
* build: always link sunos builds with libumem (Trent Mick)
* build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)
* https: Use host header as effective servername (isaacs)
* sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)
* linux: fix 'two watchers, one path' segfault (Ben Noordhuis)
* windows: fix memory leaks in many fs functions (Bert Belder)
* windows: don't allow directories to be opened for writing/appending (Bert Belder)
* windows: make fork() work even when not all stdio handles are valid (Bert Belder)
* windows: make unlink() not remove mount points, and improve performance (Bert Belder)
* build: Sign pkg installer for OS X (isaacs)
isaacs [Thu, 2 Aug 2012 20:35:41 +0000 (13:35 -0700)]
build: Sign pkg installer for OS X
This makes the installer work on Mountain Lion.
Ben Noordhuis [Thu, 2 Aug 2012 15:47:33 +0000 (17:47 +0200)]
doc: improve cluster.workers documentation
isaacs [Thu, 2 Aug 2012 15:11:09 +0000 (08:11 -0700)]
test: stdin error messages
isaacs [Thu, 2 Aug 2012 02:10:42 +0000 (19:10 -0700)]
npm: Upgrade to 1.1.46
Ben Noordhuis [Wed, 1 Aug 2012 23:06:31 +0000 (01:06 +0200)]
installer: fix cross-compile installs
The old installer was a JS script, which didn't work if node had been
cross-compiled for another architecture. Replace it with a python script.
Fixes #3807.
Ben Noordhuis [Thu, 2 Aug 2012 11:37:02 +0000 (13:37 +0200)]
net: fix .listen({fd:0})
Ben Noordhuis [Thu, 2 Aug 2012 10:11:35 +0000 (12:11 +0200)]
deps: remove openssl apps and tests
Shrinks the tarball by a few hundred kilobytes and fixes a broken symlinks
issue on Windows.
Fixes #3813.
Ben Noordhuis [Wed, 1 Aug 2012 23:35:51 +0000 (01:35 +0200)]
node: tag Encode and friends NODE_EXTERN
Makes the symbols visible on Windows. They were already visible on Unices.
Fixes #3811.
Gil Pedersen [Wed, 1 Aug 2012 14:04:28 +0000 (16:04 +0200)]
fs: fix ReadStream / WriteStream missing callback
The (undocumented) callback argument to .destroy() was not called if the
stream was no longer readable / writable.
Ben Noordhuis [Wed, 1 Aug 2012 18:25:24 +0000 (20:25 +0200)]
fs: fix readFileSync("/proc/cpuinfo") regression
Don't use positional reads. Not all proc files support pread(), especially on
older linux kernels.
Fixes #3808.
isaacs [Wed, 1 Aug 2012 17:14:17 +0000 (10:14 -0700)]
blog: Remove all windows line endings once and for all
Dave Pacheco [Wed, 1 Aug 2012 17:04:27 +0000 (10:04 -0700)]
update profiling blog post to use shell redirection instead of -o
isaacs [Wed, 1 Aug 2012 17:11:30 +0000 (10:11 -0700)]
blog: Remove ^M chars from profiling-node-js blog post
Ben Noordhuis [Wed, 1 Aug 2012 11:36:56 +0000 (13:36 +0200)]
installer: don't assume bash is installed
Use `/bin/sh` instead of `bash` when running the relocate.sh script.
Bert Belder [Tue, 31 Jul 2012 23:42:36 +0000 (01:42 +0200)]
uv: upgrade to 6209fe5
Eugen Dueck [Tue, 31 Jul 2012 04:15:46 +0000 (13:15 +0900)]
doc: http: document res.write() `drain` return value
Bert Belder [Tue, 31 Jul 2012 22:52:37 +0000 (00:52 +0200)]
v8: don't show performance warnings when compiling with msvc
Patch sent upstream: http://codereview.chromium.org/
10829109/
Bert Belder [Tue, 31 Jul 2012 19:38:58 +0000 (21:38 +0200)]
docs: remove unused require from example
Closes GH-3801
Bert Belder [Tue, 31 Jul 2012 19:26:26 +0000 (21:26 +0200)]
uv: upgrade to 69c2ef8
Ben Noordhuis [Tue, 31 Jul 2012 11:45:16 +0000 (13:45 +0200)]
deps, tools: remove stray reject files
Ben Noordhuis [Tue, 31 Jul 2012 01:09:04 +0000 (03:09 +0200)]
doc: document child_process.fork() limitation
isaacs [Mon, 30 Jul 2012 18:01:50 +0000 (11:01 -0700)]
doc: Remove timeout arg in child_process.fork
Fix #3784
Shigeki Ohtsu [Mon, 30 Jul 2012 09:26:25 +0000 (18:26 +0900)]
doc: fix domains example
Need `utf8` encoding for JSON.parse and fix to avoid JSON.parse error when only
one argument is passed in domain.bind
isaacs [Sat, 28 Jul 2012 21:00:27 +0000 (14:00 -0700)]
Report errors properly from --eval and stdin
koichik [Sat, 24 Mar 2012 07:00:14 +0000 (16:00 +0900)]
assert: fix throws() throws an error without message property
Fixes #2893.
Ben Noordhuis [Sat, 28 Jul 2012 23:59:26 +0000 (01:59 +0200)]
cluster: fix libuv assert in net.listen()
Problem: calling `server.listen()` (no port) on a net.Server triggered the
following libuv assertion:
node: ../deps/uv/src/unix/stream.c:406: uv__write: Assertion `fd_to_send >= 0'
failed.
Cause: uv_tcp_t handles are lazily initialized. Omitting the port made the
handle get initialized even more lazily. Too lazily - it wasn't initialized
when the handle was sent over to the child process.
Solution: implicitly bind to a random port in listen() when the port number
is omitted, it forces the handle to initialize. This is not a change in
behavior, listen() has always been identical to listen(0).
Fixes #3325.
Ben Noordhuis [Sat, 28 Jul 2012 14:50:55 +0000 (16:50 +0200)]
deps: upgrade libuv to 4fe1916
Ben Noordhuis [Sat, 28 Jul 2012 12:10:10 +0000 (14:10 +0200)]
node: use variadic functions in ev-emul.h
Fixes #3786.
Trent Mick [Fri, 27 Jul 2012 17:56:40 +0000 (10:56 -0700)]
always link sunos builds with libumem
Adam Malcontenti-Wilson [Sat, 23 Jun 2012 01:39:10 +0000 (11:39 +1000)]
build: improve armv7 / hard-float detection
isaacs [Wed, 25 Jul 2012 19:00:25 +0000 (12:00 -0700)]
https: Use host header as effective servername
Nathan Rajlich [Wed, 25 Jul 2012 17:34:13 +0000 (10:34 -0700)]
assert: remove unnecessary use of __proto__
AssertionError already inherits from Error above using util.inherits(),
so this extra line was redundant.
test/simple/test-assert.js already tests for `instanceof`, and still passes.
isaacs [Wed, 25 Jul 2012 17:38:41 +0000 (10:38 -0700)]
Blog post for 0.8.4
isaacs [Wed, 25 Jul 2012 17:28:03 +0000 (10:28 -0700)]
Now working on v0.8.5
isaacs [Wed, 25 Jul 2012 17:26:03 +0000 (10:26 -0700)]
Merge branch 'v0.8.4-release' into v0.8
isaacs [Tue, 24 Jul 2012 23:19:08 +0000 (16:19 -0700)]
Fix #3761 build: Default to V=1
isaacs [Tue, 24 Jul 2012 23:04:40 +0000 (16:04 -0700)]
2012.07.25, Version 0.8.4 (Stable)
* V8: Upgrade to 3.11.10.17
* npm: Upgrade to 1.1.45
* net: fix Socket({ fd: 42 }) api (Ben Noordhuis)
* readline: Remove event listeners on close (isaacs)
* windows: correctly prep long path for fs.exists(Sync) (Bert Belder)
* debugger: wake up the event loop when a debugger command is dispatched (Peter Rybin)
* tls: verify server's identity (Fedor Indutny)
* net: ignore socket.setTimeout(Infinity or NaN) (Fedor Indutny)
isaacs [Wed, 25 Jul 2012 00:06:50 +0000 (17:06 -0700)]
Build: add jslintfix
isaacs [Wed, 25 Jul 2012 00:05:22 +0000 (17:05 -0700)]
net.js: lint
Ben Noordhuis [Tue, 17 Jul 2012 13:16:23 +0000 (15:16 +0200)]
net: fix Socket({ fd: 42 }) api
Make the implementation match the documentation. This should work:
var s = new net.Socket({ fd: 42, allowHalfOpen: true };
And now it does.
isaacs [Tue, 24 Jul 2012 03:44:12 +0000 (20:44 -0700)]
readline: Remove event listeners on close
Fix #3756
isaacs [Tue, 24 Jul 2012 21:19:50 +0000 (14:19 -0700)]
v8: Reapply floating patches
isaacs [Tue, 24 Jul 2012 21:18:47 +0000 (14:18 -0700)]
V8: Upgrade to 3.11.10.17
isaacs [Tue, 24 Jul 2012 19:34:13 +0000 (12:34 -0700)]
npm: Upgrade to 1.1.45
This includes node-gyp 0.6.1
Bert Belder [Mon, 23 Jul 2012 09:26:03 +0000 (11:26 +0200)]
windows: correctly prep long path for fs.exists(Sync)
Closes GH-3739
Peter Rybin [Tue, 3 Jul 2012 19:21:37 +0000 (23:21 +0400)]
debugger: wake up the event loop when a debugger command is dispatched
When the event loop was blocked in epoll / kqueue or similar, debugger
commands wouldn't be processed. This patch fixes that by adding an
uv_async handle which is triggered when a debugger command is
dispatched. The async handle's callback makes sure that V8 is entered.
Closes GH-3626
Closes GH-3718
Brian White [Mon, 23 Jul 2012 02:08:13 +0000 (23:08 -0300)]
http: remove duplicate assignments
Closes GH-3754
koichik [Sat, 21 Jul 2012 17:33:06 +0000 (02:33 +0900)]
doc: remove duplicate section
Fixes #3750.
Fedor Indutny [Fri, 20 Jul 2012 18:07:16 +0000 (22:07 +0400)]
tls: pass linting
Fedor Indutny [Fri, 20 Jul 2012 17:43:12 +0000 (21:43 +0400)]
tls: fix 'hostless' tls connection verification
And fix last failing tests
Fedor Indutny [Fri, 20 Jul 2012 17:10:23 +0000 (21:10 +0400)]
tls: revert accidental API change
socket.authorizationError should always be string. Also make sni test
pass.
Fedor Indutny [Fri, 20 Jul 2012 16:47:05 +0000 (20:47 +0400)]
tls: localhost is valid against identity-check
Fedor Indutny [Fri, 20 Jul 2012 16:51:02 +0000 (20:51 +0400)]
Revert "http/https: pass request to .createConnection()"
This reverts commit
53716eb0b5338999761d115fad9d392077836e63.
Fedor Indutny [Wed, 11 Jul 2012 19:54:20 +0000 (23:54 +0400)]
tls: veryify server's identity
Fedor Indutny [Wed, 11 Jul 2012 19:53:27 +0000 (23:53 +0400)]
http/https: pass request to .createConnection()
It's useful for passing some additional options of request object to the
underlying API
Fedor Indutny [Mon, 16 Jul 2012 17:41:26 +0000 (21:41 +0400)]
net: ignore socket.setTimeout(Infinity) (and NaN)
isaacs [Thu, 19 Jul 2012 20:03:28 +0000 (13:03 -0700)]
npm: Upgrade to 1.1.44
isaacs [Thu, 19 Jul 2012 17:20:44 +0000 (10:20 -0700)]
Blog post about v0.8.3
isaacs [Thu, 19 Jul 2012 17:19:45 +0000 (10:19 -0700)]
Now working on 0.8.4
isaacs [Thu, 19 Jul 2012 17:19:04 +0000 (10:19 -0700)]
Merge branch 'v0.8.3-release' into v0.8
isaacs [Tue, 17 Jul 2012 19:02:57 +0000 (12:02 -0700)]
2012.07.19, Version 0.8.3 (Stable)
* V8: upgrade to 3.11.10.15
* npm: Upgrade to 1.1.43
* net: fix net.Server.listen({fd:x}) error reporting (Ben Noordhuis)
* net: fix bogus errno reporting (Ben Noordhuis)
* build: Move npm shebang logic into an npm script (isaacs)
* build: fix add-on loading on freebsd (Ben Noordhuis)
* build: disable unsafe optimizations (Ben Noordhuis)
* build: fix spurious mksnapshot crashes for good (Ben Noordhuis)
* build: speed up genv8constants (Dave Pacheco)
* fs: make unwatchFile() remove a specific listener (Ben Noordhuis)
* domain: Remove first arg from intercepted fn (Toshihiro Nakamura)
* domain: Fix memory leak on error (isaacs)
* events: Fix memory leak from removeAllListeners (Nathan Rajlich)
* zlib: Fix memory leak in Unzip class. (isaacs)
* crypto: Fix memory leak in DecipherUpdate() (Ben Noordhuis)
isaacs [Thu, 19 Jul 2012 16:29:29 +0000 (09:29 -0700)]
uv: Upgrade to 94355e4
isaacs [Thu, 19 Jul 2012 16:29:29 +0000 (09:29 -0700)]
uv: Upgrade to 94355e4
Ben Noordhuis [Thu, 19 Jul 2012 16:20:34 +0000 (18:20 +0200)]
build: unbreak ustack on smartos
I disabled the -ffunction-sections and -fdata-sections switches in 202df30
because they're horribly buggy with some gcc/binutils combos.
However, it turns out that the dtrace/ustack post-processing tool requires
that V8 is compiled with said switches and was broken because of it.
This commit turns them on again on SunOS systems. Let's hope for the best.
Ben Noordhuis [Wed, 18 Jul 2012 22:08:35 +0000 (00:08 +0200)]
build: link with -rdynamic, not -Wl,--export-dynamic
The system linker on SunOS doesn't understand --export-dynamic.
Ben Noordhuis [Wed, 18 Jul 2012 21:26:23 +0000 (21:26 +0000)]
build: fix mksnapshot crash on sunos
Unconditionally compile V8 with -fno-strict-aliasing on all platforms.
gcc 4.5.2 on sunos generates bad code when -fstrict-aliasing is enabled, which
undoubtedly means that there are more buggy versions of gcc out there.
-fstrict-aliasing does not give a significant performance boost so let's just
disable it.
Fixes #3736.
Ben Noordhuis [Wed, 18 Jul 2012 12:23:39 +0000 (14:23 +0200)]
doc: build requires GNU make 3.81+
Ben Noordhuis [Wed, 18 Jul 2012 11:32:26 +0000 (13:32 +0200)]
node: make ev-emul.h compile with -Wextra -Werror
Explicitly cast double to int64_t, it was making add-ons that compile with
`-Wall -Wextra -Werror` fail to build.
Don't use fully variadic macros, gcc in uber-strict mode rejects them.
Ben Noordhuis [Wed, 18 Jul 2012 00:13:55 +0000 (02:13 +0200)]
doc: advise *strongly* against uncaughtException
isaacs [Wed, 18 Jul 2012 00:09:34 +0000 (17:09 -0700)]
uv: Upgrade to b49d6f7
Dave Pacheco [Tue, 17 Jul 2012 22:25:11 +0000 (15:25 -0700)]
tools: speed up genv8constants
genv8constants was much slower than necessary due to lack of pipe buffering.
isaacs [Tue, 17 Jul 2012 18:44:01 +0000 (11:44 -0700)]
v8: Reapply floating patches
isaacs [Tue, 17 Jul 2012 18:43:02 +0000 (11:43 -0700)]
v8: upgrade to 3.11.10.15
isaacs [Tue, 17 Jul 2012 18:40:13 +0000 (11:40 -0700)]
uv: Upgrade to a9f6f06
isaacs [Tue, 17 Jul 2012 18:37:39 +0000 (11:37 -0700)]
npm: Upgrade to 1.1.43
isaacs [Mon, 16 Jul 2012 23:38:11 +0000 (16:38 -0700)]
domain: Fix stack leak on error
Mike Morearty [Fri, 13 Jul 2012 21:18:52 +0000 (14:18 -0700)]
doc: fix bug in child_process.spawn() sample code
Bert Belder [Fri, 13 Jul 2012 23:43:34 +0000 (01:43 +0200)]
benchmark: add single process tls connection benchmark
George Shank [Sun, 24 Jun 2012 02:03:00 +0000 (20:03 -0600)]
doc: update 'Fork me at Github' ribbon
Replace 'Fork me at Github' ribbon with a new one fitting the website's color
scheme.
isaacs [Fri, 13 Jul 2012 19:08:10 +0000 (12:08 -0700)]
build: Move npm shebang logic into an npm script
This allows us to run npm's scripts/relocate.sh script whenever
necessary, if for example node has been 'make install'ed into one
folder, and then you wish to move it into another one.
isaacs [Fri, 13 Jul 2012 18:40:38 +0000 (11:40 -0700)]
npm: upgrade to 1.1.41
Ben Noordhuis [Thu, 12 Jul 2012 23:43:14 +0000 (01:43 +0200)]
build: fix add-on loading on freebsd
Link with -Wl,--export-dynamic, makes symbols from the node binary visible to
binary add-ons.
Fixes "undefined symbol: _ZN2v811HandleScopeC1Ev" errors when loading add-ons
on FreeBSD and likely other BSDs.
Fixes #3623.
Nathan Rajlich [Thu, 12 Jul 2012 22:40:45 +0000 (15:40 -0700)]
Revert "events: don't delete the listeners array in removeListener()"
This reverts commit
928ea564d16da47e615ddac627e0b4d4a40d8196.
Keeping the original Array instance in-place essentially causes a memory leak
on EventEmitters that use an infinite number of event names (an incrementing
counter, for example), which isn't an unreasonable thing to want to do.
Fixes #3702.
Ben Noordhuis [Thu, 12 Jul 2012 16:16:57 +0000 (18:16 +0200)]
net: fix net.Server.listen({fd:x}) error reporting
* don't assert when fd isn't an open file descriptor
* don't die with a ReferenceError when fd isn't a file descriptor
you can listen() on
Fixes #3699.
Ben Noordhuis [Thu, 12 Jul 2012 14:56:42 +0000 (16:56 +0200)]
net: fix bogus errno reporting
_listen2() emits the error on the next tick. The errno value may have changed
by then.
Ben Noordhuis [Thu, 12 Jul 2012 14:29:43 +0000 (16:29 +0200)]
build: partially fix configure on ARM
V8 on ARM requires that armv7 is set. We don't have a good way to detect the
CPU model right now so we pick a default and hope that it works okay for the
majority of people.
Non-scientific sampling - the ARM hardware I have lying around the house -
suggests that ARMv5 and ARMv6 are still most common so armv7=0 it is.
This obviously needs to be revisited sometime in the future.
Ben Noordhuis [Thu, 12 Jul 2012 13:42:44 +0000 (15:42 +0200)]
build: disable unsafe optimizations
Compile at -O2 and disable optimizations that trigger gcc bugs.
Some people still reported mksnapshot crashes after commit b40f813 ("build: fix
spurious mksnapshot crashes for good" - so much for that).
Average performance of the -O2 binary is on par with the -O3 binary. Variance
on the http_simple bytes/8 benchmark appears to be slightly greater but small
enough that the possibly of it being noise cannot be excluded.
The new binary very slightly but consistently outperforms the -O3 binary (by
about 0.5%) on the mostly CPU-bound bytes/102400 benchmark. That could be an
artifact of the system I benchmarked it on, a Core 2 Duo with a puny 32 kB of
L1 instruction cache. The smaller binary seems to play nicer with the cache.
Bert Belder [Thu, 12 Jul 2012 01:30:04 +0000 (03:30 +0200)]
Merge branch 'v0.6' into v0.8
isaacs [Wed, 11 Jul 2012 17:15:03 +0000 (10:15 -0700)]
Now working on 0.6.21
Philipp Hagemeister [Tue, 10 Jul 2012 14:50:49 +0000 (16:50 +0200)]
tools: fix shebang in tools/doc/generate.js
Ben Noordhuis [Wed, 11 Jul 2012 01:19:12 +0000 (03:19 +0200)]
build: fix spurious mksnapshot crashes for good
A variety of gcc bugs made mksnapshot crash with either a segmentation fault
or a 'pure virtual method callled' run-time error.
After much wailing and gnashing of teeth I managed to deduce that the bugs
show up when:
1. gcc 4.5.2 for i386-pc-solaris2.11 is used and -fstrict-aliasing is
enabled, or
2. gcc version 4.4.6 for x86_64-redhat-linux is used and
-ffunction-sections -finline-functions at -O2 or higher is enabled
Therefore, disable -ffunction-sections and -fdata-sections unconditionally
and disable -fstrict-aliasing only on Solaris.
The -ffunction-sections and -fdata-sections switches were nonsense anyway
because we don't link with -Wl,--gc-sections.
isaacs [Wed, 11 Jul 2012 00:01:30 +0000 (17:01 -0700)]
Blog post for v0.6.20
isaacs [Tue, 10 Jul 2012 23:25:12 +0000 (16:25 -0700)]
2012.07.10 Version 0.6.20 (maintenance)
* npm: Upgrade to 1.1.37 (isaacs)
* benchmark: Backport improvements made in master (isaacs)
* build: always link with -lz (Trent Mick)
* core: use proper #include directives (Ben Noordhuis)
* cluster: don't silently drop messages when the write queue gets big (Bert Belder)
* windows: don't print error when GetConsoleTitleW returns an empty string (Bert Belder)