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

v14.17.1 release proposal #38948

Merged
merged 253 commits into from
Jun 15, 2021
Merged

v14.17.1 release proposal #38948

merged 253 commits into from
Jun 15, 2021

Conversation

targos
Copy link
Member

@targos targos commented Jun 6, 2021

2021-06-15, Version 14.17.1 'Fermium' (LTS), @targos

Notable Changes

Commits

  • [87fa636953] - assert: refactor to use more primordials (Antoine du Hamel) #36234
  • [cfff3b4462] - assert: refactor to avoid unsafe array iteration (Antoine du Hamel) #37344
  • [dd18def7db] - async_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #37125
  • [5f3e96b570] - async_hooks,doc: replace process.stdout.fd with 1 (Darshan Sen) #38382
  • [f4cb8b8281] - benchmark: avoid using console.log() (Antoine du Hamel) #38370
  • [9e4c1f2f2c] - benchmark: use process.hrtime.bigint() (Antoine du Hamel) #38369
  • [3c886e0ad6] - buffer: remove TODOs in atob / btoa (Khaidi Chu) #38548
  • [c5b86f8c2f] - buffer: remove unreachable code (Rongjian Zhang) #38537
  • [9ae2a27d44] - buffer: make FastBuffer safe to construct (Antoine du Hamel) #36587
  • [ff546ff744] - buffer: refactor to use primordials instead of Array#reduce (Antoine du Hamel) #36392
  • [5acf0a5ba3] - buffer: refactor to use more primordials (Antoine du Hamel) #36166
  • [52fd42ec46] - build: work around bug in MSBuild v16.10.0 (Michaël Zasso) #38873
  • [5df0f35bf6] - build: add workaround for V8 builds (Richard Lau) #38632
  • [754aa384e0] - build: remove dependency on distutils.spawn (Richard Lau) #38600
  • [5de7e64f3a] - build: fix make test-npm (Ruy Adorno) #36369
  • [e5fae63108] - child_process: reduce abort handler code duplication (Rich Trott) #36644
  • [598d2bdf09] - child_process: treat already-aborted controller as aborting (Rich Trott) #36644
  • [8d7708bdef] - child_process: refactor to use more primordials (Antoine du Hamel) #36003
  • [b8c4d30e77] - deps: update to [email protected] (Guy Bedford) #38450
  • [6035492c8f] - deps: update ICU to 69.1 (Michaël Zasso) #38178
  • [51dad8cabb] - deps: V8: cherry-pick 035c305ce776 (Michaël Zasso) #38497
  • [a467125c8d] - deps: V8: cherry-pick dfcdf7837e23 (Benjamin Coe) #36573
  • [acc9fad2ba] - deps: V8: cherry-pick 86991d0587a1 (Benjamin Coe) #36254
  • [d67827744b] - deps: V8: cherry-pick 530080c44af2 (Milad Fa) #38508
  • [bac9ba4f8a] - dgram: extract cluster lazy loading method to make it testable (Rongjian Zhang) #38563
  • [f5b2115b76] - dgram: refactor to use more primordials (Antoine du Hamel) #36286
  • [cd7cf0547a] - dns: refactor to use more primordials (Antoine du Hamel) #36314
  • [9f67c0852c] - doc: cleanup events.md structure (James M Snell) #36100
  • [41cfe645c0] - doc: fix JS flavor selection (Antoine du Hamel) #37791
  • [7c4748b0dc] - doc: use HEAD instead of master for links (Antoine du Hamel) #38518
  • [26426577ff] - doc: remove import.meta.resolve parent URL type (Kevin Locke) #38585
  • [88055abf19] - doc: document buffer.kStringMaxLength (Tobias Nießen) #38688
  • [2e8dfee165] - doc: clarify synchronous blocking of Worker stdio (James M Snell) #38658
  • [212cd5cf05] - doc: update contact info (Gabriel Schulhof) #38689
  • [fa35c0662b] - doc: change color of doctag on night mode (Qingyu Deng) #38652
  • [4c67437c53] - doc: clarify DiffieHellmanGroup class docs (Nitzan Uziely) #38363
  • [e90c60b1e3] - doc: use AIX instead of Aix in fs.md (Rich Trott) #38535
  • [dc67fec1b4] - doc: remove extraneous dash from flag prefix (Rodolfo Carvalho) #38532
  • [4c54d81a59] - doc: document 'secureConnect' event limitation (James M Snell) #38447
  • [839e8d1672] - doc: mark querystring api as legacy (James M Snell) #38436
  • [a75b7af9bd] - doc: add arguments for stream event of Http2Server and Http2SecureServer (Qingyu Deng) #37892
  • [cf0007edc4] - doc: indicate that abort tests do not generate core files (Rich Trott) #38422
  • [945450b5cf] - doc: add try/catch in http2 respondWithFile example (Matteo Collina) #38410
  • [1f7cd7148a] - doc: note the system requirements for V8 tests (DeeDeeG) #38319
  • [cd54834854] - doc: minor clarification to pathObject (James M Snell) #38437
  • [ba117c2c6f] - doc: document new TCP_KEEPCNT and TCP_KEEPINTVL socket option defaults (Arnold Zokas) #38313
  • [dcdbaffced] - doc: do not mention TCP in the allowHalfOpen option description (Luigi Pinca) #38360
  • [fe8003e5de] - doc: update message to match actual output (Rich Trott) #35271
  • [c03f23e126] - doc: request default snap track be updated for LTS (Rod Vagg) #37708
  • [a9f7aeed12] - doc: mark process.hrtime() as legacy (Antoine du Hamel) #38371
  • [cede0c57b8] - doc: fix version history for "exports" patterns (Antoine du Hamel) #38355
  • [9702f22397] - doc: fix package.json "imports" field history (Antoine du Hamel) #38356
  • [2d96da875e] - doc: fix typo in buffer.md (divlo) #38323
  • [6b58f28472] - doc: add nodejs-sec email template (Daniel Bevenius) #38290
  • [5a532e4725] - doc: update TSC members list with three new members (Rich Trott) #38352
  • [e994d6a27c] - doc: use foo.prototype.bar notation in buffer.md (Voltrex) #38032
  • [c61f363d66] - doc: internal/test/binding for testing (Bradley Meck) #38026
  • [0bb6fe31b3] - doc: add missing events.on metadata (Anna Henningsen) #37965
  • [30c82b2745] - doc: fix wording in outgoingMessage.write (Tobias Nießen) #37894
  • [932000020a] - doc: fix grammar errors in http document (Qingyu Deng) #37265
  • [19e8ae44c4] - doc: add document for http.OutgoingMessage (Qingyu Deng) #37265
  • [a6c123363d] - doc: remove generated from dsaEncoding description (Marko Kaznovac) #37459
  • [bc6ea63e48] - doc: document how to register external bindings for snapshot (Joyee Cheung) #37463
  • [2168e954aa] - doc: document the NO_COLOR and FORCE_COLOR env vars (James M Snell) #37477
  • [2907848fc9] - doc: clarify event.isTrusted text (Rich Trott) #36827
  • [7efa020892] - doc: expand openssl instructions (Michael Dawson) #36554
  • [b197a44152] - doc: document ABORT_ERR code (Benjamin Gruenbaum) #36319
  • [1d80f89442] - doc: document changes for */promises alias modules (ExE Boss) #34002
  • [9417fd0bc8] - errors: align source-map stacks with spec (Benjamin Coe) #37252
  • [dcd221ce69] - errors: refactor to use more primordials (Antoine du Hamel) #36651
  • [ee444473e9] - errors: display original symbol name (Benjamin Coe) #36042
  • [83d28374d6] - errors: refactor to use more primordials (Antoine du Hamel) #36167
  • [7d7e34c15a] - errors: refactor to use more primordials (Antoine du Hamel) #35944
  • [18e5c0f3e2] - events: refactor to use optional chaining (ZiJian Liu) #36763
  • [4fdcbae583] - events: refactor to use more primordials (Antoine du Hamel) #36304
  • [c4e7dca8f3] - fs: fix error when writing buffers > INT32_MAX (Zach Bjornson) #38546
  • [07c55d2844] - Revert "http: make HEAD method to work with keep-alive" (Michaël Zasso) #38949
  • [d8da265c81] - http2: treat non-EOF empty frames like other invalid frames (Anna Henningsen) #37875
  • [c3bd0fdb73] - http2: fix setting options before handle exists (Anna Henningsen) #37875
  • [74fe1d8f0c] - http2: add support for TypedArray to getUnpackedSettings (Antoine du Hamel) #36141
  • [c90f1dbeb3] - https: refactor to use more primordials (Antoine du Hamel) #36195
  • [8258799472] - inspector: remove redundant method for connection check (Yash Ladha) #37986
  • [ba19313e1e] - inspector: refactor to use more primordials (Antoine du Hamel) #36356
  • [eb8f7ee634] - lib: revert primordials in a hot path (Antoine du Hamel) #38248
  • [cea8b4265c] - lib: make IterableWeakMap safe to iterate (Antoine du Hamel) #38523
  • [490bc58229] - lib: fix and improve os typings (Akhil Marsonya) #38316
  • [af39df6d03] - lib: add URI handling functions to primordials (Antoine du Hamel) #37394
  • [16691be80e] - lib: fix WebIDL object and dictionary type conversion (ExE Boss) #37047
  • [47ed512312] - lib: refactor to use optional chaining in internal/options.js (raisinten) #36939
  • [346fc0ac21] - lib: support returning Safe collections from C++ (ExE Boss) #36989
  • [8912caba64] - lib: expose primordials object (Antoine du Hamel) #36872
  • [46c019b988] - lib: refactor source_map to use more primordials (Antoine du Hamel) #36733
  • [cf9556d8f7] - lib: refactor source_map to avoid unsafe array iteration (Antoine du Hamel) #36734
  • [6eaf357f49] - lib: simplify primordials.uncurryThis (ExE Boss) #36866
  • [9338759b01] - lib: remove v8_prof_polyfill from eslint ignore list (Antoine du Hamel) #36537
  • [c9861a344a] - lib: remove unused code (Brian White) #36632
  • [01a71dd393] - lib: refactor to use more primordials in internal/encoding.js (raisinten) #36480
  • [e6c0877604] - lib: refactor to use primordials in internal/priority_queue.js (ZiJian Liu) #36560
  • [6e3a2ffb98] - lib: add primordials.SafeStringIterator (Antoine du Hamel) #36526
  • [bf0738bc07] - lib: make safe primordials safe to construct (Antoine du Hamel) #36428
  • [7ebc18f293] - lib: make safe primordials safe to iterate (Antoine du Hamel) #36391
  • [e12dbc8519] - lib: refactor to use more primordials in internal/histogram.js (raisinten) #36455
  • [5daeac64a4] - lib: add uncurried accessor properties to primordials (ExE Boss) #36329
  • [bb4900d9eb] - lib: refactor primordials.uncurryThis (Antoine du Hamel) #36221
  • [0fbe945ebb] - lib: refactor to use more primordials (Antoine du Hamel) #36140
  • [24d4d63308] - lib: add %TypedArray% abstract constructor to primordials (ExE Boss) #36016
  • [e2395b0f3b] - lib: use Object static properties from primordials (Michaël Zasso) #35380
  • [b3e22e1612] - lib,tools: enforce access to prototype from primordials (Antoine du Hamel) #36025
  • [e94e0b488e] - meta: add v8 team (Jiawen Geng) #38566
  • [fcc6a00f1a] - meta: post comment when pr labeled fast-track (James M Snell) #38446
  • [bd0d9647ca] - module: clarify CJS global-like variables not defined error message (Antoine du Hamel) #37852
  • [0fdb5d59f7] - module: refactor NativeModule to avoid unsafe array iteration (Antoine du Hamel) #37656
  • [77c7d979b6] - module: simplify tryStatSync with throwIfNoEntry option (Antoine du Hamel) #36971
  • [1aae572220] - module: refactor to use more primordials (Antoine du Hamel) #36348
  • [9e7f166161] - module: refactor to use more primordials (Antoine du Hamel) #36024
  • [eee1d291cf] - module: refactor to use iterable-weak-map (Benjamin Coe) #35915
  • [52cbe89f7f] - net: refactor to use more primordials (Antoine du Hamel) #36303
  • [779ad54078] - node-api: faster threadsafe_function (Fedor Indutny) #38506
  • [5995221ced] - node-api: fix shutdown crashes (Michael Dawson) #38492
  • [d8acec4cb1] - node-api: make reference weak parameter an indirect link to references (Chengzhong Wu) #38000
  • [c442d89ad6] - os: refactor to use more primordials (Antoine du Hamel) #36284
  • [daeb6fcd78] - path: inline conditions (Voltrex) #38613
  • [e2f531f646] - path: refactor to use more primordials (Akhil Marsonya) #37893
  • [c1364d15a2] - path: refactor to use more primordials (Antoine du Hamel) #36302
  • [726ef40fcb] - perf_hooks: throw ERR_INVALID_ARG_VALUE if histogram.percentile param is NaN (ZiJian Liu) #36937
  • [4686f4f41b] - perf_hooks: refactor to avoid unsafe array iteration (Antoine du Hamel) #36723
  • [6adec6351e] - perf_hooks: refactor to use more primordials (Antoine du Hamel) #36297
  • [bf9aa425c0] - policy: refactor to use more primordials (Antoine du Hamel) #36210
  • [0f6c3f76b3] - querystring: refactor to use more primordials (Antoine du Hamel) #36315
  • [b5b8a996f3] - readline: refactor to use more primordials (Antoine du Hamel) #36296
  • [cd981808b4] - repl: document top level await limitation with const/let (James M Snell) #38449
  • [a4eb5571eb] - repl: display prompt once after error callback (Anna Henningsen) #38314
  • [8809ef98f9] - src: update cares_wrap OpenBSD defines (Anna Henningsen) #38670
  • [d66f88ce97] - src: remove extra semi after member fn (Shelley Vohr) #38686
  • [bc2111c7e6] - src: make workers messaging more resilient (Juan José Arboleda) #38510
  • [378e0e778b] - src: fix validation of negative offset to avoid abort (James M Snell) #38421
  • [c170026b7b] - src: use %progbits instead of @progbits (Stephen Gallagher) #38312
  • [d177541b0e] - src: fix setting Converter sub char length (James M Snell) #38331
  • [e279b029c0] - src: avoid deferred gc/cleanup for Buffer.from (James M Snell) #38337
  • [006c7b78da] - src: indent long help text properly (David Glasser) #37911
  • [f5541ddea3] - src: fix ETW_WRITE_EMPTY_EVENT macro (Michaël Zasso) #37334
  • [6b1052d034] - src: disable unfixable MSVC warnings (Michaël Zasso) #37334
  • [38afa3fa79] - src: avoid implicit type conversions (take 2) (Michaël Zasso) #37334
  • [8a60ae2161] - src: fix compiler warnings in node_buffer.cc (Darshan Sen) #38722
  • [78cde14c45] - src: fix compiler warning in env.cc (Anna Henningsen) #35547
  • [ea311a41cc] - src: add check against non-weak BaseObjects at process exit (Anna Henningsen) #35490
  • [a1b4681efc] - src: use transferred consistently (Daniel Bevenius) #36340
  • [29c623e5cb] - src: fix label indentation (Rich Trott) #36213
  • [dbb0d2612c] - stream: fix multiple Writable.destroy() calls (Robert Nagy) #38221
  • [a18b1ff80b] - stream: the position of _read() is wrong (helloyou2012) #38292
  • [ab130e929a] - stream: only use legacy close listeners if not willEmitClose (Robert Nagy) #36649
  • [c31e2f6b0f] - stream: fix legacy pipe error handling (Robert Nagy) #35257
  • [1dc4dea215] - string_decoder: throw ERR_STRING_TOO_LONG for UTF-8 (Michaël Zasso) #36661
  • [0db9101922] - string_decoder: refactor to use more primordials (Antoine du Hamel) #36358
  • [8a44ee478e] - test: improve coverage of lib/_http_client.js (Rongjian Zhang) #38599
  • [8a45b85dbd] - test: improve coverage of lib/os.js (Rongjian Zhang) #38653
  • [d7c6a3eb03] - test: call functions internally (Voltrex) #38560
  • [726cb48bd8] - test: complete coverage of querystring (Rongjian Zhang) #38520
  • [4f1ba79eb8] - test: increase coverage for AbortController (ZiJian Liu) #38514
  • [d98b355336] - test: run message and pseudo-tty tests in parallel (Richard Lau) #38502
  • [7938af6565] - test: move test-net-connect-econnrefused from pummel to sequential (Rich Trott) #38462
  • [52f3837518] - test: fix common.mustCall length and name properties (Antoine du Hamel) #38464
  • [fdfb39e692] - test: address deprecation warning (Rich Trott) #38448
  • [25e5afe3be] - test: move abort test from pummel to abort directory (Rich Trott) #38396
  • [296b969e0a] - test: skip some pummel tests on slower machines (Rich Trott) #38394
  • [a9ff9c0918] - test: add ancestor package.json checks for tmpdir (Richard Lau) #38285
  • [c9ce98c377] - test: replace function with arrow function and remove unused argument (Andres) #38235
  • [c77abf5a89] - test: use .test domain for not found address (Richard Lau) #38286
  • [d9eb8b3ed0] - test: increase fs promise coverage (Emil Sivervik) #36813
  • [d85b70fffa] - test: increase timeout on ASAN Action (Antoine du Hamel) #37007
  • [836fba52ea] - test: improve coverage of SourceTextModule getters (Juan José Arboleda) #37013
  • [f43fc6b6cc] - test: improve coverage for Module getters (Juan José Arboleda) #36950
  • [a45d280c18] - test: improve coverage on worker threads (Juan José Arboleda) #36910
  • [ec4d79e259] - test: improve coverage at lib/internal/vm/module.js (Juan José Arboleda) #36898
  • [c34de75687] - test: guard large string decoder allocation (Michaël Zasso) #36795
  • [3215a58843] - test: add already-aborted-controller test for spawn() (Rich Trott) #36644
  • [c3b116795b] - test: add test for reused AbortController with execfile() (Rich Trott) #36644
  • [219ed0ba4c] - test: add Actions annotation output (Mary Marchini) #34590
  • [89ee6abae0] - test: use .then(common.mustCall()) for all async IIFEs (Anna Henningsen) #34363
  • [294b3e60a5] - test,doc,lib: adjust object literal newlines for lint rule (Rich Trott) #37040
  • [bfe02b8808] - test,readline: improve tab completion coverage (Antoine du Hamel) #38465
  • [1dc7fd238c] - timers: fix unsafe array iteration (Darshan Sen) #37223
  • [679973866d] - timers: reject with AbortError on cancellation (Benjamin Gruenbaum) #36317
  • [dec3610a31] - timers: refactor to use more primordials (Antoine du Hamel) #36132
  • [d84b05a619] - timers: cleanup abort listener on awaitable timers (James M Snell) #36006
  • [f6e4dbb779] - tls: validate ticket keys buffer (Antoine du Hamel) #38308
  • [661e9809bd] - tls: fix session and keylog add listener segfault (Nitzan Uziely) #38180
  • [de44e90523] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36324
  • [37bc7d5945] - tools: bump cpplint to 1.5.4 (Rich Trott) #36324
  • [84e918858e] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36235
  • [fb2bb93f95] - tools: bump cpplint to 1.5.3 (Rich Trott) #36235
  • [3351910f97] - tools: refloat 7 Node.js patches to cpplint.py (Rich Trott) #36213
  • [193b18effa] - tools: bump cpplint.py to 1.5.2 (Rich Trott) #36213
  • [8a6c35d735] - tools: update ESLint to 7.27.0 (Luigi Pinca) #38764
  • [f8753b6299] - tools: update ESLint to 7.26.0 (Colin Ihrig) #38605
  • [1098aec40b] - tools: update ESLint to 7.25.0 (Colin Ihrig) #38378
  • [3fbabfa94d] - tools: update ESLint to 7.24.0 (Colin Ihrig) #38179
  • [6ce779cd8b] - tools: update ESLint to 7.23.0 (Luigi Pinca) #37979
  • [77f88e7725] - tools: update ESLint to 7.22.0 (Colin Ihrig) #37734
  • [5de911eeaf] - tools: make update-eslint.sh work with npm@7 (Luigi Pinca) #37566
  • [839976669f] - tools: add support for mjs and cjs JS snippet linting (Antoine du Hamel) #37311
  • [2463bd0689] - tools: update eslint-plugin-markdown configuration (Colin Ihrig) #37549
  • [f868fac455] - tools: enable object-curly-newline in ESLint rules (Rich Trott) #37040
  • [d13508d219] - tools: make GH Actions workflows work if default branch is not master (Antoine du Hamel) #38516
  • [7021c31d06] - tools: use mktemp to create the workspace directory (Luigi Pinca) #38432
  • [16a3e555ba] - tools: use a shallow clone of the npm/cli repository (Luigi Pinca) #38463
  • [3484a23140] - tools: remove fixer for non-ascii-character ESLint custom rule (Rich Trott) #38413
  • [aec4b295e4] - tools: fix doc generation when version info is not available (Antoine du Hamel) #38398
  • [0172b110a3] - tools: add _depot_tools to PATH (for V8 tests) (DeeDeeG) #38299
  • [d0eed18c87] - tools: fix type mismatch in test runner (Richard Lau) #38289
  • [11ca018db9] - tools: simplify eslint comma-dangle configuration (tools) (Rich Trott) #37883
  • [f7c14e86a7] - tools: simplify eslint comma-dangle configuration (Rich Trott) #37850
  • [241e05795b] - tools: run doctool tests on GitHub Actions CI (Antoine du Hamel) #37398
  • [a4dd50f8f9] - tools: refactor prefer-primordials (Antoine du Hamel) #36018
  • [4af3906e72] - tools: update ESLint to 7.21.0 (Luigi Pinca) #37546
  • [955880de1a] - tools: update ESLint to 7.20.0 (Colin Ihrig) #37339
  • [42c1f98a31] - tools: update ESLint to 7.19.0 (Colin Ihrig) #37159
  • [25eb720b4d] - tools: update ESLint to 7.18.0 (Colin Ihrig) #36955
  • [4983ef205e] - tools: update gyp-next to v0.7.0 (Michaël Zasso) #36580
  • [613378da1e] - tools: update ESLint to 7.17.0 (Colin Ihrig) #36726
  • [e6d01f6545] - tools: update ESLint to 7.16.0 (Yongsheng Zhang) #36579
  • [98806da810] - tools: enable no-unsafe-optional-chaining lint rule (Colin Ihrig) #36411
  • [7d411920f6] - tools: update ESLint to 7.15.0 (Colin Ihrig) #36411
  • [226a86c3b5] - tools: enable no-unused-expressions lint rule (Michaël Zasso) #36248
  • [24a81c7d6c] - tools: enable no-nonoctal-decimal-escape lint rule (Colin Ihrig) #36217
  • [19d4eb17b9] - tools: update ESLint to 7.14.0 (Colin Ihrig) #36217
  • [9fa8d2037f] - tools: add linting rule for async IIFEs (Anna Henningsen) #34363
  • [55fc206d13] - tools: update ESLint to 7.13.0 (Luigi Pinca) #36031
  • [937fc0a30c] - tools: update ESLint to 7.12.1 (Colin Ihrig) #35799
  • [29d0840a90] - tools: update ESLint to 7.12.0 (Colin Ihrig) #35799
  • [dcbd44758c] - tools: update ESLint to 7.11.0 (Colin Ihrig) #35578
  • [c7751b4e69] - tools: add new ESLint rule: prefer-primordials (Leko) #35448
  • [9a5411a2b4] - tools,doc: add support for several flavors of JS code snippets (Antoine du Hamel) #37162
  • [e19478aa76] - tools,lib: recommend using safe primordials (Antoine du Hamel) #36026
  • [5f848a612d] - tools,lib: tighten prefer-primordials rules for Error statics (Antoine du Hamel) #36017
  • [716076e389] - tty: refactor to avoid unsafe array iteration (Antoine du Hamel) #36771
  • [41d74a4d9a] - tty: refactor to use more primordials (Zijian Liu) #36272
  • [e35a3543fd] - typings: add JSDoc typings for util (Rohit Gohri) #38213
  • [c8b22185f7] - url: refactor to use more primordials (Antoine du Hamel) #36316
  • [e113035c9a] - util: simplify constructor retrieval in inspect() (Rich Trott) #36466
  • [1551b40d01] - v8: refactor to use more primordials (Antoine du Hamel) #36527
  • [6c1bbb5caf] - v8: refactor to use more primordials (Antoine du Hamel) #36285
  • [3aee77d279] - vm: refactor to avoid unsafe array iteration (Antoine du Hamel) #36752
  • [0dea86634d] - wasi: refactor to avoid unsafe array iteration (Antoine du Hamel) #36724
  • [2c66305ac4] - Revert "worker: remove ERR_CLOSED_MESSAGE_PORT" (Juan José Arboleda) #38510
  • [698bffaa90] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #37346
  • [3d4785c174] - worker: refactor to use more primordials (Antoine du Hamel) #36267
  • [8702b045a4] - zlib: fix brotli flush range (Khaidi Chu) #38408
  • [459fe6864e] - zlib: refactor to avoid unsafe array iteration (Antoine du Hamel) #36722
  • [740638de0f] - zlib: refactor to use primordial instead of <string>.startsWith (Rohan Chougule) #36718
  • [32e10f388c] - zlib: refactor to use more primordials (Antoine du Hamel) #36347

PR-URL: #35380
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
@targos targos added release Issues and PRs related to Node.js releases. v14.x labels Jun 6, 2021
@github-actions github-actions bot added build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. labels Jun 6, 2021
@targos
Copy link
Member Author

targos commented Jun 6, 2021

/cc @aduh95 @mcollina PTAL

This release contains a bunch of primordials commits. I tried to avoid cherry-picking those that seemed problematic and looked at the benchmark results from each pull request when I pulled a change.
I know that ideally, we should be safe and avoid backporting these changes, but without them, almost everything else introduces conflicts...

@targos
Copy link
Member Author

targos commented Jun 6, 2021

@nodejs/releasers @nodejs/collaborators, as the changelog says, I'm planning to cut the release on 2021-06-15.
If you'd like something else included, please comment here (don't forget this is a semver-patch release, so no minor commits are going to make it this time).

@targos targos removed build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. labels Jun 6, 2021
@aduh95
Copy link
Contributor

aduh95 commented Jun 6, 2021

  • [5962d426c4] - tools: add new ESLint rule: prefer-primordials (Michaël Zasso) #35448

I noticed the original commit that landed in master (cef1444) has not the same author as the one pulled in this release (5962d42).

@targos
Copy link
Member Author

targos commented Jun 6, 2021

@aduh95 I cherry picked most commits from the v16.x branch, I don't know what could result in a change of the author

@targos
Copy link
Member Author

targos commented Jun 6, 2021

I found other commits where the author changed to myself: b41bd4fb7b 8c743cab51 538ec982a5.
I really have no idea how it happened...

@richardlau
Copy link
Member

Did you have minor merge conflicts to resolve when cherry-picking those? That might have changed the author.

@targos
Copy link
Member Author

targos commented Jun 6, 2021

Did you have minor merge conflicts to resolve when cherry-picking those? That might have changed the author.

I don't remember if it was with those, but I did have a few merge conflicts to resolve. How does git decide to change the author in this case?

@mcollina
Copy link
Member

mcollina commented Jun 8, 2021

@targos I think you need to pull in #38248 because this include several of the problematic primordials I identified in #37937.

@mcollina
Copy link
Member

mcollina commented Jun 8, 2021

#38245 should be pulled in as well.

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blocking as some of the primordials introduced here have been reverted

@targos
Copy link
Member Author

targos commented Jun 8, 2021

I cannot pull #38248 as-is, because not all the changes it reverts are in v14.x-staging.
@aduh95 would you be able to give a try at a backport?

@targos
Copy link
Member Author

targos commented Jun 8, 2021

#38245 is not necessary as I didn't land the original commit.

@mmarchini
Copy link
Contributor

#38949 should be pulled too

I added a new custom ESLint rule to fix these problems.

We have a lot of replaceable codes with primordials.
Accessing built-in objects is restricted by existing rule
(no-restricted-globals), but accessing property in the built-in objects
is not restricted right now. We manually review codes that can be
replaced by primordials, but there's a lot of code that actually needs
to be fixed. We have often made pull requests to replace the primordials
with.

Restrict accessing global built-in objects such as `Promise`.
Restrict calling static methods such as `Array.from` or `Symbol.for`.
Don't restrict prototype methods to prevent false-positive.

PR-URL: #35448
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
Reviewed-By: Ben Coe <[email protected]>
@targos
Copy link
Member Author

targos commented Jun 11, 2021

V8 CI fails and it's probably related to the things we did to make it work on master. /cc @richardlau

@targos
Copy link
Member Author

targos commented Jun 11, 2021

@richardlau
Copy link
Member

richardlau commented Jun 11, 2021

V8 CI fails and it's probably related to the things we did to make it work on master. /cc @richardlau

😞 Yeah it is. We used to force building Node.js with Python 2 for the V8 jobs but that stopped working once we updated gyp in master to a version of gyp-next that doesn't support Python 2 anymore. I've reinstated running configure with FORCE_PYTHON2=true which will force Node.js 14 to build with Python 2 in the V8 CI job. FORCE_PYTHON2 is only checked for on Node.js 14/15 so this will have no effect on Node.js 12 (where configure only detects Python 2) or master).

Rebuild of the V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/4046/ ✔️

I think #38969 is a nicer solution as it allows us to build Node.js with Python 3, but that only landed a few days ago on master.

@targos targos requested a review from mcollina June 12, 2021 08:15
@targos
Copy link
Member Author

targos commented Jun 12, 2021

@nodejs/releasers

@aduh95
Copy link
Contributor

aduh95 commented Jun 12, 2021

It seems you need to add an entry to CHANGELOG.md linking to the new release changelog (cf #39016).

@targos
Copy link
Member Author

targos commented Jun 12, 2021

Right, it seems that git node release stopped doing it at some point.

@targos
Copy link
Member Author

targos commented Jun 12, 2021

Add along with 14.17.0

@mcollina
Copy link
Member

I'll test it asap

addaleax and others added 2 commits June 14, 2021 13:34
Singly-linked lists are extended at their tail, not their head.
This fixes using more than 2 linked addons at a time.

PR-URL: #39012
Reviewed-By: Shelley Vohr <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Notable changes:

deps:
  * update ICU to 69.1 (Michaël Zasso) #38178
src:
  * align source-map stacks with spec (Benjamin Coe) #37252

PR-URL: #38948
@targos
Copy link
Member Author

targos commented Jun 14, 2021

I added #39012 to this proposal.

From @addaleax :

I would appreciate early backports to v14.x and v12.x, since this is actually something I’m running into at work, and it’s a) a bugfix and b) only affects embedding scenarios, which makes it really low-risk for LTS imo.

@nodejs-github-bot
Copy link
Collaborator

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@targos
Copy link
Member Author

targos commented Jun 15, 2021

@targos targos merged commit 6c77fd3 into v14.x Jun 15, 2021
targos added a commit that referenced this pull request Jun 15, 2021
@cclauss cclauss deleted the v14.17.1-proposal branch June 15, 2021 12:41
@cclauss cclauss restored the v14.17.1-proposal branch June 15, 2021 12:41
targos added a commit that referenced this pull request Jun 15, 2021
Notable changes:

deps:
  * update ICU to 69.1 (Michaël Zasso) #38178
src:
  * align source-map stacks with spec (Benjamin Coe) #37252

PR-URL: #38948
@targos targos deleted the v14.17.1-proposal branch June 15, 2021 12:47
targos added a commit to targos/nodejs.org that referenced this pull request Jun 15, 2021
targos added a commit to nodejs/nodejs.org that referenced this pull request Jun 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.