Permalink
Switch branches/tags
Commits on Mar 6, 2013
  1. 2013.03.06, Version 0.9.12 (Unstable)

    isaacs committed Mar 6, 2013
    * stream: Allow strings in Readable.push/unshift (isaacs)
    
    * stream: Remove bufferSize option (isaacs)
    
    * stream: Increase highWaterMark on large reads (isaacs)
    
    * stream: _write: takes an encoding argument (isaacs)
    
    * stream: _transform: remove no output() method, provide encoding (isaacs)
    
    * stream: Don't require read(0) to emit 'readable' event (isaacs)
    
    * node: Add --throw-deprecation (isaacs)
    
    * http: fix multiple timeout events (Eugene Girshov)
    
    * http: More useful setTimeout API on server (isaacs)
    
    * net: use close callback, not process.nextTick (Ben Noordhuis)
    
    * net: Provide better error when writing after FIN (isaacs)
    
    * dns: Support NAPTR queries (Pavel Lang)
    
    * dns: fix ReferenceError in resolve() error path (Xidorn Quan)
    
    * child_process: handle ENOENT correctly on Windows (Scott Blomquist)
    
    * cluster: Rename destroy() to kill(signal=SIGTERM) (isaacs)
    
    * build: define nightly tag external to build system (Timothy J Fontaine)
    
    * build: make msi build work when spaces are present in the path (Bert Belder)
    
    * build: fix msi build issue with WiX 3.7/3.8 (Raymond Feng)
    
    * repl: make compatible with domains (Dave Olszewski)
    
    * events: Code cleanup and performance improvements (Trevor Norris)
  2. V8: Reapply floating patches

    isaacs committed Mar 6, 2013
  3. V8: Upgrade to 3.14.5.8

    isaacs committed Mar 6, 2013
  4. http: More useful setTimeout API on server

    isaacs committed Mar 4, 2013
    This adds the following to HTTP:
    
    * server.setTimeout(msecs, callback)
      Sets all new connections to time out after the specified time, at
      which point it emits 'timeout' on the server, passing the socket as an
      argument.
      In this way, timeouts can be handled in one place consistently.
    * req.setTimeout(), res.setTimeout()
      Essentially an alias to req/res.socket.setTimeout(), but without
      having to delve into a "buried" object.  Adds a listener on the
      req/res object, but not on the socket.
    * server.timeout
      Number of milliseconds before incoming connections time out.
      (Default=1000*60*2, as before.)
    
    Furthermore, if the user sets up their own timeout listener on either
    the server, the request, or the response, then the default behavior
    (destroying the socket) is suppressed.
    
    Fix #3460
  5. bench: Use environ to run compares more than once

    isaacs committed Mar 6, 2013
    This will run the benchmarks the number of times specified by NODE_BENCH_RUNS,
    to attempt to reduce variability.
    
    If the number of runs is high enough, it'll also throw out the top and bottom
    quartiles, since that's where the outliers will be.
    
    It's not very fancy statistics-fu, but it's better than nothing.
    
    Also, linted this file.  It had tabs in it.  TABS!
  6. stream: Raise readable high water mark in powers of 2

    isaacs committed Mar 6, 2013
    This prevents excessively raising the buffer level in tiny increments in
    pathological cases.
  7. stream: Remove bufferSize option

    isaacs committed Mar 6, 2013
    Now that highWaterMark increases when there are large reads, this
    greatly reduces the number of calls necessary to _read(size), assuming
    that _read actually respects the size argument.
  8. stream: Remove pipeOpts.chunkSize

    isaacs committed Mar 6, 2013
    It's not actually necessary for backwards compatibility, isn't
    used anywhere, and isn't even tested.  Better to just remove it.
  9. stream: Increase highWaterMark on large reads

    isaacs committed Mar 6, 2013
    If the consumer of a Readable is asking for N bytes, and N > hwm,
    then clearly we have set the hwm to low, and ought to increase it.
    
    Fix #4931
  10. node: Add --throw-deprecation

    isaacs committed Mar 6, 2013
    Extremely handy when tracking down a flood of recursive nextTick warnings.
  11. http: fix multiple timeout events

    egirshov committed with isaacs Mar 4, 2013
    Fixed up slightly by @isaacs so as not to miss 'timeout' events in some
    cases.
  12. net: use close callback, not process.nextTick

    bnoordhuis committed Mar 6, 2013
    Don't emit the 'close' event with process.nextTick.
    
    Closing a handle is an operation that usually *but not always* completes
    on the next tick of the event loop, hence using process.nextTick is not
    reliable.
    
    Use a proper handle close callback and emit the 'close' event from
    inside the callback.
    
    Update tests that depend on the intricacies of the old model.
    
    Fixes #3459.
  13. handle_wrap: replace unref_ field with flags_ field

    bnoordhuis committed Mar 6, 2013
    Prep work for a follow-up commit that adds support for close callbacks.
  14. DNS: Support NAPTR queries

    langpavel committed with indutny Sep 18, 2012
    They were previously removed in a90bc78.
  15. cares: Set process._errno, not global.errno

    isaacs committed with indutny Mar 6, 2013
    This makes test-internet pass
Commits on Mar 5, 2013
  1. stream: _write takes an encoding argument

    isaacs committed Mar 4, 2013
    This vastly reduces the overhead of decodeStrings:false streams,
    such as net and http.
  2. stream: Remove output function from _transform

    isaacs committed Mar 4, 2013
    Just use stream.push(outputChunk) instead.
  3. stream: Split Writable logic into small functions

    isaacs committed Mar 4, 2013
    1. Get rid of unnecessary 'finishing' flag
    2. Dont check both ending and ended. Extraneous.
    
    Also: Remove extraneous 'finishing' flag, and don't check both 'ending'
    and 'ended', since checking just 'ending' is sufficient.
  4. bench: Add flag to be silent in runner

    isaacs committed Mar 3, 2013
    This is helpful in tracking down bailouts and deopts in Stream classes,
    without triggering one from the string write in console.log
  5. process: invoke EventEmitter on `process`

    TooTallNate committed with isaacs Mar 5, 2013
    This properly sets the `_maxListeners` property, which
    fixes the max listener warning. Closes #4924.
  6. Revert "build, windows: disable SEH"

    piscisaureus committed Mar 5, 2013
    This is no longer necessary - the underlying issue was fixed in 01fa5ee.
    This reverts commit d879042.
  7. win/openssl: mark assembled object files as seh safe

    piscisaureus committed Mar 5, 2013
    There are no unsafe structured exception handlers in object files
    generated from hand-crafted assembly - because they contain no exception
    handlers at all.
  8. Update domain.markdown

    0x00A committed with isaacs Mar 4, 2013
  9. cluster: propagate bind errors

    bnoordhuis committed Feb 9, 2012
    This commit Fixes a bug where the cluster module fails to propagate
    EADDRINUSE errors.
    
    When a worker starts a (net, http) server, it requests the listen socket
    from its master who then creates and binds the socket.
    
    Now, OS X and Windows don't always signal EADDRINUSE from bind() but
    instead defer the error until a later syscall. libuv mimics this
    behaviour to provide consistent behaviour across platforms but that
    means the worker could end up with a socket that is not actually bound
    to the requested addresss.
    
    That's why the worker now checks if the socket is bound, raising
    EADDRINUSE if that's not the case.
    
    Fixes #2721.
  10. events: loop backwards in removeListener

    fb55 committed with indutny Mar 5, 2013
    `removeAllListeners` is removing events from end to start. Therefore
    it spends O(n^2) time, since `removeListener` is searching from start to
    end.