I'll let others voice their opinions but my intuition for 3.8.x is to leave your patch be. True, it should not have been backported but it was, and it was already released as part of 3.8.1 and now 3.8.2rc1.
The user will have to special-case the change in behavior anyway. I feel like it is easier for them to do so by only special-casing "sys.version_info < (3, 8, 1)". The alternative if you revert your patch will be to special case both "sys.version_info < (3, 9)" and "sys.version_info == (3, 8, 1)" (let alone 3.8.2rc1). That is worse I think. So, the only thing to do is to clearly document that there was a change, not in 3.9 but in 3.8.1 and forward. Agreed that it's a bit of a mess for 3.7 since that was way later in the release cadence with only 3.7.6 getting the change. I will let Ned decide here. - Ł > On 10 Feb 2020, at 15:27, Senthil Kumaran <[email protected]> wrote: > > Hello Python-Committers, > > In https://bugs.python.org/issue27657 <https://bugs.python.org/issue27657>, I > introduced a regression in a minor release. > The original patch to parsing logic of URL, cleaned up a lot of corner cases > (https://github.com/python/cpython/pull/661 > <https://github.com/python/cpython/pull/661>) and I felt good about the > change. > However, the mistake was with the backport. > > Demo: > > $ ./python > Python 3.8.0 (default, Feb 10 2020, 06:15:43) > [GCC 9.2.1 20191008] on linux > Type "help", "copyright", "credits" or "license" for more information. > >>> from urllib.parse import urlparse > >>> urlparse('localhost:8080') > ParseResult(scheme='', netloc='', path='localhost:8080', params='', query='', > fragment='') > > ---- > > $ ./python > Python 3.8.1+ (heads/3.8:b086ea5edc, Feb 10 2020, 06:15:44) > [GCC 9.2.1 20191008] on linux > Type "help", "copyright", "credits" or "license" for more information. > >>> from urllib.parse import urlparse > >>> urlparse('localhost:8080') > ParseResult(scheme='localhost', netloc='', path='8080', params='', query='', > fragment='') > > --- > > When I read an associated bug report against a user of the software (like > this: https://github.com/mozilla/bleach/issues/503 > <https://github.com/mozilla/bleach/issues/503>) - I feel that this was a > mistake. > The change of test-suite in minor versions should have alerted me, but I seem > to have missed it. > > I am planning to revert this change in 3.8.2 and 3.7.7 > Should I highlight this in any documentation? Thoughts and opinions? > > Thank you, > Senthil > > > _______________________________________________ > python-committers mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-committers.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/2ONL562L35S77FGCLYH2ZDWVAXHH2BZP/ > Code of Conduct: https://www.python.org/psf/codeofconduct/
_______________________________________________ python-committers mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-committers.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/AEXBKUEPJP7ZHAXYDZNVIUB5G2MOHFDS/ Code of Conduct: https://www.python.org/psf/codeofconduct/
