Ryan [Sat, 5 Sep 2009 12:47:56 +0000 (14:47 +0200)]
bump version
Ryan [Sat, 5 Sep 2009 12:13:06 +0000 (14:13 +0200)]
Hack for compiling on Snow Leopard.
I don't have access to this OS to fix the issue properly, so for the moment
I'm reverting back to 32bit build on Darwin. We changed to native 64bit in
8ddf930901c03a0a6c03b8da22da6f7b35f445af.
Thanks to Johan Dahlberg and Tim Caswell for reporting and debugging this.
Ryan [Sat, 5 Sep 2009 12:32:19 +0000 (14:32 +0200)]
Small change to website index.html
Ryan [Fri, 4 Sep 2009 15:35:38 +0000 (17:35 +0200)]
Bugfix: Trap exceptions in URIParser.
A user was able to crash chat.tinyclouds.org by sending it a malformed URL!
Not good.
Ryan [Fri, 4 Sep 2009 10:35:30 +0000 (12:35 +0200)]
bump version
Ryan [Fri, 4 Sep 2009 10:15:21 +0000 (12:15 +0200)]
Fix slowness in debug run of test-tcp-many-clients
I'm not sure what is actually causing
node_g test/mjsunit/test-tcp-many-clients.js
to run slowly, but I traced the problem to
afd9e714d3937288de51116a45234c1e86a9444f.
Somehow it has to do with promoting the compilation of src/util.js. That
change wasn't actually intended to be included in afd9e7 commit anyway, so
I'm reverting it here.
Ryan [Fri, 4 Sep 2009 09:46:56 +0000 (11:46 +0200)]
Upgrade evcom - disable EPIPE error output.
Ryan [Fri, 4 Sep 2009 09:46:31 +0000 (11:46 +0200)]
Add test-mkdir-rmdir.js
Ryan [Thu, 3 Sep 2009 19:59:31 +0000 (21:59 +0200)]
Sort files in readdir test.
Ryan [Thu, 3 Sep 2009 19:57:15 +0000 (21:57 +0200)]
Add node.fs.mkdir()
Ryan [Thu, 3 Sep 2009 19:29:20 +0000 (21:29 +0200)]
Add node.fs.readdir()
Ryan [Tue, 25 Aug 2009 00:29:45 +0000 (02:29 +0200)]
Clean up eio wrappers. Create EIOPromise.
Ryan [Thu, 3 Sep 2009 15:21:08 +0000 (17:21 +0200)]
Clean up text on website.
Ryan [Thu, 3 Sep 2009 14:01:45 +0000 (16:01 +0200)]
Asyncly do getaddrinfo() on Apple.
Ryan [Thu, 3 Sep 2009 13:59:48 +0000 (15:59 +0200)]
Upgrade libeio, increase xthread stacksize to 64kb.
64kb seems to be the magic number for getaddrinfo() to work on Macintosh.
Ryan [Thu, 3 Sep 2009 13:00:06 +0000 (15:00 +0200)]
Add extension API documentation
Ryan [Thu, 3 Sep 2009 08:38:49 +0000 (10:38 +0200)]
Add stack to promise.wait().
The problem was that if promise A was waiting and promise B was created and
then also told to wait (from some callback coming off the event loop), and
then promise A finished, promise B's wait would return. Promise A's wait
would not return until promise B was finished. This is incorrect.
To solve this issue properly, one probably needs to allocate separate
execution stacks. I use, instead, Poor Man's Coroutines. We continue to use
the main execution stack and force promises created most recently to return
first.
That is even if Promise A finishes first, neither wait() returns. Not until
Promise B finishes, will its wait() return. After that is complete, Promise
A's wait() will return.
This introduces the problem of growing the "wait stack" infinitely. Thus
I've added a strong warning to the documentation only to use this operation
sparingly. require() and include() seem to be the proper use case for such a
thing: they are called usually at program start up - they don't take too
long to finish and they won't be called so often.
Let's experiment with this stop-gap. If the infinite promise stack becomes a
problem for many, then I will remove promise.wait() entirely or perhaps only
use it for thread pool events.
Ryan [Wed, 2 Sep 2009 18:19:52 +0000 (20:19 +0200)]
Build natively on x64.
Had to add some waf hackery to override V8's architecture choice. They
probably have a reason for defaulting still to IA32, but all tests are
passing for me, and it makes it easier on users-and I think chrome is using
x64 builds too. So let's go for it!
Ryan [Wed, 2 Sep 2009 18:18:50 +0000 (20:18 +0200)]
Add limits.h to src/node.cc for PATH_MAX
Ryan [Wed, 2 Sep 2009 09:13:46 +0000 (11:13 +0200)]
Upgrade V8 to 1.3.9
Ryan [Tue, 1 Sep 2009 13:43:56 +0000 (15:43 +0200)]
Set module.loaded=true for dll modules.
Ryan [Tue, 1 Sep 2009 13:28:10 +0000 (15:28 +0200)]
Remove --lib option since there is no more libnode
Ryan [Tue, 1 Sep 2009 12:15:29 +0000 (14:15 +0200)]
Revert static library build.
Not necessary to build dll modules after all.
Michael Carter [Tue, 1 Sep 2009 09:39:30 +0000 (11:39 +0200)]
Feature: add node.cwd() to access the current working directory.
Ryan [Mon, 31 Aug 2009 16:57:01 +0000 (18:57 +0200)]
Use Error exceptions where possible in net.cc and file.cc
Ryan [Mon, 31 Aug 2009 16:48:47 +0000 (18:48 +0200)]
Throw Error exceptions from node.dlopen()
Ryan [Mon, 31 Aug 2009 16:22:09 +0000 (18:22 +0200)]
Stack traces for mjsunit errors, better error reporting function.
The error reporting function tries to look at the "stack" element of the
exception.
Ryan [Mon, 31 Aug 2009 16:15:27 +0000 (18:15 +0200)]
Upgrade evcom; Add setTimeout method to node.tcp.Connection
The default timeout is 60 seconds, but it can now be changed.
evcom upgrade includes fixes to force_close.
Ryan [Mon, 31 Aug 2009 14:12:27 +0000 (16:12 +0200)]
Update test script to use new debug build's name: node_g
Ryan [Mon, 31 Aug 2009 09:14:34 +0000 (11:14 +0200)]
Build static executable.
- Fix a few errors with node.dlopen()
- Report errors to stderr (this should probably be a separate commit, but
whatever)
Ryan [Thu, 27 Aug 2009 00:15:11 +0000 (02:15 +0200)]
Add command line arguments for accessing build flags.
node --cflags
node --libs
At the expense of some WAF nastiness.
Ryan [Wed, 26 Aug 2009 23:11:16 +0000 (01:11 +0200)]
Add pkgconfig files to help with dll builds.
Ryan [Sat, 20 Jun 2009 13:07:10 +0000 (15:07 +0200)]
First attempt at node.dlopen
Compiled first working 'hello world' module with this config
Ryan [Thu, 27 Aug 2009 10:31:52 +0000 (12:31 +0200)]
bump version
Ryan [Thu, 27 Aug 2009 10:23:53 +0000 (12:23 +0200)]
Fix text on index.html
Ryan [Wed, 26 Aug 2009 20:11:51 +0000 (22:11 +0200)]
API: rename node.Process to node.ChildProcess
This is to avoid confusion with the global "process" object, especially for
the instances of node.Process.
Ryan [Wed, 26 Aug 2009 20:03:19 +0000 (22:03 +0200)]
lint
Ryan [Wed, 26 Aug 2009 16:51:04 +0000 (18:51 +0200)]
Replace onExit() with process.addListener("exit")
- Update documentation.
- Depreciation message for onExit().
Ryan [Wed, 26 Aug 2009 19:33:57 +0000 (21:33 +0200)]
Introduce 'process' object. Also is the global object.
Ryan [Wed, 26 Aug 2009 16:22:00 +0000 (18:22 +0200)]
Depreciate onLoad
Ryan [Wed, 26 Aug 2009 16:02:45 +0000 (18:02 +0200)]
Synchronous module loading.
`include` and `require now` call `promise.wait` on their retrieval functions
making them synchronous. Introduce `include_async` and `require_async` to
do asynchronous retrievals.
`include_async` and `require_async` need testing and documentation.
Update documentation for include, require(). I am mostly removing
information about onLoad(). onLoad is to be depreciated.
Ryan [Wed, 26 Aug 2009 16:01:54 +0000 (18:01 +0200)]
Add node.assert for internal debugging.
Ryan [Wed, 26 Aug 2009 15:12:44 +0000 (17:12 +0200)]
promise.block() renamed to promise.wait()
promise.wait() now returns the arguments of the "success" event. If there
was only a single argument, then it is returned. If there was more than
one, they are returned as an array. If there was an error, it is thrown.
See documentation.
Ryan [Wed, 26 Aug 2009 09:25:53 +0000 (11:25 +0200)]
Improve Promise documentation.
Ryan [Tue, 25 Aug 2009 22:55:43 +0000 (00:55 +0200)]
Modify website layout.
Ryan [Tue, 25 Aug 2009 14:59:06 +0000 (16:59 +0200)]
API: All EventEmitters emit "newListener" when listeners are added.
The "newListener" event will also be emitted for listeners to "newListener".
Maybe useful?
Ryan [Tue, 25 Aug 2009 14:23:01 +0000 (16:23 +0200)]
Restyle website/api.html. Now looks like the front page.
Made a few other little corrections too.
Ryan [Tue, 25 Aug 2009 11:47:18 +0000 (13:47 +0200)]
Upgrade v8 to 1.3.7
Ryan [Tue, 25 Aug 2009 11:33:19 +0000 (13:33 +0200)]
Fix coupling problems on OSX
Ryan [Tue, 25 Aug 2009 10:56:54 +0000 (12:56 +0200)]
Add close() to coupling pump. Wasn't getting EOF.
Ryan [Tue, 25 Aug 2009 02:10:20 +0000 (04:10 +0200)]
Experimental support for Promise.block()
Ryan [Mon, 24 Aug 2009 23:18:44 +0000 (01:18 +0200)]
API: Remove buffered file object (node.File)
With the addition of non-libeio stdio (
17c6a67f15944962f27326072d9ea2df40ec0491)
this class is no longer being used internally. It has proved buggy and isn't
full-featured enough to be very useful. Since it's implemented entirely in
javascript it will be easy for someone to extra into their own library if
needed.
Ryan [Mon, 24 Aug 2009 23:06:49 +0000 (01:06 +0200)]
Refactor node.Process to take advantage of evcom_reader/writer.
Ryan [Mon, 24 Aug 2009 18:25:24 +0000 (20:25 +0200)]
Introduce node.stdio
Remove old stdout, stderr, stdin objects.
Ryan [Mon, 24 Aug 2009 14:51:37 +0000 (16:51 +0200)]
Speed up test-tcp-throttle.js
Ryan [Mon, 24 Aug 2009 11:02:55 +0000 (13:02 +0200)]
Add sha1 hashes to ChangeLog
Ryan [Mon, 24 Aug 2009 11:00:45 +0000 (13:00 +0200)]
Remove outdated todo list
Ryan [Mon, 24 Aug 2009 10:59:17 +0000 (12:59 +0200)]
Add node node_g to gitignore.
Ryan [Sun, 23 Aug 2009 10:20:25 +0000 (12:20 +0200)]
Use flat object instead of array-of-arrays for HTTP headers.
E.G. { "Content-Length": 10, "Content-Type": "text/html" } instead of
[["Content-Length", 10], ["Content-Type", "text/html"]].
The main reason for this change is object-creation efficiency.
This still needs testing and some further changes (like when receiving
multiple header lines with the same field-name, they are concatenated with a
comma but some headers ("Content-Length") should not be concatenated ; the
new header line should replace the old value).
Various thoughts on this subject:
http://groups.google.com/group/nodejs/browse_thread/thread/
9a67bb32706d9efc#
http://four.livejournal.com/979640.html
http://mail.gnome.org/archives/libsoup-list/2009-March/msg00015.html
Ryan [Sat, 22 Aug 2009 11:07:31 +0000 (13:07 +0200)]
bump version
Ryan [Sat, 22 Aug 2009 10:04:45 +0000 (12:04 +0200)]
evcom upgrade - ignore sigpipe. remove error output.
Ryan [Fri, 21 Aug 2009 16:03:15 +0000 (18:03 +0200)]
bump version
Kevin van Zonneveld [Fri, 21 Aug 2009 15:54:10 +0000 (17:54 +0200)]
Buggy connections could crash node.js. Now check connection before sending data every time
http://groups.google.com/group/nodejs/browse_thread/thread/
16abfa87c32408f3
We have our node.js server monitored by monit, however it seems monit is pretty
agressive / quick about closing its connection and thus we've gotten into a
loop of errors like this:
at #<a ServerResponse>.flush
at #<a ServerResponse>.sendBody
at [object Object].json
at [object Object].[anonymous]
at [object Object].[anonymous]
at [object Object].[anonymous]
http.js:353: Socket is not open for writing
connection.send(out, out.encoding);
^
Below is a patch that basically cause flushMessageQueue to check the connection
state for each item in the queue rather than just a single time in the
beginning.
Ryan [Fri, 21 Aug 2009 12:53:58 +0000 (14:53 +0200)]
Sync evcom
Ryan [Fri, 21 Aug 2009 12:47:33 +0000 (14:47 +0200)]
Don't Close TCP Connection/Server on destruction.
If the connection is open when the destructor is called it's a bug! Don't
want to try to compensate for bugs.
Ryan [Fri, 21 Aug 2009 11:13:04 +0000 (13:13 +0200)]
Upgrade v8 to 1.3.6
Ryan [Wed, 19 Aug 2009 15:46:23 +0000 (17:46 +0200)]
Remove connnection.fullClose() from documentation.
This function was removed in
368ea93bfea5c666e13118e78d2cab937cb692f3.
Ryan [Wed, 19 Aug 2009 15:28:41 +0000 (17:28 +0200)]
Upgrade evcom - fix API issues.
Ryan [Wed, 19 Aug 2009 14:37:15 +0000 (16:37 +0200)]
Upgrade v8 to 1.3.5
Ryan [Wed, 19 Aug 2009 11:29:22 +0000 (13:29 +0200)]
Return the EventEmitter from addListener for chaining.
http://groups.google.com/group/nodejs/browse_thread/thread/
13708eacedb40b36
Abe Fettig [Wed, 19 Aug 2009 10:56:06 +0000 (12:56 +0200)]
Bugfix: stdin fd (0) being ignored by node.File.
In the case of stdin options.fd is 0, which is considered false, therefore fd
gets set to null intead of 0.
http://groups.google.com/group/nodejs/msg/
80849f6aa0b0eaa0
Ryan [Fri, 14 Aug 2009 10:51:46 +0000 (12:51 +0200)]
API: tcp.Connection "disconnect" event renamed to "close".
More semantic, since the event will be emitted on connection error,
when the connection was ever established.
Ryan [Fri, 14 Aug 2009 10:43:46 +0000 (12:43 +0200)]
Clarify some of the TCP API documentation.
Ryan [Thu, 13 Aug 2009 13:52:55 +0000 (15:52 +0200)]
bump version
Ryan [Thu, 13 Aug 2009 13:07:37 +0000 (15:07 +0200)]
Upgrade libev to 3.8
Ryan [Thu, 13 Aug 2009 13:06:34 +0000 (15:06 +0200)]
Upgrade v8 to 1.3.4
Ryan [Thu, 13 Aug 2009 13:04:24 +0000 (15:04 +0200)]
Enable test-tcp-many-clients.
Ryan [Thu, 13 Aug 2009 13:03:28 +0000 (15:03 +0200)]
Remove debugging messages in HTTP client
Ryan [Thu, 13 Aug 2009 11:52:47 +0000 (13:52 +0200)]
Upgrade v8 to 1.3.3
Ryan [Thu, 13 Aug 2009 11:47:16 +0000 (13:47 +0200)]
Sync evcom after refactor; fix binding issues
Ryan [Mon, 10 Aug 2009 10:54:57 +0000 (12:54 +0200)]
Sync evcom.
Ryan [Mon, 10 Aug 2009 10:46:22 +0000 (12:46 +0200)]
(evcom) SOL_SOCKET got renamed in socket,stream renaming
This was breaking the build on Macintosh.
Ryan [Mon, 10 Aug 2009 10:14:41 +0000 (12:14 +0200)]
(evcom) Add fix for pausing against big buffers.
discussion:
http://groups.google.com/group/nodejs/browse_thread/thread/
11a920da4d0ed21d
Ryan [Sun, 9 Aug 2009 17:16:25 +0000 (19:16 +0200)]
Add IncomingMessage.prototype.pause() and resume().
Ryan [Sun, 9 Aug 2009 16:49:51 +0000 (18:49 +0200)]
Add connection.readPause() and connection.readResume()
Ryan [Sun, 9 Aug 2009 16:27:56 +0000 (18:27 +0200)]
Upgrade evcom
Made API changes in evcom and had to make minor change src/net.cc to comply.
Ryan [Sun, 9 Aug 2009 16:10:16 +0000 (18:10 +0200)]
Bugfix: Negative ints in HTTP's on_body and node.fs.read()
Similar to the error fixed in
9d3ed1bb9231798df8a081746fd0dc75900d8276.
Reported by Felix Geisendörfer.
Ryan [Sun, 9 Aug 2009 16:04:10 +0000 (18:04 +0200)]
Bugfix: response.setBodyEncoding("ascii") not working.
This is same error that was fixed in
216fb3b9b2811444228d7af7a450839e58b80713.
Reported by Felix Geisendörfer.
Ryan [Sat, 8 Aug 2009 19:51:28 +0000 (21:51 +0200)]
Fix http benchmark. Wasn't correctly dispatching.
Ryan [Sat, 8 Aug 2009 14:58:06 +0000 (16:58 +0200)]
Add -m32 gcc flag to udns build.
This is a temporary fix until V8 supports 64bit systems natively.
Ryan [Fri, 7 Aug 2009 16:25:25 +0000 (18:25 +0200)]
Upgrade http_parser to v0.2
Ryan [Fri, 7 Aug 2009 13:31:36 +0000 (15:31 +0200)]
Add SHA1 hash values to ChangeLog and fix formating.
Ryan [Fri, 7 Aug 2009 12:10:40 +0000 (14:10 +0200)]
Remove extra ev_timer_stop() in src/dns.cc
Ryan [Thu, 6 Aug 2009 13:08:07 +0000 (15:08 +0200)]
(evcom) Increase recv buffer from 4 bytes (!!!) to 8192
Ryan [Thu, 6 Aug 2009 11:59:38 +0000 (13:59 +0200)]
bump version
Ryan [Thu, 6 Aug 2009 11:59:09 +0000 (13:59 +0200)]
Delete v8 file that was removed in 1.3.2
Ryan [Thu, 6 Aug 2009 11:36:45 +0000 (13:36 +0200)]
Upgrade v8 to 1.3.2
Ryan [Thu, 6 Aug 2009 11:33:42 +0000 (13:33 +0200)]
Remove unused symbols.
Ryan [Thu, 6 Aug 2009 11:29:24 +0000 (13:29 +0200)]
Bugfix: node.http.ServerRequest.setBodyEncoding('ascii') not working
Pointed out by Felix Geisendörfer.
http://groups.google.com/group/nodejs/browse_thread/thread/
d061fe62eba6d3b3#
Ryan [Thu, 6 Aug 2009 11:17:30 +0000 (13:17 +0200)]
Bugfix: node.encodeUtf8 was broken. (Connor Dunn)
http://groups.google.com/group/nodejs/browse_thread/thread/
5ad0660a0959d885#