Skip to content

Releases: nodejs/node

2018-05-23, Version 10.2.0 (Current), @MylesBorins

24 May 15:30
Compare
Choose a tag to compare

Notable Changes

  • addons:
    • Fixed a memory leak for users of AsyncResource and N-API. (Michael Dawson) #20668
  • assert:
    • The error parameter of assert.throws() can be an object containing regular expressions now. (Ruben Bridgewater) #20485
  • crypto:
    • The authTagLength option has been made more flexible. (Tobias Nießen) #20235, #20039
  • esm:
    • Builtin modules (e.g. fs) now provide named exports in ES6 modules. (Gus Caplan) #20403
  • http:
    • Handling of close and aborted events has been made more consistent. (Robert Nagy) #20075, #20611
  • module:
    • add --preserve-symlinks-main (David Goldstein) #19911
  • timers:
    • timeout.refresh() has been added to the public API. (Jeremiah Senkpiel) #20298
  • Embedder support:
    • Functions for creating V8 Isolate and Context objects with Node.js-specific behaviour have been added to the API. (Allen Yonghuang Wang) #20639
    • Node.js Environments clean up resources before exiting now. (Anna Henningsen) #19377
    • Support for multi-threaded embedding has been improved. (Anna Henningsen) #20542, #20539, #20541

Commits

  • [8f8a0e3483] - assert: fix wrong message indentation (Ruben Bridgewater) #20791
  • [338e663860] - assert: fix EOL issue in messages on Windows (Ruben Bridgewater) #20754
  • [1160d61cd9] - assert: support symbols as assertion messages (cjihrig) #20693
  • [bb857d9e71] - assert: make sure throws is able to handle primitives (Ruben Bridgewater) #20482
  • [5d06c1e1ae] - assert: move AssertionError into own file (Ruben Bridgewater) #20486
  • [a5ee31bba1] - (SEMVER-MINOR) assert: accept regular expressions to validate (Ruben Bridgewater) #20485
  • [74db9f43ba] - assert,util: lazy load comparison functions (Ruben Bridgewater) #20567
  • [9feca3ea32] - async_hooks: lazy loading for startup performance (Ruben Bridgewater) #20567
  • [e61337d36d] - async_wrap: fix memory leak in AsyncResource (Michael Dawson) #20668
  • [56de3bfb70] - benchmark: add tls benchmark for legacy SecurePair (Alex Fernández) #20344
  • [3b516177c8] - build: use nyc's merge command (Benjamin Coe) #20760
  • [aaf1df59be] - build: export openssl TLSv1 methods again (Ben Noordhuis) #20712
  • [7a980086c8] - build: always use BUILDTYPE binary to run JS tests (Joyee Cheung) #20362
  • [47103493f7] - child_process: fix exec set stdout.setEncoding (killagu) #18976
  • [4a872b98a0] - cluster: remove obsolete array allocation (Ruben Bridgewater) #20567
  • [a41c44a307] - codeowners: add rule for *.gypi files (Ben Noordhuis) #20740
  • [b701f5af18] - codeowners: fix typo in v8-inspector team name (Ben Noordhuis) #20740
  • [3fd67249df] - console: .table fall back to logging for function too (ohbarye) #20681
  • [bc6dbc3bfc] - console: lazy load cli (Ruben Bridgewater) #20567
  • [cecec46204] - crypto: add test case for AES key wrapping (Yihong Wang) #20587
  • [34d67085d5] - crypto: allocate more memory for cipher.update() (Yihong Wang) #20370
  • [2b2ccae390] - (SEMVER-MINOR) crypto: support authTagLength in GCM encryption (Tobias Nießen) #20235
  • [1e5de6fe97] - crypto: add using directives for v8::Int32, Uint32 (Tobias Nießen) #20225
  • [f5e7010eb9] - crypto: use kNoAuthTagLength in InitAuthenticated (Tobias Nießen) #20225
  • [5ea1a58db9] - crypto: remove rsaPrivate and rename rsaPublic (Daniel Bevenius) #20164
  • [503844eb73] - crypto: add addCipherPrototypeFunctions function (Daniel Bevenius) #20164
  • [72029b8cc7] - crypto: add createCipher/WithIV functions (Daniel Bevenius) #20164
  • [bdd2856152] - (SEMVER-MINOR) crypto: allow to restrict valid GCM tag length (Tobias Nießen) #20039
  • [e56716e396] - deps: cherry-pick ff0a9793334 from upstream V8 (Anna Henningsen) #20719
  • [8e058d5f94] - deps: patch V8 to 6.6.346.32 (Myles Borins) #20748
  • [cb94601cf2] - deps: cherry-pick 23652c5f from upstream V8 (Eugene Ostroukhov) #20608
  • [91e60b0d33] - deps: V8: cherry-pick b49206d from upstream (Ali Ijaz Sheikh) #20727
  • [6ce589f7f4] - deps: patch V8 to 6.6.346.31 (Myles Borins) #20603
  • [f69a823f8e] - deps: upgrade to libuv 1.20.3 (cjihrig) #20585
  • [60eab9100f] - dns: lazy loaded (Ruben Bridgewater) #20567
  • [c1fe9b29b1] - doc: add note about autocrlf required for tests (Bartosz Sosnowski) #20752
  • [8a17a259f3] - doc: fix some nits in hardcoded manpage links (Vse Mozhet Byt) #20854
  • [8317a468db] - doc: fix fs.promises sample codes (Keita Akutsu) #20838
  • [37b9fe1e68] - doc: fix typo in http2.md (Keita Akutsu) #20843
  • [88aee8a65c] - doc: improve _Deprecation_ definition (Rich Trott) #20788
  • [7b1c035218] - doc: describe using multiple link-module on win (Bartosz Sosnowski) #20774
  • [9a8cdc93ff] - doc: fix typo in COLLABORATOR_GUIDE.md (Vse Mozhet Byt) #20742
  • [657f8cbe41] - doc: fix linter warnings and typos in manpage (Alhadis) #20741
  • [165971d35b] - doc: sort references in A...
Read more

2018-05-15, Version 8.11.2 'Carbon' (LTS), @MylesBorins

24 May 15:29
Compare
Choose a tag to compare

Notable Changes

  • deps:
    • update node-inspect to 1.11.3 (Jan Krems) #18354
    • update nghttp2 to 1.29.0 (James M Snell) #17908
  • http2:
    • Sync with current release stream
  • n-api:
    • Sync with current release stream

Commits

Read more

2018-05-08, Version 10.1.0 (Current), @MylesBorins

24 May 15:29
Compare
Choose a tag to compare

Notable Changes

  • console:
    • make console.table() use colored inspect (TSUYUSATO Kitsune) #20510
  • fs:
    • move fs/promises to fs.promises (cjihrig) #20504
  • http:
    • added aborted property to request (Robert Nagy) #20094
  • n-api:
    • initialize a module via a special symbol (Gabriel Schulhof) #20161
  • src:
    • add public API to expose the main V8 Platform (Allen Yonghuang Wang) #20447

Commits

Read more

2018-04-30, Version 6.14.2 'Boron' (LTS), @MylesBorins

24 May 15:28
Compare
Choose a tag to compare

Notable Changes

  • n-api:
    • n-api has been backported to v6.x. It is being landed as an experimental interface,
      and as such is landing in a Semver-Patch release. (Gabriel Schulhof) #19447

Commits

Read more

2018-04-24, Version 10.0.0 (Current), @jasnell

24 May 15:27
v10.0.0
Compare
Choose a tag to compare

Notable Changes

  • Assert
    • Calling assert.fail() with more than one argument is deprecated. [70dcacd710]
    • Calling assert.ok() with no arguments will now throw. [3cd7977a42]
    • Calling assert.ifError() will now throw with any argument other than undefined or null. Previously the method would throw with any truthy value. [e65a6e81ef]
    • The assert.rejects() and assert.doesNotReject() methods have been added for working with async functions. [599337f43e]
  • Async_hooks
    • Older experimental async_hooks APIs have been removed. [1cc6b993b9]
  • Buffer
    • Uses of new Buffer() and Buffer() outside of the node_modules directory will now emit a runtime deprecation warning. [9d4ab90117]
    • Buffer.isEncoding() now returns undefined for falsy values, including an empty string. [452eed956e]
    • Buffer.fill() will throw if an attempt is made to fill with an empty Buffer. [1e802539b2]
  • Child Process
  • Console
    • The console.table() method has been added. [97ace04492]
  • Crypto
    • The crypto.createCipher() and crypto.createDecipher() methods have been deprecated. Please use crypto.createCipheriv() and crypto.createDecipheriv() instead. [81f88e30dd]
    • The decipher.finaltol() method has been deprecated. [19f3927d92]
    • The crypto.DEFAULT_ENCODING property has been deprecated. [6035beea93]
    • The ECDH.convertKey() method has been added. [f2e02883e7]
    • The crypto.fips property has been deprecated. [6e7992e8b8]
  • Dependencies
  • EventEmitter
    • The EventEmitter.prototype.off() method has been added as an alias for EventEmitter.prototype.removeListener(). [3bb6f07d52]
  • File System
    • The fs/promises API provides experimental promisified versions of the fs functions. [329fc78e49]
    • Invalid path errors are now thrown synchronously. [d8f73385e2]
    • The fs.readFile() method now partitions reads to avoid thread pool exhaustion. [67a4ce1c6e]
  • HTTP
    • Processing of HTTP Status codes 100, 102-199 has been improved. [baf8495078]
    • Multi-byte characters in URL paths are now forbidden. [b961d9fd83]
  • N-API
    • The n-api is no longer experimental. [cd7d7b15c1]
  • Net
    • The 'close' event will be emitted after 'end'. [9b7a6914a7]
  • Perf_hooks
    • The PerformanceObserver class is now an AsyncResource and can be monitored using async_hooks. [009e41826f]
    • Trace events are now emitted for performance events. [9e509b622b]
    • The performance API has been simplified. [2ec6995555]
    • Performance milestone marks will be emitted as trace events. [96cb4fb795]
  • Process
    • Using non-string values for process.env is deprecated. [5826fe4e79]
    • The process.assert() method is deprecated. [703e37cf3f]
  • REPL
    • REPL now experimentally supports top-level await when using the --experimental-repl-await flag. [eeab7bc068]
    • The previously deprecated "magic mode" has been removed. [4893f70d12]
    • The previously deprecated NODE_REPL_HISTORY_FILE environment variable has been removed. [60c9ad7979]
    • Proxy objects are shown as Proxy objects when inspected. [90a43906ab]
  • Streams
    • The 'readable' event is now always deferred with nextTick. [1e0f3315c7]
    • A new pipeline() method has been provided for building end-to-data stream pipelines. [a5cf3feaf1]
    • Experimental support for async for-await has been added to stream.Readable. [61b4d60c5d]
  • Timers
    • The enroll() and unenroll() methods have been deprecated. [68783ae0b8]
  • TLS
    • The tls.convertNPNProtocols() method has been deprecated. [9204a0db6e]
    • Support for NPN (next protocol negotiation) has been dropped. [5bfbe5ceae]
    • The ecdhCurve default is now 'auto'. [af78840b19]
  • Trace Events
    • A new trace_events top-level module allows trace event categories to be enabled/disabled at runtime. [da5d818a54]
  • URL
    • The WHATWG URL API is now a global. [312414662b]
  • Util
    • util.types.is[…] type checks have been added. [b20af8088a]
    • Support for bigint formatting has been added to util.inspect(). [39dc947409]

Deprecations:

The following APIs have been deprecated in Node.js 10.0.0

  • Passing more than one argument to assert.fail() will emit a runtime deprecation warning. [70dcacd710]
  • Previously deprecated legacy async_hooks APIs have reached end-of-life and have been removed. [1cc6b993b9]
  • Using require() to access several of Node.js' own internal dependencies will emit a runtime deprecation. [0e10717e43]
  • The crypto.createCipher() and crypto.createDecipher() methods have been deprecated in documentation.[81f88e30dd]
  • Using the Decipher.finaltol() method will emit a runtime deprecation warning. [19f3927d92]
  • Using the crypto.DEFAULT_ENCODING property will emit a runtime deprecation warning. [6035beea93]
  • Use by native addons of the MakeCallback() variant that passes a Domain will emit a runtime deprecation warning. [14bc3e22f3], [efb32592e1]
  • Previously deprecated internal getters/setters on net.Server has reached end-of-life and have been removed. [3701b02309]
  • Use of non-string values for process.env has been deprecated in documentation. [5826fe4e79]
  • Use of process.assert() will emit a runtime deprecation warning. [703e37cf3f]
  • Previously deprecated NODE_REPL_HISTORY_FILE environment variable has reached end-of-life and has been removed. [60c9ad7979]
  • Use of the timers.enroll() and timers.unenroll() methods will emit a runtime deprecation warning. [68783ae0b8]
  • Use of the tls.convertNPNProtocols() method will emit a runtime deprecation warning. Support for NPN has been removed from Node.js. [9204a0db6e]
  • The crypto.fips property has been deprecated in documentation. [6e7992e8b8]

Commits

Semver-major

  • [c9bb91af33] - (SEMVER-MAJOR) assert: remove errorDiff property (Ruben Bridgewater) #19467
  • [eb427caadd] - (SEMVER-MAJOR) assert: improve default error messages (Ruben Bridgewater) #19467
  • [1964978fb8] - (SEMVER-MAJOR) assert: detect faulty throws usage (Ruben Bridgewater) #19867
  • [[9743e756e2](https://github.com/nodejs/node/commit...
Read more

2018-04-05, Version 9.11.1 (Current), @MylesBorins

05 Apr 07:17
Compare
Choose a tag to compare

Notable Changes

No additional commits.

An infrastructure issue caused a non-functioning msi installer for x64 to be promoted.
The patch release is to ensure that all binaries and installers work as expected.

2018-04-04, Version 9.11.0 (Current), @MylesBorins prepared by @targos

05 Apr 07:17
11c8db4
Compare
Choose a tag to compare

Notable Changes

  • deps:
    • Updated ICU to 61.1 (Steven R. Loomis) #19621
      Includes CLDR 33 (many new languages and data improvements).
  • fs:
    • Emit 'ready' event for ReadStream and WriteStream (Sameer Srivastava) #19408
  • n-api:
    • Bump version of n-api supported (Michael Dawson) #19497
  • net:
    • Emit 'ready' event for Socket (Sameer Srivastava) #19408
  • Added new collaborators

Commits

Read more

2018-03-29, Version 9.10.1 (Current), @MylesBorins

30 Mar 03:45
Compare
Choose a tag to compare

Notable Changes

No additional commits.

Due to incorrect staging of the upgrade to the GCC 4.9.X compiler, the latest releases for PPC little
endian were built using GCC 4.9.X instead of GCC 4.8.X. This caused an ABI breakage on PPCLE based
environments. This has been fixed in our infrastructure and we are doing this release to ensure that
the hosted binaries are adhering to our platform support contract.

Note that Node.js versions 10.X and later will be built with version 4.9.X or later of the GCC compiler,
and it is possible that Node.js version 9.X may be built on the 4.9.X compiler at a later
time as the stated minimum compiler requirement
for Node.js version 9.X is 4.9.4.

2018-03-29, Version 8.11.1 'Carbon' (LTS), @MylesBorins

30 Mar 03:44
Compare
Choose a tag to compare

Notable Changes

No additional commits.

Due to incorrect staging of the upgrade to the GCC 4.9.X compiler, the latest releases for PPC little
endian were built using GCC 4.9.X instead of GCC 4.8.X. This caused an ABI breakage on PPCLE based
environments. This has been fixed in our infrastructure and we are doing this release to ensure that
the hosted binaries are adhering to our platform support contract.

Note that Node.js versions 10.X and later will be built with version 4.9.X or later of the GCC compiler,
and it is possible that Node.js version 8.X may be built on the 4.9.X compiler at a later
time as the stated minimum compiler requirement
for Node.js version 8.X is 4.9.4.

2018-03-29, Version 6.14.1 'Boron' (LTS), @MylesBorins

30 Mar 03:44
Compare
Choose a tag to compare

Notable Changes

No additional commits.

Due to incorrect staging of the upgrade to the GCC 4.9.X compiler, the latest releases for PPC little
endian were built using GCC 4.9.X instead of GCC 4.8.X. This caused an ABI breakage on PPCLE based
environments. This has been fixed in our infrastructure and we are doing this release to ensure that
the hosted binaries are adhering to our platform support contract.