summaryrefslogtreecommitdiff
path: root/doc/v0.4_announcement.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/v0.4_announcement.html')
-rw-r--r--doc/v0.4_announcement.html98
1 files changed, 0 insertions, 98 deletions
diff --git a/doc/v0.4_announcement.html b/doc/v0.4_announcement.html
deleted file mode 100644
index 7d68376bc..000000000
--- a/doc/v0.4_announcement.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!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="image/x-icon" rel="icon" href="favicon.ico" />
- <link type="image/x-icon" rel="shortcut icon" href="favicon.ico" />
- <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>Simpler HTTP client API with connection pools.
-
- <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>