Skip to content

Commit f5c7535

Browse files
committed
Python 3.16.0a0
1 parent f31a89b commit f5c7535

10 files changed

Lines changed: 178 additions & 18 deletions

File tree

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ body:
3434
label: "CPython versions tested on:"
3535
multiple: true
3636
options:
37-
- "3.9"
3837
- "3.10"
3938
- "3.11"
4039
- "3.12"
4140
- "3.13"
4241
- "3.14"
4342
- "3.15"
43+
- "3.16"
4444
- "CPython main branch"
4545
validations:
4646
required: true

.github/ISSUE_TEMPLATE/crash.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ body:
2727
label: "CPython versions tested on:"
2828
multiple: true
2929
options:
30-
- "3.9"
3130
- "3.10"
3231
- "3.11"
3332
- "3.12"
3433
- "3.13"
3534
- "3.14"
3635
- "3.15"
36+
- "3.16"
3737
- "CPython main branch"
3838
validations:
3939
required: true

Doc/tutorial/interpreter.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Unix shell's search path makes it possible to start it by typing the command:
1616

1717
.. code-block:: text
1818
19-
python3.15
19+
python3.16
2020
2121
to the shell. [#]_ Since the choice of the directory where the interpreter lives
2222
is an installation option, other places are possible; check with your local
@@ -97,8 +97,8 @@ before printing the first prompt:
9797

9898
.. code-block:: shell-session
9999
100-
$ python3.15
101-
Python 3.15 (default, May 7 2025, 15:46:04)
100+
$ python3.16
101+
Python 3.16 (default, May 7 2026, 19:03:04)
102102
[GCC 10.2.0] on linux
103103
Type "help", "copyright", "credits" or "license" for more information.
104104
>>>

Doc/tutorial/stdlib.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ operating system::
1515

1616
>>> import os
1717
>>> os.getcwd() # Return the current working directory
18-
'C:\\Python315'
18+
'C:\\Python316'
1919
>>> os.chdir('/server/accesslogs') # Change current working directory
2020
>>> os.system('mkdir today') # Run the command mkdir in the system shell
2121
0

Doc/tutorial/stdlib2.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ applications include caching objects that are expensive to create::
289289
Traceback (most recent call last):
290290
File "<stdin>", line 1, in <module>
291291
d['primary'] # entry was automatically removed
292-
File "C:/python315/lib/weakref.py", line 46, in __getitem__
292+
File "C:/python316/lib/weakref.py", line 46, in __getitem__
293293
o = self.data[key]()
294294
KeyError: 'primary'
295295

Doc/whatsnew/3.16.rst

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
2+
****************************
3+
What's new in Python 3.16
4+
****************************
5+
6+
:Editor: TBD
7+
8+
.. Rules for maintenance:
9+
10+
* Anyone can add text to this document. Do not spend very much time
11+
on the wording of your changes, because your text will probably
12+
get rewritten to some degree.
13+
14+
* The maintainer will go through Misc/NEWS periodically and add
15+
changes; it's therefore more important to add your changes to
16+
Misc/NEWS than to this file.
17+
18+
* This is not a complete list of every single change; completeness
19+
is the purpose of Misc/NEWS. Some changes I consider too small
20+
or esoteric to include. If such a change is added to the text,
21+
I'll just remove it. (This is another reason you shouldn't spend
22+
too much time on writing your addition.)
23+
24+
* If you want to draw your new text to the attention of the
25+
maintainer, add 'XXX' to the beginning of the paragraph or
26+
section.
27+
28+
* It's OK to just add a fragmentary note about a change. For
29+
example: "XXX Describe the transmogrify() function added to the
30+
socket module." The maintainer will research the change and
31+
write the necessary text.
32+
33+
* You can comment out your additions if you like, but it's not
34+
necessary (especially when a final release is some months away).
35+
36+
* Credit the author of a patch or bugfix. Just the name is
37+
sufficient; the e-mail address isn't necessary.
38+
39+
* It's helpful to add the issue number as a comment:
40+
41+
XXX Describe the transmogrify() function added to the socket
42+
module.
43+
(Contributed by P.Y. Developer in :gh:`12345`.)
44+
45+
This saves the maintainer the effort of going through the VCS log
46+
when researching a change.
47+
48+
This article explains the new features in Python 3.16, compared to 3.15.
49+
50+
For full details, see the :ref:`changelog <changelog>`.
51+
52+
.. note::
53+
54+
Prerelease users should be aware that this document is currently in draft
55+
form. It will be updated substantially as Python 3.16 moves towards release,
56+
so it's worth checking back even after reading earlier versions.
57+
58+
59+
Summary --- release highlights
60+
==============================
61+
62+
.. This section singles out the most important changes in Python 3.16.
63+
Brevity is key.
64+
65+
66+
.. PEP-sized items next.
67+
68+
69+
70+
New features
71+
============
72+
73+
74+
75+
Other language changes
76+
======================
77+
78+
79+
80+
New modules
81+
===========
82+
83+
* None yet.
84+
85+
86+
Improved modules
87+
================
88+
89+
module_name
90+
-----------
91+
92+
* TODO
93+
94+
.. Add improved modules above alphabetically, not here at the end.
95+
96+
Optimizations
97+
=============
98+
99+
module_name
100+
-----------
101+
102+
* TODO
103+
104+
105+
106+
Removed
107+
=======
108+
109+
module_name
110+
-----------
111+
112+
* TODO
113+
.. Add removals above alphabetically, not here at the end.
114+
115+
116+
Deprecated
117+
==========
118+
119+
* module_name:
120+
TODO
121+
122+
123+
.. Add deprecations above alphabetically, not here at the end.
124+
125+
126+
Porting to Python 3.16
127+
======================
128+
129+
This section lists previously described changes and other bugfixes
130+
that may require changes to your code.
131+
132+
133+
Build changes
134+
=============
135+
136+
137+
C API changes
138+
=============
139+
140+
New features
141+
------------
142+
143+
* TODO
144+
145+
Porting to Python 3.16
146+
----------------------
147+
148+
* TODO
149+
150+
Deprecated C APIs
151+
-----------------
152+
153+
* TODO
154+
155+
.. Add C API deprecations above alphabetically, not here at the end.
156+
157+
Removed C APIs
158+
--------------
159+

Doc/whatsnew/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ anyone wishing to stay up-to-date after a new release.
1111
.. toctree::
1212
:maxdepth: 2
1313

14+
3.16.rst
1415
3.15.rst
1516
3.14.rst
1617
3.13.rst

Include/patchlevel.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
/* Version parsed out into numeric values */
2222
/*--start constants--*/
2323
#define PY_MAJOR_VERSION 3
24-
#define PY_MINOR_VERSION 15
24+
#define PY_MINOR_VERSION 16
2525
#define PY_MICRO_VERSION 0
26-
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
27-
#define PY_RELEASE_SERIAL 1
26+
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
27+
#define PY_RELEASE_SERIAL 0
2828

2929
/* Version as a string */
30-
#define PY_VERSION "3.15.0b1"
30+
#define PY_VERSION "3.16.0a0"
3131
/*--end constants--*/
3232

3333

README.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
This is Python version 3.15.0 beta 1
2-
====================================
1+
This is Python version 3.16.0 alpha 0
2+
=====================================
33

44
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
55
:alt: CPython build status on GitHub Actions
@@ -136,7 +136,7 @@ What's New
136136
----------
137137

138138
We have a comprehensive overview of the changes in the `What's new in Python
139-
3.15 <https://docs.python.org/3.15/whatsnew/3.15.html>`_ document. For a more
139+
3.16 <https://docs.python.org/3.16/whatsnew/3.16.html>`_ document. For a more
140140
detailed change log, read `Misc/NEWS
141141
<https://github.com/python/cpython/tree/main/Misc/NEWS.d>`_, but a full
142142
accounting of changes can only be gleaned from the `commit history
@@ -149,7 +149,7 @@ entitled "Installing multiple versions".
149149
Documentation
150150
-------------
151151

152-
`Documentation for Python 3.15 <https://docs.python.org/3.15/>`_ is online,
152+
`Documentation for Python 3.16 <https://docs.python.org/3.16/>`_ is online,
153153
updated daily.
154154

155155
It can also be downloaded in many formats for faster access. The documentation
@@ -208,7 +208,7 @@ and ``make altinstall`` in the others.
208208
Release Schedule
209209
----------------
210210

211-
See `PEP 790 <https://peps.python.org/pep-0790/>`__ for Python 3.15 release details.
211+
See `PEP 826 <https://peps.python.org/pep-0826/>`__ for Python 3.16 release details.
212212

213213

214214
Copyright and License Information

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ dnl to regenerate the configure script.
1010
dnl
1111

1212
# Set VERSION so we only need to edit in one place (i.e., here)
13-
m4_define([PYTHON_VERSION], [3.15])
13+
m4_define([PYTHON_VERSION], [3.16])
1414

1515
AC_PREREQ([2.72])
1616

@@ -205,7 +205,7 @@ AC_SUBST([FREEZE_MODULE_DEPS])
205205
AC_SUBST([PYTHON_FOR_BUILD_DEPS])
206206

207207
AC_CHECK_PROGS([PYTHON_FOR_REGEN],
208-
[python$PACKAGE_VERSION python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 python3 python],
208+
[python$PACKAGE_VERSION python3.16 python3.15 python3.14 python3.13 python3.12 python3.11 python3.10 python3 python],
209209
[python3])
210210
AC_SUBST([PYTHON_FOR_REGEN])
211211

0 commit comments

Comments
 (0)