1. Apr 29, 2013
  2. Apr 27, 2013
    • Miroslav Bajtoš's avatar
      debugger: `restart` with custom debug port · 8c2ad47f
      Miroslav Bajtoš authored
      Fixed a bug in debugger repl where `restart` command did not work
      when a custom debug port was specified via command-line option
      --port={number}.
      
      File test/simple/helper-debugger-repl.js was extracted
      from test/simple/test-debugger-repl.js
      8c2ad47f
  3. Apr 24, 2013
    • isaacs's avatar
      ChangeLog: Merge in v0.8 · 8e56b4dd
      isaacs authored
      Close #5355
      8e56b4dd
    • isaacs's avatar
      blog: Post for v0.10.5 · 72cf499b
      isaacs authored
      72cf499b
    • isaacs's avatar
      Now working on 0.10.6 · ec5577cf
      isaacs authored
      ec5577cf
    • isaacs's avatar
      Merge branch 'v0.10.5-release' into v0.10 · 52aeb3f2
      isaacs authored
      52aeb3f2
    • isaacs's avatar
      2013.04.23, Version 0.10.5 (Stable) · deeaf8fa
      isaacs authored
      * 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)
      deeaf8fa
  4. Apr 23, 2013
    • Miroslav Bajtoš's avatar
      0602fbb4
    • isaacs's avatar
      uv: Upgrade to 0.10.5 · ff99cd52
      isaacs authored
      ff99cd52
    • isaacs's avatar
      os: Fix uname() error handling on sunos · c7774735
      isaacs authored
      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 78c5de59 did for info.sysname.
      c7774735
    • isaacs's avatar
      http: Don't try to destroy nonexistent sockets · 01e29202
      isaacs authored
      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.
      01e29202
  5. Apr 22, 2013
  6. Apr 21, 2013
  7. Apr 20, 2013
  8. Apr 19, 2013
    • Sean Silva's avatar
      doc: document value of `this` inside listeners · 63466e5c
      Sean Silva authored
      Fixes #5326.
      63466e5c
    • Ryan Doenges's avatar
      assert: put info in err.message, not err.name · 6101eb18
      Ryan Doenges authored
      4716dc66 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.
      6101eb18
    • Ben Noordhuis's avatar
      a835a2fc
  9. Apr 18, 2013
    • Trevor Norris's avatar
      crypto: fix return Local Handle w/o scope.Close() · 659fb238
      Trevor Norris authored
      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.
      659fb238
    • Ben Noordhuis's avatar
      dgram: fix no address bind() · 92023b4b
      Ben Noordhuis authored
      I broke dgram.Socket#bind(port, cb) almost a year ago in 332fea5a 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.)
      92023b4b
    • Ben Noordhuis's avatar
      test: make stdout-close-unref work in test runner · 2e70ddad
      Ben Noordhuis authored
      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().
      2e70ddad
  10. Apr 17, 2013
  11. Apr 16, 2013
  12. Apr 12, 2013
    • isaacs's avatar
      build: Typo in tools/msvs/msi/product.wxs · 8ee43006
      isaacs authored
      8ee43006
    • isaacs's avatar
      stream: Fix unshift() race conditions · b0de1e4a
      isaacs authored
      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.
      b0de1e4a
    • isaacs's avatar
      Now working on v0.10.5 · 440bc060
      isaacs authored
      440bc060
    • isaacs's avatar
      Merge branch 'v0.10.4-release' into v0.10 · bf8ed118
      isaacs authored
      bf8ed118
    • isaacs's avatar
      lint · 22c7d134
      isaacs authored
      22c7d134
    • isaacs's avatar
      blog: Fix title for v0.8.23 release · 50be3979
      isaacs authored
      50be3979