Python 3.15.0a0
This commit is contained in:
parent
b092705907
commit
9748fb3867
1
.github/ISSUE_TEMPLATE/bug.yml
vendored
1
.github/ISSUE_TEMPLATE/bug.yml
vendored
@ -40,6 +40,7 @@ body:
|
|||||||
- "3.12"
|
- "3.12"
|
||||||
- "3.13"
|
- "3.13"
|
||||||
- "3.14"
|
- "3.14"
|
||||||
|
- "3.15"
|
||||||
- "CPython main branch"
|
- "CPython main branch"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
1
.github/ISSUE_TEMPLATE/crash.yml
vendored
1
.github/ISSUE_TEMPLATE/crash.yml
vendored
@ -33,6 +33,7 @@ body:
|
|||||||
- "3.12"
|
- "3.12"
|
||||||
- "3.13"
|
- "3.13"
|
||||||
- "3.14"
|
- "3.14"
|
||||||
|
- "3.15"
|
||||||
- "CPython main branch"
|
- "CPython main branch"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
@ -16,7 +16,7 @@ Unix shell's search path makes it possible to start it by typing the command:
|
|||||||
|
|
||||||
.. code-block:: text
|
.. code-block:: text
|
||||||
|
|
||||||
python3.14
|
python3.15
|
||||||
|
|
||||||
to the shell. [#]_ Since the choice of the directory where the interpreter lives
|
to the shell. [#]_ Since the choice of the directory where the interpreter lives
|
||||||
is an installation option, other places are possible; check with your local
|
is an installation option, other places are possible; check with your local
|
||||||
@ -97,8 +97,8 @@ before printing the first prompt:
|
|||||||
|
|
||||||
.. code-block:: shell-session
|
.. code-block:: shell-session
|
||||||
|
|
||||||
$ python3.14
|
$ python3.15
|
||||||
Python 3.14 (default, April 4 2024, 09:25:04)
|
Python 3.15 (default, May 7 2025, 15:46:04)
|
||||||
[GCC 10.2.0] on linux
|
[GCC 10.2.0] on linux
|
||||||
Type "help", "copyright", "credits" or "license" for more information.
|
Type "help", "copyright", "credits" or "license" for more information.
|
||||||
>>>
|
>>>
|
||||||
|
@ -15,7 +15,7 @@ operating system::
|
|||||||
|
|
||||||
>>> import os
|
>>> import os
|
||||||
>>> os.getcwd() # Return the current working directory
|
>>> os.getcwd() # Return the current working directory
|
||||||
'C:\\Python314'
|
'C:\\Python315'
|
||||||
>>> os.chdir('/server/accesslogs') # Change current working directory
|
>>> os.chdir('/server/accesslogs') # Change current working directory
|
||||||
>>> os.system('mkdir today') # Run the command mkdir in the system shell
|
>>> os.system('mkdir today') # Run the command mkdir in the system shell
|
||||||
0
|
0
|
||||||
|
@ -279,7 +279,7 @@ applications include caching objects that are expensive to create::
|
|||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
File "<stdin>", line 1, in <module>
|
File "<stdin>", line 1, in <module>
|
||||||
d['primary'] # entry was automatically removed
|
d['primary'] # entry was automatically removed
|
||||||
File "C:/python314/lib/weakref.py", line 46, in __getitem__
|
File "C:/python315/lib/weakref.py", line 46, in __getitem__
|
||||||
o = self.data[key]()
|
o = self.data[key]()
|
||||||
KeyError: 'primary'
|
KeyError: 'primary'
|
||||||
|
|
||||||
|
156
Doc/whatsnew/3.15.rst
Normal file
156
Doc/whatsnew/3.15.rst
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
|
||||||
|
****************************
|
||||||
|
What's new in Python 3.15
|
||||||
|
****************************
|
||||||
|
|
||||||
|
:Editor: TBD
|
||||||
|
|
||||||
|
.. Rules for maintenance:
|
||||||
|
|
||||||
|
* Anyone can add text to this document. Do not spend very much time
|
||||||
|
on the wording of your changes, because your text will probably
|
||||||
|
get rewritten to some degree.
|
||||||
|
|
||||||
|
* The maintainer will go through Misc/NEWS periodically and add
|
||||||
|
changes; it's therefore more important to add your changes to
|
||||||
|
Misc/NEWS than to this file.
|
||||||
|
|
||||||
|
* This is not a complete list of every single change; completeness
|
||||||
|
is the purpose of Misc/NEWS. Some changes I consider too small
|
||||||
|
or esoteric to include. If such a change is added to the text,
|
||||||
|
I'll just remove it. (This is another reason you shouldn't spend
|
||||||
|
too much time on writing your addition.)
|
||||||
|
|
||||||
|
* If you want to draw your new text to the attention of the
|
||||||
|
maintainer, add 'XXX' to the beginning of the paragraph or
|
||||||
|
section.
|
||||||
|
|
||||||
|
* It's OK to just add a fragmentary note about a change. For
|
||||||
|
example: "XXX Describe the transmogrify() function added to the
|
||||||
|
socket module." The maintainer will research the change and
|
||||||
|
write the necessary text.
|
||||||
|
|
||||||
|
* You can comment out your additions if you like, but it's not
|
||||||
|
necessary (especially when a final release is some months away).
|
||||||
|
|
||||||
|
* Credit the author of a patch or bugfix. Just the name is
|
||||||
|
sufficient; the e-mail address isn't necessary.
|
||||||
|
|
||||||
|
* It's helpful to add the issue number as a comment:
|
||||||
|
|
||||||
|
XXX Describe the transmogrify() function added to the socket
|
||||||
|
module.
|
||||||
|
(Contributed by P.Y. Developer in :gh:`12345`.)
|
||||||
|
|
||||||
|
This saves the maintainer the effort of going through the VCS log
|
||||||
|
when researching a change.
|
||||||
|
|
||||||
|
This article explains the new features in Python 3.15, compared to 3.14.
|
||||||
|
|
||||||
|
For full details, see the :ref:`changelog <changelog>`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Prerelease users should be aware that this document is currently in draft
|
||||||
|
form. It will be updated substantially as Python 3.15 moves towards release,
|
||||||
|
so it's worth checking back even after reading earlier versions.
|
||||||
|
|
||||||
|
|
||||||
|
Summary --- release highlights
|
||||||
|
==============================
|
||||||
|
|
||||||
|
.. This section singles out the most important changes in Python 3.15.
|
||||||
|
Brevity is key.
|
||||||
|
|
||||||
|
|
||||||
|
.. PEP-sized items next.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New features
|
||||||
|
============
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Other language changes
|
||||||
|
======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
New modules
|
||||||
|
===========
|
||||||
|
|
||||||
|
* None yet.
|
||||||
|
|
||||||
|
|
||||||
|
Improved modules
|
||||||
|
================
|
||||||
|
|
||||||
|
module_name
|
||||||
|
-----------
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
|
||||||
|
.. Add improved modules above alphabetically, not here at the end.
|
||||||
|
|
||||||
|
Optimizations
|
||||||
|
=============
|
||||||
|
|
||||||
|
module_name
|
||||||
|
-----------
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Deprecated
|
||||||
|
==========
|
||||||
|
|
||||||
|
* module_name:
|
||||||
|
TODO
|
||||||
|
|
||||||
|
|
||||||
|
.. Add deprecations above alphabetically, not here at the end.
|
||||||
|
|
||||||
|
Removed
|
||||||
|
=======
|
||||||
|
|
||||||
|
module_name
|
||||||
|
-----------
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
|
||||||
|
|
||||||
|
Porting to Python 3.15
|
||||||
|
======================
|
||||||
|
|
||||||
|
This section lists previously described changes and other bugfixes
|
||||||
|
that may require changes to your code.
|
||||||
|
|
||||||
|
|
||||||
|
Build changes
|
||||||
|
=============
|
||||||
|
|
||||||
|
|
||||||
|
C API changes
|
||||||
|
=============
|
||||||
|
|
||||||
|
New features
|
||||||
|
------------
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
Porting to Python 3.15
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
|
||||||
|
Deprecated C APIs
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
|
||||||
|
.. Add C API deprecations above alphabetically, not here at the end.
|
||||||
|
|
||||||
|
Removed C APIs
|
||||||
|
--------------
|
||||||
|
|
@ -18,13 +18,13 @@
|
|||||||
/* Version parsed out into numeric values */
|
/* Version parsed out into numeric values */
|
||||||
/*--start constants--*/
|
/*--start constants--*/
|
||||||
#define PY_MAJOR_VERSION 3
|
#define PY_MAJOR_VERSION 3
|
||||||
#define PY_MINOR_VERSION 14
|
#define PY_MINOR_VERSION 15
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||||
#define PY_RELEASE_SERIAL 1
|
#define PY_RELEASE_SERIAL 0
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.14.0b1"
|
#define PY_VERSION "3.15.0a0"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -320,19 +320,19 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
|
|||||||
the linking is explicitly handled */
|
the linking is explicitly handled */
|
||||||
# if defined(Py_GIL_DISABLED)
|
# if defined(Py_GIL_DISABLED)
|
||||||
# if defined(_DEBUG)
|
# if defined(_DEBUG)
|
||||||
# pragma comment(lib,"python314t_d.lib")
|
# pragma comment(lib,"python315t_d.lib")
|
||||||
# elif defined(Py_LIMITED_API)
|
# elif defined(Py_LIMITED_API)
|
||||||
# pragma comment(lib,"python3t.lib")
|
# pragma comment(lib,"python3t.lib")
|
||||||
# else
|
# else
|
||||||
# pragma comment(lib,"python314t.lib")
|
# pragma comment(lib,"python315t.lib")
|
||||||
# endif /* _DEBUG */
|
# endif /* _DEBUG */
|
||||||
# else /* Py_GIL_DISABLED */
|
# else /* Py_GIL_DISABLED */
|
||||||
# if defined(_DEBUG)
|
# if defined(_DEBUG)
|
||||||
# pragma comment(lib,"python314_d.lib")
|
# pragma comment(lib,"python315_d.lib")
|
||||||
# elif defined(Py_LIMITED_API)
|
# elif defined(Py_LIMITED_API)
|
||||||
# pragma comment(lib,"python3.lib")
|
# pragma comment(lib,"python3.lib")
|
||||||
# else
|
# else
|
||||||
# pragma comment(lib,"python314.lib")
|
# pragma comment(lib,"python315.lib")
|
||||||
# endif /* _DEBUG */
|
# endif /* _DEBUG */
|
||||||
# endif /* Py_GIL_DISABLED */
|
# endif /* Py_GIL_DISABLED */
|
||||||
# endif /* _MSC_VER && !Py_NO_LINK_LIB */
|
# endif /* _MSC_VER && !Py_NO_LINK_LIB */
|
||||||
|
@ -42,7 +42,7 @@ if "%~1"=="-O" (set dashO=-O) & shift & goto CheckOpts
|
|||||||
if "%~1"=="-q" (set qmode=yes) & shift & goto CheckOpts
|
if "%~1"=="-q" (set qmode=yes) & shift & goto CheckOpts
|
||||||
if "%~1"=="-d" (set suffix=_d) & shift & goto CheckOpts
|
if "%~1"=="-d" (set suffix=_d) & shift & goto CheckOpts
|
||||||
rem HACK: Need some way to infer the version number in this script
|
rem HACK: Need some way to infer the version number in this script
|
||||||
if "%~1"=="--disable-gil" (set pyname=python3.14t) & shift & goto CheckOpts
|
if "%~1"=="--disable-gil" (set pyname=python3.15t) & shift & goto CheckOpts
|
||||||
if "%~1"=="-win32" (set prefix=%pcbuild%win32) & shift & goto CheckOpts
|
if "%~1"=="-win32" (set prefix=%pcbuild%win32) & shift & goto CheckOpts
|
||||||
if "%~1"=="-x64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts
|
if "%~1"=="-x64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts
|
||||||
if "%~1"=="-amd64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts
|
if "%~1"=="-amd64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
This is Python version 3.14.0 beta 1
|
This is Python version 3.15.0 alpha 0
|
||||||
====================================
|
=====================================
|
||||||
|
|
||||||
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
|
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
|
||||||
:alt: CPython build status on GitHub Actions
|
:alt: CPython build status on GitHub Actions
|
||||||
|
@ -10,7 +10,7 @@ dnl to regenerate the configure script.
|
|||||||
dnl
|
dnl
|
||||||
|
|
||||||
# Set VERSION so we only need to edit in one place (i.e., here)
|
# Set VERSION so we only need to edit in one place (i.e., here)
|
||||||
m4_define([PYTHON_VERSION], [3.14])
|
m4_define([PYTHON_VERSION], [3.15])
|
||||||
|
|
||||||
AC_PREREQ([2.72])
|
AC_PREREQ([2.72])
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user