Skip to content
Commits on Aug 21, 2013
  1. @tjfontaine

    2013.08.21, Version 0.11.6 (Unstable)

    tjfontaine committed
    * uv: Upgrade to v0.11.8
    
    * v8: upgrade v8 to 3.20.14.1
    
    * build: disable SSLv2 by default (Ben Noordhuis)
    
    * build: don't auto-destroy existing configuration (Ben Noordhuis)
    
    * crypto: add TLS 1.1 and 1.2 to secureProtocol list (Matthias Bartelmeß)
    
    * crypto: fix memory leak in randomBytes() error path (Ben Noordhuis)
    
    * dgram: don't call into js when send cb is omitted (Ben Noordhuis)
    
    * dgram: fix regression in string argument handling (Ben Noordhuis)
    
    * domains: performance improvements (Trevor Norris)
    
    * events: EventEmitter = require('events') (Jake Verbaten)
    
    * http: Add write()/end() callbacks (isaacs)
    
    * http: Consistent 'finish' event semantics (isaacs)
    
    * http: Prefer 'binary' over 'ascii' (isaacs)
    
    * http: Support legacy agent.addRequest API (isaacs)
    
    * http: Write hex/base64 chunks properly (isaacs)
    
    * http: add agent.maxFreeSockets option (isaacs)
    
    * http: provide access to raw headers/trailers (isaacs)
    
    * http: removed headers stay removed (James Halliday)
    
    * http,timers: improve callback performance (Ben Noordhuis)
    
    * net: family option in net.connect (Vsevolod Strukchinsky)
    
    * readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
    
    * smalloc: allow different external array types (Trevor Norris)
    
    * smalloc: expose ExternalArraySize (Trevor Norris)
    
    * stream: Short-circuit buffer pushes when flowing (isaacs)
    
    * tls: handle errors on socket before releasing it (Fedor Indutny)
    
    * util: fix isPrimitive check (Trevor Norris)
    
    * util: isObject should always return boolean (Trevor Norris)
  2. @tjfontaine

    uv: Upgrade to v0.11.8

    tjfontaine committed
  3. @tjfontaine
  4. @isaacs

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

    isaacs committed
    Conflicts:
    	lib/tls.js
  5. @indutny
  6. @bnoordhuis

    deps: upgrade http_parser to 303c4e4

    bnoordhuis committed
    Upgrade to nodejs/http-parser@303c4e4. Changes:
    
      * Do not accept PUN/GEM methods as PUT/GET.
      * Further request method check strengthening.
  7. @indutny

    tls: fix assertion when ssl is destroyed at read

    indutny committed
    `maybeInitFinished()` can emit the 'secure' event which
    in turn destroys the connection in case of authentication
    failure and sets `this.pair.ssl` to `null`.
    
    If such condition appeared after non-empty read - loop will continue
    and `clearOut` will be called on `null` object instead of
    `crypto::Connection` instance. Resulting in the following assertion:
    
        ERROR: Error: Hostname/IP doesn't match certificate's altnames
        Assertion failed: handle->InternalFieldCount() > 0
    
    fix #5756
Commits on Aug 20, 2013
  1. @trevnorris

    smalloc: consistent-ify syntax

    trevnorris committed
    Small syntax fixes of variable renaming and argument alignment.
  2. @trevnorris

    smalloc: length is byte size, not array length

    trevnorris committed
    The C++ API has been changed so the passed length is the byte size of
    the data, not the length of the array.
    
    This was done so users need to explicitly define how much memory they
    want allocated.
  3. @trevnorris

    smalloc: expose ExternalArraySize

    trevnorris committed
    Useful to correctly determine the byte size of the external memory that
    needs to be allocated for an external array.
  4. @trevnorris

    util: isObject should always return boolean

    trevnorris committed
    Fix small bug where isObject would return the original object instead of
    true.
  5. @floatdrop @indutny

    net: family option in net.connect

    floatdrop committed with indutny
    `dns.lookup` defaults to selecting IPv4 record even if IPv6 is available
    for the desired zone. Generally, this approach works, but if IPv4
    address is unavailable - there'll be no other way to opt-out and connect using
    IPv6 address than calling `dns.lookup` and passing it to `.connect()`
    directly.
    
    This commit adds `family` option to `net.connect` method to figure out
    this issue.
  6. @kanongil @bnoordhuis
  7. @isaacs

    doc: Minor typos in dgram doc

    isaacs committed
    a/an usage.  Thanks @KenanSulayman
  8. @isaacs

    test: Remove unnecessary assertion

    isaacs committed
    It only fails once in about 1000 times, but that's too many.
    It's timing dependent, and the main behavior is covered by the other
    assertions in the test anyway.
  9. @Raynos @isaacs

    events: have events module exports EventEmitter

    Raynos committed with isaacs
    This change is 100% backwards compatible.
    
    This change will make using `EventEmitter` slightly simpler / nicer and
    adheres to the best practice set forth by substack.
    
    ```js
    var EventEmitter = require("events")
    
    var emitter = new EventEmitter()
    ```
    
    The only difference is that we now have to set `EventEmitter` as a
    property of `EventEmitter` for backwards compatibility like we do with
    [`Stream`][1]
    
    We have also set the `usingDomains` property on the `EventEmitter`
    constructor itself because that aligns with it's current usage of
    `require("events").usingDomains = true`
    
    There are other internals that would benefit from this change as well
    like `StringDecoder`
Commits on Aug 19, 2013
  1. @mayn @isaacs

    fixes #6031 spelling errors

    mayn committed with isaacs
    explictly => explicitly
    accesss => access
    througput => throughput
    epxression => expression
    communiction => communication
    becuase => because
    repersent => represent
    condonitions => conditions
    decompresion => decompression
    intentially => intentionally
    eventes => events
    listning => listening
    resicved => received
    becuase => because
    fundimental => fundamental
    colapse => collapse
    privlages => privileges
    sufficently => sufficiently
    hapepns => happens
    expliclitly => explicitly
    thier => their
    shold => should
  2. @duanyao @isaacs

    doc: Add callback parameter to dgram socket.bind()

    duanyao committed with isaacs
    Also, describe more details of bind().
  3. @ChrisWren @isaacs
  4. @substack @isaacs

    http: removed headers stay removed

    substack committed with isaacs
    This allows automatically-inserted headers to be removed permanently by
    calling OutgoingMessage.removeHeader() on them, as if they were normal
    headers.
  5. @gigadude @isaacs
  6. @uggedal @isaacs
  7. @isaacs
  8. @trevnorris

    buffer: lint

    trevnorris committed
    This and b80d11d are my fault. An unrelated test was failing, which
    prevents {js,cpp}lint from running automatically.
  9. @indutny

    buffer: lint

    indutny committed
  10. @indutny

    crypto: don't touch ssl_ in Connection

    indutny committed
    `ssl_` is a property of SSLWrap class, don't touch it, and definitely
    don't zero it in constructor.
  11. @isaacs

    stream: Throw on 'error' if listeners removed

    isaacs committed
    In this situation:
    
        writable.on('error', handler);
        readable.pipe(writable);
        writable.removeListener('error', handler);
        writable.emit('error', new Error('boom'));
    
    there is actually no error handler, but it doesn't throw, because of the
    fix for stream.once('error', handler), in 23d92ec.
    
    Note that simply reverting that change is not valid either, because
    otherwise this will emit twice, being handled the first time, and then
    throwing the second:
    
        writable.once('error', handler);
        readable.pipe(writable);
        writable.emit('error', new Error('boom'));
    
    Fix this with a horrible hack to make the stream pipe onerror handler
    added before any other userland handlers, so that our handler is not
    affected by adding or removing any userland handlers.
    
    Closes #6007.
  12. @indutny @bnoordhuis

    tls, crypto: deduplicate code

    indutny committed with bnoordhuis
    Commit 03e008d introduced src/tls_wrap.cc and src/tls_wrap.h but
    said files copied on the order of 1 kLoC from src/node_crypto.cc
    and src/node_crypto.h.  This commit undoes some of the duplication.
    
    Fixes #6024.
  13. @bnoordhuis

    src: move includes inside include guard

    bnoordhuis committed
    Having the includes in src/node_buffer.h outside of the include guard
    is not really harmful but it's inconsistent with other header files.
Commits on Aug 17, 2013
  1. @isaacs

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

    isaacs committed
    Conflicts:
    	AUTHORS
    	ChangeLog
    	lib/dgram.js
    	lib/http.js
    	src/node_crypto.cc
    	src/node_version.h
  2. @bnoordhuis

    dgram: fix assertion on bad send() arguments

    bnoordhuis committed
    Add range checks for the offset, length and port arguments to
    dgram.Socket#send().  Fixes the following assertion:
    
        node: ../../src/udp_wrap.cc:264: static v8::Handle<v8::Value>
        node::UDPWrap::DoSend(const v8::Arguments&, int): Assertion
        `offset < Buffer::Length(buffer_obj)' failed.
    
    And:
    
        node: ../../src/udp_wrap.cc:265: static v8::Handle<v8::Value>
        node::UDPWrap::DoSend(const v8::Arguments&, int): Assertion
        `length <= Buffer::Length(buffer_obj) - offset' failed.
    
    Interestingly enough, a negative port number was accepted until now but
    silently ignored.  (In other words, it would send the datagram to a
    random port.)
    
    This commit exposed a bug in the simple/test-dgram-close test which
    has also been fixed.
    
    This is a back-port of commit 41ec6d0 from the master branch.
    
    Fixes #6025.
  3. @danielchatfield @piscisaureus

    readline: pause stdin before turning off terminal raw mode

    danielchatfield committed with piscisaureus
    On windows, libuv will immediately make a `ReadConsole` call (in the
    thread pool) when a 'flowing' `uv_tty_t` handle is switched to
    line-buffered mode. That causes an immediate issue for some users,
    since libuv can't cancel the `ReadConsole` operation on Windows 8 /
    Server 2012 and up if the program switches back to raw mode later.
    
    But even if this will be fixed in libuv at some point, it's better to
    avoid the overhead of starting work in the thread pool and immediately
    cancelling it afther that.
    
    See also f34f1e3, where the same change is made for the opposite
    flow, e.g. move `resume()` after `_setRawMode(true)`.
    
    Fixes #5927
    
    This is a backport of dfb0461 (see #5930) to the v0.10 branch.
  4. @danielchatfield @piscisaureus

    readline: pause stdin before turning off terminal raw mode

    danielchatfield committed with piscisaureus
    On windows, libuv will immediately make a `ReadConsole` call (in the
    thread pool) when a 'flowing' `uv_tty_t` handle is switched to
    line-buffered mode. That causes an immediate issue for some users,
    since libuv can't cancel the `ReadConsole` operation on Windows 8 /
    Server 2012 and up if the program switches back to raw mode later.
    
    But even if this will be fixed in libuv at some point, it's better to
    avoid the overhead of starting work in the thread pool and immediately
    cancelling it afther that.
    
    See also f34f1e3, where the same change is made for the opposite
    flow, e.g. move `resume()` after `_setRawMode(true)`.
    
    Fixes #5927
    Closes #5930
Commits on Aug 16, 2013
  1. @isaacs

    blog: v0.10.16

    isaacs committed
  2. @isaacs

    Now working on v0.10.17

    isaacs committed
Something went wrong with that request. Please try again.