2019-10-22, Version 13.0.0 (Current)
2019-10-22, Version 13.0.0 (Current), @BethGriggs
Notable Changes
-
assert:
- If the validation function passed to
assert.throws()
orassert.rejects()
returns a value other thantrue
, an assertion error will be thrown instead of the original error to highlight the programming mistake (Ruben Bridgewater) #28263. - If a constructor function is passed to validate the instance of errors
thrown in
assert.throws()
orassert.reject()
, an assertion error will be thrown instead of the original error (Ruben Bridgewater) #28263.
- If the validation function passed to
-
build:
- Node.js releases are now built with default full-icu support. This means that all locales supported by ICU are now included and Intl-related APIs may return different values than before (Richard Lau) #29887.
- The minimum Xcode version supported for macOS was increased to 10. It is still possible to build Node.js with Xcode 8 but this may no longer be the case in a future v13.x release (Michael Dawson) #29622.
-
child_process:
-
ChildProcess._channel
(DEP0129) is now a Runtime deprecation (cjihrig) #27949.
-
-
console:
- The output
console.timeEnd()
andconsole.timeLog()
will now automatically select a suitable time unit instead of always using milliseconds (Xavier Stouder) #29251.
- The output
-
deps:
- The V8 engine was updated to version 7.8. This includes performance improvements to object destructuring, memory usage and WebAssembly startup time (Myles Borins) #29694.
-
domain:
- The domain's error handler is now executed with the active domain set to the domain's parent to prevent inner recursion (Julien Gilli) #26211.
-
fs:
- The undocumented method
FSWatcher.prototype.start()
was removed (Lucas Holmquist) #29905. - Calling the
open()
method on aReadStream
orWriteStream
now emits a runtime deprecation warning. The methods are supposed to be internal and should not be called by user code (Robert Nagy) #29061. -
fs.read/write
,fs.readSync/writeSync
andfd.read/write
now accept any safe integer as theiroffset
parameter. The value ofoffset
is also no longer coerced, so a valid type must be passed to the functions (Zach Bjornson) #26572.
- The undocumented method
-
http:
- Aborted requests no longer emit the
end
orerror
events afteraborted
(Robert Nagy) #27984, #20077. - Data will no longer be emitted after a socket error (Robert Nagy) #28711.
- The legacy HTTP parser (previously available under the
--http-parser=legacy
flag) was removed (Anna Henningsen) #29589. - The
host
option for HTTP requests is now validated to be a string value (Giorgos Ntemiris) #29568. - The
request.connection
andresponse.connection
properties are now runtime deprecated. The equivalentrequest.socket
andresponse.socket
should be used instead (Robert Nagy) #29015.
- Aborted requests no longer emit the
- http, http2:
-
lib:
- The
error.errno
property will now always be a number. To get the string value, useerror.code
instead (Joyee Cheung) #28140.
- The
-
module:
-
module.createRequireFromPath()
is deprecated. Usemodule.createRequire()
instead (cjihrig) #27951.
-
-
src:
- Changing the value of
process.env.TZ
will now clear the tz cache. This affects the default time zone used by methods such asDate.prototype.toString
(Ben Noordhuis) #20026.
- Changing the value of
-
stream:
- The timing and behavior of streams was consolidated for a number of edge cases. Please look at the individual commits below for more information.
Semver-Major Commits
- [
5981fb7faa
] - (SEMVER-MAJOR) assert: fix line number calculation after V8 upgrade (Michaël Zasso) #29694 - [
48d1ea5e7f
] - (SEMVER-MAJOR) assert: special handle identical error names in instance checks (Ruben Bridgewater) #28263 - [
97c52ca5dc
] - (SEMVER-MAJOR) assert: add more information to AssertionErrors (Ruben Bridgewater) #28263 - [
5700cd17dd
] - (SEMVER-MAJOR) assert: do not repeat .throws() code (Ruben Bridgewater) #28263 - [
d47b6786c9
] - (SEMVER-MAJOR) assert: wrap validation function errors (Ruben Bridgewater) #28263 - [
0b3242c3ce
] - (SEMVER-MAJOR) assert: fix generatedMessage property (Ruben Bridgewater) #28263 - [
ace3f16917
] - (SEMVER-MAJOR) assert: improve class instance errors (Ruben Bridgewater) #28263 - [
0376b5b7ba
] - (SEMVER-MAJOR) benchmark: use test/common/tmpdir consistently (João Reis) #28858 - [
4885e50f7e
] - (SEMVER-MAJOR) build: make full-icu the default for releases (Richard Lau) #29887 - [
60a3bd93ce
] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Myles Borins) #29694 - [
9f830f37da
] - (SEMVER-MAJOR) build: update minimum Xcode version for macOS (Michael Dawson) #29622 - [
66eaeac1df
] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) #28016 - [
d05668d688
] - (SEMVER-MAJOR) child_process: runtime deprecate _channel (cjihrig) #27949 - [
4f9cd2770a
] - (SEMVER-MAJOR) child_process: simplify spawn argument parsing (cjihrig) #27854 - [
66043e1812
] - (SEMVER-MAJOR) console: display timeEnd with suitable time unit (Xavier Stouder) #29251 - [
80f2b67367
] - (SEMVER-MAJOR) deps: patch V8 to 7.8.279.14 (Myles Borins) #29694 - [
eeafb263f4
] - (SEMVER-MAJOR) deps: patch V8 to 7.8.279.12 (Myles Borins) #29694 - [
ddfc3b0a76
] - (SEMVER-MAJOR) deps: patch V8 to 7.8.279.10 (Myles Borins) #29694 - [
8d05991d10
] - (SEMVER-MAJOR) deps: update V8's postmortem script (cjihrig) #29694 - [
858602445b
] - (SEMVER-MAJOR) deps: V8: cherry-pick 716875d (Myles Borins) #29694 - [
f7f6c928c1
] - (SEMVER-MAJOR) deps: update V8 to 7.8.279.9 (Myles Borins) #29694 - [
84d3243ce9
] - (SEMVER-MAJOR) deps: V8: cherry-pick b33af60 (Michaël Zasso) #28016 - [
2dcc3665ab
] - (SEMVER-MAJOR) deps: update V8 to 7.6.303.28 (Michaël Zasso) #28016 - [
eef1b5aa0f
] - (SEMVER-MAJOR) doc: makeAssertionError
a link (Ruben Bridgewater) #28263 - [
8fd7184959
] - (SEMVER-MAJOR) doc: update assert.throws() examples (Ruben Bridgewater) #28263 - [
80d9b1c712
] - (SEMVER-MAJOR) doc: wrap long line (cjihrig) #27951 - [
43a5170858
] - (SEMVER-MAJOR) domain: error handler runs outside of its domain (Julien Gilli) #26211 - [
7eacb74389
] - (SEMVER-MAJOR) fs: make FSWatcher.start private (Lucas Holmquist) #29905 - [
773769df60
] - (SEMVER-MAJOR) fs: add runtime deprecate for file stream open() (Robert Nagy) #29061 - [
5e3b4d6ed9
] - (SEMVER-MAJOR) fs: allow int64 offset in fs.write/writeSync/fd.write (Zach Bjornson) #26572 - [
a3c0014e73
] - (SEMVER-MAJOR) fs: use IsSafeJsInt instead of IsNumber for ftruncate (Zach Bjornson) #26572 - [
0bbda5e5ae
] - (SEMVER-MAJOR) fs: allow int64 offset in fs.read/readSync/fd.read (Zach Bjornson) #26572 - [
eadc3850fe
] - (SEMVER-MAJOR) fs: close file descriptor of promisified truncate (João Reis) #28858 - [
5f80df8820
] - (SEMVER-MAJOR) http: do not emit end after aborted (Robert Nagy) #27984 - [
e573c39b88
] - (SEMVER-MAJOR) http: don't emit 'data' after 'error' (Robert Nagy) #28711 - [
ac59dc42ed
] - (SEMVER-MAJOR) http: remove legacy parser (Anna Henningsen) #29589 - [
2daf883a18
] - (SEMVER-MAJOR) http: throw if 'host' agent header is not a string value (Giorgos Ntemiris) #29568 - [
0daec61b9b
] - (SEMVER-MAJOR) http: replace superfluous connection property with getter/setter (Robert Nagy) #29015 - [
461bf36d70
] - (SEMVER-MAJOR) http: fix test where aborted should not be emitted (Robert Nagy) #20077 - [
d5577f0395
] - (SEMVER-MAJOR) http: remove default 'timeout' listener on upgrade (Luigi Pinca) #26030 - [
c30ef3cbd2
] - (SEMVER-MAJOR) http, http2: remove default server timeout (Ali Ijaz Sheikh) #27558 - [
4e782c9deb
] - (SEMVER-MAJOR) http2: remove security revert flags (Anna Henningsen) #29141 - [
41637a530e
] - (SEMVER-MAJOR) http2: remove callback-based padding (Anna Henningsen) #29144 - [
91a4cb7175
] - (SEMVER-MAJOR) lib: rename validateInteger to validateSafeInteger (Zach Bjornson) #26572 - [
1432065e9d
] - (SEMVER-MAJOR) lib: correct error.errno to always be numeric (Joyee Cheung) #28140 - [
702331be90
] - (SEMVER-MAJOR) lib: no need to strip BOM or shebang for scripts (Refael Ackermann) #27375 - [
e2c0c0c680
] - (SEMVER-MAJOR) lib: rework logic of stripping BOM+Shebang from commonjs (Gus Caplan) #27768 - [
14701e539c
] - (SEMVER-MAJOR) module: runtime deprecate createRequireFromPath() (cjihrig) #27951 - [
04633eeeb9
] - (SEMVER-MAJOR) readline: error on falsy values for callback (Sam Roberts) #28109 - [
3eea43af07
] - (SEMVER-MAJOR) repl: close file descriptor of history file (João Reis) #28858 - [
458a38c904
] - (SEMVER-MAJOR) src: bring 425 status code name into accordance with RFC 8470 (Sergei Osipov) #29880 - [
7fcc1f7047
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 79 (Myles Borins) #29694 - [
4b7be335b9
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 78 (Michaël Zasso) #28918 - [
a0e2c6d284
] - (SEMVER-MAJOR) src: add error codes to errors thrown in C++ (Yaniv Friedensohn) #27700 - [
94e980c9d3
] - (SEMVER-MAJOR) src: use non-deprecated overload of V8::SetFlagsFromString (Michaël Zasso) #28016 - [
655e0dc01a
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 77 (Michaël Zasso) #28016 - [
e3cd79ef8e
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 74 (Refael Ackermann) #27375 - [
eba348b6ae
] - (SEMVER-MAJOR) src: make process.env.TZ setter clear tz cache (Ben Noordhuis) #20026 - [
f2061930c8
] - (SEMVER-MAJOR) src: enable V8's WASM trap handlers (Gus Caplan) #27246 - [
f8f6a21580
] - (SEMVER-MAJOR) stream: throw unhandled error for readable with autoDestroy (Robert Nagy) #29806 - [
f663b31cc2
] - (SEMVER-MAJOR) stream: always invoke callback before emitting error (Robert Nagy) #29293 - [
aa32e13968
] - (SEMVER-MAJOR) stream: do not flush destroyed writable (Robert Nagy) #29028 - [
ba3be578d8
] - (SEMVER-MAJOR) stream: don't emit finish on error (Robert Nagy) #28979 - [
db706da235
] - (SEMVER-MAJOR) stream: disallow stream methods on finished stream (Robert Nagy) #28687 - [
188896ea3e
] - (SEMVER-MAJOR) stream: do not emit after 'error' (Robert Nagy) #28708 - [
4a2bd69db9
] - (SEMVER-MAJOR) stream: fix destroy() behavior (Robert Nagy) #29058 - [
824dc576db
] - (SEMVER-MAJOR) stream: simplify.pipe()
and.unpipe()
in Readable (Weijia Wang) #28583 - [
8ef68e66d0
] - (SEMVER-MAJOR) test: clean tmpdir on process exit (João Reis) #28858 - [
d3f20a4725
] - (SEMVER-MAJOR) test: use unique tmpdirs for each test (João Reis) #28858 - [
174723354e
] - (SEMVER-MAJOR) tools: patch V8 to run on older XCode versions (Ujjwal Sharma) #29694 - [
1676502318
] - (SEMVER-MAJOR) tools: update V8 gypfiles (Michaël Zasso) #29694 - [
1a25e901b7
] - (SEMVER-MAJOR) tools: support full-icu by default (Steven R. Loomis) #29522 - [
2664dacf7e
] - (SEMVER-MAJOR) util: validate formatWithOptions inspectOptions (Ruben Bridgewater) #29824