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

Release proposal: v5.2.0 #4180

Closed
wants to merge 323 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
323 commits
Select commit Hold shift + click to select a range
b8cea49
test: fix heap-profiler link error LNK1194 on win
Oct 28, 2015
f236b3a
lib,doc: return boolean from child.send()
Trott Oct 25, 2015
b64ce59
tls: remove util and calls to util.format
Oct 20, 2015
384e6c2
2015-10-29, Version 5.0.0 (Stable)
rvagg Oct 21, 2015
4e54dbe
Working on v5.0.1
rvagg Oct 29, 2015
e888471
child_process: don't fork bomb ourselves from -e
bnoordhuis Oct 28, 2015
d72bb1e
Revert "src: fix stuck debugger process"
bnoordhuis Oct 29, 2015
1e98d90
test: add regression test for --debug-brk -e 0
bnoordhuis Oct 29, 2015
65cd03c
src: wrap source before doing syntax check
evanlucas Oct 29, 2015
90723af
doc: made code spans more visible in the API docs
phillipj Oct 28, 2015
d2b5dcb
lib: return boolean from child.send()
Trott Oct 25, 2015
3137e46
tools: update gyp to b3cef02
Oct 19, 2015
cbd358c
tools: fix gyp to work on MacOSX without XCode
Feb 10, 2015
efa19bd
doc: add final full stop in CONTRIBUTING.md
emilyaviva Oct 29, 2015
7d0b589
doc: fix crypto spkac function descriptions
jas- Oct 31, 2015
5667369
buffer: neuter external `nullptr` buffers
indutny Nov 2, 2015
e40d282
tools: update npm test tooling for 3.3.10+
iarna Oct 29, 2015
c96400c
gitignore: don't ignore 'debug' in deps/npm
iarna Oct 29, 2015
08e0de5
deps: upgrade npm to 3.3.10
iarna Oct 29, 2015
5977963
test: remove flaky designation from ls-no-sslv3
Trott Nov 1, 2015
7fd8f13
doc: add note about timeout delay > TIMEOUT_MAX
sitegui Oct 25, 2015
e302c33
test: mark http-pipeline-flood flaky
Trott Oct 31, 2015
935b977
test: add regression test for 512 bits DH key
bnoordhuis Nov 2, 2015
8152248
test: more regression tests for minDHSize option
bnoordhuis Nov 2, 2015
5073da0
repl: don't crash if cannot open history file
evanlucas Nov 2, 2015
6ef043a
2015-11-03, Version 4.2.2 "Argon" (LTS) Release
jasnell Oct 29, 2015
045e04e
doc: typo fix in readme.md
SPGB Nov 3, 2015
7caeb14
deps: update http-parser to 2.6.0
jasnell Oct 28, 2015
325c4c7
doc:fix function param order in assert doc
birnam Oct 26, 2015
f3594e7
test: fix test-net-persistent-keepalive for AIX
Nov 3, 2015
8018662
doc: fix wrong date and known issue in changelog.md
jasnell Nov 3, 2015
409f299
doc: rename iojs-* groups to nodejs-*
srl295 Nov 2, 2015
a0db5fb
doc: stdout/stderr can block when directed to file
bnoordhuis Oct 3, 2015
a7f28a0
http: remove unneeded cb check from setTimeout()
aks- Nov 5, 2015
7a84fa6
docs: fs - remove encoding list and link to buffer
Sep 10, 2015
73e40f0
docs: fs - change links to buffer encoding to Buffer class anchor
Oct 13, 2015
8f5a255
build: omit -gline-tables-only for --enable-asan
bnoordhuis Nov 5, 2015
89285db
module: remove unnecessary JSON.stringify
zertosh Oct 29, 2015
59cd281
Add missing va_end before return
usta Oct 28, 2015
44f779b
doc: add caveats of algs and key size in crypto
Jul 27, 2015
b14d9c5
doc: add method links in events.markdown
a0viedo Nov 6, 2015
9a45c21
util: use regexp instead of str.replace().join()
hellopao Nov 6, 2015
b48dbf9
deps: upgrade npm to 3.3.12
iarna Nov 3, 2015
d64a56c
cluster: remove handles when disconnecting worker
bnoordhuis Nov 3, 2015
5d34c81
async_wrap: allow some hooks to be optional
trevnorris Oct 20, 2015
eccbec9
async_wrap: new instances get uid
trevnorris Oct 19, 2015
b663d2b
async_wrap: call callback in destructor
trevnorris Oct 20, 2015
2498e29
src: Revert "nix stdin _readableState.reading"
silverwind Oct 26, 2015
9cdceac
test: use really invalid hostname
thefourtheye Nov 8, 2015
75dbafc
repl: To exit, press ^C again or type .exit.
hemanth Nov 7, 2015
a05a0b4
doc: add saghul as a collaborator
saghul Nov 9, 2015
e5b9109
doc: add thealphanerd to collaborators
Nov 9, 2015
8199784
test: fix test-module-loading-error for musl
hmalphettes Nov 10, 2015
5ed30da
console: use 'label' argument for time and timeEnd
silverwind Oct 29, 2015
1c8a7c6
test: enhance fs-watch-recursive test
thefourtheye Aug 28, 2015
ac9e4ff
dns: prevent undefined values in results
Nov 6, 2015
a32d9e3
doc: add romankl to collaborators
r-52 Nov 9, 2015
597f875
doc: add note on tls connection meta data methods
DaftMonk Nov 10, 2015
02e012e
src: force line buffering for stderr
Trott Nov 6, 2015
38bb0d8
tools: Use `throw new Error()` consistently
Trott Nov 8, 2015
d036b35
tools: enforce `throw new Error()` with lint rule
Trott Nov 8, 2015
9ef81ff
deps: update V8 to 4.6.85.31
targos Nov 6, 2015
47f3735
cluster: send suicide message on disconnect
cjihrig Nov 9, 2015
2aa6a6d
fs: return null error on readFile() success
zbinlin Nov 10, 2015
da911f1
doc: update lts description in the collaborator guide
jasnell Nov 5, 2015
bea3542
tools: add tap output to cpplint
jbergstroem Oct 20, 2015
59077ac
deps: cherry-pick 68e89fb from v8's upstream
indutny Nov 11, 2015
35fb9f9
doc: Describe FIPSDIR environment variable
stefanmb Nov 6, 2015
f2c2e53
doc: add note to util.isBuffer
evanlucas Nov 12, 2015
530bb91
docs: improve discoverability of Code of Conduct
ashleygwilliams Nov 11, 2015
2c9fb14
crypto: Improve error checking and reporting
stefanmb Nov 9, 2015
c7c05d8
doc: sort assert alphabetically
tflanagan Nov 4, 2015
fb6a09c
doc: sort buffer alphabetically
tflanagan Nov 4, 2015
5c30e5d
doc: sort child_process alphabetically
tflanagan Nov 4, 2015
05f1af7
doc: sort cluster alphabetically
tflanagan Nov 4, 2015
3e046ac
doc: sort console alphabetically
tflanagan Nov 4, 2015
4118fd5
doc: sort dns alphabetically
tflanagan Nov 4, 2015
e1c357e
doc: sort crypto alphabetically
tflanagan Nov 4, 2015
488326d
doc: sort dgram alphabetically
tflanagan Nov 4, 2015
63a7874
doc: sort errors alphabetically
tflanagan Nov 4, 2015
ce3ac8d
doc: sort events alphabetically
tflanagan Nov 4, 2015
c3f5ea7
doc: sort fs alphabetically
tflanagan Nov 4, 2015
4ba1848
doc: sort globals alphabetically
tflanagan Nov 4, 2015
22961e0
doc: sort os alphabetically
tflanagan Nov 4, 2015
bc63667
doc: sort path alphabetically
tflanagan Nov 4, 2015
1f56aba
doc: sort punycode alphabetically
tflanagan Nov 4, 2015
d357b30
doc: sort querystring alphabetically
tflanagan Nov 4, 2015
39b8259
doc: sort vm alphabetically
tflanagan Nov 4, 2015
d4dda77
doc: sort url alphabetically
tflanagan Nov 4, 2015
14b5a95
doc: sort tty alphabetically
tflanagan Nov 4, 2015
0d22628
doc: sort timers alphabetically
tflanagan Nov 4, 2015
d383d62
doc: sort string_decoder alphabetically
tflanagan Nov 4, 2015
389ead3
doc: sort repl alphabetically
tflanagan Nov 4, 2015
29054ff
doc: sort readline alphabetically
tflanagan Nov 4, 2015
18da02f
doc: sort modules alphabetically
tflanagan Nov 4, 2015
6e9d01c
doc: sort http alphabetically
tflanagan Nov 4, 2015
df07072
doc: sort https alphabetically
tflanagan Nov 4, 2015
0996b97
doc: sort util alphabetically
tflanagan Nov 5, 2015
e1a5126
doc: sort zlib alphabetically
tflanagan Nov 5, 2015
cfa8198
doc: sort process alphabetically
tflanagan Nov 5, 2015
cd931a8
doc: sort net alphabetically
tflanagan Nov 5, 2015
7e60b81
doc: sort stream alphabetically
tflanagan Nov 5, 2015
09e524d
doc: sort tls alphabetically
tflanagan Nov 5, 2015
84bb745
child_process: add safety checks on stdio access
cjihrig Nov 12, 2015
ae2d1ee
doc: repl: add defineComand and displayPrompt
bengl Nov 11, 2015
1ab59ab
test: fix flaky test test-http-pipeline-flood
dnakamura Sep 14, 2015
2e67db3
test: refactor test-http-pipeline-flood
Trott Nov 2, 2015
05f0549
tls: copy client CAs and cert store on CertCb
indutny Oct 26, 2015
fd3f0d8
querystring: Parse multiple separator characters
yosuke-furukawa Nov 12, 2015
583f58e
test: stronger crypto in test fixtures
stefanmb Nov 10, 2015
25c3807
doc: clarify duplicate header handling
bengl Nov 13, 2015
5d1faa2
doc: reword message.headers to indicate they are not read-only
tflanagan Nov 13, 2015
45ff31c
doc: added what buf.copy returns
baslr Oct 28, 2015
d137f0f
doc: add warning about Windows process groups
r-52 Nov 5, 2015
132297d
doc: Updated streams simplified constructor API
tomgco Oct 30, 2015
96f53c6
doc: add link to [customizing util.inspect colors].
jmm Nov 10, 2015
91248b1
test: run pipeline flood test in parallel
Trott Nov 13, 2015
252e810
test: Fix test-cluster-worker-exit.js for AIX
Nov 4, 2015
fd0253b
deps: backport bc2e393 from v8 upstream
Nov 12, 2015
7a290ab
crypto: DSA parameter validation in FIPS mode
stefanmb Nov 10, 2015
828b786
test: add test for invalid DSA key size
stefanmb Nov 13, 2015
de707f0
test: add hasFipsCrypto to test/common.js
stefanmb Nov 12, 2015
d70deab
zlib: pass kind to recursive calls to flush
Oct 26, 2015
33ffc62
zlib: only apply drain listener if given callback
CraigCav Oct 26, 2015
2ec5e17
test: add test-zlib-flush-drain
Nov 11, 2015
413ca53
test: increase crypto strength for FIPS standard
stefanmb Nov 10, 2015
2a69b68
build: fix --with-intl=system-icu for x-compile
srl295 Nov 13, 2015
1c1e708
test: fix path to module for repl test on Windows
mcornac Oct 30, 2015
d61cb90
util: use Object.create(null) for dictionary object
JungMinu Nov 15, 2015
2d0ca02
build: fix configuring with prebuilt libraries
zyxar Sep 30, 2015
4bb27ba
test: skip test if FreeBSD jail will break it
Trott Nov 15, 2015
c2393d1
doc: consistent reference-style links
bengl Nov 14, 2015
66dccaf
debugger: also exit when the repl emits 'exit'
fb55 Aug 13, 2015
7ecd542
doc: address use of profanity in code of conduct
jasnell Nov 14, 2015
19a36ff
test: fix flaky SmartOS test
Trott Nov 15, 2015
7bff013
buffer: let WriteFloatGeneric silently drop values
pmq20 Nov 16, 2015
047abbd
test: move test-specific function out of common
Trott Nov 17, 2015
df1fdba
doc: sort repl alphabetically
tflanagan Nov 16, 2015
5c54fa0
module: cache regular expressions
evanlucas Nov 17, 2015
60d3daa
doc: replace head of readme with updated text
rvagg Oct 22, 2015
ea67d87
doc: document release types in readme
rvagg Oct 22, 2015
2f16be2
tls: Use SHA1 for sessionIdContext in FIPS mode
stefanmb Nov 9, 2015
02fd81a
2015-11-17, Version 5.1.0 (Stable)
Fishrock123 Nov 10, 2015
3b69060
Working on v5.1.1
Fishrock123 Nov 10, 2015
533881f
deps: upgrade openssl sources to 1.0.2e
Dec 3, 2015
12e70fa
http: fix pipeline regression
indutny Oct 29, 2015
76a552c
deps: backport 6df9a1d from upstream v8
bnoordhuis Nov 13, 2015
678398f
deps: backport a7e50a5 from upstream v8
bnoordhuis Nov 18, 2015
1143312
2015-12-04, Version 5.1.1 (Stable)
rvagg Nov 30, 2015
51a5227
Working on v5.1.2
rvagg Dec 4, 2015
6c16c40
doc: clarify v5.1.1 notable items
rvagg Dec 4, 2015
ce423f3
debugger: introduce exec method for debugger
JacksonTian Apr 21, 2015
f99c636
test: module loading error fix solaris #3798
Nov 16, 2015
781f8c0
test: add OS X to module loading error test
evanlucas Nov 18, 2015
272732e
test: fix flaky test-child-process-spawnsync-input
Trott Nov 17, 2015
bc27379
test: avoid test timeouts on rpi
stefanmb Nov 18, 2015
0997178
doc: add reference for buffer.inspect()
cjihrig Nov 19, 2015
bbcb2a2
doc: clarify module loading behavior
cjihrig Nov 19, 2015
e129d83
test: skip/replace weak crypto tests in FIPS mode
stefanmb Nov 10, 2015
788541b
test: fix race condition in unrefd interval test
mcornac Oct 27, 2015
def681a
crypto: disable crypto.createCipher in FIPS mode
stefanmb Nov 9, 2015
54aafa1
test: http complete list of non-concat headers
bengl Nov 20, 2015
f90227b
doc: move fs.existsSync() deprecation message
martfors Nov 20, 2015
fcf0e8e
buffer: move checkFloat from lib into src
Nov 11, 2015
26eeae8
doc: fix broken references
gromnitsky Nov 20, 2015
13834ca
module: fix column offsets in errors
tflanagan Sep 14, 2015
12754c5
net: small code cleanup
jscissr Nov 20, 2015
d7a7d3e
tools: update certdata.txt
bnoordhuis Nov 21, 2015
b81b45d
crypto: update root certificates
bnoordhuis Nov 21, 2015
f29c5d6
configure: `v8_use_snapshot` should be `true`
indutny Nov 22, 2015
f4ca007
doc: clarify that fs streams expect blocking fd
XeCycle Nov 3, 2015
f9fe0ae
test: numeric flags to fs.open
XeCycle Nov 3, 2015
77251d9
doc: numeric flags to fs.open
XeCycle Nov 3, 2015
4849a54
doc: Adding best practises for crypto.pbkdf2
tomgco Oct 9, 2015
4602e01
doc: replace sane with reasonable
lewiscowper Nov 23, 2015
665a35d
test: address flaky test-http-client-timeout-event
Trott Nov 22, 2015
1fe4d30
test: retry on smartos if ECONNREFUSED
Trott Nov 20, 2015
7e18f2e
src: add BE support to StringBytes::Encode()
exinfinitum Oct 7, 2015
b1dfa8b
doc: fix typo in README
Trott Nov 24, 2015
dd0d15f
test: add TAP diagnostic message for retried tests
Trott Nov 21, 2015
f0a2e2c
doc: message.header duplication correction
bengl Nov 24, 2015
a863e8d
test: remove flaky status for cluster test
Trott Nov 23, 2015
c584c3e
util,src: allow lookup of hidden values
cjihrig Nov 23, 2015
baac81d
net: add local address/port for better errors
jscissr Nov 20, 2015
19ed33d
test: skip test if in FreeBSD jail
Trott Nov 24, 2015
99fd1ec
deps: backport 819b40a from V8 upstream
targos Nov 20, 2015
1f0e8dc
installer: install the tick processor
Sep 22, 2015
ed255ab
build,src: add Intel Vtune profiling support
cdai2 Oct 21, 2015
ab5b529
buffer: default to UTF8 in byteLength()
tomgco Nov 24, 2015
d0621c5
test: mark fork regression test flaky on windows
Trott Nov 25, 2015
054a216
test: mark cluster-net-send test flaky on windows
Trott Nov 24, 2015
e68ea16
util: add decorateErrorStack()
cjihrig Nov 25, 2015
aaab108
repl: attach location info to syntax errors
cjihrig Nov 25, 2015
00b839a
test: use platform-based timeout for reliability
Trott Nov 25, 2015
f3c50f5
doc: fix rare case of misaligned columns
silverwind Nov 21, 2015
d94a70e
test: fix test-domain-exit-dispose-again
Nov 23, 2015
69c95bb
test: move ArrayStream to common
cjihrig Nov 25, 2015
c500037
test: mark test flaky on FreeBSD
Trott Nov 25, 2015
a76d788
build: update signtool description, add url
rvagg Nov 24, 2015
a2b7596
doc: fix color of linked code blocks
Nov 29, 2015
8988e1e
module,repl: remove repl require() hack
bnoordhuis Nov 25, 2015
098a311
util: move .decorateErrorStack to internal/util
bnoordhuis Nov 25, 2015
aaeced9
doc: fix the exception description
yorkie Nov 4, 2015
c93e267
util: fix constructor/instanceof checks
mscdex Oct 15, 2015
22b0971
test: eliminate multicast test FreeBSD flakiness
Trott Nov 26, 2015
7793c36
child_process: flush consuming streams
Nov 30, 2015
c61237d
doc: fix internal link to child.send()
lpinca Dec 1, 2015
4302648
test: add test for repl.defineCommand()
bengl Nov 19, 2015
0e18e68
buffer: fix writeInt{B,L}E for some neg values
pabigot Nov 23, 2015
2b5b127
test: fix cluster-disconnect-handles flakiness
santigimeno Nov 24, 2015
0869ef3
repl: allow leading period in multiline input
Zirak Nov 15, 2015
95dd60c
doc: reword https.Agent example text
Nov 30, 2015
1279adc
timers: optimize callback call: bind -> arrow
bsnote Nov 26, 2015
1b434e0
util: determine object types in C++
cjihrig Dec 1, 2015
cb55c67
test: improve cluster-disconnect-handles test
mscdex Dec 1, 2015
1c1af81
streams: update .readable/.writable to false
mscdex Mar 20, 2015
e8e4e07
meta: remove use of profanity in source
Dec 2, 2015
cfc9764
crypto: fix native module compilation with FIPS
stefanmb Nov 25, 2015
f3417e2
doc: standardize references to node.js in docs
scottsb Dec 3, 2015
4b43bf0
test: fix flaky test-net-socket-local-address
Trott Dec 1, 2015
3169eed
doc: add links and backticks around names
Nov 27, 2015
f4164bd
doc: update links to use https where possible
Dec 2, 2015
85b6012
doc: add HTTP working group
jasnell Nov 19, 2015
424eb96
doc: add zkat to collaborators
zkat Dec 3, 2015
fa0cdf7
doc: add iarna to collaborators
iarna Dec 3, 2015
fd5ed68
doc: add JungMinu to collaborators
JungMinu Dec 3, 2015
458facd
src: define getpid() based on OS
cjihrig Dec 4, 2015
756ab9c
stream: be less eager with readable flag
mscdex Dec 3, 2015
be41eb7
test: refactor test-http-exit-delay
Trott Nov 28, 2015
0cd4a52
doc: improve child_process.markdown wording
yorkie Dec 3, 2015
d969c09
src: define Is* util functions with macros
cjihrig Dec 2, 2015
9d16729
test: skip instead of fail when mem constrained
mcornac Nov 6, 2015
6f957a7
doc: s/node.js/Node.js in readme
rvagg Nov 24, 2015
da6be4d
test: fix time resolution constraint
gireeshpunathil Nov 23, 2015
9e9346f
src: use GetCurrentProcessId() for process.pid
bnoordhuis Dec 4, 2015
e3a8e8b
buffer: Prevent Buffer constructor deopt
brycebaril Dec 4, 2015
b3f3b2e
test: fix cluster-worker-isdead
santigimeno Nov 21, 2015
634c5f1
doc: url.format - true slash postfix behaviour
Dec 2, 2015
4c8800c
fs,doc: use `target` instead of `destination`
yorkie Nov 25, 2015
e84aeec
test: mark test-cluster-shared-leak flaky
Trott Dec 5, 2015
8f845ba
stream_wrap: error if stream has StringDecoder
indutny Dec 5, 2015
8a60aa1
test: don't check the # of chunks in test-http-1.0
santigimeno Nov 21, 2015
12649f4
build: add "--partly-static" build options
medns Dec 4, 2015
0c2a0dc
test: skip long path tests on non-Windows
rsp Dec 2, 2015
da5ac55
crypto: simplify using pre-existing keys with ECDH
Nov 19, 2015
8a5e434
node: s/doNTCallbackX/nextTickCallbackWithXArgs/
rvagg Dec 6, 2015
08a3f29
buffer: fix range checking for slowToString
Dec 7, 2015
1d50819
test: check range fix for slowToString
thefourtheye Dec 7, 2015
da3137d
src: don't print garbage errors
cjihrig Dec 2, 2015
9f34df8
2015-12-08, Version 5.2.0 (Stable)
rvagg Dec 8, 2015
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
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ rules:
# require space after keywords, eg 'for (..)'
space-after-keywords: 2

# ECMAScript 6
# list: http://eslint.org/docs/rules/#ecmascript-6
## Suggest using 'const' wherever possible
prefer-const: 2

# Strict Mode
# list: https://github.com/eslint/eslint/tree/master/docs/rules#strict-mode
## 'use strict' on top
Expand All @@ -82,6 +87,8 @@ rules:

# Custom rules in tools/eslint-rules
require-buffer: 2
new-with-error: [2, "Error", "RangeError", "TypeError", "SyntaxError", "ReferenceError"]


# Global scoped method and vars
globals:
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ icu_config.gypi

# various stuff that VC++ produces/uses
Debug/
!node_modules/debug/
!deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug
!deps/v8/src/debug/
Release/
!doc/blog/**
Expand All @@ -44,6 +44,7 @@ ipch/

/config.mk
/config.gypi
/config_fips.gypi
*-nodegyp*
/gyp-mac-tool
/dist-osx
Expand Down
558 changes: 557 additions & 1 deletion CHANGELOG.md

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Code of Conduct

This Code of Conduct is adapted from [Rust's wonderful
CoC](http://www.rust-lang.org/conduct.html).

* We are committed to providing a friendly, safe and welcoming
environment for all, regardless of gender, sexual orientation,
disability, ethnicity, religion, or similar personal characteristic.
* Please avoid using overtly sexual nicknames or other nicknames that
might detract from a friendly, safe and welcoming environment for
all.
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that some individuals and cultures consider the casual use of
profanity offensive and off-putting.
* Respect that people have differences of opinion and that every
design or implementation choice carries a trade-off and numerous
costs. There is seldom a right answer.
* Please keep unstructured critique to a minimum. If you have solid
ideas you want to experiment with, make a fork and see how it works.
* We will exclude you from interaction if you insult, demean or harass
anyone. That is not welcome behavior. We interpret the term
"harassment" as including the definition in the [Citizen Code of
Conduct](http://citizencodeofconduct.org/); if you have any lack of
clarity about what might be included in that concept, please read
their definition. In particular, we don't tolerate behavior that
excludes people in socially marginalized groups.
* Private harassment is also unacceptable. No matter who you are, if
you feel you have been or are being harassed or made uncomfortable
by a community member, please contact one of the channel ops or any
of the TSC members immediately with a capture (log, photo, email) of
the harassment if possible. Whether you're a regular contributor or
a newcomer, we care about making this community a safe place for you
and we've got your back.
* Likewise any spamming, trolling, flaming, baiting or other
attention-stealing behavior is not welcome.
* Avoid the use of personal pronouns in code comments or
documentation. There is no need to address persons when explaining
code (e.g. "When the developer").
91 changes: 91 additions & 0 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* [Landing Pull Requests](#landing-pull-requests)
- [Technical HOWTO](#technical-howto)
- [I Just Made a Mistake](#i-just-made-a-mistake)
- [Long Term Support](#long-term-support)

This document contains information for Collaborators of the Node.js
project regarding maintaining the code, documentation and issues.
Expand Down Expand Up @@ -227,3 +228,93 @@ messages. However, you are only allowed to force push to any Node.js
branch within 10 minutes from your original push. If someone else
pushes to the branch or the 10 minute period passes, consider the
commit final.

### Long Term Support

#### What is LTS?

Long Term Support (often referred to as *LTS*) guarantees application developers
a 30 month support cycle with specific versions of Node.js.

You can find more information [in the full LTS plan](https://github.com/nodejs/lts#lts-plan).

#### How does LTS work?

Once a stable branch enters LTS, changes in that branch are limited to bug
fixes, security updates, possible npm updates, documentation updates, and
certain performance improvements that can be demonstrated to not break existing
applications. Semver-minor changes are only permitted if required for bug fixes
and then only on a case-by-case basis with LTS WG and possibly Core Technical
Committee (CTC) review. Semver-major changes are permitted only if required for
security related fixes.

Once a stable branch moves into Maintenance mode, only **critical** bugs,
**critical** security fixes, and documentation updates will be permitted.

#### Landing semver-minor commits in LTS

The default policy is to not land semver-minor or higher commits in any LTS
branch. However, the LTS WG or CTC can evaluate any individual semver-minor
commit and decide whether a special exception ought to be made. It is
expected that such exceptions would be evaluated, in part, on the scope
and impact of the changes on the code, the risk to ecosystem stability
incurred by accepting the change, and the expected benefit that landing the
commit will have for the ecosystem.

Any collaborator who feels a semver-minor commit should be landed in an LTS
branch should attach the `lts-agenda` label to the pull request. The LTS WG
will discuss the issue and, if necessary, will escalate the issue up to the
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`.

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
PR must be opened against the *staging* branch. Commits are selectively
pulled from the staging branch into the LTS branch only when a release is
being prepared and may be pulled into the LTS branch in a different order
than they were landed in staging.

Any collaborator may land commits into a staging branch, but only the release
team should land commits into the LTS branch while preparing a new
LTS release.

#### How can I help?

When you send your pull request, consider including information about
whether your change is breaking. If you think your patch can be backported,
please feel free to include that information in the PR thread.

Several LTS related issue and PR labels have been provided:

* `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-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.
Likewise, as commits are landed in a LTS release, the `land-on-` label will
be removed.

Collaborators are encouraged to help the LTS WG by attaching the appropriate
`lts-watch-` label to any PR that may impact an LTS release.

#### How is an LTS release cut?

When the LTS working group determines that a new LTS release is required,
selected commits will be picked from the staging branch to be included in the
release. This process of making a release will be a collaboration between the
LTS working group and the Release team.
66 changes: 17 additions & 49 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Contributing to Node.js

## Code of Conduct

The Code of Conduct explains the *bare minimum* behavior
expectations the Node Foundation requires of its contributors.
[Please read it before participating.](./CODE_OF_CONDUCT.md)

## Issue Contributions

When opening new issues or commenting on existing issues on this repository
Expand Down Expand Up @@ -45,21 +51,21 @@ and built upon.
The rules for the master branch are less strict; consult the
[stability index](./doc/api/documentation.markdown#stability-index) for details.

In a nutshell, modules are at varying levels of API stability. Bug fixes are
In a nutshell, modules are at varying levels of API stability. Bug fixes are
always welcome but API or behavioral changes to modules at stability level 3
(Locked) are off-limits.

#### Dependencies

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
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 your patch to us, we cannot accept it.

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).
([IRC](http://webchat.freenode.net/?channels=io.js) is often the best medium.) Especially do so if you plan to work on something big. Nothing is more
([IRC](http://webchat.freenode.net/?channels=io.js) is often the best medium.) 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.

Expand All @@ -81,8 +87,8 @@ $ git config --global user.name "J. Random User"
$ git config --global user.email "j.random.user@example.com"
```

Writing good commit logs is important. A commit log should describe what
changed and why. Follow these guidelines when writing one:
Writing good commit logs is important. A commit log should describe what
changed and why. Follow these guidelines when writing one:

1. The first line should be 50 characters or less and contain a short
description of the change prefixed with the name of the changed
Expand Down Expand Up @@ -124,15 +130,15 @@ $ git rebase upstream/master

### Step 5: Test

Bug fixes and features **should come with tests**. Add your tests in the
test/parallel/ directory. Look at other tests to see how they should be
Bug fixes and features **should come with tests**. Add your tests in the
test/parallel/ directory. Look at other tests to see how they should be
structured (license boilerplate, common includes, etc.).

```text
$ ./configure && make -j8 test
```

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

If you are updating tests and just want to run a single test to check it, you
Expand Down Expand Up @@ -160,9 +166,9 @@ $ git push origin my-feature-branch
Go to https://github.com/yourusername/node and select your feature branch.
Click the 'Pull Request' button and fill out the form.

Pull requests are usually reviewed within a few days. If there are comments
Pull requests are usually reviewed within a few days. If there are comments
to address, apply your changes in a separate commit and push that to your
feature branch. Post a comment in the pull request afterwards; GitHub does
feature branch. Post a comment in the pull request afterwards; GitHub does
not send out notifications when you add commits.


Expand All @@ -181,41 +187,3 @@ By making a contribution to this project, I certify that:
different license), as indicated in the file; or
* (c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified it.


## Code of Conduct

This Code of Conduct is adapted from [Rust's wonderful
CoC](http://www.rust-lang.org/conduct.html).

* We are committed to providing a friendly, safe and welcoming
environment for all, regardless of gender, sexual orientation,
disability, ethnicity, religion, or similar personal characteristic.
* Please avoid using overtly sexual nicknames or other nicknames that
might detract from a friendly, safe and welcoming environment for
all.
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that people have differences of opinion and that every
design or implementation choice carries a trade-off and numerous
costs. There is seldom a right answer.
* Please keep unstructured critique to a minimum. If you have solid
ideas you want to experiment with, make a fork and see how it works.
* We will exclude you from interaction if you insult, demean or harass
anyone. That is not welcome behavior. We interpret the term
"harassment" as including the definition in the [Citizen Code of
Conduct](http://citizencodeofconduct.org/); if you have any lack of
clarity about what might be included in that concept, please read
their definition. In particular, we don't tolerate behavior that
excludes people in socially marginalized groups.
* Private harassment is also unacceptable. No matter who you are, if
you feel you have been or are being harassed or made uncomfortable
by a community member, please contact one of the channel ops or any
of the TC members immediately with a capture (log, photo, email) of
the harassment if possible. Whether you're a regular contributor or
a newcomer, we care about making this community a safe place for you
and we've got your back.
* Likewise any spamming, trolling, flaming, baiting or other
attention-stealing behavior is not welcome.
* Avoid the use of personal pronouns in code comments or
documentation. There is no need to address persons when explaining
code (e.g. "When the developer")
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ clean:

distclean:
-rm -rf out
-rm -f config.gypi icu_config.gypi
-rm -f config.gypi icu_config.gypi config_fips.gypi
-rm -f config.mk
-rm -rf $(NODE_EXE) $(NODE_G_EXE)
-rm -rf node_modules
Expand Down
Loading