On Tue, Sep 25, 2018 at 2:38 PM Serhiy Storchaka <storchaka@gmail.com> wrote:
25.09.18 22:40, Barry Warsaw пише:
> On Sep 25, 2018, at 15:31, Antoine Pitrou <antoine@python.org> wrote:
>> So my preference would be on 3.10.
> 3.9 + 0.1 :)
>
> Renaming it to Python 4 is fraught with knock-on effects, so I think we do reserve that for major changes.  I doubt we’ll ever need for a disruptive backward incompatible change *at the Python level* in a Python 4, but I absolutely can see the possibility of incompatible changes at the public C API layer.  I’m not saying it *will* happen, but that’s what we should reserve “Python 4” for if or when it happens.

I concur.

And changing the major version number itself is significant breaking
change. From the name of the executable (python3 vs python4) hardcoded
in Python and shell scripts to a number of third-party scripts that
contain in the best case:

     PY3 = sys.version_info[0] == 3
     if not PY3:
         ... # implies Python 2

and in the worst case:

     PY3 = sys.version[0] == '3'

Changing the minor version number from a single-digit to a two-digits
will break some software too, but I think that this breakage is smaller.

FWIW, we had a similar bump in 2015 (?) when 2.7.10 was about to come out. Moving up to two digits might break some assumptions, though users misusing things isn't really our problem. Someone out there is parsing `sys.version[:5]` or `platform.python_version()` instead of the alternatives that are better suited to getting specific parts of the version.