Page MenuHomePhabricator

How to release an backwards incompatible version of an extension
Closed, InvalidPublic

Description

2 years ago i sort of took over the maintainance of https://www.mediawiki.org/wiki/Extension:PDFEmbed by creating a github repository https://github.com/WolfgangFahl/PDFEmbed to
fix some problems of this extension.

2 days ago the pull request https://github.com/WolfgangFahl/PDFEmbed/pull/10 was submitted which only works with Version 1.38 of Mediawiki but is not backwards compatible.

I would love to accept the pull request but i am afraid that the docker farm created by my tool https://wiki.bitplan.com/index.php/Pymediawikidocker / https://github.com/WolfgangFahl/pymediawikidocker will break.

pymediawikidocker has a command line tool mwcluster which creates docker compose files for multiple mediawiki versions with automatic installation scripts so that the resulting docker containers are ready for testing.

As of version mwcluster v0.1.13 (2022-07-02) the default mediawiki versions for which docker images are created are: '1.27.7', '1.31.16', '1.35.7', '1.37.3','1.38.2'

Officially PDFEmbed supports the first three versions 1.27.7, 1.31.16 and 1.35.7.

PDFEmbed is listed in https://github.com/WolfgangFahl/pymediawikidocker/blob/main/mwdocker/resources/extensions.json

The difference to other extensions is that the github repository used is not one provided by mediawiki and therefore i fear that the handling is not compatible - if i remember right tags are used for selecting the correct version by pymediawikidocker and there is some schema for tags that is being used in the official mediawiki github repositories.

My question would be how to proceed from here?

Which steps will lead to a situation where the backwards-incompatbility of the pull request will be handled in a proper way?

Event Timeline

Hi @WolfgangFahl. This does not sound like something to fix in a dedicated code base but like a general discussion question. As Wikimedia Phabricator is for bug reports, enhancement requests, and planning work, please check https://www.mediawiki.org/wiki/Communication for where to bring up such discussions and questions. Thanks for your understanding!

If I understand correctly (and I'm really not sure if I do), this is https://www.mediawiki.org/wiki/Manual:Extension.json/Schema#requires which supports wildcard version ranges. I'd probably bring up such questions on https://lists.wikimedia.org/postorius/lists/wikitech-l.lists.wikimedia.org/

Couldn't i open a project for the extension or might there already be one?

Couldn't i open a project for the extension or might there already be one?

Hi, not sure I understand. If you'd like to have a project tag in Phabricator for managing tasks, see https://www.mediawiki.org/wiki/Phabricator/Creating_and_renaming_projects . However, there is already https://github.com/WolfgangFahl/PDFEmbed/issues for managing tasks?

I'd just love to make the project more linked to the Wikimedia world and I feel a bit remote with what I am currently doing.

Hi, you are very welcome to use Wikimedia Phabricator for issue tracking, and/or Wikimedia Gerrit or Wikimedia GitLab for code review in case you want to move off Github.

I don't have permissions to create projects in Phabricator. I'd love to take over the original project of PDFEmbed or create a new one for it and I'l love to create an new general RESTFul extension that has no name yet. How would i start those two projects?

Anyone can request projects, see https://www.mediawiki.org/wiki/Phabricator/Creating_and_renaming_projects (linked from the Phabricator front page).