Node v12.2.0 (Current)

By Michaël Zasso,

Notable changes

  • deps:
    • Updated llhttp to 1.1.3. This fixes a bug that made Node.js' HTTP parser refuse any request URL that contained the "|" (vertical bar) character (Fedor Indutny) #27595.
  • tls:
    • Added an enableTrace() method to TLSSocket and an enableTrace option to tls.createServer(). When enabled, TSL packet trace information is written to stderr. This can be used to debug TLS connection problems (cjihrig) #27497, (Sam Roberts) #27376.
  • cli:
    • Added a --trace-tls command-line flag that enables tracing of TLS connections without the need to modify existing application code (cjihrig) #27497.
    • Added a --cpu-prof-interval command-line flag. It can be used to specify the sampling interval for the CPU profiles generated by --cpu-prof (Joyee Cheung) #27535.
  • module:
    • Added the createRequire() method. It allows to create a require function from a file URL object, a file URL string or an absolute path string. The existing createRequireFromPath() method is now deprecated (Myles Borins) #27405.
    • Throw on require('./path.mjs'). This is technically a breaking change that should have landed with Node.js 12.0.0. It is necessary to have this to keep the possibility for a future minor version to load ES Modules with the require function (Myles Borins) #27417.
  • repl:
    • The REPL now supports multi-line statements using BigInt literals as well as public and private class fields and methods (Ruben Bridgewater) #27400.
    • The REPL now supports tab autocompletion of file paths with fs methods (Anto Aravinth) #26648.
  • meta:

Commits

  • [c0ab2a141b] - assert: use new language features (Ruben Bridgewater) #27400
  • [4b3d0d1953] - async_hooks: fixup do not reuse HTTPParser (Gerhard Stoebich) #27477
  • [cfc7bdd303] - benchmark: add benchmark for node -p (Joyee Cheung) #27320
  • [53eefeb73e] - buffer: remove unreachable code (Rich Trott) #27445
  • [cac584d260] - buffer,errors: improve bigint, big numbers and more (Ruben Bridgewater) #27228
  • [22a5a05785] - build: delegate building from Makefile to ninja (Refael Ackermann) #27504
  • [67205f5941] - build: remove unsupported Python 2.6 from configure (cclauss) #27381
  • [615d386390] - child_process: only stop readable side of stream passed to proc (Anna Henningsen) #27373
  • [8e876e60aa] - console: use consolePropAttributes for k-bind properties (reland) (Ruben Bridgewater) #27352
  • [55804e1726] - deps: update llhttp to 1.1.2 (Fedor Indutny) #27513
  • [f142363cfa] - deps: update llhttp to 1.1.3 (Fedor Indutny) #27595
  • [5f72246499] - deps: add acorn stage-3 plugins (Ruben Bridgewater) #27400
  • [230a773e32] - (SEMVER-MINOR) deps: update archs files for OpenSSL-1.1.1b (Sam Roberts) #27376
  • [b68132e01a] - (SEMVER-MINOR) deps: configure OpenSSL's SSL_trace to be built (Sam Roberts) #27376
  • [7c25dce7ba] - deps: V8: cherry-pick 5d0cf6b (Joyee Cheung) #27423
  • [2c3c0d7d3e] - doc: add cclauss to collaborators (cclauss) #27554
  • [b51dcf62b8] - doc: add Electron 6 to abi_version_registry (Jeremy Apthorp) #27288
  • [cb97de7a9b] - doc: move James back onto TSC (Michael Dawson) #27411
  • [a9748bc124] - doc: describe API ERR_INVALID_PROTOCOL context (Sam Roberts) #27393
  • [a0353fdbe2] - fs: align fs.ReadStream buffer pool writes to 8-byte boundary (ptaylor) #24838
  • [7be1e0af44] - fs: added tests for util file preprocessSymlinkDestination (Ruwan Geeganage) #27468
  • [f882c9b09b] - (SEMVER-MINOR) http: servername === false should disable SNI (Fedor Indutny) #27316
  • [de337bb37c] - (SEMVER-MINOR) inspector: implement --cpu-prof-interval (Joyee Cheung) #27535
  • [9c842f4119] - lib: remove Reflect.apply where appropriate (Anatoli Papirovski) #27349
  • [47d311b3f0] - lib: remove outdated optimizations (Weijia Wang) #27380
  • [c2a03d58c3] - lib: print to stdout/stderr directly instead of using console (Joyee Cheung) #27320
  • [b68ecf3e17] - meta: move andrasq to Collaborator Emeriti list (Rich Trott) #27546
  • [fd17f37a83] - meta: move stefanmb to Collaborator Emeriti list (Rich Trott) #27502
  • [8495e8bceb] - meta: move Forrest Norvell to Collaborator Emeriti list (Rich Trott) #27437
  • [7d1c90b614] - meta: move @vsemozhetbyt to collaborator emeriti (Vse Mozhet Byt) #27412
  • [014a9fd46f] - module: throw on require('./path.mjs'); (Myles Borins) #27417
  • [5bcd7700ca] - (SEMVER-MINOR) module: add createRequire method (Myles Borins) #27405
  • [be9a1ec1d1] - module: allow passing a directory to createRequireFromPath (Gilles De Mey) #23818
  • [e5fdc30bd1] - n-api: make napi_get_property_names return strings (Anna Henningsen) #27524
  • [826fb66729] - process: compatibility patch to backport 1d022e8 (Ruben Bridgewater) #27483
  • [91b7f5e103] - process: improve cwd performance (Ruben Bridgewater) #27224
  • [05cea679a3] - repl: handle stage-3 language features properly (Ruben Bridgewater) #27400
  • [01d632d7e8] - repl: add new language features to top level await statements (Ruben Bridgewater) #27400
  • [149412ca02] - repl: add autocomplete for filesystem modules (Anto Aravinth) #26648
  • [a55457c713] - report: use const reference in node_report.cc (gengjiawen) #27479
  • [8724229155] - src: make deleted function public in node_native_module.h (gengjiawen) #27509
  • [1489d12735] - src: make deleted function public in node_main_instance.h (gengjiawen) #27509
  • [294d2ea71d] - (SEMVER-MINOR) src: refactor V8ProfilerConnection::DispatchMessage() (Joyee Cheung) #27535
  • [a758f9bdf5] - src: remove node_options-inl.h from header files (Sam Roberts) #27538
  • [bb373d0def] - src: remove unnecessary semicolons after macros (Yang Guo) #27529
  • [0c9bc02b96] - src: refactor V8ProfilerConnection to be more reusable (Joyee Cheung) #27475
  • [c787bb85cd] - src: refactor profile initialization (Joyee Cheung) #27475
  • [600048b1b7] - src: move Environment::context out of strong properties (Joyee Cheung) #27430
  • [33702913b1] - src: prefer v8::Global over node::Persistent (Anna Henningsen) #27287
  • [9d6d45e7d2] - stream: remove TODO and add a description instead (Ruben Bridgewater) #27086
  • [bb1eaeec75] - test: mark test-tls-enable-trace-cli flaky (cjihrig) #27559
  • [d648ecc488] - test: improve test-async-hooks-http-parser-destroy (Rich Trott) #27319
  • [ca720b3a55] - test: converting NghttpError to string in HTTP2 module (Ruwan Geeganage) #27506
  • [99e4a576eb] - test: add mustCall to openssl-client-cert-engine (Boxuan Li) #27474
  • [e1d88aa880] - test: document NODE_COMMON_PORT env var (cjihrig) #27507
  • [66cf706521] - test: allow EAI_FAIL in test-http-dns-error.js (cjihrig) #27500
  • [df4246e3b6] - test: refactor and deflake test-tls-sni-server-client (Luigi Pinca) #27426
  • [a278814818] - test: make sure weak references are not GCed too early (Ruben Bridgewater) #27482
  • [aa281d284a] - test: better output for test-report-uv-handles.js (gengjiawen) #27479
  • [86c27c6005] - test: add mustcall in test-net-bytes-read.js (imhype) #27471
  • [33fead3f5e] - Revert "test: skip test-cpu-prof in debug builds with code cache" (Anna Henningsen) #27469
  • [a9a85d6271] - test: check napi_get_reference_value() during finalization (Anna Henningsen) #27470
  • [16af9435a0] - test: remove flaky designation for test-tls-sni-option (Luigi Pinca) #27425
  • [1b94d025bc] - test: add missing line breaks to keep-alive header of slow headers test (Shuhei Kagawa) #27442
  • [fefbbd90af] - test: add tests for new language features (Ruben Bridgewater) #27400
  • [3711684ccf] - test: add mustCall for parallel/test-net-connect-paused-connection (sujunfei) #27463
  • [0e4f8788eb] - test: add mustCallAtLeast to test-fs-read-stream-resume.js (heben) #27456
  • [e89b6fee3a] - test: adding mustCall in test-fs-readfile-empty.js (陈健) #27455
  • [457549b67d] - test: add common.mustCall in test-http-abort-client.js (OneNail) #27449
  • [f4124d5ba5] - test: add mustCall to http-abort-queued test (Yaphet Ye) #27447
  • [e21f035666] - test: add mustCall in test-fs-readfilesync-pipe-large.js (sinoon) #27458
  • [1dd0205f10] - test: add mustCall to test-dgram-connect-send-multi-buffer-copy.js (XGHeaven) #27465
  • [0dfe5bebb2] - test: add test of policy about parse error (Daiki Ihara) #26873
  • [eeab007b25] - test: add mustCall to test-net-after-close test (xuqinggang) #27459
  • [c1b04652f5] - test: add "mustCall" to test-fs-readfile-unlink (wuchenkai) #27453
  • [b6c65c1351] - test: add missing ToC entries (cjihrig) #27434
  • [66bff5071f] - test: document report helper module (cjihrig) #27434
  • [2c335928cd] - test: document NODE_SKIP_FLAG_CHECK (cjihrig) #27434
  • [115d06cdbb] - test: document NODE_TEST_KNOWN_GLOBALS (cjihrig) #27434
  • [51fc672da9] - test: add mustCallAtLeast to test-fs-read-stream-inherit (nilianzhu) #27457
  • [4b9d109518] - test: add mustCall to test-dgram-implicit-bind.js (Chenxi Yuan) #27452
  • [c4d67f2af5] - test: add common.mustCall test-dgram-listen-after-bind (zhoujiamin) #27454
  • [23fb430e03] - test: add mustCall to test-dgram-connect-send-callback-buffer (shenchen) #27466
  • [a37ca245ff] - test: add mustCallAtLeast to test-fs-read-stream-fd test (hardfist) #27461
  • [cf84f20453] - test: skip fs-copyfile-respect-permission if root (Daniel Bevenius) #27378
  • [7d80999454] - test: add mustCall to net-can-reset-timeout (xinyulee) #27462
  • [9fa5ba8b3c] - test: add mustCall to test-fs-readfile-pipe-large (luoyu) #27460
  • [e8d5b6226a] - test: add "mustCall" for test-net-buffersize (lixin.atom) #27451
  • [d784ecb1ad] - test: add mustCall to test-net-eaddrinuse test (tongshouyu) #27448
  • [6fd1384a43] - test: add mustcall in test-dgram-connect-send-callback-buffer-length (jyjunyz) #27464
  • [7a35077197] - test: add mustCall to test-fs-readfile-pipe (tonyhty) #27450
  • [af29ae0344] - test: add mustCall to net-connect-buffer test (Rongjian Zhang) #27446
  • [bdabf699eb] - (SEMVER-MINOR) tls: add --tls-min-v1.2 CLI switch (Sam Roberts) #27520
  • [7bbf951095] - tls: disallow conflicting TLS protocol options (Sam Roberts) #27521
  • [84a2768c25] - (SEMVER-MINOR) tls: support enableTrace in TLSSocket() (cjihrig) #27497
  • [576fe339a1] - (SEMVER-MINOR) tls: simplify enableTrace logic (cjihrig) #27497
  • [30a72e8c7b] - (SEMVER-MINOR) tls: allow enabling the TLS debug trace (Sam Roberts) #27376
  • [f1efe6dae0] - (SEMVER-MINOR) tls,cli: add --trace-tls command-line flag (cjihrig) #27497
  • [3d37414002] - tools: fix node-core/required-modules eslint rule (Ben Noordhuis) #27545
  • [29e2793a87] - tools: add Release and Debug symlinks to .gitignore (Gerhard Stoebich) #27484
  • [76af4f0d05] - tools: prohibit assert.doesNotReject() in Node.js core (Ruben Bridgewater) #27402
  • [95498df1cf] - util: inspect constructor closer (Ruben Bridgewater) #27522
  • [7b5bd93ced] - util: compatibility patch to backport d0667e8 (Ruben Bridgewater) #27570
  • [52d4f1febf] - util: improve function inspection (Ruben Bridgewater) #27227
  • [caab7d4664] - util: better number formatters (Ruben Bridgewater) #27499

Windows 32-bit Installer: https://nodejs.org/dist/v12.2.0/node-v12.2.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.2.0/node-v12.2.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.2.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.2.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.2.0/node-v12.2.0.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.2.0/node-v12.2.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.2.0/node-v12.2.0.tar.gz
Other release files: https://nodejs.org/dist/v12.2.0/
Documentation: https://nodejs.org/docs/v12.2.0/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

94533317caae6c62ba0d139641e3d873cd678cc9a1105c96f89c423fdea46b76  node-v12.2.0-aix-ppc64.tar.gz
c72ae8a2b989138c6e6e9b393812502df8c28546a016cf24e7a82dd27e3838af  node-v12.2.0-darwin-x64.tar.gz
58fc2de3b6c414a7c446b9e27db5d8bc6bb0763fe262d389a1e748812c7ed97c  node-v12.2.0-darwin-x64.tar.xz
6e1e8c4b72602308a5c7b193a2efcdd2844cca4b4db48c421b6ae5bb7e6e76d1  node-v12.2.0-headers.tar.gz
7f646cee03427a17a7f3a5c68655d2ca288987fae58ec04e1c51f011f38e9f30  node-v12.2.0-headers.tar.xz
abc9adedbbbd48f46163399c0f7a7948c14df184cb500b925c6980c921988d13  node-v12.2.0-linux-arm64.tar.gz
42e4a5c6ad0b402e281daf46a27a269249bdb8b4e31ff8869701aaddac2cc8c4  node-v12.2.0-linux-arm64.tar.xz
a8345403a7daf60a6119afa24d61cedae3fab8e80f34dc8754a826e710fe3b44  node-v12.2.0-linux-armv7l.tar.gz
271462ffabec18aacc575961c7d7970ce2c0c7e07a5bb52c99b0ec2588474e1f  node-v12.2.0-linux-armv7l.tar.xz
5100db086cf075599a66056ff08ec555b41fd0510cfbf8c40340a9380671fbbe  node-v12.2.0-linux-ppc64le.tar.gz
2e56fecce454a93a13fe49f7130869d473a029177d1c2dcf5667677ff03040ac  node-v12.2.0-linux-ppc64le.tar.xz
e7989a9ca7da772742f421fe3cd6045629543ab23b9bfebae17f3bb924dfc1ff  node-v12.2.0-linux-s390x.tar.gz
1cdab471441cfaca2f58c2349d85ba376cac6878edfbe3ece0586342c47f5d20  node-v12.2.0-linux-s390x.tar.xz
ba6afb9967ea6934d0807e0f79da80e063601d91c98da12bda3cf4675720bfb2  node-v12.2.0-linux-x64.tar.gz
89059969861606e2a435ff2619c4df6f41c040120e507d9c4f03374353357307  node-v12.2.0-linux-x64.tar.xz
80a45502c1a5810f6ae87935b2a9f1612d4cd76cdccddc490dca6d0cbdfa8c3d  node-v12.2.0.pkg
d843ca0a05c63f59c335450097015257cb99654fa2ec8763135731633ca614a1  node-v12.2.0-sunos-x64.tar.gz
bbe5e463b90fd8f44ad06d5894124ea88181947b291d6cb4bbb492fcfacb97d3  node-v12.2.0-sunos-x64.tar.xz
55f935d35ee201f47fb3b79fdb249dae0ba25f3e98190cfc548a9e3d30c90979  node-v12.2.0.tar.gz
c5d19744fa506ae1e4bc963dcf760267c6ff2193ecd0f3be56acb69db1477983  node-v12.2.0.tar.xz
cb65032a92702fd3506f860888c74ca77fb70d60732d1f7458528cc3b44c28c9  node-v12.2.0-win-x64.7z
c1e7fb3c1c15d8f2ab5c1db9c9662097f9c682164b3f7397955ccce946442c97  node-v12.2.0-win-x64.zip
59eaa4659267c5aef27e870d8fb7af7b4fde17e755fad747d7eb5c781a858e7b  node-v12.2.0-win-x86.7z
0f9192f071777e000e18e5254b19473e00bee9ba4f7c2c8460c8bcf4866d3925  node-v12.2.0-win-x86.zip
6aaa1fb3015572af480091c06ecb25f77a6535268a05dd2362b24c9338420cbb  node-v12.2.0-x64.msi
e6a329727b363c6f9ce295957bcf62ea69925ac517dedc8e9d1333466c169408  node-v12.2.0-x86.msi
d7eb6406181d4ea3d32f22c0665b85a9593a0f215e61ca61903d2f493202aed8  win-x64/node.exe
76876e9a1a292e511c7f4a9f842d3d0a4059391c6a7460d53061beecc0a7340b  win-x64/node.lib
4f8ac717d8228b81d09ab3349cf02333bdc4fd0941507bfcf082a5c0f3df9584  win-x64/node_pdb.7z
e4ef3364dcf762d9fd118d65778487888fce0a1000951ff0209a3d42245d9480  win-x64/node_pdb.zip
7222b07bb7396fb60be5a0eb9401bb7e00b4577cd1bc50253cfeddbb6c20d47d  win-x86/node.exe
80e632bbfeaadbfa8aa630ee9a1f56719ffad468cb4b0aad31b3c9a19f0d0511  win-x86/node.lib
1a33e3a99dc5bc19b8482b38f7e6d2e9fff4e1578058184be5f0232373e23a93  win-x86/node_pdb.7z
4edaffecfc9bb2c82718cbd9731978aa455f8d6a75a62502f24251045c23a9dd  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAlzR0PUACgkQdw96mlrh
VgCXYw//S5Du8jkBoai4rGegryZ7nshBm4aM2iR3ksipl/O/+aPjZMX0qtpNr9XI
TlnkxyEwdf+mjXzJZ6kXkx4T1mH5umULomu5Q7qoEzFSqXnxbvfnjzNZXDzSi5s8
ZOBtuGzxQrWfrxA5EOU5ViIw5knwoSyftT+O5TqgYGC+pnbFVoIAK/lRQ/tXrAdD
rpiMp6NOhU/VI2uVokWMnbhNbM5mmioiyjMsskAG52YMU74mYMT7nKJ39aQfDr7y
f664SeGzUCBxbYHUzjb6Il6Qyn+4GWnrr1Zw+fbG67vOV/hLNkTFf6WiHahCCAto
VZfatXTJPcjL1Psv1mGs+YrqtmSngob4TBpOh6Oq4mrxRTz+Wpi11+SC9y4zmvPg
d8VFrXo4urXd86oD4pAGSqmdoz8qJ3oRmMVzjgWBjaUQOZF+mt9+nH29p0DyDW6d
Uhl/5SUZd+So84209R9yoZ0luPx8RYpVPJVqXtUEt8u3bxqKuNZZ3krJ24/3lKYk
SLpMzzmWjSXm25OCVmeYxNcRYNQkyfQ5TshqyRbvvwZMgU6O/AApJIhjYkVesWPr
GIyG+yx6OIUsbZoZu6CPMhpmml7VZEtQPrNrs7cffy6Y1w22V/h6jT1k8OajyqA8
AOZut3Nsv0yQ7zzc9me+8uOFLrS7A29mFT6wuXsrGHkpls/g/gA=
=UY1y
-----END PGP SIGNATURE-----

Вверх