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

Node.js 4 and 5 support dropped but no major version update? #407

Closed
BHare1985 opened this issue Jul 12, 2018 · 8 comments
Closed

Node.js 4 and 5 support dropped but no major version update? #407

BHare1985 opened this issue Jul 12, 2018 · 8 comments

Comments

@BHare1985
Copy link

I saw that 0.10.0 dropped Node.js 4 and 5 support ( 4d88e05 )

According to semver, this would be a breaking change (IMO) and should of warranted a major version update.

If you do decide to make previous versions node.js 4/5 friendly, then you have to consider that node-tar should be linked to version 4.4.0 (or even lower) because since node-pre-gyp 0.7.0 the package.json has had tar: ^4 but they have said that v4 and v5 hasnt been supported in years, which includes their version 4 releases.

The cause for this suggestion is the grief experienced from #406

@springmeyer
Copy link
Contributor

Sorry about the breakage. I tried hard to keep 0.10 working: #319 but it was a loosing battle given the decision at request/request#2772 to bring in deps that broken 0.10.x support without a major bump. Is it possible for you to downgrade to node-pre-gyp@0.6.37 if you still need v0.10.x support?

@BHare1985
Copy link
Author

Yes I can overcome this issue personally. I was just speaking on behalf of others who may not be so fortunate.

Also, I am not concerned about node v0.10.x support. I think any v0.x support is reasonable to drop at this point. I was referring to node-pre-gyp 0.10.0 dropped node v4.x and node v5.x.
The last node v4 change was in 2018-03-29 but stopped being maintained april 2018 ( https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V4.md )

@mapsam
Copy link
Member

mapsam commented Jul 24, 2018

@BHare1985 just a note about semver - major version 0 allows for breaking changes anywhere in the release cycle. source

Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

I'm not saying this is great, but technically semver allows for these types of changes to occur without a major bump. That said, at some point node-pre-gyp 1.x discussions should probably happen!

@nicolasnoble
Copy link
Contributor

Yeah, it's true that semver technically allows this, but many people in the nodejs world expect that a 0-major would like to identify breaking changes through a minor version bump.

Citation from https://docs.npmjs.com/misc/semver about caret dependencies:

Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple. In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for versions 0.X >=0.1.0, and no updates for versions 0.0.X.
Many authors treat a 0.x version as if the x were the major "breaking-change" indicator.
Caret ranges are ideal when an author may make breaking changes between 0.2.4 and 0.3.0 releases, which is a common practice. However, it presumes that there will not be breaking changes between 0.2.4 and 0.2.5. It allows for changes that are presumed to be additive (but non-breaking), according to commonly observed practices.

@mapsam
Copy link
Member

mapsam commented Jul 24, 2018

👍 @nicolasnoble exactly - which is why this went out in 0.10.0 minor release.

@nicolasnoble
Copy link
Contributor

Right, sorry, this was kind of badly written and aimed at replying to @BHare1985.

@BHare1985
Copy link
Author

Yes I forgot about the 0.X exceptions. There were numerous node modules that I contacted in regards to node-tar dropping v4 and v5 support. node-tar made the breaking change on their end within version 4 major. Many other node modules have their versioning at > 0.X yet reference 0.X modules so it's frustrating.

I am making the switch to node v6 and hopefully going to take advantage of package-lock to avoid issues in the future.

I believe based on the semver definition that node-pre-gyp is justified in making a breaking change within their 0.x version and will close this issue

@mapsam
Copy link
Member

mapsam commented Jul 24, 2018

Right on @BHare1985 - I feel you on the upgrade pain. Good luck on the switch!

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

No branches or pull requests

4 participants