Topic on Extension talk:Lingo

Version clarification

10
Summary by Bawolff

We'll aim to make sure new versions are properly tagged. MediaWiki version bumps may be only a minor version bump and not a major one.

Osnard (talkcontribs)

The description page currently states "3.1.2 (2023-01-06)". But apparently version 3.1.2 is from about 2021-06-21 [1]. Current version 3.2.0 seems to be from 2023-01-26 [2]. Neither 3.1.2 nor 3.2.0 are currently officially tagged [3][4].

Could you please apply the version tags to the repository?

Tosfos (talkcontribs)

We're checking on this.

Osnard (talkcontribs)

Thanks!

Also, please be aware that the extensions requirement to MediaWiki core got raised from 1.31 to 1.39 in a minor level release. While MediaWiki 1.31 clearly isn't supported anymore, 1.35 is a LTS release.

I believe such changes in the requirements qualify for a major release.

Tosfos (talkcontribs)

Thanks for the heads up. The extension had been unmaintained for a while and we took over maintenance recently, which is probably why you saw the big version jump.

Note that we don't follow semver. It still might make sense to bump a major version in this case, but my sense is that a major version bump would be done only for major feature changes.

Tosfos (talkcontribs)

We created the 3.2.0 tag. Please check.

Osnard (talkcontribs)

Confirmed. Thank you very much.

Regarding the major version change. Well, one can probably see it this way. And especially in the MediaWiki world it is super hard to maintain compatibility to the different versions out there (two LTS, one current stable).

In my point of view, if the code changes in a way that it breaks in environments that it likely has been running in (like MediaWiki LTS versions, PHP versions, ...) a major version bump should be done, even if the features themselves did not change.

Bawolff (talkcontribs)

So according to the SemVer spec, this should only be a minor or patch version change not a major one . My understanding of the logic behind that, is a major version change is supposed to signify that how you have to use the extension has changed in some significant way. If someone updates their version of php or MW, having the extension have only a minor version update signifies to users that they can just drop the new version in and expect no user facing changes, where a major version would indicate that they should be prepared to have to change how they use the extension.


On the other hand, lots of people do update major version number for these sorts of things, and versioning always ends up being arbitrary anyhow.

Osnard (talkcontribs)

You are probably right. But my case is very simple and I believe I may not be the only one this this case:

  1. I run MediaWiki 1.35, which is an LTS and officially supported until end of this year. Therefore even though I am late with updating to MediaWiki 1.39 it is still okay to run it.
  2. I am updating Extension:Lingo and expect to get new features (indicated by the minor level version bump)
  3. My wiki breaks. I either need to update my wiki as a whole or need to roll back Extension:Lingo. It is hard for me to figure out to which version I can safely update to within my environment.
Bawolff (talkcontribs)

Hmm, that's a good point.

The obvious solution is that composer should know about the mediawiki version dependency and make smart choices. The SemVer logic only works if composer is aware of all the extensions dependencies. Unfortunately support for that going forward is unclear - https://phabricator.wikimedia.org/T249573 [Edit: I don't like this solution either]

Bawolff (talkcontribs)

Hmm, i guess we could use conflicts key. That should avoid most of the downsides