classification
Title: Drop support of Windows Vista in Python 3.8
Type: Stage: patch review
Components: Windows Versions: Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: ZackerySpytz, eryksun, izbyshev, lukasz.langa, paul.moore, steve.dower, terry.reedy, tim.golden, vstinner, zach.ware
Priority: normal Keywords: patch

Created on 2018-01-18 09:37 by vstinner, last changed 2019-05-10 17:25 by ned.deily.

Pull Requests
URL Status Linked Edit
PR 5231 closed vstinner, 2018-01-18 09:38
PR 11457 closed vstinner, 2019-01-07 14:59
PR 11457 closed vstinner, 2019-01-07 14:59
PR 11457 closed vstinner, 2019-01-07 14:59
Messages (17)
msg310227 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-18 09:37
https://docs.python.org/dev/using/windows.html#supported-versions

"As specified in PEP 11, a Python release only supports a Windows platform while Microsoft considers the platform under extended support. This means that Python 3.7 supports Windows Vista and newer. If you require Windows XP support then please install Python 3.4."

But Windows Vista extended supported already ended last year, in April 2017.

Attached PR removes code to support Windows Vista.
msg310233 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2018-01-18 11:01
The only changes necessary in the installer should be in PythonBootstrapperApplication.cpp to make it an error when run on pre-Win7 OS. The pattern is already there, and the string references are in Tools/msi/bundle/Default.wxl

If you don't get to it, reassign the bug to me once you've merged the first part and I'll look at the installer.
msg310234 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-18 11:02
> If you don't get to it, reassign the bug to me once you've merged the first part and I'll look at the installer.

I like that :-) Will me. Right now, my PR doesn't compile, I broke something and I don't understand the error.
msg310296 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-01-19 22:26
I believe that PEP 11 originally said, or should have said "3.6 supports Windows Vista and newer."  I believe 3.5 supports XP, so it should be "please install Python 3.5".
msg310297 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2018-01-19 22:29
3.4 was the last version to support XP.
msg310303 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-19 23:50
Terry: see my notes about platforms suported by Python.
http://vstinner.readthedocs.io/cpython.html#supported-platforms

The PEP 11 doesn't want to have an explicit list of supported Windows versions, but I'm unable to *guess* which Windows version is supported by which Python version, so I wrote my own doc...
msg310308 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-01-20 00:45
I personally think it was a mistake to stop being explicit about Windows support in PEP 11.  The rationale was to avoid having to update it.  But it is updated for other systems; an explicit list is needed somewhere (as illustrated by my memory lapse; and PEP 11 is the most obvious and discoverable place.
msg318103 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-05-29 21:50
I failed to fix failures on my PR. It's now too late for Python 3.7.

If someone is interested to drop Vista support from Python 3.8, I suggest to open a new issue instead.
msg333160 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-01-07 14:57
Hello 2018, I reopen the issue and change the version to Python 3.8.
msg333161 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-01-07 15:01
> I failed to fix failures on my PR. It's now too late for Python 3.7.

I will try to redo PR 5231 in small chunks to better control the risk. I extracted os.cpu_count() changed as a new PR: PR 11457.

I already updated time.monotonic() documentation in a previous change:

commit 3ab064e80a9be1e6e9c62437fffb92bde9c5e1fb
Author: Victor Stinner <vstinner@redhat.com>
Date:   Mon Dec 17 12:12:34 2018 +0100

    bpo-23451: Update time.monotonic() documentation (GH-11190)
    
    bpo-23451, bpo-22117: Python 3.5 requires Windows Vista or newer,
    time.monotonic() is now always system-wide.
msg333186 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2019-01-07 20:33
AFAIK, it was specifically Martin Loewis who did not want a specific list in PEP 11.  Since he is long inactive, I think you and Steve should feel free to change that.
msg333187 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2019-01-07 22:46
I'd rather leave it specified as it is in PEP 11, though perhaps specifying it explicitly in the release schedule PEPs would be helpful? Up to release managers.
msg341393 - (view) Author: Zackery Spytz (ZackerySpytz) * (Python triager) Date: 2019-05-04 17:12
See also #29075.
msg341534 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-05-06 15:34
I marked bpo-29075 as duplicate of this issue.

IMHO it's too late to remove code from Python 3.8. We are too close from the feature freeze: removing Vista code is a risk of introducing subtle issue. I prefer to now wait for Python 3.9. It's not like the "dead code" is causing any major issue. Or does someone see a good reason to remove Vista support *right now*?
msg341535 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-05-06 15:35
Before Vista, the code page 65001 behaved differently than official UTF-8 codec. Vista changed that. Maybe it's time to remove Lib/encodings/cp65001.py and make it an alias to utf_8 codec: see https://bugs.python.org/issue36778#msg341531
msg341612 - (view) Author: Eryk Sun (eryksun) * (Python triager) Date: 2019-05-06 19:18
> Maybe it's time to remove Lib/encodings/cp65001.py and make it an 
> alias to utf_8 codec

Note that Unicode console support already assumes they're equivalent. For stdin, we read UTF-16LE via ReadConsoleW and encode bytes to the UTF-8 BufferedReader via WideCharToMultiByte with CP_UTF8 (65001). For stdout/stderr, we decode bytes from the UTF-8 BufferedWriter via MultiByteToWideChar with CP_UTF8 and write UTF-16LE via WriteConsoleW.
msg342041 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-05-10 02:11
> Before Vista, the code page 65001 behaved differently than official UTF-8 codec. Vista changed that. Maybe it's time to remove Lib/encodings/cp65001.py and make it an alias to utf_8 codec: see https://bugs.python.org/issue36778#msg341531

FYI it's exactly what I did:

New changeset d267ac20c309e37d85a986b4417aa8ab4d05dabc by Victor Stinner in branch 'master':
bpo-36778: cp65001 encoding becomes an alias to utf_8 (GH-13230)
https://github.com/python/cpython/commit/d267ac20c309e37d85a986b4417aa8ab4d05dabc
History
Date User Action Args
2019-05-10 17:25:51ned.deilysetnosy: + lukasz.langa
2019-05-10 02:11:35vstinnersetmessages: + msg342041
2019-05-06 19:18:53eryksunsetnosy: + eryksun
messages: + msg341612
2019-05-06 15:35:22vstinnersetmessages: + msg341535
2019-05-06 15:34:16vstinnersetmessages: + msg341534
2019-05-06 15:32:47vstinnerlinkissue29075 superseder
2019-05-04 20:55:22terry.reedysettitle: Drop support of Windows Vista in Python 3.7 -> Drop support of Windows Vista in Python 3.8
2019-05-04 17:12:30ZackerySpytzsetnosy: + ZackerySpytz
messages: + msg341393
2019-01-24 00:06:12cheryl.sabellalinkissue33166 dependencies
2019-01-07 22:46:25steve.dowersetmessages: + msg333187
2019-01-07 20:33:44terry.reedysetmessages: + msg333186
2019-01-07 15:01:31vstinnersetmessages: + msg333161
2019-01-07 15:00:07vstinnersetstage: resolved -> patch review
pull_requests: + pull_request10929
2019-01-07 14:59:58vstinnersetstage: resolved -> resolved
pull_requests: + pull_request10928
2019-01-07 14:59:46vstinnersetstage: resolved -> resolved
pull_requests: + pull_request10927
2019-01-07 14:57:44vstinnersetstatus: closed -> open
resolution: out of date ->
messages: + msg333160

versions: + Python 3.8, - Python 3.7
2018-05-29 21:50:12vstinnersetstatus: open -> closed
resolution: out of date
messages: + msg318103

stage: patch review -> resolved
2018-03-08 17:45:23izbyshevsetnosy: + izbyshev
2018-01-20 00:45:54terry.reedysetmessages: + msg310308
2018-01-19 23:50:30vstinnersetmessages: + msg310303
2018-01-19 22:29:19zach.waresetmessages: + msg310297
2018-01-19 22:26:28terry.reedysetmessages: + msg310296
2018-01-19 22:26:15terry.reedysetmessages: - msg310295
2018-01-19 22:25:49terry.reedysetnosy: + terry.reedy
messages: + msg310295
2018-01-18 11:02:12vstinnersetmessages: + msg310234
2018-01-18 11:01:27steve.dowersetmessages: + msg310233
2018-01-18 09:38:45vstinnersetkeywords: + patch
stage: patch review
pull_requests: + pull_request5078
2018-01-18 09:37:18vstinnercreate