Merge remote-tracking branch 'ry/v0.6' into v0.6-merge
authorisaacs <i@izs.me>
Sun, 4 Mar 2012 07:38:52 +0000 (23:38 -0800)
committerisaacs <i@izs.me>
Sun, 4 Mar 2012 07:38:52 +0000 (23:38 -0800)
Conflicts:
ChangeLog
Makefile
deps/npm/AUTHORS
deps/npm/html/api/bin.html
deps/npm/html/api/bugs.html
deps/npm/html/api/commands.html
deps/npm/html/api/config.html
deps/npm/html/api/deprecate.html
deps/npm/html/api/docs.html
deps/npm/html/api/edit.html
deps/npm/html/api/explore.html
deps/npm/html/api/help-search.html
deps/npm/html/api/init.html
deps/npm/html/api/install.html
deps/npm/html/api/link.html
deps/npm/html/api/load.html
deps/npm/html/api/ls.html
deps/npm/html/api/npm.html
deps/npm/html/api/outdated.html
deps/npm/html/api/owner.html
deps/npm/html/api/pack.html
deps/npm/html/api/prefix.html
deps/npm/html/api/prune.html
deps/npm/html/api/publish.html
deps/npm/html/api/rebuild.html
deps/npm/html/api/restart.html
deps/npm/html/api/root.html
deps/npm/html/api/run-script.html
deps/npm/html/api/search.html
deps/npm/html/api/shrinkwrap.html
deps/npm/html/api/start.html
deps/npm/html/api/stop.html
deps/npm/html/api/submodule.html
deps/npm/html/api/tag.html
deps/npm/html/api/test.html
deps/npm/html/api/uninstall.html
deps/npm/html/api/unpublish.html
deps/npm/html/api/update.html
deps/npm/html/api/version.html
deps/npm/html/api/view.html
deps/npm/html/api/whoami.html
deps/npm/html/doc/README.html
deps/npm/html/doc/adduser.html
deps/npm/html/doc/bin.html
deps/npm/html/doc/bugs.html
deps/npm/html/doc/build.html
deps/npm/html/doc/bundle.html
deps/npm/html/doc/cache.html
deps/npm/html/doc/changelog.html
deps/npm/html/doc/coding-style.html
deps/npm/html/doc/completion.html
deps/npm/html/doc/config.html
deps/npm/html/doc/deprecate.html
deps/npm/html/doc/developers.html
deps/npm/html/doc/disputes.html
deps/npm/html/doc/docs.html
deps/npm/html/doc/edit.html
deps/npm/html/doc/explore.html
deps/npm/html/doc/faq.html
deps/npm/html/doc/folders.html
deps/npm/html/doc/help-search.html
deps/npm/html/doc/help.html
deps/npm/html/doc/index.html
deps/npm/html/doc/init.html
deps/npm/html/doc/install.html
deps/npm/html/doc/json.html
deps/npm/html/doc/link.html
deps/npm/html/doc/list.html
deps/npm/html/doc/npm.html
deps/npm/html/doc/outdated.html
deps/npm/html/doc/owner.html
deps/npm/html/doc/pack.html
deps/npm/html/doc/prefix.html
deps/npm/html/doc/prune.html
deps/npm/html/doc/publish.html
deps/npm/html/doc/rebuild.html
deps/npm/html/doc/registry.html
deps/npm/html/doc/removing-npm.html
deps/npm/html/doc/restart.html
deps/npm/html/doc/root.html
deps/npm/html/doc/run-script.html
deps/npm/html/doc/scripts.html
deps/npm/html/doc/search.html
deps/npm/html/doc/semver.html
deps/npm/html/doc/shrinkwrap.html
deps/npm/html/doc/star.html
deps/npm/html/doc/start.html
deps/npm/html/doc/stop.html
deps/npm/html/doc/submodule.html
deps/npm/html/doc/tag.html
deps/npm/html/doc/test.html
deps/npm/html/doc/uninstall.html
deps/npm/html/doc/unpublish.html
deps/npm/html/doc/update.html
deps/npm/html/doc/version.html
deps/npm/html/doc/view.html
deps/npm/html/doc/whoami.html
deps/npm/lib/install.js
deps/npm/lib/ls.js
deps/npm/man/man1/npm.1
deps/npm/man/man1/shrinkwrap.1
deps/npm/man/man3/npm.3
deps/npm/man/man3/shrinkwrap.3
deps/npm/node_modules/request/main.js
deps/npm/node_modules/request/package.json
deps/npm/package.json
deps/uv/src/unix/core.c
deps/v8/src/conversions-inl.h
deps/v8/src/elements.cc
deps/v8/src/version.cc
doc/about/index.html
doc/api/assert.markdown
doc/api/child_process.markdown
doc/api/cluster.markdown
doc/api/crypto.markdown
doc/api/debugger.markdown
doc/api/dgram.markdown
doc/api/dns.markdown
doc/api/documentation.markdown
doc/api/events.markdown
doc/api/fs.markdown
doc/api/globals.markdown
doc/api/http.markdown
doc/api/https.markdown
doc/api/modules.markdown
doc/api/net.markdown
doc/api/os.markdown
doc/api/path.markdown
doc/api/process.markdown
doc/api/querystring.markdown
doc/api/readline.markdown
doc/api/stdio.markdown
doc/api/stream.markdown
doc/api/timers.markdown
doc/api/tls.markdown
doc/api/tty.markdown
doc/api/url.markdown
doc/api/util.markdown
doc/api/vm.markdown
doc/api/zlib.markdown
doc/api_assets/style.css
doc/community/index.html
doc/index.html
doc/logos/index.html
doc/template.html
src/node_version.h
tools/doc/html.js
tools/gyp/test/mac/app-bundle/empty.c

23 files changed:
1  2 
ChangeLog
deps/uv/src/unix/core.c
deps/uv/src/win/util.c
doc/about/index.html
doc/api/child_process.markdown
doc/api/cluster.markdown
doc/api/crypto.markdown
doc/api/debugger.markdown
doc/api/fs.markdown
doc/api/globals.markdown
doc/api/http.markdown
doc/api/https.markdown
doc/api/modules.markdown
doc/api/net.markdown
doc/api/path.markdown
doc/api/process.markdown
doc/api/querystring.markdown
doc/api/readline.markdown
doc/api/tls.markdown
doc/api/zlib.markdown
doc/community/index.html
doc/index.html
doc/logos/index.html

diff --cc ChangeLog
+++ b/ChangeLog
 -2012.03.02 Version 0.6.12 (stable)
 +2012.02.23, Version 0.7.5 (unstable)
 +
 +* startup speed improvements (Maciej Małecki)
 +
 +* crypto: add function getDiffieHellman() (Tomasz Buchert)
 +
 +* buffer: support decoding of URL-safe base64 (Ben Noordhuis)
 +
 +* Make QueryString.parse() even faster (Brian White)
 +
 +* url: decode url entities in auth section (Ben Noordhuis)
 +
 +* http: support PURGE request method (Ben Noordhuis)
 +
 +* http: Generate Date headers on responses (Mark Nottingham)
 +
 +* Fix #2762: Add callback to close function. (Mikeal Rogers)
 +
 +* dgram: fix out-of-bound memory read (Ben Noordhuis)
 +
 +* repl: add automatic loading of built-in libs (Brandon Benvie)
 +
 +* repl: remove double calls where possible (Fedor Indutny)
 +
 +* Readline improvements. Related: #2737 #2756 (Colton Baker)
 +
 +* build: disable -fomit-frame-pointer on solaris (Dave Pacheco)
 +
 +* build: arch detection improvements (Nathan Rajlich)
 +
 +* build: Make a fat binary for the OS X `make pkg`. (Nathan Rajlich)
 +
 +* jslint src/ and lib/ on 'make test' (isaacs)
 +
 +
 +
 +2012.02.14, Version 0.7.4 (unstable), de21de920cf93ec40736ada3792a7f85f3eadeda
 +
 +* Upgrade V8 to 3.9.5
 +
 +* Upgrade npm to 1.1.1
 +
 +* build: Detect host_arch better (Karl Skomski)
 +
 +* debugger: export `debug_port` to `process` (Fedor Indutny)
 +
 +* api docs: CSS bug fixes (isaacs)
 +
 +* build: use -fPIC for native addons on UNIX (Nathan Rajlich)
 +
 +* Re-add top-level v8::Locker (Marcel Laverdet)
 +
 +* Move images out of the dist tarballs (isaacs)
 +
 +* libuv: Remove uv_export and uv_import (Ben Noordhuis)
 +
 +* build: Support x64 build on Windows (Igor Zinkovsky)
 +
 +
 +2012.02.07, Version 0.7.3 (unstable), 99059aad8d654acda4abcfaa68df182b50f2ec90
 +
 +* Upgrade V8 to 3.9.2
 +
 +* Revert support for isolates. (Ben Noordhuis)
 +
 +* cluster: Cleanup docs, event handling, and process.disconnect (Andreas Madsen)
 +
 +* gyp_addon: link with node.lib on Windows (Nathan Rajlich)
 +
 +* http: fix case where http-parser is freed twice (koichik)
 +
 +* Windows: disable RTTI and exceptions (Bert Belder)
 +
 +
 +2012.02.01, Version 0.7.2 (unstable), ec79acb3a6166e30f0bf271fbbfda1fb575b3321
 +
 +* Update V8 to 3.8.9
 +
 +* Support for sharing streams across Isolates (Igor Zinkovsky)
 +
 +* #2636 - Fix case where http_parsers are freed too early (koichik)
 +
 +* url: Support for IPv6 addresses in URLs (Łukasz Walukiewicz)
 +
 +* child_process: Add disconnect() method to child processes (Andreas Madsen)
 +
 +* fs: add O_EXCL support, exclusive open file (Ben Noordhuis)
 +
 +* fs: more specific error messages (Tj Holowaychuk)
 +
 +* tty: emit 'unknown' key event if key sequence not found (Dan VerWeire, Nathan Rajlich)
 +
 +* build: compile release build too if BUILDTYPE=Debug (Ben Noordhuis)
 +
 +* module: fix --debug-brk on symlinked scripts (Fedor Indutny)
 +
 +* zlib: fix `Failed to set dictionary` issue (Fedor Indutny)
 +
 +* waf: predict target arch for OS X (Fedor Indutny)
 +
 +
 +2012.01.23, Version 0.7.1 (unstable), a74354735ab5d5b0fa35a1e4ff7e653757d2069b
 +
 +* Update V8 to 3.8.8
 +
 +* Install node-waf by default (Fedor Indutny)
 +
 +* crypto: Add ability to turn off PKCS padding (Ingmar Runge)
 +
 +* v8: implement VirtualMemory class on SunOS (Ben Noordhuis)
 +
 +* Add cluster.setupMaster (Andreas Madsen)
 +
 +* move `path.exists*` to `fs.exists*` (Maciej Małecki)
 +
 +* typed arrays: set class name (Ben Noordhuis)
 +
 +* libuv bug fixes (Igor Zinkovsky, Ben Noordhuis, Dan VerWeire)
 +
 +
 +2012.01.16, Version 0.7.0 (unstable), 9cc55dca6f67a6096c858b841c677b0593404321
 +
 +* Upgrade V8 to 3.8.6
 +
 +* Use GYP build system on unix (Ben Noordhuis)
 +
 +* Experimenetal isolates support (Ben Noordhuis)
 +
 +* Improvements to Cluster API (Andreas Madsen)
 +
 +* Use isolates for internal debugger (Fedor Indutny)
 +
 +* Bug fixes
 +
 +
++2012.03.02 Version 0.6.12 (stable), 48a2d34cfe6b7e1c9d15202a4ef5e3c82d1fba35
+ * Upgrade V8 to 3.6.6.24
+ * dtrace ustack helper improvements (Dave Pacheco)
+ * API Documentation refactor (isaacs)
+ * #2827 net: fix race write() before and after connect() (koichik)
+ * #2554 #2567 throw if fs args for 'start' or 'end' are strings (AJ ONeal)
+ * punycode: Update to v1.0.0 (Mathias Bynens)
+ * Make a fat binary for the OS X pkg (isaacs)
+ * Fix hang on accessing process.stdin (isaacs)
+ * repl: make tab completion work on non-objects (Nathan Rajlich)
+ * Fix fs.watch on OS X (Ben Noordhuis)
+ * Fix #2515 nested setTimeouts cause premature process exit (Ben Noordhuis)
+ * windows: fix time conversion in stat (Igor Zinkovsky)
+ * windows: fs: handle EOF in read (Brandon Philips)
+ * windows: avoid IOCP short-circuit on non-ifs lsps (Igor Zinkovsky)
+ * Upgrade npm to 1.1.4 (isaacs)
+   - windows fixes
+   - Bundle nested bundleDependencies properly
+   - install: support --save with url install targets
+   - shrinkwrap: behave properly with url-installed modules
+   - support installing uncompressed tars or single file modules from urls etc.
+   - don't run make clean on rebuild
+   - support HTTPS-over-HTTP proxy tunneling
  2012.02.17 Version 0.6.11 (stable), 1eb1fe32250fc88cb5b0a97cddf3e02be02e3f4a
  
  * http: allow multiple WebSocket RFC6455 headers (Einar Otto Stangvik)
@@@ -537,10 -530,10 +537,12 @@@ static int uv__timer_repeating(const uv
  
  
  static void uv__timer_cb(EV_P_ ev_timer* w, int revents) {
 -  uv_timer_t* timer = w->data;
 +  uv_timer_t* timer = container_of(w, uv_timer_t, timer_watcher);
 +
 +  assert(uv__timer_active(timer));
  
+   assert(uv__timer_active(timer));
    if (!uv__timer_repeating(timer)) {
      timer->flags &= ~UV_TIMER_ACTIVE;
      ev_ref(EV_A);
Simple merge
Simple merge
@@@ -106,6 -101,6 +108,7 @@@ process may not actually kill it.  `kil
  
  See `kill(2)`
  
++
  ### child.send(message, [sendHandle])
  
  * `message` {Object}
@@@ -388,10 -376,5 +391,9 @@@ processes
        }
      });
  
 -
 -
 +To close the IPC connection between parent and child use the
 +`child.disconnect()` method. This allows the child to exit gracefully since
 +there is no IPC channel keeping it alive. When calling this method the
 +`disconnect` event will be emitted in both parent and child, and the
 +`connected` flag will be set to `false`. Please note that you can also call
 +`process.disconnect()` in the child process.
@@@ -320,35 -72,28 +320,35 @@@ in the master process using the messag
        }).listen(8000);
      }
  
 +### Event: 'online'
  
 +* `worker` {Worker object}
  
 -## cluster.fork()
 +Same as the `cluster.on('online')` event, but emits only when the state change
 +on the specified worker.
  
 -Spawn a new worker process. This can only be called from the master process.
 +    cluster.fork().on('online', function (worker) {
 +      // Worker is online
 +    };
  
 -## cluster.isMaster
 -## cluster.isWorker
 +### Event: 'listening'
 +
 +* `worker` {Worker object}
  
 -Boolean flags to determine if the current process is a master or a worker
 -process in a cluster. A process `isMaster` if `process.env.NODE_WORKER_ID`
 -is undefined.
 +Same as the `cluster.on('listening')` event, but emits only when the state change
 +on the specified worker.
 +
 +    cluster.fork().on('listening', function (worker) {
 +      // Worker is listening
 +    };
  
- ### Event: 'death'
+ ## Event: 'death'
  
 -When any of the workers die the cluster module will emit the 'death' event.
 -This can be used to restart the worker by calling `fork()` again.
 +* `worker` {Worker object}
  
 -    cluster.on('death', function(worker) {
 -      console.log('worker ' + worker.pid + ' died. restart...');
 -      cluster.fork();
 -    });
 +Same as the `cluster.on('death')` event, but emits only when the state change
 +on the specified worker.
  
 -Different techniques can be used to restart the worker depending on the
 -application.
 +    cluster.fork().on('death', function (worker) {
 +      // Worker has died
 +    };
@@@ -182,13 -176,7 +184,12 @@@ Defaults to `'binary'`
  
  Note: `decipher` object can not be used after `final()` method been called.
  
 +### decipher.setAutoPadding(auto_padding=true)
 +
 +You can disable auto padding if the data has been encrypted without standard block padding to prevent
 +`decipher.final` from checking and removing it. Can only work if the input data's length is a multiple of the
 +ciphers block size. You must call this before streaming data to `decipher.update`.
  
  ## crypto.createSign(algorithm)
  
  Creates and returns a signing object, with the given algorithm.
Simple merge
@@@ -399,25 -391,10 +403,27 @@@ Example
  
  The synchronous version of `fs.writeFile`.
  
 +## fs.appendFile(filename, data, encoding='utf8', [callback])
 +
 +Asynchronously append data to a file, creating the file if it not yet exists.
 +`data` can be a string or a buffer. The `encoding` argument is ignored if
 +`data` is a buffer.
 +
 +Example:
 +
 +    fs.appendFile('message.txt', 'data to append', function (err) {
 +      if (err) throw err;
 +      console.log('The "data to append" was appended to file!');
 +    });
 +
 +## fs.appendFileSync(filename, data, encoding='utf8')
 +
 +The synchronous version of `fs.appendFile`.
 +
  ## fs.watchFile(filename, [options], listener)
  
+     Stability: 2 - Unstable.  Use fs.watch instead, if available.
  Watch for changes on `filename`. The callback `listener` will be called each
  time the file is accessed.
  
@@@ -469,27 -478,13 +507,27 @@@ callback, and have some fallback logic 
  
      fs.watch('somedir', function (event, filename) {
        console.log('event is: ' + event);
-         if (filename) {
+       if (filename) {
          console.log('filename provided: ' + filename);
-         } else {
-           console.log('filename not provided');
-         }
+       } else {
+         console.log('filename not provided');
+       }
      });
  
 +## fs.exists(p, [callback])
 +
 +Test whether or not the given path exists by checking with the file system.
 +Then call the `callback` argument with either true or false.  Example:
 +
 +    fs.exists('/etc/passwd', function (exists) {
 +      util.debug(exists ? "it's there" : "no passwd!");
 +    });
 +
 +
 +## fs.existsSync(p)
 +
 +Synchronous version of `fs.exists`.
 +
  ## Class: fs.Stats
  
  Objects returned from `fs.stat()`, `fs.lstat()` and `fs.fstat()` and their
@@@ -588,9 -583,9 +626,9 @@@ default mode `w`
  
  ### Event: 'open'
  
- `function (fd) { }`
 -* `fd` {Integer} file descriptor used by the ReadStream.
++* `fd` {Integer} file descriptor used by the WriteStream.
  
 `fd` is the file descriptor used by the WriteStream.
Emitted when the WriteStream's file is opened.
  
  ### file.bytesWritten
  
@@@ -32,11 -32,11 +32,11 @@@ The process object. See the [process ob
  
  Used to print to stdout and stderr. See the [stdio](stdio.html) section.
  
--## Buffer
++## Class: Buffer
  
  <!-- type=global -->
  
--* {Object}
++* {Function}
  
  Used to handle binary data. See the [buffer section](buffer.html).
  
@@@ -49,7 -49,7 +49,6 @@@
  To require modules. See the [Modules](modules.html#modules) section.
  `require` isn't actually a global but rather local to each module.
  
--
  ### require.resolve()
  
  Use the internal `require()` machinery to look up the location of a module,
@@@ -103,13 -103,11 +102,12 @@@ Example: running `node example.js` fro
  * {Object}
  
  A reference to the current module. In particular
 -`module.exports` is the same as the `exports` object. See `src/node.js`
 -for more information.
 +`module.exports` is the same as the `exports` object.
  `module` isn't actually a global but rather local to each module.
  
 +See the [module system documentation](modules.html) for more
 +information.
  
  ## exports
  
  <!-- type=var -->
Simple merge
Simple merge
Simple merge
@@@ -49,29 -51,25 +51,29 @@@ Use `nc` to connect to a UNIX domain so
  
      nc -U /tmp/echo.sock
  
- ## net.connect(options, [cnnectionListener])
- ## net.createConnection(options, [cnnectionListener])
 -## net.connect(arguments...)
 -## net.createConnection(arguments...)
++## net.connect(options, [connectionListener])
++## net.createConnection(options, [connectionListener])
  
 -Construct a new socket object and opens a socket to the given location. When
 -the socket is established the ['connect'](#event_connect_) event will be
 +Constructs a new socket object and opens the socket to the given location.
 +When the socket is established, the ['connect'](#event_connect_) event will be
  emitted.
  
 -The arguments for these methods change the type of connection:
 +For TCP sockets, `options` argument should be an object which specifies:
  
 -* `net.connect(port, [host], [connectListener])`
 -* `net.createConnection(port, [host], [connectListener])`
 +  - `port`: Port the client should connect to (Required).
  
 -  Creates a TCP connection to `port` on `host`. If `host` is omitted,
 -  `'localhost'` will be assumed.
 +  - `host`: Host the client should connect to. Defaults to `'localhost'`.
  
 -* `net.connect(path, [connectListener])`
 -* `net.createConnection(path, [connectListener])`
 +For UNIX domain sockets, `options` argument should be an object which specifies:
  
 -  Creates unix socket connection to `path`.
 +  - `path`: Path the client should connect to (Required).
 +
 +Common options are:
 +
 +  - `allowHalfOpen`: if `true`, the socket won't automatically send
 +    a FIN packet when the other end of the socket sends a FIN packet.
 +    Defaults to `false`.
 +    See ['end'](#event_end_) event for more information.
  
  The `connectListener` parameter will be added as an listener for the
  ['connect'](#event_connect_) event.
Simple merge
Simple merge
Simple merge
@@@ -50,9 -55,6 +52,12 @@@ Sets the prompt, for example when you r
  Readies readline for input from the user, putting the current `setPrompt`
  options on a new line, giving the user a new spot to write.
  
++<<<<<<< HEAD
 +This will also resume the `in` stream used with `createInterface` if it has
 +been paused.
 +
++=======
++>>>>>>> ry/v0.6
  ### rl.question(query, callback)
  
  Prepends the prompt with `query` and invokes `callback` with the user's
Simple merge
Simple merge
Simple merge
diff --cc doc/index.html
@@@ -30,8 -30,8 +30,8 @@@
          applications that run across distributed devices.</p>
  
          <a href="#download" class="button" id="downloadbutton">Download</a>
-         <a href="http://nodejs.org/docs/latest/api/index.html" class="button" id="docsbutton">Docs</a>
+         <a href="http://nodejs.org/api/index.html" class="button" id="docsbutton">Docs</a>
 -        <p class="version">v0.6.12</p>
 +        <p class="version">v0.7.5</p> 
      </div>
      <div id="quotes" class="clearfix">
          <h2>Node.js in the Industry</h2>
Simple merge