2012.01.27, Version 0.6.9 (stable) * dgram: Bring back missing functionality for Unix (Dan VerWeire, Roman Shtylman, Ben Noordnuis) - 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 Geisendö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 Geisendö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 Geisendö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 Geisendörfer) * SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik) * http.ServerRequest 'close' sometimes gets an error argument (Felix Geisendö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 Geisendö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.