The JSON variant of the API documentation is no longer experimental (Rich Trott) #27842.
JSON module support is always enabled under --experimental-modules. The
--experimental-json-modules flag has been removed (Myles Borins) #27752.
A new flag has been added for overriding the default HTTP server socket
timeout (which is two minutes). Pass --http-server-default-timeout=milliseconds
or --http-server-default-timeout=0 to respectively change or disable the timeout.
Starting with Node.js 13.0.0, the timeout will be disabled by default (Ali Ijaz Sheikh) #27704.
Added an experimental --heap-prof flag to start the V8 heap profiler
on startup and write the heap profile to disk before exit (Joyee Cheung) #27596.
The readable.unshift() method now correctly converts strings to buffers.
Additionally, a new optional argument is accepted to specify the string's
encoding, such as 'utf8' or 'ascii' (Marcos Casagrande) #27194.
The object returned by v8.getHeapStatistics() has two new properties:
number_of_native_contexts and number_of_detached_contexts (Yuriy Vasiyarov) #27933.
Updated llhttp to 1.1.3. This fixes a bug that made Node.js' HTTP parser
refuse any request URL that contained the "|" (vertical bar) character (Fedor Indutny) #27595.
Added an enableTrace() method to TLSSocket and an enableTrace option
to tls.createServer(). When enabled, TSL packet trace information is
written to stderr. This can be used to debug TLS connection problems (cjihrig) #27497, (Sam Roberts) #27376.
Added a --trace-tls command-line flag that enables tracing of TLS
connections without the need to modify existing application code (cjihrig) #27497.
Added a --cpu-prof-interval command-line flag. It can be used to specify
the sampling interval for the CPU profiles generated by --cpu-prof (Joyee Cheung) #27535.
Added the createRequire() method. It allows to create a require function
from a file URL object, a file URL string or an absolute path string. The
existing createRequireFromPath() method is now deprecated (Myles Borins) #27405.
Throw on require('./path.mjs'). This is technically a breaking change that
should have landed with Node.js 12.0.0. It is necessary to have this to keep
the possibility for a future minor version to load ES Modules with the
require function (Myles Borins) #27417.
The REPL now supports multi-line statements using BigInt literals as well
as public and private class fields and methods (Ruben Bridgewater) #27400.
The REPL now supports tab autocompletion of file paths with fs methods (Anto Aravinth) #26648.