Xqt added a comment.
In T281202#7130863 <https://phabricator.wikimedia.org/T281202#7130863>, @atagar wrote: > I amended our deprecation policy <https://www.mediawiki.org/wiki/Manual:Pywikibot/Development/Guidelines#Deprecation_Policy> in the following ways... > > 1. Copy the description of semantic versioning I wrote for Tor. We now explain what version numbers convey in terms of backward compatibility. > 2. Drop the description of DeprecationWarnings vs FutureWarnings. > 3. Drop the "Deprecations might be expedited when necessary" clause. If we break backward compatibility we should bump our major version number. > 4. State that prior to version 6.3.1 we did not use any particular versioning scheme since we haven't been following semantic versioning's policy for code removal. > > Xqt, would you mind taking a look? To be very clear if we adopt this policy we should do the following... > > 1. **All deprecated code will be removed upon Pywikibot 7.0.0.** > 2. **No deprecated code will be removed until then.** This includes code deprecated all the way back in 3.1. The curent rule was to increase the major version number if the Python code base wasn't supported (e.g. dropping 2.7) or a supported MediaWiki release has been dropped (see https://www.mediawiki.org/wiki/Manual:Pywikibot/Compatibility). Incompatible code changes has to be announced first with FutureWarning. This is the same as Python deprecates some functions. But I am also fine with your proposal and it might be better to have one big change with 7.0 than douzands every month. I explicitly aggree with your points above. But what about deprendencies? Does it need to increase the major release too? With 6.4.0 setuptools 49.4.0 is required due to version parsing and added in the setup.py/requrements.txt which can be updated easily. With 6.4,0 also extract_templates_and_params_mwpfh and extract_templates_and_params_regex are removed. These both are functions which are dispatched and should never be used directly. I don't want to revert those changes in the current code. With 6.0 all deprecations are now FutureWarnings including argument deprecations of functions and methods. The earliest date for 7.0 is after 6.5. Probably 7.0 comes in September. I do not want to increase the major release every month. What would be a good frequent? Quarterly, yearly? In meantime we still need the FutureWarnings and if we have major release changes less than quarterly, a DeprecationWarning is appropriate again. Can we increase the update_script.py script to show the problems? TASK DETAIL https://phabricator.wikimedia.org/T281202 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: atagar, Xqt Cc: JJMC89, Xqt, Aklapper, pywikibot-bugs-list, atagar, Jyoo1011, JohnsonLee01, SHEKH, Dijkstra, Khutuck, Zkhalido, Viztor, Wenyi, Tbscho, MayS, Mdupont, Dvorapa, Altostratus, Avicennasis, mys_721tx, jayvdb, Masti, Alchimista
_______________________________________________ pywikibot-bugs mailing list -- [email protected] To unsubscribe send an email to [email protected]
