summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
AgeCommit message (Collapse)Author
2020-12-222020-12-22, Version 15.5.0 (Current)Michaël Zasso
Notable changes: child_process: * (SEMVER-MINOR) add signal support to spawn (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/36432 doc: * add PoojaDurgad to collaborators (Pooja D P) https://github.com/nodejs/node/pull/36511 lib: * (SEMVER-MINOR) support BigInt in querystring.stringify (raisinten) https://github.com/nodejs/node/pull/36499 src: * (SEMVER-MINOR) add way to get IsolateData and allocator from Environment (Anna Henningsen) https://github.com/nodejs/node/pull/36441 * (SEMVER-MINOR) allow preventing SetPrepareStackTraceCallback (Shelley Vohr) https://github.com/nodejs/node/pull/36447 stream: * (SEMVER-MINOR) support abortsignal in constructor (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/36431 PR-URL: https://github.com/nodejs/node/pull/36597
2020-12-172020-12-17, Version 14.15.3 'Fermium' (LTS)Beth Griggs
Notable Changes: Node.js v14.15.2 included a commit that has caused reported breakages when cloning request objects. This release reverts the commit that introduced the behaviour change. See https://github.com/nodejs/node/issues/36550 for more details. PR-URL: https://github.com/nodejs/node/pull/36555
2020-12-152020-12-15, Version 14.15.2 'Fermium' (LTS)Beth Griggs
Notable Changes: - **deps**: - upgrade npm to 6.14.9 (Myles Borins) https://github.com/nodejs/node/pull/36450 - update acorn to v8.0.4 (Michaël Zasso) https://github.com/nodejs/node/pull/35791 - **doc**: add release key for Danielle Adams (Danielle Adams) https://github.com/nodejs/node/pull/35545 - **http2**: check write not scheduled in scope destructor (David Halls) https://github.com/nodejs/node/pull/36241 - **stream**: fix regression on duplex end (Momtchil Momtchev) https://github.com/nodejs/node/pull/35941 PR-URL: https://github.com/nodejs/node/pull/36476
2020-12-14doc: add v15.4.0 link to CHANGELOG.mdDanielle Adams
PR-URL: https://github.com/nodejs/node/pull/36456 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Beth Griggs <bgriggs@redhat.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-11-242020-11-24, Version 12.20.0 'Erbium' (LTS)Myles Borins
Notable changes: crypto: * update certdata to NSS 3.56 (Shelley Vohr) https://github.com/nodejs/node/pull/35546 deps: * update llhttp to 2.1.3 (Fedor Indutny) https://github.com/nodejs/node/pull/35435 * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) https://github.com/nodejs/node/pull/35333 doc: * add aduh95 to collaborators (Antoine du Hamel) https://github.com/nodejs/node/pull/35542 fs: * (SEMVER-MINOR) add .ref() and .unref() methods to watcher classes (rickyes) https://github.com/nodejs/node/pull/33134 http: * (SEMVER-MINOR) added scheduling option to http agent (delvedor) https://github.com/nodejs/node/pull/33278 module: * (SEMVER-MINOR) exports pattern support (Guy Bedford) https://github.com/nodejs/node/pull/34718 * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) https://github.com/nodejs/node/pull/35249 n-api: * (SEMVER-MINOR) add more property defaults (Gerhard Stoebich) https://github.com/nodejs/node/pull/35214 src: * (SEMVER-MINOR) move node_contextify to modern THROW_ERR_* (James M Snell) https://github.com/nodejs/node/pull/35470 * (SEMVER-MINOR) move node_process to modern THROW_ERR* (James M Snell) https://github.com/nodejs/node/pull/35472 * (SEMVER-MINOR) expose v8::Isolate setup callbacks (Shelley Vohr) https://github.com/nodejs/node/pull/35512 PR-URL: https://github.com/nodejs/node/pull/35950
2020-11-242020-11-24, Version 15.3.0 (Current)Shelley Vohr
Notable changes: dns: * (SEMVER-MINOR) add a cancel() method to the promise Resolver (Szymon Marczak) https://github.com/nodejs/node/pull/33099 events: * (SEMVER-MINOR) add max listener warning for EventTarget (James M Snell) https://github.com/nodejs/node/pull/36001 http: * (SEMVER-MINOR) add support for abortsignal to http.request (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/36048 http2: * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) https://github.com/nodejs/node/pull/35978 lib: * (SEMVER-MINOR) add throws option to fs.f/l/statSync (Andrew Casey) https://github.com/nodejs/node/pull/33716 path: * (SEMVER-MINOR) add `path/posix` and `path/win32` alias modules (ExE Boss) https://github.com/nodejs/node/pull/34962 readline: * (SEMVER-MINOR) add getPrompt to get the current prompt (Mattias Runge-Broberg) https://github.com/nodejs/node/pull/33675 src: * (SEMVER-MINOR) add loop idle time in diagnostic report (Gireesh Punathil) https://github.com/nodejs/node/pull/35940 util: * (SEMVER-MINOR) add `util/types` alias module (ExE Boss) https://github.com/nodejs/node/pull/34055 PR-URL: https://github.com/nodejs/node/pull/36232
2020-11-162020-11-16, Version 12.19.1 'Erbium' (LTS)Beth Griggs
This is a security release. Notable changes: Vulnerabilities fixed: * CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of Service by getting the application to resolve a DNS record with a larger number of responses. PR-URL: https://github.com/nodejs-private/node-private/pull/233
2020-11-162020-11-16, Version 14.15.1 'Fermium' (LTS)Beth Griggs
This is a security release. Notable changes: Vulnerabilities fixed: * CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of Service by getting the application to resolve a DNS record with a larger number of responses. PR-URL: https://github.com/nodejs-private/node-private/pull/234
2020-11-162020-11-16, Version 15.2.1 (Current)Michaël Zasso
This is a security release. Notable changes: Vulnerabilities fixed: * CVE-2020-8277: Denial of Service through DNS request (High). A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of service by getting the application to resolve a DNS record with a larger number of responses. PR-URL: https://github.com/nodejs-private/node-private/pull/232
2020-11-102020-11-10, Version 15.2.0 (Current)Danielle Adams
Notable changes: * events: * getEventListeners static (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/35991) * fs: * support abortsignal in writeFile (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/35993) * add support for AbortSignal in readFile (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/35911) * stream: * fix thrown object reference (Gil Pedersen) (https://github.com/nodejs/node/pull/36065) PR URL: https://github.com/nodejs/node/pull/36055
2020-11-042020-11-04, Version 15.1.0 (Current)Michaël Zasso
Notable changes: child_process: * (SEMVER-MINOR) add ChildProcess 'spawn' event (Matthew Francis Brunetti) https://github.com/nodejs/node/pull/35369 dns: * (SEMVER-MINOR) add setLocalAddress to Resolver (Josh Dague) https://github.com/nodejs/node/pull/34824 http: * (SEMVER-MINOR) report request start and end with diagnostics_channel (Stephen Belanger) https://github.com/nodejs/node/pull/34895 http2: * (SEMVER-MINOR) add updateSettings to both http2 servers (Vincent Boivin) https://github.com/nodejs/node/pull/35383 lib: * (SEMVER-MINOR) create diagnostics_channel module (Stephen Belanger) https://github.com/nodejs/node/pull/34895 src: * (SEMVER-MINOR) add --heapsnapshot-near-heap-limit option (Joyee Cheung) https://github.com/nodejs/node/pull/33010 v8: * (SEMVER-MINOR) implement v8.stopCoverage() (Joyee Cheung) https://github.com/nodejs/node/pull/33807 * (SEMVER-MINOR) implement v8.takeCoverage() (Joyee Cheung) https://github.com/nodejs/node/pull/33807 worker: * (SEMVER-MINOR) add eventLoopUtilization() (Trevor Norris) https://github.com/nodejs/node/pull/35664 PR-URL: https://github.com/nodejs/node/pull/35948
2020-10-272020-10-27, Version 14.15.0 'Fermium' (LTS)Richard Lau
Notable changes: This release marks the transition of Node.js 14.x into Long Term Support (LTS) with the codename 'Fermium'. The 14.x release line now moves into "Active LTS" and will remain so until October 2021. After that time, it will move into "Maintenance" until end of life in April 2023. PR-URL: https://github.com/nodejs/node/pull/35746
2020-10-272020-10-27, Version 10.23.0 'Dubnium' (LTS)Richard Lau
Notable changes: - deps: - upgrade npm to 6.14.8 (Ruy Adorno) https://github.com/nodejs/node/pull/34834 - n-api: - create N-API version 7 (Gabriel Schulhof) https://github.com/nodejs/node/pull/35199 - expose napi_build_version variable (NickNaso) https://github.com/nodejs/node/pull/27835 - tools: - add debug entitlements for macOS 10.15+ (Gabriele Greco) https://github.com/nodejs/node/pull/34378 PR-URL: https://github.com/nodejs/node/pull/35544
2020-10-212020-10-21, Version 15.0.1 (Current)Beth Griggs
Notable changes: - **crypto**: fix regression on randomFillSync (James M Snell) (https://github.com/nodejs/node/pull/35723) - This fixes issue https://github.com/nodejs/node/issues/35722. - **deps**: upgrade npm to 7.0.3 (Ruy Adorno) (https://github.com/nodejs/node/pull/35724) - **doc**: add release key for Danielle Adams (Danielle Adams) (https://github.com/nodejs/node/pull/35545) PR-URL: https://github.com/nodejs/node/pull/35736
2020-10-202020-10-20, Version 15.0.0 (Current)Beth Griggs
Notable changes: Deprecations and Removals: - **build**: remove --build-v8-with-gn configure option (Yang Guo) (https://github.com/nodejs/node/pull/27576) - **build**: drop support for VS2017 (Michaël Zasso) (https://github.com/nodejs/node/pull/33694) - **doc**: move DEP0018 to End-of-Life (Rich Trott) (https://github.com/nodejs/node/pull/35316) - **fs**: deprecation warning on recursive rmdir (Ian Sutherland) (https://github.com/nodejs/node/pull/35562) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **net**: remove long deprecated server.connections property (James M Snell) (https://github.com/nodejs/node/pull/33647) - **repl**: remove deprecated repl.memory function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated .rli (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **src**: remove deprecated node debug command (James M Snell) (https://github.com/nodejs/node/pull/33648) - **timers**: introduce timers/promises (James M Snell) (https://github.com/nodejs/node/pull/33950) - **util**: change default value of `maxStringLength` to 10000 (unknown) (https://github.com/nodejs/node/pull/32744) - **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) npm 7 (https://github.com/nodejs/node/pull/35631): Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes with many new features - including npm workspaces and a new package-lock.json format. npm 7 also includes yarn.lock file support. One of the big changes in npm 7 is that peer dependencies are now installed by default. Throw On Unhandled Rejections (https://github.com/nodejs/node/pull/33021): As of Node.js 15, the default mode for `unhandledRejection` is changed to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection` hook is not set, the `unhandledRejection` is raised as an uncaught exception. Users that have an `unhandledRejection` hook should see no change in behavior, and it’s still possible to switch modes using the `--unhandled-rejections=mode` process flag. QUIC (https://github.com/nodejs/node/pull/32379): Node.js 15 comes with experimental support QUIC, which can be enabled by compiling Node.js with the `--experimental-quic` configuration flag. The Node.js QUIC implementation is exposed by the core `net` module. V8 8.6 (https://github.com/nodejs/node/pull/35415): The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the latest available in Node.js 14). Along with performance tweaks and improvements the V8 update also brings the following language features: * `Promise.any()` (from V8 8.5) * `AggregateError` (from V8 8.5) * `String.prototype.replaceAll()` (from V8 8.5) * Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5) Other Notable Changes: - **assert**: add `assert/strict` alias module (ExE Boss) (https://github.com/nodejs/node/pull/34001) - **dns**: add dns/promises alias (shisama) (https://github.com/nodejs/node/pull/32953) - **fs**: reimplement read and write streams using stream.construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **http2**: allow Host in HTTP/2 requests (Alba Mendez) (https://github.com/nodejs/node/pull/34664) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **lib**: unflag AbortController (James M Snell) (https://github.com/nodejs/node/pull/33527) - **lib**: initial experimental AbortController implementation (James M Snell) (https://github.com/nodejs/node/pull/33527) - **net**: autoDestroy Socket (Robert Nagy) (https://github.com/nodejs/node/pull/31806) - **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) (https://github.com/nodejs/node/pull/33874) - **stream**: construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) Semver-Major Commits: - **assert**: add `assert/strict` alias module (ExE Boss) (https://github.com/nodejs/node/pull/34001) - **build**: reset embedder string to "-node.0" (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **build**: remove --build-v8-with-gn configure option (Yang Guo) (https://github.com/nodejs/node/pull/27576) - **build**: drop support for VS2017 (Michaël Zasso) (https://github.com/nodejs/node/pull/33694) - **crypto**: refactoring internals, add WebCrypto (James M Snell) (https://github.com/nodejs/node/pull/35093) - **crypto**: move node\_crypto files to src/crypto (James M Snell) (https://github.com/nodejs/node/pull/35093) - **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: fix V8 build issue with inline methods (Jiawen Geng) (https://github.com/nodejs/node/pull/35415) - **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: update V8 postmortem metadata script (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) - **deps**: update V8 to 8.6.395 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **deps**: upgrade npm to 7.0.0 (Myles Borins) (https://github.com/nodejs/node/pull/35631) - **deps**: update npm to 7.0.0-rc.3 (Myles Borins) (https://github.com/nodejs/node/pull/35474) - **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan) (https://github.com/nodejs/node/pull/33600) - **dns**: add dns/promises alias (shisama) (https://github.com/nodejs/node/pull/32953) - **doc**: move DEP0018 to End-of-Life (Rich Trott) (https://github.com/nodejs/node/pull/35316) - **doc**: update support macos version for 15.x (Ash Cripps) (https://github.com/nodejs/node/pull/35022) - **fs**: deprecation warning on recursive rmdir (Ian Sutherland) (https://github.com/nodejs/node/pull/35562) - **fs**: reimplement read and write streams using stream.construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **http**: fixed socket.setEncoding fatal error (iskore) (https://github.com/nodejs/node/pull/33405) - **http**: emit 'error' on aborted server request (Robert Nagy) (https://github.com/nodejs/node/pull/33172) - **http**: cleanup end argument handling (Robert Nagy) (https://github.com/nodejs/node/pull/31818) - **http2**: allow Host in HTTP/2 requests (Alba Mendez) (https://github.com/nodejs/node/pull/34664) - **http2**: add `invalidheaders` test (Pranshu Srivastava) (https://github.com/nodejs/node/pull/33161) - **http2**: refactor state code validation for the http2Stream class (rickyes) (https://github.com/nodejs/node/pull/33535) - **http2**: header field valid checks (Pranshu Srivastava) (https://github.com/nodejs/node/pull/33193) - **lib**: add EventTarget-related browser globals (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **lib**: remove ERR\_INVALID\_OPT\_VALUE and ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko) (https://github.com/nodejs/node/pull/34682) - **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys Otrishko) (https://github.com/nodejs/node/pull/34022) - **lib**: remove NodeError from the prototype of errors with code (Michaël Zasso) (https://github.com/nodejs/node/pull/33857) - **lib**: unflag AbortController (James M Snell) (https://github.com/nodejs/node/pull/33527) - **lib**: initial experimental AbortController implementation (James M Snell) (https://github.com/nodejs/node/pull/33527) - **net**: check args in net.connect() and socket.connect() calls (Denys Otrishko) (https://github.com/nodejs/node/pull/34022) - **net**: remove long deprecated server.connections property (James M Snell) (https://github.com/nodejs/node/pull/33647) - **net**: autoDestroy Socket (Robert Nagy) (https://github.com/nodejs/node/pull/31806) - **process**: update v8 fast api calls usage (Maya Lekova) (https://github.com/nodejs/node/pull/35415) - **process**: change default --unhandled-rejections=throw (Dan Fabulich) (https://github.com/nodejs/node/pull/33021) - **process**: use v8 fast api calls for hrtime (Gus Caplan) (https://github.com/nodejs/node/pull/33600) - **process**: delay throwing an error using `throwDeprecation` (Ruben Bridgewater) (https://github.com/nodejs/node/pull/32312) - **repl**: remove deprecated repl.memory function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated bufferedCommand property (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **repl**: remove deprecated .rli (Ruben Bridgewater) (https://github.com/nodejs/node/pull/33286) - **src**: implement NodePlatform::PostJob (Clemens Backes) (https://github.com/nodejs/node/pull/35415) - **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **src**: error reporting on CPUUsage (Yash Ladha) (https://github.com/nodejs/node/pull/34762) - **src**: use node:moduleName as builtin module filename (Michaël Zasso) (https://github.com/nodejs/node/pull/35498) - **src**: enable wasm trap handler on windows (Gus Caplan) (https://github.com/nodejs/node/pull/35033) - **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso) (https://github.com/nodejs/node/pull/33579) - **src**: disallow JS execution inside FreeEnvironment (Anna Henningsen) (https://github.com/nodejs/node/pull/33874) - **src**: remove \_third\_party\_main support (Anna Henningsen) (https://github.com/nodejs/node/pull/33971) - **src**: remove deprecated node debug command (James M Snell) (https://github.com/nodejs/node/pull/33648) - **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen) (https://github.com/nodejs/node/pull/32859) - **stream**: try to wait for flush to complete before 'finish' (Robert Nagy) (https://github.com/nodejs/node/pull/34314) - **stream**: cleanup and fix Readable.wrap (Robert Nagy) (https://github.com/nodejs/node/pull/34204) - **stream**: add promises version to utility functions (rickyes) (https://github.com/nodejs/node/pull/33991) - **stream**: fix writable.end callback behavior (Robert Nagy) (https://github.com/nodejs/node/pull/34101) - **stream**: construct (Robert Nagy) (https://github.com/nodejs/node/pull/29656) - **stream**: write should throw on unknown encoding (Robert Nagy) (https://github.com/nodejs/node/pull/33075) - **stream**: fix \_final and 'prefinish' timing (Robert Nagy) (https://github.com/nodejs/node/pull/32780) - **stream**: simplify Transform stream implementation (Robert Nagy) (https://github.com/nodejs/node/pull/32763) - **stream**: use callback to properly propagate error (Robert Nagy) (https://github.com/nodejs/node/pull/29179) - **test**: update tests after increasing typed array size to 4GB (Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415) - **test**: fix tests for npm 7.0.0 (Myles Borins) (https://github.com/nodejs/node/pull/35631) - **test**: fix test suite to work with npm 7 (Myles Borins) (https://github.com/nodejs/node/pull/35474) - **test**: update WPT harness and tests (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **timers**: introduce timers/promises (James M Snell) (https://github.com/nodejs/node/pull/33950) - **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso) (https://github.com/nodejs/node/pull/35415) - **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma) (https://github.com/nodejs/node/pull/35415) - **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma) (https://github.com/nodejs/node/pull/35415) - **url**: file URL path normalization (Daijiro Wachi) (https://github.com/nodejs/node/pull/35477) - **url**: verify domain is not empty after "ToASCII" (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **url**: remove U+0000 case in the fragment state (Michaël Zasso) (https://github.com/nodejs/node/pull/33770) - **url**: remove gopher from special schemes (Michaël Zasso) (https://github.com/nodejs/node/pull/33325) - **url**: forbid lt and gt in url host code point (Yash Ladha) (https://github.com/nodejs/node/pull/33328) - **util**: change default value of `maxStringLength` to 10000 (unknown) (https://github.com/nodejs/node/pull/32744) - **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig) (https://github.com/nodejs/node/pull/35415) - **win, child_process**: sanitize env variables (Bartosz Sosnowski) (https://github.com/nodejs/node/pull/35210) - **worker**: make MessageEvent class more Web-compatible (Anna Henningsen) (https://github.com/nodejs/node/pull/35496) - **worker**: set trackUnmanagedFds to true by default (Anna Henningsen) (https://github.com/nodejs/node/pull/34394) - **worker**: rename error code to be more accurate (Anna Henningsen) (https://github.com/nodejs/node/pull/33872) PR-URL: https://github.com/nodejs/node/pull/35014
2020-10-152020-10-15, Version 14.14.0 (Current)Myles Borins
Notable changes: crypto: * update certdata to NSS 3.56 (Shelley Vohr) https://github.com/nodejs/node/pull/35546 doc: * add aduh95 to collaborators (Antoine du Hamel) https://github.com/nodejs/node/pull/35542 fs: * (SEMVER-MINOR) add rm method (Ian Sutherland) https://github.com/nodejs/node/pull/35494 http: * (SEMVER-MINOR) allow passing array of key/val into writeHead (Robert Nagy) https://github.com/nodejs/node/pull/35274 src: * (SEMVER-MINOR) expose v8::Isolate setup callbacks (Shelley Vohr) https://github.com/nodejs/node/pull/35512 PR-URL: https://github.com/nodejs/node/pull/35648
2020-10-072020-10-07, Version 14.13.1 (Current)Danielle Adams
Notable changes: * fs: * remove experimental from rmdir recursive (Benjamin Coe) [#35171](https://github.com/nodejs/node/pull/35171) PR-URL: https://github.com/nodejs/node/pull/35525
2020-10-062020-10-06, Version 12.19.0 'Erbium' (LTS)Shelley Vohr
Notable changes: assert: * (SEMVER-MINOR) port common.mustCall() to assert (ConorDavenport) https://github.com/nodejs/node/pull/31982 async_hooks: * (SEMVER-MINOR) add AsyncResource.bind utility (James M Snell) https://github.com/nodejs/node/pull/34574 buffer: * (SEMVER-MINOR) also alias BigUInt methods (Anna Henningsen) https://github.com/nodejs/node/pull/34960 * (SEMVER-MINOR) alias UInt ➡️ Uint in buffer methods (Anna Henningsen) https://github.com/nodejs/node/pull/34729 build: * (SEMVER-MINOR) add build flag for OSS-Fuzz integration (davkor) https://github.com/nodejs/node/pull/34761 cli: * (SEMVER-MINOR) add alias for report-directory to make it consistent (Ash Cripps) https://github.com/nodejs/node/pull/33587 crypto: * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) add randomInt function (Oli Lalonde) https://github.com/nodejs/node/pull/34600 deps: * upgrade to libuv 1.39.0 (Colin Ihrig) https://github.com/nodejs/node/pull/34915 * upgrade npm to 6.14.7 (claudiahdz) https://github.com/nodejs/node/pull/34468 * upgrade to libuv 1.38.1 (Colin Ihrig) https://github.com/nodejs/node/pull/34187 dgram: * (SEMVER-MINOR) add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) https://github.com/nodejs/node/pull/14500 * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) https://github.com/nodejs/node/pull/22413 doc: * (SEMVER-MINOR) Add maxTotalSockets option to agent constructor (rickyes) https://github.com/nodejs/node/pull/33617 * (SEMVER-MINOR) add basic embedding example documentation (Anna Henningsen) https://github.com/nodejs/node/pull/30467 * add Ricky Zhou to collaborators (rickyes) https://github.com/nodejs/node/pull/34676 * add release key for Ruy Adorno (Ruy Adorno) https://github.com/nodejs/node/pull/34628 * add DerekNonGeneric to collaborators (Derek Lewis) https://github.com/nodejs/node/pull/34602 * add AshCripps to collaborators (Ash Cripps) https://github.com/nodejs/node/pull/34494 * add HarshithaKP to collaborators (Harshitha K P) https://github.com/nodejs/node/pull/34417 * add rexagod to collaborators (Pranshu Srivastava) https://github.com/nodejs/node/pull/34457 * add release key for Richard Lau (Richard Lau) https://github.com/nodejs/node/pull/34397 * add danielleadams to collaborators (Danielle Adams) https://github.com/nodejs/node/pull/34360 * add sxa as collaborator (Stewart X Addison) https://github.com/nodejs/node/pull/34338 * add ruyadorno to collaborators (Ruy Adorno) https://github.com/nodejs/node/pull/34297 * (SEMVER-MAJOR) deprecate process.umask() with no arguments (Colin Ihrig) https://github.com/nodejs/node/pull/32499 embedding: * (SEMVER-MINOR) make Stop() stop Workers (Anna Henningsen) https://github.com/nodejs/node/pull/32531 * (SEMVER-MINOR) provide hook for custom process.exit() behaviour (Anna Henningsen) https://github.com/nodejs/node/pull/32531 fs: * (SEMVER-MINOR) implement lutimes (Maël Nison) https://github.com/nodejs/node/pull/33399 http: * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) https://github.com/nodejs/node/pull/33617 * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) https://github.com/nodejs/node/pull/33803 http2: * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) https://github.com/nodejs/node/pull/33994 * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) https://github.com/nodejs/node/pull/33160 module: * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) https://github.com/nodejs/node/pull/35249 * (SEMVER-MINOR) exports pattern support (Guy Bedford) https://github.com/nodejs/node/pull/34718 * (SEMVER-MINOR) package "imports" field (Guy Bedford) https://github.com/nodejs/node/pull/34117 * (SEMVER-MINOR) deprecate module.parent (Antoine du HAMEL) https://github.com/nodejs/node/pull/32217 n-api: * (SEMVER-MINOR) create N-API version 7 (Gabriel Schulhof) https://github.com/nodejs/node/pull/35199 * (SEMVER-MINOR) support type-tagging objects (Gabriel Schulhof) https://github.com/nodejs/node/pull/28237 n-api,src: * (SEMVER-MINOR) provide asynchronous cleanup hooks (Anna Henningsen) https://github.com/nodejs/node/pull/34572 perf_hooks: * (SEMVER-MINOR) add idleTime and event loop util (Trevor Norris) https://github.com/nodejs/node/pull/34938 timers: * (SEMVER-MINOR) allow timers to be used as primitives (Denys Otrishko) https://github.com/nodejs/node/pull/34017 tls: * (SEMVER-MINOR) make 'createSecureContext' honor more options (Mateusz Krawczuk) https://github.com/nodejs/node/pull/33974 worker: * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) https://github.com/nodejs/node/pull/33979 * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) https://github.com/nodejs/node/pull/34303 * (SEMVER-MINOR) add stack size resource limit option (Anna Henningsen) https://github.com/nodejs/node/pull/33085 worker,fs: * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) https://github.com/nodejs/node/pull/33772 zlib: * (SEMVER-MINOR) add `maxOutputLength` option (unknown) https://github.com/nodejs/node/pull/33516 * switch to lazy init for zlib streams (Andrey Pechkurov) https://github.com/nodejs/node/pull/34048 PR-URL: https://github.com/nodejs/node/pull/35401
2020-09-292020-09-29, Version 14.13.0 (Current)Myles Borins
Notable changes: deps: * (SEMVER-MINOR) upgrade to libuv 1.40.0 (Colin Ihrig) https://github.com/nodejs/node/pull/35333 module: * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) https://github.com/nodejs/node/pull/35249 * (SEMVER-MINOR) exports pattern support (Guy Bedford) https://github.com/nodejs/node/pull/34718 src: * (SEMVER-MINOR) allow N-API addon in `AddLinkedBinding()` (Anna Henningsen) https://github.com/nodejs/node/pull/35301 PR-URL: https://github.com/nodejs/node/pull/35419
2020-09-222020-09-22, Version 14.12.0 (Current)Ruy Adorno
Notable changes: - deps: - update to uvwasi 0.0.11 (Colin Ihrig) [#35104](https://github.com/nodejs/node/pull/35104) - n-api: - create N-API version 7 (Gabriel Schulhof) [#35199](https://github.com/nodejs/node/pull/35199) - add more property defaults (Gerhard Stoebich) [#35214](https://github.com/nodejs/node/pull/35214) PR-URL: https://github.com/nodejs/node/pull/35285
2020-09-152020-09-15, Version 14.11.0 (Current)Richard Lau
This is a security release. Notable changes: Vulnerabilities fixed: - CVE-2020-8251: Denial of Service by resource exhaustion CWE-400 due to unfinished HTTP/1.1 requests (Critical). - CVE-2020-8201: HTTP Request Smuggling due to CR-to-Hyphen conversion (High). PR-URL: https://github.com/nodejs-private/node-private/pull/225
2020-09-152020-09-15, Version 12.18.4 'Erbium' (LTS)Michaël Zasso
This is a security release. Notable changes: Vulnerabilities fixed: - CVE-2020-8201: HTTP Request Smuggling due to CR-to-Hyphen conversion (High). - CVE-2020-8252: fs.realpath.native on may cause buffer overflow (Medium). PR-URL: https://github.com/nodejs-private/node-private/pull/223
2020-09-152020-09-15, Version 10.22.1 'Dubnium' (LTS)Beth Griggs
This is a security release. Notable changes: Vulnerabilities fixed: - CVE-2020-8252: fs.realpath.native on may cause buffer overflow (Medium). PR-URL: https://github.com/nodejs-private/node-private/pull/222
2020-09-102020-09-10, Version 14.10.1 (Current)Richard Lau
Notable changes: Node.js 14.10.0 included a streams regression with async generators and a docs rendering regression that are being fixed in this release. PR-URL: https://github.com/nodejs/node/pull/35137
2020-09-082020-09-08, Version 14.10.0 (Current)Richard Lau
Notable changes: - buffer: also alias BigUInt methods (Anna Henningsen) https://github.com/nodejs/node/pull/34960 - crypto: add randomInt function (Oli Lalonde) https://github.com/nodejs/node/pull/34600 - perf_hooks: add idleTime and event loop util (Trevor Norris) https://github.com/nodejs/node/pull/34938 - stream: simpler and faster Readable async iterator (Robert Nagy) https://github.com/nodejs/node/pull/34035 - stream: save error in state (Robert Nagy) https://github.com/nodejs/node/pull/34103 PR-URL: https://github.com/nodejs/node/pull/35023 Conflicts: src/node_version.h
2020-08-272020-08-27, Version 14.9.0 (Current)Danielle Adams
Notable changes: - build: set --v8-enable-object-print by default (Mary Marchini) [#34705](https://github.com/nodejs/node/pull/34705) - deps: - upgrade to libuv 1.39.0 (cjihrig) [#34915](https://github.com/nodejs/node/pull/34915) - upgrade npm to 6.14.8 (Ruy Adorno) [#34834](https://github.com/nodejs/node/pull/34834) - V8: cherry-pick e06ace6b5cdb (Anna Henningsen) [#34673](https://github.com/nodejs/node/pull/34673) - n-api: handle weak no-finalizer refs correctly (Gabriel Schulhof) [#34839](https://github.com/nodejs/node/pull/34839) - tools: add debug entitlements for macOS 10.15+ (Gabriele Greco) [#34378](https://github.com/nodejs/node/pull/34378) PR-URL: https://github.com/nodejs/node/pull/34852
2020-08-27doc: fix CHANGELOG.md parsing issueJuan José Arboleda
PR-URL: https://github.com/nodejs/node/pull/34923 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-08-112020-08-11, Version 14.8.0 (Current)Shelley Vohr
Notable changes: async_hooks: * (SEMVER-MINOR) add AsyncResource.bind utility (James M Snell) https://github.com/nodejs/node/pull/34574 doc: * add Ricky Zhou to collaborators (rickyes) https://github.com/nodejs/node/pull/34676 * add release key for Ruy Adorno (Ruy Adorno) https://github.com/nodejs/node/pull/34628 * add DerekNonGeneric to collaborators (Derek Lewis) https://github.com/nodejs/node/pull/34602 module: * (SEMVER-MINOR) unflag Top-Level Await (Myles Borins) https://github.com/nodejs/node/pull/34558 n-api: * (SEMVER-MINOR) support type-tagging objects (Gabriel Schulhof) https://github.com/nodejs/node/pull/28237 n-api,src: * (SEMVER-MINOR) provide asynchronous cleanup hooks (Anna Henningsen) https://github.com/nodejs/node/pull/34572 PR-URL: https://github.com/nodejs/node/pull/34704
2020-07-292020-07-29, Version 14.7.0 (Current)Ruy Adorno
Notable changes: deps: * upgrade npm to 6.14.7 (claudiahdz) https://github.com/nodejs/node/pull/34468 dgram: * (SEMVER-MINOR) add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) https://github.com/nodejs/node/pull/14500 doc: * add AshCripps to collaborators (AshCripps) https://github.com/nodejs/node/pull/34494 * add HarshithaKP to collaborators (Harshitha K P) https://github.com/nodejs/node/pull/34417 * add rexagod to collaborators (Pranshu Srivastava) https://github.com/nodejs/node/pull/34457 * add release key for Richard Lau (Richard Lau) https://github.com/nodejs/node/pull/34397 events: * (SEMVER-MINOR) expand NodeEventTarget functionality (Anna Henningsen) https://github.com/nodejs/node/pull/34057 src: * (SEMVER-MINOR) allow preventing SetPromiseRejectCallback (Shelley Vohr) https://github.com/nodejs/node/pull/34387 * (SEMVER-MINOR) allow setting a dir for all diagnostic output (AshCripps) https://github.com/nodejs/node/pull/33584 worker: * (SEMVER-MINOR) make MessagePort inherit from EventTarget (Anna Henningsen) https://github.com/nodejs/node/pull/34057 zlib: * switch to lazy init for zlib streams (Andrey Pechkurov) https://github.com/nodejs/node/pull/34048 PR-URL: https://github.com/nodejs/node/pull/34542
2020-07-222020-07-22, Version 12.18.3 'Erbium' (LTS)Shelley Vohr
Notable changes: deps: * upgrade npm to 6.14.6 (claudiahdz) [#34246](https://github.com/nodejs/node/pull/34246) * update node-inspect to v2.0.0 (Jan Krems) [#33447](https://github.com/nodejs/node/pull/33447) * uvwasi: cherry-pick 9e75217 (Colin Ihrig) [#33521](https://github.com/nodejs/node/pull/33521) PR-URL: https://github.com/nodejs/node/pull/34343
2020-07-212020-07-21, Version 14.6.0 (Current)Myles Borins
Notable changes: deps: * upgrade npm to 6.14.6 (claudiahdz) https://github.com/nodejs/node/pull/34246 * upgrade to libuv 1.38.1 (Colin Ihrig) https://github.com/nodejs/node/pull/34187 * (SEMVER-MINOR) update V8 to 8.4.371.19 (Michaël Zasso) [#33579](https://github.com/nodejs/node/pull/33579) module: * (SEMVER-MINOR) deprecate module.parent (Antoine du HAMEL) https://github.com/nodejs/node/pull/32217 * (SEMVER-MINOR) package "imports" field (Guy Bedford) https://github.com/nodejs/node/pull/34117 src: * (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) https://github.com/nodejs/node/pull/34303 * (SEMVER-MINOR) allow embedders to disable esm loader (Shelley Vohr) https://github.com/nodejs/node/pull/34060 tls: * (SEMVER-MINOR) make 'createSecureContext' honor more options (Mateusz Krawczuk) https://github.com/nodejs/node/pull/33974 vm: * (SEMVER-MINOR) add run-after-evaluate microtask mode (Anna Henningsen) https://github.com/nodejs/node/pull/34023 worker: * (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) https://github.com/nodejs/node/pull/34303 New Collaborators: * add danielleadams to collaborators (Danielle Adams) https://github.com/nodejs/node/pull/34360 * add sxa as collaborator (Stewart X Addison) https://github.com/nodejs/node/pull/34338 * add ruyadorno to collaborators (Ruy Adorno) https://github.com/nodejs/node/pull/34297 PR-URL: https://github.com/nodejs/node/pull/34371
2020-07-212020-07-21, Version 10.22.0 'Dubnium' (LTS)Richard Lau
Notable changes: - deps: - upgrade npm to 6.14.6 (claudiahdz) https://github.com/nodejs/node/pull/34246 - upgrade openssl sources to 1.1.1g (Hassaan Pasha) https://github.com/nodejs/node/pull/32982 - n-api: - add `napi_detach_arraybuffer` (legendecas) https://github.com/nodejs/node/pull/29768 PR-URL: https://github.com/nodejs/node/pull/34170
2020-07-20doc: mark Node.js 13 as End-of-LifeAntoine du Hamel
Remove the "Current" label for Node.js 13 in the CHANGELOG. PR-URL: https://github.com/nodejs/node/pull/34436 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Myles Borins <myles.borins@gmail.com>
2020-06-302020-06-30, Version 14.5.0 (Current)Shelley Vohr
Notable changes: build: * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/33376 cli: * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) https://github.com/nodejs/node/pull/33587 crypto: * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) https://github.com/nodejs/node/pull/33360 deps: * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) https://github.com/nodejs/node/pull/33376 * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) https://github.com/nodejs/node/pull/33376 dgram: * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) https://github.com/nodejs/node/pull/22413 events: * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) https://github.com/nodejs/node/pull/33556 fs: * (SEMVER-MINOR) implement lutimes (Maël Nison) https://github.com/nodejs/node/pull/33399 http: * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) https://github.com/nodejs/node/pull/33803 * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) https://github.com/nodejs/node/pull/33617 * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) added scheduling option to http agent (delvedor) https://github.com/nodejs/node/pull/33278 http2: * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) https://github.com/nodejs/node/pull/33994 * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) https://github.com/nodejs/node/pull/33160 process: * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) https://github.com/nodejs/node/pull/33475 src: * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) https://github.com/nodejs/node/pull/33850 stream*: * runtime deprecate Transform._transformState (Robert Nagy) https://github.com/nodejs/node/pull/32763 win: * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) https://github.com/nodejs/node/pull/33176 worker: * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) https://github.com/nodejs/node/pull/33979 * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) https://github.com/nodejs/node/pull/33772 worker,fs: * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) https://github.com/nodejs/node/pull/33772 zlib: * (SEMVER-MINOR) add `maxOutputLength` option (unknown) https://github.com/nodejs/node/pull/33516 PR-URL: https://github.com/nodejs/node/pull/34093
2020-06-302020-06-30, Version 12.18.2 'Erbium' (LTS)Beth Griggs
Notable changes: - deps: V8: backport fb26d0bb1835 (Matheus Marchini) [#33573](https://github.com/nodejs/node/pull/33573) - src: use symbol to store `AsyncWrap` resource (Anna Henningsen) [#31745](https://github.com/nodejs/node/pull/31745) PR-URL: https://github.com/nodejs/node/pull/34077
2020-06-172020-06-17, Version 12.18.1 'Erbium' (LTS)Shelley Vohr
Notable changes: deps: * V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) [#33484](https://github.com/nodejs/node/pull/33484) * update to uvwasi 0.0.9 (Colin Ihrig) [#33445](https://github.com/nodejs/node/pull/33445) * upgrade to libuv 1.38.0 (Colin Ihrig) [#33446](https://github.com/nodejs/node/pull/33446) * upgrade npm to 6.14.5 (Ruy Adorno) [#33239](https://github.com/nodejs/node/pull/33239) PR-URL: https://github.com/nodejs/node/pull/33811
2020-06-022020-06-02, Version 10.21.0 'Dubnium' (LTS)Beth Griggs
This is a security release. Vulnerabilities fixed: - CVE-2020-8174: napi_get_value_string_*() allows various kinds of memory corruption (High). - CVE-2020-10531: ICU-20958 Prevent SEGV_MAPERR in append (High). - CVE-2020-11080: HTTP/2 Large Settings Frame DoS (Low). PR-URL: https://github.com/nodejs-private/node-private/pull/211
2020-06-022020-06-02, Version 12.18.0 'Erbium' (LTS)Michaël Zasso
This is a security release. Notable changes: Vulnerabilities fixed: CVE-2020-8172: TLS session reuse can lead to host certificate verification bypass (High). CVE-2020-11080: HTTP/2 Large Settings Frame DoS (Low). CVE-2020-8174: `napi_get_value_string_*()` allows various kinds of memory corruption (High). PR-URL: https://github.com/nodejs-private/node-private/pull/213
2020-06-022020-06-02, Version 14.4.0 (Current)Michaël Zasso
This is a security release. Notable changes: Vulnerabilities fixed: CVE-2020-8172: TLS session reuse can lead to host certificate verification bypass (High). CVE-2020-11080: HTTP/2 Large Settings Frame DoS (Low). CVE-2020-8174: `napi_get_value_string_*()` allows various kinds of memory corruption (High). PR-URL: https://github.com/nodejs-private/node-private/pull/212
2020-05-262020-05-26, Version 12.17.0 'Erbium' (LTS)Michaël Zasso
Notable changes: * ECMAScript Modules - `--experimental-modules` flag removal * AsyncLocalStorage API (experimental) * REPL previews * REPL reverse-i-search * REPL substring-based search * Error monitoring * Monitoring `error` events * Monitoring uncaught exceptions * File system APIs * New function: `fs.readv` * Optional parameters in `fs.read` * Console `groupIndentation` option * `maxStringLength` option for `util.inspect()` * Stable N-API release 6 * Stable diagnostic reports * Increase of the default server headers timeout * New `--trace-sigint` CLI flag * Various crypto APIs now support Diffie-Hellman secrets * Added support for the `dns.ALL` flag in `dns.lookup()` * Added a new experimental API to interact with Source Map V3 data * Added support for passing a `transferList` along with `workerData` to the `Worker` constructor PR-URL: https://github.com/nodejs/node/pull/33197
2020-05-192020-05-19, Version 14.3.0 (Current)Shelley Vohr
Notable changes: async_hooks: * (SEMVER-MINOR) move PromiseHook handler to JS (Stephen Belanger) https://github.com/nodejs/node/pull/32891 cli: * (SEMVER-MINOR) add `--trace-atomics-wait` flag (Anna Henningsen) https://github.com/nodejs/node/pull/33292 fs: * (SEMVER-MINOR) add .ref() and .unref() methods to watcher classes (rickyes) https://github.com/nodejs/node/pull/33134 http: * (SEMVER-MINOR) expose http.validate-header-name/value (osher) https://github.com/nodejs/node/pull/33119 repl: * (SEMVER-MINOR) deprecate repl._builtinLibs (Ruben Bridgewater) https://github.com/nodejs/node/pull/33294 * (SEMVER-MINOR) deprecate repl.inputStream and repl.outputStream (Ruben Bridgewater) https://github.com/nodejs/node/pull/33294 * (SEMVER-MINOR) show reference errors during preview (Ruben Bridgewater) https://github.com/nodejs/node/pull/33282 * (SEMVER-MINOR) improve repl preview (Ruben Bridgewater) https://github.com/nodejs/node/pull/33282 src: * add support for TLA (Gus Caplan) https://github.com/nodejs/node/pull/30370 PR-URL: https://github.com/nodejs/node/pull/33452
2020-05-052020-05-05, Version 14.2.0 (Current)Michaël Zasso
Notable changes: * Track function calls with `assert.CallTracker` (experimental). https://github.com/nodejs/node/pull/31982 * Added a `groupIndentation` option to the `Console` constructor. https://github.com/nodejs/node/pull/32964 PR-URL: https://github.com/nodejs/node/pull/33232
2020-04-302020-04-29, Version 13.14.0 (Current)Ruben Bridgewater
Notable Changes: * async_hooks**: * Merge `run` and `exit` methods (Andrey Pechkurov) https://github.com/nodejs/node/pull/31950 * Prevent sync methods of async storage exiting outer context (Stephen Belanger) https://github.com/nodejs/node/pull/31950 * vm: * Add `importModuleDynamically` option to compileFunction (Gus Caplan) https://github.com/nodejs/node/pull/32985 New core collaborators: With this release, we welcome two new Node.js core collaborators: * Juan José Arboleda @juanarbol https://github.com/nodejs/node/pull/32906 * Andrey Pechkurov @puzpuzpuz https://github.com/nodejs/node/pull/32817 PR-URL: https://github.com/nodejs/node/pull/33122
2020-04-292020-04-29, Version 14.1.0 (Current)Beth Griggs
Notable changes: - deps: upgrade openssl sources to 1.1.1g (Hassaan Pasha) [#32971](https://github.com/nodejs/node/pull/32971) - doc: add juanarbol as collaborator (Juan José Arboleda) [#32906](https://github.com/nodejs/node/pull/32906) - http: doc deprecate abort and improve docs (Robert Nagy) [#32807](https://github.com/nodejs/node/pull/32807) - module: do not warn when accessing `__esModule` of unfinished exports (Anna Henningsen) [#33048](https://github.com/nodejs/node/pull/33048) - n-api: detect deadlocks in thread-safe function (Gabriel Schulhof) [#32860](https://github.com/nodejs/node/pull/32860) - src: deprecate embedder APIs with replacements (Anna Henningsen) [#32858](https://github.com/nodejs/node/pull/32858) - stream: - don't emit end after close (Robert Nagy) [#33076](https://github.com/nodejs/node/pull/33076) - don't wait for close on legacy streams (Robert Nagy) [#33058](https://github.com/nodejs/node/pull/33058) - pipeline should only destroy un-finished streams (Robert Nagy) [#32968](https://github.com/nodejs/node/pull/32968) - vm: add importModuleDynamically option to compileFunction (Gus Caplan) [#32985](https://github.com/nodejs/node/pull/32985) PR-URL: https://github.com/nodejs/node/pull/33103
2020-04-282020-04-28, Version 12.16.3 'Erbium' (LTS)Michaël Zasso
Notable changes: Dependencies: * Updated OpenSSL to 1.1.1g. https://github.com/nodejs/node/pull/32971 * Updated c-ares to 1.16.0. https://github.com/nodejs/node/pull/32246 * Updated experimental uvwasi to 0.0.6. https://github.com/nodejs/node/pull/32309 ESM (experimental): * Additional warnings are no longer printed for modules that use conditional exports or package name self resolution. https://github.com/nodejs/node/pull/31845 PR-URL: https://github.com/nodejs/node/pull/33009
2020-04-212020-04-21, Version 14.0.0 (Current)Beth Griggs
Deprecations: - (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) [#31166](https://github.com/nodejs/node/pull/31166) - (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) [#28396](https://github.com/nodejs/node/pull/28396) - (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) [#31164](https://github.com/nodejs/node/pull/31164) - (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) [#31167](https://github.com/nodejs/node/pull/31167) - (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell)[#31169](https://github.com/nodejs/node/pull/31169) - (SEMVER-MAJOR) src: remove deprecated wasm type check (Clemens Backes) [#32116](https://github.com/nodejs/node/pull/32116) - (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL (James M Snell) [#31165](https://github.com/nodejs/node/pull/31165) - (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) [#32232](https://github.com/nodejs/node/pull/32232) - (SEMVER-MINOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) [#32499](https://github.com/nodejs/node/pull/32499) ECMAScript Modules - Experimental Warning Removal: - module: remove experimental modules warning (Guy Bedford) [#31974](https://github.com/nodejs/node/pull/31974) In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental. As of Node.js 14 there is no longer this warning when using ESM in Node.js. However, the ESM implementation in Node.js remains experimental. As per our stability index: “The feature is not subject to Semantic Versioning rules. Non-backward compatible changes or removal may occur in any future release.” Users should be cautious when using the feature in production environments. Please keep in mind that the implementation of ESM in Node.js differs from the developer experience you might be familiar with. Most transpilation workflows support features such as optional file extensions or JSON modules that the Node.js ESM implementation does not support. It is highly likely that modules from transpiled environments will require a certain degree of refactoring to work in Node.js. It is worth mentioning that many of our design decisions were made with two primary goals. Spec compliance and Web Compatibility. It is our belief that the current implementation offers a future proof model to authoring ESM modules that paves the path to Universal JavaScript. Please read more in our documentation. The ESM implementation in Node.js is still experimental but we do believe that we are getting very close to being able to call ESM in Node.js “stable”. Removing the warning is a huge step in that direction. New V8 ArrayBuffer API: * **src**: migrate to new V8 ArrayBuffer API (Thang Tran) [#30782](https://github.com/nodejs/node/pull/30782) Multiple ArrayBuffers pointing to the same base address are no longer allowed by V8. This may impact native addons. Toolchain and Compiler Upgrades: - (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps)[#32454](https://github.com/nodejs/node/pull/32454) - (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) [#31954](https://github.com/nodejs/node/pull/31954) It is expected that there will be an ABI mismatch on ARM between the Node.js binary and native addons. Native addons are only broken if they interact with `std::shared_ptr`. This is expected to be fixed in a later version of Node.js 14. - [#30786](https://github.com/nodejs/node/issues/30786) Update to V8 8.1: - (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) [#32116](https://github.com/nodejs/node/pull/32116) Other Notable Changes: - cli, report: move --report-on-fatalerror to stable (Colin Ihrig) [#32496](https://github.com/nodejs/node/pull/32496) - deps: upgrade to libuv 1.37.0 (Colin Ihrig) [#32866](https://github.com/nodejs/node/pull/32866) - fs: add fs/promises alias module (Gus Caplan) [#31553](https://github.com/nodejs/node/pull/31553) PR-URL: https://github.com/nodejs/node/pull/32181
2020-04-142020-04-14, Version 13.13.0 (Current)Michaël Zasso
Notable changes: New file system APIs: * Added a new function, `fs.readv` (with sync and promisified versions). This function takes an array of `ArrayBufferView` elements and will write the data it reads sequentially to the buffers (Sk Sajidul Kadir). https://github.com/nodejs/node/pull/32356 * A new overload is available for `fs.readSync`, which allows to optionally pass any of the `offset`, `length` and `position` parameters. https://github.com/nodejs/node/pull/32460 Other changes: * dns: * Added the `dns.ALL` flag, that can be passed to `dns.lookup()` with `dns.V4MAPPED` to return resolved IPv6 addresses as well as IPv4 mapped IPv6 addresses (murgatroid99). https://github.com/nodejs/node/pull/32183 * http: * The default maximum HTTP header size was changed from 8KB to 16KB (rosaxny). https://github.com/nodejs/node/pull/32520 * n-api: * Calls to `napi_call_threadsafe_function` from the main thread can now return the `napi_would_deadlock` status in certain circumstances (Gabriel Schulhof). https://github.com/nodejs/node/pull/32689 * util: * Added a new `maxStrLength` option to `util.inspect`, to control the maximum length of printed strings. Its default value is `Infinity` (rosaxny). https://github.com/nodejs/node/pull/32392 * worker: * Added support for passing a `transferList` along with `workerData` to the `Worker` constructor (Juan José Arboleda). https://github.com/nodejs/node/pull/32278 New core collaborators: With this release, we welcome three new Node.js core collaborators: * himself65. https://github.com/nodejs/node/pull/32734 * flarna (Gerhard Stoebich). https://github.com/nodejs/node/pull/32620 * mildsunrise (Alba Mendez). https://github.com/nodejs/node/pull/32525 PR-URL: https://github.com/nodejs/node/pull/32813
2020-04-122020-04-12 Node.js v10.20.1 'Dubnium' (LTS) ReleaseBeth Griggs
Notable changes: Due to release process failures, Node.js v10.20.0 shipped with source and header tarballs that did not properly match the final release commit that was used to build the binaries. We recommend that Node.js v10.20.0 not be used, particularly in any applications using native add-ons or where compiling Node.js from source is involved. Node.js v10.20.1 is a clean release with the correct sources and is strongly recommended in place of v10.20.0. PR-URL: https://github.com/nodejs/node/pull/32768
2020-04-082020-04-08 Version 12.16.2 'Erbium' (LTS)Shelley Vohr
Notable changes: doc: * add ronag to collaborators (Robert Nagy) [#31498](https://github.com/nodejs/node/pull/31498) * add GeoffreyBooth to collaborators (Geoffrey Booth) [#31306](https://github.com/nodejs/node/pull/31306) deps: * upgrade npm to 6.13.6 (Ruy Adorno) [#31304](https://github.com/nodejs/node/pull/31304) * update openssl to 1.1.1e (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328)
2020-04-082020-04-08, Version 10.20.0 'Dubnium' (LTS)Beth Griggs
macOS package notarization and a change in builder configuration The macOS binaries for this release, and future 10.x releases, are now being compiled on macOS 10.15 (Catalina) with Xcode 11 to support package notarization, a requirement for installing .pkg files on macOS 10.15 and later. Previous builds of Node.js 10.x were compiled on macOS 10.10 (Yosemite) with a minimum deployment target of macOS 10.7 (Lion). As binaries are still being compiled to support a minimum of macOS 10.7 (Lion) we do not anticipate this having a negative impact on Node.js 10.x users with older versions of macOS. Notable changes: - buffer: add {read|write}Big\[U\]Int64{BE|LE} methods (garygsc) [#19691](https://github.com/nodejs/node/pull/19691) - build: macOS package notarization (Rod Vagg) [#31459](https://github.com/nodejs/node/pull/31459) - deps: - update npm to 6.14.3 (Myles Borins) [#32368](https://github.com/nodejs/node/pull/32368) - upgrade openssl sources to 1.1.1e (Hassaan Pasha) [#32328](https://github.com/nodejs/node/pull/32328) - upgrade to libuv 1.34.2 (cjihrig) [#31477](https://github.com/nodejs/node/pull/31477) - n-api: - add napi\_get\_all\_property\_names (himself65) [#30006](https://github.com/nodejs/node/pull/30006) - add APIs for per-instance state management (Gabriel Schulhof) [#28682](https://github.com/nodejs/node/pull/28682) - define release 6 [#32058](https://github.com/nodejs/node/pull/32058) - turn NAPI\_CALL\_INTO\_MODULE into a function (Anna Henningsen) [#26128](https://github.com/nodejs/node/pull/26128) - tls: - expose keylog event on TLSSocket (Alba Mendez) [#27654](https://github.com/nodejs/node/pull/27654) - support TLS min/max protocol defaults in CLI (Sam Roberts) [#27946](https://github.com/nodejs/node/pull/27946) - url: handle quasi-WHATWG URLs in urlToOptions() (cjihrig) [#26226](https://github.com/nodejs/node/pull/26226) PR-URL: https://github.com/nodejs/node/pull/31984