Skip to content

ChangeLog

koichik edited this page Oct 13, 2011 · 23 revisions

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), 1b8dd65d6e3b82b6863ef38835cc436c5d30c1d5

  • #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.

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)

  • 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)

  • 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)

  • 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)

  • 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

Notes:

  • http.Client has new implementation and is missing many methods. It will be more complete in the next version.

  • large HTTPS responses appear to be broken

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)

Notes:

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

Notes:

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.

Notes:

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.

Notes:

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

Notes:

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

Notes:

2010.12.30, Version 0.2.6

  • Make sure raw mode is disabled when exiting a terminal-based REPL. (Brian White)

  • Fix OpenSSL SSL_library_init function check on OpenBSD. (Brian White)

  • Fix test-http-allow-req-after-204-res.js

  • Fix length of arguments emitted by EventEmitter (Jeremy Martin)

  • Fix unhandled ECONNABORTED (Theo Schlossnagle)

  • Default to gcc for V8 build on Solaris (Trent Mick)

  • Fix various memory leaks (Tom Hughes)

  • Apple's threaded write()s bug (Jorge Chamorro Bieling)

2010.11.16, Version 0.2.5, 74a1fc334e486683d6da02fd918725d246ffc273

  • Add ref to buffer during fs.write and fs.read. Sometimes buffers would be GCed before making it to the thread pool.

  • Fix http buffer pushing bug: http://groups.google.com/group/nodejs/browse_thread/thread/f66cd3c960406919

  • Gracefully handle EMFILE and server.maxConnections

  • "node --eval" evals in the global scope. (Jorge Chamorro Bieling)

  • Handle cyclic links smarter in fs.realpath (isaacs, Issue #167)

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

  • Removed range read optimization as it doesn't work with libeio. (Chandra Sekar S)

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

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

  • Upgrade http-parser

  • Readline: Switch \n with \r\n for all strings printed out. Simplify displayPrompt

  • Fix segfault on test-crypto

  • 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. (isaacs)

  • Fix OS::GetExecutablePath for platform_none shouldn't return garbage.

2010.10.24, Version 0.2.4, 428a67012158eb2ff478a0dc58336e85e4c6399a

  • Add --eval to command line options (TJ Holowaychuk)

  • net fixes

    • TCP clients buffer writes before connection
    • Don't flush net writeQueue on end() if its still connecting (Joshua Peek)
    • Do not spin on aceept() with EMFILE
  • Add --max-stack-size flag. (Tom Hughes)

  • Fixes to child_process.exec (timeouts and proper termination) Default to SIGTERM instead of SIGKILL.

  • Add signal handlers so we clean up before exiting. (Tom Hughes)

  • Fix parsing of linux memory (Vitali Lovich)

  • http-parser: Allow whitespace in the 'Content-Length' header. (Nathan Rajlich)

  • Add flag to disable colors in REPL

2010.10.02, Version 0.2.3, dc103ae020ecd6182aa2adb482ac72ea944130ee

  • Fix require in REPL (bug introduced in v0.2.2)

  • Pass correct message in client HTTP upgrade event. (Fedor Indutny)

  • Show function names in sys.inspect (Jorge Chamorro Bieling)

  • In HTTP, close connection on the "connection:close" header. (Mikeal Rogers)

  • fs.ReadStream bug fixes (Tj Holowaychuk, Evan Larkin, Marco Rogers)

  • Fix zero length buffer bug for http res.end()

2010.09.17, Version 0.2.2, 7bf46bc9808f4db98f1cf177d58a6ecf3a50b65d

  • REPL improvements (Trent Mick)

  • Fix bug in fs.realpath (Isaac Schlueter)

  • sys.pump catches errors (Russell Haering)

2010.09.10, Version 0.2.1, da235fa12c208fc8243600e128db2c9b55624c5c

  • REPL improvements (Johan Euphrosine, Brian White)

  • nextTick bug fixes (Benjamin Thomas, Felix Geisendörfer, Trent Mick)

  • fs module bug fixes (Russell Haering, Marco Rogers, Tobie Langel, Isaac Schlueter)

  • Build script change for OpenEmbedded.

  • Most constrctuors work without 'new' now.

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

  • setInterval(cb, 0) loops infinitely

  • Fixes for NODE_MODULE_CONTEXTS=1 (Herbert Vojčík)

  • Expose fingerproint from getPeerCertificate (Paul Querna)

  • API: forceClose -> destroy for WriteStreams

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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.

Notes:

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.

Notes:

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)

Notes:

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

Notes:

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

Notes:

2010.04.29, Version 0.1.93, 557ba6bd97bad3afe0f9bd3ac07efac0a39978c1

  • Fixed no 'end' event on long chunked HTTP messages http://github.com/ry/node/issues/#issue/77

  • Remove legacy modules http_old and tcp_old

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

  • Fix large socket write ([email protected])

  • 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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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. ([email protected])

  • 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)

Notes:

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)

Notes:

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 ([email protected])

  • 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.

Notes:

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)

Notes:

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)

Notes:

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

Notes:

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)

Notes:

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)

Notes:

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)

Notes:

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 ([email protected])

Notes:

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 ([email protected])

  • Bugfix: Memory leak in fs.write (Reported by [email protected])

  • 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

Notes:

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 ([email protected])

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

  • Upgrade libev to latest CVS

Notes:

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

Notes:

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

Notes:

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

Notes:

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

Notes:

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.

Notes:

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

Notes:

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

Notes:

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

Notes:

2009.09.05, Version 0.1.9, d029764bb32058389ecb31ed54a5d24d2915ad4c

  • Bugfix: Compile on Snow Leopard.

  • Bugfix: Malformed URIs raising exceptions.

Notes:

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

Notes:

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

Notes:

2009.08.22, Version 0.1.6, 9c97b1db3099d61cd292aa59ec2227a619f3a7ab

  • Bugfix: Ignore SIGPIPE.

Notes:

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

Notes:

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

Notes:

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

Notes:

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.

Notes:

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".

Notes:

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)

Notes:

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.

Notes:

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.

Notes:

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

Notes:

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.

Clone this wiki locally