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

v7.x-staging update proposal #10886

Closed
wants to merge 155 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
f127e0c
lib,src: support values > 4GB in heap statistics
bnoordhuis Dec 8, 2016
d05ddc3
doc: modernize child_process example code
vsemozhetbyt Dec 3, 2016
455c442
test: refactor test-https-truncate
Trott Dec 11, 2016
20443d9
test: reduce unmanaged parallelism in domain test
joyeecheung Dec 19, 2016
b8720a0
test: refactor the code in test-fs-watch.js
sivaprs Dec 21, 2016
1262f70
async_wrap: close the destroy_ids_idle_handle_
reshnm Dec 21, 2016
6e3daf4
inspector: remove unused uv_async_t
Dec 21, 2016
b7cf821
doc: clarify information about ABI version
Trott Dec 23, 2016
8c914ca
test, win: fix up symlink tests
digitalinfinity Dec 27, 2016
f3a466a
test: increase usage of assert.ifError()
cjihrig Dec 30, 2016
10abc52
test: use const for all require() calls
cjihrig Dec 30, 2016
59b66ea
test: refactor test-stream2-readable-wrap.js
DavidGoussev Dec 31, 2016
264c935
test: refactor test-timer-close
BethGriggs Dec 29, 2016
e0dce5d
test: improve the code in test-fs-read-stream
edsadr Jan 3, 2017
240555c
test: refactor several parallel/test-timer tests
BethGriggs Dec 29, 2016
f7777b7
test: fix Coverity warning in inspector test
Dec 28, 2016
a5d1e30
url: TupleOrigin#toString use unicode by default
joyeecheung Dec 31, 2016
86ca2e5
doc: update TheAlphaNerd to MylesBorins
MylesBorins Jan 3, 2017
4edd3c2
assert: update comments
kaicataldo Jan 2, 2017
74740b2
util: avoid out-of-bounds arguments index access
not-an-aardvark Jan 2, 2017
76e9fe3
benchmark: move punycode benchmark out of net
mscdex Dec 25, 2016
91c59a6
benchmark: improve readability of net benchmarks
mscdex Dec 25, 2016
0466b59
benchmark: keep decimals in results
mscdex Jan 1, 2017
053fbb2
events: improve removeListener() performance
mscdex Jan 2, 2017
a13b1bc
stream: avoid additional validation for Buffers
mscdex Jan 2, 2017
9f3a43a
test: refactor test-beforeexit-event-exit.js
cjihrig Jan 2, 2017
ec702b8
test: improve test-fs-null-bytes
edsadr Dec 30, 2016
7e28c9f
test: fix process.title expectation
thefourtheye Jan 3, 2017
8923b2f
test: mark test-tty-wrap as flaky for AIX
mhdawson Jan 4, 2017
91e96ab
events: avoid emit() eager deopt
vhf Jan 2, 2017
712d305
benchmark: fix typo "categoty" -> "category"
vhf Jan 2, 2017
aa48bbf
test: refactor beforeExit tests
Trott Jan 3, 2017
38396b3
doc: mention cc-ing nodejs/python team for reviews
addaleax Jan 5, 2017
7c77852
url: change null password handling
jasnell Jan 4, 2017
0646366
url: do not decode arbitrary %2e sequences in paths
jasnell Jan 4, 2017
3bd16b0
meta: decharter the http working group
jasnell Jan 4, 2017
ef4c9ce
test: refactor test-stream-transform-object
Trott Jan 3, 2017
649af4c
test: improve test-fs-access
edsadr Jan 3, 2017
2b5e531
test: check error and cleanups in test-fs-read-buffer
addaleax Jan 4, 2017
9721ddf
doc: new TLSSocket has no secure context options
sam-github Dec 30, 2016
be1385b
test: refactor the code in test-util-debug.js
sivaprs Dec 30, 2016
1aa359e
doc: killSignal option accepts integer values
thefourtheye Dec 23, 2016
ac82dbc
http: eliminate capture of ClientRequest in Agent
evantorrie Dec 5, 2016
7032f81
test: improve test-event-emitter-modify-in-emit
edsadr Jan 6, 2017
9e4d439
test: s/assert.notEqual()/assert.notStrictEqual()/
cjihrig Dec 30, 2016
e9fd084
src: reduce test_inspector_socket_server output
danbev Dec 28, 2016
07b0359
deps: add test for v8 bug in toUpper('ç')
srl295 Nov 28, 2016
a6c4a2e
benchmark,lib,test: adjust for linting
Trott Jan 1, 2017
fa0fdaa
tools: update ESLint to current version
Trott Jan 1, 2017
ac61513
tools: remove custom align-function-arguments rule
Trott Jan 1, 2017
4ea3308
tools: remove no-useless-regex-char-class-escape
Trott Jan 1, 2017
21a929e
test: provide duration/interval to timers
Trott Nov 4, 2016
8501a75
tools: add lint rule to enforce timer arguments
Trott Nov 4, 2016
4990feb
test: refactor test-fs-utimes
jun-oka Oct 26, 2016
26e6233
test: improve test-fs-readfile-zero-byte-liar
edsadr Jan 2, 2017
8665afc
test: improve test-http-chunked-304
edsadr Jan 7, 2017
a7e57d6
test: improve test-fs-write-file-sync
edsadr Jan 7, 2017
752db2a
test: improve code in test-https-strict
edsadr Jan 6, 2017
958319e
url: allow use of URL with http.request and https.request
jasnell Jan 5, 2017
5162337
test: allow testing uid and gid separately
cjihrig Jan 5, 2017
e83d626
test: refactor the code in test-child-process-spawn-loop.js
sivaprs Jan 4, 2017
37bdf59
test: improve zlib-from-gzip-with-trailing-garbage
lfkwtz Jan 7, 2017
9a228d8
test,cluster: add test-cluster-worker-deprecated
Trott Jan 7, 2017
b7ad52c
http: define all used properties in constructors
vitkarpov Oct 16, 2016
d930716
test: refactor test-watch-file.js
sivaprs Jan 7, 2017
eff0ef2
doc: document use of Refs: for references
gibfahn Jan 6, 2017
172c19f
doc: update BUILDING.md
lukaszgasior Jan 6, 2017
34fe56a
test: improve the code in test-process-hrtime
edsadr Jan 8, 2017
19e1220
doc: specify sorted requires in tests
sam-github Jan 9, 2017
4019398
test: improve test-crypto-rsa-dsa
edsadr Jan 9, 2017
71ac1c9
test: refactor test-doctool-html.js
hiroppy Jan 8, 2017
6a6e9f1
test: fix misplaced ) in http response statuscode test
nfriedly Jan 8, 2017
6eb78e4
test: validate 'expected' argument to mustCall()
nfriedly Oct 11, 2016
2e64542
doc: correct vcbuild options for windows testing
jboarman Dec 4, 2016
99326a9
doc: update LTS info for current releases
evanlucas Jan 10, 2017
10a978f
lib: refactor crypto cipher/hash/curve getters
Trott Jan 8, 2017
8b50ba4
test: refactor the code of test-keep-alive.js
sivaprs Jan 8, 2017
19806da
doc: "s/git apply/git am -3" in V8 guide
MylesBorins Jan 6, 2017
f9d797a
test: refactor test-crypto-padding-aes256
radelmann Jan 5, 2017
a09cb27
doc: fix missing negation in stream.md
jrieken Jan 9, 2017
a578ecf
doc: add test naming information to guide
Trott Jan 3, 2017
f4e4a43
test: refactor cluster-preload.js
hiroppy Jan 9, 2017
6add91d
https: Use secureProtocol in Agent#getName
papandreou Nov 2, 2016
14dd85a
test: use eslint to fix var->const/let
gibfahn Jan 8, 2017
5159f6c
assert, tools: enforce strict (not)equal in eslint
gibfahn Jan 8, 2017
0700468
doc: handle backpressure when write() return false
mcollina Jan 5, 2017
5576f8a
doc: sort require statements in tests
sam-github Jan 4, 2017
23f85ab
doc: mention cc-ing nodejs/url team for reviews
addaleax Jan 6, 2017
5e019ca
test: add test for noAssert option in buf.read*()
larissayvette Jan 5, 2017
0a548dc
doc: fix misleading language in vm docs
aqrln Jan 9, 2017
beedd45
doc: edit writing-tests.md
Trott Jan 3, 2017
dd71bf8
src: enable writev for pipe handles on Unix
aqrln Jan 7, 2017
2199033
test: move resource intensive test to sequential
Trott Jan 11, 2017
3ad4a7b
deps: upgrade libuv to 1.10.2
cjihrig Jan 9, 2017
c5ee4ba
benchmark: don't lint autogenerated modules
mscdex Jan 12, 2017
3d7d422
doc: update writable.write return value
binki Jan 3, 2017
2be1fdc
test: move common tls connect setup into fixtures
sam-github Dec 17, 2016
b77b1bb
test: check tls server verification with addCACert
sam-github Dec 20, 2016
243944e
doc: use correct tls certificate property name
sam-github Dec 20, 2016
5fc722b
test: tls cert chain completion scenarios
sam-github Dec 20, 2016
f119220
doc,test: tls .ca option supports multi-PEM files
sam-github Dec 21, 2016
9eb6d6b
eslint: remove dangling eslint symlink
sam-github Jan 12, 2017
f7f2bfc
test: fix linting for test-tls-add-ca-cert.js
sam-github Jan 12, 2017
76cd2b9
test: use realpath for NODE_TEST_DIR in common.js
gibfahn Jan 10, 2017
c4d3625
test: fix temp-dir option in tools/test.py
gibfahn Jan 10, 2017
b987cae
readline: refactor construct Interface
JacksonTian Jan 18, 2016
5ef5147
test: improve tests in pummel/test-exec
chasestarr Jan 12, 2017
a38db9c
test: no unused args test-fs-watch-file.js
istinson Jan 12, 2017
3797401
doc: remove duplicate properties bullet in readme
trendsetter37 Jan 11, 2017
853fd7a
lib: refactor bootstrap_node.js regular expression
Trott Jan 12, 2017
02fa0b3
test: check error msg test-writeint.js
liirene1 Jan 12, 2017
7d45581
http: optimize short path validation
mscdex Jan 6, 2017
072e53b
http: avoid duplicate isArray()
mscdex Jan 6, 2017
1d9c89a
http: misc ClientRequest cleanup
mscdex Jan 6, 2017
43ffc9a
benchmark: add ClientRequest creation benchmark
mscdex Jan 6, 2017
5713e74
test: add http.ClientRequest defaults test
mscdex Jan 6, 2017
a8dbdae
benchmark: use "confidence" in output of compare.R
joyeecheung Jan 11, 2017
d1edb2a
fs: ensure readFile[Sync] reads from the beginning
seishun Jan 14, 2017
f3330d2
benchmark: improve WHATWG URL benchmarks
joyeecheung Jan 10, 2017
53683e0
util: improve readability of normalizeEncoding
joyeecheung Dec 24, 2016
ef27753
test,repl: add coverage for repl .clear+useGlobal
Trott Jan 12, 2017
fea95d7
benchmark: cleanup child_process IPC benchmark
ypresto Dec 31, 2016
b831d9a
child_process: optimize IPC for large data
ypresto Dec 31, 2016
ddb1358
doc: fix broken internal link in process.md
addaleax Jan 16, 2017
c9f99e2
test: skip test-icu-transcode if Intl is not present
watilde Jan 9, 2017
4986ab0
test: add http_incoming's matchKnownFields test
hiroppy Jan 14, 2017
e4b58a5
test: add test case to test-http-response-statuscode.js
hiroppy Jan 14, 2017
05652b0
test: delete duplicate test of noAssert in readUInt*
larissayvette Jan 13, 2017
94450d3
test,util: remove lint workarounds
Trott Jan 13, 2017
393dd5f
test: improve test-fs-write-stream-throw-type
edsadr Jan 13, 2017
390eb84
test: refactor test-cli-eval.js
StarryShark Jan 12, 2017
3735682
doc: clarify memory sharing behavior of buffer ctor
zbjornson Jan 13, 2017
797e1d9
test: increase test-crypto.js strictness
Trott Jan 13, 2017
0df3b4b
test: improve the code in test-process-cpuUsage
edsadr Jan 12, 2017
c98789a
crypto,tls: fix mutability of return values
Trott Jan 13, 2017
4f400a0
test: improve code in test-domain-multi
edsadr Jan 15, 2017
e8ee2af
build: don't squash signal handlers with --shared
Dec 30, 2016
675a292
test: improve code in test-console-instance
edsadr Jan 17, 2017
d24dc56
test: improving coverage for dgram
hiroppy Jan 13, 2017
33e7efb
lib: remove unnecessary parameter for assertCrypto()
JacksonTian Jan 16, 2017
a1601cc
doc: add missing `added:` tag for `zlib.constants`
addaleax Jan 13, 2017
c6e8129
doc: fixup `added` tags in cli.md
addaleax Jan 13, 2017
ff70a55
build: move source files from headers section
danbev Jan 17, 2017
6bc3ce4
doc: remove duplicate PR link from changelog
addaleax Jan 13, 2017
86cb2f5
doc: fix markdown escaping in CHANGELOG_V7.md
addaleax Jan 13, 2017
4aa07cb
doc: add links for zlib convenience methods
addaleax Jan 16, 2017
ce443a6
test: tests for _readableStream.awaitDrain
shmuga Jan 17, 2017
66df57c
fs: remove unused parameter for encodeRealpathResult
JacksonTian Jan 18, 2017
54d52aa
test: improving coverage of dns-lookup
hiroppy Jan 17, 2017
ed2f461
test: add http-common's test
hiroppy Jan 16, 2017
714e04b
doc: HTTP response getHeader doc fix
fhalde Jan 15, 2017
b1e2dc7
benchmark: add benchmark for vm.runIn*()
Trott Jan 15, 2017
cdae2f6
vm: improve performance of vm.runIn*()
Trott Jan 15, 2017
788ae24
doc: clarifying variables in fs.write()
jalafel Nov 24, 2016
d6af213
doc: add edsadr to collaborators
edsadr Jan 18, 2017
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/
35 changes: 21 additions & 14 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,21 @@ rules:
no-new-require: 2
no-path-concat: 2
no-restricted-modules: [2, sys, _linklist]
no-restricted-properties: [2, {
object: assert,
property: deepEqual,
message: Please use assert.deepStrictEqual().
}, {
property: __defineGetter__,
message: __defineGetter__ is deprecated.
}, {
property: __defineSetter__,
message: __defineSetter__ is deprecated.
}]
no-restricted-properties:
- 2
- object: assert
property: deepEqual
message: Use assert.deepStrictEqual().
- object: assert
property: equal
message: Use assert.strictEqual() rather than assert.equal().
- object: assert
property: notEqual
message: Use assert.notStrictEqual() rather than assert.notEqual().
- property: __defineGetter__
message: __defineGetter__ is deprecated.
- property: __defineSetter__,
message: __defineSetter__ is deprecated.

# Stylistic Issues
# http://eslint.org/docs/rules/#stylistic-issues
Expand All @@ -84,7 +88,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 +128,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
11 changes: 6 additions & 5 deletions 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 All @@ -121,7 +122,7 @@ Prerequisites:
To run the tests:

```console
> .\vcbuild test
> .\vcbuild nosign test
```

To test if Node.js was built correctly:
Expand Down Expand Up @@ -179,7 +180,7 @@ $ ./configure --with-intl=full-icu --download=all
##### Windows:

```console
> .\vcbuild full-icu download-all
> .\vcbuild nosign full-icu download-all
```

#### Building without Intl support
Expand All @@ -196,7 +197,7 @@ $ ./configure --without-intl
##### Windows:

```console
> .\vcbuild without-intl
> .\vcbuild nosign without-intl
```

#### Use existing installed ICU (Unix / OS X only):
Expand Down Expand Up @@ -239,7 +240,7 @@ First unpack latest ICU to `deps/icu`
as `deps/icu` (You'll have: `deps/icu/source/...`)

```console
> .\vcbuild full-icu
> .\vcbuild nosign full-icu
```

## Building Node.js with FIPS-compliant OpenSSL
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
11 changes: 7 additions & 4 deletions 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 Expand Up @@ -167,19 +170,19 @@ $ ./configure && make -j4 test
Windows:

```text
> vcbuild test
.\vcbuild nosign test
```

(See the [BUILDING.md](./BUILDING.md) for more details.)

Make sure the linter is happy and that all tests pass. Please, do not submit
patches that fail either check.

Running `make test`/`vcbuild test` will run the linter as well unless one or
Running `make test`/`.\vcbuild nosign test` will run the linter as well unless one or
more tests fail.

If you want to run the linter without running tests, use
`make lint`/`vcbuild jslint`.
`make lint`/`.\vcbuild nosign jslint`.

If you are updating tests and just want to run a single test to check it, you
can use this syntax to run it exactly as the test harness would:
Expand Down
6 changes: 4 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
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
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.
Loading