Permalink
Commits on Feb 15, 2013
  1. @isaacs

    2013.02.15, Version 0.8.20 (Stable)

    * npm: Upgrade to v1.2.11
    
    * http: Do not let Agent hand out destroyed sockets (isaacs)
    
    * http: Raise hangup error on destroyed socket write (isaacs)
    
    * http: protect against response splitting attacks (Bert Belder)
    isaacs committed Feb 15, 2013
  2. @isaacs

    npm: Upgrade to v1.2.11

    isaacs committed Feb 15, 2013
  3. @isaacs
  4. @isaacs

    http: Raise hangup error on destroyed socket write

    Prior to v0.10, Node ignored ECONNRESET errors in many situations.
    There *are* valid cases in which ECONNRESET should be ignored as a
    normal part of the TCP dance, but in many others, it's a very relevant
    signal that must be heeded with care.
    
    Exacerbating this problem, if the OutgoingMessage does not have a
    req.connection._handle, it assumes that it is in the process of
    connecting, and thus buffers writes up in an array.
    
    The problem happens when you reuse a socket between two requests, and it
    is destroyed abruptly in between them.  The writes will be buffered,
    because the socket has no handle, but it's not ever going to GET a
    handle, because it's not connecting, it's destroyed.
    
    The proper fix is to treat ECONNRESET correctly.  However, this is a
    behavior/semantics change, and cannot land in a stable branch.
    
    Fix #4775
    isaacs committed Feb 14, 2013
Commits on Feb 14, 2013
  1. @bnoordhuis

    doc: clarify child_process.exec() stdio option

    It only works for stdin, not stdout/stderr, for obvious reasons.
    bnoordhuis committed Feb 14, 2013
  2. @bnoordhuis
Commits on Feb 13, 2013
  1. @dankohn @bnoordhuis

    doc: add prompt to fix repl_test.js example

    Running repl.start without the prompt set produces this error:
    
    repl.js:95
        throw new Error('An options Object, or a prompt String are required');
              ^
    Error: An options Object, or a prompt String are required
        at new REPLServer (repl.js:95:11)
        at Object.exports.start (repl.js:321:14)
        at Object.<anonymous> (/Users/dan/Dropbox/Documents/dev/nextgen/repl_test.js:5:6)
        at Module._compile (module.js:449:26)
        at Object.Module._extensions..js (module.js:467:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:312:12)
        at Module.runMain (module.js:492:10)
        at process.startup.processNextTick.process._tickCallback (node.js:244:9)
    dankohn committed with bnoordhuis Feb 12, 2013
  2. @isaacs
Commits on Feb 12, 2013
  1. @isaacs

    blog: Peer Dependencies article

    Thanks, @domenic
    isaacs committed Feb 12, 2013
Commits on Feb 8, 2013
  1. @bnoordhuis

    test: disable simple/test-dgram-send-error

    It's not a good citizen, it spams random IP addresses with UDP packets.
    
    Fixes #4730.
    bnoordhuis committed Feb 8, 2013
Commits on Feb 7, 2013
  1. @isaacs
  2. @isaacs

    blog: v0.9.9

    isaacs committed Feb 7, 2013
  3. @piscisaureus

    http: protect against response splitting attacks

    This patch is a back-port of 3c293ba.
    Closes #4696
    piscisaureus committed Feb 7, 2013
Commits on Feb 6, 2013
  1. @isaacs

    blog: v0.8.19 release

    isaacs committed Feb 6, 2013
  2. @isaacs

    Now working on 0.8.20

    isaacs committed Feb 6, 2013
  3. @isaacs
  4. @isaacs

    2013.02.06, Version 0.8.19 (Stable)

    * npm: Upgrade to v1.2.10
    
    * zlib: pass object size hint to V8 (Ben Noordhuis)
    
    * zlib: reduce memory consumption, release early (Ben Noordhuis)
    
    * buffer: slow buffer copy compatibility fix (Trevor Norris)
    
    * zlib: don't assert on malformed dictionary (Ben Noordhuis)
    
    * zlib: don't assert on missing dictionary (Ben Noordhuis)
    
    * windows: better ipv6 support (Bert Belder)
    
    * windows: add error mappings related to unsupported protocols (Bert Belder)
    
    * windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
    isaacs committed Feb 6, 2013
  5. @isaacs

    npm: Upgrade to v1.2.10

    isaacs committed Feb 6, 2013
Commits on Feb 5, 2013
  1. @bnoordhuis

    blog: remove dangling symlink

    Fixes #4716.
    bnoordhuis committed Feb 5, 2013
  2. @bnoordhuis

    zlib: pass object size hint to V8

    Inform V8 that the zlib context object is tied to a large off-heap buffer.
    
    This makes the GC run more often (in theory) and improves the accuracy of
    --trace_external_memory.
    bnoordhuis committed Oct 30, 2012
  3. @bnoordhuis

    zlib: reduce memory consumption, release early

    In zlibBuffer(), don't wait for the garbage collector to reclaim the zlib memory
    but release it manually. Reduces memory consumption by a factor of 10 or more
    with some workloads.
    
    Test case:
    
      function f() {
        require('zlib').deflate('xxx', g);
      }
      function g() {
        setTimeout(f, 5);
      }
      f();
    
    Observe RSS memory usage with and without this commit. After 10,000 iterations,
    RSS stabilizes at ~35 MB with this commit. Without, RSS is over 300 MB and keeps
    growing.
    
    Cause: whenever the JS object heap hits the high-water mark, the V8 GC sweeps
    it clean, then tries to grow it in order to avoid more sweeps in the near
    future. Rule of thumb: the bigger the JS heap, the lazier the GC can be.
    
    A side effect of a bigger heap is that objects now live longer. This is harmless
    in general but it affects zlib context objects because those are tied to large
    buffers that live outside the JS heap, on the order of 16K per context object.
    
    Ergo, don't wait for the GC to reclaim the memory - it may take a long time.
    
    Fixes #4172.
    bnoordhuis committed Oct 30, 2012
  4. @bnoordhuis

    doc: don't suggest to reuse net.Socket objects

    Using Socket.prototype.connect() to reconnect an existing Socket object
    is not reliable. Users should just create a new Socket object.
    
    See #4698.
    bnoordhuis committed Feb 5, 2013
Commits on Feb 2, 2013
  1. @isaacs
Commits on Jan 30, 2013
  1. @piscisaureus
Commits on Jan 26, 2013
  1. @bnoordhuis

    doc: fix typo in cluster module documentation

    Fix a small typo in the cluster.settings documentation.
    Rick Yakubowski committed with bnoordhuis Jan 26, 2013
Commits on Jan 25, 2013
  1. @trevnorris @TooTallNate

    buffer: slow buffer copy compatibility fix

    Fix issue where SlowBuffers couldn't be passed as target to Buffer
    copy().
    
    Also included checks to see if Argument parameters are defined before
    assigning their values. This offered ~3x's performance gain.
    
    Backport of 16bbecc from master branch. Closes #4633.
    trevnorris committed with TooTallNate Jan 22, 2013
  2. @isaacs
Commits on Jan 24, 2013
  1. @jgable @TooTallNate

    doc: fix typo in crypto Hash.digest() note

    Added the word 'has' to the sentence.
    Closes #4652.
    jgable committed with TooTallNate Jan 23, 2013
  2. @isaacs

    blog: Post for v0.9.8

    isaacs committed Jan 24, 2013
Commits on Jan 22, 2013
  1. @bnoordhuis
  2. @bnoordhuis

    zlib: don't assert on malformed dictionary

    Handle Z_DATA_ERROR errors from inflateSetDictionary() gracefully.
    Fixes the following assertion:
    
      node: ../src/node_zlib.cc:167: static void node::ZCtx::Process
      (uv_work_t*): Assertion `ctx->err_ == 0 && "Failed to set
      dictionary"' failed.
      Aborted (core dumped)
    
    Fixes #4632.
    bnoordhuis committed Jan 22, 2013
  3. @bnoordhuis

    zlib: don't assert on missing dictionary

    Handle Z_NEED_DICT errors graciously. Fixes the following assertion:
    
      node: ../src/node_zlib.cc:161: static void node::ZCtx::Process
      (uv_work_t*): Assertion`ctx->dictionary_ != __null && "Stream
      has no dictionary"' failed.
      Aborted (core dumped)
    
    Fixes #4632.
    bnoordhuis committed Jan 22, 2013
Commits on Jan 18, 2013
  1. @isaacs

    blog: Post for v0.8.18 release

    isaacs committed Jan 18, 2013
  2. @isaacs

    Now working on 0.8.19

    isaacs committed Jan 18, 2013
  3. @isaacs