Skip to content

Commit 61d7d79

Browse files
committed
Merge branch 'main' into dtrace-probes-fix-list
2 parents 4dcbf65 + 75ce53d commit 61d7d79

1,961 files changed

Lines changed: 132414 additions & 74496 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.

‎.gitattributes‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ Include/internal/pycore_ast_state.h generated
8080
Include/internal/pycore_opcode.h generated
8181
Include/internal/pycore_opcode_metadata.h generated
8282
Include/internal/pycore_*_generated.h generated
83+
Include/internal/pycore_token.h generated
8384
Include/internal/pycore_uop_ids.h generated
8485
Include/internal/pycore_uop_metadata.h generated
8586
Include/opcode.h generated
8687
Include/opcode_ids.h generated
8788
Include/slots_generated.h generated
88-
Include/token.h generated
8989
Lib/_opcode_metadata.py generated
9090
Lib/idlelib/help.html generated
9191
Lib/keyword.py generated

‎.github/CODEOWNERS‎

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

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

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

7575
# Patchcheck
7676
Tools/patchcheck/ @AA-Turner @itamaro
@@ -171,9 +171,6 @@ Mac/ @python/macos-team
171171
Lib/_osx_support.py @python/macos-team
172172
Lib/test/test__osx_support.py @python/macos-team
173173

174-
# WebAssembly
175-
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
176-
177174
# WebAssembly (Emscripten)
178175
Platforms/emscripten @freakboy3742 @emmatyping
179176
Tools/wasm/emscripten @freakboy3742 @emmatyping
@@ -226,7 +223,7 @@ Tools/cases_generator/ @markshannon
226223
Python/assemble.c @markshannon @iritkatriel
227224
Python/codegen.c @markshannon @iritkatriel
228225
Python/compile.c @markshannon @iritkatriel
229-
Python/flowgraph.c @markshannon @iritkatriel
226+
Python/flowgraph.c @markshannon @iritkatriel @eclips4
230227
Python/instruction_sequence.c @iritkatriel
231228
Python/symtable.c @JelleZijlstra @carljm
232229

@@ -293,9 +290,10 @@ Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
293290
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
294291

295292
# Lazy imports (PEP 810)
296-
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
297-
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
298-
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
293+
.github/workflows/reusable-test-lazy-imports-all.yml @yhg1s @DinoV @pablogsal
294+
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
295+
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
296+
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
299297

300298
# Micro-op / μop / Tier 2 Optimiser
301299
Python/optimizer.c @markshannon @Fidget-Spinner
@@ -335,7 +333,6 @@ Modules/_remote_debugging/ @pablogsal
335333

336334
# Sub-Interpreters
337335
**/*crossinterp* @ericsnowcurrently
338-
**/*interpreteridobject.* @ericsnowcurrently
339336
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
340337
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
341338
Lib/concurrent/interpreters/ @ericsnowcurrently
@@ -602,6 +599,12 @@ Doc/library/tomllib.rst @encukou @hauntsaninja
602599
Lib/test/test_tomllib/ @encukou @hauntsaninja
603600
Lib/tomllib/ @encukou @hauntsaninja
604601

602+
# Turtle
603+
Doc/library/turtle.rst @StanFromIreland
604+
Doc/library/turtle-star.png @StanFromIreland
605+
Lib/test/test_turtle.py @StanFromIreland
606+
Lib/turtle.py @StanFromIreland
607+
605608
# Typing
606609
Doc/library/typing.rst @JelleZijlstra @AlexWaygood
607610
Lib/test/test_typing.py @JelleZijlstra @AlexWaygood
@@ -624,6 +627,12 @@ Lib/test/test_unittest/testmock/ @cjw296
624627
# Weakref
625628
**/*weakref* @kumaraditya303
626629

630+
# Zlib
631+
Doc/library/zlib.rst @StanFromIreland
632+
Lib/compression/zlib.py @StanFromIreland
633+
Lib/test/test_zlib.py @StanFromIreland
634+
Modules/zlibmodule.c @StanFromIreland
635+
627636
# Zipfile.Path
628637
Lib/test/test_zipfile/_path/ @jaraco
629638
Lib/zipfile/_path/ @jaraco
@@ -646,3 +655,9 @@ Modules/**/clinic/
646655
Objects/**/clinic/
647656
PC/**/clinic/
648657
Python/**/clinic/
658+
659+
# Exclude Lazy Imports=all CI carve out file
660+
Lib/test/lazy_imports_all_exclude.txt
661+
662+
# Exclude HTML IDs list
663+
Doc/tools/removed-ids.txt

‎.github/ISSUE_TEMPLATE/bug.yml‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ body:
1616
Make sure to also search the [CPython issue tracker](https://github.com/python/cpython/issues?q=is%3Aissue+sort%3Acreated-desc) to check that the bug has not already been reported.
1717
- type: textarea
1818
attributes:
19-
label: "Bug description:"
19+
label: "Bug report"
2020
description: >
2121
Give a clear and concise description of what happened.
2222
Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
@@ -34,7 +34,6 @@ body:
3434
label: "CPython versions tested on:"
3535
multiple: true
3636
options:
37-
- "3.10"
3837
- "3.11"
3938
- "3.12"
4039
- "3.13"

‎.github/ISSUE_TEMPLATE/crash.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ body:
1010
The CPython interpreter is written in a different programming language, C. A "CPython crash" is when Python itself fails, leading to a traceback in the C stack.
1111
- type: textarea
1212
attributes:
13-
label: What happened?
13+
label: Crash report
1414
description: >
15+
Give a clear and concise description of what happened.
1516
Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
1617
[Copy and paste code where possible rather than using screenshots](https://meta.stackoverflow.com/a/285557/13990016),
1718
and put any code blocks inside triple backticks.
@@ -27,7 +28,6 @@ body:
2728
label: "CPython versions tested on:"
2829
multiple: true
2930
options:
30-
- "3.10"
3131
- "3.11"
3232
- "3.12"
3333
- "3.13"

‎.github/ISSUE_TEMPLATE/feature.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ body:
1212
Major feature proposals should generally be discussed on [Discourse](https://discuss.python.org/c/ideas/6) before opening a GitHub issue. Wait until it's clear that most people support your idea before filling in this form.
1313
- type: textarea
1414
attributes:
15-
label: "Proposal:"
15+
label: "Feature or enhancement"
1616
description: >
1717
Explain your proposal, why it should be implemented, and how it would be used.
1818
Add examples, if applicable.

‎.github/VULNERABILITY_REPORT.yml‎

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Vulnerability report
2+
description: Privately report a potential security vulnerability in CPython
3+
body:
4+
- type: markdown
5+
attributes:
6+
value: |
7+
**Not all bugs are vulnerabilities.** Before submitting, read the [Python security policy](https://devguide.python.org/security/policy/) to understand which issues are vulnerabilities and what versions of Python accept reports.
8+
9+
Keep the report short and in plain text: no headers, tables, PDFs, binaries, or severity and CVSS information.
10+
11+
Reports that do not contain a potential security vulnerability will be discarded without a reply.
12+
13+
To report vulnerabilities that affect other projects (such as pip or python.org), or if you are not sure where to send your report, email [security@python.org](mailto:security@python.org).
14+
- type: textarea
15+
id: summary
16+
attributes:
17+
label: Summary
18+
description: A few sentences describing the vulnerability.
19+
validations:
20+
required: true
21+
- type: textarea
22+
id: threat_model
23+
attributes:
24+
label: Threat model
25+
description: >
26+
What does the attacker control, and what do they gain? Describe the code, configuration, or deployment that may exist in the real world and is exploitable. Where possible, cite the relevant part of the [security policy](https://devguide.python.org/security/policy/#what-types-of-bugs-are-vulnerabilities).
27+
validations:
28+
required: true
29+
- type: textarea
30+
id: proof_of_concept
31+
attributes:
32+
label: Proof of concept
33+
description: >
34+
A script that reproduces the issue and clearly indicates whether the vulnerability is present, such as exiting with `1` if vulnerable and `0` if not. If it depends on a specially constructed binary file, include a script to construct the file rather than the file itself.
35+
36+
Wrap scripts longer than a few lines in a [collapsed section](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections) using `<details> ... </details>`.
37+
validations:
38+
required: true
39+
- type: dropdown
40+
id: versions
41+
attributes:
42+
label: "CPython versions tested on:"
43+
description: >
44+
If any tested version was not vulnerable, say which in the summary. Only [supported versions](https://devguide.python.org/versions/) accept reports.
45+
multiple: true
46+
options:
47+
- "3.11"
48+
- "3.12"
49+
- "3.13"
50+
- "3.14"
51+
- "3.15"
52+
- "3.16"
53+
- "CPython main branch"
54+
validations:
55+
required: true
56+
- type: textarea
57+
id: patch
58+
attributes:
59+
label: Suggested fix
60+
description: Ideally, a minimal patch with the mitigation.
61+
validations:
62+
required: false
63+
- type: checkboxes
64+
id: checklist
65+
attributes:
66+
label: Before submitting
67+
options:
68+
- label: I have read the security policy and evaluated this report against it.
69+
required: true
70+
- label: I have checked that this issue is not already resolved on the `main` branch.
71+
required: true
72+
- label: I have verified the factual validity of everything in this report, including any content produced by an LLM.
73+
required: true

‎.github/dependabot.yml‎

Lines changed: 132 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ updates:
77
labels:
88
- "skip issue"
99
- "skip news"
10-
ignore:
11-
- dependency-name: "*"
12-
update-types:
13-
- "version-update:semver-minor"
14-
- "version-update:semver-patch"
1510
groups:
1611
actions:
1712
patterns:
@@ -21,12 +16,141 @@ updates:
2116
# Cooldowns protect against supply chain attacks by avoiding the
2217
# highest-risk window immediately after new releases.
2318
default-days: 14
19+
2420
- package-ecosystem: "pip"
2521
directory: "/Tools/"
2622
schedule:
2723
interval: "quarterly"
28-
labels:
29-
- "skip issue"
30-
- "skip news"
24+
labels: ["skip issue", "skip news"]
25+
groups:
26+
pip:
27+
patterns: ["*"]
28+
cooldown:
29+
default-days: 14
30+
31+
- package-ecosystem: "npm"
32+
directory: "/Platforms/emscripten/browser_test/"
33+
schedule:
34+
interval: "quarterly"
35+
labels: ["OS-emscripten", "skip issue", "skip news"]
36+
groups:
37+
npm:
38+
patterns: ["*"]
39+
cooldown:
40+
default-days: 14
41+
42+
# Release branches: Dependabot only reads this file from the default
43+
# branch, so each branch that should get its own actions bumps needs an
44+
# entry here with `target-branch`. Add one when a new release branch is
45+
# created, and remove when the branch reaches end-of-life.
46+
- package-ecosystem: "github-actions"
47+
target-branch: "3.15"
48+
directory: "/"
49+
schedule:
50+
interval: "quarterly"
51+
labels: ["skip issue", "skip news"]
52+
groups:
53+
actions:
54+
patterns: ["*"]
55+
cooldown:
56+
default-days: 14
57+
58+
- package-ecosystem: "github-actions"
59+
target-branch: "3.14"
60+
directory: "/"
61+
schedule:
62+
interval: "quarterly"
63+
labels: ["skip issue", "skip news"]
64+
groups:
65+
actions:
66+
patterns: ["*"]
67+
cooldown:
68+
default-days: 14
69+
70+
- package-ecosystem: "github-actions"
71+
target-branch: "3.13"
72+
directory: "/"
73+
schedule:
74+
interval: "quarterly"
75+
labels: ["skip issue", "skip news"]
76+
groups:
77+
actions:
78+
patterns: ["*"]
79+
cooldown:
80+
default-days: 14
81+
82+
- package-ecosystem: "github-actions"
83+
target-branch: "3.12"
84+
directory: "/"
85+
schedule:
86+
interval: "quarterly"
87+
labels: ["skip issue", "skip news"]
88+
groups:
89+
actions:
90+
patterns: ["*"]
91+
cooldown:
92+
default-days: 14
93+
94+
- package-ecosystem: "github-actions"
95+
target-branch: "3.11"
96+
directory: "/"
97+
schedule:
98+
interval: "quarterly"
99+
labels: ["skip issue", "skip news"]
100+
groups:
101+
actions:
102+
patterns: ["*"]
103+
cooldown:
104+
default-days: 14
105+
106+
# Only bump bugfix branches for pip. Remove
107+
# the entry when branch goes security-only.
108+
- package-ecosystem: "pip"
109+
target-branch: "3.15"
110+
directory: "/Tools/"
111+
schedule:
112+
interval: "quarterly"
113+
labels: ["skip issue", "skip news"]
114+
groups:
115+
pip:
116+
patterns: ["*"]
117+
cooldown:
118+
default-days: 14
119+
120+
- package-ecosystem: "pip"
121+
target-branch: "3.14"
122+
directory: "/Tools/"
123+
schedule:
124+
interval: "quarterly"
125+
labels: ["skip issue", "skip news"]
126+
groups:
127+
pip:
128+
patterns: ["*"]
129+
cooldown:
130+
default-days: 14
131+
132+
# Only bump bugfix branches for npm. Remove
133+
# the entry when branch goes security-only.
134+
- package-ecosystem: "npm"
135+
target-branch: "3.15"
136+
directory: "/Platforms/emscripten/browser_test/"
137+
schedule:
138+
interval: "quarterly"
139+
labels: ["OS-emscripten", "skip issue", "skip news"]
140+
groups:
141+
npm:
142+
patterns: ["*"]
143+
cooldown:
144+
default-days: 14
145+
146+
- package-ecosystem: "npm"
147+
target-branch: "3.14"
148+
directory: "/Platforms/emscripten/browser_test/"
149+
schedule:
150+
interval: "quarterly"
151+
labels: ["OS-emscripten", "skip issue", "skip news"]
152+
groups:
153+
npm:
154+
patterns: ["*"]
31155
cooldown:
32156
default-days: 14

0 commit comments

Comments
 (0)