This repository has been archived by the owner. It is now read-only.
Permalink
Switch branches/tags
Commits on Feb 15, 2013
  1. 2013.02.15, Version 0.8.20 (Stable)

    isaacs committed Feb 15, 2013
    * 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)
  2. npm: Upgrade to v1.2.11

    isaacs committed Feb 15, 2013
  3. http: Raise hangup error on destroyed socket write

    isaacs committed Feb 14, 2013
    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
Commits on Feb 14, 2013
  1. doc: clarify child_process.exec() stdio option

    bnoordhuis committed Feb 14, 2013
    It only works for stdin, not stdout/stderr, for obvious reasons.
Commits on Feb 13, 2013
  1. doc: add prompt to fix repl_test.js example

    dankohn authored and bnoordhuis committed Feb 12, 2013
    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)
Commits on Feb 12, 2013
  1. blog: Peer Dependencies article

    isaacs committed Feb 12, 2013
    Thanks, @domenic
Commits on Feb 8, 2013
  1. test: disable simple/test-dgram-send-error

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

    isaacs committed Feb 7, 2013
  2. http: protect against response splitting attacks

    piscisaureus committed Feb 7, 2013
    This patch is a back-port of 3c293ba.
    Closes #4696
Commits on Feb 6, 2013
  1. blog: v0.8.19 release

    isaacs committed Feb 6, 2013
  2. Now working on 0.8.20

    isaacs committed Feb 6, 2013
  3. 2013.02.06, Version 0.8.19 (Stable)

    isaacs committed Feb 6, 2013
    * 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)
  4. npm: Upgrade to v1.2.10

    isaacs committed Feb 6, 2013
Commits on Feb 5, 2013
  1. blog: remove dangling symlink

    bnoordhuis committed Feb 5, 2013
    Fixes #4716.
  2. zlib: pass object size hint to V8

    bnoordhuis committed Oct 30, 2012
    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.
  3. zlib: reduce memory consumption, release early

    bnoordhuis committed Oct 30, 2012
    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.
  4. doc: don't suggest to reuse net.Socket objects

    bnoordhuis committed Feb 5, 2013
    Using Socket.prototype.connect() to reconnect an existing Socket object
    is not reliable. Users should just create a new Socket object.
    
    See #4698.
Commits on Feb 2, 2013
Commits on Jan 30, 2013
Commits on Jan 26, 2013
  1. doc: fix typo in cluster module documentation

    Rick Yakubowski authored and bnoordhuis committed Jan 26, 2013
    Fix a small typo in the cluster.settings documentation.
Commits on Jan 25, 2013
  1. buffer: slow buffer copy compatibility fix

    trevnorris authored and TooTallNate committed Jan 22, 2013
    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.
Commits on Jan 24, 2013
  1. doc: fix typo in crypto Hash.digest() note

    jgable authored and TooTallNate committed Jan 23, 2013
    Added the word 'has' to the sentence.
    Closes #4652.
  2. blog: Post for v0.9.8

    isaacs committed Jan 24, 2013
Commits on Jan 22, 2013
  1. zlib: don't assert on malformed dictionary

    bnoordhuis committed Jan 22, 2013
    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.
  2. zlib: don't assert on missing dictionary

    bnoordhuis committed Jan 22, 2013
    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.
Commits on Jan 18, 2013
  1. blog: Post for v0.8.18 release

    isaacs committed Jan 18, 2013
  2. Now working on 0.8.19

    isaacs committed Jan 18, 2013