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

Add stable/beta tags and adhere to semantic versioning #20

Closed
clue opened this issue Mar 17, 2013 · 6 comments
Closed

Add stable/beta tags and adhere to semantic versioning #20

clue opened this issue Mar 17, 2013 · 6 comments

Comments

@clue
Copy link
Member

clue commented Mar 17, 2013

It's about time to start adding stable/beta tags for others relying on this library and make sure we adhere to semantic versioning.

This is mostly an administrative task. We should think about which version we're starting at (IMHO the current state is somewhere near v0.5, but we're actually lacking any previous tags) and make sure to provide a changelog that includes breaks in backwards compatibility.

Possibly also consider tagging some older beta releases?

@clemens-tolboom
Copy link
Collaborator

I prefer a 3 digit system x.y.z which gives us the opportunity to do bug fix release on the current version while still work on the main branch 1.x

I guess we need to drop the UML class one day which should be done in 2.x branch (as I depend on it now)

The first version should start with a 1 to state we work on the first release. See ie https://github.com/symfony/Yaml

So first tag should be v1.0.0-beta.1 according to semver.org I guess.

@clue
Copy link
Member Author

clue commented May 3, 2013

I agree that strictly adhering to semver and using the above mentioned 3 digit system would indeed be preferable. However, I don't feel comfortable labeling it as v1.0.0 yet, because semver requires that its API should be stable and we must not introduce any backwards incompatible changes. Unfortunately, I don't think we're are at this stage yet.

So instead, I'm currently favoring a system that starts with a version number that more closeley resembles the current project state (around v0.5) and use the 0.Y.Z system to emphasize this libraries' current state. This is very similar to what others (like reactphp) use: the Y in 0.Y.Z is raised whenever a backwards incompatible change is introduced and its API has to to be changed. This will allow others to depend on this library by specifying version "0.6." as a requirement.

@clemens-tolboom
Copy link
Collaborator

I hope that 0.Y.Z is only for the 0.x.x version :)

I need a tag for http://drupal.org/project/graphapi :-)

Any tag will do but I hope not to loose UML output.

@clue
Copy link
Member Author

clue commented May 3, 2013

Yeah, we're of course aiming for a v1.0.0 at some point in time. It's just that I don't want to get your hopes up that this will happen any time soon :)

I'll update this ticket once I've tagged some versions, and of course there's also going to be a version with no backwards incompatible changes introduced (like removing components, etc.).

@clue
Copy link
Member Author

clue commented May 7, 2013

Alright, just added an (almost empty) changelog and pushed a v0.5.0 tag.

I guess this ticket can be closed now?

@clue clue closed this as completed May 7, 2013
@clemens-tolboom
Copy link
Collaborator

Thanks ... I'll use the tag shortly.

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

No branches or pull requests

2 participants