Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 99 lines (83 sloc) 4.291 kB
eb155ea @ry Bump version to v0.4.0
ry authored
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <style type="text/css">
5 ul {
6 padding: 0;
7 margin: 0;
8 }
9 </style>
21e3b66 @stagas Added favicon.ico
stagas authored
10 <link type="image/x-icon" rel="icon" href="favicon.ico" />
11 <link type="image/x-icon" rel="shortcut icon" href="favicon.ico" />
eb155ea @ry Bump version to v0.4.0
ry authored
12 <link type="text/css" rel="stylesheet" href="pipe.css" />
13 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
14 <title>node v0.4 announcement</title>
15 </head>
16 <body>
17 <h2>Second Stable Branch of Node released</h2>
18
19 <p>
20 <a
21 href="https://github.com/ry/node/wiki/Migrating-from-v0.2-to-v0.3">Wiki
22 page detailing API changes between v0.4 and v0.2</a>
23
24 <p>
25 Major changes since v0.2:
26
27 <ul>
28 <li> Major overhaul of TLS/SSL system. Previously the binding to
29 OpenSSL was heavily interwoven into the socket code. This binding was
30 reworked to present each connection as a pair of "streams" instead: a
31 duplex encrypted stream and a duplex cleartext stream. The encrypted
32 stream is piped to a raw TCP socket using the general purpose
33 <code>Stream.prototype.pipe()</code> method. Functionality was
34 enhanced and API simplified.
35
839fb8e @ry typos
ry authored
36 <li>Simpler HTTP client API with connection pools.
5ceefec @ry Add http client to v0.4 announcement
ry authored
37
eb155ea @ry Bump version to v0.4.0
ry authored
38 <li> Cheaper <code>Buffer</code> allocation. Node uses
39 <code>Buffer</code> objects in many places - it was noticed that they
40 were relatively slow to allocate and difficult to garbage collect. The
41 implementation changed to use pure javascript objects instead of
42 an <code>ObjectWrap</code> which improved performance.
43
44 <li> With a good amount of experience now, some modifications to the
45 module loading system were made to better support package managers.
db27381 @isaacs s/NPM/npm/
isaacs authored
46 In particular, npm was forced to resort to deep symlinks and "shim"
eb155ea @ry Bump version to v0.4.0
ry authored
47 modules to work around missing features in <code>require()</code>. The main
48 changes are:
49 <ol>
50 <li><code>require()</code> calls realpath. That is,
51 it resolves symbolic links. This allows symlinked modules to make
52 relative requires.
53
54 <li><code>require()</code> now has a primitive understanding of
55 <code>package.json</code>. It looks for the <code>main</code>
56 script. This allows <code>require()</code> to work on package
57 directories directly.
58
59 <li>A specially named directory, <code>node_modules/</code>, is
60 searched in the current directory for any modules. This will
61 hopefully encourage programmers to bundle modules rather than
62 rely on a global namespace.
63 </ol>
64 Read more about these features in <a
65 href="https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/doc/api/modules.markdown">the
66 module documentation</a>.
67
68 <li> A half-complete but good start a native windows build with MinGW
69 is underway by Bert Builder. Build instructions can be found <a
70 href="https://github.com/ry/node/wiki/Building-node.js-on-mingw">on
71 the wiki</a>.
72
73 <li> Node upgraded to the latest version of V8, <code>v3.1.2</code>.
74 This includes much work including V8's new compilation infrastructure
75 and a GDB plugin on Linux.
76 Read <a
77 href="https://github.com/ry/node/blob/583f2e599962f2664dbaafa0ae98a8d6c1242441/deps/v8/ChangeLog">the
78 full V8 ChangeLog</a>.
79
80 <li>A new built-in client for V8's debugger was added to Node. It is
81 still very primitive but usable for simple task. There is a <a
82 href="http://vimeo.com/19465332">small introduction video</a> and
83 some <a
84 href="https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/doc/api/debugger.markdown">documentation</a>.
85
86 <li>An <code>os</code> module was added by Brian White which exposes
87 a lot of basic but useful system information: <code>os.cpus(),
88 os.freemem(), os.totalmem(), os.loadavg()</code>
89
90 <li> And, of course, many of bug fixes. See the
91 <a
92 href="https://github.com/ry/node/blob/01a864a29d64119054401784cd9255c3a813bdbc/ChangeLog">full
93 changelog</a>.
94
95 </ul>
96
97 </body>
98 </html>
Something went wrong with that request. Please try again.