Skip to content

Latest commit

 

History

History
778 lines (746 loc) · 116 KB

CHANGELOG_V13.md

File metadata and controls

778 lines (746 loc) · 116 KB

Node.js 13 ChangeLog

Current
13.3.0
13.2.0
13.1.0
13.0.1
13.0.0

2019-12-03, Version 13.3.0 (Current), @BridgeAR

Notable Changes

  • fs:
    • Reworked experimental recursive rmdir() (cjihrig) #30644
      • The maxBusyTries option is renamed to maxRetries, and its default is set to 0. The emfileWait option has been removed, and EMFILE errors use the same retry logic as other errors. The retryDelay option is now supported. ENFILE errors are now retried.
  • http:
    • Make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • http2:
    • Make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
    • Allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • wasi:
    • Introduce initial WASI support (cjihrig) #30258

Commits

  • [4cd4e7c17a] - benchmark,doc,lib,test: prepare for padding lint rule (Rich Trott) #30696
  • [63eb4fee46] - buffer: fix 6-byte writeUIntBE() range check (Brian White) #30459
  • [e8af569200] - buffer: release buffers with free callbacks on env exit (Anna Henningsen) #30551
  • [648766bccf] - build: do not build mksnapshot and mkcodecache for --shared (Joyee Cheung) #30647
  • [6545314a4f] - build: add --without-node-code-cache configure option (Joyee Cheung) #30647
  • [80ada94cd3] - build: use Node.js instead of Node in configure (Tobias Nießen) #30642
  • [0aae502c67] - build,win: propagate error codes in vcbuild (João Reis) #30724
  • [6a53152b42] - build,win: add test-ci-native and test-ci-js (João Reis) #30724
  • [30a4f68a15] - child_process: document kill() return value (cjihrig) #30669
  • [dae36a9692] - child_process: replace var with let/const (dnlup) #30389
  • [4b13bca31a] - child_process: replace var with const/let in internal/child_process.js (Luis Camargo) #30414
  • [378c54fe97] - cluster: replace vars in child.js (EmaSuriano) #30383
  • [708e67a732] - cluster: replace var with let (Herrmann, Rene R. (656)) #30425
  • [55fbe45f69] - cluster: replace var by let in shared_handle.js (poutch) #30402
  • [4affc30a12] - crypto: automatically manage memory for ECDSA_SIG (Tobias Nießen) #30641
  • [55c2ac70b7] - crypto: remove redundant validateUint32 argument (Tobias Nießen) #30579
  • [0ba877a541] - deps: V8: cherry-pick 0dfd9ea51241 (bcoe) #30713
  • [b470354057] - deps: patch V8 to 7.9.317.25 (Myles Borins) #30679
  • [d257448bca] - deps: update llhttp to 2.0.1 (Fedor Indutny) #30553
  • [456d250d2d] - deps: V8: backport 93f189f19a03 (Michaël Zasso) #30681
  • [aa01ebdbca] - deps: V8: cherry-pick ca5b0ec (Anna Henningsen) #30708
  • [f37450f580] - dns: use length for building TXT string (Anna Henningsen) #30690
  • [3d302ff276] - doc: fix typographical error (Rich Trott) #30735
  • [19b31c1bc5] - doc: revise REPL uncaught exception text (Rich Trott) #30729
  • [61af1fcaa1] - doc: update signature algorithm in release doc (Myles Borins) #30673
  • [a8002d92ab] - doc: update README.md to fix active/maint times (Michael Dawson) #30707
  • [f46df0b496] - doc: update socket.bufferSize text (Rich Trott) #30723
  • [cbd50262c0] - doc: note that buf.buffer's contents might differ (AJ Jordan) #29651
  • [a25626c1ed] - doc: clarify IncomingMessage.destroy() description (Sam Foxman) #30255
  • [8fcb450934] - doc: fixed a typo in process.md (Harendra Singh) #30277
  • [ad9f737e44] - doc: documenting a bit more FreeBSD case (David Carlier) #30325
  • [40b762177f] - doc: add missing 'added' versions to module.builtinModules (Thomas Watson) #30562
  • [aca0119089] - doc: fix worker.resourceLimits indentation (Daniel Nalborczyk) #30663
  • [43e78578a6] - doc: fix worker.resourceLimits type (Daniel Nalborczyk) #30664
  • [20dbce17d5] - doc: avoid proposal syntax in code example (Alex Zherdev) #30685
  • [1e7c567734] - doc: address nits for src/README.md (Anna Henningsen) #30693
  • [87136c9bde] - doc: revise socket.connect() note (Rich Trott) #30691
  • [fcde49700c] - doc: remove "this API is unstable" note for v8 serdes API (bruce-one) #30631
  • [809a2b056b] - doc: fixup incorrect flag name reference (Guy Bedford) #30651
  • [3d978839c1] - doc: minor updates to releases.md (Beth Griggs) #30636
  • [e9f031c741] - doc: add 13 and 12 to previous versions (Andrew Hughes) #30590
  • [8ab18b6b6f] - doc: update AUTHORS list (Gus Caplan) #30672
  • [329a821d25] - doc: add explanation why keep var with for loop (Lucas Recknagel) #30380
  • [426ca263c8] - doc: document "Resume Build" limitation (Richard Lau) #30604
  • [00f7cc65a1] - doc: add note of caution about non-conforming streams (Robert Nagy) #29895
  • [7d98a59c39] - doc: add note about debugging worker_threads (Denys Otrishko) #30594
  • [8ef629a78a] - doc: simplify "is recommended" language in assert documentation (Rich Trott) #30558
  • [19d192d1f0] - doc: fix a typo in a date for version 13.2.0 (Kirlat) #30587
  • [b67759a93c] - doc,deps: document how to maintain ICU in Node.js (Steven R. Loomis) #30607
  • [bfcc9142f3] - doc,n-api: mark napi_detach_arraybuffer as experimental (legendecas) #30703
  • [365f0ab09b] - esm: data URLs should ignore unknown parameters (Bradley Farias) #30593
  • [0285aa0967] - events: improve performance caused by primordials (guzhizhou) #30577
  • [3475f9b82c] - fs: add ENFILE to rimraf retry logic (cjihrig) #30644
  • [f725953433] - fs: add retryDelay option to rimraf (cjihrig) #30644
  • [51bc379243] - fs: remove rimraf's emfileWait option (cjihrig) #30644
  • [612a3a2e6c] - fs: make rimraf default to 0 retries (cjihrig) #30644
  • [fa1f87b199] - fs: rename rimraf's maxBusyTries to maxRetries (cjihrig) #30644
  • [8ee27ffe77] - fs: change var to let (Àlvar Pérez) #30407
  • [850c2a72ea] - fs: cover fs.opendir ERR_INVALID_CALLBACK (Vladislav Botvin) #30307
  • [62574087ea] - (SEMVER-MINOR) http: make maximum header size configurable per-stream or per-server (Anna Henningsen) #30570
  • [1d1d136806] - http: set socket.server unconditionally (Anna Henningsen) #30571
  • [6848bfbf65] - http: replace var with let (Guilherme Goncalves) #30421
  • [8256d38349] - http: destructure primordials in lib/_http_server.js (Artem Maksimov) #30315
  • [3b169f1dbd] - http: improve performance caused by primordials (Lucas Recknagel) #30416
  • [6f313f9ab0] - http2: fix session memory accounting after pausing (Michael Lehenbauer) #30684
  • [7d37bcebea] - (SEMVER-MINOR) http2: make maximum tolerated rejected streams configurable (Denys Otrishko) #30534
  • [092a3c28aa] - (SEMVER-MINOR) http2: allow to configure maximum tolerated invalid frames (Denys Otrishko) #30534
  • [e92afd998f] - (SEMVER-MINOR) http2: replace direct array usage with struct for js_fields_ (Denys Otrishko) #30534
  • [30ef8e4cbd] - http2: change var to let compact.js (Maria Emmanouil) #30392
  • [1a2ed4a5f4] - http2: core.js replace var with let (Daniel Schuech) #30403
  • [f7ca7e6677] - http2: replace var with let/const (Paolo Ceschi Berrini) #30417
  • [6322611077] - inspector: properly shut down uv_async_t (Anna Henningsen) #30612
  • [de3a1c3019] - lib: enforce use of primordial Number (Sebastien Ahkrin) #30700
  • [5a9340d723] - lib: use static Number properties from primordials (Michaël Zasso) #30686
  • [892bde635e] - lib: enforce use of Boolean from primordials (Michaël Zasso) #30698
  • [ae2c7d0b02] - lib: replace Date.now function by primordial DateNow (Tchoupinax) #30689
  • [c09e3deac5] - lib: replace ArrayBuffer.isView by primordial ArrayBuffer (Vincent Dhennin) #30692
  • [5ef4dceb95] - lib: enforce use of Array from primordials (Michaël Zasso) #30635
  • [a4dfe3b7dc] - lib: flatten access to primordials (Michaël Zasso) #30610
  • [b545b91de5] - lib: use let instead of var (Shubham Chaturvedi) #30375
  • [5120926337] - lib: replace var with let/const (jens-cappelle) #30391
  • [b18b056d64] - lib: replace var w/ let (Chris Oyler) #30386
  • [3796885096] - lib: replace var with let/const (Tijl Claessens) #30390
  • [ffe3040659] - lib: adding perf notes js_stream_socket.js (ryan jarvinen) #30415
  • [797b938c49] - lib: replace var with let (Dennis Saenger) #30396
  • [0b64e45e41] - lib: main_thread_only change var to let (matijagaspar) #30398
  • [d024630f44] - lib: change var to let in stream_base_commons (Kyriakos Markakis) #30426
  • [3c041edbe7] - lib: use let instead of var (Semir Ajruli) #30424
  • [d277c375fd] - lib: changed var to let (Oliver Belaifa) #30427
  • [0fd89cc0f1] - lib: replace var with let/const (Dries Stelten) #30409
  • [bdba03e3ed] - lib: change var to let (Dimitris Ktistakis) #30408
  • [48fef42ca9] - lib: replace var with let/const (Tembrechts) #30404
  • [502173b54e] - lib: replace var to let in cli_table.js (Jing Lin) #30400
  • [2cf8a7f117] - module: fix specifier resolution algorithm (Rongjian Zhang) #30574
  • [be9788bf20] - n-api: detach external ArrayBuffers on env exit (Anna Henningsen) #30551
  • [8171cef921] - (SEMVER-MINOR) n-api: implement napi_is_detached_arraybuffer (Denys Otrishko) #30613
  • [cc5875b2e6] - n-api: add missed nullptr check in napi_has_own_property (Denys Otrishko) #30626
  • [017280e6e2] - net: replaced vars to lets and consts (nathias) #30401
  • [56248a827a] - process: replace var with let/const (Jesper Ek) #30382
  • [5c40b2f9ac] - process: replace vars in per_thread.js (EmaSuriano) #30385
  • [c50bbf58da] - readline: change var to let (dnlup) #30435
  • [b91d22cc8d] - repl: fix referrer for dynamic import (Corey Farrell) #30609
  • [4e5818a456] - repl: change var to let (Oliver Belaifa) #30428
  • [e65ad865c6] - src: change header file in node_stat_watcher.cc (Reza Fatahi) #29976
  • [be84ceefb8] - src: clean up node_file.h (Anna Henningsen) #30530
  • [bccfd124b0] - src: remove unused variable in node_dir.cc (gengjiawen) #30267
  • [fc11db18fe] - src: inline SetSNICallback (Anna Henningsen) #30548
  • [7bd587ef0c] - src: use BaseObjectPtr to store SNI context (Anna Henningsen) #30548
  • [8ec0d75de7] - src: cleanup unused headers (Alexandre Ferrando) #30328
  • [6c249c0982] - src: run native immediates during Environment cleanup (Anna Henningsen) #30666
  • [bea25016d1] - src: no SetImmediate from destructor in stream_pipe code (Anna Henningsen) #30666
  • [94357db815] - src: add more can_call_into_js() guards (Anna Henningsen) #30666
  • [d54432f974] - src: keep object alive in stream_pipe code (Anna Henningsen) #30666
  • [d194c0ff37] - src: replaced var with let (Aldo Ambrosioni) #30397
  • [44f28ea155] - src: fix -Wsign-compare warnings (cjihrig) #30565
  • [1916acb3cb] - src: fix signal handler crash on close (Shelley Vohr) #30582
  • [9e9e48bf7e] - src: use uv_async_t for WeakRefs (Anna Henningsen) #30616
  • [9d8d2e1f45] - src,doc: fix broken links (cjihrig) #30662
  • [f135c38796] - src,doc: add C++ internals documentation (Anna Henningsen) #30552
  • [e968e26dbd] - stream: improve performance for sync write finishes (Anna Henningsen) #30710
  • [49e047f7a1] - test: add coverage for ERR_TLS_INVALID_PROTOCOL_VERSION (Rich Trott) #30741
  • [81d81a5904] - test: add an indicator isIBMi (Xu Meng) #30714
  • [37c70ee198] - test: use arrow functions in async-hooks tests (garygsc) #30137
  • [b5c7dad95a] - test: fix test-benchmark-streams (Rich Trott) #30757
  • [1e199ceb71] - test: move test-http-max-http-headers to parallel (Rich Trott) #30712
  • [1918b4e84f] - test: correct header length subtraction (Rich Trott) #30712
  • [1222be81e3] - test: remove unused callback argument (Rich Trott) #30712
  • [d69b9b753a] - test: simplify forEach() usage (Rich Trott) #30712
  • [01ab031cca] - test: remove unused callback argument (Rich Trott) #30712
  • [93707c4916] - test: increase coverage for trace_events.js (Rich Trott) #30705
  • [4800b623ed] - test: use arrow functions in addons tests (garygsc) #30131
  • [ba0115fe6f] - test: refactor createHook test (Jeny) #30568
  • [099d3fdf87] - test: port worker + buffer test to N-API (Anna Henningsen) #30551
  • [83861fb333] - test: revert 6d022c13 (Anna Henningsen) #30708
  • [a3b758d634] - test: move test-https-server-consumed-timeout to parallel (Rich Trott) #30677
  • [00f532f15e] - test: remove unnecessary common.platformTimeout() call (Rich Trott) #30677
  • [ecb902f33c] - test: do not skip test-http-server-consumed-timeout (Rich Trott) #30677
  • [49458deb4f] - test: remove unused function argument from http test (Rich Trott) #30677
  • [a2f440d326] - test: add logging in case of infinite loop (Rich Trott) #30649
  • [3e3ad396bd] - test: remove destructuring from test-inspector-contexts (Rich Trott) #30649
  • [3571e132a7] - test: check for session.post() errors in test-insepctor-context (Rich Trott) #30649
  • [37696320a2] - test: add mustCall() to test-inspector-contexts (Rich Trott) #30649
  • [0972fa3c16] - test: add regression test for signal handler removal in exit (Anna Henningsen) #30589
  • [5ecfd947e2] - (SEMVER-MINOR) test: update and harden http2-reset-flood (Denys Otrishko) #30534
  • [70d6fa122a] - test: skip test-domain-error-types in debug mode temporariliy (Rich Trott) #30629
  • [949f2ad528] - test: move test-worker-prof to sequential (Rich Trott) #30628
  • [d4b61709f1] - test: dir class initialisation w/o handler (Dmitriy Kikinskiy) #30313
  • [60b17b4fe6] - test: change object assign by spread operator (poutch) #30438
  • [97e627335f] - test: use useful message argument in test function (Rich Trott) #30618
  • [d651c7dd6b] - test: test for minimum ICU version consistency (Richard Lau) #30608
  • [dade9069c3] - test: code&learn var to let update (Nazar Malyy) #30436
  • [e401e8c8ed] - test: change object assign to spread object (poutch) #30422
  • [2ecc735c48] - test: use spread instead of Object.assign (dnlup) #30419
  • [d8da9dacab] - test: changed var to let in module-errors (Jamar Torres) #30413
  • [9dab32f340] - test: use spread instead of object.assign (Shubham Chaturvedi) #30412
  • [7e7a8165a8] - test: replace var with let in pre_execution.js (Vladimir Adamic) #30411
  • [8a9ee48797] - test: change var to let in test-trace-events (Jon Church) #30406
  • [d6a448825c] - test: dns utils replace var (Osmond van Hemert) #30405
  • [01e0571e94] - test: test cover cases when trace is empty (telenord) #30311
  • [f8dfa2d704] - test: switch to object spread in common/benchmark.js (palmires) #30309
  • [36671f9bf8] - test: add common.mustCall() to stream test (Rich Trott) #30561
  • [106235fe91] - test: move explanatory comment to expected location in file (Rich Trott) #30561
  • [081b4e2496] - test: move stream test to parallel (Rich Trott) #30561
  • [103d01e057] - test: remove string literal as message in strictEqual() in stream test (Rich Trott) #30561
  • [ebba3228e2] - test: use arrow function for callback in stream test (Rich Trott) #30561
  • [e122d397c0] - test: replace setTimeout with setImmediate in stream test (Rich Trott) #30561
  • [20ee4997f3] - test: refactor test-dgram-multicast-set-interface-lo.js (Taylor Gagne) #30536
  • [7aa1df7076] - tls: introduce ERR_TLS_INVALID_CONTEXT (Rich Trott) #30718
  • [0b0f0237c1] - tls: add memory tracking support to SSLWrap (Anna Henningsen) #30548
  • [89e2c71b27] - tls: allow empty subject even with altNames defined (Jason Macgowan) #22906
  • [941a91daed] - tools: enforce blank line between functions (Rich Trott) #30696
  • [5a6f836a15] - tools: add unified plugin changing links for html docs (Marek Łabuz) #29946
  • [84f7b5c752] - tools: enable more eslint rules (cjihrig) #30598
  • [5522467cf5] - tools: update ESLint to 6.7.1 (cjihrig) #30598
  • [1f10681496] - tty: truecolor check moved before 256 check (Duncan Healy) #30474
  • [6a0dd1cbbd] - util: fix .format() not always calling toString when it should be (Ruben Bridgewater) #30343
  • [1040e7222f] - util: fix inspection of errors with tampered name or stack property (Ruben Bridgewater) #30576
  • [18e9b56bf6] - util: use let instead of var for util/inspect.js (Luciano) #30399
  • [9ec53cf5c1] - (SEMVER-MINOR) wasi: introduce initial WASI support (cjihrig) #30258

2019-11-21, Version 13.2.0 (Current), @MylesBorins

Notable Changes

  • addons:
    • Deprecate one- and two-argument AtExit(). Use the three-argument variant of AtExit() or AddEnvironmentCleanupHook() instead (Anna Henningsen) #30227
  • child_process,cluster:
    • The serialization option is added that allows child process IPC to use the V8 serialization API (to e.g., pass through data types like sets or maps) (Anna Henningsen) #30162
  • deps:
    • Update V8 to 7.9
    • Update npm to 6.13.1 (Ruy Adorno) #30271
  • embedder:
    • Exposes the ability to pass cli flags / options through an API as embedder (Shelley Vohr) #30466
    • Allow adding linked bindings to Environment (Anna Henningsen) #30274
  • esm:
    • Unflag --experimental-modules (Guy Bedford) #29866
  • stream:
    • Add writable.writableCorked property (Robert Nagy) #29012
  • worker:
    • Allow specifying resource limits (Anna Henningsen) #26628
  • v8:
    • The Serialization API is now stable (Anna Henningsen) #30234

Commits

  • [b76c13ec86] - assert: replace var with let in lib/assert.js (PerfectPan) #30261
  • [7f49816e8a] - benchmark: use let instead of var in async_hooks (dnlup) #30470
  • [0130d2b6e0] - benchmark: use let instead of var in assert (dnlup) #30450
  • [9cae205f4d] - buffer: change var to let (Vladislav Botvin) #30292
  • [b5198cd3b0] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #30513
  • [f4f210adc1] - build: store cache on timed out builds on Travis (Richard Lau) #30469
  • [277e5fadf8] - (SEMVER-MINOR) build,tools: update V8 gypfiles for V8 7.9 (Michaël Zasso) #30020
  • [e51beef8d4] - (SEMVER-MINOR) child_process,cluster: allow using V8 serialization API (Anna Henningsen) #30162
  • [6bf0e40bad] - cluster: destruct primordials in lib/internal/cluster/worker.js (peze) #30246
  • [18ec8a84be] - (SEMVER-MINOR) crypto: add support for IEEE-P1363 DSA signatures (Tobias Nießen) #29292
  • [39d0a25ddd] - crypto: fix key requirements in asymmetric cipher (Tobias Nießen) #30249
  • [8c2e2ce6bf] - crypto: update root certificates (AshCripps) #30195
  • [4f282f52f0] - deps: patch V8 to 7.9.317.23 (Myles Borins) #30560
  • [9b71534d23] - deps: upgrade npm to 6.13.1 (claudiahdz) #30533
  • [f17c794faf] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.8 (from 7.9) (Michaël Zasso) #30513
  • [5a1ad570ea] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218
  • [2c6cf902b0] - (SEMVER-MINOR) deps: V8: cherry-pick 50031fae736f (Michaël Zasso) #30020
  • [1e5e8c3922] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130
  • [9c356ba91c] - (SEMVER-MINOR) deps: V8: backport 5e755c6ee6d3 (Michaël Zasso) #30020
  • [fe99841c88] - (SEMVER-MINOR) deps: V8: backport 07ee86a5a28b (Michaël Zasso) #30020
  • [5131bbe477] - (SEMVER-MINOR) deps: V8: cherry-pick 777fa98 (Michaël Zasso) #30020
  • [824e8b6f9b] - (SEMVER-MINOR) deps: V8: cherry-pick 7228ef8 (Michaël Zasso) #30020
  • [4c7acc256a] - (SEMVER-MINOR) deps: V8: cherry-pick 6b0a953 (Michaël Zasso) #30020
  • [ebef1b2308] - (SEMVER-MINOR) deps: V8: cherry-pick bba5f1f (Michaël Zasso) #30020
  • [28ca44c724] - (SEMVER-MINOR) deps: V8: cherry-pick cfe9172 (Michaël Zasso) #30020
  • [ba4abfd198] - (SEMVER-MINOR) deps: V8: cherry-pick 3e82c8d (Michaël Zasso) #30020
  • [2abdcbbe5e] - (SEMVER-MINOR) deps: V8: cherry-pick f2d92ec (Michaël Zasso) #30020
  • [46383616e3] - (SEMVER-MINOR) deps: make v8.h compatible with VS2015 (Joao Reis) #30020
  • [5bc35732aa] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl\*FunctionTable (Refael Ackermann) #27375
  • [627a804627] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [13e6b0b82a] - (SEMVER-MINOR) deps: update V8's postmortem script (Colin Ihrig) #30020
  • [a4a6565348] - (SEMVER-MINOR) deps: update V8's postmortem script (Colin Ihrig) #29694
  • [4182e3bad7] - (SEMVER-MINOR) deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #29694
  • [6566c15157] - (SEMVER-MINOR) deps: V8: silence irrelevant warnings (Michaël Zasso) #26685
  • [6018db2ef9] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [605cb9f0fc] - (SEMVER-MINOR) deps: update V8 to 7.9.317.22 (Michaël Zasso) #30513
  • [b82f63d9ca] - deps: update nghttp2 to 1.40.0 (gengjiawen) #30493
  • [401d2e9115] - deps: update npm to 6.13.0 (Ruy Adorno) #30271
  • [f8ee70c94d] - dgram: remove listeners on bind error (Anna Henningsen) #30210
  • [0433d7995a] - dgram: reset bind state before emitting error (Anna Henningsen) #30210
  • [0f8662d615] - dns: switch var to const/let (Dmitriy Kikinskiy) #30302
  • [ab887bd5f6] - doc: add mention for using promisify on class methods (Denys Otrishko) #30355
  • [9940116aba] - doc: explain GIT_REMOTE_REF in COLLABORATOR_GUIDE (Denys Otrishko) #30371
  • [027bde563d] - doc: fix overriding of prefix option (Luigi Pinca) #30518
  • [b7757533bc] - doc: update http.md mention of socket (Jesse O'Connor) #30155
  • [7f664e454b] - doc: adds NO_COLOR to assert doc page (Shobhit Chittora) #30483
  • [fba2f9a3d6] - doc: document timed out Travis CI builds (Richard Lau) #30469
  • [c40e242b32] - doc: replace const / var with let (Duncan Healy) #30446
  • [a93345b7cd] - doc: update outdated commonjs compat info (Geoffrey Booth) #30512
  • [b590533253] - doc: esm: improve dual package hazard docs (Geoffrey Booth) #30345
  • [d631a0a3e4] - doc: update 8.x to 10.x in backporting guide (garygsc) #30481
  • [7e603bed52] - doc: createRequire can take import.meta.url directly (Geoffrey Booth) #30495
  • [e4a296ce8d] - doc: add entry to url.parse() changes metadata (Luigi Pinca) #30348
  • [64cf00b0b9] - doc: simplify text in pull-requests.md (Rich Trott) #30458
  • [1e2672012f] - doc: remove "multiple variants" from BUILDING.md (Rich Trott) #30366
  • [2d16a74ff9] - doc: remove "maintenance is supported by" text in BUILDING.md (Rich Trott) #30365
  • [c832565290] - doc: add lookup to http.request() options (Luigi Pinca) #30353
  • [b8afe57e85] - doc: fix up N-API doc (Michael Dawson) #30254
  • [b558d941bd] - doc: fix some recent doc nits (vsemozhetbyt) #30341
  • [1133981eac] - doc: add link to node-code-ide-configs in testing (Trivikram Kamat) #24012
  • [041f3a306e] - doc: update divergent specifier hazard guidance (Geoffrey Booth) #30051
  • [085af30361] - doc: include --experimental-resolve-self in manpage (Guy Bedford) #29978
  • [31a3b724f0] - doc: update GOVERNANCE.md (Rich Trott) #30259
  • [15a7032d44] - doc: move inactive Collaborators to emeriti (Rich Trott) #30243
  • [fabc489dba] - doc: update examples in writing-tests.md (garygsc) #30126
  • [1836eae7a6] - doc, console: remove non-existant methods from docs (Simon Schick) #30346
  • [7ad2e024dd] - doc,meta: allow Travis results for doc/comment changes (Rich Trott) #30330
  • [2deea28070] - doc,meta: remove wait period for npm pull requests (Rich Trott) #30329
  • [7e0f90e286] - domain: rename var to let and const (Maria Stogova) #30312
  • [c2c74fc93e] - encoding: make TextDecoder handle BOM correctly (Anna Henningsen) #30132
  • [f9eab48dd0] - esm: disable non-js exts outside package scopes (Guy Bedford) #30501
  • [3d8cdf191d] - esm: unflag --experimental-modules (Guy Bedford) #29866
  • [293e8a2384] - esm: exit the process with an error if loader has an issue (Michaël Zasso) #30219
  • [45fd44c6ec] - fs: change var to let (Nadya) #30318
  • [bb6f944607] - fs: add noop stub for FSWatcher.prototype.start (Lucas Holmquist) #30160
  • [4fe62c1620] - http: revise _http_server.js (telenord) #30279
  • [62e15a793a] - http: outgoing cork (Robert Nagy) #29053
  • [50f9476a44] - http: http_common rename var to let and const (telenord) #30288
  • [b8aceace95] - http: http_incoming rename var to let and const (telenord) #30285
  • [a37ade8648] - http: replace vars with lets and consts in lib/_http_agent.js (palmires) #30301
  • [e59cc8aad8] - http,async_hooks: keep resource object alive from socket (Anna Henningsen) #30196
  • [1b84175924] - http2: remove duplicated assertIsObject (Yongsheng Zhang) #30541
  • [666588143e] - http2: use custom BaseObject smart pointers (Anna Henningsen) #30374
  • [f25b00aaca] - (SEMVER-MINOR) https: add client support for TLS keylog events (Sam Roberts) #30053
  • [88da3af6f6] - https: change var to let in lib/https.js (galina.prokofeva) #30320
  • [f15a3b0281] - lib: replace var with let (David OLIVIER) #30381
  • [31a63ab1ec] - lib: replace var with let and const in readline.js (VinceOPS) #30377
  • [3eeeea419d] - lib: change var to let/const in internal/querystring.js (Artem Maksimov) #30286
  • [f10608655b] - lib: change var to let in internal/streams (Kyriakos Markakis) #30430
  • [3ce6e15844] - lib: replace var with let/const (Kenza Houmani) #30440
  • [d37d340472] - lib: change var to let in string_decoder (mkdorff) #30393
  • [9a1c16eda4] - lib: replaced var to let in lib/v8.js (Vadim Gorbachev) #30305
  • [3e4a6a5968] - lib: change var to let in lib/_stream_duplex.js (Ilia Safronov) #30297
  • [c7c566023f] - module: reduce circular dependency of internal/modules/cjs/loader (Joyee Cheung) #30349
  • [e98d89cef9] - module: conditional exports with flagged conditions (Guy Bedford) #29978
  • [caedcd9ef9] - module: fix for empty object in InternalModuleReadJSON (Guy Bedford) #30256
  • [66e1adf200] - net: destructure primordials (Guilherme Goncalves) #30447
  • [9230ffffd0] - net: replaced vars to lets and consts (alexahdp) #30287
  • [9248c8b960] - path: replace var with let in lib/path.js (peze) #30260
  • [e363f8e17f] - process: add coverage tests for sourceMapFromDataUrl method (Nolik) #30319
  • [7b4187413e] - process: make source map getter resistant against prototype tampering (Anna Henningsen) #30228
  • [183464a24d] - querystring: replace var with let/const (Raoul Jaeckel) #30429
  • [7188b9599d] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #30549
  • [966404fd24] - src: add file name to 'Module did not self-register' error (Jeremy Apthorp) #30125
  • [21dd6019ec] - (SEMVER-MINOR) src: expose ArrayBuffer version of Buffer::New() (Anna Henningsen) #30476
  • [2e43686c5a] - src: mark ArrayBuffers with free callbacks as untransferable (Anna Henningsen) #30475
  • [564c18e214] - src: remove HandleWrap instances from list once closed (Anna Henningsen) #30374
  • [4222f2400a] - src: remove keep alive option from SetImmediate() (Anna Henningsen) #30374
  • [940a2972b2] - src: use BaseObjectPtr for keeping channel alive in dns bindings (Anna Henningsen) #30374
  • [a2dbadc1ce] - src: introduce custom smart pointers for BaseObjects (Anna Henningsen) #30374
  • [1a92c88418] - src: migrate off ArrayBuffer::GetContents (Anna Henningsen) #30339
  • [0d5de1a20e] - (SEMVER-MINOR) src: remove custom tracking for SharedArrayBuffers (Anna Henningsen) #30020
  • [f0ff2ed9d5] - (SEMVER-MINOR) src: update v8abbr.h for V8 update (Colin Ihrig) #30020
  • [2c8276eda8] - (SEMVER-MINOR) src: expose ability to set options (Shelley Vohr) #30466
  • [592d51cb23] - src: enhance feature access CHECKs during bootstrap (Anna Henningsen) #30452
  • [d648c933b5] - src: lib/internal/timers.js var -> let/const (Nikolay Krashnikov) #30314
  • [70ad676023] - src: persist strings that are used multiple times in the environment (Vadim Gorbachev) #30321
  • [b744070d74] - (SEMVER-MINOR) src: allow adding linked bindings to Environment (Anna Henningsen) #30274
  • [058a8d5363] - src: do not use std::function for OnScopeLeave (Anna Henningsen) #30134
  • [906d279e69] - src: run RunBeforeExitCallbacks as part of EmitBeforeExit (Anna Henningsen) #30229
  • [66b3619b4e] - src: use unique_ptr for InitializeInspector() (Anna Henningsen) #30229
  • [db7deb6e7a] - src: make WaitForInspectorDisconnect an exit hook (Anna Henningsen) #30229
  • [cd233e3f16] - src: make EndStartedProfilers an exit hook (Anna Henningsen) #30229
  • [8234d04b56] - src: track no of active JS signal handlers (Anna Henningsen) #30229
  • [0072a8eddf] - src: remove AsyncScope and AsyncCallbackScope (Anna Henningsen) #30236
  • [e3371f0c93] - src: use callback scope for main script (Anna Henningsen) #30236
  • [cd6d6215cc] - (SEMVER-MINOR) src: deprecate two- and one-argument AtExit() (Anna Henningsen) #30227
  • [5f4535a97c] - src: make AtExit() callbacks run in reverse order (Anna Henningsen) #30230
  • [44968f0edc] - src: remove unimplemented method from node.h (Anna Henningsen) #30098
  • [4524c7ad36] - stream: replace var with let (daern91) #30379
  • [41720d78c9] - stream: add writableCorked to Duplex (Anna Henningsen) #29053
  • [7cbdac9a71] - stream: increase MAX_HWM (Robert Nagy) #29938
  • [c254d7469d] - (SEMVER-MINOR) stream: add writableCorked property (Robert Nagy) #29012
  • [cb9c64a6e0] - test: move test not requiring internet from internet to parallel (Rich Trott) #30545
  • [902c6702df] - test: use reserved .invalid TLD for invalid address in test (Rich Trott) #30545
  • [92f766bd83] - test: improve assertion message in internet dgram test (Rich Trott) #30545
  • [a5f25ecf07] - test: cover 'close' method in Dir class (Artem Maksimov) #30310
  • [45e57303f3] - test: add test for options validation of createServer (Yongsheng Zhang) #30541
  • [6be03981b2] - test: clean up http-set-trailers (Denys Otrishko) #30522
  • [2952c5d72b] - (SEMVER-MINOR) test: increase limit again for network space overhead test (Michaël Zasso) #30020
  • [4131b14011] - (SEMVER-MINOR) test: update test-postmortem-metadata.js (Colin Ihrig) #30020
  • [c464ede598] - test: handle undefined default_configuration (Shelley Vohr) #30465
  • [5ec550de02] - test: Change from var to const (Jure Stepisnik) #30431
  • [13bac0ac0f] - test: changed var to let in test-repl-editor (JL Phillips) #30443
  • [0d12e9cc29] - test: improve test-fs-open (Artem Maksimov) #30280
  • [89bc2526ab] - test: change var to let (nathias) #30444
  • [fa071efea4] - test: changed var to const in test (Kerry Mahne) #30434
  • [13a22432fc] - test: var to const in test-repl-multiline.js (SoulMonk) #30433
  • [109da52141] - test: deflake test-http-dump-req-when-res-ends.js (Luigi Pinca) #30360
  • [72bbd5cdb0] - test: change var to const in parallel/test-stream-transform-final* (Kenza Houmani) #30448
  • [cd82e4d9d8] - test: replace Object.assign with object spread (Grigoriy Levanov) #30306
  • [aec695eb6c] - test: fix Python unittests in ./test and ./tools (Christian Clauss) #30340
  • [ea0c1a67c5] - test: mark test-http-dump-req-when-res-ends as flaky on windows (AshCripps) #30316
  • [308f5e4710] - test: fix test-benchmark-cluster (Rich Trott) #30342
  • [bb0727a132] - test: do not run release-npm test without crypto (Michaël Zasso) #30265
  • [ab5bca379f] - test: remove AtExit() addon test (Anna Henningsen) #30275
  • [de68720908] - test: deflake test-tls-close-notify.js (Luigi Pinca) #30202
  • [8fe684961b] - Revert "test: test configure ninja" (Anna Henningsen) #30295
  • [0dedecc7e0] - test: test configure ninja (Patrick Housley) #30033
  • [01fa18c99c] - (SEMVER-MINOR) tls: cli option to enable TLS key logging to file (Sam Roberts) #30055
  • [5869f2bee7] - tls: change loop var to let (Xavier Redondo) #30445
  • [26a9bdfca3] - tls: replace var with let (Daniil Pletnev) #30308
  • [bad0b66580] - tls: replace var with let and const (Nolik) #30299
  • [ae5aa3ee83] - tls: refactor tls_wrap.cc (Artem Maksimov) #30303
  • [80b1717c0f] - tools: fix build at non-English windows (Rongjian Zhang) #30492
  • [642b0b883f] - tools: update tzdata to 2019c (Albert Wang) #30356
  • [3a44adebf8] - tools: pull xcode_emulation.py from node-gyp (Christian Clauss) #30272
  • [92fa4e0096] - tools: make doctool work if no internet available (Richard Lau) #30214
  • [0f9f18aabe] - tools: update certdata.txt (AshCripps) #30195
  • [dbdc3818e0] - tools: check-imports using utf-8 (Christian Clauss) #30220
  • [3b45f8fd9c] - url: replace var with let in lib/url.js (xefimx) #30281
  • [35dc84859f] - util: replace var with let (Susana Ferreira) #30439
  • [3727a6572b] - v8: mark serdes API as stable (Anna Henningsen) #30234
  • [9b11bdb001] - v8: inspect unserializable objects (Anna Henningsen) #30167
  • [2ec40c265a] - (SEMVER-MINOR) worker: allow specifying resource limits (Anna Henningsen) #26628

2019-11-05, Version 13.1.0 (Current), @targos

Notable Changes

  • cli:
    • Added a new flag (--trace-uncaught) that makes Node.js print the stack trace at the time of throwing uncaught exceptions, rather than at the creation of the Error object, if there is any. This is disabled by default because it affects GC behavior (Anna Henningsen) #30025.
  • crypto:
    • Added Hash.prototype.copy() method. It returns a new Hash object with its internal state cloned from the original one (Ben Noordhuis) #29910.
  • dgram:
    • Added source-specific multicast support. This adds methods to Datagram sockets to support RFC 4607 for IPv4 and IPv6 (Lucas Pardue) #15735.
  • fs:
    • Added a bufferSize option to fs.opendir(). It allows to control the number of entries that are buffered internally when reading from the directory (Anna Henningsen) #30114.
  • meta:

Commits

  • [445837851b] - async_hooks: only emit after for AsyncResource if stack not empty (Anna Henningsen) #30087
  • [8860bd68b6] - buffer: improve performance caused by primordials (Jizu Sun) #30235
  • [1bded9841c] - build: fix detection of Visual Studio 2017 (Richard Lau) #30119
  • [49e7f042f9] - build: add workaround for WSL (gengjiawen) #30221
  • [03827ddf38] - build: allow Python 3.8 (Michaël Zasso) #30194
  • [54698113c0] - build: find Python syntax errors in dependencies (Christian Clauss) #30143
  • [b255688d5f] - build: fix pkg-config search for libnghttp2 (Ben Noordhuis) #30145
  • [8980d8c25f] - build: vcbuild uses default Python, not Py2 (João Reis) #30091
  • [cedad02406] - build: prefer python 3 over 2 for configure (Sam Roberts) #30091
  • [5ba842b8f9] - build: python3 support for configure (Rod Vagg) #30047
  • [d05f67caef] - cli: whitelist new V8 flag in NODE_OPTIONS (Shelley Vohr) #30094
  • [5ca58646c1] - (SEMVER-MINOR) cli: add --trace-uncaught flag (Anna Henningsen) #30025
  • [8b75aabee9] - crypto: guard with OPENSSL_NO_GOST (Shelley Vohr) #30050
  • [1d03df4c5e] - (SEMVER-MINOR) crypto: add Hash.prototype.copy() method (Ben Noordhuis) #29910
  • [46c9194ec8] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218
  • [104bfb9a38] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130
  • [e3124481c2] - deps: update npm to 6.12.1 (Michael Perrotte) #30164
  • [f3d00c594d] - deps: V8: backport 777fa98 (Michaël Zasso) #30062
  • [1cfa98c23e] - deps: V8: cherry-pick c721203 (Michaël Zasso) #30065
  • [0d9ae1b8f6] - deps: V8: cherry-pick ed40ab1 (Michaël Zasso) #30064
  • [a63f7e73c4] - (SEMVER-MINOR) dgram: add source-specific multicast support (Lucas Pardue) #15735
  • [fc407bb555] - doc: add missing hash for header link (Nick Schonning) #30188
  • [201a60e6ba] - doc: linkify .setupMaster() in cluster doc (Trivikram Kamat) #30204
  • [b7070f315f] - doc: explain http2 aborted event callback (dev-313) #30179
  • [f8fb2c06c5] - doc: linkify .fork() in cluster documentation (Anna Henningsen) #30163
  • [ae81360214] - doc: update AUTHORS list (Michaël Zasso) #30142
  • [1499a72a1f] - doc: improve doc Http2Session:Timeout (dev-313) #30161
  • [3709b5cc7e] - doc: move inactive Collaborators to emeriti (Rich Trott) #30177
  • [a48d17900b] - doc: add options description for send APIs (dev-313) #29868
  • [dfb4a24695] - doc: fix an error in resolution algorithm steps (Alex Zherdev) #29940
  • [403a648a16] - doc: fix numbering in require algorithm (Jan Krems) #30117
  • [e4ab6fced1] - doc: remove incorrect and outdated example (Tobias Nießen) #30138
  • [3c23224a76] - doc: adjust code sample for stream.finished (Cotton Hou) #29983
  • [d91d270416] - doc: claim NODE_MODULE_VERSION=80 for Electron 9 (Samuel Attard) #30052
  • [621eaf9ed5] - doc: remove "it is important to" phrasing (Rich Trott) #30108
  • [9a71091098] - doc: revise os.md (Rich Trott) #30102
  • [381c6cd0d2] - doc: delete "a number of" things in the docs (Rich Trott) #30103
  • [45c70a9793] - doc: remove dashes (Rich Trott) #30101
  • [ea9d125536] - doc: add legendecas to collaborators (legendecas) #30115
  • [39070bbed0] - doc: make YAML matter consistent in crypto.md (Rich Trott) #30016
  • [978946e38b] - doc,meta: prefer aliases and stubs over Runtime Deprecations (Rich Trott) #30153
  • [32a538901f] - doc,n-api: sort bottom-of-the-page references (Gabriel Schulhof) #30124
  • [07b5584a3f] - (SEMVER-MINOR) fs: add bufferSize option to fs.opendir() (Anna Henningsen) #30114
  • [2505f678ef] - http: support readable hwm in IncomingMessage (Colin Ihrig) #30135
  • [f01c5c51b0] - inspector: turn platform tasks that outlive Agent into no-ops (Anna Henningsen) #30031
  • [050efebf24] - meta: use contact_links instead of issue templates (Michaël Zasso) #30172
  • [edfbee3727] - module: resolve self-references (Jan Krems) #29327
  • [93b1bb8cb5] - n-api,doc: add info about building n-api addons (Jim Schlight) #30032
  • [cc1cd2b3c5] - src: isolate->Dispose() order consistency (Shelley Vohr) #30181
  • [a0df91cce1] - (SEMVER-MINOR) src: expose granular SetIsolateUpForNode (Shelley Vohr) #30150
  • [ec7b69ff05] - src: change env.h includes for forward declarations (Alexandre Ferrando) #30133
  • [98c8f76dd1] - src: split up InitializeContext (Shelley Vohr) #30067
  • [d78e3176dd] - src: fix crash with SyntheticModule#setExport (Michaël Zasso) #30062
  • [fd0aded233] - src: allow inspector without v8 platform (Shelley Vohr) #30049
  • [87f14e13b3] - stream: extract Readable.from in its own file (Matteo Collina) #30140
  • [1d9f4278dd] - test: use arrow functions for callbacks (Minuk Park) #30069
  • [a03809d7dd] - test: verify npm compatibility with releases (Michaël Zasso) #30082
  • [68e4b5a1fc] - tools: fix Python 3 deprecation warning in test.py (Loris Zinsou) #30208
  • [348ec693ac] - tools: fix Python 3 syntax error in mac_tool.py (Christian Clauss) #30146
  • [e2fb353df3] - tools: use print() function in buildbot_run.py (Christian Clauss) #30148
  • [bcbcce5983] - tools: undefined name opts -> args in gyptest.py (Christian Clauss) #30144
  • [14981f5bba] - tools: git rm -r tools/v8_gypfiles/broken (Christian Clauss) #30149
  • [d549a34597] - tools: update ESLint to 6.6.0 (Colin Ihrig) #30123
  • [a3757546e8] - tools: doc: improve async workflow of generate.js (Theotime Poisseau) #30106

2019-10-23, Version 13.0.1 (Current), @targos

Notable Changes

  • deps:
    • Fixed a bug in npm 6.12.0 where warnings are emitted on Node.js 13.x (Jordan Harband) #30079.
  • esm:
    • Changed file extension resolution order of --es-module-specifier-resolution=node to match that of the CommonJS loader (Myles Borins) #29974.

Commits

  • [19a983c615] - build: make linter failures fail test-doc target (Richard Lau) #30012
  • [13f3d6c680] - build: log the found compiler version if too old (Richard Lau) #30028
  • [a25d2fcf8b] - build: make configure --without-snapshot a no-op (Michaël Zasso) #30021
  • [e04d0584a5] - build: default Windows build to Visual Studio 2019 (Michaël Zasso) #30022
  • [ccf58835c7] - build: use python3 to build and test on Travis (Christian Clauss) #29451
  • [b92afcd90c] - build: fix version checks in configure.py (Michaël Zasso) #29965
  • [2dc4da0d8b] - build: build benchmark addons like test addons (Richard Lau) #29995
  • [2f36976594] - deps: npm: patch support for 13.x (Jordan Harband) #30079
  • [9d332ab4ce] - deps: upgrade to libuv 1.33.1 (Colin Ihrig) #29996
  • [89b9115c4d] - doc: --enable-source-maps and prepareStackTrace are incompatible (Benjamin Coe) #30046
  • [35bffcdd9d] - doc: join parts of disrupt section in cli.md (vsemozhetbyt) #30038
  • [0299767508] - doc: update collaborator email address (Minwoo Jung) #30007
  • [ff4f2999e6] - doc: fix tls version typo (akitsu-sanae) #29984
  • [62b4ca6e32] - doc: clarify readable.unshift null/EOF (Robert Nagy) #29950
  • [dc83ff9056] - doc: remove unused Markdown reference links (Nick Schonning) #29961
  • [d80ece68ac] - doc: re-enable passing remark-lint rule (Nick Schonning) #29961
  • [828e171107] - doc: add server header into the discarded list of http message.headers (Huachao Mao) #29962
  • [9729c5da8a] - esm: modify resolution order for specifier flag (Myles Borins) #29974
  • [cfd45ebf94] - module: refactor modules bootstrap (Bradley Farias) #29937
  • [d561321e4a] - src: remove unnecessary std::endl usage (Daniel Bevenius) #30003
  • [ed80c233cd] - src: make implementing CancelPendingDelayedTasks for platform optional (Anna Henningsen) #30034
  • [8fcc039de9] - src: expose ListNode<T>::prev_ on postmortem metadata (legendecas) #30027
  • [0c88dc1932] - src: fewer uses of NODE_USE_V8_PLATFORM (Shelley Vohr) #30029
  • [972144073b] - src: remove unused iomanip include (Daniel Bevenius) #30004
  • [b019ccd59d] - src: initialize openssl only once (Sam Roberts) #29999
  • [3eae670470] - src: refine maps parsing for large pages (Gabriel Schulhof) #29973
  • [f3712dfe83] - stream: simplify uint8ArrayToBuffer helper (Luigi Pinca) #30041
  • [46aa4810ad] - stream: remove dead code (Luigi Pinca) #30041
  • [f155dfeecb] - test: expand Worker test for non-shared ArrayBuffer (Anna Henningsen) #30044
  • [e110d81b17] - test: fix test runner for Python 3 on Windows (Michaël Zasso) #30023
  • [c096f251e4] - test: remove common.skipIfInspectorEnabled() (Rich Trott) #29993
  • [b1b8663a23] - test: add cb error test for fs.close() (Matteo Rossi) #29970

2019-10-22, Version 13.0.0 (Current), @BethGriggs

Notable Changes

  • assert:
    • If the validation function passed to assert.throws() or assert.rejects() returns a value other than true, an assertion error will be thrown instead of the original error to highlight the programming mistake (Ruben Bridgewater) #28263.
    • If a constructor function is passed to validate the instance of errors thrown in assert.throws() or assert.reject(), an assertion error will be thrown instead of the original error (Ruben Bridgewater) #28263.
  • build:
    • Node.js releases are now built with default full-icu support. This means that all locales supported by ICU are now included and Intl-related APIs may return different values than before (Richard Lau) #29887.
    • The minimum Xcode version supported for macOS was increased to 10. It is still possible to build Node.js with Xcode 8 but this may no longer be the case in a future v13.x release (Michael Dawson) #29622.
  • child_process:
    • ChildProcess._channel (DEP0129) is now a Runtime deprecation (cjihrig) #27949.
  • console:
    • The output console.timeEnd() and console.timeLog() will now automatically select a suitable time unit instead of always using milliseconds (Xavier Stouder) #29251.
  • deps:
    • The V8 engine was updated to version 7.8. This includes performance improvements to object destructuring, memory usage and WebAssembly startup time (Myles Borins) #29694.
  • domain:
    • The domain's error handler is now executed with the active domain set to the domain's parent to prevent inner recursion (Julien Gilli) #26211.
  • fs:
    • The undocumented method FSWatcher.prototype.start() was removed (Lucas Holmquist) #29905.
    • Calling the open() method on a ReadStream or WriteStream now emits a runtime deprecation warning. The methods are supposed to be internal and should not be called by user code (Robert Nagy) #29061.
    • fs.read/write, fs.readSync/writeSync and fd.read/write now accept any safe integer as their offset parameter. The value of offset is also no longer coerced, so a valid type must be passed to the functions (Zach Bjornson) #26572.
  • http:
    • Aborted requests no longer emit the end or error events after aborted (Robert Nagy) #27984, #20077.
    • Data will no longer be emitted after a socket error (Robert Nagy) #28711.
    • The legacy HTTP parser (previously available under the --http-parser=legacy flag) was removed (Anna Henningsen) #29589.
    • The host option for HTTP requests is now validated to be a string value (Giorgos Ntemiris) #29568.
    • The request.connection and response.connection properties are now runtime deprecated. The equivalent request.socket and response.socket should be used instead (Robert Nagy) #29015.
  • http, http2:
    • The default server timeout was removed (Ali Ijaz Sheikh) #27558.
    • Brought 425 status code name into accordance with RFC 8470. The name changed from "Unordered Collection" to "Too Early" (Sergei Osipov) #29880.
  • lib:
    • The error.errno property will now always be a number. To get the string value, use error.code instead (Joyee Cheung) #28140.
  • module:
    • module.createRequireFromPath() is deprecated. Use module.createRequire() instead (cjihrig) #27951.
  • src:
    • Changing the value of process.env.TZ will now clear the tz cache. This affects the default time zone used by methods such as Date.prototype.toString (Ben Noordhuis) #20026.
  • stream:
    • The timing and behavior of streams was consolidated for a number of edge cases. Please look at the individual commits below for more information.

Semver-Major Commits

  • [5981fb7faa] - (SEMVER-MAJOR) assert: fix line number calculation after V8 upgrade (Michaël Zasso) #29694
  • [48d1ea5e7f] - (SEMVER-MAJOR) assert: special handle identical error names in instance checks (Ruben Bridgewater) #28263
  • [97c52ca5dc] - (SEMVER-MAJOR) assert: add more information to AssertionErrors (Ruben Bridgewater) #28263
  • [5700cd17dd] - (SEMVER-MAJOR) assert: do not repeat .throws() code (Ruben Bridgewater) #28263
  • [d47b6786c9] - (SEMVER-MAJOR) assert: wrap validation function errors (Ruben Bridgewater) #28263
  • [0b3242c3ce] - (SEMVER-MAJOR) assert: fix generatedMessage property (Ruben Bridgewater) #28263
  • [ace3f16917] - (SEMVER-MAJOR) assert: improve class instance errors (Ruben Bridgewater) #28263
  • [0376b5b7ba] - (SEMVER-MAJOR) benchmark: use test/common/tmpdir consistently (João Reis) #28858
  • [4885e50f7e] - (SEMVER-MAJOR) build: make full-icu the default for releases (Richard Lau) #29887
  • [60a3bd93ce] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Myles Borins) #29694
  • [9f830f37da] - (SEMVER-MAJOR) build: update minimum Xcode version for macOS (Michael Dawson) #29622
  • [66eaeac1df] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #28016
  • [d05668d688] - (SEMVER-MAJOR) child_process: runtime deprecate _channel (cjihrig) #27949
  • [4f9cd2770a] - (SEMVER-MAJOR) child_process: simplify spawn argument parsing (cjihrig) #27854
  • [66043e1812] - (SEMVER-MAJOR) console: display timeEnd with suitable time unit (Xavier Stouder) #29251
  • [80f2b67367] - (SEMVER-MAJOR) deps: patch V8 to 7.8.279.14 (Myles Borins) #29694
  • [eeafb263f4] - (SEMVER-MAJOR) deps: patch V8 to 7.8.279.12 (Myles Borins) #29694
  • [ddfc3b0a76] - (SEMVER-MAJOR) deps: patch V8 to 7.8.279.10 (Myles Borins) #29694
  • [8d05991d10] - (SEMVER-MAJOR) deps: update V8's postmortem script (cjihrig) #29694
  • [858602445b] - (SEMVER-MAJOR) deps: V8: cherry-pick 716875d (Myles Borins) #29694
  • [f7f6c928c1] - (SEMVER-MAJOR) deps: update V8 to 7.8.279.9 (Myles Borins) #29694
  • [84d3243ce9] - (SEMVER-MAJOR) deps: V8: cherry-pick b33af60 (Michaël Zasso) #28016
  • [2dcc3665ab] - (SEMVER-MAJOR) deps: update V8 to 7.6.303.28 (Michaël Zasso) #28016
  • [eef1b5aa0f] - (SEMVER-MAJOR) doc: make AssertionError a link (Ruben Bridgewater) #28263
  • [8fd7184959] - (SEMVER-MAJOR) doc: update assert.throws() examples (Ruben Bridgewater) #28263
  • [80d9b1c712] - (SEMVER-MAJOR) doc: wrap long line (cjihrig) #27951
  • [43a5170858] - (SEMVER-MAJOR) domain: error handler runs outside of its domain (Julien Gilli) #26211
  • [7eacb74389] - (SEMVER-MAJOR) fs: make FSWatcher.start private (Lucas Holmquist) #29905
  • [773769df60] - (SEMVER-MAJOR) fs: add runtime deprecate for file stream open() (Robert Nagy) #29061
  • [5e3b4d6ed9] - (SEMVER-MAJOR) fs: allow int64 offset in fs.write/writeSync/fd.write (Zach Bjornson) #26572
  • [a3c0014e73] - (SEMVER-MAJOR) fs: use IsSafeJsInt instead of IsNumber for ftruncate (Zach Bjornson) #26572
  • [0bbda5e5ae] - (SEMVER-MAJOR) fs: allow int64 offset in fs.read/readSync/fd.read (Zach Bjornson) #26572
  • [eadc3850fe] - (SEMVER-MAJOR) fs: close file descriptor of promisified truncate (João Reis) #28858
  • [5f80df8820] - (SEMVER-MAJOR) http: do not emit end after aborted (Robert Nagy) #27984
  • [e573c39b88] - (SEMVER-MAJOR) http: don't emit 'data' after 'error' (Robert Nagy) #28711
  • [ac59dc42ed] - (SEMVER-MAJOR) http: remove legacy parser (Anna Henningsen) #29589
  • [2daf883a18] - (SEMVER-MAJOR) http: throw if 'host' agent header is not a string value (Giorgos Ntemiris) #29568
  • [0daec61b9b] - (SEMVER-MAJOR) http: replace superfluous connection property with getter/setter (Robert Nagy) #29015
  • [461bf36d70] - (SEMVER-MAJOR) http: fix test where aborted should not be emitted (Robert Nagy) #20077
  • [d5577f0395] - (SEMVER-MAJOR) http: remove default 'timeout' listener on upgrade (Luigi Pinca) #26030
  • [c30ef3cbd2] - (SEMVER-MAJOR) http, http2: remove default server timeout (Ali Ijaz Sheikh) #27558
  • [4e782c9deb] - (SEMVER-MAJOR) http2: remove security revert flags (Anna Henningsen) #29141
  • [41637a530e] - (SEMVER-MAJOR) http2: remove callback-based padding (Anna Henningsen) #29144
  • [91a4cb7175] - (SEMVER-MAJOR) lib: rename validateInteger to validateSafeInteger (Zach Bjornson) #26572
  • [1432065e9d] - (SEMVER-MAJOR) lib: correct error.errno to always be numeric (Joyee Cheung) #28140
  • [702331be90] - (SEMVER-MAJOR) lib: no need to strip BOM or shebang for scripts (Refael Ackermann) #27375
  • [e2c0c0c680] - (SEMVER-MAJOR) lib: rework logic of stripping BOM+Shebang from commonjs (Gus Caplan) #27768
  • [14701e539c] - (SEMVER-MAJOR) module: runtime deprecate createRequireFromPath() (cjihrig) #27951
  • [04633eeeb9] - (SEMVER-MAJOR) readline: error on falsy values for callback (Sam Roberts) #28109
  • [3eea43af07] - (SEMVER-MAJOR) repl: close file descriptor of history file (João Reis) #28858
  • [458a38c904] - (SEMVER-MAJOR) src: bring 425 status code name into accordance with RFC 8470 (Sergei Osipov) #29880
  • [7fcc1f7047] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 79 (Myles Borins) #29694
  • [4b7be335b9] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 78 (Michaël Zasso) #28918
  • [a0e2c6d284] - (SEMVER-MAJOR) src: add error codes to errors thrown in C++ (Yaniv Friedensohn) #27700
  • [94e980c9d3] - (SEMVER-MAJOR) src: use non-deprecated overload of V8::SetFlagsFromString (Michaël Zasso) #28016
  • [655e0dc01a] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 77 (Michaël Zasso) #28016
  • [e3cd79ef8e] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 74 (Refael Ackermann) #27375
  • [eba348b6ae] - (SEMVER-MAJOR) src: make process.env.TZ setter clear tz cache (Ben Noordhuis) #20026
  • [f2061930c8] - (SEMVER-MAJOR) src: enable V8's WASM trap handlers (Gus Caplan) #27246
  • [f8f6a21580] - (SEMVER-MAJOR) stream: throw unhandled error for readable with autoDestroy (Robert Nagy) #29806
  • [f663b31cc2] - (SEMVER-MAJOR) stream: always invoke callback before emitting error (Robert Nagy) #29293
  • [aa32e13968] - (SEMVER-MAJOR) stream: do not flush destroyed writable (Robert Nagy) #29028
  • [ba3be578d8] - (SEMVER-MAJOR) stream: don't emit finish on error (Robert Nagy) #28979
  • [db706da235] - (SEMVER-MAJOR) stream: disallow stream methods on finished stream (Robert Nagy) #28687
  • [188896ea3e] - (SEMVER-MAJOR) stream: do not emit after 'error' (Robert Nagy) #28708
  • [4a2bd69db9] - (SEMVER-MAJOR) stream: fix destroy() behavior (Robert Nagy) #29058
  • [824dc576db] - (SEMVER-MAJOR) stream: simplify .pipe() and .unpipe() in Readable (Weijia Wang) #28583
  • [8ef68e66d0] - (SEMVER-MAJOR) test: clean tmpdir on process exit (João Reis) #28858
  • [d3f20a4725] - (SEMVER-MAJOR) test: use unique tmpdirs for each test (João Reis) #28858
  • [174723354e] - (SEMVER-MAJOR) tools: patch V8 to run on older XCode versions (Ujjwal Sharma) #29694
  • [1676502318] - (SEMVER-MAJOR) tools: update V8 gypfiles (Michaël Zasso) #29694
  • [1a25e901b7] - (SEMVER-MAJOR) tools: support full-icu by default (Steven R. Loomis) #29522
  • [2664dacf7e] - (SEMVER-MAJOR) util: validate formatWithOptions inspectOptions (Ruben Bridgewater) #29824

Semver-Minor Commits

  • [8915b15f8c] - (SEMVER-MINOR) http: add reusedSocket property on client request (themez) #29715
  • [6afed1dc85] - (SEMVER-MINOR) n-api: add napi\_detach\_arraybuffer (legendecas) #29768
  • [c0305af2c4] - (SEMVER-MINOR) repl: check for NODE_REPL_EXTERNAL_MODULE (Gus Caplan) #29778

Semver-Patch Commits

  • [e6c389cb3c] - benchmark: remove double word "then" in comments (Nick Schonning) #29823
  • [1294c7e485] - benchmark: add benchmark for vm.createContext (Joyee Cheung) #29845
  • [6f814013f4] - build: fix version checks in gyp files (Ben Noordhuis) #29931
  • [6c205aba00] - build: always use strings for compiler version in gyp files (Michaël Zasso) #29897
  • [be926c7e21] - build: find Python 3 or Python 2 in configure (cclauss) #25878
  • [16f673ebcc] - build: re-enable openssl arm for arm64 (Edward Vielmetti) #28180
  • [204248a0c3] - console: update time formatting (Ruben Bridgewater) #29629
  • [c64ed10d80] - crypto: reject public keys properly (Tobias Nießen) #29913
  • [7de5a55710] - deps: patch V8 to 7.8.279.17 (Michaël Zasso) #29928
  • [a350d8b780] - deps: V8: cherry-pick 53e62af (Michaël Zasso) #29898
  • [6b962ddf01] - deps: patch V8 to 7.8.279.15 (Michaël Zasso) #29899
  • [efa6bead1d] - doc: add missing deprecation code (cjihrig) #29969
  • [c4de76f7a6] - doc: update vm.md for link linting (Rich Trott) #29982
  • [ed5eaa0495] - doc: prepare miscellaneous docs for new markdown lint rules (Rich Trott) #29963
  • [039eb56249] - doc: fix some recent nits in fs.md (Vse Mozhet Byt) #29906
  • [7812a615ab] - doc: fs dir modifications may not be reflected by dir.read (Anna Henningsen) #29893
  • [37321a9e11] - doc: add missing deprecation number (cjihrig) #29183
  • [791409a9ce] - doc: fixup changelog for v10.16.3 (Andrew Hughes) #29159
  • [02b3722b30] - doc,meta: reduce npm PR wait period to one week (Rich Trott) #29922
  • [fce1a5198a] - domain: do not import util for a simple type check (Ruben Bridgewater) #29825
  • [b798f64566] - esm: unflag --experimental-exports (Guy Bedford) #29867
  • [5c93aab278] - fs: buffer dir entries in opendir() (Anna Henningsen) #29893
  • [624fa4147a] - http2: fix file close error condition at respondWithFd (Anna Henningsen) #29884
  • [d5c3837061] - lib: remove the comment of base64 validation (Maledong) #29201
  • [3238232fc4] - lib: rename validateSafeInteger to validateInteger (cjihrig) #29184
  • [aca1c283bd] - module: warn on require of .js inside type: module (Guy Bedford) #29909
  • [1447a79dc4] - net: treat ENOTCONN at shutdown as success (Anna Henningsen) #29912
  • [4ca61f40fe] - process: add lineLength to source-map-cache (bcoe) #29863
  • [545f7282d1] - src: implement v8 host weakref hooks (Gus Caplan) #29874
  • [53ca0b9ae1] - src: render N-API weak callbacks as cleanup hooks (Gabriel Schulhof) #28428
  • [075c7ebeb5] - src: fix largepages regression (Gabriel Schulhof) #29914
  • [179f4232ed] - src: remove unused using declarations in worker.cc (Daniel Bevenius) #29883
  • [264cb79bc2] - src: silence compiler warning node_process_methods (Daniel Bevenius) #28261
  • [89b32378c8] - src: forbid reset_handler for SIGSEGV handling (Anna Henningsen) #27775
  • [e256204776] - src: reset SIGSEGV handler before crashing (Anna Henningsen) #27775
  • [e6b3ec3d3c] - src: do not use posix feature macro in node.h (Anna Henningsen) #27775
  • [6e796581fc] - src: remove freebsd SA_RESETHAND workaround (Ben Noordhuis) #27780
  • [8709a408d2] - stream: use more accurate end-of-stream writable and readable detection (Robert Nagy) #29409
  • [698a29420f] - stream: fix readable state awaitDrain increase in recursion (ran) #27572
  • [033037cec9] - stream: avoid unecessary nextTick (Robert Nagy) #29194
  • [f4f856b238] - test: fix flaky doctool and test (Rich Trott) #29979
  • [7991b57cfd] - test: fix fs benchmark test (Rich Trott) #29967
  • [2bb93e1108] - test: set LC_ALL to known good value (Ben Noordhuis) #28096
  • [039cfdc838] - test: add addon tests for RegisterSignalHandler() (Anna Henningsen) #27775
  • [90b5f1b107] - tools: update remark-preset-lint-node to 1.10.1 (Rich Trott) #29982
  • [ea3d5ff785] - tools: fix test runner in presence of NODE_REPL_EXTERNAL_MODULE (Gus Caplan) #29956
  • [8728f8660a] - tools: fix GYP MSVS solution generator for Python 3 (Michaël Zasso) #29897
  • [66b953207d] - tools: port Python 3 compat patches from node-gyp to gyp (Michaël Zasso) #29897
  • [a0c6cf8eb1] - tools: update remark-preset-lint-node to 1.10.0 (Rich Trott) #29594
  • [1e01f3f022] - tools: apply more stringent blank-line linting for markdown files (Rich Trott) #29447
  • [f9caee986c] - vm: add Synthetic modules (Gus Caplan) #29864