Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v12.9.0 release proposal #29210

Merged
merged 97 commits into from Aug 20, 2019
Merged

v12.9.0 release proposal #29210

merged 97 commits into from Aug 20, 2019

Conversation

targos
Copy link
Member

@targos targos commented Aug 19, 2019

2019-08-20, Version 12.9.0 (Current), @targos

Notable changes

  • crypto:
    • Added an oaepHash option to asymmetric encryption which allows users to specify a hash function when using OAEP padding (Tobias Nießen) #28335.
  • deps:
    • Updated V8 to 7.6.303.29 (Michaël Zasso) #28955.
    • Updated libuv to 1.31.0 (cjihrig) #29070.
      • UV_FS_O_FILEMAP has been added for faster access to memory mapped files on Windows.
      • uv_fs_mkdir() now returns UV_EINVAL for invalid filenames on Windows. It previously returned UV_ENOENT.
      • The uv_fs_statfs() API has been added.
      • The uv_os_environ() and uv_os_free_environ() APIs have been added.
  • fs:
    • Added fs.writev, fs.writevSync and filehandle.writev (promise version) methods. They allow to write an array of ArrayBufferViews to a file descriptor (Anas Aboureada) #25925, (cjihrig) #29186.
  • http:
    • Added three properties to OutgoingMessage.prototype: writableObjectMode, writableLength and writableHighWaterMark #29018.
  • stream:
    • Added an new property readableEnded to readable streams. Its value is set to true when the 'end' event is emitted. (Robert Nagy) #28814.
    • Added an new property writableEnded to writable streams. Its value is set to true after writable.end() has been called. (Robert Nagy) #28934.

Commits

  • [5008b46159] - benchmark: allow easy passing of process flags (Brian White) #28986
  • [9057814206] - buffer: improve copy() performance (Brian White) #29066
  • [c7a4525bbe] - buffer: improve ERR_BUFFER_OUT_OF_BOUNDS default (cjihrig) #29098
  • [f42eb01d1d] - build: enable linux large pages LLVM lld linkage support (David Carlier) #28938
  • [5c5ef4e858] - build: remove unused option (Rich Trott) #29173
  • [fbe25c7fb7] - build: remove unnecessary Python semicolon (MattIPv4) #29170
  • [e51f924964] - build: add a testclean target (Daniel Bevenius) #29094
  • [0a63e2d9ff] - build: support py3 for configure.py (cclauss) #29106
  • [b04f9e1f57] - build: reset embedder string to "-node.0" (Michaël Zasso) #28955
  • [b085b94fce] - console: minor timeLogImpl() refactor (cjihrig) #29100
  • [54197eac4d] - (SEMVER-MINOR) crypto: extend RSA-OAEP support with oaepHash (Tobias Nießen) #28335
  • [a17d398989] - deps: V8: cherry-pick e3d7f8a (cclauss) #29105
  • [2c91c65961] - deps: upgrade to libuv 1.31.0 (cjihrig) #29070
  • [53c7fac310] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
  • [7b8eb83895] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
  • [7d411f47b2] - deps: V8: backport b33af60 (Gus Caplan) #28671
  • [492b7cb8c3] - (SEMVER-MINOR) deps: V8: cherry-pick d2ccc59 (Michaël Zasso) #28016
  • [945955ff86] - deps: cherry-pick 13a04aba from V8 upstream (Jon Kunkee) #28602
  • [9b3c115efb] - (SEMVER-MINOR) deps: V8: cherry-pick 3b8c624 (Michaël Zasso) #28016
  • [533b2d4a08] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
  • [c9f8d28f71] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [f24caeff2f] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
  • [94c8d068f8] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [d940403c20] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl\*FunctionTable (Refael Ackermann) #27375
  • [ac0c075cad] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [eefbc0773f] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #28016
  • [33f3e383da] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [434c127651] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [040e7dabe4] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
  • [cfe2484e04] - deps: update V8 to 7.6.303.29 (Michaël Zasso) #28955
  • [6f7b561295] - dns: update lookupService() first arg name (cjihrig) #29040
  • [ad28f555a1] - doc: improve example single-test command (David Guttman) #29171
  • [edbe38d52d] - doc: mention N-API as recommended approach (Michael Dawson) #28922
  • [ebfe6367f0] - doc: fix introduced_in note in querystring.md (Ben Noordhuis) #29014
  • [9ead4eceeb] - doc: note that stream error can close stream (Robert Nagy) #29082
  • [5ea9237d2b] - doc: clarify async iterator leak (Robert Nagy) #28997
  • [1b6d7c0d00] - doc: fix nits in child_process.md (Vse Mozhet Byt) #29024
  • [375d1ee58b] - doc: improve UV_THREADPOOL_SIZE description (Tobias Nießen) #29033
  • [7b7b8f21cb] - doc: documented default statusCode (Natalie Fearnley) #28982
  • [17d9495afa] - doc: make unshift doc compliant with push doc (EduardoRFS) #28953
  • [3bfca0b7e4] - doc, lib, src, test, tools: fix assorted typos (XhmikosR) #29075
  • [b7696b41e5] - events: give subclass name in unhandled 'error' message (Anna Henningsen) #28952
  • [d79d142e0c] - fs: use fs.writev() internally (Robert Nagy) #29189
  • [82eeadb216] - fs: use consistent buffer array validation (cjihrig) #29186
  • [81f3eb5bb1] - fs: add writev() promises version (cjihrig) #29186
  • [435683610b] - fs: validate writev fds consistently (cjihrig) #29185
  • [bb19d8212a] - (SEMVER-MINOR) fs: add fs.writev() which exposes syscall writev() (Anas Aboureada) #25925
  • [178caa56ae] - fs: add default options for *stat() (Tony Brix) #29114
  • [f194626ffb] - fs: validate fds as int32s (cjihrig) #28984
  • [c5edeb9776] - http: simplify drain() (Robert Nagy) #29081
  • [6b9e372198] - http: follow symbol naming convention (Robert Nagy) #29091
  • [2e5008848e] - http: remove redundant condition (Luigi Pinca) #29078
  • [13a497912d] - http: remove duplicate check (Robert Nagy) #29022
  • [16e001112c] - (SEMVER-MINOR) http: add missing stream-like properties to OutgoingMessage (Robert Nagy) #29018
  • [c396b2a5b2] - http: buffer writes even while no socket assigned (Robert Nagy) #29019
  • [f9b61d2bc7] - (SEMVER-MINOR) http,stream: add writableEnded (Robert Nagy) #28934
  • [964dff8a9e] - http2: remove unused FlushData() function (Anna Henningsen) #29145
  • [66249bbcad] - inspector: use const for contextGroupId (gengjiawen) #29076
  • [cb162298eb] - module: pkg exports validations and fallbacks (Guy Bedford) #28949
  • [491b46d605] - module: refine package name validation (Guy Bedford) #28965
  • [925e40cfa7] - module: add warning when import,export is detected in CJS context (Giorgos Ntemiris) #28950
  • [17319e7f44] - net: use callback to properly propagate error (Robert Nagy) #29178
  • [7f11c72cc5] - readline: close dumb terminals on Control+D (cjihrig) #29149
  • [3c346b8bad] - readline: close dumb terminals on Control+C (cjihrig) #29149
  • [e474c6776c] - (SEMVER-MINOR) readline: establish y in cursorTo as optional (Gerhard Stoebich) #29128
  • [2528dee674] - report: list envvars using uv_os_environ() (cjihrig) #28963
  • [a6b9299039] - src: rename --security-reverts to ...-revert (Sam Roberts) #29153
  • [62a0e91d8c] - src: simplify UnionBytes (Ben Noordhuis) #29116
  • [b2936cff5d] - src: organize imports in inspector_profiler.cc (pi1024e) #29073
  • [a9f8b62b47] - (SEMVER-MINOR) stream: add readableEnded (Robert Nagy) #28814
  • [1e3e6da9b9] - stream: simplify howMuchToRead() (Robert Nagy) #29155
  • [e2a2a3f4dd] - stream: use lazy registration for drain for fast destinations (Robert Nagy) #29095
  • [2a844599db] - stream: improve read() performance further (Brian White) #29077
  • [e543d35f35] - stream: inline and simplify onwritedrain (Robert Nagy) #29037
  • [6bc4620d8b] - stream: improve read() performance more (Brian White) #28989
  • [647f3a8d01] - stream: encapsulate buffer-list (Robert Nagy) #28974
  • [000999c06c] - stream: improve read() performance (Brian White) #28961
  • [6bafd35369] - test: deflake test-tls-passphrase (Luigi Pinca) #29134
  • [aff1ef9d27] - test: add required settings to test-benchmark-buffer (Rich Trott) #29163
  • [18b711366a] - test: make exported method static (Rainer Poisel) #29102
  • [0aa339e5e1] - test: skip test-fs-access if root (Daniel Bevenius) #29092
  • [e3b1243ea2] - test: unskip tests that now pass on AIX (Sam Roberts) #29054
  • [f9ed5f351b] - test: assert: add failing deepEqual test for faked boxed primitives (Jordan Harband) #29029
  • [43e444b07a] - test: refactor test-sync-io-option (Anna Henningsen) #29020
  • [82edebfebf] - (SEMVER-MINOR) test: add test for OAEP hash mismatch (Tobias Nießen) #28335
  • [f08f154fd6] - (SEMVER-MINOR) test: update postmortem metadata test for V8 7.6 (cjihrig) #28016
  • [5b892c44d6] - tls: allow client-side sockets to be half-opened (Luigi Pinca) #27836
  • [c4f6077994] - tools: make code cache and snapshot deterministic (Ben Noordhuis) #29142
  • [acdc21b832] - tools: make pty_helper.py python3-compatible (Ben Noordhuis) #29167
  • [31c50e5c17] - tools: make nodedownload.py Python 3 compatible (cclauss) #29104
  • [1011a1792c] - tools: allow single JS file for --link-module (Daniel Bevenius) #28443
  • [4d7a7957fc] - (SEMVER-MINOR) tools: sync gypfiles with V8 7.6 (Michaël Zasso) #28016
  • [a4e2549b87] - util: improve debuglog performance (Brian White) #28956
  • [112ec73c95] - util: isEqualBoxedPrimitive: ensure both values are actual boxed Symbols (Jordan Harband) #29029
  • [8426077898] - util: assert: fix deepEqual comparing fake-boxed to real boxed primitive (Jordan Harband) #29029
  • [d4e397a900] - worker: fix crash when SharedArrayBuffer outlives creating thread (Anna Henningsen) #29190

targos and others added 30 commits August 16, 2019 08:59
Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: v8/v8@bd019bd

Backport-PR-URL: #28955
PR-URL: #26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Backport-PR-URL: #28955
PR-URL: #26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Update postmortem metadata constants for V8 7.6 in Node.js.

Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Fixes a compilation issue on some platforms

Backport-PR-URL: #28955
PR-URL: #27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This should be semver-patch since actual invocation is version
conditional.

Backport-PR-URL: #28955
PR-URL: #27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
`std::atomic_init<size_t>` is not implemented in all platforms.

* pragma to ignore `-Wbraced-scalar-init`

Backport-PR-URL: #28955
PR-URL: #27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: https://developercommunity.visualstudio.com/content/problem/512352/compiler-doesnt-finish-142027508.html

Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Backport-PR-URL: #28955
PR-URL: #27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    GCC: explicitely instantiate JSObject::ApplyAttributesToDictionary for NumberDictionary

    elements.cc invokes ApplyAttributesToDictionary using NumberDictionary as its template
    parameter. But the declaration of the template method is in js-object.cc, so nobody
    can actually compile the version for number dictionary. This is fixed requesting
    explicit instantiation for NumberDictionary.

    This was breaking GCC build.

    Bug: chromium:819294
    Change-Id: I685ddc5b97e129d1a534dbdb04025c0932bc5ecd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649565
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
    Cr-Commit-Position: refs/heads/master@{#62097}

Refs: v8/v8@3b8c624

Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:
  fix: move V8_EXPORT_PRIVATE marks to prevent unresolvable references

  This change fixes missing symbol errors in the Windows 10 on ARM build
  of Node.js.

  When a whole class is marked for export, all of its members are marked
  as well. This can be a problem when inline members call undefined yet
  inline members of other classes: the exported function will contain a
  reference to the undefined inline function that should be satisfied at
  link time, but because the other function is inline no symbol will be
  produced that will satisfy that reference.

  Clang gets around this by masking inlined class members from export
  using /Fc:dllexportInlines-. This is why b0a2a567 worked.

  Node.js' Windows builds use MSVC and so do not have access to this
  flag. This results in unresolved symbols at link time.

  Bug: v8:9465
  Change-Id: Ief9c7ab6ba35d22f995939eb62a64d6f1992ed85
  Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1696771
  Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
  Reviewed-by: Jakob Gruber <jgruber@chromium.org>
  Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#62660}

Refs: v8/v8@13a04ab
Backport-PR-URL: #28955
PR-URL: #28602
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Original commit message:

    [snapshot] print reference stack for JSFunctions in the isolate snapshot

    This helps debugging incorrect usage of the SnapshotCreator API in
    debug mode.

    Change-Id: Ibd9db76a5f460cdf7ea6d14e865592ebaf69aeef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648240
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62095}

Refs: v8/v8@d2ccc59

Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [api] Get ScriptOrModule from CompileFunctionInContext

    Adds a new out param which allows accessing the ScriptOrModule
    of a function, which allows an embedder such as Node.js to use
    the function's i::Script lifetime.

    Refs: nodejs/node-v8#111
    Change-Id: I34346d94d76e8f9b8377c97d948673f4b95eb9d5
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1699698
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62830}

Refs: v8/v8@b33af60

Backport-PR-URL: #28955
Backport-PR-URL: #28779
PR-URL: #28671
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Co-authored-by: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com>

Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
The following metadata has changed:

- v8dbg_class_FixedTypedArrayBase__base_pointer__Object
  - Field moved from FixedTypedArrayBase to JSTypedArray.
  - Postmortem tools should use v8dbg_class_JSTypedArray__base_pointer__Object.
  - Refs: v8/v8@70bd7cf

- v8dbg_class_FixedTypedArrayBase__external_pointer__uintptr_t
  - Field moved from FixedTypedArrayBase to JSTypedArray.
  - Add new constant: v8dbg_class_JSTypedArray__external_pointer__uintptr_t
  - Refs: v8/v8@70bd7cf

- v8dbg_class_Map__instance_descriptors_offset
  - Underlying constant was renamed to kInstanceDescriptorsOffset.
  - Postmortem tools should not need to update anything for this constant.
  - Refs: v8/v8@15a7e04

Backport-PR-URL: #28955
PR-URL: #28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: #28955
PR-URL: #28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
PR-URL: #28955
This will allow users to know how to change their project to support
ES modules.

PR-URL: #28950
Reviewed-By: Bradley Farias <bradley.meck@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
For unhandled `'error'` events, include the constructor name for
subclasses of EventEmitter, if possible. This makes tracing errors
easier when both creation of the `Error` object and emitting it
happen in code that does not refer back to the event emitter.

PR-URL: #28952
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #28961
Reviewed-By: Weijia Wang <starkwang@126.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This adds an oaepHash option to asymmetric encryption which allows
users to specify a hash function when using OAEP padding. This
feature is required for interoperability with WebCrypto applications.

PR-URL: #28335
Fixes: #25756
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
PR-URL: #28335
Fixes: #25756
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
readable.unshift() also allows to pass null and end stream

PR-URL: #28953
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
This commit updates the JS layer's validation of file
descriptors to check for int32s >= 0 instead of uint32s.

PR-URL: #28984
Fixes: #28980
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #28986
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #28982
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: #28965
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
targos added a commit that referenced this pull request Aug 20, 2019
Notable changes:

* crypto:
  * Added an oaepHash option to asymmetric encryption which allows
    users to specify a hash function when using OAEP padding.
    #28335
* deps:
  * Updated V8 to 7.6.303.29. #28955
    * Improves the performance of various APIs such as `JSON.parse` and
      methods called on frozen arrays.
    * Adds the Promise.allSettled method.
    * Improves support of `BigInt` in `Intl` methods.
    * For more information: https://v8.dev/blog/v8-release-76
  * Updated libuv to 1.31.0. #29070
    * `UV_FS_O_FILEMAP` has been added for faster access to memory
      mapped files on Windows.
    * `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid filenames on
      Windows. It previously returned `UV_ENOENT`.
    * The `uv_fs_statfs()` API has been added.
    * The `uv_os_environ()` and `uv_os_free_environ()` APIs have been
      added.
* fs:
  * Added `fs.writev`, `fs.writevSync` and `filehandle.writev` (promise
    version) methods. They allow to write an array of `ArrayBufferView`s
    to a file descriptor. #25925
    https://github.com/nodejs/node/pull/29186/files
* http:
  * Added three properties to `OutgoingMessage.prototype`:
    `writableObjectMode`, `writableLength` and `writableHighWaterMark`
    #29018
* stream:
  * Added an new property `readableEnded` to readable streams. Its value
    is set to `true` when the `'end'` event is emitted.
    #28814
  * Added an new property `writableEnded` to writable streams. Its value
    is set to `true` after `writable.end()` has been called.
    #28934

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

targos commented Aug 20, 2019

Updated

@nodejs-github-bot
Copy link
Collaborator

* [[`1a2cf6696f`](https://github.com/nodejs/node/commit/1a2cf6696f)] - **(SEMVER-MINOR)** **async_hooks**: remove promise object from resource (Andreas Madsen) [#23443](https://github.com/nodejs/node/pull/23443)
* [[`c992639fbd`](https://github.com/nodejs/node/commit/c992639fbd)] - **(SEMVER-MINOR)** **bootstrap**: make Buffer and process non-enumerable (Ruben Bridgewater) [#24874](https://github.com/nodejs/node/pull/24874)
* [[`693401d0dd`](https://github.com/nodejs/node/commit/693401d0dd)] - **(SEMVER-MINOR)** **buffer**: use stricter range checks (Ruben Bridgewater) [#27045](https://github.com/nodejs/node/pull/27045)
* [[`6113ba96cb`](https://github.com/nodejs/node/commit/6113ba96cb)] - **(SEMVER-MINOR)** **buffer**: harden SlowBuffer creation (ZYSzys) [#26272](https://github.com/nodejs/node/pull/26272)
Copy link
Member

Choose a reason for hiding this comment

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

This seems to be changed accidentally.

Copy link
Member Author

Choose a reason for hiding this comment

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

good catch, thanks

targos added a commit to targos/node that referenced this pull request Aug 20, 2019
Notable changes:

* crypto:
  * Added an oaepHash option to asymmetric encryption which allows
    users to specify a hash function when using OAEP padding.
    nodejs#28335
* deps:
  * Updated V8 to 7.6.303.29. nodejs#28955
    * Improves the performance of various APIs such as `JSON.parse` and
      methods called on frozen arrays.
    * Adds the Promise.allSettled method.
    * Improves support of `BigInt` in `Intl` methods.
    * For more information: https://v8.dev/blog/v8-release-76
  * Updated libuv to 1.31.0. nodejs#29070
    * `UV_FS_O_FILEMAP` has been added for faster access to memory
      mapped files on Windows.
    * `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid filenames on
      Windows. It previously returned `UV_ENOENT`.
    * The `uv_fs_statfs()` API has been added.
    * The `uv_os_environ()` and `uv_os_free_environ()` APIs have been
      added.
* fs:
  * Added `fs.writev`, `fs.writevSync` and `filehandle.writev` (promise
    version) methods. They allow to write an array of `ArrayBufferView`s
    to a file descriptor. nodejs#25925
    https://github.com/nodejs/node/pull/29186/files
* http:
  * Added three properties to `OutgoingMessage.prototype`:
    `writableObjectMode`, `writableLength` and `writableHighWaterMark`
    nodejs#29018
* stream:
  * Added an new property `readableEnded` to readable streams. Its value
    is set to `true` when the `'end'` event is emitted.
    nodejs#28814
  * Added an new property `writableEnded` to writable streams. Its value
    is set to `true` after `writable.end()` has been called.
    nodejs#28934

PR-URL: nodejs#29210
Notable changes:

* crypto:
  * Added an oaepHash option to asymmetric encryption which allows
    users to specify a hash function when using OAEP padding.
    #28335
* deps:
  * Updated V8 to 7.6.303.29. #28955
    * Improves the performance of various APIs such as `JSON.parse` and
      methods called on frozen arrays.
    * Adds the Promise.allSettled method.
    * Improves support of `BigInt` in `Intl` methods.
    * For more information: https://v8.dev/blog/v8-release-76
  * Updated libuv to 1.31.0. #29070
    * `UV_FS_O_FILEMAP` has been added for faster access to memory
      mapped files on Windows.
    * `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid filenames on
      Windows. It previously returned `UV_ENOENT`.
    * The `uv_fs_statfs()` API has been added.
    * The `uv_os_environ()` and `uv_os_free_environ()` APIs have been
      added.
* fs:
  * Added `fs.writev`, `fs.writevSync` and `filehandle.writev` (promise
    version) methods. They allow to write an array of `ArrayBufferView`s
    to a file descriptor. #25925
    #29186
* http:
  * Added three properties to `OutgoingMessage.prototype`:
    `writableObjectMode`, `writableLength` and `writableHighWaterMark`
    #29018
* stream:
  * Added an new property `readableEnded` to readable streams. Its value
    is set to `true` when the `'end'` event is emitted.
    #28814
  * Added an new property `writableEnded` to writable streams. Its value
    is set to `true` after `writable.end()` has been called.
    #28934

PR-URL: #29210
@targos targos merged commit e6872f5 into v12.x Aug 20, 2019
targos added a commit that referenced this pull request Aug 20, 2019
targos added a commit that referenced this pull request Aug 20, 2019
Notable changes:

* crypto:
  * Added an oaepHash option to asymmetric encryption which allows
    users to specify a hash function when using OAEP padding.
    #28335
* deps:
  * Updated V8 to 7.6.303.29. #28955
    * Improves the performance of various APIs such as `JSON.parse` and
      methods called on frozen arrays.
    * Adds the Promise.allSettled method.
    * Improves support of `BigInt` in `Intl` methods.
    * For more information: https://v8.dev/blog/v8-release-76
  * Updated libuv to 1.31.0. #29070
    * `UV_FS_O_FILEMAP` has been added for faster access to memory
      mapped files on Windows.
    * `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid filenames on
      Windows. It previously returned `UV_ENOENT`.
    * The `uv_fs_statfs()` API has been added.
    * The `uv_os_environ()` and `uv_os_free_environ()` APIs have been
      added.
* fs:
  * Added `fs.writev`, `fs.writevSync` and `filehandle.writev` (promise
    version) methods. They allow to write an array of `ArrayBufferView`s
    to a file descriptor. #25925
    #29186
* http:
  * Added three properties to `OutgoingMessage.prototype`:
    `writableObjectMode`, `writableLength` and `writableHighWaterMark`
    #29018
* stream:
  * Added an new property `readableEnded` to readable streams. Its value
    is set to `true` when the `'end'` event is emitted.
    #28814
  * Added an new property `writableEnded` to writable streams. Its value
    is set to `true` after `writable.end()` has been called.
    #28934

PR-URL: #29210
@targos targos deleted the v12.9.0-proposal branch August 20, 2019 19:40
targos added a commit to nodejs/nodejs.org that referenced this pull request Aug 20, 2019
targos added a commit to nodejs/nodejs.org that referenced this pull request Aug 20, 2019
@targos targos added release Issues and PRs related to Node.js releases. and removed build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. libuv Issues and PRs related to the libuv dependency or the uv binding. meta Issues and PRs related to the general management of the project. labels Jun 6, 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.

None yet