Browse Source

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

Conflicts:
	AUTHORS
	ChangeLog
	deps/uv/ChangeLog
	deps/uv/include/uv-darwin.h
	deps/uv/src/unix/darwin.c
	deps/uv/src/unix/fsevents.c
	deps/uv/src/version.c
	lib/_stream_writable.js
	src/node_version.h
v0.11.7-release
isaacs 11 years ago
parent
commit
96358613f9
  1. 2
      .gitignore
  2. 4
      AUTHORS
  3. 15
      ChangeLog
  4. 92
      doc/blog/release/v0.10.17.md
  5. 110
      doc/blog/release/v0.11.6.md
  6. 3
      doc/download/index.html
  7. 2
      lib/_stream_readable.js
  8. 60
      test/simple/test-stream-writable-decoded-encoding.js
  9. 19
      tools/getstability.py
  10. 79
      tools/node-release-post-build.sh

2
.gitignore

@ -54,6 +54,6 @@ deps/openssl/openssl.xml
# build/release artifacts # build/release artifacts
/*.tar.gz /*.tar.gz
/SHASUMS.txt* /SHASUMS*.txt*
/tools/wrk/wrk /tools/wrk/wrk

4
AUTHORS

@ -474,12 +474,12 @@ Antony Bailey <support@antonybailey.net>
Forrest L Norvell <ogd@aoaioxxysz.net> Forrest L Norvell <ogd@aoaioxxysz.net>
Evan Solomon <evan@evanalyze.com> Evan Solomon <evan@evanalyze.com>
Eran Hammer <eran@hueniverse.com> Eran Hammer <eran@hueniverse.com>
Matthias Bartelmeß <mba@fourplusone.de>
Daniel Chatfield <chatfielddaniel@gmail.com> Daniel Chatfield <chatfielddaniel@gmail.com>
Eivind Uggedal <eivind@uggedal.com> Eivind Uggedal <eivind@uggedal.com>
Edward Hutchins <eahutchins@gmail.com> Edward Hutchins <eahutchins@gmail.com>
James Halliday <mail@substack.net>
Chris Wren <cthewren@gmail.com> Chris Wren <cthewren@gmail.com>
Duan Yao <duanyao@ustc.edu> Duan Yao <duanyao@ustc.edu>
Matthias Bartelmeß <mba@fourplusone.de>
James Halliday <mail@substack.net>
Matthew Aynalem <maynalem@gmail.com> Matthew Aynalem <maynalem@gmail.com>
Vsevolod Strukchinsky <floatdrop@yandex-team.ru> Vsevolod Strukchinsky <floatdrop@yandex-team.ru>

15
ChangeLog

@ -271,6 +271,21 @@
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich) * console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
2013.08.21, Version 0.10.17 (Stable), 469a4a5091a677df62be319675056b869c31b35c
* uv: Upgrade v0.10.14
* http_parser: Do not accept PUN/GEM methods as PUT/GET (Chris Dickinson)
* tls: fix assertion when ssl is destroyed at read (Fedor Indutny)
* stream: Throw on 'error' if listeners removed (isaacs)
* dgram: fix assertion on bad send() arguments (Ben Noordhuis)
* readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
2013.08.16, Version 0.10.16 (Stable), 50b4c905a4425430ae54db4906f88982309e128d 2013.08.16, Version 0.10.16 (Stable), 50b4c905a4425430ae54db4906f88982309e128d
* v8: back-port fix for CVE-2013-2882 * v8: back-port fix for CVE-2013-2882

92
doc/blog/release/v0.10.17.md

@ -0,0 +1,92 @@
date: Wed Aug 21 16:37:31 PDT 2013
version: 0.10.17
category: release
title: Node v0.10.17 (Stable)
slug: node-v0-10-17-stable
2013.08.21, Version 0.10.17 (Stable)
* uv: Upgrade v0.10.14
* http_parser: Do not accept PUN/GEM methods as PUT/GET (Chris Dickinson)
* tls: fix assertion when ssl is destroyed at read (Fedor Indutny)
* stream: Throw on 'error' if listeners removed (isaacs)
* dgram: fix assertion on bad send() arguments (Ben Noordhuis)
* readline: pause stdin before turning off terminal raw mode (Daniel Chatfield)
Source Code: http://nodejs.org/dist/v0.10.17/node-v0.10.17.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.17/node-v0.10.17.pkg
Windows Installer: http://nodejs.org/dist/v0.10.17/node-v0.10.17-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.10.17/x64/node-v0.10.17-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.10.17/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.10.17/node-v0.10.17-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.10.17/node-v0.10.17-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.17/node-v0.10.17-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.17/node-v0.10.17-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.10.17/
Website: http://nodejs.org/docs/v0.10.17/
Documentation: http://nodejs.org/docs/v0.10.17/api/
Shasums:
```
8502c5ec4878154b5896fca6a14ff6c83c3774a1 node-v0.10.17-darwin-x64.tar.gz
6d785ae86ea050159dfd85841a4faac830be8a2a node-v0.10.17-darwin-x86.tar.gz
244dc1a25dcd2cc252ae9315bb2da07b41381c5c node-v0.10.17-linux-x64.tar.gz
109c32b514fab374b73972dda4f4d27a33e20d5d node-v0.10.17-linux-x86.tar.gz
2e046a6e05520c7be941365830517db90b791999 node-v0.10.17-sunos-x64.tar.gz
907d73aa0e84717c342327265f0b665d09b50154 node-v0.10.17-sunos-x86.tar.gz
ac8f653545b58d009e19522e3ead8886d151b59d node-v0.10.17-x86.msi
32f160364990489e1f79593e1cdcea9dfde28125 node-v0.10.17.pkg
c9d31d5415d2cf7a09fd7abebf9f01259e9dd93b node-v0.10.17.tar.gz
33a5e3a86c391fc30080e796c46a74cefbd9104c node.exe
004ebfa938b3f14984b964dcaba061d10c32f12c node.exp
3dd092b26c742f20006fc2085b329a3e32d8e3d9 node.lib
a8d997936e240626c56df8c6c8d55b659003a644 node.pdb
165fecaab04a09a4df6b731f0e4b264bdb281644 pkgsrc/nodejs-ia32-0.10.17.tgz
0c813098a93090823b513147de7f41f920dd8569 pkgsrc/nodejs-x64-0.10.17.tgz
3cf665ad6c8f7d3040c2bfea8791f77c40c8f2a0 x64/node-v0.10.17-x64.msi
95baf773a34f85014eb67d026b7b9cd0396f96f5 x64/node.exe
ebdbcea161d44368c224fce448bf3d85e5a54f21 x64/node.exp
49d12cb3d5be6f6707b7f5c89952f81bddb69a68 x64/node.lib
0c0ef15eb6705c81137187c597cb0105bd2bc352 x64/node.pdb
```
Shasums:
```
8502c5ec4878154b5896fca6a14ff6c83c3774a1 node-v0.10.17-darwin-x64.tar.gz
6d785ae86ea050159dfd85841a4faac830be8a2a node-v0.10.17-darwin-x86.tar.gz
244dc1a25dcd2cc252ae9315bb2da07b41381c5c node-v0.10.17-linux-x64.tar.gz
109c32b514fab374b73972dda4f4d27a33e20d5d node-v0.10.17-linux-x86.tar.gz
2e046a6e05520c7be941365830517db90b791999 node-v0.10.17-sunos-x64.tar.gz
907d73aa0e84717c342327265f0b665d09b50154 node-v0.10.17-sunos-x86.tar.gz
ac8f653545b58d009e19522e3ead8886d151b59d node-v0.10.17-x86.msi
32f160364990489e1f79593e1cdcea9dfde28125 node-v0.10.17.pkg
c9d31d5415d2cf7a09fd7abebf9f01259e9dd93b node-v0.10.17.tar.gz
33a5e3a86c391fc30080e796c46a74cefbd9104c node.exe
004ebfa938b3f14984b964dcaba061d10c32f12c node.exp
3dd092b26c742f20006fc2085b329a3e32d8e3d9 node.lib
a8d997936e240626c56df8c6c8d55b659003a644 node.pdb
165fecaab04a09a4df6b731f0e4b264bdb281644 pkgsrc/nodejs-ia32-0.10.17.tgz
0c813098a93090823b513147de7f41f920dd8569 pkgsrc/nodejs-x64-0.10.17.tgz
3cf665ad6c8f7d3040c2bfea8791f77c40c8f2a0 x64/node-v0.10.17-x64.msi
95baf773a34f85014eb67d026b7b9cd0396f96f5 x64/node.exe
ebdbcea161d44368c224fce448bf3d85e5a54f21 x64/node.exp
49d12cb3d5be6f6707b7f5c89952f81bddb69a68 x64/node.lib
0c0ef15eb6705c81137187c597cb0105bd2bc352 x64/node.pdb
```

110
doc/blog/release/v0.11.6.md

@ -0,0 +1,110 @@
date: Wed Aug 21 14:11:09 PDT 2013
version: 0.11.6
category: release
title: Node v0.11.6 (Unstable)
slug: node-v0-11-6-unstable
2013.08.21, Version 0.11.6 (Unstable)
* 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)
Source Code: http://nodejs.org/dist/v0.11.6/node-v0.11.6.tar.gz
Macintosh Installer (Universal): http://nodejs.org/dist/v0.11.6/node-v0.11.6.pkg
Windows Installer: http://nodejs.org/dist/v0.11.6/node-v0.11.6-x86.msi
Windows x64 Installer: http://nodejs.org/dist/v0.11.6/x64/node-v0.11.6-x64.msi
Windows x64 Files: http://nodejs.org/dist/v0.11.6/x64/
Linux 32-bit Binary: http://nodejs.org/dist/v0.11.6/node-v0.11.6-linux-x86.tar.gz
Linux 64-bit Binary: http://nodejs.org/dist/v0.11.6/node-v0.11.6-linux-x64.tar.gz
Solaris 32-bit Binary: http://nodejs.org/dist/v0.11.6/node-v0.11.6-sunos-x86.tar.gz
Solaris 64-bit Binary: http://nodejs.org/dist/v0.11.6/node-v0.11.6-sunos-x64.tar.gz
Other release files: http://nodejs.org/dist/v0.11.6/
Website: http://nodejs.org/docs/v0.11.6/
Documentation: http://nodejs.org/docs/v0.11.6/api/
Shasums:
```
5bab906e0ec1d5d2c2a750f17253955ba8c590b1 ./node-v0.11.6-darwin-x64.tar.gz
085a4ecf18ec3200e6e8bd140b3dc7f9fa65f8b5 ./node-v0.11.6-darwin-x86.tar.gz
c162932132977820e06b856ba9cc84c7d4b57749 ./node-v0.11.6-linux-x64.tar.gz
ed188f465c62da99d870bf8fa17fbd0d543d8d2e ./node-v0.11.6-linux-x86.tar.gz
0f52a91353d2c51b4d59c07b2a3b5d2e26060c93 ./node-v0.11.6-sunos-x64.tar.gz
eac97868a552eae2dad92d633d0b78e069d05bed ./node-v0.11.6-sunos-x86.tar.gz
3bdcfd9305fca8bc81197c53c5aff4c4a0745966 ./node-v0.11.6-x86.msi
92abb4a4cc83bf9d3f1ed2f86a8aecd19672e7cf ./node-v0.11.6.pkg
4f3a643b4913ef085175aef180c3bfd9259a4357 ./node-v0.11.6.tar.gz
8051915c27eaee334a3d89a32fe1593e2b01182b ./node.exe
29f62a9272ae7679118f4a21c536eb2384fa3af4 ./node.exp
dc060de643dec7f17a696c533d9443bfdf25ee61 ./node.lib
6438410f3685c585379e44b8bf39240ff0e65175 ./node.pdb
dddfd481d376a215f0e039143ff1d22b317ca1d3 ./pkgsrc/nodejs-ia32-0.11.6.tgz
634c9249428fde318e9087eebc9d50401c110521 ./pkgsrc/nodejs-x64-0.11.6.tgz
90b58cb39a655591c240388942b629ff725fb076 ./x64/node-v0.11.6-x64.msi
faeda12db9ca90a89dbd1d131702be39a883e7a2 ./x64/node.exe
d6ab6da893cefd30795163a4e0d5585a996f13ec ./x64/node.exp
f8f598114199b8876ef2cf7414eee488fcf713b9 ./x64/node.lib
e09f49b3d3b881f2c3dcdff24369176572cc7338 ./x64/node.pdb
```

3
doc/download/index.html

@ -128,6 +128,9 @@
</td> </td>
</tr> </tr>
</table> </table>
<p>
Note: Python 2.6 or 2.7 is required to build from source tarballs.
</p>
<h2 style="margin-top:1em" id=other-info>Other Info</h2> <h2 style="margin-top:1em" id=other-info>Other Info</h2>
<ul> <ul>

2
lib/_stream_readable.js

@ -550,7 +550,7 @@ Readable.prototype.pipe = function(dest, pipeOpts) {
} }
// This is a brutally ugly hack to make sure that our error handler // This is a brutally ugly hack to make sure that our error handler
// is attached before any userland ones. NEVER DO THIS. // is attached before any userland ones. NEVER DO THIS.
if (!dest._events.error) if (!dest._events || !dest._events.error)
dest.on('error', onerror); dest.on('error', onerror);
else if (Array.isArray(dest._events.error)) else if (Array.isArray(dest._events.error))
dest._events.error.unshift(onerror); dest._events.error.unshift(onerror);

60
test/simple/test-stream-writable-decoded-encoding.js

@ -0,0 +1,60 @@
// 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 stream = require('stream');
var util = require('util');
function MyWritable(fn, options) {
stream.Writable.call(this, options);
this.fn = fn;
};
util.inherits(MyWritable, stream.Writable);
MyWritable.prototype._write = function (chunk, encoding, callback) {
this.fn(Buffer.isBuffer(chunk), typeof chunk, encoding);
callback();
};
;(function decodeStringsTrue() {
var m = new MyWritable(function(isBuffer, type, enc) {
assert(isBuffer);
assert.equal(type, 'object');
assert.equal(enc, 'buffer');
console.log('ok - decoded string is decoded');
}, { decodeStrings: true });
m.write('some-text', 'utf8');
m.end();
})();
;(function decodeStringsFalse() {
var m = new MyWritable(function(isBuffer, type, enc) {
assert(!isBuffer);
assert.equal(type, 'string');
assert.equal(enc, 'utf8');
console.log('ok - un-decoded string is not decoded');
}, { decodeStrings: false });
m.write('some-text', 'utf8');
m.end();
})();

19
tools/getstability.py

@ -0,0 +1,19 @@
import os,re
node_version_h = os.path.join(os.path.dirname(__file__), '..', 'src',
'node_version.h')
f = open(node_version_h)
for line in f:
if re.match('#define NODE_MAJOR_VERSION', line):
major = line.split()[2]
if re.match('#define NODE_MINOR_VERSION', line):
minor = line.split()[2]
if re.match('#define NODE_PATCH_VERSION', line):
patch = line.split()[2]
if int(minor) % 2 == 0:
print 'stable'
else:
print 'unstable'

79
tools/node-release-post-build.sh

@ -0,0 +1,79 @@
#!/bin/bash
## This is to be used once jenkins has finished building the release
set -e
stability="$(python tools/getstability.py)"
NODE_STABC="$(tr '[:lower:]' '[:upper:]' <<< ${stability:0:1})${stability:1}"
NODE_STABL="$stability"
echo "Building for $stability"
scp tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/SHASUM* .
FILES="SHASUMS SHASUMS256"
for i in $FILES ; do gpg -s $i.txt; gpg --clearsign $i.txt; done
scp SHASUM* tj@nodejs.org:archive/node/tmp/v$(python tools/getnodeversion.py)/
ssh nodejs.org mkdir -p "dist/v$(python tools/getnodeversion.py)/{x64,docs}"
ssh nodejs.org ln -s ../dist/v$(python tools/getnodeversion.py)/docs docs/v$(python tools/getnodeversion.py)
ssh root@nodejs.org mv /home/tj/archive/node/tmp/v$(python tools/getnodeversion.py)/* /home/node/dist/v$(python tools/getnodeversion.py)/
ssh root@nodejs.org chown -R node:other /home/node/dist/v$(python tools/getnodeversion.py)
# tag the release
# should be the same key used to sign the shasums
git tag -sm "$(bash tools/changelog-head.sh)" v$(python tools/getnodeversion.py)
# push to github
git push git@github.com:joyent/node v$(python tools/getnodeversion.py)-release --tags
# blog post and email
make email.md
( echo ""
echo "Shasums:"
echo '```'
cat SHASUMS.txt
echo '```' ) >> email.md
( echo -n "date: "
date
echo -n "version: "
python tools/getnodeversion.py
echo "category: release"
echo "title: Node v"$(python tools/getnodeversion.py)" ($NODE_STABC)"
echo "slug: node-v"$(python tools/getnodeversion.py | sed 's|\.|-|g')"-$NODE_STABL"
echo ""
cat email.md ) > doc/blog/release/v$(python tools/getnodeversion.py).md
if [ "$stability" = "stable" ];
then
## this needs to happen here because the website depends on the current node
## node version
make website-upload
make blog-upload
BRANCH="v$(python tools/getnodeversion.py | sed -E 's#\.[0-9]+$##')"
else
BRANCH="master"
fi
echo "Merging back into $BRANCH"
# merge back into mainline stable branch
git checkout $BRANCH
git merge --no-ff v$(python tools/getnodeversion.py)-release
# change the version number, set isrelease = 0
## TODO automagic.
vim src/node_version.h
git commit -am "Now working on "$(python tools/getnodeversion.py)
if [ "$stability" = "stable" ];
then
echo "Adding blog"
git add doc/blog
git commit -m "blog: Post for v$(python tools/getprevnodeversion.py)"
else
echo "copy blog to stable branch"
fi
git push git@github.com:joyent/node $BRANCH
Loading…
Cancel
Save