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

v12.4.0 release proposal #28040

Merged
merged 108 commits into from
Jun 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
e66648e
esm: remove experimental status from JSON modules
MylesBorins May 17, 2019
1a8e67c
doc: simplify contributing documentation
Trott May 20, 2019
4716caa
tls: set tlsSocket.servername as early as possible
oyyd May 17, 2019
3b6424f
deps: histogram: unexport symbols
bnoordhuis May 23, 2019
c0cf173
src: ignore SIGXFSZ, don't terminate (ulimit -f)
bnoordhuis May 23, 2019
588fd0c
http, http2: flag for overriding server timeout
ofrobots May 14, 2019
8040d8b
test: increase debugging information on failure
Trott May 21, 2019
940577b
src: move ThreadPoolWork inlines into a -inl.h
sam-github May 22, 2019
02f794a
src: remove memory_tracker-inl.h from header files
sam-github May 17, 2019
d774ea5
src: remove env-inl.h from header files
sam-github May 17, 2019
530e63a
assert: remove unreachable code
Trott May 20, 2019
2b7ad12
n-api: DRY napi_coerce_to_x() API methods
bnoordhuis May 21, 2019
a9f9557
child_process: remove extra shallow copy
zero1five May 21, 2019
be1166f
esm: refactor createDynamicModule()
cjihrig May 22, 2019
a9a400e
test: update wpt/resources to e1fddfbf80
joyeecheung May 22, 2019
65d4f73
test: use ShellTestEnvironment in WPT
joyeecheung May 22, 2019
144db48
test: update wpt/url to 418f7fabeb
joyeecheung May 22, 2019
b54f3e0
tools: edit .eslintrc.js for minor maintainability improvements
Trott May 24, 2019
155b947
test: replace flag with option
Trott May 21, 2019
17abc8c
test: favor arrow functions for anonymous callbacks
Trott May 21, 2019
a4c1fd5
test: refactor test-https-agent-additional-options
Trott May 21, 2019
bfcbab4
test: fix test-https-agent-additional-options
Trott May 21, 2019
6981565
doc: edit stability index overview
Trott May 22, 2019
10e0d7f
tls: support the hints option
lpinca May 22, 2019
5bbc6d7
assert: remove unreachable code
Trott May 23, 2019
041b222
doc,n-api: fix typo in N-API introduction
richardlau May 23, 2019
08b0ca9
build,win: create junction instead of symlink to `out\%config%`
refack May 16, 2019
e3bb2ae
doc: remove experimental status for JSON documentation
Trott May 23, 2019
85f505c
doc: add version info for types
mhdawson May 17, 2019
e8fa067
tls: destroy trace BIO instead of leaking it
sam-github May 23, 2019
1da5acb
os: assume UTF-8 for hostname
addaleax May 24, 2019
34ef9e4
test: detect missing postmortem metadata
cjihrig May 22, 2019
9b90385
Revert "lib: print to stdout/stderr directly instead of using console"
richardlau May 22, 2019
263e533
doc: reposition "How to Contribute" README section
anish-94 May 22, 2019
9d9b32e
doc: fix for OutgoingMessage.prototype._headers/_headerNames
dnalborczyk May 6, 2019
44846ae
src: move DiagnosticFilename inlines into a -inl.h
sam-github May 22, 2019
7a7fc4e
doc: update n-api support matrix
teams2ua May 4, 2019
d99e703
inspector: implement --heap-prof
joyeecheung Apr 23, 2019
724d9c8
test: change expected and actual values in assert call
oksemonenko May 26, 2019
531669b
test: fix test-http2-multiheaders-raw
ShGKme May 26, 2019
f5bb1b3
test: switch actual value argument and expected in deepStrictEqual call
VetoS88 May 26, 2019
b83571d
test: add a test case for the path.posix.resolve
ShGKme May 26, 2019
e7966bc
test: unhardcode server port
MurkyMeow May 26, 2019
b117f6d
test: switch assertEqual arguments
zeckson May 26, 2019
728bc2f
tools: update dependencies in tools/doc
Trott May 27, 2019
652cadb
test: fix arguments order of comparsion functions
m0rtyn May 26, 2019
51ccdae
test: expect wpt/encoding/streams to fail
joyeecheung May 22, 2019
0f86c2b
test: run WPT in subdirectories
joyeecheung May 22, 2019
8fc6914
test: update wpt/encoding to 7287608f90
joyeecheung May 22, 2019
313077e
test: expect wpt/encoding/encodeInto.any.js to fail
joyeecheung May 22, 2019
8c35198
http2: support net.Server options
lpinca May 20, 2019
f621b8f
doc: reword Experimental stability index
Trott May 26, 2019
3ba354a
test: add test for util.inspect
Nievl May 26, 2019
6cd64c8
doc,test: clarify that Http2Stream is destroyed after data is read
mildsunrise May 26, 2019
2a509d4
test: switch assertEqual arguments
zeckson May 26, 2019
67b692b
test: add test case for checking typeof mgf1Hash
Nievl May 26, 2019
b7cd0de
doc: fix typo in pipe from async iterator example
lpinca May 25, 2019
83aaef8
http2: fix tracking received data for maxSessionMemory
addaleax May 26, 2019
0fe16ed
tls: group chunks into TLS segments
mildsunrise May 24, 2019
630cc3a
test: cover util.inspect on boxed primitive with colors
pinguinjkeke May 26, 2019
b5b234d
test: add testcase for SourceTextModule custom inspect
ch1ller0 May 26, 2019
512ab1f
inspector: removing checking of non existent field in lib/inspector.js
Keroosha May 26, 2019
b9cc407
src: make UNREACHABLE variadic
refack May 25, 2019
1a179e1
src: use ArrayBufferViewContents more frequently
addaleax May 26, 2019
a1788de
doc: adds link to nightly code coverage report
srcmake May 27, 2019
d982f0b
meta: create github support file
devsnek May 27, 2019
449ee8d
console: fix table() output
mscdex May 26, 2019
682319f
test: switch assertEqual arguments
zeckson May 26, 2019
6f9aa3f
test: add test cases for paramEncoding 'explicit'
oksemonenko May 26, 2019
6ca4f03
doc: revise additional Experimental status text
Trott May 28, 2019
25eb05a
lib: removed unnecessary fs.realpath `options` arg check + tests
opterion May 26, 2019
6548b91
tls: trace errors can show up as SSL errors
sam-github May 23, 2019
5eccd64
stream: convert existing buffer when calling .setEncoding
addaleax May 28, 2019
33236b7
src: export number_of_native_contexts and number_of_detached_contexts
May 28, 2019
9220a68
crypto: fix KeyObject handle type error message
pinguinjkeke May 26, 2019
0d74198
test: cover import of a *.node file with a policy manifest
zeckson May 26, 2019
d406785
src: unimplement deprecated v8-platform methods
targos May 25, 2019
0e1ce20
test: rsa-pss generateKeyPairSync invalid option hash
zeckson May 26, 2019
38e3827
test: add util inspect null getter test
mihan007 May 26, 2019
77ff597
doc: add missing --experimental-wasm-modules docs
cjihrig May 29, 2019
f4fc75d
doc: add missing status to DEP0121
cjihrig May 29, 2019
bab9f5a
doc: add information to revoked deprecations
cjihrig May 29, 2019
e72d4aa
errors: create internal connResetException
Trott May 29, 2019
a75a59d
tools: update inspector_protocol to 0aafd2
targos May 19, 2019
cc69d5a
doc,tools: get altDocs versions from CHANGELOG.md
richardlau May 12, 2019
6129376
test: add coverage for sparse array maxArrayLength
wentout May 30, 2019
c566401
doc: warn about relying on fs gc close behavior
benjamingr May 30, 2019
10bdd13
test: rename test-performance to test-perf-hooks
ryzokuken May 30, 2019
9b08c45
build,aix: link with `noerrmsg` to eliminate warnings
refack May 19, 2019
8b38dfb
http: call write callback even if there is no message body
lpinca May 20, 2019
799aeca
http2: respect inspect() depth
cjihrig May 30, 2019
11c3ddb
doc: simplify system call material in doc overview
Trott May 30, 2019
70b4854
doc: fix the wrong name of AssertionError
kyle7zhang May 30, 2019
24eaeed
http: fix socketOnWrap edge cases
apapirovski May 30, 2019
1865057
meta: correct personal info
refack May 28, 2019
d948656
http: fix deferToConnect comments
ronag May 26, 2019
89483be
inspector: more conservative minimum stack size
bnoordhuis May 24, 2019
c683cd9
doc: improve explanation for directory with fs.rename()
Trott Jun 2, 2019
9229825
test: covering destroying when worker already disconnected
Keroosha May 26, 2019
ef25ac5
doc: clarify wording in modules.md
Alex-Temny May 24, 2019
2ce24a9
tools: fix js2c regression
refack May 30, 2019
ea2d550
child_process: move exports to bottom for consistent code style
himself65 May 29, 2019
887dd60
test: simplify fs promises test
dnalborczyk Apr 15, 2019
a47ee80
stream: convert string to Buffer when calling `unshift(<string>)`
marcosc90 Apr 11, 2019
1827256
test: add coverage for unserializable worker thread error
Trott May 31, 2019
6a5ce36
test: handle unknown message type in worker threads
Trott May 31, 2019
23119ca
inspector: supported NodeRuntime domain in worker
alexkozy May 15, 2019
6421974
2019-06-04, Version 12.4.0 (Current)
targos Jun 3, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ const path = require('path');
const NodePlugin = require('./tools/node_modules/eslint-plugin-node-core');
NodePlugin.RULES_DIR = path.resolve(__dirname, 'tools', 'eslint-rules');

// The Module._findPath() monkeypatching is to make it so that ESLint will work
// if invoked by a globally-installed ESLint or ESLint installed elsewhere
// rather than the one we ship. This makes it possible for IDEs to lint files
// with our rules while people edit them.
const ModuleFindPath = Module._findPath;
const hacks = [
'eslint-plugin-node-core',
Expand Down Expand Up @@ -236,7 +240,7 @@ module.exports = {
{
selector: "CallExpression[callee.property.name='strictEqual'][arguments.0.type='Literal']:not([arguments.1.type='Literal']):not([arguments.1.type='ObjectExpression']):not([arguments.1.type='ArrayExpression']):not([arguments.1.type='UnaryExpression'])",
message: 'The first argument should be the `actual`, not the `expected` value.',
}
},
],
/* eslint-enable max-len */
'no-return-await': 'error',
Expand Down
26 changes: 26 additions & 0 deletions .github/SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Support

Node.js contributors have limited availability to address general support
questions. Please make sure you are using a [currently-supported version of
Node.js](https://github.com/nodejs/Release#release-schedule).

When looking for support, please first search for your question in these venues:

* [Node.js Website](https://nodejs.org/en/), especially the
[API docs](https://nodejs.org/api/)
* [Node.js Help](https://github.com/nodejs/help)
* [Open or closed issues in the Node.js GitHub organization](https://github.com/issues?utf8=%E2%9C%93&q=sort%3Aupdated-desc+org%3Anodejs+is%3Aissue)

If you didn't find an answer in the resources above, try these unofficial
resources:

* [Questions tagged 'node.js' on Stack Overflow](https://stackoverflow.com/questions/tagged/node.js)
* [#node.js channel on chat.freenode.net](https://webchat.freenode.net?channels=node.js&uio=d4)
* [Node.js Slack Community](https://node-js.slack.com/)
* To register: [nodeslackers.com](http://www.nodeslackers.com/)

GitHub issues are for tracking enhancements and bugs, not general support.

The open source license grants you the freedom to use Node.js. It does not
guarantee commitments of other people's time. Please be respectful and manage
your expectations.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.3.1">12.3.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.4.0">12.4.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.3.1">12.3.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.3.0">12.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.2.0">12.2.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.1.0">12.1.0</a><br/>
Expand Down
45 changes: 10 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,37 +28,16 @@ The Node.js project uses an [open governance model](./GOVERNANCE.md). The
* [Verifying Binaries](#verifying-binaries)
* [Building Node.js](#building-nodejs)
* [Security](#security)
* [Contributing to Node.js](#contributing-to-nodejs)
* [Current Project Team Members](#current-project-team-members)
* [TSC (Technical Steering Committee)](#tsc-technical-steering-committee)
* [Collaborators](#collaborators)
* [Release Keys](#release-keys)
* [Contributing to Node.js](#contributing-to-nodejs)

## Support

Node.js contributors have limited availability to address general support
questions. Please make sure you are using a [currently-supported version of
Node.js](https://github.com/nodejs/Release#release-schedule).

When looking for support, please first search for your question in these venues:

* [Node.js Website][]
* [Node.js Help][]
* [Open or closed issues in the Node.js GitHub organization](https://github.com/issues?utf8=%E2%9C%93&q=sort%3Aupdated-desc+org%3Anodejs+is%3Aissue)

If you didn't find an answer in the resources above, try these unofficial
resources:

* [Questions tagged 'node.js' on StackOverflow][]
* [#node.js channel on chat.freenode.net][]
* [Node.js Slack Community](https://node-js.slack.com/)
* To register: [nodeslackers.com](http://www.nodeslackers.com/)

GitHub issues are for tracking enhancements and bugs, not general support.

The open source license grants you the freedom to use Node.js. It does not
guarantee commitments of other people's time. Please be respectful and manage
your expectations.
Looking for help? Check out the
[instructions for getting support](.github/SUPPORT.md).

## Release Types

Expand Down Expand Up @@ -160,6 +139,12 @@ source and a list of supported platforms.
For information on reporting security vulnerabilities in Node.js, see
[SECURITY.md](./SECURITY.md).

## Contributing to Node.js

* [Contributing to the project][]
* [Working Groups][]
* [Strategic Initiatives][]

## Current Project Team Members

For information about the governance of the Node.js project, see
Expand Down Expand Up @@ -400,7 +385,7 @@ For information about the governance of the Node.js project, see
* [Qard](https://github.com/Qard) -
**Stephen Belanger** &lt;admin@stephenbelanger.com&gt; (he/him)
* [refack](https://github.com/refack) -
**Refael Ackermann** &lt;refack@gmail.com&gt; (he/him)
**Refael Ackermann (רפאל פלחי)** &lt;refack@gmail.com&gt; (he/him/הוא/אתה)
* [richardlau](https://github.com/richardlau) -
**Richard Lau** &lt;riclau@uk.ibm.com&gt;
* [ronkorving](https://github.com/ronkorving) -
Expand Down Expand Up @@ -593,18 +578,8 @@ Other keys used to sign some previous releases:
* **Timothy J Fontaine** &lt;tjfontaine@gmail.com&gt;
`7937DFD2AB06298B2293C3187D33FF9D0246406D`

## Contributing to Node.js

* [Contributing to the project][]
* [Working Groups][]
* [Strategic Initiatives][]

[Code of Conduct]: https://github.com/nodejs/admin/blob/master/CODE_OF_CONDUCT.md
[Contributing to the project]: CONTRIBUTING.md
[Node.js Help]: https://github.com/nodejs/help
[Node.js Foundation]: https://nodejs.org/en/foundation/
[Node.js Website]: https://nodejs.org/en/
[Questions tagged 'node.js' on StackOverflow]: https://stackoverflow.com/questions/tagged/node.js
[Working Groups]: https://github.com/nodejs/TSC/blob/master/WORKING_GROUPS.md
[Strategic Initiatives]: https://github.com/nodejs/TSC/blob/master/Strategic-Initiatives.md
[#node.js channel on chat.freenode.net]: https://webchat.freenode.net?channels=node.js&uio=d4
4 changes: 4 additions & 0 deletions deps/histogram/histogram.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
{
'target_name': 'histogram',
'type': 'static_library',
'cflags': ['-fvisibility=hidden'],
'xcode_settings': {
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
},
'include_dirs': ['src'],
'direct_dependent_settings': {
'include_dirs': [ 'src' ]
Expand Down
2 changes: 1 addition & 1 deletion doc/api/assert.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ try {
} catch (err) {
assert(err instanceof assert.AssertionError);
assert.strictEqual(err.message, message);
assert.strictEqual(err.name, 'AssertionError [ERR_ASSERTION]');
assert.strictEqual(err.name, 'AssertionError');
assert.strictEqual(err.actual, 1);
assert.strictEqual(err.expected, 2);
assert.strictEqual(err.code, 'ERR_ASSERTION');
Expand Down
78 changes: 71 additions & 7 deletions doc/api/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,6 @@ the ability to import a directory that has an index file.

Please see [customizing esm specifier resolution][] for example usage.

### `--experimental-json-modules`
<!-- YAML
added: v12.0.0
-->

Enable experimental JSON support for the ES Module loader.

### `--experimental-modules`
<!-- YAML
added: v8.5.0
Expand Down Expand Up @@ -190,6 +183,13 @@ added: v9.6.0

Enable experimental ES Module support in the `vm` module.

### `--experimental-wasm-modules`
<!-- YAML
added: v12.3.0
-->

Enable experimental WebAssembly module support.

### `--force-fips`
<!-- YAML
added: v6.0.0
Expand Down Expand Up @@ -252,6 +252,57 @@ new X();
added: v12.0.0
-->

### `--heap-prof`
<!-- YAML
added: v12.4.0
-->

> Stability: 1 - Experimental

Starts the V8 heap profiler on start up, and writes the heap profile to disk
before exit.

If `--heap-prof-dir` is not specified, the generated profile will be placed
in the current working directory.

If `--heap-prof-name` is not specified, the generated profile will be
named `Heap.${yyyymmdd}.${hhmmss}.${pid}.${tid}.${seq}.heapprofile`.

```console
$ node --heap-prof index.js
$ ls *.heapprofile
Heap.20190409.202950.15293.0.001.heapprofile
```

### `--heap-prof-dir`
<!-- YAML
added: v12.4.0
-->

> Stability: 1 - Experimental

Specify the directory where the heap profiles generated by `--heap-prof` will
be placed.

### `--heap-prof-interval`
<!-- YAML
added: v12.4.0
-->

> Stability: 1 - Experimental

Specify the average sampling interval in bytes for the heap profiles generated
by `--heap-prof`. The default is 512 * 1024 bytes.

### `--heap-prof-name`
<!-- YAML
added: v12.4.0
-->

> Stability: 1 - Experimental

Specify the file name of the heap profile generated by `--heap-prof`.

Generates a heap snapshot each time the process receives the specified signal.
`signal` must be a valid signal name. Disabled by default.

Expand All @@ -271,6 +322,17 @@ This flag exists to aid in experimentation with the internal implementation of
the Node.js http parser.
This flag is likely to become a no-op and removed at some point in the future.

### `--http-server-default-timeout=milliseconds`
<!-- YAML
added: v12.4.0
-->

Overrides the default value of `http`, `https` and `http2` server socket
timeout. Setting the value to 0 disables server socket timeout. Unless
provided, http server sockets timeout after 120s (2 minutes). Programmatic
setting of the timeout takes precedence over the value set through this
flag.

### `--icu-data-dir=file`
<!-- YAML
added: v0.11.15
Expand Down Expand Up @@ -921,9 +983,11 @@ Node.js options that are allowed are:
- `--experimental-repl-await`
- `--experimental-report`
- `--experimental-vm-modules`
- `--experimental-wasm-modules`
- `--force-fips`
- `--frozen-intrinsics`
- `--heapsnapshot-signal`
- `--http-server-default-timeout`
- `--icu-data-dir`
- `--inspect`
- `--inspect-brk`
Expand Down
30 changes: 19 additions & 11 deletions doc/api/deprecations.md
Original file line number Diff line number Diff line change
Expand Up @@ -796,7 +796,9 @@ changes:

Type: Deprecation revoked

The [`fs.lchown(path, uid, gid, callback)`][] API is deprecated.
The [`fs.lchown(path, uid, gid, callback)`][] API was deprecated. The
deprecation was revoked because the requisite supporting APIs were added in
libuv.

<a id="DEP0038"></a>
### DEP0038: fs.lchownSync(path, uid, gid)
Expand All @@ -816,7 +818,8 @@ changes:

Type: Deprecation revoked

The [`fs.lchownSync(path, uid, gid)`][] API is deprecated.
The [`fs.lchownSync(path, uid, gid)`][] API was deprecated. The deprecation was
revoked because the requisite supporting APIs were added in libuv.

<a id="DEP0039"></a>
### DEP0039: require.extensions
Expand Down Expand Up @@ -1364,7 +1367,7 @@ The `NODE_REPL_MODE` environment variable is used to set the underlying
removed. Please use `sloppy` instead.

<a id="DEP0066"></a>
### DEP0066: outgoingMessage.\_headers, outgoingMessage.\_headerNames
### DEP0066: OutgoingMessage.prototype.\_headers, OutgoingMessage.prototype.\_headerNames
<!-- YAML
changes:
- version: v12.0.0
Expand All @@ -1377,15 +1380,18 @@ changes:

Type: Runtime

The `http` module `outgoingMessage._headers` and `outgoingMessage._headerNames`
properties are deprecated. Use one of the public methods
(e.g. `outgoingMessage.getHeader()`, `outgoingMessage.getHeaders()`,
`outgoingMessage.getHeaderNames()`, `outgoingMessage.hasHeader()`,
`outgoingMessage.removeHeader()`, `outgoingMessage.setHeader()`) for working
with outgoing headers.
The `http` module `OutgoingMessage.prototype._headers` and
`OutgoingMessage.prototype._headerNames` properties are deprecated. Use one of
the public methods (e.g. `OutgoingMessage.prototype.getHeader()`,
`OutgoingMessage.prototype.getHeaders()`,
`OutgoingMessage.prototype.getHeaderNames()`,
`OutgoingMessage.prototype.hasHeader()`,
`OutgoingMessage.prototype.removeHeader()`,
`OutgoingMessage.prototype.setHeader()`) for working with outgoing headers.

The `outgoingMessage._headers` and `outgoingMessage._headerNames` properties
were never documented as officially supported properties.
The `OutgoingMessage.prototype._headers` and
`OutgoingMessage.prototype._headerNames` properties were never documented as
officially supported properties.

<a id="DEP0067"></a>
### DEP0067: OutgoingMessage.prototype.\_renderHeaders
Expand Down Expand Up @@ -2317,6 +2323,8 @@ changes:
description: Runtime deprecation.
-->

Type: Runtime

The undocumented `net._setSimultaneousAccepts()` function was originally
intended for debugging and performance tuning when using the `child_process`
and `cluster` modules on Windows. The function is not generally useful and
Expand Down
Loading