Commits on May 17, 2013
  1. 2013.05.17, Version 0.10.7 (Stable)

    * uv: upgrade to v0.10.7
    * npm: Upgrade to 1.2.21
    * crypto: Don't ignore verify encoding argument (isaacs)
    * buffer, crypto: fix default encoding regression (Ben Noordhuis)
    * timers: fix setInterval() assert (Ben Noordhuis)
    isaacs committed May 17, 2013
Commits on May 16, 2013
  1. buffer, crypto: fix default encoding regression

    The default encoding is 'buffer'. When the input is a string, treat it
    as 'binary'. Fixes the following assertion:
      node: ../src/ static size_t
      node::StringBytes::StorageSize(v8::Handle<v8::Value>, node::encoding):
      Assertion `0 && "buffer encoding specified but string provided"'
    Introduced in 64fc34b.
    Fixes #5482.
    bnoordhuis committed May 15, 2013
Commits on May 15, 2013
  1. timers: fix setInterval() assert

    Test case:
      var t = setInterval(function() {}, 1);
      Assertion failed: (args.Holder()->InternalFieldCount() > 0),
      function Unref, file ../src/, line 78.
    setInterval() returns a binding layer object. Make it stop doing that,
    wrap the raw process.binding('timer_wrap').Timer object in a Timeout
    Fixes #4261.
    bnoordhuis committed Mar 21, 2013
  2. doc: improve exports/module.exports consistency

    While they reference the same object, they are only interchangeable
    for updates, not assignment.
    rmg committed with bnoordhuis Apr 8, 2013
  3. doc: clarify exports and module.exports

    When exporting a single function you must use `module.exports` instead
    of the `exports` convenience reference.
    rmg committed with bnoordhuis Apr 8, 2013
Commits on May 14, 2013
  1. uv: upgrade to v0.10.7

    piscisaureus committed May 14, 2013
  2. uv: Upgrade to 0.10.6

    isaacs committed May 14, 2013
  3. npm: Upgrade to 1.2.21

    isaacs committed May 14, 2013
  4. blog: Release 0.10.6

    isaacs committed May 14, 2013
  5. Now working on v0.10.7

    isaacs committed May 14, 2013
  6. 2013.05.14, Version 0.10.6 (Stable)

    * module: Deprecate require.extensions (isaacs)
    * stream: make Readable.wrap support objectMode, empty streams (Daniel Moore)
    * child_process: fix handle delivery (Ben Noordhuis)
    * crypto: Fix performance regression (isaacs)
    * src: DRY string encoding/decoding (isaacs)
    isaacs committed May 14, 2013
  7. buffer: DRY string encoding using StringBytes

    This also templatizes the Buffer::*Slice functions, and the template
    function probably cannot be safely used outside of Node.  However, it
    also SHOULD not be used outside of Node, so this is arguably a feature
    as well as a caveat.
    isaacs committed May 2, 2013
  8. src: use StringBytes for DecodeWrite/DecodeBytes/Encode

    Bonus: this makes node::Encode actually work properly with base64,
    ucs2, hex, etc.
    isaacs committed May 2, 2013
  9. src: Add StringBytes static util class

    Four functions:
    - StringBytes::StorageSize()
    - StringBytes::Size()
    - StringBytes::Write()
    - StringBytes::Encode()
    isaacs committed May 1, 2013
  10. tools: remove unnecessary cpplint rules

    We don't actually care about header order much, and since we never use
    stl classes, 'string' isn't an issue for node ever.
    isaacs committed May 1, 2013
  11. stream: Make default encoding configurable

    Pretty much everything assumes strings to be utf-8, but crypto
    traditionally used binary strings, so we need to keep the default
    that way until most users get off of that pattern.
    isaacs committed May 2, 2013
  12. stream: don't create unnecessary buffers in Readable

    If there is an encoding, and we do 'stream.push(chunk, enc)', and the
    encoding argument matches the stated encoding, then we're converting from
    a string, to a buffer, and then back to a string.  Of course, this is a
    completely pointless bit of work, so it's best to avoid it when we know
    that we can do so safely.
    isaacs committed Apr 30, 2013
  13. lint

    isaacs committed Apr 30, 2013
  14. benchmark: hash stream

    isaacs committed Apr 30, 2013
  15. blog: Release v0.11.2

    isaacs committed May 14, 2013
  16. test: increase workers to 8 in cluster-disconnect

    Increasing the number of workers from 2 to 8 makes this test
    more likely to trigger race conditions. See #5330 for background.
    Benoit Vallée committed with bnoordhuis Apr 30, 2013
Commits on May 13, 2013
  1. child_process: fix handle delivery

    Commit 9352c19 ("child_process: don't emit same handle twice") trades
    one bug for another.
    Before said commit, a handle was sometimes delivered with messages it
    didn't belong to.
    The bug fix introduced another bug that needs some explaining. On UNIX
    systems, handles are basically file descriptors that are passed around
    with the sendmsg() and recvmsg() system calls, using auxiliary data
    (SCM_RIGHTS) as the transport.
    node.js and libuv depend on the fact that none of the supported systems
    ever emit more than one SCM_RIGHTS message from a recvmsg() syscall.
    That assumption is something we should probably address someday for the
    sake of portability but that's a separate discussion.
    So, SCM_RIGHTS messages are never coalesced. SCM_RIGHTS and normal
    messages however _are_ coalesced. That is, recvmsg() might return this:
      recvmsg();  // { "message-with-fd", "message", "message" }
    The operating system implicitly breaks pending messages along
    SCM_RIGHTS boundaries. Most Unices break before such messages but Linux
    also breaks _after_ them.  When the sender looks like this:
    Then on most Unices the receiver sees messages arriving like this:
      recvmsg();  // { "message" }
      recvmsg();  // { "message-with-fd", "message" }
    The bug fix in commit 9352c19 assumes this behavior. On Linux however,
    those messages can also come in like this:
      recvmsg();  // { "message", "message-with-fd" }
      recvmsg();  // { "message" }
    In other words, it's incorrect to assume that the file descriptor is
    always attached to the first message. This commit makes node wise up.
    Fixes #5330.
    bnoordhuis committed with piscisaureus May 10, 2013
Commits on May 9, 2013
  1. test: fix pummel/test-net-many-clients.js

    client sockets no longer emit 'connect' event inside the
    requestListener, update test-net-many-clients to reflect that
    tjfontaine committed May 6, 2013