Skip to content

Commit cb9bab6

Browse files
Merge branch 'main' into 145107-simplify-happy-eyeballs
2 parents 4234940 + 6e98393 commit cb9bab6

2,857 files changed

Lines changed: 199092 additions & 101668 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.azure-pipelines/windows-layout-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
displayName: Show layout info (${{ parameters.kind }})
1313

1414
- ${{ if eq(parameters.fulltest, 'true') }}:
15-
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)" -i test_launcher
15+
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)"
1616
workingDirectory: $(Build.BinariesDirectory)\layout-${{ parameters.kind }}-$(arch)
1717
displayName: ${{ parameters.kind }} Tests
1818
env:

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
root = true
22

3-
[*.{py,c,cpp,h,js,rst,md,yml,yaml,gram}]
3+
[*.{py,c,cpp,h,js,rst,md,yml,yaml,toml,gram}]
44
trim_trailing_whitespace = true
55
insert_final_newline = true
66
indent_style = space
77

8-
[*.{py,c,cpp,h,gram}]
8+
[*.{py,c,cpp,h,toml,gram}]
99
indent_size = 4
1010

1111
[*.rst]

.gitattributes

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*.zip binary
2020

2121
# Specific binary files
22-
PC/classicAppCompat.* binary
22+
# -- None right now --
2323

2424
# Text files that should not be subject to eol conversion
2525
[attr]noeol -text
@@ -34,6 +34,9 @@ Lib/test/xmltestdata/* noeol
3434
Lib/venv/scripts/common/activate text eol=lf
3535
Lib/venv/scripts/posix/* text eol=lf
3636

37+
# Prevent GitHub's web conflict editor from converting LF to CRLF
38+
*.rst text eol=lf
39+
3740
# CRLF files
3841
[attr]dos text eol=crlf
3942

@@ -81,6 +84,7 @@ Include/internal/pycore_uop_ids.h generated
8184
Include/internal/pycore_uop_metadata.h generated
8285
Include/opcode.h generated
8386
Include/opcode_ids.h generated
87+
Include/slots_generated.h generated
8488
Include/token.h generated
8589
Lib/_opcode_metadata.py generated
8690
Lib/idlelib/help.html generated
@@ -96,7 +100,6 @@ Lib/token.py generated
96100
Misc/sbom.spdx.json generated
97101
Modules/_testinternalcapi/test_cases.c.h generated
98102
Modules/_testinternalcapi/test_targets.h generated
99-
Objects/typeslots.inc generated
100103
PC/python3dll.c generated
101104
Parser/parser.c generated
102105
Parser/token.c generated
@@ -107,8 +110,10 @@ Python/generated_cases.c.h generated
107110
Python/optimizer_cases.c.h generated
108111
Python/opcode_targets.h generated
109112
Python/record_functions.c.h generated
113+
Python/slots_generated.c generated
110114
Python/stdlib_module_names.h generated
111115
Tools/peg_generator/pegen/grammar_parser.py generated
112116
aclocal.m4 generated
113117
configure generated
114118
*.min.js generated
119+
package-lock.json generated

.github/CODEOWNERS

Lines changed: 58 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +63,29 @@
6363
.azure-pipelines/ @AA-Turner
6464

6565
# GitHub & related scripts
66-
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz
66+
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro @JacobCoffee
6767
Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz
6868
Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz
6969
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
7070

7171
# Pre-commit
72-
.pre-commit-config.yaml @hugovk
73-
.ruff.toml @hugovk @AlexWaygood @AA-Turner
72+
.pre-commit-config.yaml @hugovk @JacobCoffee
73+
.ruff.toml @hugovk @AlexWaygood @AA-Turner @JacobCoffee
7474

7575
# Patchcheck
76-
Tools/patchcheck/ @AA-Turner
76+
Tools/patchcheck/ @AA-Turner @itamaro
7777

7878

7979
# ----------------------------------------------------------------------------
8080
# Build System
8181
# ----------------------------------------------------------------------------
8282

8383
# Autotools
84-
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping
85-
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping
86-
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping
87-
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping
88-
Tools/build/regen-configure.sh @AA-Turner
84+
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping @itamaro
85+
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping @itamaro
86+
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping @itamaro
87+
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping @itamaro
88+
Tools/build/regen-configure.sh @AA-Turner @itamaro
8989

9090
# generate-build-details
9191
Tools/build/generate-build-details.py @FFY00
@@ -100,12 +100,12 @@ Lib/test/test_build_details.py @FFY00
100100
InternalDocs/ @AA-Turner
101101

102102
# Tools, Configuration, etc
103-
Doc/Makefile @AA-Turner @hugovk
104-
Doc/_static/ @AA-Turner @hugovk
105-
Doc/conf.py @AA-Turner @hugovk
106-
Doc/make.bat @AA-Turner @hugovk
107-
Doc/requirements.txt @AA-Turner @hugovk
108-
Doc/tools/ @AA-Turner @hugovk
103+
Doc/Makefile @AA-Turner @hugovk @StanFromIreland
104+
Doc/_static/ @AA-Turner @hugovk @StanFromIreland
105+
Doc/conf.py @AA-Turner @hugovk @StanFromIreland
106+
Doc/make.bat @AA-Turner @hugovk @StanFromIreland
107+
Doc/requirements.txt @AA-Turner @hugovk @StanFromIreland
108+
Doc/tools/ @AA-Turner @hugovk @StanFromIreland
109109

110110
# PR Previews
111111
.readthedocs.yml @AA-Turner
@@ -132,7 +132,9 @@ Tools/c-analyzer/ @ericsnowcurrently
132132
Tools/check-c-api-docs/ @ZeroIntensity
133133

134134
# Fuzzing
135-
Modules/_xxtestfuzz/ @ammaraskar
135+
Modules/_xxtestfuzz/ @python/fuzzers
136+
Lib/test/test_xxtestfuzz.py @python/fuzzers
137+
.github/workflows/reusable-cifuzz.yml @python/fuzzers
136138

137139
# Limited C API & Stable ABI
138140
Doc/c-api/stable.rst @encukou
@@ -154,16 +156,15 @@ Misc/libabigail.abignore @encukou
154156
# ----------------------------------------------------------------------------
155157

156158
# Android
157-
Android/ @mhsmith @freakboy3742
159+
Platforms/Android/ @mhsmith @freakboy3742
158160
Doc/using/android.rst @mhsmith @freakboy3742
159161
Lib/_android_support.py @mhsmith @freakboy3742
160162
Lib/test/test_android.py @mhsmith @freakboy3742
161163

162164
# iOS
163165
Doc/using/ios.rst @freakboy3742
164166
Lib/_ios_support.py @freakboy3742
165-
Apple/ @freakboy3742
166-
iOS/ @freakboy3742
167+
Platforms/Apple/ @freakboy3742
167168

168169
# macOS
169170
Mac/ @python/macos-team
@@ -174,8 +175,8 @@ Lib/test/test__osx_support.py @python/macos-team
174175
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
175176

176177
# WebAssembly (Emscripten)
177-
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
178-
Tools/wasm/emscripten @freakboy3742 @emmatyping
178+
Platforms/emscripten @freakboy3742 @emmatyping
179+
Tools/wasm/emscripten @freakboy3742 @emmatyping
179180

180181
# WebAssembly (WASI)
181182
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
@@ -187,12 +188,8 @@ Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
187188
PC/ @python/windows-team
188189
PCbuild/ @python/windows-team
189190

190-
# Windows installer packages
191-
Tools/msi/ @python/windows-team
192-
Tools/nuget/ @python/windows-team
193-
194-
# Windows Launcher
195-
PC/launcher.c @python/windows-team @vsajip
191+
# Windows Venv launcher/redirector
192+
PC/venvlauncher.c @python/windows-team @vsajip
196193

197194

198195
# ----------------------------------------------------------------------------
@@ -260,33 +257,33 @@ Include/pyhash.h @gpshead @picnixz
260257
Python/pyhash.c @gpshead @picnixz
261258

262259
# The import system (including importlib)
263-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
264-
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @kumaraditya303
260+
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00
261+
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303
265262
**/*freeze* @ericsnowcurrently
266263
**/*frozen* @ericsnowcurrently
267264
**/*modsupport* @ericsnowcurrently
268-
**/*modulefinder* @ericsnowcurrently
265+
**/*modulefinder* @ericsnowcurrently @FFY00
269266
**/*moduleobject* @ericsnowcurrently
270267
**/*multiphase* @ericsnowcurrently
271-
**/*pkgutil* @ericsnowcurrently
268+
**/*pkgutil* @ericsnowcurrently @FFY00
272269
**/*pythonrun* @ericsnowcurrently
273-
**/*runpy* @ericsnowcurrently
270+
**/*runpy* @ericsnowcurrently @FFY00
274271
**/*singlephase* @ericsnowcurrently
275272
Doc/c-api/module.rst @ericsnowcurrently
276273
Lib/test/test_module/ @ericsnowcurrently
277-
Python/dynload_*.c @ericsnowcurrently
274+
Python/dynload_*.c @ericsnowcurrently @FFY00
278275

279276
# Initialisation
280-
**/*initconfig* @ericsnowcurrently
281-
**/*pathconfig* @ericsnowcurrently
282-
**/*preconfig* @ericsnowcurrently
277+
**/*initconfig* @ericsnowcurrently @FFY00
278+
**/*pathconfig* @ericsnowcurrently @FFY00
279+
**/*preconfig* @ericsnowcurrently @FFY00
283280
Doc/library/sys_path_init.rst @FFY00
284281
Doc/c-api/init_config.rst @FFY00
285282

286283
# Interpreter main program
287-
Modules/main.c @ericsnowcurrently
288-
Programs/_bootstrap_python.c @ericsnowcurrently
289-
Programs/python.c @ericsnowcurrently
284+
Modules/main.c @ericsnowcurrently @FFY00
285+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
286+
Programs/python.c @ericsnowcurrently @FFY00
290287

291288
# JIT
292289
.github/workflows/jit.yml @savannahostrowski
@@ -316,8 +313,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
316313

317314
# Runtime state/lifecycle
318315
**/*gil* @ericsnowcurrently
319-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
320-
**/*pystate* @ericsnowcurrently @ZeroIntensity
316+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
317+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
321318
Include/internal/pycore_*_init.h @ericsnowcurrently
322319
Include/internal/pycore_*_state.h @ericsnowcurrently
323320
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -425,19 +422,19 @@ Lib/dataclasses.py @ericvsmith
425422
Lib/test/test_dataclasses/ @ericvsmith
426423

427424
# Dates and times
428-
Doc/**/*time.rst @pganssle @abalkin @StanFromIreland
425+
Doc/**/*time.rst @pganssle @StanFromIreland
429426
Doc/library/datetime-* @pganssle @StanFromIreland
430427
Doc/library/zoneinfo.rst @pganssle @StanFromIreland
431-
Include/datetime.h @pganssle @abalkin @StanFromIreland
432-
Include/internal/pycore_time.h @pganssle @abalkin @StanFromIreland
428+
Include/datetime.h @pganssle @StanFromIreland
429+
Include/internal/pycore_time.h @pganssle @StanFromIreland
433430
Lib/test/test_zoneinfo/ @pganssle @StanFromIreland
434431
Lib/zoneinfo/ @pganssle @StanFromIreland
435-
Lib/*time.py @pganssle @abalkin @StanFromIreland
436-
Lib/test/datetimetester.py @pganssle @abalkin @StanFromIreland
437-
Lib/test/test_*time.py @pganssle @abalkin @StanFromIreland
432+
Lib/*time.py @pganssle @StanFromIreland
433+
Lib/test/datetimetester.py @pganssle @StanFromIreland
434+
Lib/test/test_*time.py @pganssle @StanFromIreland
438435
Modules/*zoneinfo* @pganssle @StanFromIreland
439-
Modules/*time* @pganssle @abalkin @StanFromIreland
440-
Python/pytime.c @pganssle @abalkin @StanFromIreland
436+
Modules/*time* @pganssle @StanFromIreland
437+
Python/pytime.c @pganssle @StanFromIreland
441438

442439
# Dbm
443440
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -505,13 +502,13 @@ Lib/idlelib/ @terryjreedy
505502
Lib/turtledemo/ @terryjreedy
506503

507504
# importlib.metadata
508-
Doc/library/importlib.metadata.rst @jaraco @warsaw
509-
Lib/importlib/metadata/ @jaraco @warsaw
510-
Lib/test/test_importlib/metadata/ @jaraco @warsaw
505+
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
506+
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
507+
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00
511508

512509
# importlib.resources
513-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
514-
Doc/library/importlib.resources.rst @jaraco @warsaw
510+
Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00
511+
Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00
515512
Lib/importlib/resources/ @jaraco @warsaw @FFY00
516513
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
517514

@@ -572,9 +569,9 @@ Lib/shutil.py @giampaolo
572569
Lib/test/test_shutil.py @giampaolo
573570

574571
# Site
575-
Lib/site.py @FFY00
576-
Lib/test/test_site.py @FFY00
577-
Doc/library/site.rst @FFY00
572+
Lib/site.py @FFY00 @warsaw
573+
Lib/test/test_site.py @FFY00 @warsaw
574+
Doc/library/site.rst @FFY00 @warsaw
578575

579576
# string.templatelib
580577
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
@@ -585,10 +582,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
585582
**/*sysconfig* @FFY00
586583

587584
# SQLite 3
588-
Doc/library/sqlite3.rst @berkerpeksag @erlend-aasland
589-
Lib/sqlite3/ @berkerpeksag @erlend-aasland
590-
Lib/test/test_sqlite3/ @berkerpeksag @erlend-aasland
591-
Modules/_sqlite/ @berkerpeksag @erlend-aasland
585+
Doc/library/sqlite3.rst @erlend-aasland
586+
Lib/sqlite3/ @erlend-aasland
587+
Lib/test/test_sqlite3/ @erlend-aasland
588+
Modules/_sqlite/ @erlend-aasland
592589

593590
# Subprocess
594591
Lib/subprocess.py @gpshead
@@ -621,9 +618,6 @@ Modules/_typesmodule.c @AA-Turner
621618
Lib/unittest/mock.py @cjw296
622619
Lib/test/test_unittest/testmock/ @cjw296
623620

624-
# Urllib
625-
**/*robotparser* @berkerpeksag
626-
627621
# Venv
628622
**/*venv* @vsajip @FFY00
629623

.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

.github/SECURITY.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
11
# Security Policy
22

3-
## Supported Versions
3+
Python [provides a security policy and threat model](https://devguide.python.org/security/policy/)
4+
in the Python Developer's Guide documenting what bugs are vulnerabilities,
5+
how to structure reports, and what versions of Python accept reports.
46

5-
The Python team applies security fixes according to the table
6-
in [the devguide](
7-
https://devguide.python.org/versions/#supported-versions
8-
).
7+
Python Security Response Team (PSRT) members
8+
balance security work against many other responsibilities. Please be thoughtful
9+
about the time and attention your report requires. Repeated failure to respect
10+
the security policy will result in future reports being rejected, or the
11+
reporter being banned from the ``python`` GitHub organization, regardless of
12+
technical merit.
913

1014
## Reporting a Vulnerability
1115

12-
Please read the guidelines on reporting security issues [on the
13-
official website](https://www.python.org/dev/security/) for
14-
instructions on how to report a security-related problem to
15-
the Python team responsibly.
16+
The [Python security policy](https://devguide.python.org/security/policy/)
17+
documents [how to submit a vulnerability report](https://devguide.python.org/security/policy/#how-to-submit-a-vulnerability-report)
18+
using GitHub Security Advisories. Please read the security policy
19+
prior to filing a vulnerability report, especially the section on [what information to
20+
include and exclude](https://devguide.python.org/security/policy/#what-to-include-and-how-to-structure-a-vulnerability-report)
21+
in vulnerability reports. Following the security policy means the PSRT can
22+
quickly and efficiently triage your report, not following the security policy
23+
will only delay triaging your report.
1624

17-
To reach the response team, email `security at python dot org`.

0 commit comments

Comments
 (0)