net: `Server.listen`, `Server.close` and `Socket.connect` return `this`
[platform/upstream/nodejs.git] / ChangeLog
1 2011.10.21, Version 0.5.10 (unstable)
2
3 * Remove cmake build system, support for Cygwin, legacy code base,
4         process.ENV, process.ARGV, process.memoryUsage().vsize, os.openOSHandle
5
6 * Documentation improvments (Igor Zinkovsky, Bert Belder, Ilya Dmitrichenko,
7 koichik, Maciej Małecki, Guglielmo Ferri, isaacs)
8
9 * Performance improvements (Daniel Ennis, Bert Belder, Ben Noordhuis) 
10
11 * Long process.title support (Ben Noordhuis)
12
13 * net: register net.Server callback only once (Simen Brekken)
14
15 * net: fix connect queue bugs (Ben Noordhuis)
16
17 * debugger: fix backtrace err handling (Fedor Indutny)
18
19 * Use getaddrinfo instead of c-ares for dns.lookup
20
21 * Emit 'end' from crypto streams on close
22
23 * #1902 buffer: use NO_NULL_TERMINATION flag (koichik)
24
25 * #1907 http: Added support for HTTP PATCH verb (Thomas Parslow)
26
27 * #1644 add GetCPUInfo on windows (Karl Skomski)
28
29 * #1484, #1834, #1482, #771 Don't use a separate context for the repl.
30   (isaacs)
31
32 * #1882 zlib Update 'availOutBefore' value, and test (isaacs)
33
34 * #1888 child_process.fork: don't modify args (koichik)
35
36 * #1516 tls: requestCert unusable with Firefox and Chrome (koichik)
37
38 * #1467 tls: The TLS API is inconsistent with the TCP API (koichik)
39
40 * #1894 net: fix error handling in listen() (koichik)
41
42 * #1860 console.error now goes through uv_tty_t
43
44 * Upgrade V8 to 3.7.0
45
46 * Upgrade GYP to r1081
47
48
49 2011.10.10, Version 0.5.9 (unstable)
50
51 * fs.watch interface backed by kqueue, inotify, and ReadDirectoryChangesW
52   (Igor Zinkovsky, Ben Noordhuis)
53
54 * add dns.resolveTxt (Christian Tellnes)
55
56 * Remove legacy http library (Ben Noordhuis)
57
58 * child_process.fork returns and works on Windows. Allows passing handles.
59   (Igor Zinkovsky, Bert Belder)
60
61 * #1774 Lint and clean up for --harmony_block_scoping (Tyler Larson, Colton
62   Baker)
63
64 * #1813 Fix ctrl+c on Windows (Bert Belder)
65
66 * #1844 unbreak --use-legacy (Ben Noordhuis)
67
68 * process.stderr now goes through libuv. Both process.stdout and
69   process.stderr are blocking when referencing a TTY.
70
71 * net_uv performance improvements (Ben Noordhuis, Bert Belder)
72
73
74 2011.09.30, Version 0.5.8 (unstable), 7cc17a0cea1d25188c103745a7d0c24375e3a609
75
76 * zlib bindings (isaacs)
77
78 * Windows supports TTY ANSI escape codes (Bert Belder)
79
80 * Debugger improvements (Fedor Indutny)
81
82 * crypto: look up SSL errors with ERR_print_errors() (Ben Noordhuis)
83
84 * dns callbacks go through MakeCallback now
85
86 * Raise an error when a malformed package.json file is found. (Ben Leslie)
87
88 * buffers: handle bad length argument in constructor (Ben Noordhuis)
89
90 * #1726, unref process.stdout
91
92 * Doc improvements (Ben Noordhuis, Fedor Indutny, koichik)
93
94 * Upgrade libuv to fe18438
95
96
97 2011.09.16, Version 0.5.7 (unstable), 558241166c4f3c516e5a448e676db0b57119212f
98
99 * Upgrade V8 to 3.6.4
100
101 * Improve Windows compatibility
102
103 * Documentation improvements
104
105 * Debugger and REPL improvements (Fedor Indutny)
106
107 * Add legacy API support: net.Stream(fd), process.stdout.writable,
108   process.stdout.fd
109
110 * Fix mkdir EEXIST handling (isaacs)
111
112 * Use net_uv instead of net_legacy for stdio
113
114 * Do not load readline from util.inspect
115
116 * #1673 Fix bug related to V8 context with accessors (Fedor Indutny)
117
118 * #1634 util: Fix inspection for Error (koichik)
119
120 * #1645 fs: Add positioned file writing feature to fs.WriteStream (Thomas
121   Shinnick)
122
123 * #1637 fs: Unguarded fs.watchFile cache statWatchers checking fixed (Thomas
124   Shinnick)
125
126 * #1695 Forward customFds to ChildProcess.spawn
127
128 * #1707 Fix hasOwnProperty security problem in querystring (isaacs)
129
130 * #1719 Drain OpenSSL error queue
131
132
133 2011.09.08, Version 0.5.6 (unstable)
134
135 * #345, #1635, #1648 Documentation improvements (Thomas Shinnick,
136   Abimanyu Raja, AJ ONeal, Koichi Kobayashi, Michael Jackson, Logan Smyth,
137   Ben Noordhuis)
138
139 * #650 Improve path parsing on windows (Bert Belder)
140
141 * #752 Remove headers sent check in OutgoingMessage.getHeader()
142   (Peter Lyons)
143
144 * #1236, #1438, #1506, #1513, #1621, #1640, #1647 Libuv-related bugs fixed
145   (Jorge Chamorro Bieling, Peter Bright, Luis Lavena, Igor Zinkovsky)
146
147 * #1296, #1612 crypto: Fix BIO's usage. (Koichi Kobayashi)
148
149 * #1345 Correctly set socket.remoteAddress with libuv backend (Bert Belder)
150
151 * #1429 Don't clobber quick edit mode on windows (Peter Bright)
152
153 * #1503 Make libuv backend default on unix, override with `node --use-legacy`
154
155 * #1565 Fix fs.stat for paths ending with \ on windows (Igor Zinkovsky)
156
157 * #1568 Fix x509 certificate subject parsing (Koichi Kobayashi)
158
159 * #1586 Make socket write encoding case-insensitive (Koichi Kobayashi)
160
161 * #1591, #1656, #1657 Implement fs in libuv, remove libeio and pthread-win32
162   dependency on windows (Igor Zinkovsky, Ben Noordhuis, Ryan Dahl,
163   Isaac Schlueter)
164
165 * #1592 Don't load-time link against CreateSymbolicLink on windows
166   (Peter Bright)
167
168 * #1601 Improve API consistency when dealing with the socket underlying a HTTP
169   client request (Mikeal Rogers)
170
171 * #1610 Remove DigiNotar CA from trusted list (Isaac Schlueter)
172
173 * #1617 Added some win32 os functions (Karl Skomski)
174
175 * #1624 avoid buffer overrun with 'binary' encoding (Koichi Kobayashi)
176
177 * #1633 make Buffer.write() always set _charsWritten (Koichi Kobayashi)
178
179 * #1644 Windows: set executables to be console programs (Peter Bright)
180
181 * #1651 improve inspection for sparse array (Koichi Kobayashi)
182
183 * #1672 set .code='ECONNRESET' on socket hang up errors (Ben Noordhuis)
184
185 * Add test case for foaf+ssl client certificate (Niclas Hoyer)
186
187 * Added RPATH environment variable to override run-time library paths
188   (Ashok Mudukutore)
189
190 * Added TLS client-side session resumption support (Sean Cunningham)
191
192 * Added additional properties to getPeerCertificate (Nathan Rixham,
193   Niclas Hoyer)
194
195 * Don't eval repl command twice when an error is thrown (Nathan Rajlich)
196
197 * Improve util.isDate() (Nathan Rajlich)
198
199 * Improvements in libuv backend and bindings, upgrade libuv to
200   bd6066cb349a9b3a1b0d87b146ddaee06db31d10
201
202 * Show warning when using lib/sys.js (Maciej Malecki)
203
204 * Support plus sign in url protocol (Maciej Malecki)
205
206 * Upgrade V8 to 3.6.2
207
208
209 2011.08.26, Version 0.5.5 (unstable), d2d53d4bb262f517a227cc178a1648094ba54c20
210
211 * typed arrays, implementation from Plesk
212
213 * fix IP multicast on SunOS
214
215 * fix DNS lookup order: IPv4 first, IPv6 second (--use-uv only)
216
217 * remove support for UNIX datagram sockets (--use-uv only)
218
219 * UDP support for Windows (Bert Belder)
220
221 * #1572 improve tab completion for objects in the REPL (Nathan Rajlich)
222
223 * #1563 fix buffer overflow in child_process module (reported by Dean McNamee)
224
225 * #1546 fix performance regression in http module (reported by Brian Geffon)
226
227 * #1491 add PBKDF2 crypto support (Glen Low)
228
229 * #1447 remove deprecated http.cat() function (Mikeal Rogers)
230
231 * #1140 fix incorrect dispatch of vm.runInContext's filename argument
232   (Antranig Basman)
233
234 * #1140 document vm.runInContext() and vm.createContext() (Antranig Basman)
235
236 * #1428 fix os.freemem() on 64 bits freebsd (Artem Zaytsev)
237
238 * #1164 make all DNS lookups async, fixes uncatchable exceptions
239   (Koichi Kobayashi)
240
241 * fix incorrect ssl shutdown check (Tom Hughes)
242
243 * various cmake fixes (Tom Hughes)
244
245 * improved documentation (Koichi Kobayashi, Logan Smyth, Fedor Indutny,
246   Mikeal Rogers, Maciej Małecki, Antranig Basman, Mickaël Delahaye)
247
248 * upgrade libuv to commit 835782a
249
250 * upgrade V8 to 3.5.8
251
252
253 2011.08.12, Version 0.5.4 (unstable), cfba1f59224ff8602c3fe9145181cad4c6df89a9
254
255 * libuv/Windows compatibility improvements
256
257 * Build on Microsoft Visual Studio via GYP. Use generate-projects.bat in the
258   to build sln files. (Peter Bright, Igor Zinkovsky)
259
260 * Make Mikeal's HTTP agent client the default. Use old HTTP client with
261   --use-http1
262
263 * Fixes https host header default port handling. (Mikeal Rogers)
264
265 * #1440 strip byte order marker when loading *.js and *.json files 
266   (Ben Noordhuis)
267
268 * #1434 Improve util.format() compatibility with browser. (Koichi Kobayashi)
269
270 * Provide unchecked uint entry points for integer Buffer.read/writeInt
271   methods. (Robert Mustacchi)
272
273 * CMake improvements (Tom Huges)
274
275 * Upgrade V8 to 3.5.4.
276
277
278 2011.08.01, Version 0.5.3 (unstable), 4585330afef44ddfb6a4054bd9b0f190b352628b
279
280 * Fix crypto encryption/decryption with Base64. (SAWADA Tadashi)
281
282 * #243 Add an optional length argument to Buffer.write() (koichik)
283
284 * #657 convert nonbuffer data to string in fs.writeFile/Sync
285   (Daniel Pihlström)
286
287 * Add process.features, remove process.useUV (Ben Noordhuis)
288
289 * #324 Fix crypto hmac to accept binary keys + add test cases from rfc 2202
290   and 4231 (Stefan Bühler)
291
292 * Add Socket::bytesRead, Socket::bytesWritten (Alexander Uvarov)
293
294 * #572 Don't print result of --eval in CLI (Ben Noordhuis)
295
296 * #1223 Fix http.ClientRequest crashes if end() was called twice (koichik)
297
298 * #1383 Emit 'close' after all connections have closed (Felix Geisendörfer)
299
300 * Add sprintf-like util.format() function (Ben Noordhuis)
301
302 * Add support for TLS SNI (Fedor Indutny)
303
304 * New http agent implementation. Off by default the command line flag
305   --use-http2 will enable it. "make test-http2" will run the tests
306         for the new implementation. (Mikeal Rogers)
307
308 * Revert AMD compatibility. (isaacs)
309
310 * Windows: improvements, child_process support.
311
312 * Remove pkg-config file.
313
314 * Fix startup time regressions.
315
316 * doc improvements
317
318
319 2011.07.22, Version 0.5.2 (unstable), 08ffce1a00dde1199174b390a64a90b60768ddf5
320
321 * libuv improvements; named pipe support
322
323 * #1242 check for SSL_COMP_get_compression_methods() (Ben Noordhuis)
324
325 * #1348 remove require.paths (isaacs)
326
327 * #1349 Delimit NODE_PATH with ; on Windows (isaacs)
328
329 * #1335 Remove EventEmitter from C++
330
331 * #1357 Load json files with require() (isaacs)
332
333 * #1374 fix setting ServerResponse.statusCode in writeHead (Trent Mick)
334
335 * Fixed: GC was being run too often.
336
337 * Upgrade V8 to 3.4.14
338
339 * doc improvements
340
341
342 2011.07.14, Version 0.5.1 (unstable), f8bfa54d0fa509f9242637bef2869a1b1e842ec8
343
344 * #1233 Fix os.totalmem on FreeBSD amd64 (Artem Zaytsev)
345
346 * #1149 IDNA and Punycode support in url.parse
347   (Jeremy Selier, Ben Noordhuis, isaacs)
348
349 * Export $CC and $CXX to uv and V8's build systems
350
351 * Include pthread-win32 static libraries in build (Igor Zinkovsky)
352
353 * #1199, #1094 Fix fs can't handle large file on 64bit platform (koichik)
354
355 * #1281 Make require a public member of module (isaacs)
356
357 * #1303 Stream.pipe returns the destination (Elijah Insua)
358
359 * #1229 Addons should not -DEV_MULTIPLICITY=0 (Brian White)
360
361 * libuv backend improvements
362
363 * Upgrade V8 to 3.4.10
364
365
366 2011.07.05, Version 0.5.0 (unstable), ae7ed8482ea7e53c59acbdf3cf0e0a0ae9d792cd
367
368 * New non-default libuv backend to support IOCP on Windows.
369   Use --use-uv to enable.
370
371 * deprecate http.cat
372
373 * docs improved.
374
375 * add child_process.fork
376
377 * add fs.utimes() and fs.futimes() support (Ben Noordhuis)
378
379 * add process.uptime() (Tom Huges)
380
381 * add path.relative (Tony Huang)
382
383 * add os.getNetworkInterfaces()
384
385 * add remoteAddress and remotePort for client TCP connections
386   (Brian White)
387
388 * add secureOptions flag, setting ciphers,
389   SSL_OP_CRYPTOPRO_TLSEXT_BUG to TLS (Theo Schlossnagle)
390
391 * add process.arch (Nathan Rajlich)
392
393 * add reading/writing of floats and doubles from/to buffers (Brian White)
394
395 * Allow script to be read from stdin
396
397 * #477 add Buffer::fill method to do memset (Konstantin Käfer)
398
399 * #573 Diffie-Hellman support to crypto module (Håvard Stranden)
400
401 * #695 add 'hex' encoding to buffer (isaacs)
402
403 * #851 Update how REPLServer uses contexts (Ben Weaver)
404
405 * #853 add fs.lchow, fs.lchmod, fs.fchmod, fs.fchown (isaacs)
406
407 * #889 Allow to remove all EventEmitter listeners at once
408   (Felix Geisendörfer)
409
410 * #926 OpenSSL NPN support (Fedor Indutny)
411
412 * #955 Change ^C handling in REPL (isaacs)
413
414 * #979 add support for Unix Domain Sockets to HTTP (Mark Cavage)
415
416 * #1173 #1170 add AMD, asynchronous module definition (isaacs)
417
418 * DTrace probes: support X-Forwarded-For (Dave Pacheco)
419
420
421 2011.09.15, Version 0.4.12 (stable)
422
423 * Improve docs
424
425 * #1563 overflow in ChildProcess custom_fd.
426
427 * #1569, parse error on multi-line HTTP headers. (Ben Noordhuis)
428
429 * #1586 net: Socket write encoding case sensitivity (koichik)
430
431 * #1610 Remove DigiNotar CA from trusted list (isaacs)
432
433 * #1624 buffer: Avoid overrun with 'binary' encoding. (koichik)
434
435 * #1633 buffer: write() should always set _charsWritten. (koichik)
436
437 * #1707 hasOwnProperty usage security hole in querystring (isaacs)
438
439 * #1719 Drain OpenSSL error queue
440
441 * Fix error reporting in net.Server.listen
442
443
444 2011.08.17, Version 0.4.11 (stable), a745d19ce7d1c0e3778371af4f0346be70cf2c8e
445
446 * #738 Fix crypto encryption/decryption with Base64. (SAWADA Tadashi)
447
448 * #1202 net.createConnection defer DNS lookup error events to next tick
449   (Ben Noordhuis)
450
451 * #1374 fix setting ServerResponse.statusCode in writeHead (Trent Mick)
452
453 * #1417 Fix http.ClientRequest crashes if end() was called twice
454
455 * #1497 querystring: Replace 'in' test with 'hasOwnProperty' (isaacs)
456
457 * #1546 http perf improvement
458
459 * fix memleak in libeio (Tom Hughes)
460
461 * cmake improvements (Tom Hughes)
462
463 * node_net.cc: fix incorrect sizeof() (Tom Hughes)
464
465 * Windows/cygwin: no more GetConsoleTitleW errors on XP (Bert Belder)
466
467 * Doc improvments (koichik, Logan Smyth, Ben Noordhuis, Arnout Kazemier)
468
469
470 2011.07.19, Version 0.4.10 (stable)
471
472 * #394 Fix Buffer drops last null character in UTF-8
473
474 * #829 Backport r8577 from V8 (Ben Noordhuis)
475
476 * #877 Don't wait for HTTP Agent socket pool to establish connections. 
477
478 * #915 Find kqueue on FreeBSD correctly (Brett Kiefer) 
479
480 * #1085 HTTP: Fix race in abort/dispatch code (Stefan Rusu)
481
482 * #1274 debugger improvement (Yoshihiro Kikuchi)
483
484 * #1291 Properly respond to HEAD during end(body) hot path (Reid Burke)
485
486 * #1304 TLS: Fix race in abort/connection code (Stefan Rusu)
487
488 * #1360 Allow _ in url hostnames.
489
490 * Revert 37d529f8 - unbreaks debugger command parsing.
491
492 * Bring back global execScript
493
494 * Doc improvements
495
496
497 2011.06.29, Version 0.4.9 (stable)
498
499 * Improve documentation
500
501 * #1095 error handling bug in stream.pipe() (Felix Geisendörfer)
502
503 * #1097 Fix a few leaks in node_crypto.cc (Ben Noordhuis)
504
505 * #562 #1078 Parse file:// urls properly (Ryan Petrello)
506
507 * #880 Option to disable SSLv2 (Jérémy Lal)
508
509 * #1087 Disabling SSL compression disabled with early OpenSSLs.
510
511 * #1144 debugger: don't allow users to input non-valid commands
512   (Siddharth Mahendraker)
513
514 * Perf improvement for util.inherits
515
516 * #1166 Support for signature verification with RSA/DSA public keys
517   (Mark Cavage)
518
519 * #1177 Remove node_modules lookup optimization to better support
520   nested project structures (Mathias Buus)
521
522 * #1203 Add missing scope.Close to fs.sendfileSync
523
524 * #1187 Support multiple 'link' headers
525
526 * #1196 Fix -e/--eval can't load module from node_modules (Koichi Kobayashi)
527
528 * Upgrade V8 to 3.1.8.25, upgrade http-parser.
529
530
531 2011.05.20, Version 0.4.8 (stable), 7dd22c26e4365698dc3efddf138c4d399cb912c8
532
533 * #974 Properly report traceless errors (isaacs)
534
535 * #983 Better JSON.parse error detection in REPL (isaacs)
536
537 * #836 Agent socket errors bubble up to req only if req exists
538
539 * #1041 Fix event listener leak check timing (koichik)
540
541 *       #1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR"
542   (koichik)
543
544 * #1073 Share SSL context between server connections (Fedor Indutny)
545
546 * Disable compression with OpenSSL. Improves memory perf.
547
548 * Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)
549
550 * Fix a special characters in URL regression (isaacs)
551
552 * Fix idle timeouts in HTTPS (Felix Geisendörfer)
553
554 * SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)
555
556 * http.ServerRequest 'close' sometimes gets an error argument
557   (Felix Geisendörfer)
558
559 * Doc improvements
560
561 * cleartextstream.destroy() should close(2) the socket. Previously was being
562         mapped to a shutdown(2) syscall.
563
564 * No longer compile out asserts and debug statements in normal build.
565
566 * Debugger improvements.
567
568 * Upgrade V8 to 3.1.8.16.
569
570
571 2011.04.22, Version 0.4.7 (stable)
572
573 * Don't emit error on ECONNRESET from read() #670
574
575 * Fix: Multiple pipes to the same stream were broken #929
576   (Felix Geisendörfer)
577
578 * URL parsing/formatting corrections #954 (isaacs)
579
580 * make it possible to do repl.start('', stream) (Wade Simmons)
581
582 * Add os.loadavg for SunOS (Robert Mustacchi)
583
584 * Fix timeouts with floating point numbers #897 (Jorge Chamorro Bieling)
585
586 * Improve docs.
587
588
589 2011.04.13, Version 0.4.6 (stable)
590
591 * Don't error on ENOTCONN from shutdown() #670
592
593 * Auto completion of built-in debugger suggests prefix match rather than
594         partial match. (koichik)
595
596 * circular reference in vm modules. #822 (Jakub Lekstan)
597
598 * http response.readable should be false after 'end' #867 (Abe Fettig)
599
600 * Implement os.cpus() and os.uptime() on Solaris (Scott McWhirter)
601
602 * fs.ReadStream: Allow omission of end option for range reads #801
603         (Felix Geisendörfer)
604
605 * Buffer.write() with UCS-2 should not be write partial char
606         #916 (koichik)
607
608 * Pass secureProtocol through on tls.Server creation (Theo Schlossnagle)
609
610 * TLS use RC4-SHA by default
611
612 * Don't strangely drop out of event loop on HTTPS client uploads #892
613
614 * Doc improvements
615
616 * Upgrade v8 to 3.1.8.10
617
618
619 2011.04.01, Version 0.4.5 (stable)
620
621 * Fix listener leak in stream.pipe() (Mikeal Rogers)
622
623 * Retain buffers in fs.read/write() GH-814 (Jorge Chamorro Bieling)
624
625 * TLS performance improvements
626
627 * SlowBuffer.prototype.slice bug GH-843
628
629 * process.stderr.write should return true
630
631 * Immediate pause/resume race condition GH-535 (isaacs)
632
633 * Set default host header properly GH-721 (isaacs)
634
635 * Upgrade V8 to 3.1.8.8
636
637
638 2011.03.26, Version 0.4.4 (stable), 25122b986a90ba0982697b7abcb0158c302a1019
639
640 * CryptoStream.end shouldn't throw if not writable GH-820
641
642 * Drop out if connection destroyed before connect() GH-819
643
644 * expose https.Agent
645
646 * Correctly setsid in tty.open GH-815
647
648 * Bug fix for failed buffer construction
649
650 * Added support for removing .once listeners (GH-806)
651
652 * Upgrade V8 to 3.1.8.5
653
654
655 2011.03.18, Version 0.4.3 (stable), c095ce1a1b41ca015758a713283bf1f0bd41e4c4
656
657 * Don't decrease server connection counter again if destroy() is called more
658         than once GH-431 (Andreas Reich, Anders Conbere)
659
660 * Documentation improvements (koichik)
661
662 * Fix bug with setMaxListeners GH-682
663
664 * Start up memory footprint improvement. (Tom Hughes)
665
666 * Solaris improvements.
667
668 * Buffer::Length(Buffer*) should not invoke itself recursively GH-759 (Ben
669   Noordhuis)
670
671 * TLS: Advertise support for client certs GH-774 (Theo Schlossnagle)
672
673 * HTTP Agent bugs: GH-787, GH-784, GH-803.
674
675 * Don't call GetMemoryUsage every 5 seconds.
676
677 * Upgrade V8 to 3.1.8.3
678
679
680 2011.03.02, Version 0.4.2 (stable), 39280e1b5731f3fcd8cc42ad41b86cdfdcb6d58b
681
682 * Improve docs.
683
684 * Fix process.on edge case with signal event (Alexis Sellier)
685
686 * Pragma HTTP header comma separation
687
688 * In addition to 'aborted' emit 'close' from incoming requests
689   (Felix Geisendörfer)
690
691 * Fix memleak in vm.runInNewContext
692
693 * Do not cache modules that throw exceptions (Felix Geisendörfer)
694
695 * Build system changes for libnode (Aria Stewart)
696
697 * Read up the prototype of the 'env' object. (Nathan Rajlich)
698
699 * Add 'close' and 'aborted' events to Agent responses
700
701 * http: fix missing 'drain' events (Russell Haering)
702
703 * Fix process.stdout.end() throws ENOTSOCK error. (Koichi Kobayashi)
704
705 * REPL bug fixes (isaacs)
706
707 * node_modules folders should be highest priority (isaacs)
708
709 * URL parse more safely (isaacs)
710
711 * Expose errno with a string for dns/cares (Felix Geisendörfer)
712
713 * Fix tty.setWindowSize
714
715 * spawn: setuid after chdir (isaacs)
716
717 * SIGUSR1 should break the VM without delay
718
719 * Upgrade V8 to 3.1.8.
720
721
722 2011.02.19, Version 0.4.1 (stable), e8aef84191bc2c1ba2bcaa54f30aabde7f03769b
723
724 * Fixed field merging with progressive fields on writeHead()
725   (TJ Holowaychuk)
726
727 * Make the repl respect node_modules folders (isaacs)
728
729 * Fix for DNS fail in HTTP request (Richard Rodger)
730
731 * Default to port 80 for http.request and http.get.
732
733 * Improve V8 support for Cygwin (Bert Belder)
734
735 * Fix fs.open param parsing. (Felix Geisendörfer)
736
737 * Fixed null signal.
738
739 * Fix various HTTP and HTTPS bugs
740
741 * cmake improvements (Tom Hughes)
742
743 * Fix: TLS sockets should not be writable after 'end'
744
745 * Fix os.cpus() on cygwin (Brian White)
746
747 * MinGW: OpenSSL support (Bert Belder)
748
749 * Upgrade V8 to 3.1.5, libev to 4.4.
750
751
752 2011.02.10, Version 0.4.0 (stable)
753
754 * require() improvements (isaacs)
755   - understand package.json (isaacs)
756   - look for 'node_modules' dir
757
758 * cmake fixes (Daniel Gröber)
759
760 * http: fix buffer writes to outgoing messages (Russell Haering)
761
762 * Expose UCS-2 Encoding (Konstantin Käfer)
763
764 * Support strings for octal modes (isaacs)
765
766 * Support array-ish args to Buffer ctor (isaacs)
767
768 * cygwin and mingw improvements (Bert Belder)
769
770 * TLS improvements
771
772 * Fewer syscalls during require (Bert Belder, isaacs)
773
774 * More DTrace probes (Bryan Cantrill,  Robert Mustacchi)
775
776 * 'pipe' event on pipe() (Mikeal Rogers)
777
778 * CRL support in TLS (Theo Schlossnagle)
779
780 * HTTP header manipulation methods (Tim Caswell, Charlie Robbins)
781
782 * Upgrade V8 to 3.1.2
783
784
785 2011.02.04, Version 0.3.8 (unstable)
786
787 * Add req.abort() for client side requests.
788
789 * Add exception.code for easy testing:
790   Example: if (err.code == 'EADDRINUSE');
791
792 * Add process.stderr.
793
794 * require.main is the main module. (Isaac Schlueter)
795
796 * dgram: setMulticastTTL, setMulticastLoopback and addMembership.
797   (Joe Walnes)
798
799 * Fix throttling in TLS connections
800
801 * Add socket.bufferSize
802
803 * MinGW improvements (Bert Belder)
804
805 * Upgrade V8 to 3.1.1
806
807 2011.01.27, Version 0.3.7 (unstable)
808
809 * Expose agent in http and https client. (Mikeal Rogers)
810
811 * Fix bug in http request's end method. (Ali Farhadi)
812
813 * MinGW: better net support (Bert Belder)
814
815 * fs.open should set FD_CLOEXEC
816
817 * DTrace probes (Bryan Cantrill)
818
819 * REPL fixes and improvements (isaacs, Bert Belder)
820
821 * Fix many bugs with legacy http.Client interface
822
823 * Deprecate process.assert. Use require('assert').ok
824
825 * Add callback parameter to socket.setTimeout(). (Ali Farhadi)
826
827 * Fixing bug in http request default encoding (Ali Farhadi)
828
829 * require: A module ID with a trailing slash must be a dir.
830   (isaacs)
831
832 * Add ext_key_usage to getPeerCertificate (Greg Hughes)
833
834 * Error when child_process.exec hits maxBuffer.
835
836 * Fix option parsing in tls.connect()
837
838 * Upgrade to V8 3.0.10
839
840
841 2011.01.21, Version 0.3.6 (unstable), bb3e71466e5240626d9d21cf791fe43e87d90011
842
843 * REPL and other improvements on MinGW (Bert Belder)
844
845 * listen/bind errors should close net.Server
846
847 * New HTTP and HTTPS client APIs
848
849 * Upgrade V8 to 3.0.9
850
851
852 2011.01.16, Version 0.3.5 (unstable), b622bc6305e3c675e0edfcdbaa387d849ad0bba0
853
854 * Built-in debugger improvements.
855
856 * Add setsid, setuid, setgid options to child_process.spawn
857   (Isaac Schlueter)
858
859 * tty module improvements.
860
861 * Upgrade libev to 4.3, libeio to latest, c-ares to 1.7.4
862
863 * Allow third party hooks before main module load.
864   (See 496be457b6a2bc5b01ec13644b9c9783976159b2)
865
866 * Don't stat() on cached modules. (Felix Geisendörfer)
867
868
869 2011.01.08, Version 0.3.4 (unstable)
870
871 * Primordial mingw build (Bert Belder)
872
873 * HTTPS server
874
875 * Built in debugger 'node debug script.js' 
876
877 * realpath files during module load (Mihai Călin Bazon)
878
879 * Rename net.Stream to net.Socket (existing name will continue to be
880   supported)
881
882 * Fix process.platform
883
884
885 2011.01.02, Version 0.3.3 (unstable), 57544ba1c54c7d0da890317deeb73076350c5647
886
887 * TLS improvements.
888
889 * url.parse(url, true) defaults query field to {} (Jeremy Martin)
890
891 * Upgrade V8 to 3.0.4
892
893 * Handle ECONNABORT properly (Theo Schlossnagle)
894
895 * Fix memory leaks (Tom Hughes)
896
897 * Add os.cpus(), os.freemem(), os.totalmem(), os.loadavg() and other
898   functions for OSX, Linux, and Cygwin. (Brian White)
899
900 * Fix REPL syntax error bug (GH-543), improve how REPL commands are
901   evaluated.
902
903 * Use process.stdin instead of process.openStdin().
904
905 * Disable TLS tests when node doesn't have OpenSSL.
906
907
908 2010.12.16, Version 0.3.2 (unstable), 4bb914bde9f3c2d6de00853353b6b8fc9c66143a
909
910 * Rip out the old (broken) TLS implementation introduce new tested
911   implementation and API. See docs. HTTPS not supported in this release.
912
913 * Introduce 'os' and 'tty' modules.
914
915 * Callback parameters for socket.write() and socket.connect().
916
917 * Support CNAME lookups in DNS module. (Ben Noordhuis)
918
919 * cmake support (Tom Hughes)
920
921 * 'make lint'
922
923 * oprofile support (./configure --oprofile)
924
925 * Lots of bug fixes, including:
926   - Memory leak in ChildProcess:Spawn(). (Tom Hughes)
927   - buffer.slice(0, 0)
928   - Global variable leaks
929   - clearTimeouts calling multiple times (Michael W)
930   - utils.inspect's detection of circular structures (Tim Cooijmans)
931   - Apple's threaded write()s bug (Jorge Chamorro Bieling)
932   - Make sure raw mode is disabled when exiting a terminal-based REPL.
933     (Brian White)
934
935 * Deprecate process.compile, process.ENV
936
937 * Upgrade V8 to 3.0.3, upgrade http-parser.
938
939
940 2010.11.16, Version 0.3.1 (unstable), ce9a54aa1fbf709dd30316af8a2f14d83150e947
941
942 * TLS improvements (Paul Querna)
943   - Centralize error handling in SecureStream
944   - Add SecurePair for handling of a ssl/tls stream.
945
946 * New documentation organization (Micheil Smith)
947
948 * allowHalfOpen TCP connections disabled by default.
949
950 * Add C++ API for constructing fast buffer from string
951
952 * Move idle timers into its own module
953
954 * Gracefully handle EMFILE and server.maxConnections
955
956 * make "node --eval" eval in the global scope.
957   (Jorge Chamorro Bieling)
958
959 * Let exit listeners know the exit code (isaacs)
960
961 * Handle cyclic links smarter in fs.realpath (isaacs)
962
963 * Remove node-repl (just use 'node' without args)
964
965 * Rewrite libeio After callback to use req->result instead of req->errorno
966   for error checking (Micheil Smith)
967
968 * Remove warning about deprecating 'sys' - too aggressive
969
970 * Make writes to process.env update the real environment. (Ben Noordhuis)
971
972 * Set FD_CLOEXEC flag on stdio FDs before spawning. (Guillaume Tuton)
973
974 * Move ev_loop out of javascript
975
976 * Switch \n with \r\n for all strings printed out.
977
978 * Added support for cross compilation (Rasmus Andersson)
979
980 * Add --profile flag to configure script, enables gprof profiling.
981   (Ben Noordhuis)
982
983 * writeFileSync could exhibit pathological behavior when a buffer
984   could not be written to the file in a single write() call.
985
986 * new path.join behavior (isaacs)
987   - Express desired path.join behavior in tests.
988   - Update fs.realpath to reflect new path.join behavior
989   - Update url.resolve() to use new path.join behavior.
990
991 * API: Move process.binding('evals') to require('vm')
992
993 * Fix V8 build on Cygwin (Bert Belder)
994
995 * Add ref to buffer during fs.write and fs.read
996
997 * Fix segfault on test-crypto
998
999 * Upgrade http-parser to latest and V8 to 2.5.3
1000
1001
1002 2010.10.23, Version 0.3.0 (unstable) 1582cfebd6719b2d2373547994b3dca5c8c569c0
1003
1004 * Bugfix: Do not spin on accept() with EMFILE
1005
1006 * Improvements to readline.js (Trent Mick, Johan Euphrosine, Brian White)
1007
1008 * Safe constructors (missing 'new' doesn't segfault)
1009
1010 * Fix process.nextTick so thrown errors don't confuse it.
1011   (Benjamin Thomas)
1012
1013 * Allow Strings for ports on net.Server.listen (Bradley Meck)
1014
1015 * fs bugfixes (Tj Holowaychuk, Tobie Langel, Marco Rogers, isaacs)
1016
1017 * http bug fixes (Fedor Indutny, Mikeal Rogers) 
1018
1019 * Faster buffers; breaks C++ API (Tim-Smart, Stéphan Kochen)
1020
1021 * crypto, tls improvements (Paul Querna)
1022
1023 * Add lfs flags to node addon script
1024
1025 * Simpler querystring parsing; breaks API (Peter Griess)
1026
1027 * HTTP trailers (Mark Nottingham)
1028
1029 * http 100-continue support (Mark Nottingham)
1030
1031 * Module system simplifications (Herbert Vojčík, isaacs, Tim-Smart)
1032   - remove require.async
1033   - remove registerExtension, add .extensions
1034   - expose require.resolve
1035   - expose require.cache
1036   - require looks in  node_modules folders
1037
1038 * Add --eval command line option (TJ Holowaychuk)
1039
1040 * Commas last in sys.inspect
1041
1042 * Constants moved from process object to require('constants')
1043
1044 * Fix parsing of linux memory (Vitali Lovich)
1045
1046 * inspect shows function names (Jorge Chamorro Bieling)
1047
1048 * uncaughtException corner cases (Felix Geisendörfer)
1049
1050 * TCP clients now buffer writes before connection
1051
1052 * Rename sys module to 'util' (Micheil Smith)
1053
1054 * Properly set stdio handlers to blocking on SIGTERM and SIGINT
1055   (Tom Hughes)
1056
1057 * Add destroy methods to HTTP messages
1058
1059 * base64 improvements (isaacs, Jorge Chamorro Bieling)
1060
1061 * API for defining REPL commands (Sami Samhuri)
1062
1063 * child_process.exec timeout fix (Aaron Heckmann)
1064
1065 * Upgrade V8 to 2.5.1, Libev to 4.00, libeio, http-parser
1066
1067
1068 2010.08.20, Version 0.2.0, 9283e134e558900ba89d9a33c18a9bdedab07cb9
1069
1070 * process.title support for FreeBSD, Macintosh, Linux
1071
1072 * Fix OpenSSL 100% CPU usage on error (Illarionov Oleg)
1073
1074 * Implement net.Server.maxConnections.
1075
1076 * Fix process.platform, add process.version.
1077
1078 * Add --without-snapshot configure option.
1079
1080 * Readline REPL improvements (Trent Mick)
1081
1082 * Bug fixes.
1083
1084 * Upgrade V8 to 2.3.8
1085
1086
1087 2010.08.13, Version 0.1.104
1088
1089 * Various bug fixes (console, querystring, require)
1090
1091 * Set cwd for child processes (Bert Belder)
1092
1093 * Tab completion for readline (Trent Mick)
1094
1095 * process.title getter/setter for OSX, Linux, Cygwin.
1096         (Rasmus Andersson, Bert Belder)
1097
1098 * Upgrade V8 to 2.3.6
1099
1100
1101 2010.08.04, Version 0.1.103, 0b925d075d359d03426f0b32bb58a5e05825b4ea
1102
1103 * Implement keep-alive for http.Client (Mikeal Rogers)
1104
1105 * base64 fixes. (Ben Noordhuis)
1106
1107 * Fix --debug-brk (Danny Coates)
1108
1109 * Don't let path.normalize get above the root. (Isaac Schlueter)
1110
1111 * Allow signals to be used with process.on in addition to
1112   process.addListener. (Brian White)
1113
1114 * Globalize the Buffer object
1115
1116 * Use kqueue on recent macintosh builds
1117
1118 * Fix addrlen for unix_dgram sockets (Benjamin Kramer)
1119
1120 * Fix stats.isDirectory() and friends (Benjamin Kramer)
1121
1122 * Upgrade http-parser, V8 to 2.3.5
1123
1124
1125 2010.07.25, Version 0.1.102, 2a4568c85f33869c75ff43ccd30f0ec188b43eab
1126
1127 * base64 encoding for Buffers.
1128
1129 * Buffer support for Cipher, Decipher, Hmac, Sign and Verify
1130   (Andrew Naylor)
1131
1132 * Support for reading byte ranges from files using fs.createReadStream.
1133   (Chandra Sekar)
1134
1135 * Fix Buffer.toString() on 0-length slices. (Peter Griess)
1136
1137 * Cache modules based on filename rather than ID (Isaac Schlueter)
1138
1139 * querystring improvments (Jan Kassens, Micheil Smith)
1140
1141 * Support DEL in the REPL. (Jérémy Lal)
1142
1143 * Upgrade http-parser, upgrade V8 to 2.3.2
1144
1145
1146 2010.07.16, Version 0.1.101, 0174ceb6b24caa0bdfc523934c56af9600fa9b58
1147
1148 * Added env to child_process.exec (Сергей Крыжановский)
1149
1150 * Allow modules to optionally be loaded in separate contexts
1151   with env var NODE_MODULE_CONTEXTS=1.
1152
1153 * setTTL and setBroadcast for dgram (Matt Ranney)
1154
1155 * Use execPath for default NODE_PATH, not installPrefix
1156   (Isaac Schlueter)
1157
1158 * Support of console.dir + console.assert (Jerome Etienne)
1159
1160 * on() as alias to addListener()
1161
1162 * Use javascript port of Ronn to build docs (Jérémy Lal)
1163
1164 * Upgrade V8 to 2.3.0
1165
1166
1167 2010.07.03, Version 0.1.100, a6b8586e947f9c3ced180fe68c233d0c252add8b
1168
1169 * process.execPath (Marshall Culpepper)
1170
1171 * sys.pump (Mikeal Rogers)
1172
1173 * Remove ini and mjsunit libraries.
1174
1175 * Introduce console.log() and friends.
1176
1177 * Switch order of arguments for Buffer.write (Blake Mizerany)
1178
1179 * On overlapping buffers use memmove (Matt Ranney)
1180
1181 * Resolve .local domains with getaddrinfo()
1182
1183 * Upgrade http-parser, V8 to 2.2.21
1184
1185
1186 2010.06.21, Version 0.1.99, a620b7298f68f68a855306437a3b60b650d61d78 
1187
1188 * Datagram sockets (Paul Querna)
1189
1190 * fs.writeFile could not handle utf8 (Felix Geisendörfer)
1191   and now accepts Buffers (Aaron Heckmann)
1192
1193 * Fix crypto memory leaks.
1194
1195 * A replacement for decodeURIComponent that doesn't throw.
1196   (Isaac Schlueter)
1197
1198 * Only concatenate some incoming HTTP headers. (Peter Griess)
1199
1200 * Upgrade V8 to 2.2.18
1201
1202
1203 2010.06.11, Version 0.1.98, 10d8adb08933d1d4cea60192c2a31c56d896733d
1204
1205 * Port to Windows/Cygwin (Raffaele Sena)
1206
1207 * File descriptor passing on unix sockets. (Peter Griess)
1208
1209 * Simple, builtin readline library. REPL is now entered by
1210   executing "node" without arguments.
1211
1212 * Add a parameter to spawn() that sets the child's stdio file
1213   descriptors. (Orlando Vazquez)
1214
1215 * Upgrade V8 to 2.2.16, http-parser fixes, upgrade c-ares to 1.7.3.
1216
1217
1218 2010.05.29, Version 0.1.97, 0c1aa36835fa6a3557843dcbc6ed6714d353a783
1219
1220 * HTTP throttling: outgoing messages emit 'drain' and write() returns false
1221   when send buffer is full.
1222
1223 * API: readFileSync without encoding argument now returns a Buffer
1224
1225 * Improve Buffer C++ API; addons now compile with debugging symbols.
1226
1227 * Improvements to  path.extname() and REPL; add fs.chown().
1228
1229 * fs.ReadStream now emits buffers, fs.readFileSync returns buffers.
1230
1231 * Bugfix: parsing HTTP responses to HEAD requests.
1232
1233 * Port to OpenBSD.
1234
1235 * Upgrade V8 to 2.2.12, libeio, http-parser.
1236
1237
1238 2010.05.21, Version 0.1.96, 9514a4d5476225e8c8310ce5acae2857033bcaaa
1239
1240 * Thrown errors in http and socket call back get bubbled up.
1241
1242 * Add fs.fsync (Andrew Johnston)
1243
1244 * Bugfix: signal unregistering (Jonas Pfenniger)
1245
1246 * Added better error messages for async and sync fs calls with paths
1247   (TJ Holowaychuk)
1248
1249 * Support arrays and strings in buffer constructor.
1250   (Felix Geisendörfer)
1251
1252 * Fix errno reporting in DNS exceptions.
1253
1254 * Support buffers in fs.WriteStream.write.
1255
1256 * Bugfix: Safely decode a utf8 streams that are broken on a multbyte
1257   character (http and net). (Felix Geisendörfer)
1258
1259 * Make Buffer's C++ constructor public.
1260
1261 * Deprecate sys.p()
1262
1263 * FIX path.dirname('/tmp') => '/'. (Jonathan Rentzsch)
1264
1265
1266 2010.05.13, Version 0.1.95, 0914d33842976c2c870df06573b68f9192a1fb7a
1267
1268 * Change GC idle notify so that it runs alongside setInterval
1269
1270 * Install node_buffer.h on make install
1271
1272 * fs.readFile returns Buffer by default (Tim Caswell)
1273
1274 * Fix error reporting in child_process callbacks
1275
1276 * Better logic for testing if an argument is a port
1277
1278 * Improve error reporting (single line "node.js:176:9" errors)
1279
1280 * Bugfix: Some http responses being truncated (appeared in 0.1.94)
1281
1282 * Fix long standing net idle timeout bugs. Enable 2 minute timeout
1283   by default in HTTP servers.
1284
1285 * Add fs.fstat (Ben Noordhuis)
1286
1287 * Upgrade to V8 2.2.9
1288
1289
1290 2010.05.06, Version 0.1.94, f711d5343b29d1e72e87107315708e40951a7826
1291
1292 * Look in /usr/local/lib/node for modules, so that there's a way 
1293   to install modules globally (Issac Schlueter)
1294
1295 * SSL improvements (Rhys Jones, Paulo Matias)
1296
1297 * Added c-ares headers for linux-arm (Jonathan Knezek)
1298
1299 * Add symbols to release build
1300
1301 * HTTP upgrade improvements, docs (Micheil Smith)
1302
1303 * HTTP server emits 'clientError' instead of printing message
1304
1305 * Bugfix: Don't emit 'error' twice from http.Client
1306
1307 * Bugfix: Ignore SIGPIPE
1308
1309 * Bugfix: destroy() instead of end() http connection at end of
1310   pipeline
1311
1312 * Bugfix: http.Client may be prematurely released back to the 
1313   free pool.  (Thomas Lee)
1314
1315 * Upgrade V8 to 2.2.8
1316
1317
1318 2010.04.29, Version 0.1.93, 557ba6bd97bad3afe0f9bd3ac07efac0a39978c1
1319
1320   * Fixed no 'end' event on long chunked HTTP messages
1321     http://github.com/ry/node/issues/#issue/77
1322
1323   * Remove legacy modules http_old and tcp_old
1324
1325   * Support DNS MX queries (Jérémy Lal)
1326
1327   * Fix large socket write (tlb@tlb.org)
1328
1329   * Fix child process exit codes (Felix Geisendörfer)
1330
1331   * Allow callers to disable PHP/Rails style parameter munging in
1332     querystring.stringify (Thomas Lee)
1333
1334   * Upgrade V8 to 2.2.6
1335
1336
1337 2010.04.23, Version 0.1.92, caa828a242f39b6158084ef4376355161c14fe34
1338
1339   * OpenSSL support. Still undocumented (see tests). (Rhys Jones)
1340
1341   * API: Unhandled 'error' events throw.
1342
1343   * Script class with eval-function-family in binding('evals') plus tests.
1344     (Herbert Vojcik)
1345
1346   * stream.setKeepAlive (Julian Lamb)
1347
1348   * Bugfix: Force no body on http 204 and 304
1349
1350   * Upgrade Waf to 1.5.16, V8 to 2.2.4.2
1351
1352
1353 2010.04.15, Version 0.1.91, 311d7dee19034ff1c6bc9098c36973b8d687eaba
1354
1355   * Add incoming.httpVersion
1356
1357   * Object.prototype problem with C-Ares binding
1358
1359   * REPL can be run from multiple different streams. (Matt Ranney)
1360
1361   * After V8 heap is compact, don't use a timer every 2 seconds.
1362
1363   * Improve nextTick implementation.
1364
1365   * Add primative support for Upgrading HTTP connections.
1366     (See commit log for docs 760bba5)
1367
1368   * Add timeout and maxBuffer options to child_process.exec
1369
1370   * Fix bugs.
1371
1372   * Upgrade V8 to 2.2.3.1
1373
1374
1375 2010.04.09, Version 0.1.90, 07e64d45ffa1856e824c4fa6afd0442ba61d6fd8
1376
1377   * Merge writing of networking system (net2)
1378    - New Buffer object for binary data.
1379    - Support UNIX sockets, Pipes
1380    - Uniform stream API
1381    - Currently no SSL
1382    - Legacy modules can be accessed at 'http_old' and 'tcp_old'
1383
1384   * Replace udns with c-ares. (Krishna Rajendran)
1385
1386   * New documentation system using Markdown and Ronn
1387     (Tim Caswell, Micheil Smith)
1388
1389   * Better idle-time GC
1390
1391   * Countless small bug fixes.
1392
1393   * Upgrade V8 to 2.2.X, WAF 1.5.15
1394
1395
1396 2010.03.19, Version 0.1.33, 618296ef571e873976f608d91a3d6b9e65fe8284
1397
1398   * Include lib/ directory in node executable. Compile on demand.
1399
1400   * evalcx clean ups (Isaac Z. Schlueter, Tim-Smart)
1401
1402   * Various fixes, clean ups
1403
1404   * V8 upgraded to 2.1.5
1405
1406
1407 2010.03.12, Version 0.1.32, 61c801413544a50000faa7f58376e9b33ba6254f
1408
1409   * Optimize event emitter for single listener
1410
1411   * Add process.evalcx, require.registerExtension (Tim Smart)
1412
1413   * Replace --cflags with --vars
1414
1415   * Fix bugs in fs.create*Stream (Felix Geisendörfer)
1416
1417   * Deprecate process.mixin, process.unloop
1418
1419   * Remove the 'Error: (no message)' exceptions, print stack
1420     trace instead
1421
1422   * INI parser bug fixes (Isaac Schlueter)
1423
1424   * FreeBSD fixes (Vanilla Hsu)
1425
1426   * Upgrade to V8 2.1.3, WAF 1.5.14a, libev
1427
1428
1429 2010.03.05, Version 0.1.31, 39b63dfe1737d46a8c8818c92773ef181fd174b3
1430
1431   * API: - Move process.watchFile into fs module
1432          - Move process.inherits to sys
1433
1434   * Improve Solaris port
1435
1436   * tcp.Connection.prototype.write now returns boolean to indicate if
1437     argument was flushed to the kernel buffer.
1438
1439   * Added fs.link, fs.symlink, fs.readlink, fs.realpath
1440     (Rasmus Andersson)
1441
1442   * Add setgid,getgid (James Duncan)
1443
1444   * Improve sys.inspect (Benjamin Thomas)
1445
1446   * Allow passing env to child process (Isaac Schlueter)
1447
1448   * fs.createWriteStream, fs.createReadStream (Felix Geisendörfer)
1449
1450   * Add INI parser (Rob Ellis)
1451
1452   * Bugfix: fs.readFile handling encoding (Jacek Becela)
1453
1454   * Upgrade V8 to 2.1.2
1455
1456
1457 2010.02.22, Version 0.1.30, bb0d1e65e1671aaeb21fac186b066701da0bc33b
1458
1459   * Major API Changes
1460
1461     - Promises removed. See
1462       http://groups.google.com/group/nodejs/msg/426f3071f3eec16b
1463       http://groups.google.com/group/nodejs/msg/df199d233ff17efa
1464       The API for fs was
1465
1466          fs.readdir("/usr").addCallback(function (files) {
1467            puts("/usr files: " + files);
1468          });
1469
1470       It is now
1471
1472          fs.readdir("/usr", function (err, files) {
1473            if (err) throw err;
1474            puts("/usr files: " + files);
1475          });
1476
1477     - Synchronous fs operations exposed, use with care.
1478
1479     - tcp.Connection.prototype.readPause() and readResume()
1480       renamed to pause() and resume()
1481
1482     - http.ServerResponse.prototype.sendHeader() renamed to
1483       writeHeader(). Now accepts reasonPhrase.
1484
1485   * Compact garbage on idle.
1486
1487   * Configurable debug ports, and --debug-brk (Zoran Tomicic)
1488
1489   * Better command line option parsing (Jeremy Ashkenas)
1490
1491   * Add fs.chmod (Micheil Smith), fs.lstat (Isaac Z. Schlueter)
1492
1493   * Fixes to process.mixin (Rasmus Andersson, Benjamin Thomas)
1494
1495   * Upgrade V8 to 2.1.1
1496
1497
1498 2010.02.17, Version 0.1.29, 87d5e5b316a4276bcf881f176971c1a237dcdc7a
1499
1500   * Major API Changes
1501     - Remove 'file' module
1502     - require('posix') -----------------> require('fs')
1503     - fs.cat ---------------------------> fs.readFile
1504     - file.write -----------------------> fs.writeFile
1505     - TCP 'receive' event --------------> 'data'
1506     - TCP 'eof' event ------------------> 'end'
1507     - TCP send() -----------------------> write()
1508     - HTTP sendBody() ------------------> write()
1509     - HTTP finish() --------------------> close()
1510     - HTTP 'body' event ----------------> 'data'
1511     - HTTP 'complete' event ------------> 'end'
1512     - http.Client.prototype.close() (formerly finish()) no longer
1513       takes an argument. Add the 'response' listener manually.
1514     - Allow strings for the flag argument to fs.open
1515       ("r", "r+", "w", "w+", "a", "a+")
1516
1517   * Added multiple arg support for sys.puts(), print(), etc.
1518     (tj@vision-media.ca)
1519
1520   * sys.inspect(Date) now shows the date value (Mark Hansen)
1521
1522   * Calculate page size with getpagesize for armel (Jérémy Lal)
1523
1524   * Bugfix: stderr flushing.
1525
1526   * Bugfix: Promise late chain (Yuichiro MASUI)
1527
1528   * Bugfix: wait() on fired promises
1529     (Felix Geisendörfer, Jonas Pfenniger)
1530
1531   * Bugfix: Use InstanceTemplate() instead of PrototypeTemplate() for
1532     accessor methods. Was causing a crash with Eclipse debugger.
1533     (Zoran Tomicic)
1534
1535   * Bugfix: Throw from connection.connect if resolving.
1536     (Reported by James Golick)
1537
1538
1539 2010.02.09, Version 0.1.28, 49de41ef463292988ddacfb01a20543b963d9669
1540
1541   * Use Google's jsmin.py which can be used for evil.
1542
1543   * Add posix.truncate()
1544
1545   * Throw errors from server.listen()
1546
1547   * stdio bugfix (test by Mikeal Rogers)
1548
1549   * Module system refactor (Felix Geisendörfer, Blaine Cook)
1550
1551   * Add process.setuid(), getuid() (Michael Carter)
1552
1553   * sys.inspect refactor (Tim Caswell)
1554
1555   * Multipart library rewrite (isaacs)
1556
1557
1558 2010.02.03, Version 0.1.27, 0cfa789cc530848725a8cb5595224e78ae7b9dd0
1559
1560   * Implemented __dirname (Felix Geisendörfer)
1561
1562   * Downcase process.ARGV, process.ENV, GLOBAL
1563     (now process.argv, process.env, global)
1564
1565   * Bug Fix: Late promise promise callbacks firing
1566     (Felix Geisendörfer, Jonas Pfenniger)
1567
1568   * Make assert.AssertionError instance of Error
1569
1570   * Removed inline require call for querystring
1571     (self@cloudhead.net)
1572
1573   * Add support for MX, TXT, and SRV records in DNS module.
1574     (Blaine Cook)
1575
1576   * Bugfix: HTTP client automatically reconnecting
1577
1578   * Adding OS X .dmg build scripts. (Standa Opichal)
1579
1580   * Bugfix: ObjectWrap memory leak
1581
1582   * Bugfix: Multipart handle Content-Type headers with charset
1583     (Felix Geisendörfer)
1584
1585   * Upgrade http-parser to fix header overflow attack.
1586
1587   * Upgrade V8 to 2.1.0
1588
1589   * Various other bug fixes, performance improvements.
1590
1591
1592 2010.01.20, Version 0.1.26, da00413196e432247346d9e587f8c78ce5ceb087
1593
1594   * Bugfix, HTTP eof causing crash (Ben Williamson)
1595
1596   * Better error message on SyntaxError
1597
1598   * API: Move Promise and EventEmitter into 'events' module
1599
1600   * API: Add process.nextTick()
1601
1602   * Allow optional params to setTimeout, setInterval
1603     (Micheil Smith)
1604
1605   * API: change some Promise behavior (Felix Geisendörfer)
1606     - Removed Promise.cancel()
1607     - Support late callback binding
1608     - Make unhandled Promise errors throw an exception
1609
1610   * Upgrade V8 to 2.0.6.1
1611
1612   * Solaris port (Erich Ocean)
1613
1614
1615 2010.01.09, Version 0.1.25, 39ca93549af91575ca9d4cbafd1e170fbcef3dfa
1616
1617   * sys.inspect() improvements (Tim Caswell)
1618
1619   * path module improvements (isaacs, Benjamin Thomas)
1620
1621   * API: request.uri -> request.url
1622     It is no longer an object, but a string. The 'url' module
1623     was addded to parse that string. That is, node no longer
1624     parses the request URL automatically.
1625
1626        require('url').parse(request.url)
1627
1628     is roughly equivlent to the old request.uri object.
1629     (isaacs)
1630
1631   * Bugfix: Several libeio related race conditions.
1632
1633   * Better errors for multipart library (Felix Geisendörfer)
1634
1635   * Bugfix: Update node-waf version to 1.5.10
1636
1637   * getmem for freebsd (Vanilla Hsu)
1638
1639
1640 2009.12.31, Version 0.1.24, 642c2773a7eb2034f597af1cd404b9e086b59632
1641
1642   * Bugfix: don't chunk responses to HTTP/1.0 clients, even if
1643     they send Connection: Keep-Alive (e.g. wget)
1644
1645   * Bugfix: libeio race condition
1646
1647   * Bugfix: Don't segfault on unknown http method
1648
1649   * Simplify exception reporting
1650
1651   * Upgrade V8 to 2.0.5.4
1652
1653
1654 2009.12.22, Version 0.1.23, f91e347eeeeac1a8bd6a7b462df0321b60f3affc
1655
1656   * Bugfix: require("../blah") issues (isaacs)
1657
1658   * Bugfix: posix.cat (Jonas Pfenniger)
1659
1660   * Do not pause request for multipart parsing (Felix Geisendörfer)
1661
1662
1663 2009.12.19, Version 0.1.22, a2d809fe902f6c4102dba8f2e3e9551aad137c0f
1664
1665   * Bugfix: child modules get wrong id with "index.js" (isaacs)
1666
1667   * Bugfix: require("../foo") cycles (isaacs)
1668
1669   * Bugfix: require() should throw error if module does.
1670
1671   * New URI parser stolen from Narwhal (isaacs)
1672
1673   * Bugfix: correctly check kqueue and epoll. (Rasmus Andersson)
1674
1675   * Upgrade WAF to 1.5.10
1676
1677   * Bugfix: posix.statSync() was crashing
1678
1679   * Statically define string symbols for performance improvement
1680
1681   * Bugfix: ARGV[0] weirdness
1682
1683   * Added superCtor to ctor.super_ instead superCtor.prototype.
1684     (Johan Dahlberg)
1685
1686   * http-parser supports webdav methods
1687
1688   * API: http.Client.prototype.request() (Christopher Lenz)
1689
1690
1691 2009.12.06, Version 0.1.21, c6affb64f96a403a14d20035e7fbd6d0ce089db5
1692
1693   * Feature: Add HTTP client TLS support (Rhys Jones)
1694
1695   * Bugfix: use --jobs=1 with WAF
1696
1697   * Bugfix: Don't use chunked encoding for 1.0 requests
1698
1699   * Bugfix: Duplicated header weren't handled correctly
1700
1701   * Improve sys.inspect (Xavier Shay)
1702
1703   * Upgrade v8 to 2.0.3
1704
1705   * Use CommonJS assert API (Felix Geisendörfer, Karl Guertin)
1706
1707
1708 2009.11.28, Version 0.1.20, aa42c6790da8ed2cd2b72051c07f6251fe1724d8
1709
1710   * Add gnutls version to configure script
1711
1712   * Add V8 heap info to process.memoryUsage()
1713
1714   * process.watchFile callback has 2 arguments with the stat object
1715     (choonkeat@gmail.com)
1716
1717
1718 2009.11.28, Version 0.1.19, 633d6be328708055897b72327b88ac88e158935f
1719
1720   * Feature: Initial TLS support for TCP servers and clients.
1721     (Rhys Jones)
1722
1723   * Add options to process.watchFile()
1724
1725   * Add process.umask() (Friedemann Altrock)
1726
1727   * Bugfix: only detach timers when active.
1728
1729   * Bugfix: lib/file.js write(), shouldn't always emit errors or success
1730     (onne@onnlucky.com)
1731
1732   * Bugfix: Memory leak in fs.write
1733     (Reported by onne@onnlucky.com)
1734
1735   * Bugfix: Fix regular expressions detecting outgoing message headers.
1736     (Reported by Elliott Cable)
1737
1738   * Improvements to Multipart parser (Felix Geisendörfer)
1739
1740   * New HTTP parser
1741
1742   * Upgrade v8 to 2.0.2
1743
1744
1745 2009.11.17, Version 0.1.18, 027829d2853a14490e6de9fc5f7094652d045ab8
1746
1747   * Feature: process.watchFile() process.unwatchFile()
1748
1749   * Feature: "uncaughtException" event on process
1750     (Felix Geisendörfer)
1751
1752   * Feature: 'drain' event to tcp.Connection
1753
1754   * Bugfix: Promise.timeout() blocked the event loop
1755     (Felix Geisendörfer)
1756
1757   * Bugfix: sendBody() and chunked utf8 strings
1758     (Felix Geisendörfer)
1759
1760   * Supply the strerror as a second arg to the tcp.Connection close
1761     event (Johan Sørensen)
1762
1763   * Add EventEmitter.removeListener (frodenius@gmail.com)
1764
1765   * Format JSON for inspecting objects (Felix Geisendörfer)
1766
1767   * Upgrade libev to latest CVS
1768
1769
1770 2009.11.07, Version 0.1.17, d1f69ef35dac810530df8249d523add168e09f03
1771
1772   * Feature: process.chdir() (Brandon Beacher)
1773
1774   * Revert http parser upgrade. (b893859c34f05db5c45f416949ebc0eee665cca6)
1775     Broke keep-alive.
1776
1777   * API: rename process.inherits to sys.inherits
1778
1779
1780 2009.11.03, Version 0.1.16, 726865af7bbafe58435986f4a193ff11c84e4bfe
1781
1782   * API: Use CommonJS-style module requiring
1783     - require("/sys.js") becomes require("sys")
1784     - require("circle.js") becomes require("./circle")
1785     - process.path.join() becomes require("path").join()
1786     - __module becomes module
1787
1788   * API: Many namespacing changes
1789     - Move node.* into process.*
1790     - Move node.dns into module "dns"
1791     - Move node.fs into module "posix"
1792     - process is no longer the global object. GLOBAL is.
1793
1794   For more information on the API changes see:
1795     http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/6
1796     http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/14
1797
1798   * Feature: process.platform, process.memoryUsage()
1799
1800   * Feature: promise.cancel() (Felix Geisendörfer)
1801
1802   * Upgrade V8 to 1.3.18
1803
1804
1805 2009.10.28, Version 0.1.15, eca2de73ed786b935507fd1c6faccd8df9938fd3
1806
1807   * Many build system fixes (esp. for OSX users)
1808
1809   * Feature: promise.timeout() (Felix Geisendörfer)
1810
1811   * Feature: Added external interface for signal handlers, process.pid, and
1812     process.kill() (Brandon Beacher)
1813
1814   * API: Rename node.libraryPaths to require.paths
1815
1816   * Bugfix: 'data' event for stdio should emit a string
1817
1818   * Large file support
1819
1820   * Upgrade http_parser
1821
1822   * Upgrade v8 to 1.3.16
1823
1824
1825 2009.10.09, Version 0.1.14, b12c809bb84d1265b6a4d970a5b54ee8a4890513
1826
1827   * Feature: Improved addon builds with node-waf
1828
1829   * Feature: node.SignalHandler (Brandon Beacher)
1830
1831   * Feature: Enable V8 debugging (but still need to make a debugger)
1832
1833   * API: Rename library /utils.js to /sys.js
1834
1835   * Clean up Node's build system
1836
1837   * Don't use parseUri for HTTP server
1838
1839   * Remove node.pc
1840
1841   * Don't use /bin/sh to create child process except with exec()
1842
1843   * API: Add __module to reference current module
1844
1845   * API: Remove include() add node.mixin()
1846
1847   * Normalize http headers; "Content-Length" becomes "content-length"
1848
1849   * Upgrade V8 to 1.3.15
1850
1851
1852 2009.09.30, Version 0.1.13, 58493bb05b3da3dc8051fabc0bdea9e575c1a107
1853
1854   * Feature: Multipart stream parser (Felix Geisendörfer)
1855
1856   * API: Move node.puts(), node.exec() and others to /utils.js
1857
1858   * API: Move http, tcp libraries to /http.js and /tcp.js
1859
1860   * API: Rename node.exit() to process.exit()
1861
1862   * Bugfix: require() and include() should work in callbacks.
1863
1864   * Pass the Host header in http.cat calls
1865
1866   * Add warning when coroutine stack size grows too large.
1867
1868   * Enhance repl library (Ray Morgan)
1869
1870   * Bugfix: build script for
1871       GCC 4.4 (removed -Werror in V8),
1872       on Linux 2.4,
1873       and with Python 2.4.4.
1874
1875   * Add read() and write() to /file.js to read and write
1876     whole files at once.
1877
1878
1879 2009.09.24, Version 0.1.12, 2f56ccb45e87510de712f56705598b3b4e3548ec
1880
1881   * Feature: System modules, node.libraryPaths
1882
1883   * API: Remove "raw" encoding, rename "raws" to "binary".
1884
1885   * API: Added connection.setNoDElay() to disable Nagle algo.
1886
1887   * Decrease default TCP server backlog to 128
1888
1889   * Bugfix: memory leak involving node.fs.* methods.
1890
1891   * Upgrade v8 to 1.3.13
1892
1893
1894 2009.09.18, Version 0.1.11, 5ddc4f5d0c002bac0ae3d62fc0dc58f0d2d83ec4
1895
1896   * API: default to utf8 encoding for node.fs.cat()
1897
1898   * API: add node.exec()
1899
1900   * API: node.fs.read() takes a normal encoding parameter.
1901
1902   * API: Change arguments of emit(), emitSuccess(), emitError()
1903
1904   * Bugfix: node.fs.write() was stack allocating buffer.
1905
1906   * Bugfix: ReportException shouldn't forget the top frame.
1907
1908   * Improve buffering for HTTP outgoing messages
1909
1910   * Fix and reenable x64 macintosh build.
1911
1912   * Upgrade v8 to 1.3.11
1913
1914
1915 2009.09.11, Version 0.1.10, 12bb0d46ce761e3d00a27170e63b40408c15b558
1916
1917   * Feature: raw string encoding "raws"
1918
1919   * Feature: access to environ through "ENV"
1920
1921   * Feature: add isDirectory, isFile, isSocket, ... methods
1922     to stats object.
1923
1924   * Bugfix: Internally use full paths when loading modules
1925     this fixes a shebang loading problem.
1926
1927   * Bugfix: Add '--' command line argument for seperating v8
1928     args from program args.
1929
1930   * Add man page.
1931
1932   * Add node-repl
1933
1934   * Upgrade v8 to 1.3.10
1935
1936 2009.09.05, Version 0.1.9, d029764bb32058389ecb31ed54a5d24d2915ad4c
1937
1938   * Bugfix: Compile on Snow Leopard.
1939
1940   * Bugfix: Malformed URIs raising exceptions.
1941
1942 2009.09.04, Version 0.1.8, e6d712a937b61567e81b15085edba863be16ba96
1943
1944   * Feature: External modules
1945
1946   * Feature: setTimeout() for node.tcp.Connection
1947
1948   * Feature: add node.cwd(), node.fs.readdir(), node.fs.mkdir()
1949
1950   * Bugfix: promise.wait() releasing out of order.
1951
1952   * Bugfix: Asyncly do getaddrinfo() on Apple.
1953
1954   * Disable useless evcom error messages.
1955
1956   * Better stack traces.
1957
1958   * Built natively on x64.
1959
1960   * Upgrade v8 to 1.3.9
1961
1962 2009.08.27, Version 0.1.7, f7acef9acf8ba8433d697ad5ed99d2e857387e4b
1963
1964   * Feature: global 'process' object. Emits "exit".
1965
1966   * Feature: promise.wait()
1967
1968   * Feature: node.stdio
1969
1970   * Feature: EventEmitters emit "newListener" when listeners are
1971     added
1972
1973   * API:  Use flat object instead of array-of-arrays for HTTP
1974     headers.
1975
1976   * API: Remove buffered file object (node.File)
1977
1978   * API: require(), include() are synchronous. (Uses
1979     continuations.)
1980
1981   * API: Deprecate onLoad and onExit.
1982
1983   * API: Rename node.Process to node.ChildProcess
1984
1985   * Refactor node.Process to take advantage of evcom_reader/writer.
1986
1987   * Upgrade v8 to 1.3.7
1988
1989 2009.08.22, Version 0.1.6, 9c97b1db3099d61cd292aa59ec2227a619f3a7ab
1990
1991   * Bugfix: Ignore SIGPIPE.
1992
1993 2009.08.21, Version 0.1.5, b0fd3e281cb5f7cd8d3a26bd2b89e1b59998e5ed
1994
1995   * Bugfix: Buggy connections could crash node.js. Now check
1996     connection before sending data every time (Kevin van Zonneveld)
1997
1998   * Bugfix: stdin fd (0) being ignored by node.File. (Abe Fettig)
1999
2000   * API: Remove connnection.fullClose()
2001
2002   * API: Return the EventEmitter from addListener for chaining.
2003
2004   * API: tcp.Connection "disconnect" event renamed to "close"
2005
2006   * Upgrade evcom
2007     Upgrade v8 to 1.3.6
2008
2009 2009.08.13, Version 0.1.4, 0f888ed6de153f68c17005211d7e0f960a5e34f3
2010
2011   * Major refactor to evcom.
2012
2013   * Enable test-tcp-many-clients.
2014
2015   * Add -m32 gcc flag to udns.
2016
2017   * Add connection.readPause() and connection.readResume()
2018     Add IncomingMessage.prototype.pause() and resume().
2019
2020   * Fix http benchmark. Wasn't correctly dispatching.
2021
2022   * Bugfix: response.setBodyEncoding("ascii") not working.
2023
2024   * Bugfix: Negative ints in HTTP's on_body and node.fs.read()
2025
2026   * Upgrade v8 to 1.3.4
2027     Upgrade libev to 3.8
2028     Upgrade http_parser to v0.2
2029
2030 2009.08.06, Version 0.1.3, 695f0296e35b30cf8322fd1bd934810403cca9f3
2031
2032   * Upgrade v8 to 1.3.2
2033
2034   * Bugfix: node.http.ServerRequest.setBodyEncoding('ascii') not
2035     working
2036
2037   * Bugfix: node.encodeUtf8 was broken. (Connor Dunn)
2038
2039   * Add ranlib to udns Makefile.
2040
2041   * Upgrade evcom - fix accepting too many connections issue.
2042
2043   * Initial support for shebang
2044
2045   * Add simple command line switches
2046
2047   * Add node.version API
2048
2049
2050 2009.08.01, Version 0.1.2, 025a34244d1cea94d6d40ad7bf92671cb909a96c
2051
2052   * Add DNS API
2053
2054   * node.tcp.Server's backlog option is now an argument to listen()
2055
2056   * Upgrade V8 to 1.3.1
2057
2058   * Bugfix: Default to chunked for client requests without
2059     Content-Length.
2060
2061   * Bugfix: Line numbers in stack traces.
2062
2063   * Bugfix: negative integers in raw encoding stream
2064
2065   * Bugfix: node.fs.File was not passing args to promise callbacks.
2066
2067
2068 2009.07.27, Version 0.1.1, 77d407df2826b20e9177c26c0d2bb4481e497937
2069
2070   * Simplify and clean up ObjectWrap.
2071
2072   * Upgrade liboi (which is now called evcom)
2073     Upgrade libev to 3.7
2074     Upgrade V8 to 1.2.14
2075
2076   * Array.prototype.encodeUtf8 renamed to node.encodeUtf8(array)
2077
2078   * Move EventEmitter.prototype.emit() completely into C++.
2079
2080   * Bugfix: Fix memory leak in event emitters.
2081     http://groups.google.com/group/nodejs/browse_thread/thread/a8d1dfc2fd57a6d1
2082
2083   * Bugfix: Had problems reading scripts with non-ascii characters.
2084
2085   * Bugfix: Fix Detach() in node::Server
2086
2087   * Bugfix: Sockets not properly reattached if reconnected during
2088     disconnect event.
2089
2090   * Bugfix: Server-side clients not attached between creation and
2091     on_connect.
2092
2093   * Add 'close' event to node.tcp.Server
2094
2095   * Simplify and clean up http.js. (Takes more advantage of event
2096     infrastructure.)
2097
2098   * Add benchmark scripts. Run with "make benchmark".
2099
2100
2101 2009.06.30, Version 0.1.0, 0fe44d52fe75f151bceb59534394658aae6ac328
2102
2103   * Update documentation, use asciidoc.
2104
2105   * EventEmitter and Promise interfaces. (Breaks previous API.)
2106
2107   * Remove node.Process constructor in favor of node.createProcess
2108
2109   * Add -m32 flags for compiling on x64 platforms.
2110     (Thanks to András Bártházi)
2111
2112   * Upgrade v8 to 1.2.10 and libev to 3.6
2113
2114   * Bugfix: Timer::RepeatSetter wasn't working.
2115
2116   * Bugfix: Spawning many processes in a loop
2117     (reported by Felix Geisendörfer)
2118
2119
2120 2009.06.24, Version 0.0.6, fbe0be19ebfb422d8fa20ea5204c1713e9214d5f
2121
2122   * Load modules via HTTP URLs (Urban Hafner)
2123
2124   * Bugfix: Add HTTPConnection->size() and HTTPServer->size()
2125
2126   * New node.Process API
2127
2128   * Clean up build tools, use v8's test runner.
2129
2130   * Use ev_unref() instead of starting/stopping the eio thread
2131     pool watcher.
2132
2133
2134 2009.06.18, Version 0.0.5, 3a2b41de74b6c343b8464a68eff04c4bfd9aebea
2135
2136   * Support for IPv6
2137
2138   * Remove namespace node.constants
2139
2140   * Upgrade v8 to 1.2.8.1
2141
2142   * Accept ports as strings in the TCP client and server.
2143
2144   * Bugfix: HTTP Client race
2145
2146   * Bugfix: freeaddrinfo() wasn't getting called after
2147     getaddrinfo() for TCP servers
2148
2149   * Add "opening" to TCP client readyState
2150
2151   * Add remoteAddress to TCP client
2152
2153   * Add global print() function.
2154
2155
2156 2009.06.13, Version 0.0.4, 916b9ca715b229b0703f0ed6c2fc065410fb189c
2157
2158  * Add interrupt() method to server-side HTTP requests.
2159
2160  * Bugfix: onBodyComplete was not getting called on server-side
2161    HTTP
2162
2163
2164 2009.06.11, Version 0.0.3, 6e0dfe50006ae4f5dac987f055e0c9338662f40a
2165
2166  * Many bug fixes including the problem with http.Client on
2167    macintosh
2168
2169  * Upgrades v8 to 1.2.7
2170
2171  * Adds onExit hook
2172
2173  * Guard against buffer overflow in http parser
2174
2175  * require() and include() now need the ".js" extension
2176
2177  * http.Client uses identity transfer encoding by default.