Google Groups

v0.8 Roadmap

Ryan Dahl Nov 16, 2011 1:36 PM
Posted in group: nodejs
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.

Node v0.8 roadmap

- Move the remaining platform functions from src/platform-*.cc into
libuv. (Everyone)

- Get rid of WAF. All platforms will build using GYP. (Ben, Ryan)

- 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)

- 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
  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)

- 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)

- Addons. We need to define an easy and suggested way of building
  extensions, which should be similar across all supported platforms. (Everyone)