We're just starting development on the new branch of Node. New development continues in the master branch - bug fixes go into the v0.6 branch. The current target for a v0.8 release is early January. We will continue weekly v0.6 releases throughout v0.8 development.
- Isolates. Node will allow users to spawn "child processes" that actually run in a thread. We have to get rid of all the global variables in node. Compiled extensions need know which isolate they're targeting, and we need to decide if we want to load the extension multiple times or just once. Also, some changes to libuv are necessary, since we will have to completely clean up a loop. Finally we'll have to deal with debugging a multi-threaded node process. (Ben, Ryan) https://github.com/joyent/node/issues/2133
- Domains. Domains provide a lightweight isolation mechanism for all i/o related to a particular network connection (e.g. an incoming http request). If an unhandled error is encountered, all i/o local to that particular domain is canceled and all handles are cleaned up. An experimental implementation can be found at https://github.com/joyent/node/commits/domains. Some of the early work for domains will be used in Isolate support (e.g. cleaning up handles when an Isolate is killed) (Bert, Ryan) https://github.com/joyent/node/issues/2134
- Better allocator. Currently node uses a memory pool allocator to provide read buffers for incoming data streams. This allocator is only reasonably efficient for network connections and local pipes on Unix, and on Windows when zero reads are used. For file i/o and buffered reads on Windows we need a better story. (Igor) https://github.com/joyent/node/issues/2135