Last modified: 2014-05-15 13:21:25 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T67289, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 65289 - Use semantic versioning scheme for WMF (all) releases
Use semantic versioning scheme for WMF (all) releases
Status: NEW
Product: MediaWiki
Classification: Unclassified
General/Unknown (Other open bugs)
unspecified
All All
: Low enhancement with 2 votes (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on: 65306
Blocks:
  Show dependency treegraph
 
Reported: 2014-05-14 11:35 UTC by Jamie Thingelstad
Modified: 2014-05-15 13:21 UTC (History)
7 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Jamie Thingelstad 2014-05-14 11:35:21 UTC
MediaWiki releases already support a very sane version scheme following a standard <major>.<minor>.<patch>. I would like to propose that something like the documented semantic versioning scheme be adopted for the other versions as well.

http://semver.org

I've already discussed with Mark Hershberger (hexmode) regarding release candidates and he is planning on doing this. So, "1.23.0rc1" becomes "1.23.0-rc.1". It would be great if WMF releases could follow a similar structure. So, "1.24.0wmf5" becomes "1.24.0-wmf.5".

Why care? Mainly by doing this we can more easily understand what the version is. Also, following a standard allows easier programmatic work. For example, there is a semantic version python package that will parse these easily and cleanly.

https://pypi.python.org/pypi/semantic_version/2.3.0

Iā€™m adopting this module for reading versions on WikiApiary for everything (Mediawiki and extensions). Making the metadata of the release easier to understand will make it easier to write queries like "How many 1.23 releases are running a release candidate?"

Can this be done with no change to current versioning? Yes. But I think it would be nice to set a standard around semantic versions that others could follow.

Note that the Semantic Versioning convention allows a build field as well prefixed with +. The Siteinfo/General API method already reveals the Git version number, but the truncated hash could be used there if desired. I note that there are at times multiple git commits associated with one WMF version number. (e.g., https://wikiapiary.com/w/index.php?title=MediaWiki.org/General&diff=next&oldid=902490) 

Related:

* Semantic MediaWiki has adopted this going forward. https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/109
* This was mentioned briefly in bug 61025.
Comment 1 [[kgh]] 2014-05-14 12:05:09 UTC
I believe this bug has already been resolved in part. When looking at the tags for core [1] we already have a 1.23.0-rc.1 which is nice. At this point I am not sure about the alpha tagging for WMF tough.

[1] https://git.wikimedia.org/tags/mediawiki%2Fcore.git
Comment 2 Andre Klapper 2014-05-14 12:34:54 UTC
Wondering whether to move this to "Wikimedia > Deployment Systems" first...

Greg?
Comment 3 Greg Grossmeier 2014-05-14 20:14:20 UTC
This would be surprisingly disruptive in our deployment tooling.
Comment 4 Antoine "hashar" Musso (WMF) 2014-05-14 20:20:45 UTC
Relative python awesomeness: there is a python module that support the semantic versioning spec.

Pypi: https://pypi.python.org/pypi/semantic_version/
Doc: http://pythonhosted.org/semantic_version/


That being said, I would prefer a RFC to be filled about usage of Semantic Versioning and have it advertised on wikitech-l / mediawiki-l lists. Not to bikeshed, but to make sure the community is aware of the changes and have an opportunity to cast its voice.
Comment 5 Jeroen De Dauw 2014-05-15 01:31:28 UTC
I remember that dropping the "1." prefix from the version number was discussed some years ago on wikitech, and that at least that that point people where generally against it.

For Wikidata, we have switched all our components over to follow semver.
Comment 6 Mark A. Hershberger 2014-05-15 13:13:15 UTC
(In reply to Antoine "hashar" Musso from comment #4)
> That being said, I would prefer a RFC to be filled about usage of Semantic
> Versioning and have it advertised on wikitech-l / mediawiki-l lists. Not to
> bikeshed, but to make sure the community is aware of the changes and have an
> opportunity to cast its voice.

As far as I can tell, this would only affect RC releases.  That seems like it is ripe for bikeshedding.
Comment 7 Mark A. Hershberger 2014-05-15 13:21:25 UTC
(In reply to Mark A. Hershberger from comment #6)
> As far as I can tell, this would only affect RC releases.  That seems like
> it is ripe for bikeshedding.

Note that I was only talking about tarball releases, not WMF's versioning.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links