When editing this page please be as detailed as possible.
For older breaking changes, please see our v5 to v6 page.
62 commits were tagged semver-major
.
Note to readers: #
is synonymous with .prototype.
, and indicates the property is available on instances of that class.
Example: Object#toString()
is equivalent to Object.prototype.toString()
.
[Docs]
Buffer.byteLength()
now throws if the input is not a String, Buffer, or ArrayBuffer.- Refs: [
96b501d338
], #8946
- Refs: [
- Constructing Buffers via
Buffer()
without usingnew
is now deprecated.- More info is avaliable on the new Buffer construction APIs.
- Refs: [
f2fe5583c4
], #8169
Buffer#toLocaleString()
is now an alias toBuffer#toString()
.- Refs: [
9cee8b1b62
], #8148
- Refs: [
Buffer.allocUnsafe()
now throws on negative input.- Refs: [
8f90dcc1b8
], #7079
- Refs: [
[Docs]
child_process.fork()
andchild_process.exec()
now do stricter argument validation.- Refs: [
0548e5d12a
], #7399
- Refs: [
child_process.spawn()
now spawns processes with the/d
flag on Windows.- This turns off Windows
AutoRun
functionality by default for spawned processes. - Refs: [
b90f3da9de
], #8063
- This turns off Windows
[Docs]
- The unfortunately named
worker.suicide
property has been deprecated in favor ofworker.exitedAfterDisconnect
.- Refs: [
f44b18f010
], #3747
- Refs: [
[Docs]
- The
ECDH
’hybrid’
format option has been undocumented.- (Hybrid keys are illegal in X.509 certificates.)
- Refs: [
f4aa2c2c93
], #4956
[Docs]
- The debugger now once again listens on
127.0.0.1
by default.- Faulty behaviour causing the debugger to listen on
0.0.0.0
had been introduced in 0.11.13. - Refs: [
8e7cbe2546
], #8106
- Faulty behaviour causing the debugger to listen on
[Docs]
- All internal checks in
dgram
now use strict equality (type validation).- Most of these were checks for constants of some form.
- Refs: [
e9b6fbbf17
], #8011
- The remaining one-line trace of
unix_dgram
has been removed.- Unix datagram support was removed 5 years ago.
- Refs: [
6a3dbdacd6
], #8088
[Docs]
- The already-deprecated
Domain#dispose()
now has a custom deprecation message.- Refs: [
3b8ec68a3a
], #7053
- Refs: [
[Docs]
- The potential event listeners memory leak warning is now named
MaxListenersExceededWarning
.- Refs: [
983775d457
], #8341
- Refs: [
EventEmitter#listeners()
not longer returns theonce
function wrappers for listeners registered viaEventEmitter#once()
.- Refs: [
b7a8a691b4
], #6881
- Refs: [
[Docs]
- Support for re-evaluating the
fs
module has now been dropped entirely.- This is a necessary step in improving the maintainability of Node.js core.
- (The graceful-fs module will need to be updated to v4.x in all dependency trees.)
- Refs: [
49ef3ae90a
], #6413
fs._stringToFlags()
has been removed and moved tolib/internal
.- Refs: [
7f7d1d385d
], #7162
- Refs: [
- Options object processing has been refactored for any
fs
methods that use options objects.- The error message for when an options argument is not an object has changed slightly.
- Refs: [
169f485289
], #7165
Previously: "options" argument must be a string or an object
Now: "options" must be a string or an object
- The
’stop’
event emitted fromfs.FSWatcher
is now asynchronously emitted.- This prevents a potential infinite loop if stop is called synchronously after a listener is added.
- Refs: [
21124ba23a
], #8524
- Calling async
fs
methods without a callback is now deprecated.- Refs: [
f8f283b8f3
], #7897, [9359de9dd2
], #7168
- Refs: [
- File Descriptors are now validated more strictly.
- They must be valid unsigned 32-bit integers.
- Refs: [
c86c1eeab5
], #2498
[Docs]
- The long-deprecated legacy
http.createClient()
interface has been removed.- Refs: [
2cc7fa5e7d
], #8104
- Refs: [
- The error message for invalid
trailer
s has been corrected.- Refs: [
31bef6b704
], #6308
- Refs: [
Previously: The header content contains invalid characters
Now: The trailer content contains invalid characters
--inspect
now attaches toprocess.debugPort
by default.- Refs: [
9f1f7e2a34
], #8386
- Refs: [
- The V8-specific
intl
object functionv8BreakIterator()
has been deprecated.- Refs: [
9ad3082b1c
], #8908
- Refs: [
[Docs]
- The previously deprecated legacy
module.requireRepl()
function has been removed.- Refs: [
d582193613
], #8575
- Refs: [
[Docs]
net.Server#listen()
has been refactored and invalid option errors may differ slightly.- Refs: [
fd6af98c2d
], #4039
- Refs: [
[Docs]
os.tmpDir()
has been deprecated in favor ofos.tmpdir()
, which was added as a replacement 3 years ago.- Refs: [
5e5ec2cd1e
], #6739
- Refs: [
[Docs]
- The previously deprecated
process.EventEmitter
has been removed.- Was deprecated in v6.0.0.
- Refs: [
62b544290a
], #6862
- The
unhandledRejection
process event default handler now emits warnings for unhandled Promise rejections.- This can be overridden by listening to the
’unhandledRejection’
process event. - In the future as noted by the deprecation, unhandled Promises will terminate the node process with a non-zero exit code. (Likely on garbage collection.)
- Refs: [
ecf474ceba
], #8217, [07dbf7313d
], #8217
- This can be overridden by listening to the
[Docs]
- The punycode module is now deprecated in the docs, it’s functionality being replaced internally by ICU.
- Refs: [
29e49fc286
], #7941
- Refs: [
[Docs]
- Readline completions now autocompletes as much as possible on
TAB
, only showing the list of results when necessary.- Refs: [
1a9e247c79
], #7754
- Refs: [
- The following deprecated readline functions have been removed:
codePointAt()
,getStringWidth()
,isFullWidthCodePoint()
,stripVTControlCharacters()
.- These were previously undocumented, and then deprecated in v6.0.0.
- Refs: [
8a87b29034
], #6423
[Docs]
- The internally unused function
REPL#convertToContext()
has been runtime-deprecated.- Refs: [
488d28d391
], #7829
- Refs: [
[Docs]
- Error messages for unimplemented stream methods have been improved.
- Refs: [
2f05af4c06
], #8801, [9983af0347
], #7671
- Refs: [
Previously: not implemented
Now: _read() is not implemented
, _transform() is not implemented
, _write() is not implemented
TransformStream#_flush()
now accepts a seconddata
argument:_flush(err, data)
.- This now maintains consistency with other Transform Stream methods as hinted at in the docs.
- Refs: [
0cd0118334
], #3708
[Docs]
url.format()
now returns validfile://
urls.- Refs: [
336b027411
], #7234
- Refs: [
[Docs]
- zlib constants have been moved to
zlib.constants
.- The constants are still available directly off of the zlib object, but are now docs-deprecated.
- Refs: [
197a465280
], #7203
- The Native Module version mismatch error has been updated to be far more clear.
- Refs: [
1fda657cac
], #8391
- Refs: [
Previously:
Module version mismatch. Expected 51, got 48.
Now:
The module '<module>'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 48. This version of Node.js requires
NODE_MODULE_VERSION 51. Please try re-compiling or Re-installing
the module (for instance, using `npm rebuild` or `npm install`).
- The
NODE_MODULE_VERSION
is now51
.- Refs: [
96933df2ff
], #8808
- Refs: [
- Benchmarking has been completely overhauled.
- Anything previously relying on
/benchmarks/
will probably no longer work. - Refs: #7094
- Anything previously relying on
--
- libc++ is now always necessary for building on macOS.
- Refs: [
b032f1cfc3
], #8317
- Refs: [
--
- The Windows exit code for OS version mismatch is now the appropriate
ERROR_EXE_MACHINE_TYPE_MISMATCH
.- Refs: [
a3c5567eb4
], #8204
- Refs: [
- V8 has been upgraded to 5.4.500.36 + floating patches.
- Refs: deps/v8,
90efff6000
], #8317
- Refs: deps/v8,