Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2020-04-21, Version 14.0.0 (Current) #32181

Merged
merged 1 commit into from
Apr 21, 2020
Merged

2020-04-21, Version 14.0.0 (Current) #32181

merged 1 commit into from
Apr 21, 2020

Conversation

BethGriggs
Copy link
Member

@BethGriggs BethGriggs commented Mar 10, 2020

2020-04-21, Version 14.0.0 (Current), @BethGriggs

Notable Changes

Deprecations

  • (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166
  • (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396
  • (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164
  • (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167
  • (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell) #31169
  • (SEMVER-MAJOR) src: remove deprecated wasm type check (Clemens Backes) #32116
  • (SEMVER-MAJOR) stream: move _writableState.buffer to EOL (James M Snell) #31165
  • (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) #32232
  • (SEMVER-MINOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499

Migrate to new V8 ArrayBuffer API

  • src: migrate to new V8 ArrayBuffer API (Thang Tran) #30782

It is possible that this change will impact some native addons using ArrayBuffer.

Toolchain and Compiler Upgrades

  • (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps) #32454
  • (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) #32812
  • (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) #32812
  • (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) #32812
  • (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) #31954

It is expected that there will be an ABI mismatch on ARM between the Node.js binary and native addons. Native addons are only broken if they
interact with std::shared_ptr. This is expected to be fixed in a later version of Node.js 14. - #30786

Update to V8 8.1

  • (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) #32116

Other Notable Changes:

  • cli, report: move --report-on-fatalerror to stable (Colin Ihrig) #32496
  • deps: upgrade to libuv 1.37.0 (Colin Ihrig) #32866
  • fs: add fs/promises alias module (Gus Caplan) #31553
  • module: remove experimental modules warning (Guy Bedford) #31974

@nodejs-github-bot nodejs-github-bot added the meta Issues and PRs related to the general management of the project. label Mar 10, 2020
@nodejs-github-bot
Copy link
Collaborator

@jasnell
Copy link
Member

jasnell commented Mar 10, 2020

What is the semver major cutoff date?

@BethGriggs
Copy link
Member Author

@jasnell, I think Tuesday 24th March would be appropriate (that's rounding the 1 month we've followed previously down to 4 weeks, which does mean it will fall on a weekday rather than weekend).

@jasnell
Copy link
Member

jasnell commented Mar 10, 2020

Ok! That's perfect I think

@ronag
Copy link
Member

ronag commented Mar 10, 2020

I would like to request that we try to land #29656 before the cutoff date if possible.

Though I can see there are already quite a lot of semver major stream stuff so I would understand if we push this another semver major.

@ronkorving
Copy link
Contributor

(SEMVER-MAJOR) deps: update V8 to 7.9.317.20 (Michaël Zasso)

Node 13 is already on 7.9.317.25-node.29 though?

@jasnell
Copy link
Member

jasnell commented Mar 11, 2020

So you know, I would love to get the QUIC PR landed before the cut off date. It would still be behind the --experimental-quic compile flag so would not be enabled by default in the distribution.

@BethGriggs
Copy link
Member Author

@ronag, our wording is:

One month or less before the release date, commits must be cherry-picked into the two branches. To land SEMVER-MAJOR at this time requires no objections from the TSC.

which gives us some flexibility :)

@ronkorving, thanks - that made it in there as the PR has the label semver-major but it has since been backported to v13.x. I will remove the entry in the next update - there are probably a couple of other PRs that need removing too.

@bricss
Copy link

bricss commented Mar 13, 2020

Please someone tell me that V8 8.1 will be pre-baked in it 🍰 🙄

BethGriggs added a commit that referenced this pull request Mar 17, 2020
Notable changes:

- TBD

PR-URL: #32181
@nodejs-github-bot
Copy link
Collaborator

@BethGriggs
Copy link
Member Author

@BethGriggs
Copy link
Member Author

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Mar 25, 2020

@gireeshpunathil
Copy link
Member

@BethGriggs :

Request to incorporate 2fa74e3 into this release

  • addresses the only known bug in report
  • helps stable usage in the field
  • not a semver-major

@BethGriggs
Copy link
Member Author

@gireeshpunathil, as 2fa74e3 is a minor it will most likely appear in a current release of v13.x first, so it will not be called out in the v14.x changelog. Each week for the next 2-3 weeks i'll be picking all the non-major commits that land on master into the v14.x branch, so this commit will be in the v14.x release line.

BethGriggs added a commit that referenced this pull request Mar 30, 2020
Notable changes:

- TBD

PR-URL: #32181
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Mar 30, 2020

@nodejs-github-bot
Copy link
Collaborator

@BethGriggs BethGriggs requested a review from a team April 21, 2020 08:26
Copy link
Member

@targos targos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can move all commits related to #32116 from the semver-major to the semver-patch section (and remove the (SEMVER-MAJOR) prefix) except "update V8 to 8.1.307.20"

BethGriggs added a commit that referenced this pull request Apr 21, 2020
Deprecations:

- (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL
  (James M Snell) [#31166](#31166)
- (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection
  (James M Snell) [#28396](#28396)
- (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL
  (James M Snell) [#31164](#31164)
- (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL
  (James M Snell) [#31167](#31167)
- (SEMVER-MAJOR) os: move tmpDir() to EOL
  (James M Snell)[#31169](#31169)
- (SEMVER-MAJOR) src: remove deprecated wasm type check
  (Clemens Backes) [#32116](#32116)
- (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL
  (James M Snell) [#31165](#31165)
- (SEMVER-MINOR) doc: deprecate process.mainModule
  (Antoine du HAMEL) [#32232](#32232)
- (SEMVER-MINOR) doc: deprecate process.umask() with no arguments
  (Colin Ihrig) [#32499](#32499)

ECMAScript Modules - Experimental Warning Removal:

- module: remove experimental modules warning
  (Guy Bedford) [#31974](#31974)

In Node.js 13 we removed the need to include the --experimental-modules
flag, but when running EcmaScript Modules in Node.js, this would still
result in a warning ExperimentalWarning: The ESM module loader is
experimental.

As of Node.js 14 there is no longer this warning when using ESM in
Node.js. However, the ESM implementation in Node.js remains
experimental. As per our stability index: “The feature is not subject
to Semantic Versioning rules. Non-backward compatible changes or
removal may occur in any future release.” Users should be cautious when
using the feature in production environments.

Please keep in mind that the implementation of ESM in Node.js differs
from the developer experience you might be familiar with. Most
transpilation workflows support features such as optional file
extensions or JSON modules that the Node.js ESM implementation does not
support. It is highly likely that modules from transpiled environments
will require a certain degree of refactoring to work in Node.js. It is
worth mentioning that many of our design decisions were made with two
primary goals. Spec compliance and Web Compatibility. It is our belief
that the current implementation offers a future proof model to
authoring ESM modules that paves the path to Universal JavaScript.
Please read more in our documentation.

The ESM implementation in Node.js is still experimental but we do believe
that we are getting very close to being able to call ESM in Node.js
“stable”. Removing the warning is a huge step in that direction.

Migrate to new V8 ArrayBuffer API:

- src: migrate to new V8 ArrayBuffer API (Thang Tran)
  [#30782](#30782)

It is possible that this change will impact some native addons using
`ArrayBuffer`.

Toolchain and Compiler Upgrades:

- (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x
  (AshCripps)[#32454](#32454)
- (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: remove SmartOS from official binaries
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) win: block running on EOL Windows versions
  (João Reis) [#31954](#31954)

It is expected that there will be an ABI mismatch on ARM between the
Node.js binary and native addons. Native addons are only broken if they
interact with `std::shared_ptr`. This is expected to be fixed in a
later version of Node.js 14.
- [#30786](#30786)

Update to V8 8.1:

- (SEMVER-MAJOR) deps: update V8 to 8.1.307.20
  (Matheus Marchini) [#32116](#32116)

Other Notable Changes:

- cli, report: move --report-on-fatalerror to stable
  (Colin Ihrig) [#32496](#32496)
- deps: upgrade to libuv 1.37.0
  (Colin Ihrig) [#32866](#32866)
- fs: add fs/promises alias module
  (Gus Caplan) [#31553](#31553)

PR-URL: #32181
@BethGriggs
Copy link
Member Author

You can move all commits related to #32116 from the semver-major to the semver-patch section (and remove the (SEMVER-MAJOR) prefix) except "update V8 to 8.1.307.20"

@targos, updated - thanks

@nodejs-github-bot
Copy link
Collaborator

@BethGriggs BethGriggs requested a review from richardlau April 21, 2020 10:14
doc/changelogs/CHANGELOG_ARCHIVE.md Outdated Show resolved Hide resolved
doc/changelogs/CHANGELOG_V14.md Outdated Show resolved Hide resolved
Deprecations:

- (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL
  (James M Snell) [#31166](#31166)
- (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection
  (James M Snell) [#28396](#28396)
- (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL
  (James M Snell) [#31164](#31164)
- (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL
  (James M Snell) [#31167](#31167)
- (SEMVER-MAJOR) os: move tmpDir() to EOL
  (James M Snell)[#31169](#31169)
- (SEMVER-MAJOR) src: remove deprecated wasm type check
  (Clemens Backes) [#32116](#32116)
- (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL
  (James M Snell) [#31165](#31165)
- (SEMVER-MINOR) doc: deprecate process.mainModule
  (Antoine du HAMEL) [#32232](#32232)
- (SEMVER-MINOR) doc: deprecate process.umask() with no arguments
  (Colin Ihrig) [#32499](#32499)

ECMAScript Modules - Experimental Warning Removal:

- module: remove experimental modules warning
  (Guy Bedford) [#31974](#31974)

In Node.js 13 we removed the need to include the --experimental-modules
flag, but when running EcmaScript Modules in Node.js, this would still
result in a warning ExperimentalWarning: The ESM module loader is
experimental.

As of Node.js 14 there is no longer this warning when using ESM in
Node.js. However, the ESM implementation in Node.js remains
experimental. As per our stability index: “The feature is not subject
to Semantic Versioning rules. Non-backward compatible changes or
removal may occur in any future release.” Users should be cautious when
using the feature in production environments.

Please keep in mind that the implementation of ESM in Node.js differs
from the developer experience you might be familiar with. Most
transpilation workflows support features such as optional file
extensions or JSON modules that the Node.js ESM implementation does not
support. It is highly likely that modules from transpiled environments
will require a certain degree of refactoring to work in Node.js. It is
worth mentioning that many of our design decisions were made with two
primary goals. Spec compliance and Web Compatibility. It is our belief
that the current implementation offers a future proof model to
authoring ESM modules that paves the path to Universal JavaScript.
Please read more in our documentation.

The ESM implementation in Node.js is still experimental but we do believe
that we are getting very close to being able to call ESM in Node.js
“stable”. Removing the warning is a huge step in that direction.

New V8 ArrayBuffer API:

* **src**: migrate to new V8 ArrayBuffer API
  (Thang Tran) [#30782](#30782)

Multiple ArrayBuffers pointing to the same base address are no longer
allowed by V8. This may impact native addons.

Toolchain and Compiler Upgrades:

- (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x
  (AshCripps)[#32454](#32454)
- (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: remove SmartOS from official binaries
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) win: block running on EOL Windows versions
  (João Reis) [#31954](#31954)

It is expected that there will be an ABI mismatch on ARM between the
Node.js binary and native addons. Native addons are only broken if they
interact with `std::shared_ptr`. This is expected to be fixed in a
later version of Node.js 14.
- [#30786](#30786)

Update to V8 8.1:

- (SEMVER-MAJOR) deps: update V8 to 8.1.307.20
  (Matheus Marchini) [#32116](#32116)

Other Notable Changes:

- cli, report: move --report-on-fatalerror to stable
  (Colin Ihrig) [#32496](#32496)
- deps: upgrade to libuv 1.37.0
  (Colin Ihrig) [#32866](#32866)
- fs: add fs/promises alias module
  (Gus Caplan) [#31553](#31553)

PR-URL: #32181
@BethGriggs
Copy link
Member Author

I'm kicking a release build off on 73aa216 now, so not looking to make any further documentation updates.

https://ci-release.nodejs.org/job/iojs+release/5921/

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

BethGriggs added a commit that referenced this pull request Apr 21, 2020
@BethGriggs BethGriggs merged commit 73aa216 into v14.x Apr 21, 2020
BethGriggs added a commit that referenced this pull request Apr 21, 2020
Deprecations:

- (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL
  (James M Snell) [#31166](#31166)
- (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection
  (James M Snell) [#28396](#28396)
- (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL
  (James M Snell) [#31164](#31164)
- (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL
  (James M Snell) [#31167](#31167)
- (SEMVER-MAJOR) os: move tmpDir() to EOL
  (James M Snell)[#31169](#31169)
- (SEMVER-MAJOR) src: remove deprecated wasm type check
  (Clemens Backes) [#32116](#32116)
- (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL
  (James M Snell) [#31165](#31165)
- (SEMVER-MINOR) doc: deprecate process.mainModule
  (Antoine du HAMEL) [#32232](#32232)
- (SEMVER-MINOR) doc: deprecate process.umask() with no arguments
  (Colin Ihrig) [#32499](#32499)

ECMAScript Modules - Experimental Warning Removal:

- module: remove experimental modules warning
  (Guy Bedford) [#31974](#31974)

In Node.js 13 we removed the need to include the --experimental-modules
flag, but when running EcmaScript Modules in Node.js, this would still
result in a warning ExperimentalWarning: The ESM module loader is
experimental.

As of Node.js 14 there is no longer this warning when using ESM in
Node.js. However, the ESM implementation in Node.js remains
experimental. As per our stability index: “The feature is not subject
to Semantic Versioning rules. Non-backward compatible changes or
removal may occur in any future release.” Users should be cautious when
using the feature in production environments.

Please keep in mind that the implementation of ESM in Node.js differs
from the developer experience you might be familiar with. Most
transpilation workflows support features such as optional file
extensions or JSON modules that the Node.js ESM implementation does not
support. It is highly likely that modules from transpiled environments
will require a certain degree of refactoring to work in Node.js. It is
worth mentioning that many of our design decisions were made with two
primary goals. Spec compliance and Web Compatibility. It is our belief
that the current implementation offers a future proof model to
authoring ESM modules that paves the path to Universal JavaScript.
Please read more in our documentation.

The ESM implementation in Node.js is still experimental but we do believe
that we are getting very close to being able to call ESM in Node.js
“stable”. Removing the warning is a huge step in that direction.

New V8 ArrayBuffer API:

* **src**: migrate to new V8 ArrayBuffer API
  (Thang Tran) [#30782](#30782)

Multiple ArrayBuffers pointing to the same base address are no longer
allowed by V8. This may impact native addons.

Toolchain and Compiler Upgrades:

- (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x
  (AshCripps)[#32454](#32454)
- (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: remove SmartOS from official binaries
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) win: block running on EOL Windows versions
  (João Reis) [#31954](#31954)

It is expected that there will be an ABI mismatch on ARM between the
Node.js binary and native addons. Native addons are only broken if they
interact with `std::shared_ptr`. This is expected to be fixed in a
later version of Node.js 14.
- [#30786](#30786)

Update to V8 8.1:

- (SEMVER-MAJOR) deps: update V8 to 8.1.307.20
  (Matheus Marchini) [#32116](#32116)

Other Notable Changes:

- cli, report: move --report-on-fatalerror to stable
  (Colin Ihrig) [#32496](#32496)
- deps: upgrade to libuv 1.37.0
  (Colin Ihrig) [#32866](#32866)
- fs: add fs/promises alias module
  (Gus Caplan) [#31553](#31553)

PR-URL: #32181
BethGriggs added a commit to BethGriggs/nodejs.org that referenced this pull request Apr 21, 2020
BethGriggs added a commit to nodejs/nodejs.org that referenced this pull request Apr 21, 2020
BethGriggs pushed a commit to nodejs/nodejs.org that referenced this pull request Apr 21, 2020
BethGriggs added a commit to BethGriggs/nodejs.org that referenced this pull request Apr 22, 2020
BethGriggs added a commit to nodejs/nodejs.org that referenced this pull request Apr 22, 2020
@BethGriggs BethGriggs deleted the v14.x-proposal branch April 29, 2020 18:45
@targos targos added release Issues and PRs related to Node.js releases. v14.x and removed meta Issues and PRs related to the general management of the project. labels Sep 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.