isaacs [Thu, 26 Jul 2012 18:58:03 +0000 (11:58 -0700)]
Merge remote-tracking branch 'ry/v0.8'
Conflicts:
AUTHORS
ChangeLog
src/node_version.h
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 16:34:03 +0000 (18:34 +0200)]
Merge branch 'v0.8'
Conflicts:
lib/tls.js
Timothy J Fontaine [Fri, 13 Jul 2012 19:11:38 +0000 (15:11 -0400)]
add unref/ref tests for socket/server/timers
Timothy J Fontaine [Fri, 13 Jul 2012 19:08:32 +0000 (15:08 -0400)]
add docs for socket/server/timer unref and ref
Timothy J Fontaine [Fri, 13 Jul 2012 02:19:01 +0000 (22:19 -0400)]
add ref/unref to setTimeout timers
Timothy J Fontaine [Fri, 13 Jul 2012 01:26:04 +0000 (21:26 -0400)]
ref/unref for net.Socket net.Server dgram.Socket
Timothy J Fontaine [Fri, 13 Jul 2012 01:25:36 +0000 (21:25 -0400)]
export HandleWrap Unref Ref in tcp/udp/timer/pipe
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.
isaacs [Fri, 20 Jul 2012 18:51:38 +0000 (11:51 -0700)]
Blog post about 0.9.0
isaacs [Fri, 20 Jul 2012 18:51:08 +0000 (11:51 -0700)]
Now working on 0.9.0
isaacs [Fri, 20 Jul 2012 18:50:47 +0000 (11:50 -0700)]
Merge branch 'v0.9.0-release'
isaacs [Thu, 19 Jul 2012 21:27:31 +0000 (14:27 -0700)]
2012.07.20, Version 0.9.0 (Unstable)
* punycode: update to v1.1.1 (Mathias Bynens)
* c-ares: upgrade to 1.9.0 (Saúl Ibarra Corretgé)
* dns: ignore rogue DNS servers reported by windows (Saúl Ibarra Corretgé)
* unix: speed up uv_async_send() (Ben Noordhuis)
* darwin: get cpu model correctly on mac (Xidorn Quan)
* nextTick: Handle tick callbacks before any other I/O (isaacs)
* Enable color customization of `util.inspect` (Pavel Lang)
* tls: Speed and memory improvements (Fedor Indutny)
* readline: Use one history item for reentered line (Vladimir Beloborodov)
* Fix #3521 Make process.env more like a regular Object (isaacs)
isaacs [Fri, 20 Jul 2012 17:01:46 +0000 (10:01 -0700)]
Fedor Indutny [Fri, 20 Jul 2012 18:07:16 +0000 (22:07 +0400)]
tls: pass linting
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 16:51:02 +0000 (20:51 +0400)]
Revert "http/https: pass request to .createConnection()"
This reverts commit
53716eb0b5338999761d115fad9d392077836e63.
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 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 [Fri, 20 Jul 2012 16:47:05 +0000 (20:47 +0400)]
tls: localhost is valid against identity-check
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)
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:06:46 +0000 (13:06 -0700)]
Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
src/node_version.h
isaacs [Thu, 19 Jul 2012 20:03:28 +0000 (13:03 -0700)]
npm: Upgrade to 1.1.44
isaacs [Tue, 17 Jul 2012 15:17:34 +0000 (08:17 -0700)]
nextTick: Preserve depth in error/reentry cases
When there is an error that is thrown in a nextTick function, which is
then handled by a domain or other process.on('uncaughtException')
handler, if the error handler *also* adds a nextTick and triggers
multiple MakeCallback events (ie, by doing some I/O), then it would
skip over the tickDepth check, resulting in an infinite spin.
Solution: Check the tickDepth at the start of the tick processing, and
preserve it when we are cleaning up in the error case or exiting early
in the re-entry case.
In order to make sure that tick callbacks are *eventually* handled, any
callback triggered by the underlying spinner in libuv will be processed
as if starting from a tick depth of 0.
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 [Sat, 14 Jul 2012 01:11:38 +0000 (18:11 -0700)]
doc: nextTick semantics and justification
isaacs [Mon, 16 Jul 2012 18:45:12 +0000 (11:45 -0700)]
nextTick: explicitly no-op when _exiting
isaacs [Sat, 14 Jul 2012 01:00:49 +0000 (18:00 -0700)]
nextTick: Handle tick callbacks after each tick
isaacs [Tue, 17 Jul 2012 00:29:06 +0000 (17:29 -0700)]
Move MakeCallback to JS
isaacs [Tue, 17 Jul 2012 01:35:07 +0000 (18:35 -0700)]
Merge remote-tracking branch 'ry/v0.8'
Pavel Lang [Mon, 16 Jul 2012 21:50:15 +0000 (23:50 +0200)]
Enable color customization of `util.inspect`
This is rewrite of #3701 and #3603 before.
This patch introduce `util.inspect.styles`
and `util.inspect.colors` objects, which enables customization
of color sequences.
isaacs [Mon, 16 Jul 2012 23:38:11 +0000 (16:38 -0700)]
domain: Fix stack leak on error
isaacs [Sat, 14 Jul 2012 00:28:49 +0000 (17:28 -0700)]
test-eio-limit: Remove confusing broken incorrect test
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:18:39 +0000 (12:18 -0700)]
Merge remote-tracking branch 'ry/v0.8'
Conflicts:
deps/npm
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 [Thu, 12 Jul 2012 00:54:44 +0000 (17:54 -0700)]
npm: upgrade to 1.1.39
Fix #3616
isaacs [Thu, 12 Jul 2012 00:46:28 +0000 (17:46 -0700)]
lint
isaacs [Thu, 12 Jul 2012 00:38:11 +0000 (17:38 -0700)]
Merge remote-tracking branch 'ry/v0.8' into v0.8-merge
Conflicts:
src/node_version.h
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)
isaacs [Tue, 10 Jul 2012 23:16:43 +0000 (16:16 -0700)]
.gitignore: Don't ignore node_modules (breaks npm)
isaacs [Tue, 10 Jul 2012 23:16:25 +0000 (16:16 -0700)]
npm: Upgrade to 1.1.37
Shigeki Ohtsu [Tue, 10 Jul 2012 17:39:41 +0000 (02:39 +0900)]
timer: change new Date to Date.now for performance
Speeds up benchmark/settimeout.js by about 30%.
isaacs [Tue, 10 Jul 2012 00:43:02 +0000 (17:43 -0700)]
build: Regenerate docs for tarball and releases
Related: https://twitter.com/kapeli/status/
222477400880070658