From 3546825b1400dfead0d5f87dbd2278586ab4a9e2 Mon Sep 17 00:00:00 2001 From: Andrei Sedoi Date: Wed, 19 Jun 2013 14:48:36 +0300 Subject: [PATCH 01/13] configure: add mips-float-abi (soft, hard) option --- configure | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/configure b/configure index 77add2b42c8259..b75000367318ff 100755 --- a/configure +++ b/configure @@ -250,6 +250,12 @@ parser.add_option("--with-arm-float-abi", help="Specifies which floating-point ABI to use. Valid values are: " "soft, softfp, hard") +parser.add_option("--with-mips-float-abi", + action="store", + dest="mips_float_abi", + help="Specifies which floating-point ABI to use. Valid values are: " + "soft, hard") + parser.add_option("--ninja", action="store_true", dest="use_ninja", @@ -441,6 +447,16 @@ def configure_arm(o): o['variables']['v8_use_arm_eabi_hardfloat'] = b(hard_float) +def configure_mips(o): + if options.mips_float_abi: + if options.mips_float_abi in ('soft', 'hard'): + o['variables']['v8_use_mips_abi_hardfloat'] = b( + options.mips_float_abi == 'hard') + else: + raise Exception( + 'Invalid mips-float-abi value. Valid values are: soft, hard') + + def configure_node(o): o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0 o['variables']['v8_no_strict_aliasing'] = 1 # work around compiler bugs @@ -457,6 +473,8 @@ def configure_node(o): if target_arch == 'arm': configure_arm(o) + elif target_arch in ('mips', 'mipsel'): + configure_mips(o) cc_version, is_clang = compiler_version() o['variables']['clang'] = 1 if is_clang else 0 From 1c3863abfd40b2d95b7151a75427d9fd948e8e63 Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Mon, 9 Sep 2013 18:18:05 +0400 Subject: [PATCH 02/13] tls: fix setting NPN protocols The NPN protocols was set on `require('tls')` or `global` object instead of being a local property. This fact lead to strange persistence of NPN protocols, and sometimes incorrect protocol selection (when no NPN protocols were passed in client options). fix #6168 --- lib/tls.js | 5 +++-- test/simple/test-tls-npn-server-client.js | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/tls.js b/lib/tls.js index ea3d2e43104016..976ff463525fb1 100644 --- a/lib/tls.js +++ b/lib/tls.js @@ -1321,12 +1321,13 @@ exports.connect = function(/* [port, host], options, cb */) { var sslcontext = crypto.createCredentials(options); - convertNPNProtocols(options.NPNProtocols, this); + var NPN = {}; + convertNPNProtocols(options.NPNProtocols, NPN); var hostname = options.servername || options.host || 'localhost', pair = new SecurePair(sslcontext, false, true, options.rejectUnauthorized === true ? true : false, { - NPNProtocols: this.NPNProtocols, + NPNProtocols: NPN.NPNProtocols, servername: hostname, cleartext: options.cleartext, encrypted: options.encrypted diff --git a/test/simple/test-tls-npn-server-client.js b/test/simple/test-tls-npn-server-client.js index 86e10bedc6a5b7..d9e8f91806c812 100644 --- a/test/simple/test-tls-npn-server-client.js +++ b/test/simple/test-tls-npn-server-client.js @@ -61,6 +61,12 @@ var clientsOptions = [{ crl: serverOptions.crl, NPNProtocols: ['c', 'b', 'e'], rejectUnauthorized: false +},{ + port: serverPort, + key: serverOptions.key, + cert: serverOptions.cert, + crl: serverOptions.crl, + rejectUnauthorized: false },{ port: serverPort, key: serverOptions.key, @@ -91,7 +97,9 @@ function startTest() { connectClient(clientsOptions[0], function() { connectClient(clientsOptions[1], function() { connectClient(clientsOptions[2], function() { - server.close(); + connectClient(clientsOptions[3], function() { + server.close(); + }); }); }); }); @@ -100,6 +108,8 @@ function startTest() { process.on('exit', function() { assert.equal(serverResults[0], clientsResults[0]); assert.equal(serverResults[1], clientsResults[1]); - assert.equal(serverResults[2], 'first-priority-unsupported'); + assert.equal(serverResults[2], 'http/1.1'); assert.equal(clientsResults[2], false); + assert.equal(serverResults[3], 'first-priority-unsupported'); + assert.equal(clientsResults[3], false); }); From 9fad8e5dc440b07507039d617bbaadc0be98edb5 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Fri, 13 Sep 2013 14:46:06 +0200 Subject: [PATCH 03/13] doc: fix blog link in blog posts and README Apparently Joyent decommissioned joyeur.com but at least they saved the contents of the blog. Update the links in the README and the nodejs.org blog posts. Hat tip to Eugen Pirogoff (@eugenpirogoff) for pointing it out. Fixes #6224. --- README.md | 2 +- .../an-easy-way-to-build-scalable-network-programs.md | 2 +- doc/blog/Uncategorized/the-videos-from-node-meetup.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9f6e07871a089f..2f018e5f9a6ff2 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ Resources for Newcomers --- - [The Wiki](https://github.com/joyent/node/wiki) - [nodejs.org](http://nodejs.org/) - - [how to install node.js and npm (node package manager)](http://joyeur.com/2010/12/10/installing-node-and-npm/) + - [how to install node.js and npm (node package manager)](http://www.joyent.com/blog/installing-node-and-npm/) - [list of modules](https://github.com/joyent/node/wiki/modules) - [searching the npm registry](http://npmjs.org/) - [list of companies and projects using node](https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node) diff --git a/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md b/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md index a555ac6bba7c32..dc0980b4b830d3 100644 --- a/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md +++ b/doc/blog/Uncategorized/an-easy-way-to-build-scalable-network-programs.md @@ -13,4 +13,4 @@ It has also been suggested that Node does not take advantage of multicore machin Node has a clear purpose: provide an easy way to build scalable network programs. It is not a tool for every problem. Do not write a ray tracer with Node. Do not write a web browser with Node. Do however reach for Node if tasked with writing a DNS server, DHCP server, or even a video encoding server. -By relying on the kernel to schedule and preempt computationally expensive tasks and to load balance incoming connections, Node appears less magical than server platforms that employ userland scheduling. So far, our focus on simplicity and transparency has paid off: the number of success stories from developers and corporations who are adopting the technology continues to grow. +By relying on the kernel to schedule and preempt computationally expensive tasks and to load balance incoming connections, Node appears less magical than server platforms that employ userland scheduling. So far, our focus on simplicity and transparency has paid off: the number of success stories from developers and corporations who are adopting the technology continues to grow. diff --git a/doc/blog/Uncategorized/the-videos-from-node-meetup.md b/doc/blog/Uncategorized/the-videos-from-node-meetup.md index 68c5effe1cb697..7ca7ac758cee3c 100644 --- a/doc/blog/Uncategorized/the-videos-from-node-meetup.md +++ b/doc/blog/Uncategorized/the-videos-from-node-meetup.md @@ -7,4 +7,4 @@ slug: the-videos-from-node-meetup Uber, Voxer, and Joyent described how they use Node in production -http://joyeur.com/2011/08/11/node-js-meetup-distributed-web-architectures/ +http://www.joyent.com/blog/node-js-meetup-distributed-web-architectures/ From 7196742852c9da5d29e2fb1e333bca9d21c8e205 Mon Sep 17 00:00:00 2001 From: Nathan Rajlich Date: Wed, 11 Sep 2013 18:18:10 -0700 Subject: [PATCH 04/13] tls: don't push() incoming data when ondata is set Otherwise the data ends up "on the wire" twice, and switching between consuming the stream using `ondata` vs. `read()` would yield duplicate data, which was bad. --- lib/tls.js | 9 +++--- test/simple/test-tls-ondata.js | 54 ++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 test/simple/test-tls-ondata.js diff --git a/lib/tls.js b/lib/tls.js index 976ff463525fb1..a758c8e01c0050 100644 --- a/lib/tls.js +++ b/lib/tls.js @@ -505,16 +505,15 @@ CryptoStream.prototype._read = function read(size) { } else { // Give them requested data if (this.ondata) { - var self = this; this.ondata(pool, start, start + bytesRead); // Consume data automatically // simple/test-https-drain fails without it - process.nextTick(function() { - self.read(bytesRead); - }); + this.push(pool.slice(start, start + bytesRead)); + this.read(bytesRead); + } else { + this.push(pool.slice(start, start + bytesRead)); } - this.push(pool.slice(start, start + bytesRead)); } // Let users know that we've some internal data to read diff --git a/test/simple/test-tls-ondata.js b/test/simple/test-tls-ondata.js new file mode 100644 index 00000000000000..e9096b2f0ac6af --- /dev/null +++ b/test/simple/test-tls-ondata.js @@ -0,0 +1,54 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var common = require('../common'); +var assert = require('assert'); +var tls = require('tls'); +var fs = require('fs'); + +var options = { + key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), + cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem') +}; + +var server = tls.Server(options, function(socket) { + socket.end('hello world'); +}); + +server.listen(common.PORT, function() { + var client = tls.connect({ + port: common.PORT, + rejectUnauthorized: false + }); + // test that setting the `ondata` function *prevents* data from + // being pushed to the streams2 interface of the socket + client.ondata = function (buf, start, length) { + var b = buf.slice(start, length); + process.nextTick(function () { + var b2 = client.read(); + if (b2) { + assert.notEqual(b.toString(), b2.toString()); + } + client.destroy(); + server.close(); + }); + }; +}); From afabdf0e1595c2f3f8d4a634218bb7d89190d027 Mon Sep 17 00:00:00 2001 From: Nathan Rajlich Date: Mon, 16 Sep 2013 13:57:00 -0700 Subject: [PATCH 05/13] doc: specify the format of the `ca` tls option --- doc/api/tls.markdown | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/api/tls.markdown b/doc/api/tls.markdown index 94e6053cba6ef3..45d3841993f3a9 100644 --- a/doc/api/tls.markdown +++ b/doc/api/tls.markdown @@ -104,9 +104,9 @@ automatically set as a listener for the [secureConnection][] event. The - `cert`: A string or `Buffer` containing the certificate key of the server in PEM format. (Required) - - `ca`: An array of strings or `Buffer`s of trusted certificates. If this is - omitted several well known "root" CAs will be used, like VeriSign. - These are used to authorize connections. + - `ca`: An array of strings or `Buffer`s of trusted certificates in PEM + format. If this is omitted several well known "root" CAs will be used, + like VeriSign. These are used to authorize connections. - `crl` : Either a string or list of strings of PEM encoded CRLs (Certificate Revocation List) @@ -262,9 +262,9 @@ Creates a new client connection to the given `port` and `host` (old API) or - `cert`: A string or `Buffer` containing the certificate key of the client in PEM format. - - `ca`: An array of strings or `Buffer`s of trusted certificates. If this is - omitted several well known "root" CAs will be used, like VeriSign. - These are used to authorize connections. + - `ca`: An array of strings or `Buffer`s of trusted certificates in PEM + format. If this is omitted several well known "root" CAs will be used, + like VeriSign. These are used to authorize connections. - `rejectUnauthorized`: If `true`, the server certificate is verified against the list of supplied CAs. An `'error'` event is emitted if verification From 5bda2bed37526f5da9c27decd8968b0a2710dbeb Mon Sep 17 00:00:00 2001 From: Nathan Rajlich Date: Mon, 16 Sep 2013 13:57:34 -0700 Subject: [PATCH 06/13] doc: fix typos in the tls `NPNProtocols` option --- doc/api/tls.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/tls.markdown b/doc/api/tls.markdown index 45d3841993f3a9..a80e0148d1ff79 100644 --- a/doc/api/tls.markdown +++ b/doc/api/tls.markdown @@ -270,8 +270,8 @@ Creates a new client connection to the given `port` and `host` (old API) or the list of supplied CAs. An `'error'` event is emitted if verification fails. Default: `true`. - - `NPNProtocols`: An array of string or `Buffer` containing supported NPN - protocols. `Buffer` should have following format: `0x05hello0x05world`, + - `NPNProtocols`: An array of strings or `Buffer`s containing supported NPN + protocols. `Buffer`s should have following format: `0x05hello0x05world`, where first byte is next protocol name's length. (Passing array should usually be much simpler: `['hello', 'world']`.) From 7c554a5cd0f1420e5017ef57252b3d3c6496cea0 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 19 Sep 2013 12:27:06 +0200 Subject: [PATCH 07/13] doc: document reserved status of SIGUSR1 Fixes #1212. --- doc/api/process.markdown | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/api/process.markdown b/doc/api/process.markdown index 802f247227b227..025b552ad60272 100644 --- a/doc/api/process.markdown +++ b/doc/api/process.markdown @@ -60,10 +60,10 @@ You have been warned. ## Signal Events - + Emitted when the processes receives a signal. See sigaction(2) for a list of -standard POSIX signal names such as SIGINT, SIGUSR1, etc. +standard POSIX signal names such as SIGINT, SIGHUP, etc. Example of listening for `SIGINT`: @@ -77,6 +77,8 @@ Example of listening for `SIGINT`: An easy way to send the `SIGINT` signal is with `Control-C` in most terminal programs. +Note: SIGUSR1 is reserved by node.js to kickstart the debugger. It's possible +to install a listener but that won't stop the debugger from starting. ## process.stdout @@ -391,7 +393,7 @@ An example of the possible output looks like: Send a signal to a process. `pid` is the process id and `signal` is the string describing the signal to send. Signal names are strings like -'SIGINT' or 'SIGUSR1'. If omitted, the signal will be 'SIGTERM'. +'SIGINT' or 'SIGHUP'. If omitted, the signal will be 'SIGTERM'. See kill(2) for more information. Note that just because the name of this function is `process.kill`, it is @@ -411,6 +413,8 @@ Example of sending a signal to yourself: process.kill(process.pid, 'SIGHUP'); +Note: SIGUSR1 is reserved by node.js. It can be used to kickstart the +debugger. ## process.pid From 35ae69682253ea51e59610a9a9e132c78f5e71d5 Mon Sep 17 00:00:00 2001 From: Eric Schrock Date: Mon, 20 May 2013 14:44:26 -0400 Subject: [PATCH 08/13] readline: handle input starting with control chars Handle control characters only when there is a single byte in the stream, otherwise fall through to the standard multibyte handling. --- lib/readline.js | 2 +- test/simple/test-readline-interface.js | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/readline.js b/lib/readline.js index 75e51f8d10bd5b..c52f3e88b215ea 100644 --- a/lib/readline.js +++ b/lib/readline.js @@ -941,7 +941,7 @@ function emitKey(stream, s) { key.name = 'space'; key.meta = (s.length === 2); - } else if (s <= '\x1a') { + } else if (s.length === 1 && s <= '\x1a') { // ctrl+letter key.name = String.fromCharCode(s.charCodeAt(0) + 'a'.charCodeAt(0) - 1); key.ctrl = true; diff --git a/test/simple/test-readline-interface.js b/test/simple/test-readline-interface.js index fc20d1d2129624..8976b8eb28e36f 100644 --- a/test/simple/test-readline-interface.js +++ b/test/simple/test-readline-interface.js @@ -155,6 +155,18 @@ FakeInput.prototype.end = function() {}; assert.equal(callCount, expectedLines.length - 1); rli.close(); + // \r at start of input should output blank line + fi = new FakeInput(); + rli = new readline.Interface({ input: fi, output: fi, terminal: true }); + expectedLines = ['', 'foo' ]; + callCount = 0; + rli.on('line', function(line) { + assert.equal(line, expectedLines[callCount]); + callCount++; + }); + fi.emit('data', '\rfoo\r'); + assert.equal(callCount, expectedLines.length); + rli.close(); // sending a multi-byte utf8 char over multiple writes var buf = Buffer('☮', 'utf8'); From 55546f55d44522a4ecac67ee040e4059b5bf06b0 Mon Sep 17 00:00:00 2001 From: Timothy J Fontaine Date: Tue, 24 Sep 2013 13:45:57 -0700 Subject: [PATCH 09/13] uv: Upgrade to v0.10.17 --- deps/uv/ChangeLog | 11 ++++++++++- deps/uv/common.gypi | 1 - deps/uv/src/unix/fsevents.c | 37 +++++++++++++++++++++---------------- deps/uv/src/version.c | 2 +- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index bcfc1dfff873aa..98fb44f9784baa 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,4 +1,13 @@ -2013.09.06, Version 0.10.16 (Stable) +2013.09.25, Version 0.10.17 (Stable) + +Changes since version 0.10.16: + +* build: remove GCC_WARN_ABOUT_MISSING_NEWLINE (Ben Noordhuis) + +* darwin: fix 10.6 build error in fsevents.c (Ben Noordhuis) + + +2013.09.06, Version 0.10.16 (Stable), 2bce230d81f4853a23662cbeb26fe98010b1084b Changes since version 0.10.15: diff --git a/deps/uv/common.gypi b/deps/uv/common.gypi index 67291fdc107af3..4b240d98f78fe5 100644 --- a/deps/uv/common.gypi +++ b/deps/uv/common.gypi @@ -171,7 +171,6 @@ 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES', 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics - 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof 'PREBINDING': 'NO', # No -Wl,-prebind 'USE_HEADERMAP': 'NO', 'OTHER_CFLAGS': [ diff --git a/deps/uv/src/unix/fsevents.c b/deps/uv/src/unix/fsevents.c index f849c38f3aa159..7636b80cece051 100644 --- a/deps/uv/src/unix/fsevents.c +++ b/deps/uv/src/unix/fsevents.c @@ -46,6 +46,27 @@ void uv__fsevents_loop_delete(uv_loop_t* loop) { #include #include +/* These are macros to avoid "initializer element is not constant" errors + * with old versions of gcc. + */ +#define kFSEventsModified (kFSEventStreamEventFlagItemFinderInfoMod | \ + kFSEventStreamEventFlagItemModified | \ + kFSEventStreamEventFlagItemInodeMetaMod | \ + kFSEventStreamEventFlagItemChangeOwner | \ + kFSEventStreamEventFlagItemXattrMod) + +#define kFSEventsRenamed (kFSEventStreamEventFlagItemCreated | \ + kFSEventStreamEventFlagItemRemoved | \ + kFSEventStreamEventFlagItemRenamed) + +#define kFSEventsSystem (kFSEventStreamEventFlagUserDropped | \ + kFSEventStreamEventFlagKernelDropped | \ + kFSEventStreamEventFlagEventIdsWrapped | \ + kFSEventStreamEventFlagHistoryDone | \ + kFSEventStreamEventFlagMount | \ + kFSEventStreamEventFlagUnmount | \ + kFSEventStreamEventFlagRootChanged) + typedef struct uv__fsevents_event_s uv__fsevents_event_t; typedef struct uv__cf_loop_signal_s uv__cf_loop_signal_t; typedef struct uv__cf_loop_state_s uv__cf_loop_state_t; @@ -72,22 +93,6 @@ struct uv__fsevents_event_s { char path[1]; }; -static const int kFSEventsModified = kFSEventStreamEventFlagItemFinderInfoMod | - kFSEventStreamEventFlagItemModified | - kFSEventStreamEventFlagItemInodeMetaMod | - kFSEventStreamEventFlagItemChangeOwner | - kFSEventStreamEventFlagItemXattrMod; -static const int kFSEventsRenamed = kFSEventStreamEventFlagItemCreated | - kFSEventStreamEventFlagItemRemoved | - kFSEventStreamEventFlagItemRenamed; -static const int kFSEventsSystem = kFSEventStreamEventFlagUserDropped | - kFSEventStreamEventFlagKernelDropped | - kFSEventStreamEventFlagEventIdsWrapped | - kFSEventStreamEventFlagHistoryDone | - kFSEventStreamEventFlagMount | - kFSEventStreamEventFlagUnmount | - kFSEventStreamEventFlagRootChanged; - /* Forward declarations */ static void uv__cf_loop_cb(void* arg); static void* uv__cf_loop_runner(void* arg); diff --git a/deps/uv/src/version.c b/deps/uv/src/version.c index 1cd43837ec114b..54896017951c8a 100644 --- a/deps/uv/src/version.c +++ b/deps/uv/src/version.c @@ -34,7 +34,7 @@ #define UV_VERSION_MAJOR 0 #define UV_VERSION_MINOR 10 -#define UV_VERSION_PATCH 16 +#define UV_VERSION_PATCH 17 #define UV_VERSION_IS_RELEASE 1 From 6b5e6a5a3ec8d994c9aab3b800b9edbf1b287904 Mon Sep 17 00:00:00 2001 From: Timothy J Fontaine Date: Tue, 24 Sep 2013 14:10:33 -0700 Subject: [PATCH 10/13] 2013.09.24, Version 0.10.19 (Stable) * uv: Upgrade to v0.10.17 * npm: upgrade to 1.3.11 * readline: handle input starting with control chars (Eric Schrock) * configure: add mips-float-abi (soft, hard) option (Andrei Sedoi) * stream: objectMode transforms allow falsey values (isaacs) * tls: prevent duplicate values returned from read (Nathan Rajlich) * tls: NPN protocols are now local to connections (Fedor Indutny) --- AUTHORS | 1 + ChangeLog | 19 ++++++++++++++++++- src/node_version.h | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index ffe022051ceb20..f95c14d0da79f3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -466,3 +466,4 @@ Eivind Uggedal Edward Hutchins Chris Wren Duan Yao +Eric Schrock diff --git a/ChangeLog b/ChangeLog index 82d67f79a6c0dc..54cc5a2b96b475 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,21 @@ -2013.09.04, Version 0.10.18 (Stable) +2013.09.24, Version 0.10.19 (Stable) + +* uv: Upgrade to v0.10.17 + +* npm: upgrade to 1.3.11 + +* readline: handle input starting with control chars (Eric Schrock) + +* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi) + +* stream: objectMode transforms allow falsey values (isaacs) + +* tls: prevent duplicate values returned from read (Nathan Rajlich) + +* tls: NPN protocols are now local to connections (Fedor Indutny) + + +2013.09.04, Version 0.10.18 (Stable), 67a1f0c52e0708e2596f3f2134b8386d6112561e * uv: Upgrade to v0.10.15 diff --git a/src/node_version.h b/src/node_version.h index e71c90266f8f12..d9628563783c2f 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -26,7 +26,7 @@ #define NODE_MINOR_VERSION 10 #define NODE_PATCH_VERSION 19 -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_TAG # define NODE_TAG "" From 093efafce307da9f9b2f2880a8cd79a084a285be Mon Sep 17 00:00:00 2001 From: Timothy J Fontaine Date: Tue, 24 Sep 2013 15:10:22 -0700 Subject: [PATCH 11/13] Now working on 0.10.20 --- src/node_version.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/node_version.h b/src/node_version.h index d9628563783c2f..f02dbe3c2a788f 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -24,9 +24,9 @@ #define NODE_MAJOR_VERSION 0 #define NODE_MINOR_VERSION 10 -#define NODE_PATCH_VERSION 19 +#define NODE_PATCH_VERSION 20 -#define NODE_VERSION_IS_RELEASE 1 +#define NODE_VERSION_IS_RELEASE 0 #ifndef NODE_TAG # define NODE_TAG "" From 9135c7fea87af0693ef02732c296987a0e62bfef Mon Sep 17 00:00:00 2001 From: Timothy J Fontaine Date: Tue, 24 Sep 2013 15:10:22 -0700 Subject: [PATCH 12/13] blog: Post for v0.10.19 --- doc/blog/release/v0.10.19.md | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 doc/blog/release/v0.10.19.md diff --git a/doc/blog/release/v0.10.19.md b/doc/blog/release/v0.10.19.md new file mode 100644 index 00000000000000..621931c9dcbeda --- /dev/null +++ b/doc/blog/release/v0.10.19.md @@ -0,0 +1,50 @@ +date: Tue Sep 24 15:09:23 PDT 2013 +version: 0.10.19 +category: release +title: Node v0.10.19 (Stable) +slug: node-v0-10-19-stable + +2013.09.24, Version 0.10.19 (Stable) + +* uv: Upgrade to v0.10.17 + +* npm: upgrade to 1.3.11 + +* readline: handle input starting with control chars (Eric Schrock) + +* configure: add mips-float-abi (soft, hard) option (Andrei Sedoi) + +* stream: objectMode transforms allow falsey values (isaacs) + +* tls: prevent duplicate values returned from read (Nathan Rajlich) + +* tls: NPN protocols are now local to connections (Fedor Indutny) + + +Source Code: http://nodejs.org/dist/v0.10.19/node-v0.10.19.tar.gz + +Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.19/node-v0.10.19.pkg + +Windows Installer: http://nodejs.org/dist/v0.10.19/node-v0.10.19-x86.msi + +Windows x64 Installer: http://nodejs.org/dist/v0.10.19/x64/node-v0.10.19-x64.msi + +Windows x64 Files: http://nodejs.org/dist/v0.10.19/x64/ + +Linux 32-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-linux-x86.tar.gz + +Linux 64-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-linux-x64.tar.gz + +Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-sunos-x86.tar.gz + +Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.19/node-v0.10.19-sunos-x64.tar.gz + +Other release files: http://nodejs.org/dist/v0.10.19/ + +Website: http://nodejs.org/docs/v0.10.19/ + +Documentation: http://nodejs.org/docs/v0.10.19/api/ + +Shasums: +``` +``` From cfa03ad2e3423693f6bc56a82696f9c362d71ed0 Mon Sep 17 00:00:00 2001 From: Timothy J Fontaine Date: Tue, 24 Sep 2013 15:16:44 -0700 Subject: [PATCH 13/13] blog: add missing shasums for v0.10.19 release --- doc/blog/release/v0.10.19.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/blog/release/v0.10.19.md b/doc/blog/release/v0.10.19.md index 621931c9dcbeda..f725b340b9d3d7 100644 --- a/doc/blog/release/v0.10.19.md +++ b/doc/blog/release/v0.10.19.md @@ -47,4 +47,24 @@ Documentation: http://nodejs.org/docs/v0.10.19/api/ Shasums: ``` +74f1db96742fcc0128d1c14d3cb808ef5c847749 node-v0.10.19-darwin-x64.tar.gz +71ef9bd63d3926a2b78a43a5d077838c43e7e2ea node-v0.10.19-darwin-x86.tar.gz +ebc6dc67276f7461dbd45496924b36949c75e7e0 node-v0.10.19-linux-x64.tar.gz +226b507f554fa5cc07296c30f08db76f5eaeb157 node-v0.10.19-linux-x86.tar.gz +3b324613b79d1c4ab3b9414b0644a3a559c2aec9 node-v0.10.19-sunos-x64.tar.gz +83cb3e58e9ac925ea22c8533cabc712625faa3f7 node-v0.10.19-sunos-x86.tar.gz +dcbe7db6d0c93f83f539f38807cd3c1923969721 node-v0.10.19-x86.msi +e6397e1df4e74864e3f0e5fc7bd24178828497f4 node-v0.10.19.pkg +39478caf7024af6d992007457540f8941104c5d9 node-v0.10.19.tar.gz +0fe9364b443e76f7364f8694751da15479417bdf node.exe +63555cdb67c2fd63411726dc691b08af520b27f6 node.exp +c4d33b56cff97c47b12df3ad237977a57d4c798d node.lib +19a603db8f8c30b1736124740a6a1c856f2d21d8 node.pdb +ca32da0335ecb09ab7316b6e18f23461e298768e pkgsrc/nodejs-ia32-0.10.19.tgz +b0b05a7f74d980720677a3232e82e23df211c122 pkgsrc/nodejs-x64-0.10.19.tgz +45aed04478346035e8dc7933d120ab636d56eac4 x64/node-v0.10.19-x64.msi +b81788c17fec167b77883dcbaf8c629ad7560c4d x64/node.exe +086761bf6ff4622714d24d7979548a37aaaea57e x64/node.exp +cc554a431039952207adfcb3997a7366ad7182e8 x64/node.lib +02d18f042f3d25663ea4d979dff8120435982079 x64/node.pdb ```