Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal to update v7.x-staging #10989

Closed
wants to merge 168 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
3a26dc5
doc: clarify information about ABI version
Trott Dec 23, 2016
be92fdd
doc: modernize child_process example code
vsemozhetbyt Dec 3, 2016
19f4a56
doc: new TLSSocket has no secure context options
sam-github Dec 30, 2016
56eb907
doc: document use of Refs: for references
gibfahn Jan 6, 2017
573ca92
doc: update BUILDING.md
lukaszgasior Jan 6, 2017
add407f
doc: killSignal option accepts integer values
thefourtheye Dec 23, 2016
05bab2c
doc: correct vcbuild options for windows testing
jboarman Dec 4, 2016
ab87ee3
doc: update LTS info for current releases
evanlucas Jan 10, 2017
bd501fb
doc: "s/git apply/git am -3" in V8 guide
MylesBorins Jan 6, 2017
47d7719
doc: fix missing negation in stream.md
jrieken Jan 9, 2017
4e90d62
doc: add test naming information to guide
Trott Jan 3, 2017
f620ccc
doc: handle backpressure when write() return false
mcollina Jan 5, 2017
7730134
doc: sort require statements in tests
sam-github Jan 4, 2017
63df2b6
doc: mention cc-ing nodejs/url team for reviews
addaleax Jan 6, 2017
8ca4990
doc: fix misleading language in vm docs
aqrln Jan 9, 2017
da9b692
doc: edit writing-tests.md
Trott Jan 3, 2017
db27092
doc: use correct tls certificate property name
sam-github Dec 20, 2016
d4d84aa
doc: update writable.write return value
binki Jan 3, 2017
c162dfa
doc: fix broken internal link in process.md
addaleax Jan 16, 2017
3a58d43
doc: clarify memory sharing behavior of buffer ctor
zbjornson Jan 13, 2017
1c5083a
doc: add missing `added:` tag for `zlib.constants`
addaleax Jan 13, 2017
f78ae08
doc: fixup `added` tags in cli.md
addaleax Jan 13, 2017
bee658c
doc: remove duplicate PR link from changelog
addaleax Jan 13, 2017
5c86d96
doc: fix markdown escaping in CHANGELOG_V7.md
addaleax Jan 13, 2017
ae41fcf
doc: add links for zlib convenience methods
addaleax Jan 16, 2017
39f7501
doc: clarifying variables in fs.write()
jalafel Nov 24, 2016
b798af5
doc: add edsadr to collaborators
edsadr Jan 18, 2017
e588b36
doc: mention moderation repo in onboarding doc
addaleax Jan 18, 2017
926a91c
doc: add TimothyGu to collaborators
TimothyGu Jan 22, 2017
562d59f
doc: update AUTHORS list to fix name
Jan 22, 2017
8e6586e
doc: move topics/guides to website
evanlucas Jan 19, 2017
0d67731
doc: update examples in api/crypto.md
vsemozhetbyt Jan 20, 2017
92b49f1
async_wrap: close the destroy_ids_idle_handle_
reshnm Dec 21, 2016
c60b2ac
test: refactor test-https-truncate
Trott Dec 11, 2016
fe3d00e
lib,src: support values > 4GB in heap statistics
bnoordhuis Dec 8, 2016
465c585
Revert "repl: disable Ctrl+C support on win32 for now"
addaleax Sep 18, 2016
27e6a6c
test: fix Coverity warning in inspector test
Dec 28, 2016
fbe41e4
url: TupleOrigin#toString use unicode by default
joyeecheung Dec 31, 2016
29229f0
doc: update TheAlphaNerd to MylesBorins
MylesBorins Jan 3, 2017
480aad8
assert: update comments
kaicataldo Jan 2, 2017
4e52ebd
util: avoid out-of-bounds arguments index access
not-an-aardvark Jan 2, 2017
f6ae848
benchmark: move punycode benchmark out of net
mscdex Dec 25, 2016
f44f913
benchmark: improve readability of net benchmarks
mscdex Dec 25, 2016
f792f8e
benchmark: keep decimals in results
mscdex Jan 1, 2017
3a39364
events: improve removeListener() performance
mscdex Jan 2, 2017
5c04c9d
stream: avoid additional validation for Buffers
mscdex Jan 2, 2017
1d14a5b
test: improve test-fs-null-bytes
edsadr Dec 30, 2016
75d2f0c
test: mark test-tty-wrap as flaky for AIX
mhdawson Jan 4, 2017
922318e
events: avoid emit() eager deopt
vhf Jan 2, 2017
0b7ff76
benchmark: fix typo "categoty" -> "category"
vhf Jan 2, 2017
c78942c
doc: mention cc-ing nodejs/python team for reviews
addaleax Jan 5, 2017
2f0a1c8
url: change null password handling
jasnell Jan 4, 2017
24b0c9c
url: do not decode arbitrary %2e sequences in paths
jasnell Jan 4, 2017
e3ff537
meta: decharter the http working group
jasnell Jan 4, 2017
13b0538
test: check error and cleanups in test-fs-read-buffer
addaleax Jan 4, 2017
d9c9c57
http: eliminate capture of ClientRequest in Agent
evantorrie Dec 5, 2016
e134247
test: improve test-event-emitter-modify-in-emit
edsadr Jan 6, 2017
1454eaf
src: reduce test_inspector_socket_server output
danbev Dec 28, 2016
f96079d
tools: remove custom align-function-arguments rule
Trott Jan 1, 2017
8287e2b
tools: remove no-useless-regex-char-class-escape
Trott Jan 1, 2017
e348d56
test: provide duration/interval to timers
Trott Nov 4, 2016
a2a2661
tools: add lint rule to enforce timer arguments
Trott Nov 4, 2016
146d231
test: refactor test-fs-utimes
jun-oka Oct 26, 2016
5f8cc84
test: improve test-fs-readfile-zero-byte-liar
edsadr Jan 2, 2017
ed120af
test: improve test-http-chunked-304
edsadr Jan 7, 2017
2b3dab0
test: improve code in test-https-strict
edsadr Jan 6, 2017
1867a01
test: allow testing uid and gid separately
cjihrig Jan 5, 2017
9510536
test: refactor the code in test-child-process-spawn-loop.js
sivaprs Jan 4, 2017
b530de4
test: improve zlib-from-gzip-with-trailing-garbage
lfkwtz Jan 7, 2017
d16d9cb
test,cluster: add test-cluster-worker-deprecated
Trott Jan 7, 2017
7e83f06
http: define all used properties in constructors
vitkarpov Oct 16, 2016
d469965
test: refactor test-watch-file.js
sivaprs Jan 7, 2017
4ffbcd7
test: improve the code in test-process-hrtime
edsadr Jan 8, 2017
27067c7
doc: specify sorted requires in tests
sam-github Jan 9, 2017
ecb1771
test: refactor test-doctool-html.js
hiroppy Jan 8, 2017
47a5bed
test: fix misplaced ) in http response statuscode test
nfriedly Jan 8, 2017
055665c
test: validate 'expected' argument to mustCall()
nfriedly Oct 11, 2016
991f84b
lib: refactor crypto cipher/hash/curve getters
Trott Jan 8, 2017
19733a1
test: refactor the code of test-keep-alive.js
sivaprs Jan 8, 2017
53ba7de
test: refactor test-crypto-padding-aes256
radelmann Jan 5, 2017
86aec97
https: Use secureProtocol in Agent#getName
papandreou Nov 2, 2016
c109f27
test: add test for noAssert option in buf.read*()
larissayvette Jan 5, 2017
f97923e
src: enable writev for pipe handles on Unix
aqrln Jan 7, 2017
ab1b709
test: move resource intensive test to sequential
Trott Jan 11, 2017
bab0f09
deps: upgrade libuv to 1.10.2
cjihrig Jan 9, 2017
4269e6d
benchmark: don't lint autogenerated modules
mscdex Jan 12, 2017
0eaf6c8
test: move common tls connect setup into fixtures
sam-github Dec 17, 2016
47e0baa
test: check tls server verification with addCACert
sam-github Dec 20, 2016
9f62c9d
test: tls cert chain completion scenarios
sam-github Dec 20, 2016
86ddfed
doc,test: tls .ca option supports multi-PEM files
sam-github Dec 21, 2016
4e78fa0
test: fix linting for test-tls-add-ca-cert.js
sam-github Jan 12, 2017
5c2be2c
test: use realpath for NODE_TEST_DIR in common.js
gibfahn Jan 10, 2017
36762da
test: fix temp-dir option in tools/test.py
gibfahn Jan 10, 2017
05fa225
readline: refactor construct Interface
JacksonTian Jan 18, 2016
672cd06
test: improve tests in pummel/test-exec
chasestarr Jan 12, 2017
0a4fb7f
test: no unused args test-fs-watch-file.js
istinson Jan 12, 2017
fad1e38
doc: remove duplicate properties bullet in readme
trendsetter37 Jan 11, 2017
94f1c10
lib: refactor bootstrap_node.js regular expression
Trott Jan 12, 2017
434fe0f
test: check error msg test-writeint.js
liirene1 Jan 12, 2017
d9684de
http: optimize short path validation
mscdex Jan 6, 2017
6add7f7
http: avoid duplicate isArray()
mscdex Jan 6, 2017
64c4e1e
http: misc ClientRequest cleanup
mscdex Jan 6, 2017
5380c48
benchmark: add ClientRequest creation benchmark
mscdex Jan 6, 2017
69523f6
test: add http.ClientRequest defaults test
mscdex Jan 6, 2017
178693d
benchmark: use "confidence" in output of compare.R
joyeecheung Jan 11, 2017
81b3e5d
benchmark: improve WHATWG URL benchmarks
joyeecheung Jan 10, 2017
d621f58
util: improve readability of normalizeEncoding
joyeecheung Dec 24, 2016
5b9bf12
test,repl: add coverage for repl .clear+useGlobal
Trott Jan 12, 2017
1436555
benchmark: cleanup child_process IPC benchmark
ypresto Dec 31, 2016
cdfa056
child_process: optimize IPC for large data
ypresto Dec 31, 2016
4436e83
test: skip test-icu-transcode if Intl is not present
watilde Jan 9, 2017
ced8d98
test: add http_incoming's matchKnownFields test
hiroppy Jan 14, 2017
5909c65
test: delete duplicate test of noAssert in readUInt*
larissayvette Jan 13, 2017
6ac4c03
test,util: remove lint workarounds
Trott Jan 13, 2017
dcb5cc7
test: improve test-fs-write-stream-throw-type
edsadr Jan 13, 2017
c15e9d9
test: increase test-crypto.js strictness
Trott Jan 13, 2017
2ca1810
test: improve the code in test-process-cpuUsage
edsadr Jan 12, 2017
bfc48d7
crypto,tls: fix mutability of return values
Trott Jan 13, 2017
b9698f1
build: don't squash signal handlers with --shared
Dec 30, 2016
62e92f4
lib: remove unnecessary parameter for assertCrypto()
JacksonTian Jan 16, 2017
4b1bd4e
build: move source files from headers section
danbev Jan 17, 2017
c55d83e
test: tests for _readableStream.awaitDrain
shmuga Jan 17, 2017
ce5078f
fs: remove unused parameter for encodeRealpathResult
JacksonTian Jan 18, 2017
26a0acd
test: add http-common's test
hiroppy Jan 16, 2017
ebf4ab7
doc: HTTP response getHeader doc fix
fhalde Jan 15, 2017
cc3a045
benchmark: add benchmark for vm.runIn*()
Trott Jan 15, 2017
0babd69
vm: improve performance of vm.runIn*()
Trott Jan 15, 2017
116a662
test: use common.hasIntl in tests related to ICU
watilde Jan 16, 2017
7212a2b
process: add NODE_NO_WARNINGS environment variable
cjihrig Jan 16, 2017
a49e081
test: have inspector test pick an open port
Jan 18, 2017
2f61084
test: simplify array initialization
Trott Jan 17, 2017
a239d53
url: improving URLSearchParams
TimothyGu Nov 24, 2016
2509a94
test: refactor test-repl-tab-complete
Trott Jan 18, 2017
09de33a
Revert "doc: correct vcbuild options for windows testing"
gibfahn Jan 16, 2017
4e2414c
test: add message verification on assert.throws
tmeisenh Jan 19, 2017
6e4341d
url: export URLSearchParams
TimothyGu Dec 21, 2016
10073a0
test: increase coverage of _http_outgoing
hiroppy Jan 15, 2017
104c771
test: improve test-fs-open-flags
vinimdocarmo Jan 20, 2017
71770b4
url: add return value to ToUnicode/ToAscii stubs
poiru Jan 19, 2017
fd6826f
test: don't connect to :: (use localhost instead)
gibfahn Jan 17, 2017
09f2831
test: fix flaky test-regress-GH-897
Trott Jan 19, 2017
af8163e
crypto: freelist_max_len is gone in OpenSSL 1.1.0
agl Jan 17, 2017
068947a
buffer: improve toJSON() performance
mscdex Jan 19, 2017
028bfc6
src: add a missing space in node_os.cc
aqrln Jan 21, 2017
bd5afe6
src: remove unnecessary req_wrap_obj
danbev Jan 21, 2017
e13bcdd
test: verify shell option internals
cjihrig Jan 20, 2017
bac662a
tools: add mdn link for Iterator
jasnell Jan 5, 2017
44d1431
doc: add basic documentation for WHATWG URL API
jasnell Jan 4, 2017
cccb638
test: check fd 0,1,2 are used, not access mode
jBarz Dec 16, 2016
b20912a
url: check forEach callback is a function
TimothyGu Jan 15, 2017
835ed8b
test: increase coverage for punycode's decode
hiroppy Jan 21, 2017
46b2583
test: improve test-assert
richnologies Jan 20, 2017
18f64c0
test: check error message in test-fs-make-callback
legalcodes Jan 20, 2017
51945ae
test: add dgram.Socket.prototype.sendto's test
hiroppy Jan 19, 2017
41dd5a6
crypto: do not use pointers to std::vector
AdamMajer Dec 21, 2016
9956612
crypto: Use system CAs instead of using bundled ones
AdamMajer Dec 21, 2016
0191907
inspector: remove unused uv_async_t
Dec 21, 2016
bbf6ed2
test, win: fix up symlink tests
digitalinfinity Dec 27, 2016
be4cfd3
test: increase usage of assert.ifError()
cjihrig Dec 30, 2016
4377716
test: reduce unmanaged parallelism in domain test
joyeecheung Dec 19, 2016
1a1564f
test: refactor the code in test-fs-watch.js
sivaprs Dec 21, 2016
f5c6d23
doc: DEFAULT_ECDH_CURVE was added in 0.11.13
sam-github Jan 24, 2017
61e6389
test: test hmac binding robustness
sam-github Jan 20, 2017
856abcd
benchmark,lib,test: adjust for linting
Trott Jan 1, 2017
6becdc2
tools: update ESLint to current version
Trott Jan 1, 2017
06fee41
tools: rename eslintrc to an undeprecated format
thefourtheye Jul 13, 2016
74e3eff
test: refactor test-stream-transform-object
Trott Jan 3, 2017
15a2e12
test: refactor test-stream2-readable-wrap.js
DavidGoussev Dec 31, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ test/disabled
test/tmp*/
tools/eslint
node_modules
benchmark/tmp/
9 changes: 6 additions & 3 deletions .eslintrc → .eslintrc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,11 @@ rules:
eol-last: 2
func-call-spacing: 2
func-name-matching: 2
indent: [2, 2, {SwitchCase: 1, MemberExpression: 1}]
indent: [2, 2, {ArrayExpression: first,
CallExpression: {arguments: first},
MemberExpression: 1,
ObjectExpression: first,
SwitchCase: 1}]
key-spacing: [2, {mode: minimum}]
keyword-spacing: 2
linebreak-style: [2, unix]
Expand Down Expand Up @@ -120,12 +124,11 @@ rules:
template-curly-spacing: 2

# Custom rules in tools/eslint-rules
align-function-arguments: 2
align-multiline-assignment: 2
assert-fail-single-argument: 2
assert-throws-arguments: [2, { requireTwo: false }]
new-with-error: [2, Error, RangeError, TypeError, SyntaxError, ReferenceError]
no-useless-regex-char-class-escape: [2, { override: ['[', ']'] }]
timer-arguments: 2

# Global scoped method and vars
globals:
Expand Down
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -935,7 +935,7 @@ Felix Becker <felix.b@outlook.com>
Igor Klopov <igor@klopov.com>
Tsarevich Dmitry <dimhotepus@users.noreply.github.com>
Ojas Shirekar <ojas.shirekar@gmail.com>
Noah Rose <noahroseledesma@seattleacademy.org>
Noah Rose Ledesma <noahroseledesma@seattleacademy.org>
Rafael Cepeda <rcepeda1993@gmail.com>
Chinedu Francis Nwafili <frankie.nwafili@gmail.com>
Braydon Fuller <braydon@bitpay.com>
Expand Down
3 changes: 2 additions & 1 deletion BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ Prerequisites:
* One of:
* [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)
* [Visual Studio 2015 Update 3](https://www.visualstudio.com/), all editions
including the Community edition.
including the Community edition (remember to select
"Common Tools for Visual C++ 2015" feature during installation).
* Basic Unix tools required for some tests,
[Git for Windows](http://git-scm.com/download/win) includes Git Bash
and tools which can be included in the global `PATH`.
Expand Down
18 changes: 7 additions & 11 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ information regarding the change process:
for an issue, and/or the hash and commit message if the commit fixes
a bug in a previous commit. Multiple `Fixes:` lines may be added if
appropriate.
- A `Refs:` line referencing a URL for any relevant background.
- A `Reviewed-By: Name <email>` line for yourself and any
other Collaborators who have reviewed the change.
- Useful for @mentions / contact list if something goes wrong in the PR.
Expand Down Expand Up @@ -318,9 +319,8 @@ CTC for further discussion.

#### How are LTS Branches Managed?

There are currently three LTS branches: `v4.x`, `v0.10`, and `v0.12`. Each
of these is paired with a "staging" branch: `v4.x-staging`, `v0.10-staging`,
and `v0.12-staging`.
There are currently two LTS branches: `v6.x` and `v4.x`. Each of these is paired
with a "staging" branch: `v6.x-staging` and `v4.x-staging`.

As commits land in `master`, they are cherry-picked back to each staging
branch as appropriate. If the commit applies only to the LTS branch, the
Expand All @@ -341,18 +341,14 @@ please feel free to include that information in the PR thread.

Several LTS related issue and PR labels have been provided:

* `lts-watch-v6.x` - tells the LTS WG that the issue/PR needs to be considered
for landing in the `v6.x-staging` branch.
* `lts-watch-v4.x` - tells the LTS WG that the issue/PR needs to be considered
for landing in the `v4.x-staging` branch.
* `lts-watch-v0.10` - tells the LTS WG that the issue/PR needs to be considered
for landing in the `v0.10-staging` branch.
* `lts-watch-v0.12` - tells the LTS WG that the issue/PR needs to be considered
for landing in the `v0.12-staging` branch.
* `land-on-v6.x` - tells the release team that the commit should be landed
in a future v6.x release
* `land-on-v4.x` - tells the release team that the commit should be landed
in a future v4.x release
* `land-on-v0.10` - tells the release team that the commit should be landed
in a future v0.10 release
* `land-on-v0.12` - tells the release team that the commit should be landed
in a future v0.12 release

Any collaborator can attach these labels to any PR/issue. As commits are
landed into the staging branches, the `lts-watch-` label will be removed.
Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,13 @@ Check the output of `git log --oneline files_that_you_changed` to find out
what subsystem (or subsystems) your changes touch.

If your patch fixes an open issue, you can add a reference to it at the end
of the log. Use the `Fixes:` prefix and the full issue URL. For example:
of the log. Use the `Fixes:` prefix and the full issue URL. For other references
use `Refs:`. For example:

```txt
Fixes: https://github.com/nodejs/node/issues/1337
Refs: http://eslint.org/docs/rules/space-in-parens.html
Refs: https://github.com/nodejs/node/pull/3615
```

### Step 4: Rebase
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,8 @@ more information about the governance of the Node.js project, see
**Julien Gilli** &lt;jgilli@nodejs.org&gt;
* [mscdex](https://github.com/mscdex) -
**Brian White** &lt;mscdex@mscdex.net&gt;
* [MylesBorins](https://github.com/MylesBorins) -
**Myles Borins** &lt;myles.borins@gmail.com&gt;
* [ofrobots](https://github.com/ofrobots) -
**Ali Ijaz Sheikh** &lt;ofrobots@google.com&gt;
* [rvagg](https://github.com/rvagg) -
Expand All @@ -186,8 +188,6 @@ more information about the governance of the Node.js project, see
**Shigeki Ohtsu** &lt;ohtsu@iij.ad.jp&gt;
* [targos](https://github.com/targos) -
**Michaël Zasso** &lt;targos@protonmail.com&gt;
* [TheAlphaNerd](https://github.com/TheAlphaNerd) -
**Myles Borins** &lt;myles.borins@gmail.com&gt;
* [thefourtheye](https://github.com/thefourtheye) -
**Sakthipriyan Vairamani** &lt;thechargingvolcano@gmail.com&gt;
* [trevnorris](https://github.com/trevnorris) -
Expand Down Expand Up @@ -219,6 +219,8 @@ more information about the governance of the Node.js project, see
**Claudio Rodriguez** &lt;cjrodr@yahoo.com&gt;
* [danbev](https://github.com/danbev) -
**Daniel Bevenius** &lt;daniel.bevenius@gmail.com&gt;
* [edsadr](https://github.com/edsadr) -
**Adrian Estrada** &lt;edsadr@gmail.com&gt;
* [eljefedelrodeodeljefe](https://github.com/eljefedelrodeodeljefe) -
**Robert Jefe Lindstaedt** &lt;robert.lindstaedt@gmail.com&gt;
* [estliberitas](https://github.com/estliberitas) -
Expand Down Expand Up @@ -327,6 +329,8 @@ more information about the governance of the Node.js project, see
**Glen Keane** &lt;glenkeane.94@gmail.com&gt;
* [thlorenz](https://github.com/thlorenz) -
**Thorsten Lorenz** &lt;thlorenz@gmx.de&gt;
* [TimothyGu](https://github.com/TimothyGu) -
**Timothy Gu** &lt;timothygu99@gmail.com&gt;
* [tunniclm](https://github.com/tunniclm) -
**Mike Tunnicliffe** &lt;m.j.tunnicliffe@gmail.com&gt;
* [vkurchatkin](https://github.com/vkurchatkin) -
Expand Down
16 changes: 0 additions & 16 deletions WORKING_GROUPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ Top Level Working Group](https://github.com/nodejs/TSC/blob/master/WORKING_GROUP
* [Benchmarking](#benchmarking)
* [Post-mortem](#post-mortem)
* [Intl](#intl)
* [HTTP](#http)
* [Documentation](#documentation)
* [Testing](#testing)

Expand Down Expand Up @@ -189,21 +188,6 @@ Responsibilities include:
* Publishing regular update summaries and other promotional
content.

### [HTTP](https://github.com/nodejs/http)

The HTTP Working Group is chartered for the support and improvement of the
HTTP implementation in Node.js.

Responsibilities include:
* Addressing HTTP issues on the Node.js issue tracker.
* Authoring and editing HTTP documentation within the Node.js project.
* Reviewing changes to HTTP functionality within the Node.js project.
* Working with the ecosystem of HTTP related module developers to evolve the
HTTP implementation and APIs in core.
* Advising the CTC on all HTTP related issues and discussions.
* Messaging about the future of HTTP to give the community advance notice of
changes.

### [Docker](https://github.com/nodejs/docker-iojs)

The Docker Working Group's purpose is to build, maintain, and improve official
Expand Down
8 changes: 4 additions & 4 deletions benchmark/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ For analysing the benchmark results use the `compare.R` tool.
```console
$ cat compare-pr-5134.csv | Rscript benchmark/compare.R

improvement significant p.value
improvement confidence p.value
string_decoder/string-decoder.js n=250000 chunk=1024 inlen=1024 encoding=ascii 12.46 % *** 1.165345e-04
string_decoder/string-decoder.js n=250000 chunk=1024 inlen=1024 encoding=base64-ascii 24.70 % *** 1.820615e-15
string_decoder/string-decoder.js n=250000 chunk=1024 inlen=1024 encoding=base64-utf8 23.60 % *** 2.105625e-12
Expand All @@ -171,7 +171,7 @@ string_decoder/string-decoder.js n=250000 chunk=1024 inlen=128 encoding=ascii
```

In the output, _improvement_ is the relative improvement of the new version,
hopefully this is positive. _significant_ tells if there is enough
hopefully this is positive. _confidence_ tells if there is enough
statistical evidence to validate the _improvement_. If there is enough evidence
then there will be at least one star (`*`), more stars is just better. **However
if there are no stars, then you shouldn't make any conclusions based on the
Expand All @@ -189,7 +189,7 @@ may require more runs to obtain (can be set with `--runs`).

_For the statistically minded, the R script performs an [independent/unpaired
2-group t-test][t-test], with the null hypothesis that the performance is the
same for both versions. The significant field will show a star if the p-value
same for both versions. The confidence field will show a star if the p-value
is less than `0.05`._

The `compare.R` tool can also produce a box plot by using the `--plot filename`
Expand All @@ -202,7 +202,7 @@ keep the first line since that contains the header information.
```console
$ cat compare-pr-5134.csv | sed '1p;/encoding=ascii/!d' | Rscript benchmark/compare.R --plot compare-plot.png

improvement significant p.value
improvement confidence p.value
string_decoder/string-decoder.js n=250000 chunk=1024 inlen=1024 encoding=ascii 12.46 % *** 1.165345e-04
string_decoder/string-decoder.js n=250000 chunk=1024 inlen=128 encoding=ascii 6.70 % * 2.928003e-02
string_decoder/string-decoder.js n=250000 chunk=1024 inlen=32 encoding=ascii 7.47 % *** 5.780583e-04
Expand Down
18 changes: 18 additions & 0 deletions benchmark/buffers/buffer-tojson.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
'use strict';

const common = require('../common.js');

const bench = common.createBenchmark(main, {
n: [1e4],
len: [0, 10, 256, 4 * 1024]
});

function main(conf) {
var n = +conf.n;
var buf = Buffer.allocUnsafe(+conf.len);

bench.start();
for (var i = 0; i < n; ++i)
buf.toJSON();
bench.end(n);
}
21 changes: 13 additions & 8 deletions benchmark/child_process/child-process-read-ipc.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
'use strict';
if (process.argv[2] === 'child') {
const len = +process.argv[3];
const msg = `"${'.'.repeat(len)}"`;
while (true) {
process.send(msg);
}
const msg = '.'.repeat(len);
const send = () => {
while (process.send(msg));
// Wait: backlog of unsent messages exceeds threshold
setImmediate(send);
};
send();
} else {
const common = require('../common.js');
const bench = common.createBenchmark(main, {
len: [64, 256, 1024, 4096, 32768],
len: [
64, 256, 1024, 4096, 16384, 65536,
65536 << 4, 65536 << 8
],
dur: [5]
});
const spawn = require('child_process').spawn;
Expand All @@ -18,7 +24,7 @@ if (process.argv[2] === 'child') {
const dur = +conf.dur;
const len = +conf.len;

const options = { 'stdio': ['ignore', 'ignore', 'ignore', 'ipc'] };
const options = { 'stdio': ['ignore', 1, 2, 'ipc'] };
const child = spawn(process.argv[0],
[process.argv[1], 'child', len], options);

Expand All @@ -29,8 +35,7 @@ if (process.argv[2] === 'child') {

setTimeout(function() {
child.kill();
const gbits = (bytes * 8) / (1024 * 1024 * 1024);
bench.end(gbits);
bench.end(bytes);
}, dur * 1000);
}
}
5 changes: 3 additions & 2 deletions benchmark/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,9 @@ function formatResult(data) {
conf += ' ' + key + '=' + JSON.stringify(data.conf[key]);
}

const rate = Math.floor(data.rate)
.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
var rate = data.rate.toString().split('.');
rate[0] = rate[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
rate = (rate[1] ? rate.join('.') : rate[0]);
return `${data.name}${conf}: ${rate}`;
}

Expand Down
12 changes: 6 additions & 6 deletions benchmark/compare.R
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ statistics = ddply(dat, "name", function(subdat) {
improvement = sprintf("%.2f %%", ((new.mu - old.mu) / old.mu * 100));

p.value = NA;
significant = 'NA';
confidence = 'NA';
# Check if there is enough data to calulate the calculate the p-value
if (length(old.rate) > 1 && length(new.rate) > 1) {
# Perform a statistics test to see of there actually is a difference in
Expand All @@ -56,19 +56,19 @@ statistics = ddply(dat, "name", function(subdat) {

# Add user friendly stars to the table. There should be at least one star
# before you can say that there is an improvement.
significant = '';
confidence = '';
if (p.value < 0.001) {
significant = '***';
confidence = '***';
} else if (p.value < 0.01) {
significant = '**';
confidence = '**';
} else if (p.value < 0.05) {
significant = '*';
confidence = '*';
}
}

r = list(
improvement = improvement,
significant = significant,
confidence = confidence,
p.value = p.value
);
return(data.frame(r));
Expand Down
23 changes: 23 additions & 0 deletions benchmark/http/create-clientrequest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
'use strict';

var common = require('../common.js');
var ClientRequest = require('http').ClientRequest;

var bench = common.createBenchmark(main, {
pathlen: [1, 8, 16, 32, 64, 128],
n: [1e6]
});

function main(conf) {
var pathlen = +conf.pathlen;
var n = +conf.n;

var path = '/'.repeat(pathlen);
var opts = { path: path, createConnection: function() {} };

bench.start();
for (var i = 0; i < n; i++) {
new ClientRequest(opts);
}
bench.end(n);
}
File renamed without changes.
20 changes: 10 additions & 10 deletions benchmark/net/net-c2s.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,17 @@ Writer.prototype.emit = function() {};
Writer.prototype.prependListener = function() {};


function flow() {
var dest = this.dest;
var res = dest.write(chunk, encoding);
if (!res)
dest.once('drain', this.flow);
else
process.nextTick(this.flow);
}

function Reader() {
this.flow = this.flow.bind(this);
this.flow = flow.bind(this);
this.readable = true;
}

Expand All @@ -76,15 +85,6 @@ Reader.prototype.pipe = function(dest) {
return dest;
};

Reader.prototype.flow = function() {
var dest = this.dest;
var res = dest.write(chunk, encoding);
if (!res)
dest.once('drain', this.flow);
else
process.nextTick(this.flow);
};


function server() {
var reader = new Reader();
Expand Down
Loading