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

semver - jump to 1.0.0 #341

Closed
kumavis opened this issue Oct 31, 2015 · 11 comments
Closed

semver - jump to 1.0.0 #341

kumavis opened this issue Oct 31, 2015 · 11 comments

Comments

@kumavis
Copy link
Contributor

kumavis commented Oct 31, 2015

Migration 0.13.0 -> 0.14.0

This is a breaking change. Should be bumped as a major version. Experiencing a lot of breakages because of semver's departure from its own semantics for the 0.y.z range.

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

This is the source of the confusion. I wouldn't worry about the notion of 'stable' here, changes to stability is what semver was built to handle. Without a non-zero major version, semver is counter-intuitive, and dangerous. Npm now makes all modules start at 1.0.0 by default to avoid this confusion. This project predates this new default. I strongly encourage the project to publish 1.0.0 or hell even 9.0.0.

further reading:
http://semver.org/
npm/node-semver#79
dominictarr/semver-ftw#2

@kumavis kumavis changed the title SemVer semver - breaking change requires major version increase Oct 31, 2015
@kumavis
Copy link
Contributor Author

kumavis commented Oct 31, 2015

As developers we tend to shy away from rolling over large version numbers, but that is actually the safest change to make. Dependency managers may auto upgrade minor and patch versions.
<Major.Minor.Patch> can also be read as <manual update . auto update . auto update>. Though counter-intuitive, if you are unsure about the effects of your change, its safest to push major versions. If you're publishing migration instructions, a major version bump is necessary.

😸 I am glad to see web3 progressing, but understand there is a whole ecosystem relying on it that are impacted when these conventions are not followed.

@kumavis kumavis changed the title semver - breaking change requires major version increase semver - jump to 1.0.0 Oct 31, 2015
@frozeman
Copy link
Contributor

I know semver. But i don't think web3 is yet an 1.0.0 and there might be even more breaking changes coming. Thats the price of early stage software. So for now see the minor as the major version increase :)

What was breaking for you?

@kumavis
Copy link
Contributor Author

kumavis commented Oct 31, 2015

the whole point of semver is managing breaking changes. so please continue to introduce breaking changes. and use semver to indicate them.

@kumavis
Copy link
Contributor Author

kumavis commented Oct 31, 2015

But i don't think web3 is yet an 1.0.0 and there might be even more breaking changes coming.

Unfortunately what your saying here is that you are going to
(1) introduce breaking changes without following the semantics for safely introducing breaking changes until (2) you no longer have any breaking changes

this does sound a little crazy right?

@kumavis
Copy link
Contributor Author

kumavis commented Oct 31, 2015

if 1.0.0 is too scary, just jump past it. 0.15.1 -> 15.1.0. Tadaaa!
This is more or less what Node.js did recently, 0.12.x -> 4.x.x

@Firescar96
Copy link

I know 1.0.0 has a heavy bit of weight attached, but http://semver.org/. Ignoring the spec is worse.

@frozeman
Copy link
Contributor

frozeman commented Nov 1, 2015

Ok, but which breaking changes did you encounter?

@coder5876
Copy link

@frozeman: A lot of functions in web3 are not found unless they are called from a specific instance of web3, i.e. you have to follow the "migration guide" in the README. Are you saying that things should work even without following the migration guide?

@kumavis
Copy link
Contributor Author

kumavis commented Nov 1, 2015

@frozeman some modules depending on web3 via npm (e.g. hooked-web3-provider) auto-upgraded to the latest minor version that exports the constructor, and broke.

@frozeman
Copy link
Contributor

frozeman commented Nov 2, 2015

You're right i forgot about that.

I agree, next version we will follow the semver standard

@kumavis
Copy link
Contributor Author

kumavis commented Nov 3, 2015

thanks!

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