Alxandr / SpotiFire

A project to make a SpotifyClient in C#
http://nudoc.azurewebsites.net/SpotiFire
40 stars 19 forks source link

Switch to semver #67

Open NeoLegends opened 8 years ago

NeoLegends commented 8 years ago

We should think about a switch to semantic versioning. It'll simplify the usage for other developers that depend on this library.

Alxandr commented 8 years ago

Technically, afaik, we already are.

NeoLegends commented 8 years ago

A semantic version is always made up of three components. Major (breaking changes).Minor (new features).Build (bugfixes).

We're only using Major.Minor atm (or the build tool is only using those two), and there have been cases where we've been incrementing the Minor version for bugfixes. :)

I read up on semver a while ago and I'm really starting to like it. It's extremely helpful for other developers using SpotiFire.

Alxandr commented 8 years ago

Right. I started SpotiFire too long ago xD. Yeah, I tend to use semantic versioning for everything as well. Though, I probably tend to increment the last version a bit too much, when I should have incremented the minor version. Anyways, add a 0 in front of the spotifire version and we're good (what is the last version anyhow)?

NeoLegends commented 8 years ago

We could also release a v2.0.0 to mark the start of semver.

What project type did you use on the csharp-branch btw?

Alxandr commented 8 years ago

Nah. I'm not doing anything with major > 0. Not until something is actually working with the new libspotify (or whatever it's called), which will probably be sometime this Christmas (or if ever -.-).

The current libspotify is deprecated.

NeoLegends commented 8 years ago

Problem is, if we were to switch to 0.something, we'd release a technically older version. This won't be comptible with NuGet. But we could switch when the new lib is there.

Alxandr commented 8 years ago

When we get to that point, we can unlist the old packages (at least). Cause of deprecation. Or we can go the route that I've used lately, which is 2.0.0-build.<build-number> on myget, and only actual releases on nuget.

NeoLegends commented 8 years ago

I guess switching when the new library arrives is easier. There won't be much development anymore anyway.