Notable changes
- doc:
- The JSON variant of the API documentation is no longer experimental (Rich Trott) #27842.
- esm:
- JSON module support is always enabled under
--experimental-modules
. The
--experimental-json-modules
flag has been removed (Myles Borins) #27752.
- http,http2:
- A new flag has been added for overriding the default HTTP server socket
timeout (which is two minutes). Pass
--http-server-default-timeout=milliseconds
or --http-server-default-timeout=0
to respectively change or disable the timeout.
Starting with Node.js 13.0.0, the timeout will be disabled by default (Ali Ijaz Sheikh) #27704.
- inspector:
- Added an experimental
--heap-prof
flag to start the V8 heap profiler
on startup and write the heap profile to disk before exit (Joyee Cheung) #27596.
- stream:
- The
readable.unshift()
method now correctly converts strings to buffers.
Additionally, a new optional argument is accepted to specify the string's
encoding, such as 'utf8'
or 'ascii'
(Marcos Casagrande) #27194.
- v8:
- The object returned by
v8.getHeapStatistics()
has two new properties:
number_of_native_contexts
and number_of_detached_contexts
(Yuriy Vasiyarov) #27933.
Commits
- [
5bbc6d79c3
] - assert: remove unreachable code (Rich Trott) #27840
- [
530e63a4eb
] - assert: remove unreachable code (Rich Trott) #27786
- [
9b08c458be
] - build,aix: link with noerrmsg
to eliminate warnings (Refael Ackermann) #27773
- [
08b0ca9645
] - build,win: create junction instead of symlink to out\\%config%
(Refael Ackermann) #27736
- [
ea2d550507
] - child_process: move exports to bottom for consistent code style (himself65) #27845
- [
a9f95572c3
] - child_process: remove extra shallow copy (zero1five) #27801
- [
449ee8dd42
] - console: fix table() output (Brian White) #27917
- [
9220a68a76
] - crypto: fix KeyObject handle type error message (Alexander Avakov) #27904
- [
3b6424fa29
] - deps: histogram: unexport symbols (Ben Noordhuis) #27779
- [
ef25ac5223
] - doc: clarify wording in modules.md (Alex Temny) #27853
- [
c683cd99d7
] - doc: improve explanation for directory with fs.rename() (Rich Trott) #27963
- [
70b485478c
] - doc: fix the wrong name of AssertionError (Kyle Zhang) #27982
- [
11c3ddb4cb
] - doc: simplify system call material in doc overview (Rich Trott) #27966
- [
c56640138a
] - doc: warn about relying on fs gc close behavior (Benjamin Gruenbaum) #27972
- [
bab9f5a891
] - doc: add information to revoked deprecations (cjihrig) #27952
- [
f4fc75d245
] - doc: add missing status to DEP0121 (cjihrig) #27950
- [
77ff597faa
] - doc: add missing --experimental-wasm-modules docs (cjihrig) #27948
- [
6ca4f03ccf
] - doc: revise additional Experimental status text (Rich Trott) #27931
- [
a1788de0a4
] - doc: adds link to nightly code coverage report (Tariq Ramlall) #27922
- [
b7cd0de145
] - doc: fix typo in pipe from async iterator example (Luigi Pinca) #27870
- [
f621b8f178
] - doc: reword Experimental stability index (Rich Trott) #27879
- [
7a7fc4e7e6
] - doc: update n-api support matrix (teams2ua) #27567
- [
9d9b32eff5
] - doc: fix for OutgoingMessage.prototype._headers/_headerNames (Daniel Nalborczyk) #27574
- [
263e53317b
] - doc: reposition "How to Contribute" README section (Anish Asrani) #27811
- [
85f505c292
] - doc: add version info for types (Michael Dawson) #27754
- [
e3bb2aef60
] - doc: remove experimental status for JSON documentation (Rich Trott) #27842
- [
6981565c20
] - doc: edit stability index overview (Rich Trott) #27831
- [
1a8e67cc1f
] - doc: simplify contributing documentation (Rich Trott) #27785
- [
041b2220be
] - doc,n-api: fix typo in N-API introduction (Richard Lau) #27833
- [
6cd64c8279
] - doc,test: clarify that Http2Stream is destroyed after data is read (Alba Mendez) #27891
- [
cc69d5af8e
] - doc,tools: get altDocs versions from CHANGELOG.md (Richard Lau) #27661
- [
e72d4aa522
] - errors: create internal connResetException (Rich Trott) #27953
- [
be1166fd01
] - esm: refactor createDynamicModule() (cjihrig) #27809
- [
e66648e887
] - (SEMVER-MINOR) esm: remove experimental status from JSON modules (Myles Borins) #27752
- [
d948656635
] - http: fix deferToConnect comments (Robert Nagy) #27876
- [
24eaeed393
] - http: fix socketOnWrap edge cases (Anatoli Papirovski) #27968
- [
8b38dfbf39
] - http: call write callback even if there is no message body (Luigi Pinca) #27777
- [
588fd0c20d
] - (SEMVER-MINOR) http, http2: flag for overriding server timeout (Ali Ijaz Sheikh) #27704
- [
799aeca134
] - http2: respect inspect() depth (cjihrig) #27983
- [
83aaef87d0
] - http2: fix tracking received data for maxSessionMemory (Anna Henningsen) #27914
- [
8c35198499
] - http2: support net.Server options (Luigi Pinca) #27782
- [
23119cacf8
] - inspector: supported NodeRuntime domain in worker (Aleksei Koziatinskii) #27706
- [
89483be254
] - inspector: more conservative minimum stack size (Ben Noordhuis) #27855
- [
512ab1fddf
] - inspector: removing checking of non existent field in lib/inspector.js (Keroosha) #27919
- [
d99e70381e
] - SEMVER-MINOR inspector: implement --heap-prof (Joyee Cheung) #27596
- [
25eb05a97a
] - lib: removed unnecessary fs.realpath options
arg check + tests (Alex Pry) #27909
- [
9b90385825
] - Revert "lib: print to stdout/stderr directly instead of using console" (Richard Lau) #27823
- [
18650579e8
] - meta: correct personal info (Refael Ackermann (רפאל פלחי)) #27940
- [
d982f0b7e2
] - meta: create github support file (Gus Caplan) #27926
- [
2b7ad122b2
] - n-api: DRY napi_coerce_to_x() API methods (Ben Noordhuis) #27796
- [
1da5acbf91
] - os: assume UTF-8 for hostname (Anna Henningsen) #27849
- [
d406785814
] - src: unimplement deprecated v8-platform methods (Michaël Zasso) #27872
- [
33236b7c54
] - (SEMVER-MINOR) src: export number_of_native_contexts and number_of_detached_contexts (Yuriy Vasiyarov) #27933
- [
1a179e1736
] - src: use ArrayBufferViewContents more frequently (Anna Henningsen) #27920
- [
b9cc4072e6
] - src: make UNREACHABLE variadic (Refael Ackermann) #27877
- [
44846aebd2
] - src: move DiagnosticFilename inlines into a -inl.h (Sam Roberts) #27839
- [
d774ea5cce
] - src: remove env-inl.h from header files (Sam Roberts) #27755
- [
02f794a53f
] - src: remove memory_tracker-inl.h from header files (Sam Roberts) #27755
- [
940577bd76
] - src: move ThreadPoolWork inlines into a -inl.h (Sam Roberts) #27755
- [
c0cf17388c
] - src: ignore SIGXFSZ, don't terminate (ulimit -f) (Ben Noordhuis) #27798
- [
a47ee80114
] - (SEMVER-MINOR) stream: convert string to Buffer when calling unshift(\<string\>)
(Marcos Casagrande) #27194
- [
5eccd642ef
] - stream: convert existing buffer when calling .setEncoding (Anna Henningsen) #27936
- [
6a5ce36fb8
] - test: handle unknown message type in worker threads (Rich Trott) #27995
- [
182725651b
] - test: add coverage for unserializable worker thread error (Rich Trott) #27995
- [
887dd604f1
] - test: simplify fs promises test (Daniel Nalborczyk) #27242
- [
9229825496
] - test: covering destroying when worker already disconnected (Keroosha) #27896
- [
10bdd13972
] - test: rename test-performance to test-perf-hooks (Ujjwal Sharma) #27969
- [
6129376cd9
] - test: add coverage for sparse array maxArrayLength (went.out) #27901
- [
38e3827ca8
] - test: add util inspect null getter test (Mikhail Kuklin) #27884
- [
0e1ce2055e
] - test: rsa-pss generateKeyPairSync invalid option hash (Evgenii Shchepotev) #27883
- [
0d74198123
] - test: cover import of a *.node file with a policy manifest (Evgenii Shchepotev) #27903
- [
6f9aa3f722
] - test: add test cases for paramEncoding 'explicit' (oksana) #27900
- [
682319f449
] - test: switch assertEqual arguments (Evgenii Shchepotev) #27910
- [
b5b234deff
] - test: add testcase for SourceTextModule custom inspect (Grigory Gorshkov) #27889
- [
630cc3ac30
] - test: cover util.inspect on boxed primitive with colors (Alexander Avakov) #27897
- [
67b692bdb9
] - test: add test case for checking typeof mgf1Hash (Levin Eugene) #27892
- [
2a509d40f4
] - test: switch assertEqual arguments (Evgenii Shchepotev) #27912
- [
3ba354aaaa
] - test: add test for util.inspect (Levin Eugene) #27906
- [
313077ea62
] - test: expect wpt/encoding/encodeInto.any.js to fail (Joyee Cheung) #27860
- [
8fc6914d09
] - test: update wpt/encoding to 7287608f90 (Joyee Cheung) #27860
- [
0f86c2b185
] - test: run WPT in subdirectories (Joyee Cheung) #27860
- [
51ccdae445
] - test: expect wpt/encoding/streams to fail (Joyee Cheung) #27860
- [
652cadba1c
] - test: fix arguments order of comparsion functions (martyns0n) #27907
- [
b117f6d5d8
] - test: switch assertEqual arguments (Evgenii Shchepotev) #27913
- [
e7966bcb80
] - test: unhardcode server port (MurkyMeow) #27908
- [
b83571d236
] - test: add a test case for the path.posix.resolve (Grigorii K. Shartsev) #27905
- [
f5bb1b380f
] - test: switch actual value argument and expected in deepStrictEqual call (Kopachyov Vitaliy) #27888
- [
531669b917
] - test: fix test-http2-multiheaders-raw (Grigorii K. Shartsev) #27885
- [
724d9c89bc
] - test: change expected and actual values in assert call (oksana) #27881
- [
34ef9e4a2b
] - test: detect missing postmortem metadata (cjihrig) #27828
- [
bfcbab4c0c
] - test: fix test-https-agent-additional-options (Rich Trott) #27830
- [
a4c1fd5ffc
] - test: refactor test-https-agent-additional-options (Rich Trott) #27830
- [
17abc8c942
] - test: favor arrow functions for anonymous callbacks (Rich Trott) #27830
- [
155b947251
] - test: replace flag with option (Rich Trott) #27830
- [
144db48b6d
] - test: update wpt/url to 418f7fabeb (Joyee Cheung) #27822
- [
65d4f734e0
] - test: use ShellTestEnvironment in WPT (Joyee Cheung) #27822
- [
a9a400e604
] - test: update wpt/resources to e1fddfbf80 (Joyee Cheung) #27822
- [
8040d8b321
] - test: increase debugging information on failure (Rich Trott) #27790
- [
6548b91835
] - tls: trace errors can show up as SSL errors (Sam Roberts) #27841
- [
0fe16edfab
] - tls: group chunks into TLS segments (Alba Mendez) #27861
- [
e8fa0671a4
] - tls: destroy trace BIO instead of leaking it (Sam Roberts) #27834
- [
10e0d7f2ac
] - tls: support the hints option (Luigi Pinca) #27816
- [
4716caa12e
] - tls: set tlsSocket.servername as early as possible (oyyd) #27759
- [
2ce24a9452
] - tools: fix js2c regression (Refael Ackermann) #27980
- [
a75a59d3e3
] - tools: update inspector_protocol to 0aafd2 (Michaël Zasso) #27770
- [
728bc2f59a
] - tools: update dependencies in tools/doc (Rich Trott) #27927
- [
b54f3e0405
] - tools: edit .eslintrc.js for minor maintainability improvements (Rich Trott) #27789
Windows 32-bit Installer: https://nodejs.org/dist/v12.4.0/node-v12.4.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.4.0/node-v12.4.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.4.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.4.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.4.0/node-v12.4.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.4.0/node-v12.4.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.4.0/node-v12.4.0.tar.gz
Other release files: https://nodejs.org/dist/v12.4.0/
Documentation: https://nodejs.org/docs/v12.4.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
b5fbeca9b72725a9825cad0a73af3f804ec01f8a7bac335fc9547c89443ad7f6 node-v12.4.0-aix-ppc64.tar.gz
aaff97d59cda775165ef966ae74e70f55f3267e86d735ed3740ae9bf1d40531e node-v12.4.0-darwin-x64.tar.gz
2457811f736d94ee33f94c6cc31cd5463ff526fc7f0d9bcc020c3c605c6077fd node-v12.4.0-darwin-x64.tar.xz
3a5bbb6ad1a5f3ba912981c13910d7c617bb8fa6b6ae2026d6aee2edcd590a45 node-v12.4.0-headers.tar.gz
00ec93780abfc32ab207c25319ac370a75f383efe84d541b5be4e29583c4ea35 node-v12.4.0-headers.tar.xz
312a7942f5fbd0aa83d6e624a06681275db2cb3c3eeaf3e452ad04aac17b6de5 node-v12.4.0-linux-arm64.tar.gz
bb2e7eabebdceb52424516dabce94cb37f55419e6ed19493916843a323c423cd node-v12.4.0-linux-arm64.tar.xz
12929c2128f740a47690c5e991c401b213a0b0923383f40ed53c1ca44ae99ec2 node-v12.4.0-linux-armv7l.tar.gz
5f3334d313804671dac22720ea8ef801efac231a1933e255beebe9217c9294d7 node-v12.4.0-linux-armv7l.tar.xz
7fc99ee4ea2fb145599e115f04f68070e221c83677a1089fc2d5a271133c6f7d node-v12.4.0-linux-ppc64le.tar.gz
6de87f20b43cd621b745f4c476965e705d3416e0acdc8acb67aa69ed62a98e99 node-v12.4.0-linux-ppc64le.tar.xz
bf7c825cdad31696bdc947a621434bbf3f48280161c333037853752591b60832 node-v12.4.0-linux-s390x.tar.gz
8dfa841d83e47db766d0ac6f7866d233276138691f3a56ff2f6e2a5c7f00d9d0 node-v12.4.0-linux-s390x.tar.xz
9a16909157e68d4e409a73b008994ed05b4b6bc952b65ffa7fbc5abb973d31e9 node-v12.4.0-linux-x64.tar.gz
9aec6a2a50c1791704a6069cbda6da62781361e44814d024e8bbaaf0deb41c5e node-v12.4.0-linux-x64.tar.xz
df5f09b785f34fe545beb43dd73d410de5f4577fe1631f88b49d736a009f93d1 node-v12.4.0.pkg
69c143a49e7f8276b8058e7dd35c07b723aa6003d0a24cd3842818328c502b7e node-v12.4.0-sunos-x64.tar.gz
b91deefabdb52ce12645e04f2d089ec8b9daa63adc9e4b4898664c7060198a64 node-v12.4.0-sunos-x64.tar.xz
cf39befb8ea486363cac6f297d8f451fd0d5dd8ad21dca51e9c2ea86b242baa0 node-v12.4.0.tar.gz
20b52366d3502c60d4aec0bd5052c841a94bf1cd5d74b2ea1e498c1a2ada8ce3 node-v12.4.0.tar.xz
0044440b9d2b6f99d5c93eee6da3ecbf9d186130e2a1c61664f03a1b52797c41 node-v12.4.0-win-x64.7z
ec8623e2528a35d3219200308e7ed41e24d4f7cd96530a4e6ac2513e44f7fad1 node-v12.4.0-win-x64.zip
b85b199e84fb3a3912481c6ccf01031857717ce91b2137e4150b0ba6aff0de7c node-v12.4.0-win-x86.7z
9240ba7da7f8704aa5d1e9caeac8914bd3d38965564c5f5a49bb9727e15b2cb4 node-v12.4.0-win-x86.zip
323a41a8c5ec6fc6f48dc853e9db886a1c23853d6d08a679907a77eda6ae5e61 node-v12.4.0-x64.msi
2bb09ebce2b62da1382f8f7b28116bea7aa37f5d1d9509e9daa4a94a76860cf7 node-v12.4.0-x86.msi
7c042a1980ba080199486ecf32272e28f205bcffcae54a1fa72c150910fbb3f8 win-x64/node.exe
5b198b078cb2924b29148de188296151ce8fca9683735c63d3104969e132bdd0 win-x64/node.lib
b83d389a4e0b4397703fd7b0f3bcf6516923d377816e009435566e68f34eb110 win-x64/node_pdb.7z
f32cb2c6d468a1bd2fa38d064eb39cfd069c49bce6a505e5de120c3d5d0925dd win-x64/node_pdb.zip
15618b6a205b8a7814122124348d0154cdfc2512682c2ab75a4f26bb78d5a44a win-x86/node.exe
094cf74776ea08a116e65d19e1facf705c2ac64e6f04c347aa4bf2293c1378c0 win-x86/node.lib
2d6e1fa44f9484a7f415109adb927ed5f558c4343e2939c3d50f7f9611c19b69 win-x86/node_pdb.7z
72b09155fce8fe93644f2af062682bcfaea1908302e12f1576189e145d07cda1 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAlz2eiAACgkQdw96mlrh
VgDfexAAlvr9rWDSXETbJBMc98KoFsguCiDPmrE1m87S70DhATfgEtmJe9gFckQj
5toAyH2m7BvgaKUiCUCadJXalciIS7i5vIP+c3H9/FQAaw/uO7a/Q4Ye+Onb5YUR
myAiBtAF9fHjyioxV7rW62LQHZukHxCREHznvLrUQ4WcB14RmR8JT6Udw1DQCrX2
GjJhAIQrS4h3fLOBf1B2On8sDq26+k17pbn++YiMd9z9053WxQJrN6xjYfRORRcg
BgISlddh1vQ/xJMtd51bt1VJU+U5a2yfyyPIcZSsbkBMlUspu3hifAhRAbSARHdw
uRQxKUmxIjoZMNyGuGx3qTRIhZkurhtKnw96ZQSTKwNx2t2x897qebYnbmTgF8un
xsVT3FA/Wq67PgZCTH3Hhn1OJICB2K9uciWV9MfH9b9VXdGY79PrTvdoLYJJMXwT
hwaMtR1zisWukpsD/cTH7ftiKB/Kt6rIS1YesmQdtpXjf+Zyejgbg6foJGsMVYZJ
44ZEoSeFxzS4AL/QCvI8X6oqbZjDyk30pgL1DmSIvIDBA/4xcWmvLLs28sMf63F5
U2lPH/is/WbmtMI2+ACvzkAZygWARNE3Vu88rpD4CKRfrcnqaQ04uxkyQRU4ZbKH
nmeLvopym5OvIbsEKvjh0S2VXAkJ1CZ4+ZKYNfaw/ggyiw6+x+0=
=XgQX
-----END PGP SIGNATURE-----