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

v4.8.0 proposal #10973

Merged
merged 124 commits into from
Feb 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
cfa2b87
test,lib,benchmark: match function names
Trott Oct 15, 2016
81e9a3b
deps: V8: fix debug backtrace for symbols
ofrobots Jan 11, 2017
8bd3d83
deps: backport d800a65 from V8 upstream
MylesBorins Jun 20, 2016
ce66c8e
deps: backport 7a88ff3 from V8 upstream
MylesBorins Jun 22, 2016
a234d44
deps: backport a715957 from V8 upstream
MylesBorins Jun 29, 2016
4e07bd4
deps: update patch level in V8
MylesBorins Jan 12, 2017
30d60cf
v8,src: expose statistics about heap spaces
bripkens Dec 29, 2015
5824522
child_process: add shell option to spawn()
cjihrig Jan 8, 2016
2269d7d
fs: add the fs.mkdtemp() function.
ralt Feb 24, 2016
23a573f
process: add `process.memoryUsage.external`
indutny Nov 12, 2016
4f5f0e4
test: refactor test-net-keepalive.js
kmccmk9 Dec 1, 2016
210290d
test: check for error on invalid signal
mattcphillips Dec 1, 2016
b5e18f2
tools: add macosx-firwall script to avoid popups
danbev Dec 3, 2016
f12bab6
test: stream readableListening internal state
italoacasas Dec 1, 2016
278d718
test: refactor test-handle-wrap-close-abort
Trott Dec 9, 2016
7a9c8d8
process: add process.cpuUsage() - implementation, doc, tests
Apr 5, 2016
e750f14
tls, crypto: add ALPN Support
Apr 23, 2015
ef547f3
tls,crypto: move NPN protcol data to hidden value
Oct 26, 2015
7ca31e3
test: fix alpn tests for openssl1.0.2h
May 3, 2016
a67ada7
tls: copy the Buffer object before using
thefourtheye Aug 10, 2016
4cf7dcf
crypto: remove unnecessary variables of alpn/npn
shigeki Jan 16, 2017
121b68a
test: refactor http pipelined socket test
Trott Dec 9, 2016
827bbe7
test: refactor assert.equal, update syntax to ES6
Dec 1, 2016
9c9d422
test: refactor test-http-after-connect.js
larissayvette Dec 11, 2016
730c3b2
test: refactor test-fs-fsync
radelmann Dec 7, 2016
2f44d7f
test: refactor test-crypto-random
Trott Dec 12, 2016
fc67a95
test: use const/let and common.mustCall
outsideris Dec 1, 2016
0f8a323
test: cleanup test-stdout-close-catch.js
furnox Dec 1, 2016
5335b0a
test: refactor test-tls-ecdh-disable
Dec 1, 2016
fa11f4b
win,msi: add required UIRef for localized strings
billti Oct 1, 2016
90a79b3
test: refactor test-timers-this
Trott Dec 17, 2016
c4df02c
doc: add Michaël Zasso to the CTC
targos Dec 21, 2016
34861ef
test: add test-require-invalid-package
Dec 21, 2016
3b67001
test: refactor test-net-reconnect-error
Dec 21, 2016
f301df4
test: use strictEqual in test-cwd-enoent-repl.js
nitsnwits Dec 1, 2016
4514fd7
test: refactor the code in test-http-keep-alive
edsadr Dec 21, 2016
b87ee26
test: change assert.strict to assert.strictEqual()
ashita92 Dec 1, 2016
76bb3cb
test: refactor test-stream2-writable
Trott Dec 20, 2016
7d61bbf
test: refactor test-stdin-script-child
emanuelbuholzer Dec 18, 2016
d5e911c
test: refactoring test-cluster-worker-constructor
crokita Dec 1, 2016
122917d
test: change var declarations, add mustCall check
Dec 1, 2016
3b252a6
doc: clarify macosx-firewall suggestion BUILDING
chasestarr Dec 17, 2016
dda777b
doc: consistent 'Returns:' part two
MylesBorins Dec 21, 2016
fb9a0ad
test: refactor test-child-process-stdin
navulirs Dec 23, 2016
ab3e4c6
test: improve test-cluster-net-listen.js
Dec 1, 2016
19b314e
test: update test-tls-check-server-identity.js
koxauvin Dec 1, 2016
6db76da
test: refactor test-cluster-send-handle-twice.js
amarzavery Dec 1, 2016
a983400
test: refactor test-tls-interleave
bchirgwin Dec 1, 2016
80f4a37
test: refactor test-pipe-file-to-http
Dec 1, 2016
dbfec29
test: fix and improve debug-break-on-uncaught
thefourtheye Dec 21, 2016
4efdbaf
test: refactor test-child-process-ipc
malenesok007 Dec 1, 2016
9840f50
test: improve code in test-vm-symbols
edsadr Dec 23, 2016
4bbd50e
test: improve code in test-fs-readfile-error
edsadr Dec 21, 2016
31aa877
test: improve the code in test-pipe.js
edsadr Dec 27, 2016
70ea38f
doc: var -> const / let in the console.md
vsemozhetbyt Dec 25, 2016
919e0cb
doc: more efficient example in the console.md
vsemozhetbyt Dec 25, 2016
424c861
test: refactor the code in test-fs-chmod
edsadr Dec 24, 2016
0e51cbb
doc: add Working Group dissolution text
williamkapke Nov 17, 2016
14e07c9
test: refactor test-stdin-from-file
radelmann Dec 19, 2016
380a5d5
test: fix flaky test-http-client-timeout-with-data
Trott Dec 23, 2016
2f8bc9a
test: s/ASSERT/assert/
cjihrig Dec 30, 2016
d3a7fb8
doc: redirect 'Start a Working Group' to TSC repo
williamkapke Nov 17, 2016
bf882fb
crypto: Use reference count to manage cert_store
AdamMajer Aug 30, 2016
d8b902f
debugger: call `this.resume()` after `this.run()`
lance Dec 2, 2016
544920f
test: stream readableState readingMore state
chmln Dec 1, 2016
13c6cec
test: fail for missing output files
addaleax Dec 6, 2016
928291c
test: refactor test-domain.js
sidthekidder Dec 9, 2016
14c28eb
test: update test-domain-uncaught-exception.js
amazingandyyy Dec 9, 2016
f412b1f
test: clean up domain-no-error-handler test
weyj4 Dec 15, 2016
3f29cbb
src: fix string format mistake for 32 bit node
posix4e Dec 1, 2016
271f578
stream, test: test _readableState.emittedReadable
joyeecheung Dec 13, 2016
135a7c9
test: stream readable needReadable state
joyeecheung Dec 12, 2016
fd195b4
test: stream readable resumeScheduled state
italoacasas Dec 16, 2016
5777c79
doc: clarify the review and landing process
joyeecheung Dec 9, 2016
4f168a4
doc: require() tries first core not native modules
vice Dec 18, 2016
eeb2d78
test: improve test-cluster-worker-constructor.js
edsadr Dec 21, 2016
8a26ba1
test: fix flaky test-https-timeout
Trott Dec 22, 2016
56b193a
test: improve code in test-vm-preserves-property
edsadr Dec 23, 2016
d260fb2
doc: use "Node.js" in V8 guide
Trott Dec 24, 2016
be62037
src: describe what NODE_MODULE_VERSION is for
sam-github Dec 22, 2016
0bb77f2
build: add (not) cross-compiled configure flags
piranna Dec 26, 2016
7505b86
os: fix os.release() for aix and add test
jBarz Dec 13, 2016
7020e9f
test: add test for SIGWINCH handling by stdio.js
sarahmeyer Dec 1, 2016
a9cd1d1
test: refactor test-stream2-unpipe-drain
storytimesolutions Dec 1, 2016
78010aa
build: add /opt/freeware/... to AIX library path
Dec 13, 2016
b74bc51
test: use strictEqual in test-http-server
ftatieze Dec 28, 2016
08e924e
doc: require two-factor authentication
Trott Dec 30, 2016
52edebc
test: improve test-fs-empty-readStream.js
edsadr Dec 28, 2016
c7378c4
doc: warn about unvalidated input in child_process
Dec 26, 2016
28a5ce1
test: improve test-http-allow-req-after-204-res
edsadr Dec 30, 2016
f5e54f5
test: avoid assigning this to variables
cjihrig Dec 30, 2016
37a3622
test: update test-cluster-shared-handle-bind-error
cjihrig Dec 30, 2016
1fac431
test: add tests for clearBuffer state machine
captainsafia Dec 1, 2016
acbe4d3
doc: add joyeecheung to collaborators
joyeecheung Jan 4, 2017
9556ef3
vm: add error message if we abort
fhinkel Sep 17, 2016
53404db
test: add stdin-setrawmode.out file
Dec 6, 2016
42da81e
test: set stdin too for pseudo-tty tests
addaleax Dec 6, 2016
79d4986
doc: update CONTRIBUTING.MD with link to V8 guide
sarahmeyer Dec 1, 2016
19907c2
test: use mustCall() for simple flow tracking
cjihrig Jul 15, 2016
812c636
test: refactor test-tls-server-verify
Dec 1, 2016
61cbc20
test: refactor test-net-dns-custom-lookup
funkent Dec 1, 2016
ce91bb2
test: refactor test-repl-mode.js
cesarhq Dec 1, 2016
324c82b
test: use common.fixturesDir almost everywhere
bengl May 26, 2016
98496b6
test: test: refactor test-sync-fileread
jhwohlgemuth Dec 1, 2016
96ca40b
test: refactor test-tls-0-dns-altname
Dec 1, 2016
c801de9
tools: add ESLint rule for assert.throws arguments
targos Nov 26, 2016
9f13b5f
tools: forbid template literals in assert.throws
targos Dec 16, 2016
11115c0
test: add second argument to assert.throws()
russokj Dec 1, 2016
22226fa
test: refactoring test-pipe-head
furnox Dec 1, 2016
e7c4dfb
test: invalid package.json causes error when require()ing in directory
Dec 1, 2016
f9f8e4e
test: refactor test-preload
Trott Nov 26, 2016
2eda3c7
lib,test: use consistent operator linebreak style
targos Dec 8, 2016
31434a1
tools: enforce consistent operator linebreak style
targos Dec 8, 2016
735119c
test: cleanup stream tests
italoacasas Sep 20, 2016
1595328
crypto: allow adding extra certs to well-known CAs
sam-github Oct 17, 2016
28b707b
doc: replace newlines in deprecation with space
thefourtheye Jan 30, 2017
7db7e47
doc: change logical to bitwise OR in dns lookup
thefourtheye Jan 27, 2017
8eeccd8
doc: killSignal option accepts integer values
thefourtheye Feb 5, 2017
d61c181
doc: unify dirname and filename description
sam-github Dec 29, 2016
d3c5bc1
doc: update BUILDING.md
rainabba Sep 21, 2016
d8961bd
doc: correct vcbuild options for windows testing
jboarman Dec 4, 2016
0f5d82e
test: add --abort-on-timeout option to test.py
Jan 31, 2017
c279cbe
test: fix test.py command line options processing
Feb 3, 2017
58ab54f
2017-02-21, Version 4.8.0 'Argon' (LTS)
MylesBorins Jan 24, 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
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ rules:
no-mixed-spaces-and-tabs: 2
no-multiple-empty-lines: [2, {max: 2}]
no-trailing-spaces: 2
operator-linebreak: [2, after, {overrides: {'?': ignore, ':': ignore}}]
quotes: [2, "single", "avoid-escape"]
semi: 2
space-before-blocks: [2, "always"]
Expand All @@ -90,6 +91,7 @@ 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"]

# Global scoped method and vars
Expand Down
21 changes: 15 additions & 6 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,15 @@ On OS X, you will also need:
this under the menu `Xcode -> Preferences -> Downloads`
* This step will install `gcc` and the related toolchain containing `make`

* After building, you may want to setup [firewall rules](tools/macosx-firewall.sh)
to avoid popups asking to accept incoming network connections when running tests:

```console
$ sudo ./tools/macosx-firewall.sh
```
Running this script will add rules for the executable `node` in the out
directory and the symbolic `node` link in the projects root directory.

On FreeBSD and OpenBSD, you may also need:
* libexecinfo (FreeBSD and OpenBSD only)

Expand Down Expand Up @@ -108,13 +117,13 @@ Prerequisites:
and tools which can be included in the global `PATH`.

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

To run the tests:

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

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

```text
> vcbuild small-icu download-all
> .\vcbuild nosign small-icu download-all
```

The `small-icu` mode builds with English-only data. You can add full
Expand All @@ -186,7 +195,7 @@ $ ./configure --with-intl=full-icu --download=all
##### Windows:

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

#### Building without Intl support
Expand All @@ -203,7 +212,7 @@ $ ./configure --with-intl=none
##### Windows:

```text
> vcbuild intl-none
> .\vcbuild nosign intl-none
```

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

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

## Building Node.js with FIPS-compliant OpenSSL
Expand Down
145 changes: 145 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

102 changes: 87 additions & 15 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,22 @@ always welcome but API or behavioral changes to modules at stability level 3
Node.js has several bundled dependencies in the *deps/* and the *tools/*
directories that are not part of the project proper. Any changes to files
in those directories or its subdirectories should be sent to their respective
projects. Do not send your patch to us, we cannot accept it.
projects. Do not send a patch to Node.js. We cannot accept such patches.

In case of doubt, open an issue in the
[issue tracker](https://github.com/nodejs/node/issues/) or contact one of the
[project Collaborators](https://github.com/nodejs/node/#current-project-team-members).

Especially do so if you plan to work on something big. Nothing is more
frustrating than seeing your hard work go to waste because your vision
does not align with the project team. Node.js has two IRC channels,
[#Node.js](http://webchat.freenode.net/?channels=node.js) for general help and questions, and
[#Node-dev](http://webchat.freenode.net/?channels=node-dev) for development of node core specifically.
does not align with the project team. (Node.js has two IRC channels:
[#Node.js](http://webchat.freenode.net/?channels=node.js) for general help and
questions, and
[#Node-dev](http://webchat.freenode.net/?channels=node-dev) for development of
Node.js core specifically.

For instructions on updating the version of V8 included in the *deps/*
directory, please refer to [the Maintaining V8 in Node.js guide](https://github.com/nodejs/node/blob/master/doc/guides/maintaining-V8.md).


### Step 2: Branch
Expand Down Expand Up @@ -159,19 +164,19 @@ $ ./configure && make -j8 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 Expand Up @@ -240,18 +245,85 @@ If in doubt, you can always ask for guidance in the Pull Request or on
[IRC in the #node-dev channel](https://webchat.freenode.net?channels=node-dev&uio=d4).

Feel free to post a comment in the Pull Request to ping reviewers if you are
awaiting an answer on something.
awaiting an answer on something. If you encounter words or acronyms that
seem unfamiliar, check out this
[glossary](https://sites.google.com/a/chromium.org/dev/glossary).

Note that multiple commits often get squashed when they are landed (see the
notes about [commit squashing](#commit-squashing)).

### Step 8: Landing

Once your Pull Request has been reviewed and approved by at least one Node.js
Collaborators (often by saying LGTM, or Looks Good To Me), and as long as
there is consensus (no objections from a Collaborator), a
Collaborator can merge the Pull Request . GitHub often shows the Pull Request as
`Closed` at this point, but don't worry. If you look at the branch you raised
your Pull Request against (probably `master`), you should see a commit with
your name on it. Congratulations and thanks for your contribution!
In order to get landed, a Pull Request needs to be reviewed and
[approved](#getting-approvals-for-your-pull-request) by
at least one Node.js Collaborator and pass a
[CI (Continuous Integration) test run](#ci-testing).
After that, as long as there are no objections
from a Collaborator, the Pull Request can be merged. If you find your
Pull Request waiting longer than you expect, see the
[notes about the waiting time](#waiting-until-the-pull-request-gets-landed).

When a collaborator lands your Pull Request, they will post
a comment to the Pull Request page mentioning the commit(s) it
landed as. GitHub often shows the Pull Request as `Closed` at this
point, but don't worry. If you look at the branch you raised your
Pull Request against (probably `master`), you should see a commit with
your name on it. Congratulations and thanks for your contribution!

## Additional Notes

### Commit Squashing

When the commits in your Pull Request get landed, they will be squashed
into one commit per logical change, with metadata added to the commit
message (including links to the Pull Request, links to relevant issues,
and the names of the reviewers). The commit history of your Pull Request,
however, will stay intact on the Pull Request page.

For the size of "one logical change",
[0b5191f](https://github.com/nodejs/node/commit/0b5191f15d0f311c804d542b67e2e922d98834f8)
can be a good example. It touches the implementation, the documentation,
and the tests, but is still one logical change. In general, the tests should
always pass when each individual commit lands on the master branch.

### Getting Approvals for Your Pull Request

A Pull Request is approved either by saying LGTM, which stands for
"Looks Good To Me", or by using GitHub's Approve button.
GitHub's Pull Request review feature can be used during the process.
For more information, check out
[the video tutorial](https://www.youtube.com/watch?v=HW0RPaJqm4g)
or [the official documentation](https://help.github.com/articles/reviewing-changes-in-pull-requests/).

After you push new changes to your branch, you need to get
approval for these new changes again, even if GitHub shows "Approved"
because the reviewers have hit the buttons before.

### CI Testing

Every Pull Request needs to be tested
to make sure that it works on the platforms that Node.js
supports. This is done by running the code through the CI system.

Only a Collaborator can request a CI run. Usually one of them will do it
for you as approvals for the Pull Request come in.
If not, you can ask a Collaborator to request a CI run.

### Waiting Until the Pull Request Gets Landed

A Pull Request needs to stay open for at least 48 hours (72 hours on a
weekend) from when it is submitted, even after it gets approved and
passes the CI. This is to make sure that everyone has a chance to
weigh in. If the changes are trivial, collaborators may decide it
doesn't need to wait. A Pull Request may well take longer to be
merged in. All these precautions are important because Node.js is
widely used, so don't be discouraged!

### Check Out the Collaborator's Guide

If you want to know more about the code review and the landing process,
you can take a look at the
[collaborator's guide](https://github.com/nodejs/node/blob/master/COLLABORATOR_GUIDE.md).

<a id="developers-certificate-of-origin"></a>
## Developer's Certificate of Origin 1.1
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@ more information about the governance of the Node.js project, see
**Rod Vagg** &lt;rod@vagg.org&gt;
* [shigeki](https://github.com/shigeki) -
**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) -
Expand Down Expand Up @@ -251,6 +253,8 @@ more information about the governance of the Node.js project, see
**João Reis** &lt;reis@janeasystems.com&gt;
* [joshgav](https://github.com/joshgav) -
**Josh Gavant** &lt;josh.gavant@outlook.com&gt;
* [joyeecheung](https://github.com/joyeecheung) -
**Joyee Cheung** &lt;joyeec9h3@gmail.com&gt;
* [julianduque](https://github.com/julianduque) -
**Julian Duque** &lt;julianduquej@gmail.com&gt;
* [JungMinu](https://github.com/JungMinu) -
Expand Down Expand Up @@ -317,8 +321,6 @@ more information about the governance of the Node.js project, see
**Steven R Loomis** &lt;srloomis@us.ibm.com&gt;
* [stefanmb](https://github.com/stefanmb) -
**Stefan Budeanu** &lt;stefan@budeanu.com&gt;
* [targos](https://github.com/targos) -
**Michaël Zasso** &lt;targos@protonmail.com&gt;
* [tellnes](https://github.com/tellnes) -
**Christian Tellnes** &lt;christian@tellnes.no&gt;
* [thekemkid](https://github.com/thekemkid) -
Expand Down
Loading