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

docs: move to the new LTS accross all projects #350

Merged
merged 3 commits into from
Oct 31, 2018
Merged

Conversation

daviddias
Copy link
Member

No description provided.

@ghost ghost assigned daviddias Oct 31, 2018
@ghost ghost added the status/in-progress In progress label Oct 31, 2018
@daviddias
Copy link
Member Author

This will enable us to do things such as libp2p/js-libp2p-crypto#130

@@ -132,9 +132,14 @@ Always run tests before pushing and PR'ing your code.

#### Supported Versions

IPFS projects support both the Current and Active LTS versions of Node.js. Please see [nodejs.org](https://nodejs.org/) for what these currently are.
The IPFS JavaScript projects follow the LTS of Node.js and respective npm version that gets installed with Node.js. Please consult [nodejs.org](https://nodejs.org/) for LTS timeline. Today these are:
Copy link
Member

Choose a reason for hiding this comment

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

I don't find this clear enough. What is "LTS of Node.js"? Reading the linked issue I think you mean "only the most recent active LTS of Node.js"?

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point, I've updated it now :)


Browser code may be transpiled using Babel to take advantage of the latest JavaScript features.
```
» node -v
Copy link
Member

Choose a reason for hiding this comment

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

Perhpas doing a date -u +"%Y-%m-%dT%H:%M:%SZ" first, so that it is clear what "today" means?

Copy link
Member Author

Choose a reason for hiding this comment

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

done

@daviddias
Copy link
Member Author

@vmx applied your review

@daviddias
Copy link
Member Author

@victorbjelkholm once this is merged, can you help this effort by creating the automated PRs that update the package.json and the badges to reference the new base supported versions?

@vmx
Copy link
Member

vmx commented Oct 31, 2018

@diasdavid Just to double check This change is about dropping Node 8.x support, right? Perhaps you can mention that when you squash merge the commits. We are not really moving to a new LTS, we are just dropping an older one.

@daviddias
Copy link
Member Author

That's a fair way to describe it. I would say that we are moving to a new baseline, which is the new LTS

Copy link
Member

@vasco-santos vasco-santos left a comment

Choose a reason for hiding this comment

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

Sweet! 🎉

» date -u +"%Y-%m-%dT%H:%M:%SZ"
2018-10-31T09:06:36Z
» node -v
v10.13.0
Copy link
Member

Choose a reason for hiding this comment

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

Are we going to have to update this with every LTS point release? The idea behind saying 'Look at the node website for what the current LTS is' was to reduce the amount of busywork we have to do.

Copy link

@jacobheun jacobheun Oct 31, 2018

Choose a reason for hiding this comment

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

I agree, we should not list the version here, it's easy to look up.

@jacobheun
Copy link

I don't think it's a good idea to drop support for an Active LTS version (node 8). We should stop actively supporting it when it goes into maintenance. As users start integrating the projects more and more into production applications, losing that level of support is going to be very detrimental to their projects.

@@ -132,9 +132,16 @@ Always run tests before pushing and PR'ing your code.

#### Supported Versions

IPFS projects support both the Current and Active LTS versions of Node.js. Please see [nodejs.org](https://nodejs.org/) for what these currently are.
The IPFS JavaScript projects follow the most recent LTS of Node.js and respective npm version that gets installed with Node.js. Please consult [nodejs.org](https://nodejs.org/) for LTS timeline. Today these are:
Copy link
Member

Choose a reason for hiding this comment

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

"work with"/"run on" instead of "follow"?

@alanshaw
Copy link
Member

I don't think it's a good idea to drop support for an Active LTS version (node 8)

As a project(s) that's deemed to be alpha/experimental/unstable I think it's reasonable to switch to the new LTS. It'll save us a bunch of admin supporting both, allow us to take advantage of the new APIs and FWIW I don't think that the environments IPFS/libp2p supports need necessarily be tied to the same timelines that Node.js gives to it's releases.

@daviddias
Copy link
Member Author

I'm in support of @alanshaw point. It is a tough decision and one that we should not make lightly or repeatedly but for this moment in time, it will provide a feature and speed boost that will benefit the project which will then benefit the users.

@daviddias
Copy link
Member Author

4 (including me) out of 7 have approved this PR, I believe we have a quorum :)

@daviddias daviddias merged commit 036e650 into master Oct 31, 2018
@daviddias daviddias deleted the new-node-lts branch October 31, 2018 14:59
@ghost ghost removed the status/in-progress In progress label Oct 31, 2018
@jacobheun
Copy link

I agree it will save a lot of time up front, and we'll be able to remove testing on node8 from jenkins which will save a lot of bandwidth.

I would recommend we set some review milestones to revisit this in the IPFS roadmap to v1.0 as that gets closer to happening. Reducing upgrade cycles for projects from 18 months to 12 months is pretty brutal for large applications, or applications with limited teams. That's potentially a pretty significant maintenance cost for them, especially if we're using new features in the latest LTS versions.

@mcollina
Copy link

I would sincerely recommend against this approach. Not only Node 8 is still Active LTS, but it will be supported for more than one year. See https://github.com/nodejs/Release#release-schedule for more details.

I would also remember that dropping support for a Node.js release line is typically a semver-major change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants