2012.02.17 Version 0.6.11 (stable)

* http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)

* http: allow multiple WWW-Authenticate headers (Ben Noordhuis)

* windows: support unicode argv and environment variables (Bert Belder)

* tls: mitigate session renegotiation attacks (Ben Noordhuis)

* tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)

* tls: Allow establishing secure connection on the existing socket (koichik)

* dgram: handle close of dgram socket before DNS lookup completes (Seth Fitzsimmons)

* windows: Support half-duplex pipes (Igor Zinkovsky)

* build: disable omit-frame-pointer on solaris systems (Dave Pacheco)

* debugger: fix --debug-brk (Ben Noordhuis)

* net: fix large file downloads failing (koichik)

* fs: fix ReadStream failure to read from existing fd (Christopher Jeffrey)

* net: destroy socket on DNS error (Stefan Rusu)

* dtrace: add missing translator (Dave Pacheco)

* unix: don't flush tty on switch to raw mode (Ben Noordhuis)

* windows: reset brightness when reverting to default text color (Bert Belder)

* npm: update to 1.1.1
  - Update which, fstream, mkdirp, request, and rimraf
  - Fix #2123 Set path properly for lifecycle scripts on windows
  - Mark the root as seen, so we don't recurse into it. Fixes #1838. (Martin Cooper)


2012.02.02, Version 0.6.10 (stable), 051908e023f87894fa68f5b64d0b99a19a7db01e

* Update V8 to 3.6.6.20

* Add npm msysgit bash shim to msi installer (isaacs)

* buffers: fix intermittent out of bounds error (Ben Noordhuis)

* buffers: honor length argument in base64 decoder (Ben Noordhuis)

* windows: Fix path.exists regression (Bert Belder)

* Make QueryString.parse run faster (Philip Tellis)

* http: avoid freeing http-parser objects too early (koichik)

* timers: add v0.4 compatibility hack (Ben Noordhuis)

* Proper EPERM error code support (Igor Zinkovsky, Brandon Philips)

* dgram: Implement udp multicast methods on windows (Bert Belder)


2012.01.27, Version 0.6.9 (stable), f19e20d33f57c4d2853aaea7d2724d44f3b0012f

* dgram: Bring back missing functionality for Unix (Dan VerWeire, Roman Shtylman, Ben Noordhuis)
  - Note: Windows UDP support not yet complete.

* http: Fix parser memory leak (koichik)

* zlib: Fix #2365 crashes on invalid input (Nicolas LaCasse)

* module: fix --debug-brk on symlinked scripts (Fedor Indutny)

* Documentation Restyling (Matthew Fitzsimmons)

* Update npm to 1.1.0-3 (isaacs)

* Windows: fix regression in stat() calls to C:\ (Bert Belder)


2012.01.19, Version 0.6.8 (stable), d18cebaf8a7ac701dabd71a3aa4eb0571db6a645

* Update V8 to 3.6.6.19

* Numeric key hash collision fix for V8 (Erik Corry, Fedor Indutny)

* Add missing TTY key translations for F1-F5 on Windows (Brandon Benvie)

* path.extname bugfix with . and .. paths (Bert Belder)

* cluster: don't always kill the master on uncaughtException (Ben Noordhuis)

* Update npm to 1.1.0-2 (isaacs)

* typed arrays: set class name (Ben Noordhuis)

* zlib binding cleanup (isaacs, Bert Belder)

* dgram: use slab memory allocator (Michael Bernstein)

* fix segfault #2473

* #2521 60% improvement in fs.stat on Windows (Igor Zinkovsky)


2012.01.06, Version 0.6.7 (stable), d5a189acef14a851287ee555f7a39431fe276e1c

* V8 hash collision fix (Breaks MIPS) (Bert Belder, Erik Corry)

* Upgrade V8 to 3.6.6.15

* Upgrade npm to 1.1.0-beta-10 (isaacs)

* many doc updates (Ben Noordhuis, Jeremy Martin, koichik, Dave Irvine,
  Seong-Rak Choi, Shannen, Adam Malcontenti-Wilson, koichik)

* Fix segfault in node_http_parser.cc

* dgram, timers: fix memory leaks (Ben Noordhuis, Yoshihiro Kikuchi)

* repl: fix repl.start not passing the `ignoreUndefined` arg (Damon Oehlman)

* #1980: Socket.pause null reference when called on a closed Stream (koichik)

* #2263: XMLHttpRequest piped in a writable file stream hang (koichik)

* #2069: http resource leak (koichik)

* buffer.readInt global pollution fix (Phil Sung)

* timers: fix performance regression (Ben Noordhuis)

* #2308, #2246: node swallows openssl error on request (koichik)

* #2114: timers: remove _idleTimeout from item in .unenroll() (James Hartig)

* #2379: debugger: Request backtrace w/o refs (Fedor Indutny)

* simple DTrace ustack helper (Dave Pacheco)

* crypto: rewrite HexDecode without snprintf (Roman Shtylman)

* crypto: don't ignore DH init errors (Ben Noordhuis)


2011.12.14, Version 0.6.6

* npm update to 1.1.0-beta-4 (Isaac Z. Schlueter)

* cli: fix output of --help (Ben Noordhuis)

* new website

* pause/resume semantics for stdin (Isaac Z. Schlueter)

* Travis CI integration (Maciej Małecki)

* child_process: Fix bug regarding closed stdin (Ben Noordhuis)

* Enable upgrades in MSI. (Igor Zinkovsky)

* net: Fixes memory leak (Ben Noordhuis)

* fs: handle fractional or NaN ReadStream buffer size (Ben Noordhuis)

* crypto: fix memory leaks in PBKDF2 error path (Ben Noordhuis)


2011.12.04, Version 0.6.5 (stable), 6cc94db653a2739ab28e33b2d6a63c51bd986a9f

* npm workaround Windows antivirus software (isaacs)

* Upgrade V8 to 3.6.6.11


2011.12.02, Version 0.6.4 (stable), 9170077f13e5e5475b23d1d3c2e7f69bfe139727

* doc improvements (Kyle Young, Tim Oxley, Roman Shtylman, Mathias Bynens)

* upgrade bundled npm (Isaac Schlueter)

* polish Windows installer (Igor Zinkovsky, Isaac Schlueter)

* punycode: upgrade to v0.2.1 (Mathias Bynens)

* build: add –without-npm flag to configure script

* sys: deprecate module some more, print stack trace if NODE_DEBUG=sys

* cli: add -p switch, prints result of –eval

* #1997: fix Blowfish ECB encryption and decryption (Ingmar Runge)

* #2223: fix socket ‘close’ event being emitted twice

* #2224: fix RSS memory usage > 4 GB reporting (Russ Bradberry)

* #2225: fix util.inspect() object stringification bug (Nathan Rajlich)


2011.11.25, Version 0.6.3 (stable), b159c6d62e5756d3f8847419d29c6959ea288b56

* #2083 Land NPM in Node. It is included in packages/installers and installed
  on `make install`.

* #2076 Add logos to windows installer.

* #1711 Correctly handle http requests without headers. (Ben Noordhuis,
  Felix Geisendörfer)

* TLS: expose more openssl SSL context options and constants. (Ben Noordhuis)

* #2177 Windows: don't kill UDP socket when a packet fails to reach its
  destination. (Bert Belder)

* Windows: support paths longer than 260 characters. (Igor Zinkovsky)

* Windows: correctly resolve drive-relative paths. (Bert Belder)

* #2166 Don't leave file descriptor open after lchmod. (Isaac Schlueter)

* #2084 Add OS X .pkg build script to make file.

* #2160 Documentation improvements. (Ben Noordhuis)


2011.11.18, Version 0.6.2 (stable), a4402f0b2e410b19375a1d5c5fb7fe7f66f3c7f8

* doc improvements (Artur Adib, Trevor Burnham, Ryan Emery, Trent Mick)

* timers: remember extra setTimeout() arguments when timeout==0

* punycode: use Mathias Bynens's punycode library, it's more compliant

* repl: improved tab completion (Ryan Emery)

* buffer: fix range checks in .writeInt() functions (Lukasz Walukiewicz)

* tls: make cipher list configurable

* addons: make Buffer and ObjectWrap visible to Windows add-ons (Bert Belder)

* crypto: add PKCS#1 a.k.a RSA public key verification support

* windows: fix stdout writes when redirected to nul

* sunos: fix build on Solaris and Illumos

* Upgrade V8 to 3.6.6.8


2011.11.11, Version 0.6.1 (stable), 170f2addb2dd0c625bc4a6d461e89a31ad68b79b

* doc improvements (Eric Lovett, Ben Noordhuis, Scott Anderson, Yoji SHIDARA)

* crypto: make thread-safe (Ben Noordhuis)

* fix process.kill error object

* debugger: correctly handle source with multi-byte characters (Shigeki Ohtsu)

* make stdout and stderr non-destroyable (Igor Zinkovsky)

* fs: don't close uninitialized fs.watch handle (Ben Noordhuis)

* #2026 fix man page install on BSDs (Ben Noordhuis)

* #2040 fix unrecognized errno assert in uv_err_name

* #2043 fs: mkdir() should call callback if mode is omitted

* #2045 fs: fix fs.realpath on windows to return on error (Benjamin Pasero)

* #2047 minor cluster improvements

* #2052 readline get window columns correctly

* Upgrade V8 to 3.6.6.7


2011.11.04, Version 0.6.0 (stable), 865b077819a9271a29f982faaef99dc635b57fbc

* print undefined on undefined values in REPL (Nathan Rajlich)

* doc improvements (koichik, seebees, bnoordhuis,
  Maciej Małecki, Jacob Kragh)

* support native addon loading in windows (Bert Belder)

* rename getNetworkInterfaces() to networkInterfaces() (bnoordhuis)

* add pending accepts knob for windows (igorzi)

* http.request(url.parse(x)) (seebees)

* #1929 zlib Respond to 'resume' events properly (isaacs)

* stream.pipe: Remove resume and pause events

* test fixes for windows (igorzi)

* build system improvements (bnoordhuis)

* #1936 tls: does not emit 'end' from EncryptedStream (koichik)

* #758 tls: add address(), remoteAddress/remotePort

* #1399 http: emit Error object after .abort() (bnoordhuis)

* #1999 fs: make mkdir() default to 0777 permissions (bnoordhuis)

* #2001 fix pipe error codes

* #2002 Socket.write should reset timeout timer

* stdout and stderr are blocking when associated with file too.

* remote debugger support on windows (Bert Belder)

* convenience methods for zlib (Matt Robenolt)

* process.kill support on windows (igorzi)

* process.uptime() support on windows (igorzi)

* Return IPv4 addresses before IPv6 addresses from getaddrinfo

* util.inspect improvements (Nathan Rajlich)

* cluster module api changes

* Downgrade V8 to 3.6.6.6


2011.10.21, Version 0.5.10 (unstable), 220e61c1f65bf4db09699fcf6399c0809c0bc446

* Remove cmake build system, support for Cygwin, legacy code base,
	process.ENV, process.ARGV, process.memoryUsage().vsize, os.openOSHandle

* Documentation improvments (Igor Zinkovsky, Bert Belder, Ilya Dmitrichenko,
koichik, Maciej Małecki, Guglielmo Ferri, isaacs)

* Performance improvements (Daniel Ennis, Bert Belder, Ben Noordhuis)

* Long process.title support (Ben Noordhuis)

* net: register net.Server callback only once (Simen Brekken)

* net: fix connect queue bugs (Ben Noordhuis)

* debugger: fix backtrace err handling (Fedor Indutny)

* Use getaddrinfo instead of c-ares for dns.lookup

* Emit 'end' from crypto streams on close

* #1902 buffer: use NO_NULL_TERMINATION flag (koichik)

* #1907 http: Added support for HTTP PATCH verb (Thomas Parslow)

* #1644 add GetCPUInfo on windows (Karl Skomski)

* #1484, #1834, #1482, #771 Don't use a separate context for the repl.
  (isaacs)

* #1882 zlib Update 'availOutBefore' value, and test (isaacs)

* #1888 child_process.fork: don't modify args (koichik)

* #1516 tls: requestCert unusable with Firefox and Chrome (koichik)

* #1467 tls: The TLS API is inconsistent with the TCP API (koichik)

* #1894 net: fix error handling in listen() (koichik)

* #1860 console.error now goes through uv_tty_t

* Upgrade V8 to 3.7.0

* Upgrade GYP to r1081


2011.10.10, Version 0.5.9 (unstable)

* fs.watch interface backed by kqueue, inotify, and ReadDirectoryChangesW
  (Igor Zinkovsky, Ben Noordhuis)

* add dns.resolveTxt (Christian Tellnes)

* Remove legacy http library (Ben Noordhuis)

* child_process.fork returns and works on Windows. Allows passing handles.
  (Igor Zinkovsky, Bert Belder)

* #1774 Lint and clean up for --harmony_block_scoping (Tyler Larson, Colton
  Baker)

* #1813 Fix ctrl+c on Windows (Bert Belder)

* #1844 unbreak --use-legacy (Ben Noordhuis)

* process.stderr now goes through libuv. Both process.stdout and
  process.stderr are blocking when referencing a TTY.

* net_uv performance improvements (Ben Noordhuis, Bert Belder)


2011.09.30, Version 0.5.8 (unstable), 7cc17a0cea1d25188c103745a7d0c24375e3a609

* zlib bindings (isaacs)

* Windows supports TTY ANSI escape codes (Bert Belder)

* Debugger improvements (Fedor Indutny)

* crypto: look up SSL errors with ERR_print_errors() (Ben Noordhuis)

* dns callbacks go through MakeCallback now

* Raise an error when a malformed package.json file is found. (Ben Leslie)

* buffers: handle bad length argument in constructor (Ben Noordhuis)

* #1726, unref process.stdout

* Doc improvements (Ben Noordhuis, Fedor Indutny, koichik)

* Upgrade libuv to fe18438


2011.09.16, Version 0.5.7 (unstable), 558241166c4f3c516e5a448e676db0b57119212f

* Upgrade V8 to 3.6.4

* Improve Windows compatibility

* Documentation improvements

* Debugger and REPL improvements (Fedor Indutny)

* Add legacy API support: net.Stream(fd), process.stdout.writable,
  process.stdout.fd

* Fix mkdir EEXIST handling (isaacs)

* Use net_uv instead of net_legacy for stdio

* Do not load readline from util.inspect

* #1673 Fix bug related to V8 context with accessors (Fedor Indutny)

* #1634 util: Fix inspection for Error (koichik)

* #1645 fs: Add positioned file writing feature to fs.WriteStream (Thomas
  Shinnick)

* #1637 fs: Unguarded fs.watchFile cache statWatchers checking fixed (Thomas
  Shinnick)

* #1695 Forward customFds to ChildProcess.spawn

* #1707 Fix hasOwnProperty security problem in querystring (isaacs)

* #1719 Drain OpenSSL error queue


2011.09.08, Version 0.5.6 (unstable)

* #345, #1635, #1648 Documentation improvements (Thomas Shinnick,
  Abimanyu Raja, AJ ONeal, Koichi Kobayashi, Michael Jackson, Logan Smyth,
  Ben Noordhuis)

* #650 Improve path parsing on windows (Bert Belder)

* #752 Remove headers sent check in OutgoingMessage.getHeader()
  (Peter Lyons)

* #1236, #1438, #1506, #1513, #1621, #1640, #1647 Libuv-related bugs fixed
  (Jorge Chamorro Bieling, Peter Bright, Luis Lavena, Igor Zinkovsky)

* #1296, #1612 crypto: Fix BIO's usage. (Koichi Kobayashi)

* #1345 Correctly set socket.remoteAddress with libuv backend (Bert Belder)

* #1429 Don't clobber quick edit mode on windows (Peter Bright)

* #1503 Make libuv backend default on unix, override with `node --use-legacy`

* #1565 Fix fs.stat for paths ending with \ on windows (Igor Zinkovsky)

* #1568 Fix x509 certificate subject parsing (Koichi Kobayashi)

* #1586 Make socket write encoding case-insensitive (Koichi Kobayashi)

* #1591, #1656, #1657 Implement fs in libuv, remove libeio and pthread-win32
  dependency on windows (Igor Zinkovsky, Ben Noordhuis, Ryan Dahl,
  Isaac Schlueter)

* #1592 Don't load-time link against CreateSymbolicLink on windows
  (Peter Bright)

* #1601 Improve API consistency when dealing with the socket underlying a HTTP
  client request (Mikeal Rogers)

* #1610 Remove DigiNotar CA from trusted list (Isaac Schlueter)

* #1617 Added some win32 os functions (Karl Skomski)

* #1624 avoid buffer overrun with 'binary' encoding (Koichi Kobayashi)

* #1633 make Buffer.write() always set _charsWritten (Koichi Kobayashi)

* #1644 Windows: set executables to be console programs (Peter Bright)

* #1651 improve inspection for sparse array (Koichi Kobayashi)

* #1672 set .code='ECONNRESET' on socket hang up errors (Ben Noordhuis)

* Add test case for foaf+ssl client certificate (Niclas Hoyer)

* Added RPATH environment variable to override run-time library paths
  (Ashok Mudukutore)

* Added TLS client-side session resumption support (Sean Cunningham)

* Added additional properties to getPeerCertificate (Nathan Rixham,
  Niclas Hoyer)

* Don't eval repl command twice when an error is thrown (Nathan Rajlich)

* Improve util.isDate() (Nathan Rajlich)

* Improvements in libuv backend and bindings, upgrade libuv to
  bd6066cb349a9b3a1b0d87b146ddaee06db31d10

* Show warning when using lib/sys.js (Maciej Malecki)

* Support plus sign in url protocol (Maciej Malecki)

* Upgrade V8 to 3.6.2


2011.08.26, Version 0.5.5 (unstable), d2d53d4bb262f517a227cc178a1648094ba54c20

* typed arrays, implementation from Plesk

* fix IP multicast on SunOS

* fix DNS lookup order: IPv4 first, IPv6 second (--use-uv only)

* remove support for UNIX datagram sockets (--use-uv only)

* UDP support for Windows (Bert Belder)

* #1572 improve tab completion for objects in the REPL (Nathan Rajlich)

* #1563 fix buffer overflow in child_process module (reported by Dean McNamee)

* #1546 fix performance regression in http module (reported by Brian Geffon)

* #1491 add PBKDF2 crypto support (Glen Low)

* #1447 remove deprecated http.cat() function (Mikeal Rogers)

* #1140 fix incorrect dispatch of vm.runInContext's filename argument
  (Antranig Basman)

* #1140 document vm.runInContext() and vm.createContext() (Antranig Basman)

* #1428 fix os.freemem() on 64 bits freebsd (Artem Zaytsev)

* #1164 make all DNS lookups async, fixes uncatchable exceptions
  (Koichi Kobayashi)

* fix incorrect ssl shutdown check (Tom Hughes)

* various cmake fixes (Tom Hughes)

* improved documentation (Koichi Kobayashi, Logan Smyth, Fedor Indutny,
  Mikeal Rogers, Maciej Małecki, Antranig Basman, Mickaël Delahaye)

* upgrade libuv to commit 835782a

* upgrade V8 to 3.5.8


2011.08.12, Version 0.5.4 (unstable), cfba1f59224ff8602c3fe9145181cad4c6df89a9

* libuv/Windows compatibility improvements

* Build on Microsoft Visual Studio via GYP. Use generate-projects.bat in the
  to build sln files. (Peter Bright, Igor Zinkovsky)

* Make Mikeal's HTTP agent client the default. Use old HTTP client with
  --use-http1

* Fixes https host header default port handling. (Mikeal Rogers)

* #1440 strip byte order marker when loading *.js and *.json files
  (Ben Noordhuis)

* #1434 Improve util.format() compatibility with browser. (Koichi Kobayashi)

* Provide unchecked uint entry points for integer Buffer.read/writeInt
  methods. (Robert Mustacchi)

* CMake improvements (Tom Huges)

* Upgrade V8 to 3.5.4.


2011.08.01, Version 0.5.3 (unstable), 4585330afef44ddfb6a4054bd9b0f190b352628b

* Fix crypto encryption/decryption with Base64. (SAWADA Tadashi)

* #243 Add an optional length argument to Buffer.write() (koichik)

* #657 convert nonbuffer data to string in fs.writeFile/Sync
  (Daniel Pihlström)

* Add process.features, remove process.useUV (Ben Noordhuis)

* #324 Fix crypto hmac to accept binary keys + add test cases from rfc 2202
  and 4231 (Stefan Bühler)

* Add Socket::bytesRead, Socket::bytesWritten (Alexander Uvarov)

* #572 Don't print result of --eval in CLI (Ben Noordhuis)

* #1223 Fix http.ClientRequest crashes if end() was called twice (koichik)

* #1383 Emit 'close' after all connections have closed (Felix Geisendörfer)

* Add sprintf-like util.format() function (Ben Noordhuis)

* Add support for TLS SNI (Fedor Indutny)

* New http agent implementation. Off by default the command line flag
  --use-http2 will enable it. "make test-http2" will run the tests
	for the new implementation. (Mikeal Rogers)

* Revert AMD compatibility. (isaacs)

* Windows: improvements, child_process support.

* Remove pkg-config file.

* Fix startup time regressions.

* doc improvements


2011.07.22, Version 0.5.2 (unstable), 08ffce1a00dde1199174b390a64a90b60768ddf5

* libuv improvements; named pipe support

* #1242 check for SSL_COMP_get_compression_methods() (Ben Noordhuis)

* #1348 remove require.paths (isaacs)

* #1349 Delimit NODE_PATH with ; on Windows (isaacs)

* #1335 Remove EventEmitter from C++

* #1357 Load json files with require() (isaacs)

* #1374 fix setting ServerResponse.statusCode in writeHead (Trent Mick)

* Fixed: GC was being run too often.

* Upgrade V8 to 3.4.14

* doc improvements


2011.07.14, Version 0.5.1 (unstable), f8bfa54d0fa509f9242637bef2869a1b1e842ec8

* #1233 Fix os.totalmem on FreeBSD amd64 (Artem Zaytsev)

* #1149 IDNA and Punycode support in url.parse
  (Jeremy Selier, Ben Noordhuis, isaacs)

* Export $CC and $CXX to uv and V8's build systems

* Include pthread-win32 static libraries in build (Igor Zinkovsky)

* #1199, #1094 Fix fs can't handle large file on 64bit platform (koichik)

* #1281 Make require a public member of module (isaacs)

* #1303 Stream.pipe returns the destination (Elijah Insua)

* #1229 Addons should not -DEV_MULTIPLICITY=0 (Brian White)

* libuv backend improvements

* Upgrade V8 to 3.4.10


2011.07.05, Version 0.5.0 (unstable), ae7ed8482ea7e53c59acbdf3cf0e0a0ae9d792cd

* New non-default libuv backend to support IOCP on Windows.
  Use --use-uv to enable.

* deprecate http.cat

* docs improved.

* add child_process.fork

* add fs.utimes() and fs.futimes() support (Ben Noordhuis)

* add process.uptime() (Tom Huges)

* add path.relative (Tony Huang)

* add os.getNetworkInterfaces()

* add remoteAddress and remotePort for client TCP connections
  (Brian White)

* add secureOptions flag, setting ciphers,
  SSL_OP_CRYPTOPRO_TLSEXT_BUG to TLS (Theo Schlossnagle)

* add process.arch (Nathan Rajlich)

* add reading/writing of floats and doubles from/to buffers (Brian White)

* Allow script to be read from stdin

* #477 add Buffer::fill method to do memset (Konstantin Käfer)

* #573 Diffie-Hellman support to crypto module (Håvard Stranden)

* #695 add 'hex' encoding to buffer (isaacs)

* #851 Update how REPLServer uses contexts (Ben Weaver)

* #853 add fs.lchow, fs.lchmod, fs.fchmod, fs.fchown (isaacs)

* #889 Allow to remove all EventEmitter listeners at once
  (Felix Geisendörfer)

* #926 OpenSSL NPN support (Fedor Indutny)

* #955 Change ^C handling in REPL (isaacs)

* #979 add support for Unix Domain Sockets to HTTP (Mark Cavage)

* #1173 #1170 add AMD, asynchronous module definition (isaacs)

* DTrace probes: support X-Forwarded-For (Dave Pacheco)


2011.09.15, Version 0.4.12 (stable)

* Improve docs

* #1563 overflow in ChildProcess custom_fd.

* #1569, parse error on multi-line HTTP headers. (Ben Noordhuis)

* #1586 net: Socket write encoding case sensitivity (koichik)

* #1610 Remove DigiNotar CA from trusted list (isaacs)

* #1624 buffer: Avoid overrun with 'binary' encoding. (koichik)

* #1633 buffer: write() should always set _charsWritten. (koichik)

* #1707 hasOwnProperty usage security hole in querystring (isaacs)

* #1719 Drain OpenSSL error queue

* Fix error reporting in net.Server.listen


2011.08.17, Version 0.4.11 (stable), a745d19ce7d1c0e3778371af4f0346be70cf2c8e

* #738 Fix crypto encryption/decryption with Base64. (SAWADA Tadashi)

* #1202 net.createConnection defer DNS lookup error events to next tick
  (Ben Noordhuis)

* #1374 fix setting ServerResponse.statusCode in writeHead (Trent Mick)

* #1417 Fix http.ClientRequest crashes if end() was called twice

* #1497 querystring: Replace 'in' test with 'hasOwnProperty' (isaacs)

* #1546 http perf improvement

* fix memleak in libeio (Tom Hughes)

* cmake improvements (Tom Hughes)

* node_net.cc: fix incorrect sizeof() (Tom Hughes)

* Windows/cygwin: no more GetConsoleTitleW errors on XP (Bert Belder)

* Doc improvments (koichik, Logan Smyth, Ben Noordhuis, Arnout Kazemier)


2011.07.19, Version 0.4.10 (stable)

* #394 Fix Buffer drops last null character in UTF-8

* #829 Backport r8577 from V8 (Ben Noordhuis)

* #877 Don't wait for HTTP Agent socket pool to establish connections.

* #915 Find kqueue on FreeBSD correctly (Brett Kiefer)

* #1085 HTTP: Fix race in abort/dispatch code (Stefan Rusu)

* #1274 debugger improvement (Yoshihiro Kikuchi)

* #1291 Properly respond to HEAD during end(body) hot path (Reid Burke)

* #1304 TLS: Fix race in abort/connection code (Stefan Rusu)

* #1360 Allow _ in url hostnames.

* Revert 37d529f8 - unbreaks debugger command parsing.

* Bring back global execScript

* Doc improvements


2011.06.29, Version 0.4.9 (stable)

* Improve documentation

* #1095 error handling bug in stream.pipe() (Felix Geisendörfer)

* #1097 Fix a few leaks in node_crypto.cc (Ben Noordhuis)

* #562 #1078 Parse file:// urls properly (Ryan Petrello)

* #880 Option to disable SSLv2 (Jérémy Lal)

* #1087 Disabling SSL compression disabled with early OpenSSLs.

* #1144 debugger: don't allow users to input non-valid commands
  (Siddharth Mahendraker)

* Perf improvement for util.inherits

* #1166 Support for signature verification with RSA/DSA public keys
  (Mark Cavage)

* #1177 Remove node_modules lookup optimization to better support
  nested project structures (Mathias Buus)

* #1203 Add missing scope.Close to fs.sendfileSync

* #1187 Support multiple 'link' headers

* #1196 Fix -e/--eval can't load module from node_modules (Koichi Kobayashi)

* Upgrade V8 to 3.1.8.25, upgrade http-parser.


2011.05.20, Version 0.4.8 (stable), 7dd22c26e4365698dc3efddf138c4d399cb912c8

* #974 Properly report traceless errors (isaacs)

* #983 Better JSON.parse error detection in REPL (isaacs)

* #836 Agent socket errors bubble up to req only if req exists

* #1041 Fix event listener leak check timing (koichik)

*	#1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR"
  (koichik)

* #1073 Share SSL context between server connections (Fedor Indutny)

* Disable compression with OpenSSL. Improves memory perf.

* Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)

* Fix a special characters in URL regression (isaacs)

* Fix idle timeouts in HTTPS (Felix Geisendörfer)

* SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)

* http.ServerRequest 'close' sometimes gets an error argument
  (Felix Geisendörfer)

* Doc improvements

* cleartextstream.destroy() should close(2) the socket. Previously was being
	mapped to a shutdown(2) syscall.

* No longer compile out asserts and debug statements in normal build.

* Debugger improvements.

* Upgrade V8 to 3.1.8.16.


2011.04.22, Version 0.4.7 (stable)

* Don't emit error on ECONNRESET from read() #670

* Fix: Multiple pipes to the same stream were broken #929
  (Felix Geisendörfer)

* URL parsing/formatting corrections #954 (isaacs)

* make it possible to do repl.start('', stream) (Wade Simmons)

* Add os.loadavg for SunOS (Robert Mustacchi)

* Fix timeouts with floating point numbers #897 (Jorge Chamorro Bieling)

* Improve docs.


2011.04.13, Version 0.4.6 (stable)

* Don't error on ENOTCONN from shutdown() #670

* Auto completion of built-in debugger suggests prefix match rather than
	partial match. (koichik)

* circular reference in vm modules. #822 (Jakub Lekstan)

* http response.readable should be false after 'end' #867 (Abe Fettig)

* Implement os.cpus() and os.uptime() on Solaris (Scott McWhirter)

* fs.ReadStream: Allow omission of end option for range reads #801
	(Felix Geisendörfer)

* Buffer.write() with UCS-2 should not be write partial char
	#916 (koichik)

* Pass secureProtocol through on tls.Server creation (Theo Schlossnagle)

* TLS use RC4-SHA by default

* Don't strangely drop out of event loop on HTTPS client uploads #892

* Doc improvements

* Upgrade v8 to 3.1.8.10


2011.04.01, Version 0.4.5 (stable)

* Fix listener leak in stream.pipe() (Mikeal Rogers)

* Retain buffers in fs.read/write() GH-814 (Jorge Chamorro Bieling)

* TLS performance improvements

* SlowBuffer.prototype.slice bug GH-843

* process.stderr.write should return true

* Immediate pause/resume race condition GH-535 (isaacs)

* Set default host header properly GH-721 (isaacs)

* Upgrade V8 to 3.1.8.8


2011.03.26, Version 0.4.4 (stable), 25122b986a90ba0982697b7abcb0158c302a1019

* CryptoStream.end shouldn't throw if not writable GH-820

* Drop out if connection destroyed before connect() GH-819

* expose https.Agent

* Correctly setsid in tty.open GH-815

* Bug fix for failed buffer construction

* Added support for removing .once listeners (GH-806)

* Upgrade V8 to 3.1.8.5


2011.03.18, Version 0.4.3 (stable), c095ce1a1b41ca015758a713283bf1f0bd41e4c4

* Don't decrease server connection counter again if destroy() is called more
	than once GH-431 (Andreas Reich, Anders Conbere)

* Documentation improvements (koichik)

* Fix bug with setMaxListeners GH-682

* Start up memory footprint improvement. (Tom Hughes)

* Solaris improvements.

* Buffer::Length(Buffer*) should not invoke itself recursively GH-759 (Ben
  Noordhuis)

* TLS: Advertise support for client certs GH-774 (Theo Schlossnagle)

* HTTP Agent bugs: GH-787, GH-784, GH-803.

* Don't call GetMemoryUsage every 5 seconds.

* Upgrade V8 to 3.1.8.3


2011.03.02, Version 0.4.2 (stable), 39280e1b5731f3fcd8cc42ad41b86cdfdcb6d58b

* Improve docs.

* Fix process.on edge case with signal event (Alexis Sellier)

* Pragma HTTP header comma separation

* In addition to 'aborted' emit 'close' from incoming requests
  (Felix Geisendörfer)

* Fix memleak in vm.runInNewContext

* Do not cache modules that throw exceptions (Felix Geisendörfer)

* Build system changes for libnode (Aria Stewart)

* Read up the prototype of the 'env' object. (Nathan Rajlich)

* Add 'close' and 'aborted' events to Agent responses

* http: fix missing 'drain' events (Russell Haering)

* Fix process.stdout.end() throws ENOTSOCK error. (Koichi Kobayashi)

* REPL bug fixes (isaacs)

* node_modules folders should be highest priority (isaacs)

* URL parse more safely (isaacs)

* Expose errno with a string for dns/cares (Felix Geisendörfer)

* Fix tty.setWindowSize

* spawn: setuid after chdir (isaacs)

* SIGUSR1 should break the VM without delay

* Upgrade V8 to 3.1.8.


2011.02.19, Version 0.4.1 (stable), e8aef84191bc2c1ba2bcaa54f30aabde7f03769b

* Fixed field merging with progressive fields on writeHead()
  (TJ Holowaychuk)

* Make the repl respect node_modules folders (isaacs)

* Fix for DNS fail in HTTP request (Richard Rodger)

* Default to port 80 for http.request and http.get.

* Improve V8 support for Cygwin (Bert Belder)

* Fix fs.open param parsing. (Felix Geisendörfer)

* Fixed null signal.

* Fix various HTTP and HTTPS bugs

* cmake improvements (Tom Hughes)

* Fix: TLS sockets should not be writable after 'end'

* Fix os.cpus() on cygwin (Brian White)

* MinGW: OpenSSL support (Bert Belder)

* Upgrade V8 to 3.1.5, libev to 4.4.


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.

* Add exception.code for easy testing:
  Example: if (err.code == 'EADDRINUSE');

* Add process.stderr.

* require.main is the main module. (Isaac Schlueter)

* dgram: setMulticastTTL, setMulticastLoopback and addMembership.
  (Joe Walnes)

* Fix throttling in TLS connections

* Add socket.bufferSize

* MinGW improvements (Bert Belder)

* Upgrade V8 to 3.1.1

2011.01.27, Version 0.3.7 (unstable)

* Expose agent in http and https client. (Mikeal Rogers)

* Fix bug in http request's end method. (Ali Farhadi)

* MinGW: better net support (Bert Belder)

* fs.open should set FD_CLOEXEC

* DTrace probes (Bryan Cantrill)

* REPL fixes and improvements (isaacs, Bert Belder)

* Fix many bugs with legacy http.Client interface

* Deprecate process.assert. Use require('assert').ok

* Add callback parameter to socket.setTimeout(). (Ali Farhadi)

* Fixing bug in http request default encoding (Ali Farhadi)

* require: A module ID with a trailing slash must be a dir.
  (isaacs)

* Add ext_key_usage to getPeerCertificate (Greg Hughes)

* Error when child_process.exec hits maxBuffer.

* Fix option parsing in tls.connect()

* Upgrade to V8 3.0.10


2011.01.21, Version 0.3.6 (unstable), bb3e71466e5240626d9d21cf791fe43e87d90011

* REPL and other improvements on MinGW (Bert Belder)

* listen/bind errors should close net.Server

* New HTTP and HTTPS client APIs

* Upgrade V8 to 3.0.9


2011.01.16, Version 0.3.5 (unstable), b622bc6305e3c675e0edfcdbaa387d849ad0bba0

* Built-in debugger improvements.

* Add setsid, setuid, setgid options to child_process.spawn
  (Isaac Schlueter)

* tty module improvements.

* Upgrade libev to 4.3, libeio to latest, c-ares to 1.7.4

* Allow third party hooks before main module load.
  (See 496be457b6a2bc5b01ec13644b9c9783976159b2)

* Don't stat() on cached modules. (Felix Geisendörfer)


2011.01.08, Version 0.3.4 (unstable)

* Primordial mingw build (Bert Belder)

* HTTPS server

* Built in debugger 'node debug script.js'

* realpath files during module load (Mihai Călin Bazon)

* Rename net.Stream to net.Socket (existing name will continue to be
  supported)

* Fix process.platform


2011.01.02, Version 0.3.3 (unstable), 57544ba1c54c7d0da890317deeb73076350c5647

* TLS improvements.

* url.parse(url, true) defaults query field to {} (Jeremy Martin)

* Upgrade V8 to 3.0.4

* Handle ECONNABORT properly (Theo Schlossnagle)

* Fix memory leaks (Tom Hughes)

* Add os.cpus(), os.freemem(), os.totalmem(), os.loadavg() and other
  functions for OSX, Linux, and Cygwin. (Brian White)

* Fix REPL syntax error bug (GH-543), improve how REPL commands are
  evaluated.

* Use process.stdin instead of process.openStdin().

* Disable TLS tests when node doesn't have OpenSSL.


2010.12.16, Version 0.3.2 (unstable), 4bb914bde9f3c2d6de00853353b6b8fc9c66143a

* Rip out the old (broken) TLS implementation introduce new tested
  implementation and API. See docs. HTTPS not supported in this release.

* Introduce 'os' and 'tty' modules.

* Callback parameters for socket.write() and socket.connect().

* Support CNAME lookups in DNS module. (Ben Noordhuis)

* cmake support (Tom Hughes)

* 'make lint'

* oprofile support (./configure --oprofile)

* Lots of bug fixes, including:
  - Memory leak in ChildProcess:Spawn(). (Tom Hughes)
  - buffer.slice(0, 0)
  - Global variable leaks
  - clearTimeouts calling multiple times (Michael W)
  - utils.inspect's detection of circular structures (Tim Cooijmans)
  - Apple's threaded write()s bug (Jorge Chamorro Bieling)
  - Make sure raw mode is disabled when exiting a terminal-based REPL.
    (Brian White)

* Deprecate process.compile, process.ENV

* Upgrade V8 to 3.0.3, upgrade http-parser.


2010.11.16, Version 0.3.1 (unstable), ce9a54aa1fbf709dd30316af8a2f14d83150e947

* TLS improvements (Paul Querna)
  - Centralize error handling in SecureStream
  - Add SecurePair for handling of a ssl/tls stream.

* New documentation organization (Micheil Smith)

* allowHalfOpen TCP connections disabled by default.

* Add C++ API for constructing fast buffer from string

* Move idle timers into its own module

* Gracefully handle EMFILE and server.maxConnections

* make "node --eval" eval in the global scope.
  (Jorge Chamorro Bieling)

* Let exit listeners know the exit code (isaacs)

* Handle cyclic links smarter in fs.realpath (isaacs)

* Remove node-repl (just use 'node' without args)

* Rewrite libeio After callback to use req->result instead of req->errorno
  for error checking (Micheil Smith)

* Remove warning about deprecating 'sys' - too aggressive

* Make writes to process.env update the real environment. (Ben Noordhuis)

* Set FD_CLOEXEC flag on stdio FDs before spawning. (Guillaume Tuton)

* Move ev_loop out of javascript

* Switch \n with \r\n for all strings printed out.

* Added support for cross compilation (Rasmus Andersson)

* Add --profile flag to configure script, enables gprof profiling.
  (Ben Noordhuis)

* writeFileSync could exhibit pathological behavior when a buffer
  could not be written to the file in a single write() call.

* new path.join behavior (isaacs)
  - Express desired path.join behavior in tests.
  - Update fs.realpath to reflect new path.join behavior
  - Update url.resolve() to use new path.join behavior.

* API: Move process.binding('evals') to require('vm')

* Fix V8 build on Cygwin (Bert Belder)

* Add ref to buffer during fs.write and fs.read

* Fix segfault on test-crypto

* Upgrade http-parser to latest and V8 to 2.5.3


2010.10.23, Version 0.3.0 (unstable) 1582cfebd6719b2d2373547994b3dca5c8c569c0

* Bugfix: Do not spin on accept() with EMFILE

* Improvements to readline.js (Trent Mick, Johan Euphrosine, Brian White)

* Safe constructors (missing 'new' doesn't segfault)

* Fix process.nextTick so thrown errors don't confuse it.
  (Benjamin Thomas)

* Allow Strings for ports on net.Server.listen (Bradley Meck)

* fs bugfixes (Tj Holowaychuk, Tobie Langel, Marco Rogers, isaacs)

* http bug fixes (Fedor Indutny, Mikeal Rogers)

* Faster buffers; breaks C++ API (Tim-Smart, Stéphan Kochen)

* crypto, tls improvements (Paul Querna)

* Add lfs flags to node addon script

* Simpler querystring parsing; breaks API (Peter Griess)

* HTTP trailers (Mark Nottingham)

* http 100-continue support (Mark Nottingham)

* Module system simplifications (Herbert Vojčík, isaacs, Tim-Smart)
  - remove require.async
  - remove registerExtension, add .extensions
  - expose require.resolve
  - expose require.cache
  - require looks in  node_modules folders

* Add --eval command line option (TJ Holowaychuk)

* Commas last in sys.inspect

* Constants moved from process object to require('constants')

* Fix parsing of linux memory (Vitali Lovich)

* inspect shows function names (Jorge Chamorro Bieling)

* uncaughtException corner cases (Felix Geisendörfer)

* TCP clients now buffer writes before connection

* Rename sys module to 'util' (Micheil Smith)

* Properly set stdio handlers to blocking on SIGTERM and SIGINT
  (Tom Hughes)

* Add destroy methods to HTTP messages

* base64 improvements (isaacs, Jorge Chamorro Bieling)

* API for defining REPL commands (Sami Samhuri)

* child_process.exec timeout fix (Aaron Heckmann)

* Upgrade V8 to 2.5.1, Libev to 4.00, libeio, http-parser


2010.08.20, Version 0.2.0, 9283e134e558900ba89d9a33c18a9bdedab07cb9

* process.title support for FreeBSD, Macintosh, Linux

* Fix OpenSSL 100% CPU usage on error (Illarionov Oleg)

* Implement net.Server.maxConnections.

* Fix process.platform, add process.version.

* Add --without-snapshot configure option.

* Readline REPL improvements (Trent Mick)

* Bug fixes.

* Upgrade V8 to 2.3.8


2010.08.13, Version 0.1.104

* Various bug fixes (console, querystring, require)

* Set cwd for child processes (Bert Belder)

* Tab completion for readline (Trent Mick)

* process.title getter/setter for OSX, Linux, Cygwin.
	(Rasmus Andersson, Bert Belder)

* Upgrade V8 to 2.3.6


2010.08.04, Version 0.1.103, 0b925d075d359d03426f0b32bb58a5e05825b4ea

* Implement keep-alive for http.Client (Mikeal Rogers)

* base64 fixes. (Ben Noordhuis)

* Fix --debug-brk (Danny Coates)

* Don't let path.normalize get above the root. (Isaac Schlueter)

* Allow signals to be used with process.on in addition to
  process.addListener. (Brian White)

* Globalize the Buffer object

* Use kqueue on recent macintosh builds

* Fix addrlen for unix_dgram sockets (Benjamin Kramer)

* Fix stats.isDirectory() and friends (Benjamin Kramer)

* Upgrade http-parser, V8 to 2.3.5


2010.07.25, Version 0.1.102, 2a4568c85f33869c75ff43ccd30f0ec188b43eab

* base64 encoding for Buffers.

* Buffer support for Cipher, Decipher, Hmac, Sign and Verify
  (Andrew Naylor)

* Support for reading byte ranges from files using fs.createReadStream.
  (Chandra Sekar)

* Fix Buffer.toString() on 0-length slices. (Peter Griess)

* Cache modules based on filename rather than ID (Isaac Schlueter)

* querystring improvments (Jan Kassens, Micheil Smith)

* Support DEL in the REPL. (Jérémy Lal)

* Upgrade http-parser, upgrade V8 to 2.3.2


2010.07.16, Version 0.1.101, 0174ceb6b24caa0bdfc523934c56af9600fa9b58

* Added env to child_process.exec (Сергей Крыжановский)

* Allow modules to optionally be loaded in separate contexts
  with env var NODE_MODULE_CONTEXTS=1.

* setTTL and setBroadcast for dgram (Matt Ranney)

* Use execPath for default NODE_PATH, not installPrefix
  (Isaac Schlueter)

* Support of console.dir + console.assert (Jerome Etienne)

* on() as alias to addListener()

* Use javascript port of Ronn to build docs (Jérémy Lal)

* Upgrade V8 to 2.3.0


2010.07.03, Version 0.1.100, a6b8586e947f9c3ced180fe68c233d0c252add8b

* process.execPath (Marshall Culpepper)

* sys.pump (Mikeal Rogers)

* Remove ini and mjsunit libraries.

* Introduce console.log() and friends.

* Switch order of arguments for Buffer.write (Blake Mizerany)

* On overlapping buffers use memmove (Matt Ranney)

* Resolve .local domains with getaddrinfo()

* Upgrade http-parser, V8 to 2.2.21


2010.06.21, Version 0.1.99, a620b7298f68f68a855306437a3b60b650d61d78

* Datagram sockets (Paul Querna)

* fs.writeFile could not handle utf8 (Felix Geisendörfer)
  and now accepts Buffers (Aaron Heckmann)

* Fix crypto memory leaks.

* A replacement for decodeURIComponent that doesn't throw.
  (Isaac Schlueter)

* Only concatenate some incoming HTTP headers. (Peter Griess)

* Upgrade V8 to 2.2.18


2010.06.11, Version 0.1.98, 10d8adb08933d1d4cea60192c2a31c56d896733d

* Port to Windows/Cygwin (Raffaele Sena)

* File descriptor passing on unix sockets. (Peter Griess)

* Simple, builtin readline library. REPL is now entered by
  executing "node" without arguments.

* Add a parameter to spawn() that sets the child's stdio file
  descriptors. (Orlando Vazquez)

* Upgrade V8 to 2.2.16, http-parser fixes, upgrade c-ares to 1.7.3.


2010.05.29, Version 0.1.97, 0c1aa36835fa6a3557843dcbc6ed6714d353a783

* HTTP throttling: outgoing messages emit 'drain' and write() returns false
  when send buffer is full.

* API: readFileSync without encoding argument now returns a Buffer

* Improve Buffer C++ API; addons now compile with debugging symbols.

* Improvements to  path.extname() and REPL; add fs.chown().

* fs.ReadStream now emits buffers, fs.readFileSync returns buffers.

* Bugfix: parsing HTTP responses to HEAD requests.

* Port to OpenBSD.

* Upgrade V8 to 2.2.12, libeio, http-parser.


2010.05.21, Version 0.1.96, 9514a4d5476225e8c8310ce5acae2857033bcaaa

* Thrown errors in http and socket call back get bubbled up.

* Add fs.fsync (Andrew Johnston)

* Bugfix: signal unregistering (Jonas Pfenniger)

* Added better error messages for async and sync fs calls with paths
  (TJ Holowaychuk)

* Support arrays and strings in buffer constructor.
  (Felix Geisendörfer)

* Fix errno reporting in DNS exceptions.

* Support buffers in fs.WriteStream.write.

* Bugfix: Safely decode a utf8 streams that are broken on a multbyte
  character (http and net). (Felix Geisendörfer)

* Make Buffer's C++ constructor public.

* Deprecate sys.p()

* FIX path.dirname('/tmp') => '/'. (Jonathan Rentzsch)


2010.05.13, Version 0.1.95, 0914d33842976c2c870df06573b68f9192a1fb7a

* Change GC idle notify so that it runs alongside setInterval

* Install node_buffer.h on make install

* fs.readFile returns Buffer by default (Tim Caswell)

* Fix error reporting in child_process callbacks

* Better logic for testing if an argument is a port

* Improve error reporting (single line "node.js:176:9" errors)

* Bugfix: Some http responses being truncated (appeared in 0.1.94)

* Fix long standing net idle timeout bugs. Enable 2 minute timeout
  by default in HTTP servers.

* Add fs.fstat (Ben Noordhuis)

* Upgrade to V8 2.2.9


2010.05.06, Version 0.1.94, f711d5343b29d1e72e87107315708e40951a7826

* Look in /usr/local/lib/node for modules, so that there's a way
  to install modules globally (Issac Schlueter)

* SSL improvements (Rhys Jones, Paulo Matias)

* Added c-ares headers for linux-arm (Jonathan Knezek)

* Add symbols to release build

* HTTP upgrade improvements, docs (Micheil Smith)

* HTTP server emits 'clientError' instead of printing message

* Bugfix: Don't emit 'error' twice from http.Client

* Bugfix: Ignore SIGPIPE

* Bugfix: destroy() instead of end() http connection at end of
  pipeline

* Bugfix: http.Client may be prematurely released back to the
  free pool.  (Thomas Lee)

* Upgrade V8 to 2.2.8


2010.04.29, Version 0.1.93, 557ba6bd97bad3afe0f9bd3ac07efac0a39978c1

  * Fixed no 'end' event on long chunked HTTP messages
    https://github.com/joyent/node/issues/77

  * Remove legacy modules http_old and tcp_old

  * Support DNS MX queries (Jérémy Lal)

  * Fix large socket write (tlb@tlb.org)

  * Fix child process exit codes (Felix Geisendörfer)

  * Allow callers to disable PHP/Rails style parameter munging in
    querystring.stringify (Thomas Lee)

  * Upgrade V8 to 2.2.6


2010.04.23, Version 0.1.92, caa828a242f39b6158084ef4376355161c14fe34

  * OpenSSL support. Still undocumented (see tests). (Rhys Jones)

  * API: Unhandled 'error' events throw.

  * Script class with eval-function-family in binding('evals') plus tests.
    (Herbert Vojcik)

  * stream.setKeepAlive (Julian Lamb)

  * Bugfix: Force no body on http 204 and 304

  * Upgrade Waf to 1.5.16, V8 to 2.2.4.2


2010.04.15, Version 0.1.91, 311d7dee19034ff1c6bc9098c36973b8d687eaba

  * Add incoming.httpVersion

  * Object.prototype problem with C-Ares binding

  * REPL can be run from multiple different streams. (Matt Ranney)

  * After V8 heap is compact, don't use a timer every 2 seconds.

  * Improve nextTick implementation.

  * Add primative support for Upgrading HTTP connections.
    (See commit log for docs 760bba5)

  * Add timeout and maxBuffer options to child_process.exec

  * Fix bugs.

  * Upgrade V8 to 2.2.3.1


2010.04.09, Version 0.1.90, 07e64d45ffa1856e824c4fa6afd0442ba61d6fd8

  * Merge writing of networking system (net2)
   - New Buffer object for binary data.
   - Support UNIX sockets, Pipes
   - Uniform stream API
   - Currently no SSL
   - Legacy modules can be accessed at 'http_old' and 'tcp_old'

  * Replace udns with c-ares. (Krishna Rajendran)

  * New documentation system using Markdown and Ronn
    (Tim Caswell, Micheil Smith)

  * Better idle-time GC

  * Countless small bug fixes.

  * Upgrade V8 to 2.2.X, WAF 1.5.15


2010.03.19, Version 0.1.33, 618296ef571e873976f608d91a3d6b9e65fe8284

  * Include lib/ directory in node executable. Compile on demand.

  * evalcx clean ups (Isaac Z. Schlueter, Tim-Smart)

  * Various fixes, clean ups

  * V8 upgraded to 2.1.5


2010.03.12, Version 0.1.32, 61c801413544a50000faa7f58376e9b33ba6254f

  * Optimize event emitter for single listener

  * Add process.evalcx, require.registerExtension (Tim Smart)

  * Replace --cflags with --vars

  * Fix bugs in fs.create*Stream (Felix Geisendörfer)

  * Deprecate process.mixin, process.unloop

  * Remove the 'Error: (no message)' exceptions, print stack
    trace instead

  * INI parser bug fixes (Isaac Schlueter)

  * FreeBSD fixes (Vanilla Hsu)

  * Upgrade to V8 2.1.3, WAF 1.5.14a, libev


2010.03.05, Version 0.1.31, 39b63dfe1737d46a8c8818c92773ef181fd174b3

  * API: - Move process.watchFile into fs module
         - Move process.inherits to sys

  * Improve Solaris port

  * tcp.Connection.prototype.write now returns boolean to indicate if
    argument was flushed to the kernel buffer.

  * Added fs.link, fs.symlink, fs.readlink, fs.realpath
    (Rasmus Andersson)

  * Add setgid,getgid (James Duncan)

  * Improve sys.inspect (Benjamin Thomas)

  * Allow passing env to child process (Isaac Schlueter)

  * fs.createWriteStream, fs.createReadStream (Felix Geisendörfer)

  * Add INI parser (Rob Ellis)

  * Bugfix: fs.readFile handling encoding (Jacek Becela)

  * Upgrade V8 to 2.1.2


2010.02.22, Version 0.1.30, bb0d1e65e1671aaeb21fac186b066701da0bc33b

  * Major API Changes

    - Promises removed. See
      http://groups.google.com/group/nodejs/msg/426f3071f3eec16b
      http://groups.google.com/group/nodejs/msg/df199d233ff17efa
      The API for fs was

         fs.readdir("/usr").addCallback(function (files) {
           puts("/usr files: " + files);
         });

      It is now

         fs.readdir("/usr", function (err, files) {
           if (err) throw err;
           puts("/usr files: " + files);
         });

    - Synchronous fs operations exposed, use with care.

    - tcp.Connection.prototype.readPause() and readResume()
      renamed to pause() and resume()

    - http.ServerResponse.prototype.sendHeader() renamed to
      writeHeader(). Now accepts reasonPhrase.

  * Compact garbage on idle.

  * Configurable debug ports, and --debug-brk (Zoran Tomicic)

  * Better command line option parsing (Jeremy Ashkenas)

  * Add fs.chmod (Micheil Smith), fs.lstat (Isaac Z. Schlueter)

  * Fixes to process.mixin (Rasmus Andersson, Benjamin Thomas)

  * Upgrade V8 to 2.1.1


2010.02.17, Version 0.1.29, 87d5e5b316a4276bcf881f176971c1a237dcdc7a

  * Major API Changes
    - Remove 'file' module
    - require('posix') -----------------> require('fs')
    - fs.cat ---------------------------> fs.readFile
    - file.write -----------------------> fs.writeFile
    - TCP 'receive' event --------------> 'data'
    - TCP 'eof' event ------------------> 'end'
    - TCP send() -----------------------> write()
    - HTTP sendBody() ------------------> write()
    - HTTP finish() --------------------> close()
    - HTTP 'body' event ----------------> 'data'
    - HTTP 'complete' event ------------> 'end'
    - http.Client.prototype.close() (formerly finish()) no longer
      takes an argument. Add the 'response' listener manually.
    - Allow strings for the flag argument to fs.open
      ("r", "r+", "w", "w+", "a", "a+")

  * Added multiple arg support for sys.puts(), print(), etc.
    (tj@vision-media.ca)

  * sys.inspect(Date) now shows the date value (Mark Hansen)

  * Calculate page size with getpagesize for armel (Jérémy Lal)

  * Bugfix: stderr flushing.

  * Bugfix: Promise late chain (Yuichiro MASUI)

  * Bugfix: wait() on fired promises
    (Felix Geisendörfer, Jonas Pfenniger)

  * Bugfix: Use InstanceTemplate() instead of PrototypeTemplate() for
    accessor methods. Was causing a crash with Eclipse debugger.
    (Zoran Tomicic)

  * Bugfix: Throw from connection.connect if resolving.
    (Reported by James Golick)


2010.02.09, Version 0.1.28, 49de41ef463292988ddacfb01a20543b963d9669

  * Use Google's jsmin.py which can be used for evil.

  * Add posix.truncate()

  * Throw errors from server.listen()

  * stdio bugfix (test by Mikeal Rogers)

  * Module system refactor (Felix Geisendörfer, Blaine Cook)

  * Add process.setuid(), getuid() (Michael Carter)

  * sys.inspect refactor (Tim Caswell)

  * Multipart library rewrite (isaacs)


2010.02.03, Version 0.1.27, 0cfa789cc530848725a8cb5595224e78ae7b9dd0

  * Implemented __dirname (Felix Geisendörfer)

  * Downcase process.ARGV, process.ENV, GLOBAL
    (now process.argv, process.env, global)

  * Bug Fix: Late promise promise callbacks firing
    (Felix Geisendörfer, Jonas Pfenniger)

  * Make assert.AssertionError instance of Error

  * Removed inline require call for querystring
    (self@cloudhead.net)

  * Add support for MX, TXT, and SRV records in DNS module.
    (Blaine Cook)

  * Bugfix: HTTP client automatically reconnecting

  * Adding OS X .dmg build scripts. (Standa Opichal)

  * Bugfix: ObjectWrap memory leak

  * Bugfix: Multipart handle Content-Type headers with charset
    (Felix Geisendörfer)

  * Upgrade http-parser to fix header overflow attack.

  * Upgrade V8 to 2.1.0

  * Various other bug fixes, performance improvements.


2010.01.20, Version 0.1.26, da00413196e432247346d9e587f8c78ce5ceb087

  * Bugfix, HTTP eof causing crash (Ben Williamson)

  * Better error message on SyntaxError

  * API: Move Promise and EventEmitter into 'events' module

  * API: Add process.nextTick()

  * Allow optional params to setTimeout, setInterval
    (Micheil Smith)

  * API: change some Promise behavior (Felix Geisendörfer)
    - Removed Promise.cancel()
    - Support late callback binding
    - Make unhandled Promise errors throw an exception

  * Upgrade V8 to 2.0.6.1

  * Solaris port (Erich Ocean)


2010.01.09, Version 0.1.25, 39ca93549af91575ca9d4cbafd1e170fbcef3dfa

  * sys.inspect() improvements (Tim Caswell)

  * path module improvements (isaacs, Benjamin Thomas)

  * API: request.uri -> request.url
    It is no longer an object, but a string. The 'url' module
    was addded to parse that string. That is, node no longer
    parses the request URL automatically.

       require('url').parse(request.url)

    is roughly equivlent to the old request.uri object.
    (isaacs)

  * Bugfix: Several libeio related race conditions.

  * Better errors for multipart library (Felix Geisendörfer)

  * Bugfix: Update node-waf version to 1.5.10

  * getmem for freebsd (Vanilla Hsu)


2009.12.31, Version 0.1.24, 642c2773a7eb2034f597af1cd404b9e086b59632

  * Bugfix: don't chunk responses to HTTP/1.0 clients, even if
    they send Connection: Keep-Alive (e.g. wget)

  * Bugfix: libeio race condition

  * Bugfix: Don't segfault on unknown http method

  * Simplify exception reporting

  * Upgrade V8 to 2.0.5.4


2009.12.22, Version 0.1.23, f91e347eeeeac1a8bd6a7b462df0321b60f3affc

  * Bugfix: require("../blah") issues (isaacs)

  * Bugfix: posix.cat (Jonas Pfenniger)

  * Do not pause request for multipart parsing (Felix Geisendörfer)


2009.12.19, Version 0.1.22, a2d809fe902f6c4102dba8f2e3e9551aad137c0f

  * Bugfix: child modules get wrong id with "index.js" (isaacs)

  * Bugfix: require("../foo") cycles (isaacs)

  * Bugfix: require() should throw error if module does.

  * New URI parser stolen from Narwhal (isaacs)

  * Bugfix: correctly check kqueue and epoll. (Rasmus Andersson)

  * Upgrade WAF to 1.5.10

  * Bugfix: posix.statSync() was crashing

  * Statically define string symbols for performance improvement

  * Bugfix: ARGV[0] weirdness

  * Added superCtor to ctor.super_ instead superCtor.prototype.
    (Johan Dahlberg)

  * http-parser supports webdav methods

  * API: http.Client.prototype.request() (Christopher Lenz)


2009.12.06, Version 0.1.21, c6affb64f96a403a14d20035e7fbd6d0ce089db5

  * Feature: Add HTTP client TLS support (Rhys Jones)

  * Bugfix: use --jobs=1 with WAF

  * Bugfix: Don't use chunked encoding for 1.0 requests

  * Bugfix: Duplicated header weren't handled correctly

  * Improve sys.inspect (Xavier Shay)

  * Upgrade v8 to 2.0.3

  * Use CommonJS assert API (Felix Geisendörfer, Karl Guertin)


2009.11.28, Version 0.1.20, aa42c6790da8ed2cd2b72051c07f6251fe1724d8

  * Add gnutls version to configure script

  * Add V8 heap info to process.memoryUsage()

  * process.watchFile callback has 2 arguments with the stat object
    (choonkeat@gmail.com)


2009.11.28, Version 0.1.19, 633d6be328708055897b72327b88ac88e158935f

  * Feature: Initial TLS support for TCP servers and clients.
    (Rhys Jones)

  * Add options to process.watchFile()

  * Add process.umask() (Friedemann Altrock)

  * Bugfix: only detach timers when active.

  * Bugfix: lib/file.js write(), shouldn't always emit errors or success
    (onne@onnlucky.com)

  * Bugfix: Memory leak in fs.write
    (Reported by onne@onnlucky.com)

  * Bugfix: Fix regular expressions detecting outgoing message headers.
    (Reported by Elliott Cable)

  * Improvements to Multipart parser (Felix Geisendörfer)

  * New HTTP parser

  * Upgrade v8 to 2.0.2


2009.11.17, Version 0.1.18, 027829d2853a14490e6de9fc5f7094652d045ab8

  * Feature: process.watchFile() process.unwatchFile()

  * Feature: "uncaughtException" event on process
    (Felix Geisendörfer)

  * Feature: 'drain' event to tcp.Connection

  * Bugfix: Promise.timeout() blocked the event loop
    (Felix Geisendörfer)

  * Bugfix: sendBody() and chunked utf8 strings
    (Felix Geisendörfer)

  * Supply the strerror as a second arg to the tcp.Connection close
    event (Johan Sørensen)

  * Add EventEmitter.removeListener (frodenius@gmail.com)

  * Format JSON for inspecting objects (Felix Geisendörfer)

  * Upgrade libev to latest CVS


2009.11.07, Version 0.1.17, d1f69ef35dac810530df8249d523add168e09f03

  * Feature: process.chdir() (Brandon Beacher)

  * Revert http parser upgrade. (b893859c34f05db5c45f416949ebc0eee665cca6)
    Broke keep-alive.

  * API: rename process.inherits to sys.inherits


2009.11.03, Version 0.1.16, 726865af7bbafe58435986f4a193ff11c84e4bfe

  * API: Use CommonJS-style module requiring
    - require("/sys.js") becomes require("sys")
    - require("circle.js") becomes require("./circle")
    - process.path.join() becomes require("path").join()
    - __module becomes module

  * API: Many namespacing changes
    - Move node.* into process.*
    - Move node.dns into module "dns"
    - Move node.fs into module "posix"
    - process is no longer the global object. GLOBAL is.

  For more information on the API changes see:
    http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/6
    http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/14

  * Feature: process.platform, process.memoryUsage()

  * Feature: promise.cancel() (Felix Geisendörfer)

  * Upgrade V8 to 1.3.18


2009.10.28, Version 0.1.15, eca2de73ed786b935507fd1c6faccd8df9938fd3

  * Many build system fixes (esp. for OSX users)

  * Feature: promise.timeout() (Felix Geisendörfer)

  * Feature: Added external interface for signal handlers, process.pid, and
    process.kill() (Brandon Beacher)

  * API: Rename node.libraryPaths to require.paths

  * Bugfix: 'data' event for stdio should emit a string

  * Large file support

  * Upgrade http_parser

  * Upgrade v8 to 1.3.16


2009.10.09, Version 0.1.14, b12c809bb84d1265b6a4d970a5b54ee8a4890513

  * Feature: Improved addon builds with node-waf

  * Feature: node.SignalHandler (Brandon Beacher)

  * Feature: Enable V8 debugging (but still need to make a debugger)

  * API: Rename library /utils.js to /sys.js

  * Clean up Node's build system

  * Don't use parseUri for HTTP server

  * Remove node.pc

  * Don't use /bin/sh to create child process except with exec()

  * API: Add __module to reference current module

  * API: Remove include() add node.mixin()

  * Normalize http headers; "Content-Length" becomes "content-length"

  * Upgrade V8 to 1.3.15


2009.09.30, Version 0.1.13, 58493bb05b3da3dc8051fabc0bdea9e575c1a107

  * Feature: Multipart stream parser (Felix Geisendörfer)

  * API: Move node.puts(), node.exec() and others to /utils.js

  * API: Move http, tcp libraries to /http.js and /tcp.js

  * API: Rename node.exit() to process.exit()

  * Bugfix: require() and include() should work in callbacks.

  * Pass the Host header in http.cat calls

  * Add warning when coroutine stack size grows too large.

  * Enhance repl library (Ray Morgan)

  * Bugfix: build script for
      GCC 4.4 (removed -Werror in V8),
      on Linux 2.4,
      and with Python 2.4.4.

  * Add read() and write() to /file.js to read and write
    whole files at once.


2009.09.24, Version 0.1.12, 2f56ccb45e87510de712f56705598b3b4e3548ec

  * Feature: System modules, node.libraryPaths

  * API: Remove "raw" encoding, rename "raws" to "binary".

  * API: Added connection.setNoDElay() to disable Nagle algo.

  * Decrease default TCP server backlog to 128

  * Bugfix: memory leak involving node.fs.* methods.

  * Upgrade v8 to 1.3.13


2009.09.18, Version 0.1.11, 5ddc4f5d0c002bac0ae3d62fc0dc58f0d2d83ec4

  * API: default to utf8 encoding for node.fs.cat()

  * API: add node.exec()

  * API: node.fs.read() takes a normal encoding parameter.

  * API: Change arguments of emit(), emitSuccess(), emitError()

  * Bugfix: node.fs.write() was stack allocating buffer.

  * Bugfix: ReportException shouldn't forget the top frame.

  * Improve buffering for HTTP outgoing messages

  * Fix and reenable x64 macintosh build.

  * Upgrade v8 to 1.3.11


2009.09.11, Version 0.1.10, 12bb0d46ce761e3d00a27170e63b40408c15b558

  * Feature: raw string encoding "raws"

  * Feature: access to environ through "ENV"

  * Feature: add isDirectory, isFile, isSocket, ... methods
    to stats object.

  * Bugfix: Internally use full paths when loading modules
    this fixes a shebang loading problem.

  * Bugfix: Add '--' command line argument for seperating v8
    args from program args.

  * Add man page.

  * Add node-repl

  * Upgrade v8 to 1.3.10

2009.09.05, Version 0.1.9, d029764bb32058389ecb31ed54a5d24d2915ad4c

  * Bugfix: Compile on Snow Leopard.

  * Bugfix: Malformed URIs raising exceptions.

2009.09.04, Version 0.1.8, e6d712a937b61567e81b15085edba863be16ba96

  * Feature: External modules

  * Feature: setTimeout() for node.tcp.Connection

  * Feature: add node.cwd(), node.fs.readdir(), node.fs.mkdir()

  * Bugfix: promise.wait() releasing out of order.

  * Bugfix: Asyncly do getaddrinfo() on Apple.

  * Disable useless evcom error messages.

  * Better stack traces.

  * Built natively on x64.

  * Upgrade v8 to 1.3.9

2009.08.27, Version 0.1.7, f7acef9acf8ba8433d697ad5ed99d2e857387e4b

  * Feature: global 'process' object. Emits "exit".

  * Feature: promise.wait()

  * Feature: node.stdio

  * Feature: EventEmitters emit "newListener" when listeners are
    added

  * API:  Use flat object instead of array-of-arrays for HTTP
    headers.

  * API: Remove buffered file object (node.File)

  * API: require(), include() are synchronous. (Uses
    continuations.)

  * API: Deprecate onLoad and onExit.

  * API: Rename node.Process to node.ChildProcess

  * Refactor node.Process to take advantage of evcom_reader/writer.

  * Upgrade v8 to 1.3.7

2009.08.22, Version 0.1.6, 9c97b1db3099d61cd292aa59ec2227a619f3a7ab

  * Bugfix: Ignore SIGPIPE.

2009.08.21, Version 0.1.5, b0fd3e281cb5f7cd8d3a26bd2b89e1b59998e5ed

  * Bugfix: Buggy connections could crash node.js. Now check
    connection before sending data every time (Kevin van Zonneveld)

  * Bugfix: stdin fd (0) being ignored by node.File. (Abe Fettig)

  * API: Remove connnection.fullClose()

  * API: Return the EventEmitter from addListener for chaining.

  * API: tcp.Connection "disconnect" event renamed to "close"

  * Upgrade evcom
    Upgrade v8 to 1.3.6

2009.08.13, Version 0.1.4, 0f888ed6de153f68c17005211d7e0f960a5e34f3

  * Major refactor to evcom.

  * Enable test-tcp-many-clients.

  * Add -m32 gcc flag to udns.

  * Add connection.readPause() and connection.readResume()
    Add IncomingMessage.prototype.pause() and resume().

  * Fix http benchmark. Wasn't correctly dispatching.

  * Bugfix: response.setBodyEncoding("ascii") not working.

  * Bugfix: Negative ints in HTTP's on_body and node.fs.read()

  * Upgrade v8 to 1.3.4
    Upgrade libev to 3.8
    Upgrade http_parser to v0.2

2009.08.06, Version 0.1.3, 695f0296e35b30cf8322fd1bd934810403cca9f3

  * Upgrade v8 to 1.3.2

  * Bugfix: node.http.ServerRequest.setBodyEncoding('ascii') not
    working

  * Bugfix: node.encodeUtf8 was broken. (Connor Dunn)

  * Add ranlib to udns Makefile.

  * Upgrade evcom - fix accepting too many connections issue.

  * Initial support for shebang

  * Add simple command line switches

  * Add node.version API


2009.08.01, Version 0.1.2, 025a34244d1cea94d6d40ad7bf92671cb909a96c

  * Add DNS API

  * node.tcp.Server's backlog option is now an argument to listen()

  * Upgrade V8 to 1.3.1

  * Bugfix: Default to chunked for client requests without
    Content-Length.

  * Bugfix: Line numbers in stack traces.

  * Bugfix: negative integers in raw encoding stream

  * Bugfix: node.fs.File was not passing args to promise callbacks.


2009.07.27, Version 0.1.1, 77d407df2826b20e9177c26c0d2bb4481e497937

  * Simplify and clean up ObjectWrap.

  * Upgrade liboi (which is now called evcom)
    Upgrade libev to 3.7
    Upgrade V8 to 1.2.14

  * Array.prototype.encodeUtf8 renamed to node.encodeUtf8(array)

  * Move EventEmitter.prototype.emit() completely into C++.

  * Bugfix: Fix memory leak in event emitters.
    http://groups.google.com/group/nodejs/browse_thread/thread/a8d1dfc2fd57a6d1

  * Bugfix: Had problems reading scripts with non-ascii characters.

  * Bugfix: Fix Detach() in node::Server

  * Bugfix: Sockets not properly reattached if reconnected during
    disconnect event.

  * Bugfix: Server-side clients not attached between creation and
    on_connect.

  * Add 'close' event to node.tcp.Server

  * Simplify and clean up http.js. (Takes more advantage of event
    infrastructure.)

  * Add benchmark scripts. Run with "make benchmark".


2009.06.30, Version 0.1.0, 0fe44d52fe75f151bceb59534394658aae6ac328

  * Update documentation, use asciidoc.

  * EventEmitter and Promise interfaces. (Breaks previous API.)

  * Remove node.Process constructor in favor of node.createProcess

  * Add -m32 flags for compiling on x64 platforms.
    (Thanks to András Bártházi)

  * Upgrade v8 to 1.2.10 and libev to 3.6

  * Bugfix: Timer::RepeatSetter wasn't working.

  * Bugfix: Spawning many processes in a loop
    (reported by Felix Geisendörfer)


2009.06.24, Version 0.0.6, fbe0be19ebfb422d8fa20ea5204c1713e9214d5f

  * Load modules via HTTP URLs (Urban Hafner)

  * Bugfix: Add HTTPConnection->size() and HTTPServer->size()

  * New node.Process API

  * Clean up build tools, use v8's test runner.

  * Use ev_unref() instead of starting/stopping the eio thread
    pool watcher.


2009.06.18, Version 0.0.5, 3a2b41de74b6c343b8464a68eff04c4bfd9aebea

  * Support for IPv6

  * Remove namespace node.constants

  * Upgrade v8 to 1.2.8.1

  * Accept ports as strings in the TCP client and server.

  * Bugfix: HTTP Client race

  * Bugfix: freeaddrinfo() wasn't getting called after
    getaddrinfo() for TCP servers

  * Add "opening" to TCP client readyState

  * Add remoteAddress to TCP client

  * Add global print() function.


2009.06.13, Version 0.0.4, 916b9ca715b229b0703f0ed6c2fc065410fb189c

 * Add interrupt() method to server-side HTTP requests.

 * Bugfix: onBodyComplete was not getting called on server-side
   HTTP


2009.06.11, Version 0.0.3, 6e0dfe50006ae4f5dac987f055e0c9338662f40a

 * Many bug fixes including the problem with http.Client on
   macintosh

 * Upgrades v8 to 1.2.7

 * Adds onExit hook

 * Guard against buffer overflow in http parser

 * require() and include() now need the ".js" extension

 * http.Client uses identity transfer encoding by default.
