Commits on Dec 21, 2012
  1. 2012.12.21, Version 0.9.4 (Unstable)

    * streams: Update all streaming interfaces to use new classes (isaacs)
    * node: remove idle gc (Ben Noordhuis)
    * http: protect against response splitting attacks (Bert Belder)
    * fs: Raise error when null bytes detected in paths (isaacs)
    * fs: fix 'object is not a function' callback errors (Ben Noordhuis)
    * fs: add autoClose=true option to fs.createReadStream (Farid Neshat)
    * process: add getgroups(), setgroups(), initgroups() (Ben Noordhuis)
    * openssl: optimized asm code on x86 and x64 (Bert Belder)
    * crypto: fix leak in GetPeerCertificate (Fedor Indutny)
    * add systemtap support (Jan Wynholds)
    * windows: add ETW and PerfCounters support (Scott Blomquist)
    * windows: fix normalization of UNC paths (Bert Belder)
    * crypto: fix ssl error handling (Sergey Kholodilov)
    * node: remove eio-emul.h (Ben Noordhuis)
    * os: add os.endianness() function (Nathan Rajlich)
    * readline: don't emit "line" events with a trailing 'n' char (Nathan Rajlich)
    * build: add configure option to generate xcode build files (Timothy J Fontaine)
    * build: allow linking against system libuv, cares, http_parser (Stephen Gallagher)
    * typed arrays: add slice() support to ArrayBuffer (Anthony Pesch)
    * debugger: exit and kill child on SIGTERM or SIGHUP (Fedor Indutny)
    * url: url.format escapes delimiters in path and query (J. Lee Coltrane)
    isaacs committed Dec 21, 2012
  2. doc: Nudge formatting to make json generator happy

    Starting a line with `**bold**` text makes it think that it's a link,
    and get confused.
    This should really be fixed properly in the doc generator, but for now,
    it's not a major issue.  It's probably just a matter of updating marked.
    isaacs committed Dec 21, 2012
  3. stdio: Do not read from stdout/err

    This fixes windows stdio pipes in streams2 land.
    isaacs committed Dec 21, 2012
  4. lint

    isaacs committed Dec 21, 2012
  5. npm: upgrade to 1.1.70

    isaacs committed Dec 21, 2012
  6. blog: More streams2 wordsmithing

    isaacs committed Dec 21, 2012
Commits on Dec 20, 2012
  1. openssl: disable HT sidechannel attack mitigation

    It used to be off before. It's extremely unlikely that such an attack
    would be a viable attack against node. And it makes AES much slower.
    piscisaureus committed Sep 21, 2012
  2. openssl: make perlasm target pentium or newer for masm outputs

    When perlasm generates MASM code it sets the assembler target to 468.
    In this mode MASM refuses to assemble a couple of instructions. Bumping
    the target to 686 solves this problem.
    piscisaureus committed Sep 12, 2012
  3. openssl: clean up and merge configuration files

    This patch brings the openssl library that is built with gyp closer
    to what the standard build system produces.
    All opensslconf.h versions are now merged into a single file, which
    makes it easier for compiled addons to locate this file.
    piscisaureus committed Sep 25, 2012
  4. http: pack response body buffer in first tcp packet

    Apply the same optimization to res.end(buf) that is applied to res.end(str).
    Speeds up `node benchmark/http_simple_auto -k -c 1 -n 25000 buffer/1`
    (non-chunked response body) by about 750x. That's not a typo.
    Chunked responses:
      $ cat tmp/http-chunked-client.js
      // Run `node benchmark/http_simple` in another terminal.
      var http = require('http'), url = require('url');
      var options = url.parse('');
      options.agent = new http.Agent({ maxSockets: 1 });
      for (var i = 0; i < 25000; ++i) http.get(options);
      $ time out/Release/node tmp/http-chunked-client.js
      real    16m40.411s
      user    0m9.184s
      sys     0m0.604s
      $ time out/Release/node tmp/http-chunked-client.js
      real    0m5.386s
      user    0m2.768s
      sys     0m0.728s
    That's still a 185x speed-up.
    Fixes #4415.
    bnoordhuis committed Dec 19, 2012
  5. bench: use res.end() for chunked encoding

    Use res.end() for the final chunk so we can benchmark the 'hot path' shortcut
    in lib/http.js that packs the headers and the body into a single packet.
    bnoordhuis committed Dec 19, 2012
Commits on Dec 19, 2012
  1. streams2: Process write buffer in a loop, not recursively

    This fixes pummel/test-net-write-callbacks
    isaacs committed Dec 19, 2012
Commits on Dec 18, 2012
  1. benchmark: Add http-flamegraph

    This is very similar to, but generates a flamegraph
    with dtrace, pruning off the single-hit stacks so that we can
    more easily see the places where relevant amounts of time are
    isaacs committed Dec 18, 2012