Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: v0.11.12-relea…
Commits on Mar 11, 2014
  1. @tjfontaine
  2. @tjfontaine

    2014.03.11, Version 0.11.12 (Unstable)

    tjfontaine authored
    * uv: Upgrade to v0.11.22 (Timothy J Fontaine)
    * buffer: allow toString to accept Infinity for end (Brian White)
    * child_process: add spawnSync/execSync (Bert Belder, Timothy J Fontaine)
    * cluster: handle bind errors on Windows (Alexis Campailla)
    * contextify: handle infinite recursion errors (Fedor Indutny)
    * crypto: allow custom generator for DiffieHellman (Brian White)
    * crypto: allow setting add'l authenticated data (Brian White)
    * crypto: fix CipherFinal return value check (Brian White)
    * crypto: make NewSessionDoneCb public (Fedor Indutny)
    * dgram: pass the bytes sent to the send callback (Timothy J Fontaine)
    * dns: validate arguments in resolver (Kenan Sulayman)
    * dns: verify argument is valid function in resolve (Kenan Sulayman)
    * http: avoid duplicate keys in writeHead (David Björklund)
    * net: add localPort to connect options (Timothy J Fontaine)
    * node: do not print SyntaxError hints to stderr (Fedor Indutny)
    * node: invoke `beforeExit` again if loop was active (Fedor Indutny)
    * node: make AsyncListenerInst field more explicit (Trevor Norris)
    * os: networkInterfaces include scopeid for ipv6 (Xidorn Quan)
    * process: allow changing `exitCode` in `on('exit')` (Fedor Indutny)
    * readline: fix `line` event, if input emit 'end' (Yazhong Liu)
    * src: add tracing.v8.on('gc') statistics hooks (Ben Noordhuis)
    * src: add v8.getHeapStatistics() function (Ben Noordhuis)
    * src: emit 'beforeExit' event on process object (Ben Noordhuis)
    * src: move AsyncListener from process to tracing (Trevor Norris)
    * tls: fix crash in SNICallback (Fedor Indutny)
    * tls: introduce asynchronous `newSession` (Fedor Indutny)
    * util: show meaningful values for boxed primitives (Nathan Rajlich)
    * vm: don't copy Proxy object from parent context (Ben Noordhuis)
    * windows: make stdout/sterr pipes blocking (Alexis Campailla)
    * zlib: add sync versions for convenience methods (Nikolai Vavilov)
  3. @bcantrill @tjfontaine

    mdb_v8: update to latest version

    bcantrill authored tjfontaine committed
     * ::jsstack -v prints function defintion
     * ::jsprint works with objects with only numeric properties
     * update tests to use builtin mdb_v8
     * add more symbols to postmortem script - pending upstream
  4. @tjfontaine

    src: update from uv_read2_start removal

    tjfontaine authored
    Previously if you wanted to be notified of pending handles for pipes
    you needed to use uv_read2_start, however in v0.11.22 you can query for
    pending handles independently.
  5. @saghul @tjfontaine

    src: adapt to API change in uv_cwd

    saghul authored tjfontaine committed
  6. @tjfontaine

    uv: Upgrade to v0.11.22

    tjfontaine authored
Commits on Mar 10, 2014
  1. @tjfontaine

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

    tjfontaine authored
  2. @shuhei @tjfontaine

    doc: remove an unused arg in process.stdin.

    shuhei authored tjfontaine committed
    The argument of process.stdin's readable event handler is not used.
  3. @indutny

    crypto: do not lowercase cipher/hash names

    indutny authored
    `crypto.getCiphers()` and `crypto.getHashes()` should prefer lower-case
    variants of names, but should not introduce them.
    fix #7282
  4. @tjfontaine

    test: timers-ordering should be more precise

    tjfontaine authored
    Internally we use hrtime to schedule when a timer will fire, to avoid
    the perils of clock drift or other external operation making time go
    backward. The timers ordering test should use the same timing mechanism
  5. @vkurchatkin @tjfontaine

    buffer: fix typo in `SlowBuffer`

    vkurchatkin authored tjfontaine committed
  6. @mscdex @tjfontaine

    buffer: allow toString to accept Infinity for end

    mscdex authored tjfontaine committed
Commits on Mar 6, 2014
  1. @bnoordhuis @indutny

    deps: fix v8 valgrind warning

    bnoordhuis authored indutny committed
    Fix the following valgrind warning:
        Conditional jump or move depends on uninitialised value(s)
            at 0x7D64E7: v8::internal::GlobalHandles::IterateAllRootsWithClassIds(v8::internal::ObjectVisitor*) (
            by 0x94DCDC: v8::internal::NativeObjectsExplorer::FillRetainedObjects() (
            # etc.
    This was fixed upstream in r12903 and released in 3.15.2 but that commit
    was never back-ported to the 3.14 branch that node.js v0.10 uses.
    The code itself works okay; this commit simply shuffles the clauses in
    an `if` statement to check that the node is in use before checking its
    class id (which is uninitialized if the node is not in use.)
Commits on Mar 5, 2014
  1. @indutny @tjfontaine

    child_process: fix sending handle twice

    indutny authored tjfontaine committed
    When sending a socket to a child process via IPC pipe,
    `child_process.js` picks a raw UV handle from `_handle` property, sends
    it, and assigns `null` to the property. Sending the same socket twice
    was resulting in a runtime error, since we weren't handling the empty
    `_handle` case.
    In case of `null` `_handle` we should send just a plain text message
    as passed it was passed to `.send()` and ignore the handle, letting
    users handle such cases themselves instead of throwing the error at
    fix #5469
  2. @tjfontaine

    test: test sending a handle twice

    Benoit Vallée authored tjfontaine committed
    Added test-cluster-send-handle-twice.js testing to send a handle
    twice to the parent process.
  3. @bnoordhuis @indutny

    src: add default visibility to NODE_MODULE

    bnoordhuis authored indutny committed
    It's currently not really possible to compile native add-ons with
    -fvisibility=hidden because that also hides the struct containing
    the module definition.
    The NODE_MODULE() and NODE_MODULE_DECL() macros are structured in
    a way that makes it impossible to add a visibility attribute manually
    so there is no escape hatch there.
    That's why this commit adds an explicit visibility attribute to
    the module definition.  It doesn't help with node.js releases that
    are already out there but at least it improves the situation going
Commits on Mar 4, 2014
  1. @mscdex @indutny

    crypto: allow setting add'l authenticated data

    mscdex authored indutny committed
  2. @mscdex @indutny

    crypto: fix CipherFinal return value check

    mscdex authored indutny committed
  3. @gbrail @tjfontaine

    timer: don't reschedule timer bucket in a domain

    gbrail authored tjfontaine committed
    If two timers run on the same tick, and the first timer uses a domain,
    and then catches an exception and disposes of the domain, then the
    second timer never runs. (And even if the first timer does not dispose
    of the domain, the second timer could run under the wrong domain.)
    This happens because timer.js uses "process.nextTick()" to schedule
    continued processing of the timers for that tick. However, there was
    an exception inside a domain, then "process.nextTick()" runs under
    the domain of the first timer function, and will do nothing if
    the domain has been disposed.
    To avoid this, we temporarily save the value of "process.domain"
    before calling nextTick so that it does not run inside any domain.
  4. @tjfontaine

    src: domain should not replace nextTick function

    tjfontaine authored
    Previously if you cached process.nextTick and then require('domain')
    subsequent nextTick() calls would not be caught because enqueued
    functions were taking the wrong path. This keeps nextTick to a single
    function reference and changes the implementation details after domain
    has been required.
Commits on Mar 2, 2014
  1. @indutny

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

    indutny authored
  2. @indutny

    smalloc: remove `env.h` include

    indutny authored
    Since `smalloc.h` is included in a `node_buffer.h`, including private
    headers in it is strictly prohibited.
    fix #7206
Commits on Mar 1, 2014
  1. @indutny

    node: invoke `beforeExit` again if loop was active

    indutny authored
    When `setImmediate(cb)` is called in `beforeExit` event handler the
    consequent `uv_run(..., UV_RUN_NOWAIT)` may return `0`, even if there
    was some active handles at start.
    Fixes simple/test-beforeexit-event.js.
Commits on Feb 28, 2014
  1. @indutny
  2. @sam-github @indutny

    doc: document `beforeExit` and add more tests

    sam-github authored indutny committed
  3. @bnoordhuis @indutny

    src: emit 'beforeExit' event on process object

    bnoordhuis authored indutny committed
    Unlike the 'exit' event, this event allows the user to schedule more
    work and thereby postpone the exit.  That also means that the
    'beforeExit' event may be emitted many times, see the attached test
    case for an example.
    Refs #6305.
  4. @saghul @indutny

    src: use new loop API

    saghul authored indutny committed
    uv_loop_new and uv_loop_delete are considered deprecated now.
Commits on Feb 27, 2014
  1. @saghul @tjfontaine

    src: spawn_sync should close handles upon exit

    saghul authored tjfontaine committed
    When the exit callback is fired for the child process we should close
    the handle associated with it.
  2. @tjfontaine

    src: update to latest libuv api

    tjfontaine authored
    libuv gyp builds now require you to define the library disposition
    (static or shared).
    Also, libuv now supports vectored IO for file system reads and writes,
    update to those function signatures
  3. @tjfontaine

    uv: Upgrade to v0.11.21

    tjfontaine authored
Commits on Feb 26, 2014
  1. @TooTallNate

    http: remove the circular dependency

    TooTallNate authored
    Between `ClientRequest` and `Agent`. The circular require was doing
    weird things at load time, like making the `globalAgent` property
    be `undefined` from within the context of the "_http_client"
    Removing the circular dependency completely fixes this.
    This commit effectively removes the undocumented `Agent#request()`
    and `Agent#get()` functions.
  2. @TooTallNate

    test: update "http-*" tests to only use public API

    TooTallNate authored
    Don't invoke the `agent.requst()` or `agent.get()` functions
    directly. Instead, use the public API and pass the agent
    instance in as the `agent` option.
  3. @TooTallNate

    http, https: don't depend on `globalAgent`

    TooTallNate authored
    For the `request()` and `get()` functions. I could never
    really understand why these two functions go through agent
    first... Especially since the user could be passing `agent: false`
    or a different Agent instance completely, in which `globalAgent`
    will be completely bypassed.
    Moved the relevant logic from `Agent#request()` into the
    `ClientRequest` constructor.
    Incidentally, this commit fixes #7012 (which was the original
    intent of this commit).
  4. @TooTallNate
  5. @TooTallNate

    test: add `agent: null` http client request test

    TooTallNate authored
    This is just the test portion from #7012 / #7189,
    but targetted for the v0.10 branch.
Something went wrong with that request. Please try again.