+2011.02.10, Version 0.4.0 (stable)
+
+* require() improvements (isaacs)
+ - understand package.json (isaacs)
+ - look for 'node_modules' dir
+
+* cmake fixes (Daniel Gröber)
+
+* http: fix buffer writes to outgoing messages (Russell Haering)
+
+* Expose UCS-2 Encoding (Konstantin Käfer)
+
+* Support strings for octal modes (isaacs)
+
+* Support array-ish args to Buffer ctor (isaacs)
+
+* cygwin and mingw improvements (Bert Belder)
+
+* TLS improvements
+
+* Fewer syscalls during require (Bert Belder, isaacs)
+
+* More DTrace probes (Bryan Cantrill, Robert Mustacchi)
+
+* 'pipe' event on pipe() (Mikeal Rogers)
+
+* CRL support in TLS (Theo Schlossnagle)
+
+* HTTP header manipulation methods (Tim Caswell, Charlie Robbins)
+
+* Upgrade V8 to 3.1.2
+
+
2011.02.04, Version 0.3.8 (unstable)
* Add req.abort() for client side requests.
<li><a href="#download">Download</a></li>
<li><a href="https://github.com/ry/node/raw/master/ChangeLog">ChangeLog</a></li>
<li><a href="#about">About</a></li>
- <li><a href="http://nodejs.org/docs/v0.3.8/api">v0.3.8 docs</a></li>
- <li><a href="http://nodejs.org/docs/v0.2.6/api.html">v0.2.6 docs</a></li>
+ <li><a href="http://nodejs.org/docs/v0.4.0/api">v0.4.0 docs</a></li>
<br/>
<li><B><a href="https://github.com/ry/node/wiki">Wiki</a></B></li>
</ol>
<p>
<a href="http://github.com/ry/node/tree/master">git repo</a>
</p>
- <p>
- Stable: 2010.12.30
- <a href="http://nodejs.org/dist/node-v0.2.6.tar.gz">node-v0.2.6.tar.gz</a>
- (<a href="http://nodejs.org/docs/v0.2.6/api.html">Documentation</a>)
- </p>
<p>
- Unstable: 2011.02.04
- <a href="http://nodejs.org/dist/node-v0.3.8.tar.gz">node-v0.3.8.tar.gz</a>
- (<a href="http://nodejs.org/docs/v0.3.8/api/index.html">Documentation</a>)
+ 2011.02.10
+ <a href="http://nodejs.org/dist/node-v0.4.0.tar.gz">node-v0.4.0.tar.gz</a>
+ (<a href="http://nodejs.org/docs/v0.4.0/api/index.html">Documentation</a>)
</p>
<p>Historical: <a href="http://nodejs.org/dist">versions</a>, <a href="http://nodejs.org/docs">docs</a></p>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <style type="text/css">
+ ul {
+ padding: 0;
+ margin: 0;
+ }
+ </style>
+ <link type="text/css" rel="stylesheet" href="pipe.css" />
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title>node v0.4 announcement</title>
+ </head>
+ <body>
+ <h2>Second Stable Branch of Node released</h2>
+
+ <p>
+ <a
+ href="https://github.com/ry/node/wiki/Migrating-from-v0.2-to-v0.3">Wiki
+ page detailing API changes between v0.4 and v0.2</a>
+
+ <p>
+ Major changes since v0.2:
+
+ <ul>
+ <li> Major overhaul of TLS/SSL system. Previously the binding to
+ OpenSSL was heavily interwoven into the socket code. This binding was
+ reworked to present each connection as a pair of "streams" instead: a
+ duplex encrypted stream and a duplex cleartext stream. The encrypted
+ stream is piped to a raw TCP socket using the general purpose
+ <code>Stream.prototype.pipe()</code> method. Functionality was
+ enhanced and API simplified.
+
+ <li> Cheaper <code>Buffer</code> allocation. Node uses
+ <code>Buffer</code> objects in many places - it was noticed that they
+ were relatively slow to allocate and difficult to garbage collect. The
+ implementation changed to use pure javascript objects instead of
+ an <code>ObjectWrap</code> which improved performance.
+
+ <li> With a good amount of experience now, some modifications to the
+ module loading system were made to better support package managers.
+ In particular, NPM was forced to resort to deep symlinks and "shim"
+ modules to work around missing features in <code>require()</code>. The main
+ changes are:
+ <ol>
+ <li><code>require()</code> calls realpath. That is,
+ it resolves symbolic links. This allows symlinked modules to make
+ relative requires.
+
+ <li><code>require()</code> now has a primitive understanding of
+ <code>package.json</code>. It looks for the <code>main</code>
+ script. This allows <code>require()</code> to work on package
+ directories directly.
+
+ <li>A specially named directory, <code>node_modules/</code>, is
+ searched in the current directory for any modules. This will
+ hopefully encourage programmers to bundle modules rather than
+ rely on a global namespace.
+ </ol>
+ Read more about these features in <a
+ href="https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/doc/api/modules.markdown">the
+ module documentation</a>.
+
+ <li> A half-complete but good start a native windows build with MinGW
+ is underway by Bert Builder. Build instructions can be found <a
+ href="https://github.com/ry/node/wiki/Building-node.js-on-mingw">on
+ the wiki</a>.
+
+ <li> Node upgraded to the latest version of V8, <code>v3.1.2</code>.
+ This includes much work including V8's new compilation infrastructure
+ and a GDB plugin on Linux.
+ Read <a
+ href="https://github.com/ry/node/blob/583f2e599962f2664dbaafa0ae98a8d6c1242441/deps/v8/ChangeLog">the
+ full V8 ChangeLog</a>.
+
+ <li>A new built-in client for V8's debugger was added to Node. It is
+ still very primitive but usable for simple task. There is a <a
+ href="http://vimeo.com/19465332">small introduction video</a> and
+ some <a
+ href="https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/doc/api/debugger.markdown">documentation</a>.
+
+ <li>An <code>os</code> module was added by Brian White which exposes
+ a lot of basic but useful system information: <code>os.cpus(),
+ os.freemem(), os.totalmem(), os.loadavg()</code>
+
+ <li> And, of course, many of bug fixes. See the
+ <a
+ href="https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/ChangeLog">full
+ changelog</a>.
+
+ </ul>
+
+ </body>
+</html>