Commits on Mar 28, 2013
  1. @isaacs

    2013.03.28, Version 0.11.0 (Unstable)

    * V8: update to 3.17.13
    
    * os: use %SystemRoot% or %windir% in os.tmpdir() (Suwon Chae)
    
    * util: fix util.inspect() line width calculation (Marcin Kostrzewa)
    
    * buffer: remove _charsWritten (Trevor Norris)
    
    * fs: uv_[fl]stat now reports subsecond resolution (Timothy J Fontaine)
    
    * fs: Throw if error raised and missing callback (bnoordhuis)
    
    * tls: expose SSL_CTX_set_timeout via tls.createServer (Manav Rathi)
    
    * tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
    
    * buffer: write ascii strings using WriteOneByte (Trevor Norris)
    
    * dtrace: fix generation of v8 constants on freebsd (Fedor Indutny)
    
    * dtrace: x64 ustack helper (Fedor Indutny)
    
    * readline: handle wide characters properly (Nao Iizuka)
    
    * repl: Use a domain to catch async errors safely (isaacs)
    
    * repl: emit 'reset' event when context is reset (Sami Samhuri)
    
    * util: custom `inspect()` method may return an Object (Nathan Rajlich)
    
    * console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
    isaacs committed Mar 28, 2013
  2. @isaacs

    lint

    Fixes lint errors introduced in 120e5a2
    isaacs committed Mar 28, 2013
  3. @isaacs

    Merge remote-tracking branch 'ry/v0.10'

    Conflicts:
    	src/node.cc
    	src/node_version.h
    isaacs committed Mar 28, 2013
  4. @isaacs

    blog: Post about v0.10.2

    isaacs committed Mar 28, 2013
  5. @isaacs

    Node working on 0.10.3

    isaacs committed Mar 28, 2013
  6. @isaacs
  7. @bnoordhuis
  8. @isaacs

    2013.03.28, Version 0.10.2 (Stable)

    * npm: Upgrade to 1.2.15
    
    * uv: Upgrade to 0.10.3
    
    * tls: handle SSL_ERROR_ZERO_RETURN (Fedor Indutny)
    
    * tls: handle errors before calling C++ methods (Fedor Indutny)
    
    * tls: remove harmful unnecessary bounds checking (Marcel Laverdet)
    
    * crypto: make getCiphers() return non-SSL ciphers (Ben Noordhuis)
    
    * crypto: check randomBytes() size argument (Ben Noordhuis)
    
    * timers: do not calculate Timeout._when property (Alexey Kupershtokh)
    
    * timers: fix off-by-one ms error (Alexey Kupershtokh)
    
    * timers: handle signed int32 overflow in enroll() (Fedor Indutny)
    
    * stream: Fix stall in Transform under very specific conditions (Gil Pedersen)
    
    * stream: Handle late 'readable' event listeners (isaacs)
    
    * stream: Fix early end in Writables on zero-length writes (isaacs)
    
    * domain: fix domain callback from MakeCallback (Trevor Norris)
    
    * child_process: don't emit same handle twice (Ben Noordhuis)
    
    * child_process: fix sending utf-8 to child process (Ben Noordhuis)
    isaacs committed Mar 28, 2013
  9. @piscisaureus
  10. @isaacs

    npm: Upgrade to v1.2.15

    isaacs committed Mar 28, 2013
  11. @indutny

    tls: handle SSL_ERROR_ZERO_RETURN

    see #5004
    indutny committed Mar 28, 2013
  12. @isaacs

    setTimeout: do not calculate Timeout._when property

    Dramatically improves Timer performance.
    wicked committed with isaacs Oct 25, 2012
  13. @isaacs

    stream: Emit readable on ended streams via read(0)

    cc: @mjijackson
    isaacs committed Mar 26, 2013
  14. @isaacs

    stream: Handle late 'readable' event listeners

    In cases where a stream may have data added to the read queue before the
    user adds a 'readable' event, there is never any indication that it's
    time to start reading.
    
    True, there's already data there, which the user would get if they
    checked However, as we use 'readable' event listening as the signal to
    start the flow of data with a read(0) call internally, we ought to
    trigger the same effect (ie, emitting a 'readable' event) even if the
    'readable' listener is added after the first emission.
    
    To avoid confusing weirdness, only the *first* 'readable' event listener
    is granted this privileged status.  After we've started the flow (or,
    alerted the consumer that the flow has started) we don't need to start
    it again.  At that point, it's the consumer's responsibility to consume
    the stream.
    
    Closes #5141
    isaacs committed Mar 26, 2013
  15. @isaacs

    doc: Add 'don't ignore errors' section to domain

    Also, an example program of using cluster and domain to handle errors
    safely, with zero downtime, using process isolation.
    isaacs committed Mar 27, 2013
  16. @bruston @bnoordhuis
  17. @doortts @bnoordhuis

    os: use %SystemRoot% or %windir% in os.tmpdir()

    On Windows, respect the SystemRoot and windir environment variables,
    don't default to c:\windows\temp.
    doortts committed with bnoordhuis Mar 19, 2013
  18. @kustosz @bnoordhuis

    util: fix util.inspect() line width calculation

    Have the formatter filter out vt100 color codes when calculating the
    line width. Stops it from unnecessarily splitting strings over multiple
    lines.
    
    Fixes #5039.
    kustosz committed with bnoordhuis Mar 18, 2013
Commits on Mar 27, 2013
  1. @bnoordhuis
  2. @isaacs

    test: Accept either kind of NaN

    A llvm/clang bug on Darwin ia32 makes these tests fail 100% of
    the time.  Since no one really seems to mind overly much, and we
    can't reasonably fix this in node anyway, just accept both types
    of NaN for now.
    isaacs committed Mar 27, 2013
  3. @indutny

    tls: handle errors before calling C++ methods

    Calling `this.pair.encrypted._internallyPendingBytes()` before
    handling/resetting error will result in assertion failure:
    
    ../src/node_crypto.cc:962: void node::crypto::Connection::ClearError():
    Assertion `handle_->Get(String::New("error"))->BooleanValue() == false'
    failed.
    
    see #5058
    indutny committed Mar 27, 2013
  4. @bruston @bnoordhuis

    doc: addon: fix grammar

    bruston committed with bnoordhuis Mar 27, 2013
  5. @indutny

    openssl: disable HEARTBEAT TLS extension

    Microsoft's IIS doesn't support it, and is not replying with ServerHello
    after receiving ClientHello which contains it.
    
    The good way might be allowing to opt-out this at runtime from
    javascript-land, but unfortunately OpenSSL doesn't support it right now.
    
    see #5119
    indutny committed Mar 26, 2013
  6. @trevnorris @isaacs

    domain: fix domain callback from MakeCallback

    Since _tickCallback and _tickDomainCallback were both called from
    MakeCallback, it was possible for a callback to be called that required
    a domain directly to _tickCallback.
    
    The fix was to implement process.usingDomains(). This will set all
    applicable functions to their domain counterparts, and set a flag in cc
    to let MakeCallback know domain callbacks always need to be checked.
    
    Added test in own file. It's important that the test remains isolated.
    trevnorris committed with isaacs Mar 25, 2013
Commits on Mar 26, 2013
  1. @bnoordhuis

    openssl: make sed tool configurable

    Those poor sods on systems where /usr/bin/sed is a BSD sed can now do
    `make -C deps/openssl/asm SED=gsed`.
    bnoordhuis committed Mar 26, 2013
  2. @isaacs
  3. @trevnorris @bnoordhuis

    buffer: remove _charsWritten

    _charsWritten is an internal property that was constantly written to,
    but never read from. So it has been removed.
    
    Removed documentation reference as well.
    trevnorris committed with bnoordhuis Mar 25, 2013
  4. @bnoordhuis

    doc: child_process: document 'error' event

    Fixes #5130.
    bnoordhuis committed Mar 26, 2013
  5. @bnoordhuis

    doc: fix formatting in tty.markdown

    Fixes #5135.
    bnoordhuis committed Mar 26, 2013
  6. @bnoordhuis

    tls: expose SSL_CTX_set_timeout via tls.createServer

    Add the `sessionTimeout` integral value to the list of options
    recognized by `tls.createServer`.
    
    This option will be useful for applications which need frequently
    establish short-lived TLS connections to the same endpoint. The TLS
    tickets RFC is an ideal option to reduce the socket setup overhead
    for such scenarios, but the default ticket timeout value (5
    minutes) is too low to be useful.
    Manav Rathi committed with bnoordhuis Mar 18, 2013
Commits on Mar 25, 2013
  1. @bnoordhuis

    Merge remote-tracking branch 'origin/v0.10'

    Conflicts:
    	deps/v8/src/objects-inl.h
    	deps/v8/src/objects.h
    	src/node_crypto.cc
    bnoordhuis committed Mar 26, 2013
  2. @tjfontaine @bnoordhuis

    test: test name is the last elem, not second

    When a test requires node to have parameters passed (--expose-gc) the
    test name will be the last element in the command array, not the second.
    tjfontaine committed with bnoordhuis Mar 25, 2013
  3. @bnoordhuis

    child_process: don't emit same handle twice

    It's possible to read multiple messages off the parent/child channel.
    When that happens, make sure that recvHandle is cleared after emitting
    the first message so it doesn't get emitted twice.
    bnoordhuis committed Mar 25, 2013
  4. @bnoordhuis

    crypto: make getCiphers() return non-SSL ciphers

    Commit f53441a added crypto.getCiphers() as a function that returns the
    names of SSL ciphers.
    
    Commit 14a6c4e then added crypto.getHashes(), which returns the names of
    digest algorithms, but that creates a subtle inconsistency: the return
    values of crypto.getHashes() are valid arguments to crypto.createHash()
    but that is not true for crypto.getCiphers() - the returned values are
    only valid for SSL/TLS functions.
    
    Rectify that by adding tls.getCiphers() and making crypto.getCiphers()
    return proper cipher names.
    bnoordhuis committed Mar 19, 2013
  5. @mathiasbynens @bnoordhuis