Page MenuHomePhabricator

Figure out a sane, semantic versioning method for Refreshed
Closed, ResolvedPublic

Description

Any ideas for rules on semantic versioning? A great project I know on GitHub, maintained by Alrra, is great at keeping up with this and even explained his system (which I quite like, thoughts on it?). Here it is below:

Source: https://github.com/alrra/browser-logos/issues/76 (2nd comment)

MAJOR version when you make incompatible API changes

Major versions are released every time a path is broken (e.g.: a directory is renamed or moved into archive/ without having a replacement). This is done because I consider that to be a breaking change in the "API" as people who depend on that path will no longer have it.
For example, v22.0.0 was released because archive/opera-mini-beta/ was renamed to archive/opera-mini-beta_1/ as another version of the Opera Mini Beta logo was moved into archive/, and there was a need to distinguish them.

MINOR version when you add functionality in a backwards-compatible manner

Minor versions are released mainly when the SVG version of a logo and/or a new logo is added.

PATCH version when you make backwards-compatible bug fixes

Patch versions are released when typos or links are fixed, images are further losslessly optimized, a better version of a logo is added by just replacing the existing images, etc..
I hope this helps!

RFC @MtMNC @ashley

Event Timeline

Turns out this semantic versioning method is just a simplified version of http://semver.org/, good read :)

Sorry, I read this a while ago but I guess I never responded. Sounds good.

Edit: I think if we do implement this system we should consider the fact that certain changes would only be breaking for Brickimedia wikis. For example, deleting the Brickimedia logos from the skin files would not affect other installations. To reduce confusion I think major versioning should reflect changes that would break all installations. (Besides, Brickimedia always uses the latest version of Refreshed so strict versioning would mostly help offsite installations anyway.)

MtMNC claimed this task.

Since a major (breaking) release just came out, it's a good time to commit to a convention. Refreshed 4 is now free of Brickimedia-specific logos, etc. so my concern raised above is no longer relevant. Since nobody else has chimed in in over 3 years, let's stick with the convention proposed by @SamanthaNguyen and close this.