TravisWhitaker / libPOLY

A Musical Instrument for Computers
MIT License
13 stars 7 forks source link

Semantic Versioning #4

Open mansam opened 10 years ago

mansam commented 10 years ago

Yo, so you should put some proper semantic version numbers on this thing so that people can keep their bindings up to date.

TravisWhitaker commented 10 years ago

How about something like: (long-term slowly-incrementing 'stable' number) dot (API change) dot (transparent implementation change)

gambogi commented 10 years ago

...or 6.(major version: large overhaul).(minor version: api change).(patch version: implementation change)

Because there's no way this is ever going to be anything but libPOLY 6.x.x.x

mansam commented 10 years ago

@TravisWhitaker that's actually pretty close to what capital-S Semantic Versioning is, which I'd recommend you use. For review purposes:

Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

(SemVer also recommends keeping MAJOR at 0 during the initial flurry of development when nothing is stable, since otherwise it would be astronomically high by the time you were ready for what would have been a 1.0)

Naturally you can just prepend 6. to that whole thing and it still works.