Page MenuHomePhabricator

Drop support for python 2.7.2 and 2.7.3
Closed, ResolvedPublic

Description

The official life cycle of python 2 exceed on 2020-01-01 but few days ago we found a bugs (T191113, T191161) in the re module of older python 2 and python 3 versions. The issue was solved in py2.7.4 and py3.4.0. After py2.6 and py3.3 has been dropped I propose to abandon support for py2.7.2 and py2.7.3 too.

If someone cannot upgrade to a newer version of python, the older pywikibot Releases are still available either via pypi package or the corresponding tag in our repository but one should be aware that These bugs detected may still lead to problems with regex.

Event Timeline

Not sure if that's related or would make sense, but maybe we should ask Toolforge to update their Python as well?

Not sure if that's related or would make sense, but maybe we should ask Toolforge to update their Python as well?

AFAIS, they are using trusty on Toolforge, which is shipped with 2.7.6 by default, so, Toolforge should be OK.

Dalba renamed this task from Drop suport for python 2.7.2 and 2.7.3 to Drop support for python 2.7.2 and 2.7.3.Apr 2 2018, 9:20 AM
Dalba updated the task description. (Show Details)

Change 423458 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] Deprecation warning; python 2.7.2 and 2.7.3 will be dropped

https://gerrit.wikimedia.org/r/423458

Change 423461 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] Deprecation warning; python 2.7.2 and 2.7.3 will be dropped

https://gerrit.wikimedia.org/r/423461

Change 423458 abandoned by Xqt:
[test] increase 2.7.2 test to 2.7.4 for 32 bit at appveyor

https://gerrit.wikimedia.org/r/423458

Change 423461 merged by jenkins-bot:
[pywikibot/core@master] Deprecation warning; python 2.7.2 and 2.7.3 will be dropped

https://gerrit.wikimedia.org/r/423461

Xqt triaged this task as Low priority.Apr 5 2018, 4:21 PM
Multichill changed the task status from Open to Stalled.Apr 12 2018, 8:35 PM
Multichill added a subscriber: Multichill.

As in T154771 , we should wait a while before actually dropping it. Somewhere in the range 9-12 months is reasonable. Putting the task on stalled in the meantime.

As in T154771 , we should wait a while before actually dropping it. Somewhere in the range 9-12 months is reasonable. Putting the task on stalled in the meantime.

This is not really an option because due to this bug in the regex mentioned above these two versions aren’t supportable anyway. But sure we haven’t to block executing scripts with these versions soon. But it should be clear they might not work properly and lead to unexpected results or in minor cases to a hanging script. Bug fixes are good reasons to update the bot with means the framework as well as the underlying environment. By the way older stable versions of pwb are marked with a tag and are still available from our repository as well as from pypi.

In Tech News? What?

Well, I just translated it into Spanish.

I think this as natural step, but that could be great if there is a link, internal or external resource to link to users, like me, that want to do the transition/rewrite of own script to Python 3.

@Liuxinyu970226 @Superzerocool I don't understand. There is no need to rewrite anything to Python 3 (although it is recommended for sure)?

We lately deprecated Python 2.6 and 3.3 and there was no mention in the Tech News. And now we just deprecate minor version and this is going to go to the Tech News? I don't get it

@Liuxinyu970226 @Superzerocool I don't understand. There is no need to rewrite anything to Python 3 (although it is recommended for sure)?

mmm... I didn't see the Pywikibot manual in the last year: I may omit any new manual or pages, but in the past (around Dec 2016) I remember some page still code in Python 2.7 -or it was remarked in the text-. About my "idea", is publish a banner -or announcement- about support deprecation of Python 2.7 in the next two years (if i don't misunderstand the main idea about Python2)

About Tech News, I'm a tech ambassador, and anyone can send a news. If in the past the deprecation of a major version wasn't covered, it was because the writers needs the source of information. I'm a volunteer, please, don't send rotten tomatoes ;)

Kindly

I didn't mean to be rude, I just was confused, why major version deprecations 14 days ago (py2.6 and 3.3) were not covered and this minor one was.

Surely we are planning to get rid of py2.7, but I think there is still a plenty of time until we really have to.

Main channels for Pywikibot news are Pywikibot mailing lists and we announce everything important there. We announced py2.6 and py 3.3 deprecations there and we plan to announce this minor deprecation and also py2.7 deprecation there.

@Superzerocool Maybe the Tech News should add a link to Pywikibot mailing lists for users looking more info about our announcements and news?

@Superzerocool Maybe the Tech News should add a link to Pywikibot mailing lists for users looking more info about our announcements and news?

AFAIK, anyone can send a news for the next issue (every week). The link about this deprecation is sending the readers to this page, and yes, it will cover every major change to pywikibot, but not all community is using it, and the bot contributor already know the breaking changes in pywikibot (due the maillist).

This announcement is informative to community, if any bot-owner isn't subscribed in the mail list, but in the future, we must send a new for any deprecation in Python major releases (ie, 3.4 or 2.7).

Anyway, the news is about to send today, and anyone who wants help or discuss it -the deprecation-, will landing in this page; this topic (Tech News) is for other bug/task here, to include the Tech News in the future for any breaking change or similar situation.

Change 445095 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] Drop Python 2.7.2/2.7.3 support

https://gerrit.wikimedia.org/r/445095

Change 462138 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] Use FutureWarning for warnings intended for end users

https://gerrit.wikimedia.org/r/462138

Change 462138 merged by jenkins-bot:
[pywikibot/core@master] Use FutureWarning for warnings intended for end users

https://gerrit.wikimedia.org/r/462138

Change 467720 had a related patch set uploaded (by Xqt; owner: Xqt):
[pywikibot/core@master] Withdraw Python 2.7.2/2.7.3 from appveyor test

https://gerrit.wikimedia.org/r/467720

Xqt changed the task status from Stalled to Open.Dec 3 2018, 9:44 PM

This release also shows a security warning:

urllib3\util\ssl_.py:160: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this.

The minimum Version is 2.7.9 to stop this error from occuring.

Change 445095 merged by jenkins-bot:
[pywikibot/core@master] Drop Python 2.7.2/2.7.3 support

https://gerrit.wikimedia.org/r/445095

Change 467720 abandoned by Xqt:
Withdraw Python 2.7.2/2.7.3 from appveyor test

Reason:
Included in https://gerrit.wikimedia.org/r/445095

https://gerrit.wikimedia.org/r/467720