Skip to content
This repository
branch: v0.10.5-release

Apr 23, 2013

  1. Isaac Z. Schlueter

    2013.04.23, Version 0.10.5 (Stable)

    * uv: Upgrade to 0.10.5 (isaacs)
    
    * build: added support for Visual Studio 2012 (Miroslav Bajtoš)
    
    * http: Don't try to destroy nonexistent sockets (isaacs)
    
    * crypto: LazyTransform on properties, not methods (isaacs)
    
    * assert: put info in err.message, not err.name (Ryan Doenges)
    
    * dgram: fix no address bind() (Ben Noordhuis)
    
    * handle_wrap: fix NULL pointer dereference (Ben Noordhuis)
    
    * os: fix unlikely buffer overflow in os.type() (Ben Noordhuis)
    
    * stream: Fix unshift() race conditions (isaacs)
    authored April 22, 2013
  2. Miroslav Bajtoš

    build: added support for Visual Studio 2012

    authored April 23, 2013 piscisaureus committed April 23, 2013
  3. Isaac Z. Schlueter

    uv: Upgrade to 0.10.5

    authored April 22, 2013

Apr 22, 2013

  1. Isaac Z. Schlueter

    os: Fix uname() error handling on sunos

    The uname function can return any non-negative int to indicate success.
    
    Strange, but that's how it is documented.  This also fixes a similar
    buffer overflow in the even more unlikely event that info.release is
    > 255 characters, similar to how 78c5de5 did for info.sysname.
    authored April 22, 2013
  2. Isaac Z. Schlueter

    http: Don't try to destroy nonexistent sockets

    Fixes #3740
    
    In the case of pipelined requests, you can have a situation where
    the socket gets destroyed via one req/res object, but then trying
    to destroy *another* req/res on the same socket will cause it to
    call undefined.destroy(), since it was already removed from that
    message.
    
    Add a guard to OutgoingMessage.destroy and IncomingMessage.destroy
    to prevent this error.
    authored April 22, 2013
  3. Isaac Z. Schlueter

    test: fix dgram-bind-default-address on osx

    Allow the IPv4-mapped-as-IPv6 style address.
    authored April 19, 2013

Apr 21, 2013

  1. Isaac Z. Schlueter

    crypto: LazyTransform on properties, not methods

    It needs to apply the Transform class when the _readableState,
    _writableState, or _transformState properties are accessed,
    otherwise things like setEncoding and on('data') don't work
    properly.
    
    Also, the methods wrappers are no longer needed, since they're only
    problematic because they access the undefined properties.
    authored April 08, 2013 indutny committed April 21, 2013
  2. Brian White

    src: fix potential memory leak on early return

    authored April 20, 2013 indutny committed April 20, 2013
  3. Brian White

    src: don't initialize variable before assignment

    authored April 20, 2013 indutny committed April 20, 2013

Apr 19, 2013

  1. Isaac Z. Schlueter

    blog: v0.11.1 does not work on windows x64

    authored April 19, 2013
  2. Isaac Z. Schlueter

    blog: Post about 0.11.1

    authored April 19, 2013
  3. Isaac Z. Schlueter

    blog: Post about 0.10.4

    authored April 19, 2013
  4. Sean Silva

    doc: document value of `this` inside listeners

    Fixes #5326.
    authored April 18, 2013 bnoordhuis committed April 19, 2013

Apr 18, 2013

  1. Ryan Hart Doenges

    assert: put info in err.message, not err.name

    4716dc6 made assert.equal() and related functions work better by
    generating a better toString() from the expected, actual, and operator
    values passed to fail(). Unfortunately, this was accomplished by putting
    the generated message into the error's `name` property. When you passed
    in a custom error message, the error would put the custom error into
    `name` *and* `message`, resulting in helpful string representations like
    "AssertionError: Oh no: Oh no".
    
    This commit resolves that issue by storing the generated message in the
    `message` property while leaving the error's name alone and adding
    a regression test so that this doesn't pop back up later.
    
    Closes #5292.
    authored April 13, 2013 isaacs committed April 18, 2013
  2. Ben Noordhuis

    website: add link to nightlies on download page

    authored April 18, 2013

Apr 17, 2013

  1. Trevor Norris

    crypto: fix return Local Handle w/o scope.Close()

    A new String was being created and returned, but was not sent through
    the scope.Close(), which caused it to be cleaned up before being
    returned.
    authored April 17, 2013 bnoordhuis committed April 18, 2013
  2. Ben Noordhuis

    dgram: fix no address bind()

    I broke dgram.Socket#bind(port, cb) almost a year ago in 332fea5 but
    it wasn't until today that someone complained and none of the tests
    caught it because they all either specify the address or omit the
    callback.
    
    Anyway, now it works again and does what you expect: it binds the
    socket to the "any" address ("0.0.0.0" for IPv4 and "::" for IPv6.)
    authored April 18, 2013
  3. Ben Noordhuis

    test: make stdout-close-unref work in test runner

    process.stdout isn't fully initialized yet by the time the test starts
    when invoked with `python tools/test.py`. Use process.stdin instead and
    force initialization with process.stdin.resume().
    authored April 17, 2013

Apr 16, 2013

  1. Kelly Gerber

    docs: update path.join() example for v0.10

    The current example shows the behavior of v0.8. In v0.10 arguments
    to path.join() must be strings; otherwise, an exception is thrown.
    authored April 09, 2013 bnoordhuis committed April 17, 2013
  2. Ryan Graham

    doc: note a gotcha with http.Server sockets

    authored April 16, 2013 bnoordhuis committed April 16, 2013
  3. Ben Noordhuis

    handle_wrap: fix NULL pointer dereference

    Fix a NULL pointer dereference in src/handle_wrap.cc which is really a
    use-after-close bug.
    
    The test checks that unref() after close() works on process.stdout but
    this bug affects everything that derives from HandleWrap. I discovered
    it because child processes would sometimes quit for no reason (that is,
    no reason until I turned on core dumps.)
    authored April 16, 2013
  4. test: preserve process.env after test-init exec

    When LD_LIBRARY_PATH is overriden for custom builds we need to preserve
    it for child processes. To be sure we preserve whole environment of
    parent process and just add TEST_INIT variable to it.
    authored April 16, 2013 bnoordhuis committed April 16, 2013
  5. test: preserve process.env in forked child_process

    When LD_LIBRARY_PATH is overriden for custom builds we need to preserve
    it for forked process. There are possibly other environment variables
    that could cause test failures so we preserve whole environment of
    parent process.
    authored April 10, 2013 bnoordhuis committed April 16, 2013

Apr 15, 2013

  1. Ben Noordhuis

    os: unbreak windows build

    Windows doesn't have MAXHOSTNAMELEN. Introduced in afbadde.
    authored April 15, 2013
  2. Ben Noordhuis

    os: handle 256 character hostnames

    Fix a (rather academic) buffer overflow. MAXHOSTNAMELEN is 256 on most
    platforms, which means the buffer wasn't big enough to hold the
    trailing nul byte on a system with a maximum length hostname.
    authored April 15, 2013
  3. Ben Noordhuis

    os: fix unlikely buffer overflow in os.type()

    * Fix a buffer overflow that happens iff strlen(info.sysname) > 255.
    * Check the return value of uname().
    authored April 15, 2013

Apr 12, 2013

  1. Isaac Z. Schlueter

    build: Typo in tools/msvs/msi/product.wxs

    authored April 11, 2013

Apr 11, 2013

  1. Isaac Z. Schlueter

    stream: Fix unshift() race conditions

    Fix #5272
    
    The consumption of a readable stream is a dance with 3 partners.
    
    1. The specific stream Author (A)
    2. The Stream Base class (B), and
    3. The Consumer of the stream (C)
    
    When B calls the _read() method that A implements, it sets a 'reading'
    flag, so that parallel calls to _read() can be avoided.  When A calls
    stream.push(), B knows that it's safe to start calling _read() again.
    
    If the consumer C is some kind of parser that wants in some cases to
    pass the source stream off to some other party, but not before "putting
    back" some bit of previously consumed data (as in the case of Node's
    websocket http upgrade implementation).  So, stream.unshift() will
    generally *never* be called by A, but *only* called by C.
    
    Prior to this patch, stream.unshift() *also* unset the state.reading
    flag, meaning that C could indicate the end of a read, and B would
    dutifully fire off another _read() call to A.  This is inappropriate.
    In the case of fs streams, and other variably-laggy streams that don't
    tolerate overlapped _read() calls, this causes big problems.
    
    Also, calling stream.shift() after the 'end' event did not raise any
    kind of error, but would cause very strange behavior indeed.  Calling it
    after the EOF chunk was seen, but before the 'end' event was fired would
    also cause weird behavior, and could lead to data being lost, since it
    would not emit another 'readable' event.
    
    This change makes it so that:
    
    1. stream.unshift() does *not* set state.reading = false
    2. stream.unshift() is allowed up until the 'end' event.
    3. unshifting onto a EOF-encountered and zero-length (but not yet
    end-emitted) stream will defer the 'end' event until the new data is
    consumed.
    4. pushing onto a EOF-encountered stream is now an error.
    
    So, if you read(), you have that single tick to safely unshift() data
    back into the stream, even if the null chunk was pushed, and the length
    was 0.
    authored April 11, 2013
  2. Isaac Z. Schlueter

    Now working on v0.10.5

    authored April 11, 2013
  3. Isaac Z. Schlueter

    Merge branch 'v0.10.4-release' into v0.10

    authored April 11, 2013
  4. Isaac Z. Schlueter

    lint

    authored April 11, 2013
  5. Isaac Z. Schlueter

    blog: Fix title for v0.8.23 release

    authored April 11, 2013
  6. Isaac Z. Schlueter

    2013.04.11, Version 0.10.4 (Stable)

    * uv: Upgrade to 0.10.4
    
    * npm: Upgrade to 1.2.18
    
    * v8: Avoid excessive memory growth in JSON.parse (Fedor Indutny)
    
    * child_process, cluster: fix O(n*m) scan of cmd string (Ben Noordhuis)
    
    * net: fix socket.bytesWritten Buffers support (Fedor Indutny)
    
    * buffer: fix offset checks (Łukasz Walukiewicz)
    
    * stream: call write cb before finish event (isaacs)
    
    * http: Support write(data, 'hex') (isaacs)
    
    * crypto: dh secret should be left-padded (Fedor Indutny)
    
    * process: expose NODE_MODULE_VERSION in process.versions (Rod Vagg)
    
    * crypto: fix constructor call in crypto streams (Andreas Madsen)
    
    * net: account for encoding in .byteLength (Fedor Indutny)
    
    * net: fix buffer iteration in bytesWritten (Fedor Indutny)
    
    * crypto: zero is not an error if writing 0 bytes (Fedor Indutny)
    
    * tls: Re-enable check of CN-ID in cert verification (Tobias Müllerleile)
    authored April 11, 2013
  7. Isaac Z. Schlueter

    npm: Upgrade to 1.2.18

    authored April 11, 2013
  8. Isaac Z. Schlueter

    uv: Upgrade to v0.10.4

    authored April 11, 2013
Something went wrong with that request. Please try again.