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]

Reply via email to