2009.12.06, Version 0.1.21 * 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.