I propose to give up 1.23-1.26 MediaWiki support with Pywikibot 8 which perhaps comes at the end of this year, which also drops Python 3.5 due to T301908.
MW 1.23 is a LTS published 2014 but the life cycle ended in 2017 already. MW 1.24-1.26 had reached their life time in 2016-2017 too.
Advantages
- The main advantage is to support MediaWiki API formatversion 2 (T121334) which is recommended [1]. The new format came with MW 1.25 but is not stable with 1.26. With formatversion 2 there are useful changes [2]. The general theme is that the ApiResult arrays now have more metadata especially for Wikibase items and the new format makes this easier to handle.
- The following modules can be simplified if dropping old code [3]:
- api
- logentries
- pages
- revision
- apisite
- site generators
- siteinfo
- tokenwallet
- Tests are always difficult for old MW versions. Dropping old code improves the code health as well as the maintability
- Old code is still available with the given version tags. We also can provide an older release at https://pywikibot.toolforge.org like we do for python 2 support (maybe we can drop te later).
[1] https://www.mediawiki.org/wiki/API:Data_formats#JSON parameters
[2] https://www.mediawiki.org/wiki/API:JSON_version_2
[3] https://codesearch.wmcloud.org/pywikibot/?q=1%5C.2%5B3-7%5D&i=nope&files=&excludeFiles=&repos=