2011.01.16, Version 0.3.5 (unstable)
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)
Primordal 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 evaulated.
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:
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 improvments (Paul Querna)
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)
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 aceept() with EMFILE
Improvments 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)
require looks in node_modules folders
Add --eval command line option (TJ Holowaychuk)
Commas last in sys.inspect
Constatnts 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 NODEMODULECONTEXTS=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 http://github.com/ry/node/issues/#issue/77
Remove legacy modules httpold and tcpold
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)
Legacy modules can be accessed at 'httpold' and 'tcpold'
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
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); });
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
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)
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
__module becomes module
API: Many namespacing changes
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
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.