Skip to content


Subversion checkout URL

You can clone with
Download ZIP
tag: v0.9.12
Commits on Mar 6, 2013
  1. @isaacs

    2013.03.06, Version 0.9.12 (Unstable)

    isaacs authored
    * 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. @isaacs

    V8: Reapply floating patches

    isaacs authored
  3. @isaacs

    V8: Upgrade to

    isaacs authored
  4. @isaacs

    http: More useful setTimeout API on server

    isaacs authored
    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
      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. @isaacs

    bench: Use environ to run compares more than once

    isaacs authored
    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. @isaacs

    stream: Raise readable high water mark in powers of 2

    isaacs authored
    This prevents excessively raising the buffer level in tiny increments in
    pathological cases.
  7. @isaacs
  8. @isaacs

    stream: Remove bufferSize option

    isaacs authored
    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.
  9. @isaacs

    stream: Remove pipeOpts.chunkSize

    isaacs authored
    It's not actually necessary for backwards compatibility, isn't
    used anywhere, and isn't even tested.  Better to just remove it.
  10. @isaacs

    stream: Increase highWaterMark on large reads

    isaacs authored
    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
  11. @isaacs
  12. @isaacs
  13. @isaacs

    node: Add --throw-deprecation

    isaacs authored
    Extremely handy when tracking down a flood of recursive nextTick warnings.
  14. @egirshov @isaacs

    http: fix multiple timeout events

    egirshov authored isaacs committed
    Fixed up slightly by @isaacs so as not to miss 'timeout' events in some
  15. @bnoordhuis

    net: use close callback, not process.nextTick

    bnoordhuis authored
    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
    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.
  16. @bnoordhuis
  17. @bnoordhuis

    handle_wrap: replace unref_ field with flags_ field

    bnoordhuis authored
    Prep work for a follow-up commit that adds support for close callbacks.
  18. @bnoordhuis
  19. @langpavel @indutny

    DNS: Support NAPTR queries

    langpavel authored indutny committed
    They were previously removed in a90bc78.
  20. @isaacs @indutny

    cares: Set process._errno, not global.errno

    isaacs authored indutny committed
    This makes test-internet pass
  21. @sblom @isaacs

    child_process: handle ENOENT correctly on Windows

    sblom authored isaacs committed
Commits on Mar 5, 2013
  1. @tjfontaine @isaacs

    build: define nightly tag external to build system

    tjfontaine authored isaacs committed
  2. @isaacs
  3. @isaacs

    stream: _write takes an encoding argument

    isaacs authored
    This vastly reduces the overhead of decodeStrings:false streams,
    such as net and http.
  4. @isaacs

    stream: Remove output function from _transform

    isaacs authored
    Just use stream.push(outputChunk) instead.
  5. @isaacs

    stream: Split Writable logic into small functions

    isaacs authored
    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.
  6. @isaacs

    bench: Add flag to be silent in runner

    isaacs authored
    This is helpful in tracking down bailouts and deopts in Stream classes,
    without triggering one from the string write in console.log
  7. @TooTallNate @isaacs

    process: invoke EventEmitter on `process`

    TooTallNate authored isaacs committed
    This properly sets the `_maxListeners` property, which
    fixes the max listener warning. Closes #4924.
  8. @piscisaureus

    Revert "build, windows: disable SEH"

    piscisaureus authored
    This is no longer necessary - the underlying issue was fixed in 01fa5ee.
    This reverts commit d879042.
  9. @piscisaureus

    win/openssl: mark assembled object files as seh safe

    piscisaureus authored
    There are no unsafe structured exception handlers in object files
    generated from hand-crafted assembly - because they contain no exception
    handlers at all.
  10. @hij1nx @isaacs

    Update domain.markdown

    hij1nx authored isaacs committed
  11. @bnoordhuis
  12. @bnoordhuis
  13. @bnoordhuis

    cluster: propagate bind errors

    bnoordhuis authored
    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.
  14. @fb55 @indutny

    events: loop backwards in removeListener

    fb55 authored indutny committed
    `removeAllListeners` is removing events from end to start. Therefore
    it spends O(n^2) time, since `removeListener` is searching from start to
Something went wrong with that request. Please try again.