try-node-8
v1.0.2
Published
Node 8.0.0 on RunKit
Downloads
2
Readme
The node 8.0.0 release blog post, originally found on the Node.js website, re-posted here for convenience:
The next major release of Node.js brings a range of significant changes and additions, far too many for us to cover adequately in a blog post such as this. This article contains a summary of the most significant changes and features.
Say hello to npm version 5.0.0
npm, Inc. recently announced the release of version 5.0.0 of the npm client and we are happy to include this significant new version within Node.js 8.0.0.
Say hello to V8 5.8
Node.js 8.0.0 ships with V8 5.8, a significant update to the JavaScript runtime that includes major improvements in performance and developer facing APIs. Most significant for Node.js developers is the fact that V8 5.8 is guaranteed to have forwards ABI compatibility with V8 5.9 and the upcoming V8 6.0, which will help to ensure stability of the Node.js native addon ecosystem. During Node.js 8's lifetime, we plan to move to 5.9 and possibly even 6.0.
The V8 5.8 engine also helps set up a pending transition to the new TurboFan + Ignition compiler pipeline, which promises to provide significant new performance optimizations for all Node.js applications. Although they have existed in previous versions of V8, TurboFan and Ignition will be enabled by default for the first time in V8 5.9. The new compiler pipeline represents such a significant change that the Node.js Core Technical Committee (CTC) chose to postpone the Node.js 8 release, originally scheduled for April, in order to better accommodate it.
Say hello to the Node.js API (N-API)
For Node.js developers who use or create native addons, the new experimental
Node.js API (N-API) is a significant advancement over the existing
Native Abstractions for Node.js (nan
)
that will allow native addons to be compiled once on a system and used across
multiple versions of Node.js.
By providing a new virtual machine agnostic Application Binary Interface (ABI), it becomes possible for native addons to work not only against multiple versions of the V8 JavaScript runtime, but Microsoft's Chakra-Core runtime as well.
The N-API is experimental in Node.js 8.0.0, so significant changes in the implementation and API should be expected. Native addon developers are encouraged to begin working with the API as soon as possible and to provide feedback that will be necessary to ensure that the new API meets the needs of the ecosystem.
Say hello to async_hooks
The experimental async_hooks
module (formerly async_wrap
) has received a
major upgrade in 8.0.0. This diagnostics API allows developers a means of
monitoring the operation of the Node.js event loop, tracking asynchronous
requests and handles through their complete lifecycle.
Complete documentation for the
new module is still incomplete and users should take great care when using the
experimental new module.
Say hello to the WHATWG URL parser
An experimental URL
API implemented around the
WHATWG URL Standard was added to Node.js 7.x
last year and has been under active development ever since. We are excited to
announce that as of 8.0.0, the new URL
implementation is now a fully
supported, non-experimental API within Node.js. An example usage is shown below,
with more details available in the
official documentation.
const URL = require('url').URL;
const myUrl = new URL('/a/path', 'https://example.org/');
This new URL
implementation is most significant in that it matches the URL
implementation and API available in modern Web Browsers like Chrome, Firefox,
Edge, and Safari, allowing code using URLs to be shared across environments.
Buffer changes
A number of important changes have been made to the Buffer
API within Node.js.
Most significant is the fact that calling the deprecated Buffer(num)
constructor (with or without the new
keyword) will return a zero-filled
Buffer
instance. Prior versions of Node.js would return uninitialized memory,
which could contain potentially sensitive data.
In Node.js 6.0.0, a new set of Buffer
construction methods
were introduced
as an alternative to calling the Buffer(num)
constructor in order to address a
number of security and usability
concerns. The existing constructor, however, is used extensively throughout the
Node.js ecosystem, making it infeasible for us to fully deprecate or disable it
without causing significant breakage.
Zero-filling new instances of Buffer(num)
by default will have a significant
impact on performance. Developers should move to the new
Buffer.allocUnsafe(num)
API if they wish to allocate Buffer
instances
with uninitialized memory. Examples of zero-filled and uninitialized Buffer
creation in Node.js 8 are shown below.
// Zero-filled Buffers
const safeBuffer1 = Buffer.alloc(10);
const safeBuffer2 = new Buffer(10);
// Uninitialized Buffer
const unsafeBuffer = Buffer.allocUnsafe(10);
Note that while there are no current plans to remove the Buffer(num)
constructor from Node.js, its continued use is deprecated.
Pending Deprecations
To make it easier to catch uses of Buffer(num)
within an application at
development time or within CI testing environments, a new
--pending-deprecation
command-line flag and matching
NODE_PENDING_DEPRECATION=1
environment variable have been added that will
cause Node.js to emit DeprecationWarning
process warnings when Buffer(num)
(and other potential pending deprecations) are used. These are off by default
in order to keep such deprecations from impacting production applications. An
example which enables pending deprecations is shown below.
$ ./node --pending-deprecation
> Buffer(num)
<Buffer 00>
> (node:2896) [DEP0005] DeprecationWarning: The Buffer() and new Buffer() constructors are not recommended for use due to security and usability concerns. Please use the new Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() construction methods instead.
Improved support for Promises
Node.js 8.0.0 includes a new util.promisify()
API that allows standard Node.js
callback style APIs to be wrapped in a function that returns a Promise
. An
example use of util.promisify()
is shown below.
const fs = require('fs');
const util = require('util');
const readfile = util.promisify(fs.readFile);
readfile('/some/file')
.then((data) => { /** ... **/ })
.catch((err) => { /** ... **/ });
Console changes
console.log()
, console.error()
and other methods available through the
console
module in Node.js allow application output to be directed either to
stdout
, stderr
or pipes. Previously, errors that occurred while attempting
to write console output to the underlying stream would cause the Node.js
application to crash. Starting with 8.0.0 such errors will be silently ignored,
making use of console.log()
and the other APIs safer. It will be possible to
maintain legacy behavior related to errors via an ignoreErrors
option passed
to the Console
constructor.
Static Error Codes
We have started the process of assigning static error codes to all errors generated by Node.js. While it will take some time for every error to be assigned a code, a handful have been updated within 8.0.0. These error codes are guaranteed not to change even if the error type or message changes.
Codes are manifest to the user in two ways:
- Using the
code
property onError
object instances - Printing the
[ERR_CODE]
in the stack trace of an Error
For instance, calling assert(false)
will generate the following
AssertionError
:
> assert(false)
AssertionError [ERR_ASSERTION]: false == true
at repl:1:1
at ContextifyScript.Script.runInThisContext (vm.js:44:33)
at REPLServer.defaultEval (repl.js:239:29)
at bound (domain.js:301:14)
at REPLServer.runBound [as eval] (domain.js:314:12)
at REPLServer.onLine (repl.js:433:10)
at emitOne (events.js:120:20)
at REPLServer.emit (events.js:210:7)
at REPLServer.Interface._onLine (readline.js:278:10)
at REPLServer.Interface._line (readline.js:625:8)
Information for static error codes can be queried quickly by referencing the
Node.js documentation. For instance, the URL to lookup information about the
ERR_ARG_NOT_ITERABLE
error code is
https://nodejs.org/dist/latest-v8.x/docs/api/errors.html#ERR_ARG_NOT_ITERABLE.
Redirecting Process Warnings
Processing warnings such as deprecations may now be redirected to a file by
using either the --redirect-warnings={file}
command line argument or matching
NODE_REDIRECT_WARNINGS={file}
environment variable. Rather than printing
warnings out to stderr
by default, warnings will be written out to the
specified file, allowing those to be analyzed separately from an application's
primary output.
Stream API improvements
For users of the Stream API, new standard mechanisms for destroying and
finalizing Stream instances have been added. Every Stream
instance will now
inherit a destroy()
method, the implementation of which can be customized and
extended by providing a custom implementation of the _destroy()
method.
Debugger changes
The legacy command line debugger is being removed in Node.js 8. As a command line replacement, node-inspect has been integrated directly into the Node.js runtime. Additionally, the V8 Inspector debugger, which arrived previously as an experimental feature in Node.js 6, is being upgraded to a fully supported feature.
Experimental inspector JavaScript API
A new experimental JavaScript API for the Inspector protocol has been introduced enabling developers new ways of leveraging the debug protocol to inspect running Node.js processes.
const inspector = require('inspector');
const session = new inspector.Session();
session.connect();
// Listen for inspector events
session.on('inspectorNotification', (message) => { /** ... **/ });
// Send messages to the inspector
session.post(message);
session.disconnect();
Note that the inspector API is experimental and may change significantly.
Long Term Support
Node.js 8 is the next release line to enter Long Term Support (LTS). This is scheduled to happen in October 2017. Once Node.js 8 transitions to LTS, it will receive the code name Carbon.
Note that, when referring to Node.js release versions, we have dropped the "v" in Node.js 8. Previous versions were commonly referred to as v0.10, v0.12, v4, v6, etc. In order to avoid confusion with V8, the underlying JavaScript engine, we've dropped the "v" and call it Node.js 8.
Notable Changes
Async Hooks
- The
async_hooks
module has landed in core [4a7233c178
] #12892.
- The
Buffer
- Using the
--pending-deprecation
flag will cause Node.js to emit a deprecation warning when usingnew Buffer(num)
orBuffer(num)
. [d2d32ea5a2
] #11968. new Buffer(num)
andBuffer(num)
will zero-fill newBuffer
instances [7eb1b4658e
] #12141.- Many
Buffer
methods now acceptUint8Array
as input [beca3244e2
] #10236.
- Using the
Child Process
- Argument and kill signal validations have been improved
[
97a77288ce
] #12348, [d75fdd96aa
] #10423. - Child Process methods accept
Uint8Array
as input [627ecee9ed
] #10653.
- Argument and kill signal validations have been improved
[
Console
- Error events emitted when using
console
methods are now supressed. [f18e08d820
] #9744.
- Error events emitted when using
Dependencies
- The npm client has been updated to 5.0.0
[
c58cea5
] #13276. - V8 has been updated to 5.8 with forward ABI stability to 6.0
[
60d1aac8d2
] #12784.
- The npm client has been updated to 5.0.0
[
Domains
- Native
Promise
instances are nowDomain
aware [84dabe8373
] #12489.
- Native
Errors
- We have started assigning static error codes to errors generated by Node.js. This has been done through multiple commits and is still a work in progress.
File System
- The utility class
fs.SyncWriteStream
has been deprecated [7a55e34ef4
] #10467. - The deprecated
fs.read()
string interface has been removed [3c2a9361ff
] #9683.
- The utility class
HTTP
- Improved support for userland implemented Agents
[
90403dd1d0
] #11567. - Outgoing Cookie headers are concatenated into a single string
[
d3480776c7
] #11259. - The
httpResponse.writeHeader()
method has been deprecated [fb71ba4921
] #11355. - New methods for accessing HTTP headers have been added to
OutgoingMessage
[3e6f1032a4
] #10805.
- Improved support for userland implemented Agents
[
Lib
- All deprecation messages have been assigned static identifiers
[
5de3cf099c
] #10116. - The legacy
linkedlist
module has been removed [84a23391f6
] #12113.
- All deprecation messages have been assigned static identifiers
[
N-API
- Experimental support for the new N-API API has been added
[
56e881d0b0
] #11975.
- Experimental support for the new N-API API has been added
[
Process
- Process warning output can be redirected to a file using the
--redirect-warnings
command-line argument [03e89b3ff2
] #10116. - Process warnings may now include additional detail
[
dd20e68b0f
] #12725.
- Process warning output can be redirected to a file using the
REPL
- REPL magic mode has been deprecated
[
3f27f02da0
] #11599.
- REPL magic mode has been deprecated
[
Src
NODE_MODULE_VERSION
has been updated to 57 [ec7cbaf266
] #12995.- Add
--pending-deprecation
command-line argument andNODE_PENDING_DEPRECATION
environment variable [a16b570f8c
] #11968. - The
--debug
command-line argument has been deprecated. Note that using--debug
will enable the new Inspector-based debug protocol as the legacy Debugger protocol previously used by Node.js has been removed. [010f864426
] #12949. - Throw when the
-c
and-e
command-line arguments are used at the same time [a5f91ab230
] #11689. - Throw when the
--use-bundled-ca
and--use-openssl-ca
command-line arguments are used at the same time. [8a7db9d4b5
] #12087.
Stream
Stream
now supportsdestroy()
and_destroy()
APIs [b6e1d22fa6
] #12925.Stream
now supports the_final()
API [07c7f198db
] #12828.
TLS
- The
rejectUnauthorized
option now defaults totrue
[348cc80a3c
] #5923. - The
tls.createSecurePair()
API now emits a runtime deprecation [a2ae08999b
] #11349. - A runtime deprecation will now be emitted when
dhparam
is less than 2048 bits [d523eb9c40
] #11447.
- The
URL
- The WHATWG URL implementation is now a fully-supported Node.js API
[
d080ead0f9
] #12710.
- The WHATWG URL implementation is now a fully-supported Node.js API
[
Util
Symbol
keys are now displayed by default when usingutil.inspect()
[5bfd13b81e
] #9726.toJSON
errors will be thrown when formatting%j
[455e6f1dd8
] #11708.- Convert
inspect.styles
andinspect.colors
to prototype-less objects [aab0d202f8
] #11624. - The new
util.promisify()
API has been added [99da8e8e02
] #12442.
Zlib
- Support
Uint8Array
in Zlib convenience methods [91383e47fd
] #12001. - Zlib errors now use
RangeError
andTypeError
consistently [b514bd231e
] #11391.
- Support
Commits
Semver-Major Commits
- [
e48d58b8b2
] - (SEMVER-MAJOR) assert: fix AssertionError, assign error code (James M Snell) #12651 - [
758b8b6e5d
] - (SEMVER-MAJOR) assert: improve assert.fail() API (Rich Trott) #12293 - [
6481c93aef
] - (SEMVER-MAJOR) assert: add support for Map and Set in deepEqual (Joseph Gentle) #12142 - [
efec14a7d1
] - (SEMVER-MAJOR) assert: enforce type check in deepStrictEqual (Joyee Cheung) #10282 - [
562cf5a81c
] - (SEMVER-MAJOR) assert: fix premature deep strict comparison (Joyee Cheung) #11128 - [
0af41834f1
] - (SEMVER-MAJOR) assert: fix misformatted error message (Rich Trott) #11254 - [
190dc69c89
] - (SEMVER-MAJOR) benchmark: add parameter for module benchmark (Brian White) #10789 - [
b888bfe81d
] - (SEMVER-MAJOR) benchmark: allow zero when parsing http req/s (Brian White) #10558 - [
f53a6fb48b
] - (SEMVER-MAJOR) benchmark: add http header setting scenarios (Brian White) #10558 - [
d2d32ea5a2
] - (SEMVER-MAJOR) buffer: add pending deprecation warning (James M Snell) #11968 - [
7eb1b4658e
] - (SEMVER-MAJOR) buffer: zero fill Buffer(num) by default (James M Snell) #12141 - [
682573c11d
] - (SEMVER-MAJOR) buffer: remove error for malformatted hex string (Rich Trott) #12012 - [
9a0829d728
] - (SEMVER-MAJOR) buffer: stricter argument checking in toString (Nikolai Vavilov) #11120 - [
beca3244e2
] - (SEMVER-MAJOR) buffer: allow Uint8Array input to methods (Anna Henningsen) #10236 - [
3d353c749c
] - (SEMVER-MAJOR) buffer: consistent error for length > kMaxLength (Joyee Cheung) #10152 - [
bf5c309b5e
] - (SEMVER-MAJOR) build: fix V8 build on FreeBSD (Michaël Zasso) #12784 - [
a1028d5e3e
] - (SEMVER-MAJOR) build: remove cares headers from tarball (Gibson Fahnestock) #10283 - [
d08836003c
] - (SEMVER-MAJOR) build: build an x64 build by default on Windows (Nikolai Vavilov) #11537 - [
92ed1ab450
] - (SEMVER-MAJOR) build: change nosign flag to sign and flips logic (Joe Doyle) #10156 - [
97a77288ce
] - (SEMVER-MAJOR) child_process: improve ChildProcess validation (cjihrig) #12348 - [
a9111f9738
] - (SEMVER-MAJOR) child_process: minor cleanup of internals (cjihrig) #12348 - [
d75fdd96aa
] - (SEMVER-MAJOR) child_process: improve killSignal validations (Sakthipriyan Vairamani (thefourtheye)) #10423 - [
4cafa60c99
] - (SEMVER-MAJOR) child_process: align fork/spawn stdio error msg (Sam Roberts) #11044 - [
3268863ebc
] - (SEMVER-MAJOR) child_process: add string shortcut for fork stdio (Javis Sullivan) #10866 - [
8f3ff98f0e
] - (SEMVER-MAJOR) child_process: allow Infinity as maxBuffer value (cjihrig) #10769 - [
627ecee9ed
] - (SEMVER-MAJOR) child_process: support Uint8Array input to methods (Anna Henningsen) #10653 - [
fc7b0dda85
] - (SEMVER-MAJOR) child_process: improve input validation (cjihrig) #8312 - [
49d1c366d8
] - (SEMVER-MAJOR) child_process: remove extra newline in errors (cjihrig) #9343 - [
f18e08d820
] - (SEMVER-MAJOR) console: do not emit error events (Anna Henningsen) #9744 - [
a8f460f12d
] - (SEMVER-MAJOR) crypto: support all ArrayBufferView types (Timothy Gu) #12223 - [
0db49fef41
] - (SEMVER-MAJOR) crypto: support Uint8Array prime in createDH (Anna Henningsen) #11983 - [
443691a5ae
] - (SEMVER-MAJOR) crypto: fix default encoding of LazyTransform (Lukas Möller) #8611 - [
9f74184e98
] - (SEMVER-MAJOR) crypto: upgrade pbkdf2 without digest to an error (James M Snell) #11305 - [
e90f38270c
] - (SEMVER-MAJOR) crypto: throw error in CipherBase::SetAutoPadding (Kirill Fomichev) #9405 - [
1ef401ce92
] - (SEMVER-MAJOR) crypto: use check macros in CipherBase::SetAuthTag (Kirill Fomichev) #9395 - [
7599b0ef9d
] - (SEMVER-MAJOR) debug: activate inspector with _debugProcess (Eugene Ostroukhov) #11431 - [
549e81bfa1
] - (SEMVER-MAJOR) debugger: remove obsolete _debug_agent.js (Rich Trott) #12582 - [
3c3b36af0f
] - (SEMVER-MAJOR) deps: upgrade npm beta to 5.0.0-beta.56 (Kat Marchán) #12936 - [
6690415696
] - (SEMVER-MAJOR) deps: cherry-pick a927f81c7 from V8 upstream (Anna Henningsen) #11752 - [
60d1aac8d2
] - (SEMVER-MAJOR) deps: update V8 to 5.8.283.38 (Michaël Zasso) #12784 - [
b7608ac707
] - (SEMVER-MAJOR) deps: cherry-pick node-inspect#43 (Ali Ijaz Sheikh) #11441 - [
9c9e2d7f4a
] - (SEMVER-MAJOR) deps: backport 3297130 from upstream V8 (Michaël Zasso) #11752 - [
07088e6fc1
] - (SEMVER-MAJOR) deps: backport 39642fa from upstream V8 (Michaël Zasso) #11752 - [
8394b05e20
] - (SEMVER-MAJOR) deps: cherry-pick c5c570f from upstream V8 (Michaël Zasso) #11752 - [
fcc58bf0da
] - (SEMVER-MAJOR) deps: cherry-pick a927f81c7 from V8 upstream (Anna Henningsen) #11752 - [
83bf2975ec
] - (SEMVER-MAJOR) deps: cherry-pick V8 ValueSerializer changes (Anna Henningsen) #11752 - [
c459d8ea5d
] - (SEMVER-MAJOR) deps: update V8 to 5.7.492.69 (Michaël Zasso) #11752 - [
7c0c7baff3
] - (SEMVER-MAJOR) deps: fix gyp configuration for v8-inspector (Michaël Zasso) #10992 - [
00a2aa0af5
] - (SEMVER-MAJOR) deps: fix gyp build configuration for Windows (Michaël Zasso) #10992 - [
b30ec59855
] - (SEMVER-MAJOR) deps: switch to v8_inspector in V8 (Ali Ijaz Sheikh) #10992 - [
7a77daf243
] - (SEMVER-MAJOR) deps: update V8 to 5.6.326.55 (Michaël Zasso) #10992 - [
c9e5178f3c
] - (SEMVER-MAJOR) deps: hide zlib internal symbols (Sam Roberts) #11082 - [
2739185b79
] - (SEMVER-MAJOR) deps: update V8 to 5.5.372.40 (Michaël Zasso) #9618 - [
f2e3a670af
] - (SEMVER-MAJOR) dgram: convert to using internal/errors (Michael Dawson) #12926 - [
2dc1053b0a
] - (SEMVER-MAJOR) dgram: support Uint8Array input to send() (Anna Henningsen) #11985 - [
32679c73c1
] - (SEMVER-MAJOR) dgram: improve signature of Socket.prototype.send (Christopher Hiller) #10473 - [
5587ff1ccd
] - (SEMVER-MAJOR) dns: handle implicit bind DNS errors (cjihrig) #11036 - [
eb535c5154
] - (SEMVER-MAJOR) doc: deprecate vm.runInDebugContext (Josh Gavant) #12243 - [
75c471a026
] - (SEMVER-MAJOR) doc: drop PPC BE from supported platforms (Michael Dawson) #12309 - [
86996c5838
] - (SEMVER-MAJOR) doc: deprecate private http properties (Brian White) #10941 - [
3d8379ae60
] - (SEMVER-MAJOR) doc: improve assert.md regarding ECMAScript terms (Joyee Cheung) #11128 - [
d708700c68
] - (SEMVER-MAJOR) doc: deprecate buffer's parent property (Sakthipriyan Vairamani (thefourtheye)) #8332 - [
03d440e3ce
] - (SEMVER-MAJOR) doc: document buffer.buffer property (Sakthipriyan Vairamani (thefourtheye)) #8332 - [
f0b702555a
] - (SEMVER-MAJOR) errors: use lazy assert to avoid issues on startup (James M Snell) #11300 - [
251e5ed8ee
] - (SEMVER-MAJOR) errors: assign error code to bootstrap_node created error (James M Snell) #11298 - [
e75bc87d22
] - (SEMVER-MAJOR) errors: port internal/process errors to internal/errors (James M Snell) #11294 - [
76327613af
] - (SEMVER-MAJOR) errors, child_process: migrate to using internal/errors (James M Snell) #11300 - [
1c834e78ff
] - (SEMVER-MAJOR) errors,test: migrating error to internal/errors (larissayvette) #11505 - [
2141d37452
] - (SEMVER-MAJOR) events: update and clarify error message (Chris Burkhart) #10387 - [
221b03ad20
] - (SEMVER-MAJOR) events, doc: check input in defaultMaxListeners (DavidCai) #11938 - [
eed87b1637
] - (SEMVER-MAJOR) fs: (+/-)Infinity and NaN invalid unixtimestamp (Luca Maraschi) #11919 - [
71097744b2
] - (SEMVER-MAJOR) fs: more realpath*() optimizations (Brian White) #11665 - [
6a5ab5d550
] - (SEMVER-MAJOR) fs: include more fs.stat*() optimizations (Brian White) #11665 - [
1c3df96570
] - (SEMVER-MAJOR) fs: replace regexp with function (Brian White) #10789 - [
34c9fc2e4e
] - (SEMVER-MAJOR) fs: avoid multiple conversions to string (Brian White) #10789 - [
21b2440176
] - (SEMVER-MAJOR) fs: avoid recompilation of closure (Brian White) #10789 - [
7a55e34ef4
] - (SEMVER-MAJOR) fs: runtime deprecation for fs.SyncWriteStream (James M Snell) #10467 - [
b1fc7745f2
] - (SEMVER-MAJOR) fs: avoid emitting error EBADF for double close (Matteo Collina) #11225 - [
3c2a9361ff
] - (SEMVER-MAJOR) fs: remove fs.read's string interface (Nikolai Vavilov) #9683 - [
f3cf8e9808
] - (SEMVER-MAJOR) fs: do not pass Buffer when toString() fails (Brian White) #9670 - [
85a4e25775
] - (SEMVER-MAJOR) http: add type checking for hostname (James M Snell) #12494 - [
90403dd1d0
] - (SEMVER-MAJOR) http: should support userland Agent (fengmk2) #11567 - [
d3480776c7
] - (SEMVER-MAJOR) http: concatenate outgoing Cookie headers (Brian White) #11259 - [
6b2cef65c9
] - (SEMVER-MAJOR) http: append Cookie header values with semicolon (Brian White) #11259 - [
8243ca0e0e
] - (SEMVER-MAJOR) http: reuse existing StorageObject (Brian White) #10941 - [
b377034359
] - (SEMVER-MAJOR) http: support old private properties and function (Brian White) #10941 - [
940b5303be
] - (SEMVER-MAJOR) http: use Symbol for outgoing headers (Brian White) #10941 - [
fb71ba4921
] - (SEMVER-MAJOR) http: docs-only deprecation of res.writeHeader() (James M Snell) #11355 - [
a4bb9fdb89
] - (SEMVER-MAJOR) http: include provided status code in range error (cjihrig) #11221 - [
fc7025c9c0
] - (SEMVER-MAJOR) http: throw an error for unexpected agent values (brad-decker) #10053 - [
176cdc2823
] - (SEMVER-MAJOR) http: misc optimizations and style fixes (Brian White) #10558 - [
73d9445782
] - (SEMVER-MAJOR) http: try to avoid lowercasing incoming headers (Brian White) #10558 - [
c77ed327d9
] - (SEMVER-MAJOR) http: avoid using object for removed header status (Brian White) #10558 - [
c00e4adbb4
] - (SEMVER-MAJOR) http: optimize header storage and matching (Brian White) #10558 - [
ec8910bcea
] - (SEMVER-MAJOR) http: check statusCode early (Brian White) #10558 - [
a73ab9de0d
] - (SEMVER-MAJOR) http: remove pointless use of arguments (cjihrig) #10664 - [
df3978421b
] - (SEMVER-MAJOR) http: verify client method is a string (Luca Maraschi) #10111 - [
90476ac6ee
] - (SEMVER-MAJOR) lib: remove _debugger.js (Ben Noordhuis) #12495 - [
3209a8ebf3
] - (SEMVER-MAJOR) lib: ensure --check flag works for piped-in code (Teddy Katz) #11689 - [
c67207731f
] - (SEMVER-MAJOR) lib: simplify Module._resolveLookupPaths (Brian White) #10789 - [
28dc848e70
] - (SEMVER-MAJOR) lib: improve method of function calling (Brian White) #10789 - [
a851b868c0
] - (SEMVER-MAJOR) lib: remove sources of permanent deopts (Brian White) #10789 - [
62e96096fa
] - (SEMVER-MAJOR) lib: more consistent use of module.exports = {} model (James M Snell) #11406 - [
88c3f57cc3
] - (SEMVER-MAJOR) lib: refactor internal/socket_list (James M Snell) #11406 - [
f04387e9f2
] - (SEMVER-MAJOR) lib: refactor internal/freelist (James M Snell) #11406 - [
d61a511728
] - (SEMVER-MAJOR) lib: refactor internal/linkedlist (James M Snell) #11406 - [
2ba4eeadbb
] - (SEMVER-MAJOR) lib: remove simd support from util.format() (Ben Noordhuis) #11346 - [
dfdd911e17
] - (SEMVER-MAJOR) lib: deprecate node --debug at runtime (Josh Gavant) #10970 - [
5de3cf099c
] - (SEMVER-MAJOR) lib: add static identifier codes for all deprecations (James M Snell) #10116 - [
4775942957
] - (SEMVER-MAJOR) lib, test: fix server.listen error message (Joyee Cheung) #11693 - [
caf9ae748b
] - (SEMVER-MAJOR) lib,src: make constants not inherit from Object (Sakthipriyan Vairamani (thefourtheye)) #10458 - [
e0b076a949
] - (SEMVER-MAJOR) lib,src,test: update --debug/debug-brk comments (Ben Noordhuis) #12495 - [
b40dab553f
] - (SEMVER-MAJOR) linkedlist: remove unused methods (Brian White) #11726 - [
84a23391f6
] - (SEMVER-MAJOR) linkedlist: remove public module (Brian White) #12113 - [
e32425bfcd
] - (SEMVER-MAJOR) module: avoid JSON.stringify() for cache key (Brian White) #10789 - [
403b89e72b
] - (SEMVER-MAJOR) module: avoid hasOwnProperty() (Brian White) #10789 - [
298a40e04e
] - (SEMVER-MAJOR) module: use "clean" objects (Brian White) #10789 - [
cf980b0311
] - (SEMVER-MAJOR) net: check and throw on error for getsockname (Daniel Bevenius) #12871 - [
473572ea25
] - (SEMVER-MAJOR) os: refactor os structure, add Symbol.toPrimitive (James M Snell) #12654 - [
03e89b3ff2
] - (SEMVER-MAJOR) process: add --redirect-warnings command line argument (James M Snell) #10116 - [
5e1f32fd94
] - (SEMVER-MAJOR) process: add optional code to warnings + type checking (James M Snell) #10116 - [
a647d82f83
] - (SEMVER-MAJOR) process: improve process.hrtime (Joyee Cheung) #10764 - [
4e259b21a3
] - (SEMVER-MAJOR) querystring, url: handle repeated sep in search (Daijiro Wachi) #10967 - [
39d9afe279
] - (SEMVER-MAJOR) repl: refactorLineParser
implementation (Blake Embrey) #6171 - [
3f27f02da0
] - (SEMVER-MAJOR) repl: docs-only deprecation of magic mode (Timothy Gu) #11599 - [
b77c89022b
] - (SEMVER-MAJOR) repl: remove magic mode semantics (Timothy Gu) #11599 - [
007386ee81
] - (SEMVER-MAJOR) repl: remove workaround for function redefinition (Michaël Zasso) #9618 - [
5b63fabfd8
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 55 (Michaël Zasso) #12784 - [
a16b570f8c
] - (SEMVER-MAJOR) src: add --pending-deprecation and NODE_PENDING_DEPRECATION (James M Snell) #11968 - [
faa447b256
] - (SEMVER-MAJOR) src: allow ArrayBufferView as instance of Buffer (Timothy Gu) #12223 - [
47f8f7462f
] - (SEMVER-MAJOR) src: remove support for --debug (Jan Krems) #12197 - [
a5f91ab230
] - (SEMVER-MAJOR) src: throw when -c and -e are used simultaneously (Teddy Katz) #11689 - [
8a7db9d4b5
] - (SEMVER-MAJOR) src: add --use-bundled-ca --use-openssl-ca check (Daniel Bevenius) #12087 - [
ed12ea371c
] - (SEMVER-MAJOR) src: update inspector code to match upstream API (Michaël Zasso) #11752 - [
89d8dc9afd
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 54 (Michaël Zasso) #11752 - [
1125c8a814
] - (SEMVER-MAJOR) src: fix typos in node_lttng_provider.h (Benjamin Fleischer) #11723 - [
aae8f683b4
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 53 (Michaël Zasso) #10992 - [
91ab09fe2a
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 52 (Michaël Zasso) #9618 - [
334be0feba
] - (SEMVER-MAJOR) src: fix space for module version mismatch error (Yann Pringault) #10606 - [
45c9ca7fd4
] - (SEMVER-MAJOR) src: remove redundant spawn/spawnSync type checks (cjihrig) #8312 - [
b374ee8c3d
] - (SEMVER-MAJOR) src: add handle check to spawn_sync (cjihrig) #8312 - [
3295a7feba
] - (SEMVER-MAJOR) src: allow getting Symbols on process.env (Anna Henningsen) #9631 - [
1aa595e5bd
] - (SEMVER-MAJOR) src: throw on process.env symbol usage (cjihrig) #9446 - [
a235ccd168
] - (SEMVER-MAJOR) src,test: debug is now an alias for inspect (Ali Ijaz Sheikh) #11441 - [
b6e1d22fa6
] - (SEMVER-MAJOR) stream: add destroy and _destroy methods. (Matteo Collina) #12925 - [
f36c970cf3
] - (SEMVER-MAJOR) stream: improve multiple callback error message (cjihrig) #12520 - [
202b07f414
] - (SEMVER-MAJOR) stream: fix comment for sync flag of ReadableState (Wang Xinyong) #11139 - [
1004b9b4ad
] - (SEMVER-MAJOR) stream: remove unusedranOut
from ReadableState (Wang Xinyong) #11139 - [
03b9f6fe26
] - (SEMVER-MAJOR) stream: avoid instanceof (Brian White) #10558 - [
a3539ae3be
] - (SEMVER-MAJOR) stream: use plain objects for write/corked reqs (Brian White) #10558 - [
24ef1e6775
] - (SEMVER-MAJOR) string_decoder: align UTF-8 handling with V8 (Brian White) #9618 - [
23fc082409
] - (SEMVER-MAJOR) test: remove extra console output from test-os.js (James M Snell) #12654 - [
59c6230861
] - (SEMVER-MAJOR) test: cleanup test-child-process-constructor.js (cjihrig) #12348 - [
06c29a66d4
] - (SEMVER-MAJOR) test: remove common.fail() (Rich Trott) #12293 - [
0c539faac3
] - (SEMVER-MAJOR) test: add common.getArrayBufferViews(buf) (Timothy Gu) #12223 - [
c5d1851ac4
] - (SEMVER-MAJOR) test: drop v5.x-specific code path from simd test (Ben Noordhuis) #11346 - [
c2c6ae52ea
] - (SEMVER-MAJOR) test: move test-vm-function-redefinition to parallel (Franziska Hinkelmann) #9618 - [
5b30c4f24d
] - (SEMVER-MAJOR) test: refactor test-child-process-spawnsync-maxbuf (cjihrig) #10769 - [
348cc80a3c
] - (SEMVER-MAJOR) tls: make rejectUnauthorized default to true (ghaiklor) #5923 - [
a2ae08999b
] - (SEMVER-MAJOR) tls: runtime deprecation for tls.createSecurePair() (James M Snell) #11349 - [
d523eb9c40
] - (SEMVER-MAJOR) tls: use emitWarning() for dhparam < 2048 bits (James M Snell) #11447 - [
e03a929648
] - (SEMVER-MAJOR) tools: update test-npm.sh paths (Kat Marchán) #12936 - [
6f202ef857
] - (SEMVER-MAJOR) tools: remove assert.fail() lint rule (Rich Trott) #12293 - [
615789b723
] - (SEMVER-MAJOR) tools: enable ES2017 syntax support in ESLint (Michaël Zasso) #11210 - [
1b63fa1096
] - (SEMVER-MAJOR) tty: remove NODE_TTY_UNSAFE_ASYNC (Jeremiah Senkpiel) #12057 - [
78182458e6
] - (SEMVER-MAJOR) url: fix error message of url.format (DavidCai) #11162 - [
c65d55f087
] - (SEMVER-MAJOR) url: do not truncate long hostnames (Junshu Okamoto) #9292 - [
3cc3e099be
] - (SEMVER-MAJOR) util: show External values explicitly in inspect (Anna Henningsen) #12151 - [
4a5a9445b5
] - (SEMVER-MAJOR) util: use\[Array\]
for deeply nested arrays (Anna Henningsen) #12046 - [
5bfd13b81e
] - (SEMVER-MAJOR) util: display Symbol keys in inspect by default (Shahar Or) #9726 - [
455e6f1dd8
] - (SEMVER-MAJOR) util: throw toJSON errors when formatting %j (Timothy Gu) #11708 - [
ec2f098156
] - (SEMVER-MAJOR) util: change sparse arrays inspection format (Alexey Orlenko) #11576 - [
aab0d202f8
] - (SEMVER-MAJOR) util: convert inspect.styles and inspect.colors to prototype-less objects (Nemanja Stojanovic) #11624 - [
4151ab398b
] - (SEMVER-MAJOR) util: add createClassWrapper to internal/util (James M Snell) #11391 - [
f65aa08b52
] - (SEMVER-MAJOR) util: improve inspect for (Async|Generator)Function (Michaël Zasso) #11210 - [
efae43f0ee
] - (SEMVER-MAJOR) zlib: fix node crashing on invalid options (Alexey Orlenko) #13098 - [
2ced07ccaf
] - (SEMVER-MAJOR) zlib: support all ArrayBufferView types (Timothy Gu) #12223 - [
91383e47fd
] - (SEMVER-MAJOR) zlib: support Uint8Array in convenience methods (Timothy Gu) #12001 - [
b514bd231e
] - (SEMVER-MAJOR) zlib: use RangeError/TypeError consistently (James M Snell) #11391 - [
8e69f7e385
] - (SEMVER-MAJOR) zlib: refactor zlib module (James M Snell) #11391 - [
dd928b04fc
] - (SEMVER-MAJOR) zlib: be strict about what strategies are accepted (Rich Trott) #10934
Semver-minor Commits
- [
7e3a3c962f
] - (SEMVER-MINOR) async_hooks: initial async_hooks implementation (Trevor Norris) #12892 - [
60a2fe7d47
] - (SEMVER-MINOR) async_hooks: implement C++ embedder API (Anna Henningsen) #13142 - [
f1ed19d98f
] - (SEMVER-MINOR) async_wrap: use more specific providers (Trevor Norris) #12892 - [
0432c6e91e
] - (SEMVER-MINOR) async_wrap: use double, not int64_t, for async id (Trevor Norris) #12892 - [
fe2df3b842
] - (SEMVER-MINOR) async_wrap,src: add GetAsyncId() method (Trevor Norris) #12892 - [
6d93508369
] - (SEMVER-MINOR) buffer: expose FastBuffer on internal/buffer (Anna Henningsen) #11048 - [
fe5ca3ff27
] - (SEMVER-MINOR) child_process: support promisifiedexec(File)
(Anna Henningsen) #12442 - [
f146fe4ed4
] - (SEMVER-MINOR) cmd: support dash as stdin alias (Ebrahim Byagowi) #13012 - [
d9f3ec8e09
] - (SEMVER-MINOR) crypto: use named FunctionTemplate (Trevor Norris) #12892 - [
0e710aada4
] - (SEMVER-MINOR) crypto: add sign/verify support for RSASSA-PSS (Tobias Nießen) #11705 - [
faf6654ff7
] - (SEMVER-MINOR) dns: support promisifiedlookup(Service)
(Anna Henningsen) #12442 - [
5077cde71f
] - (SEMVER-MINOR) doc: restructure url.md (James M Snell) #12710 - [
d080ead0f9
] - (SEMVER-MINOR) doc: graduate WHATWG URL from Experimental (James M Snell) #12710 - [
c505b8109e
] - (SEMVER-MINOR) doc: document URLSearchParams constructor (Timothy Gu) #11060 - [
84dabe8373
] - (SEMVER-MINOR) domain: support promises (Anna Henningsen) #12489 - [
fbcb4f50b8
] - (SEMVER-MINOR) fs: support util.promisify for fs.read/fs.write (Anna Henningsen) #12442 - [
a7f5c9cb7d
] - (SEMVER-MINOR) http: destroy sockets after keepAliveTimeout (Timur Shemsedinov) #2534 - [
3e6f1032a4
] - (SEMVER-MINOR) http: add new functions to OutgoingMessage (Brian White) #10805 - [
c7182b9d9c
] - (SEMVER-MINOR) inspector: JavaScript bindings for the inspector (Eugene Ostroukhov) #12263 - [
4a7233c178
] - (SEMVER-MINOR) lib: implement async_hooks API in core (Trevor Norris) #12892 - [
c68ebe8436
] - (SEMVER-MINOR) makefile: add async-hooks to test and test-ci (Trevor Norris) #12892 - [
45139e59f3
] - (SEMVER-MINOR) n-api: add napi_get_version (Michael Dawson) #13207 - [
56e881d0b0
] - (SEMVER-MINOR) n-api: add support for abi stable module API (Jason Ginchereau) #11975 - [
dd20e68b0f
] - (SEMVER-MINOR) process: add optional detail to process emitWarning (James M Snell) #12725 - [
c0bde73f1b
] - (SEMVER-MINOR) src: implement native changes for async_hooks (Trevor Norris) #12892 - [
e5a25cbc85
] - (SEMVER-MINOR) src: exposenode::AddPromiseHook
(Anna Henningsen) #12489 - [
ec53921d2e
] - (SEMVER-MINOR) src: make AtExit callback's per Environment (Daniel Bevenius) #9163 - [
ba4847e879
] - (SEMVER-MINOR) src: Node Tracing Controller (misterpoe) #9304 - [
6ff3b03240
] - (SEMVER-MINOR) src, inspector: add --inspect-brk option (Josh Gavant) #8979 - [
220186c4a8
] - (SEMVER-MINOR) stream: support Uint8Array input to methods (Anna Henningsen) #11608 - [
07c7f198db
] - (SEMVER-MINOR) stream: add final method (Calvin Metcalf) #12828 - [
11918c4aed
] - (SEMVER-MINOR) stream: fix highWaterMark integer overflow (Tobias Nießen) #12593 - [
c56d6046ec
] - (SEMVER-MINOR) test: add AsyncResource addon test (Anna Henningsen) #13142 - [
e3e56f1d71
] - (SEMVER-MINOR) test: adding tests for initHooks API (Thorsten Lorenz) #12892 - [
732620cfe9
] - (SEMVER-MINOR) test: remove unneeded tests (Trevor Norris) #12892 - [
e965ed16c1
] - (SEMVER-MINOR) test: add test for promisify customPromisifyArgs (Gil Tayar) #12442 - [
3ea2301e38
] - (SEMVER-MINOR) test: add a bunch of tests from bluebird (Madara Uchiha) #12442 - [
dca08152cb
] - (SEMVER-MINOR) test: introducecommon.crashOnUnhandledRejection
(Anna Henningsen) #12489 - [
e7c51454b0
] - (SEMVER-MINOR) timers: add promisify support (Anna Henningsen) #12442 - [
e600fbe576
] - (SEMVER-MINOR) tls: acceptlookup
option fortls.connect()
(Fedor Indutny) #12839 - [
c3efe72669
] - (SEMVER-MINOR) tls: support Uint8Arrays for protocol list buffers (Anna Henningsen) #11984 - [
29f758731f
] - (SEMVER-MINOR) tools: add MDN link for Iterable (Timothy Gu) #11060 - [
4b9d84df51
] - (SEMVER-MINOR) tty_wrap: throw when uv_tty_init() returns error (Trevor Norris) #12892 - [
cc48f21c83
] - (SEMVER-MINOR) **u