Permalink
Switch branches/tags
Commits on Mar 11, 2013
  1. 2013.03.11, Version 0.10.0 (Stable)

    * npm: Upgrade to 1.2.14
    
    * core: Append filename properly in dlopen on windows (isaacs)
    
    * zlib: Manage flush flags appropriately (isaacs)
    
    * domains: Handle errors thrown in nested error handlers (isaacs)
    
    * buffer: Strip high bits when converting to ascii (Ben Noordhuis)
    
    * win/msi: Enable modify and repair (Bert Belder)
    
    * win/msi: Add feature selection for various node parts (Bert Belder)
    
    * win/msi: use consistent registry key paths (Bert Belder)
    
    * child_process: support sending dgram socket (Andreas Madsen)
    
    * fs: Raise EISDIR on Windows when calling fs.read/write on a dir (isaacs)
    
    * unix: fix strict aliasing warnings, macro-ify functions (Ben Noordhuis)
    
    * unix: honor UV_THREADPOOL_SIZE environment var (Ben Noordhuis)
    
    * win/tty: fix typo in color attributes enumeration (Bert Belder)
    
    * win/tty: don't touch insert mode or quick edit mode (Bert Belder)
    isaacs committed Mar 9, 2013
Commits on Mar 10, 2013
  1. stream: Don't emit 'end' unless read() called

    This solves the problem of calling `readable.pipe(writable)` after the
    readable stream has already emitted 'end', as often is the case when
    writing simple HTTP proxies.
    
    The spirit of streams2 is that things will work properly, even if you
    don't set them up right away on the first tick.
    
    This approach breaks down, however, because pipe()ing from an ended
    readable will just do nothing.  No more data will ever arrive, and the
    writable will hang open forever never being ended.
    
    However, that does not solve the case of adding a `on('end')` listener
    after the stream has received the EOF chunk, if it was the first chunk
    received (and thus, length was 0, and 'end' got emitted).  So, with
    this, we defer the 'end' event emission until the read() function is
    called.
    
    Also, in pipe(), if the source has emitted 'end' already, we call the
    cleanup/onend function on nextTick.  Piping from an already-ended stream
    is thus the same as piping from a stream that is in the process of
    ending.
    
    Updates many tests that were relying on 'end' coming immediately, even
    though they never read() from the req.
    
    Fix #4942
    isaacs committed Mar 10, 2013
  2. stream: Avoid nextTick warning filling read buffer

    In the function that pre-emptively fills the Readable queue, it relies
    on a recursion through:
    
    stream.push(chunk) ->
    maybeReadMore(stream, state) ->
      if (not reading more and < hwm) stream.read(0) ->
    stream._read() ->
    stream.push(chunk) -> repeat.
    
    Since this was only calling read() a single time, and then relying on a
    future nextTick to collect more data, it ends up causing a nextTick
    recursion error (and potentially a RangeError, even) if you have a very
    high highWaterMark, and are getting very small chunks pushed
    synchronously in _read (as happens with TLS, or many simple test
    streams).
    
    This change implements a new approach, so that read(0) is called
    repeatedly as long as it is effective (that is, the length keeps
    increasing), and thus quickly fills up the buffer for streams such as
    these, without any stacks overflowing.
    isaacs committed Mar 9, 2013
  3. events: Handle missing error obj when domains in use

    so `ee.emit('error')` doesn't throw when domains are active
    
    create an empty error only when handled by a domain
    
    test for when no error is provided to an error event
    juliangruber committed with isaacs Mar 8, 2013
  4. uv: Upgrade to 5462dab

    isaacs committed Mar 10, 2013
Commits on Mar 9, 2013
  1. win/msi: Fix typos

    isaacs committed Mar 9, 2013
  2. npm: Upgrade to 1.2.14 (fixed)

    isaacs committed Mar 9, 2013
  3. http: check if incoming parser has already been freed

    Fix #4948
    
    This adds a check before setting the incoming parser
    to null. Under certain circumstances it'll already be set to
    null by freeParser().
    
    Otherwise this will cause node to crash as it tries to set
    null on something that is already null.
    hnry committed with isaacs Mar 8, 2013
  4. timers: consistent this keyword in setImmediate

    When calling setImmediate with extra arguments the this keyword in the
    callback would refer to the global object, but when not calling
    setImmediate with extra arguments this would refer to the returned
    handle object.
    
    This commit fixes that inconsistency so its always set handle object.
    The handle object was chosen for performance reasons.
    AndreasMadsen committed with isaacs Feb 26, 2013
  5. domain: Fix double-exit on nested domains

    Minor oversight in fix for #4953.
    isaacs committed Mar 9, 2013
  6. Now working on 0.10.0

    isaacs committed Mar 9, 2013
  7. lint

    isaacs committed Mar 9, 2013
  8. Merge remote-tracking branch 'ry/v0.8' into master

    Conflicts:
    	AUTHORS
    	ChangeLog
    	src/node_version.h
    isaacs committed Mar 9, 2013
  9. test: Fail faster in simple/test-cluster-bind-twice-v2

    Crashing on windows, but at least now it's a crash rathert han a timeout.
    isaacs committed Mar 9, 2013
  10. test: Don't run async operation in process 'exit'

    Also, this seems to occasionally cause some annoying file-locking
    errors in Windows.  Not sure if this is the best fix, but it seems
    to make the warnings go away in that spot.
    isaacs committed Mar 8, 2013
  11. core: Append filename properly in dlopen on windows

    Fixes simple/test-module-loading on win32
    isaacs committed Mar 7, 2013
  12. zlib: Manage flush flags appropriately

    If you call z.flush();z.write('foo'); then it would try to write 'foo'
    before the flush was done, triggering an assertion in the zlib binding.
    
    Closes #4950
    isaacs committed Mar 8, 2013
Commits on Mar 8, 2013
  1. domains: Handle errors thrown in nested error handlers

    If a domain error handler throws, it should be caught if it was
    in a stack of nested domains.
    
    Fix #4953
    isaacs committed Mar 8, 2013
  2. buffer: speed up ascii character scanning

    Speed up ASCII character scanning and conversion by 25% to 30% by scanning and
    converting whole words instead of individual bytes.
    bnoordhuis committed with isaacs Dec 6, 2012
  3. buffer: strip high bits when converting to ascii

    Consider the following example:
    
      console.log(Buffer('ú').toString('ascii'));
    
    Before this commit, the contents of the buffer was used as-is and hence it
    prints 'ú'.
    
    Now, it prints 'C:'. Perhaps not much of an improvement but it conforms to what
    the documentation says it does: strip off the high bits.
    
    Fixes #4371.
    bnoordhuis committed with isaacs Dec 6, 2012
  4. Revert "http: check if incoming parser has already been freed"

    This reverts commit 9f4c3b0.
    isaacs committed Mar 8, 2013
  5. http: check if incoming parser has already been freed

    Fix #4948
    
    This adds a check before setting the incoming parser
    to null. Under certain circumstances it'll already be set to
    null by freeParser().
    
    Otherwise this will cause node to crash as it tries to set
    null on something that is already null.
    hnry committed with isaacs Mar 8, 2013