Skip to content

[3.14] GH-134774: fix 'Py_DEBUG': macro redefinition warnings for Windows debug builds #134790

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 269 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
caeb422
gh-133597: Fix memory leak if error occurred in _sys_getwindowsversio…
miss-islington May 8, 2025
863722b
[3.14] gh-133454: Mark tests with many threads that use much memory a…
miss-islington May 8, 2025
1534969
[3.14] gh-133581: Improve AST unparsing of t-strings (GH-133635) (#13…
miss-islington May 8, 2025
dc1a4dd
[3.14] gh-131031: Fix test_pickle when invoked directly (GH-133356) (…
miss-islington May 8, 2025
1059548
[3.14] gh-132775: Add _PyCode_GetScriptXIData() (gh-133676)
miss-islington May 8, 2025
8f071bc
[3.14] gh-132886: use relaxed atomics for `sock_fd` in gil builds in …
miss-islington May 8, 2025
3e7552e
[3.14] gh-132762: Fix underallocation bug in `dict.fromkeys()`(gh-133…
miss-islington May 8, 2025
cc6cf8a
[3.14] gh-133403: Check `Tools/build/verify_ensurepip_wheels.py` with…
miss-islington May 8, 2025
3fcb9af
Adds docs to help with troubleshooting pip installs. (GH-133692)
miss-islington May 8, 2025
8806d0f
[3.14] gh-103092: Support subinterpreters in ``_zstd`` (GH-133674) (#…
miss-islington May 8, 2025
7964489
[3.14] Fix typo in pending-removal-in-3.14.rst (GH-133680) (GH-133697)
miss-islington May 8, 2025
add970f
gh-133626: Ensure the traditional Windows installer doesn't accidenta…
miss-islington May 8, 2025
0c340d1
[3.14] gh-133541: Handle SyntaxError raised by the tokenizer on user …
miss-islington May 8, 2025
4c6fa89
[3.14] gh-133467: Add TSAN suppressions for races in typeobject (gh-1…
miss-islington May 8, 2025
8e86f9c
[3.14] gh-132917: Use /proc/self/status for mem usage info. (GH-13354…
miss-islington May 8, 2025
3937c78
[3.14] gh-69426: HTMLParser: only unescape properly terminated charac…
miss-islington May 9, 2025
47d4947
[3.14] gh-133412: amend docs for the `inst` definition (GH-133708) (#…
miss-islington May 9, 2025
92d5677
[3.14] gh-133581: Fix refleak in t-string AST unparsing (GH-133724) (…
miss-islington May 9, 2025
beb8a50
[3.14] gh-133439: Fix dot commands with trailing spaces are mistaken …
miss-islington May 9, 2025
9a77637
[3.14] gh-133644: update `Py_InteractiveFlag` deprecation notice (GH-…
miss-islington May 9, 2025
a100a2b
[3.14] Manpage: -X gil is not related to PYTHON_HISTORY (GH-133753) (…
miss-islington May 9, 2025
94a823f
[3.14] Docs: use boolean constants for returning boolean value (GH-13…
miss-islington May 9, 2025
52d89f5
[3.14] gh-133682: Fix inconsistent set ordering in annotationlib test…
miss-islington May 9, 2025
5dddedf
[3.14] GH-132983: Remove subclassing support from zstd types (GH-1336…
miss-islington May 9, 2025
bd6aad0
[3.14] gh-133403: Check `Tools/build/generate-build-details.py` with …
miss-islington May 9, 2025
2df021d
[3.14] gh-132983: Clean-ups for ``_zstd`` (GH-133670) (#133756)
miss-islington May 9, 2025
b6c5551
[3.14] GH-132983: Restore libzstd fallback detection (GH-133565) (#13…
miss-islington May 9, 2025
9ad1516
[3.14] gh-46236: Document PyUnicode_BuildEncodingMap (GH-133270) (#13…
miss-islington May 9, 2025
4e57e21
[3.14] gh-123299: Some copyedits to What's New in 3.14 (GH-133622) (#…
miss-islington May 9, 2025
5e730a8
[3.14] gh-133741: Fix _can_strace(): check --trace option (GH-133766)…
miss-islington May 9, 2025
359696f
[3.14] gh-133519: Add console to resources in libregrtest (GH-133520)…
miss-islington May 9, 2025
da41ce6
[3.14] Update HTTP links in the _pydatetime docstrings (GH-133025) (G…
miss-islington May 9, 2025
aaeca91
[3.14] gh-133532: Run GC fast cycles test in subprocess. (gh-133533) …
miss-islington May 9, 2025
5796e3b
[3.14] gh-132983: Simplify ``_zstd_exec()`` (GH-133775) (#133786)
miss-islington May 9, 2025
9023b6f
[3.14] GH-132983: remove empty_bytes from _zstd module state (GH-1337…
miss-islington May 9, 2025
d9571c9
[3.14] GH-132983: PEP 7 and Argument Clinic changes for zstd (GH-1337…
miss-islington May 10, 2025
f6a4604
[3.14] Fix a typo in Misc/NEWS.d/3.140a1.rst (GH-133790) (#133798)
miss-islington May 10, 2025
99ca086
[3.14] gh-132983: Don't allow trailer data in ZstdFile (GH-133736) (#…
miss-islington May 10, 2025
62109c4
[3.14] gh-133009: fix UAF in `xml.etree.ElementTree.Element.__deepcop…
miss-islington May 10, 2025
4b78cbd
[3.14] gh-132971: Update shutil.which() docs (GH-133067) (#133803)
miss-islington May 10, 2025
10cd1aa
[3.14] gh-115999: Note Python 3.14 free-threaded changes in What's Ne…
miss-islington May 10, 2025
f3f22f9
[3.14] Tiny doc fix to double up backslashes in a Windows filesystem …
miss-islington May 10, 2025
381159b
[3.14] gh-77057: Fix handling of invalid markup declarations in HTMLP…
miss-islington May 10, 2025
6dc12da
[3.14] gh-117088: Fix AIX build (GH-132595) (GH-133838)
miss-islington May 10, 2025
13c94d0
[3.14] gh-132642: document how to render human-readable `timedelta` o…
miss-islington May 10, 2025
856e590
[3.14] gh-133783: Fix __replace__ on AST nodes for optional attribute…
miss-islington May 10, 2025
e7e105f
[3.14] gh-86155: Fix data loss after unclosed script or style tag in …
miss-islington May 10, 2025
39485d5
[3.14] Add classmethod to setUpClass in test_pdb (GH-133840) (#133846)
miss-islington May 10, 2025
f7c441c
[3.14] gh-132983: Reduce the size of ``_zstdmodule.h`` (GH-133793) (#…
miss-islington May 10, 2025
da1e5c4
[3.14] gh-133336: Remove comment about reserved -J in ``initconfig.c`…
miss-islington May 10, 2025
1e8a534
[3.14] gh-132983: Make zstd types immutable (GH-133784) (#133857)
miss-islington May 10, 2025
2b761d1
[3.14] gh-132983: Remove leftovers from EndlessZstdDecompressor (GH-1…
miss-islington May 11, 2025
5c9f0ae
gh-133703: dict: fix calculate_log2_keysize() (GH-133809)
miss-islington May 11, 2025
f7d7248
[3.14] gh-133823: update "Pending Removal in 3.15" notes about `Typed…
miss-islington May 11, 2025
98ef483
[3.14] gh-133590: ensure that `TableEntry.linenumber_borrow` is initi…
miss-islington May 11, 2025
507715d
[3.14] gh-133893: asyncio.graph: Replace TextIO annotation with io.Wr…
miss-islington May 11, 2025
a3475e6
[3.14] gh-119180: More documentation for PEP 649/749 (GH-133552) (#13…
miss-islington May 11, 2025
94938ca
[3.14] gh-119180: annotationlib: Fix values of Format members in docs…
miss-islington May 11, 2025
f5d2d73
[3.14] gh-133744: Fix multiprocessing interrupt test: add an event (G…
miss-islington May 12, 2025
cedc37a
[3.14] gh-91555: disable logger while handling log record (GH-131812)…
miss-islington May 12, 2025
ecc12bf
[3.14] gh-133904: Fix `math.factorial` documentation (GH-133907) (#13…
miss-islington May 12, 2025
89c801b
[3.14] gh-133925: Make typing._UnionGenericAlias hashable (GH-133929)…
miss-islington May 12, 2025
c11fc4b
[3.14] gh-133677: Fix tests when running in non-UTF-8 locale (GH-1338…
miss-islington May 12, 2025
c15980b
[3.14] gh-133653: Fix argparse.ArgumentParser with the formatter_clas…
miss-islington May 12, 2025
5ba525c
[3.14] gh-133413: Fix references to removed Request.has_data (GH-1334…
miss-islington May 12, 2025
c1aa5f8
[3.14] gh-132983: Fix compiler warning about unused function ``mt_con…
miss-islington May 12, 2025
3467656
[3.14] gh-132775: Add _PyFunction_GetXIData() (gh-133955)
miss-islington May 12, 2025
198dc8d
[3.14] gh-133885: skip `test_compress_locking` in `test_zstd` (GH-133…
miss-islington May 13, 2025
f0a7a6c
[3.14] gh-133886: Fix sys.remote_exec() for non-UTF-8 paths (GH-13388…
miss-islington May 13, 2025
69b4387
[3.14] gh-133767: Fix use-after-free in the unicode-escape decoder wi…
miss-islington May 13, 2025
5632e93
[3.14] gh-133968: Add fast path to PyUnicodeWriter_WriteStr() (GH-133…
miss-islington May 13, 2025
24847d0
gh-133928: Improvements to using/windows.rst (GH-133952)
miss-islington May 13, 2025
b94a63c
[3.14] gh-132983: Fix small issues with zstd support in zipfile (GH-1…
miss-islington May 13, 2025
66d6860
[3.14] gh-132641: fix race in `lru_cache` under free-threading (GH-13…
miss-islington May 14, 2025
275c8d5
[3.14] Remove trailing whitespace from python.gram (GH-133858) (#133990)
miss-islington May 14, 2025
a962934
[3.14] gh-132983: Style improvements for `compression.zstd` (GH-13354…
miss-islington May 14, 2025
d6cb8fa
[3.14] gh-133701: Fix incorrect `__annotations__` on TypedDict define…
miss-islington May 14, 2025
ea15c55
[3.14] Docs: remove link elements in builders other than HTML (GH-133…
miss-islington May 14, 2025
4adb1dd
[3.14] Improve tests for str to Fraction conversion (GH-134010) (GH-1…
miss-islington May 14, 2025
b6299e8
[3.14] gh-133986: Document string split algorithm when sep is None an…
miss-islington May 15, 2025
f2a4b10
[3.14] gh-133970: Make PEP750 types generic (GH-133976) (#134029)
miss-islington May 15, 2025
fede4ed
[3.14] Test also error messages in test_limit_int. (GH-134018) (GH-13…
miss-islington May 15, 2025
620065c
[3.14] gh-133403: Check `Tools/build/deepfreeze.py` with mypy (GH-133…
miss-islington May 15, 2025
29d69e8
[3.14] gh-77065: add missing parameter `echo_char` in `getpass.fallba…
miss-islington May 15, 2025
31deafb
[3.14] gh-133410: Fix PR detection in build workflow (GH-133671) (#13…
miss-islington May 15, 2025
438f464
[3.14] gh-77065: Use `putwch` instead of `putch` in `getpass.win_getp…
miss-islington May 15, 2025
ba06ccb
Improve the administrative install docs for Python Install Manager (G…
miss-islington May 15, 2025
5374762
[3.14] gh-130000: Release the GIL in winreg when doing Windows API ca…
miss-islington May 16, 2025
7725ba8
[3.14] gh-134069: bump HACL* revision to incoporate `memset_s` (GH-13…
miss-islington May 16, 2025
dda5dc5
[3.14] gh-132388: test HACL* and OpenSSL hash functions in pure Pytho…
miss-islington May 16, 2025
fe5636e
[3.14] gh-124210: Add introduction to `threading` docs (GH-127046) (#…
miss-islington May 16, 2025
2d00484
[3.14] gh-133515: fix docs for unawaited coroutines in debug mode (GH…
miss-islington May 16, 2025
c8dcde4
[3.14] gh-133286: add explanation about `seq` for pathlib Pattern Lan…
miss-islington May 16, 2025
7a5851d
[3.14] gh-117026: Remove outdated sentence in SimpleHTTPRequestHandle…
miss-islington May 16, 2025
f893232
[3.14] gh-134109: Fix showing comments in pydoc output for argparse (…
miss-islington May 16, 2025
5cdad8c
[3.14] gh-133889: Improve tests for SimpleHTTPRequestHandler (GH-1341…
miss-islington May 17, 2025
d7230e1
[3.14] gh-134098: Fix handling %-encoded trailing slash in SimpleHTTP…
miss-islington May 17, 2025
075cabb
[3.14] gh-133881: add forward reference to `list.sort()` in lambda ex…
miss-islington May 17, 2025
851b26f
[3.14] gh-113878: fix `versionadded` in `dataclasses.field()` documen…
miss-islington May 17, 2025
9f1307a
[3.14] Docs: C API: Improve documentation around non-Python threads w…
miss-islington May 17, 2025
b43e1d0
[3.14] Docs: fix spelling of "test case" in `unittest` documentation …
miss-islington May 17, 2025
cca18fc
[3.14] gh-88275: Add missing `__init__` method to `match` example (GH…
miss-islington May 17, 2025
1ba5e65
[3.14] gh-134119: Fix crash from calling next() on exhausted template…
miss-islington May 17, 2025
eaee2ae
[3.14] gh-134064: Fix sys.remote_exec() error checking (GH-134067) (#…
miss-islington May 17, 2025
bf39dec
[3.14] gh-134150: Clarify distinction between JSON and Python objects…
miss-islington May 18, 2025
8d51ed6
[3.14] gh-134100: Fix use-after-free in `PyImport_ImportModuleLevelOb…
miss-islington May 18, 2025
bb5f92a
[3.14] gh-134144: Fix use-after-free in zapthreads() (GH-134145) (#13…
miss-islington May 18, 2025
11650c3
[3.14] fix indent in `controlflow.rst` docs (GH-134008) (#134184)
miss-islington May 18, 2025
76957eb
[3.14] document `Py_VISIT` as a macro in the docs (GH-133688) (#134186)
miss-islington May 18, 2025
7073587
[3.14] gh-133889: Only show the path of the URL in the SimpleHTTPRequ…
miss-islington May 18, 2025
91d71ac
[3.14] gh-134060: Don't create a certain symlink in venv if platform …
StanFromIreland May 18, 2025
9136ccf
[3.14] gh-76023: Make os.path.realpath to ignore WinError 1005 in non…
miss-islington May 19, 2025
d9c08c5
[3.14] gh-133999: Fix `except` parsing regression in 3.14 (GH-134035)…
miss-islington May 19, 2025
e3cc400
[3.14] gh-122055: Clarify documentation for empty matches in RE (GH-1…
miss-islington May 19, 2025
182464e
[3.14] gh-134097: Print number of refs & blocks after each statement …
miss-islington May 19, 2025
a3c3d6f
[3.14] gh-134158: Fix PyREPL coloring of double braces in f/t-strings…
miss-islington May 19, 2025
7d995ea
[3.14] gh-134214: Fix test case in pyrepl (gh-134223) (gh-134229)
miss-islington May 19, 2025
c869898
[3.14] gh-128045: Mark unknown opcodes as deopting to themselves (GH-…
miss-islington May 19, 2025
89b744a
[3.14] gh-125225: Fix column misalignment in help('topics') output (g…
miss-islington May 19, 2025
7686c75
[3.14] gh-133779: Revert Windows generation of pyconfig.h and go back…
zooba May 19, 2025
7cbc3ea
[3.14] gh-134235: Import Autocomplete for Builtin Modules (GH-134277)…
miss-islington May 19, 2025
e20f05f
[3.14] gh-134201: Expand explanation of Base85 encodings in base64 do…
miss-islington May 20, 2025
4effd06
[3.14] gh-132983: Convert zstd ``__new__`` methods to Argument Clinic…
miss-islington May 20, 2025
07a2033
[3.14] gh-132983: Call Py_XDECREF rather than PyObject_GC_Del in fail…
miss-islington May 20, 2025
90aa13a
[3.14] gh-133374: fix test_python_legacy_windows_stdio (GH-134080) (G…
miss-islington May 20, 2025
9be3413
[3.14] Clean up test_posixpath (GH-134315) (GH-134316)
miss-islington May 20, 2025
ccaf865
[3.14] gh-131505: Move len boundary assertions before using len. (GH-…
miss-islington May 20, 2025
9c73a4d
[3.14] gh-133940: test_strftime incorrectly calculates expected week …
miss-islington May 20, 2025
c23bdc2
[3.14] gh-133890: Handle UnicodeEncodeError in tarfile (GH-134147) (G…
miss-islington May 20, 2025
a3fa725
[3.14] gh-53189: Document peculiarities of InteractiveConsole in rela…
miss-islington May 20, 2025
7e67b36
[3.14] gh-117596: Add more tests for os.path with invalid paths (GH-1…
miss-islington May 20, 2025
2dedf5e
[3.14] gh-62824: Add alias for iso-8859-8-i which is the same as iso…
miss-islington May 20, 2025
b9a7e79
[3.14] gh-128307: Update what's new in 3.13 and 3.14 with create_task…
miss-islington May 20, 2025
ff0facd
[3.14] gh-101100: Fix Sphinx warnings in `library/decimal.rst` (GH-13…
miss-islington May 20, 2025
dc5866a
[3.14] gh-129748: Update mimalloc to use atomic store for mi_block_se…
miss-islington May 20, 2025
8e8d5c9
[3.14] gh-132542: Set native thread ID after fork (GH-132701) (GH-134…
miss-islington May 20, 2025
402d983
[3.14] gh-128002: add what's new docs for `asyncio` (GH-134324) (#134…
miss-islington May 20, 2025
6d4b56d
[3.14] gh-127945: Update What's New in Python 3.14 for free-threaded …
miss-islington May 20, 2025
6074e1e
[3.14] gh-75459: Doc: C API: Improve object life cycle documentation …
miss-islington May 20, 2025
6ce2045
[3.14] GH-133779: Fix finding pyconfig.h on Windows JIT builds (GH-13…
miss-islington May 20, 2025
efdaae5
[3.14] gh-86802: Fix asyncio memory leak; shielded task exceptions lo…
miss-islington May 20, 2025
2d90cc8
[3.14] gh-106213: Shorten Emscripten wasm-gc trampoline by a little (…
miss-islington May 20, 2025
a2950d5
[3.14] gh-131357: Add tests for zero-sized bytes objects in test_byte…
miss-islington May 20, 2025
6f1f871
[3.14] gh-127146: xfail more Emscripten stack overflows (GH-134358) (…
miss-islington May 20, 2025
899ce7d
[3.14] gh-85045: clarified that the underlying buffer of a TextIOBase…
miss-islington May 20, 2025
379805d
[3.14] gh-128066: Properly handle history file writes for RO fs on Py…
miss-islington May 20, 2025
04829d4
[3.14] gh-134209: use heap-allocated memory in `_curses.window.{instr…
miss-islington May 20, 2025
69710b7
[3.14] gh-134215: PyREPL: Do not show underscored modules by default …
miss-islington May 20, 2025
81c348b
GH-130727: Avoid race condition in _wmimodule by copying shared data …
miss-islington May 20, 2025
e379a71
[3.14] gh-91048: Fix error path result in _remote_debugging_module (G…
miss-islington May 21, 2025
af428a3
[3.14] gh-72680: Fix false positives when using zipfile.is_zipfile() …
miss-islington May 21, 2025
64047f7
[3.14] gh-134360 Add processName attribute to `logging.Formatter` doc…
miss-islington May 21, 2025
b0bf48a
[3.14] Add documentation for remote debugging with pdb (GH-134260) (#…
miss-islington May 21, 2025
87d7a19
[3.14] gh-133980: use atomic store in `PyObject_GenericSetDict` (GH-1…
miss-islington May 21, 2025
7c3e215
[3.14] gh-132542: Only run test_native_id_after_fork if native_id is …
miss-islington May 21, 2025
ac27008
[3.14] Fix signature of `_curses.assume_default_colors` in the docs (…
miss-islington May 21, 2025
f7cdee9
[3.14] gh-110631: Fix some incorrect indents in the documentation (GH…
miss-islington May 21, 2025
9be568e
[3.14] gh-132983: Add documentation for compression.zstd (GH-133911) …
miss-islington May 21, 2025
f1a9d89
[3.14] gh-90871: fix connection backlog offset in asyncio (gh-134392)…
miss-islington May 21, 2025
cd3395a
[3.14] gh-132246: Add special buffer methods to C API Type Object doc…
miss-islington May 21, 2025
2ffc10b
[3.14] gh-132775: Support Fallbacks in _PyObject_GetXIData() (gh-134418)
miss-islington May 21, 2025
c612a4d
[3.14] gh-133982: Update test_bufio to use self.open (gh-133983) (gh-…
miss-islington May 21, 2025
74dde92
[3.14] gh-71253: Match _io exception in _pyio (gh-133985) (gh-134430)
miss-islington May 21, 2025
fade04e
[3.14] gh-133982: Run unclosed file test on all io implementations (g…
miss-islington May 21, 2025
17bf6ab
[3.14] gh-62184: Remove _pyio import of _io.FileIO (gh-134192) (gh-13…
miss-islington May 21, 2025
cdc92cd
[3.14] gh-132983: Refactor shared code in train_dict and finalize_dic…
miss-islington May 21, 2025
6ea83e0
[3.14] gh-134026: Fix grammar description of for statement (GH-134034…
miss-islington May 21, 2025
df6d9e7
[3.14] gh-80050: Update BufferedReader.read docs around non-blocking …
miss-islington May 21, 2025
f8ced87
[3.14] gh-132124: improve safety nets for creating AF_UNIX socket fil…
miss-islington May 21, 2025
11d77d2
[3.14] gh-132983: Fix refleak in zstd dictionary functions (gh-134463)
miss-islington May 21, 2025
93ab55b
[3.14] gh-132775: Use _PyFunction_VerifyStateless() and _PyCode_Verif…
miss-islington May 21, 2025
9989915
[3.14] gh-127960 Fix the REPL to set the correct namespace by setting…
miss-islington May 22, 2025
4e9248f
[3.14] gh-134062: Fix hash collisions in IPv4Network and IPv6Network …
miss-islington May 22, 2025
03a2112
[3.14] gh-134309: Add ``github.actor`` to the GitHub Actions concurre…
miss-islington May 22, 2025
9cef5c1
[3.14] Add notes on nogil & reinitialization to the Opt-Out section i…
miss-islington May 22, 2025
64c265a
[3.14] gh-131357: Add some extra tests for empty bytes and bytearray …
miss-islington May 22, 2025
d5f7e80
[3.14] Consistent sentence case in docs template files (GH-134412) (#…
miss-islington May 22, 2025
db98e0b
[3.14] gh-71339: Use new assertion methods in tests (GH-129046) (GH-1…
miss-islington May 22, 2025
59cb829
[3.14] gh-134455: Fix `build-details.json` to use the ``c_api.headers…
miss-islington May 22, 2025
85c8c0a
[3.14] gh-132775: Use _PyObject_GetXIData (With Fallback) (gh-134507)
miss-islington May 22, 2025
7e73918
[3.14] gh-134370: Added clarification on instance annotations (GH-134…
miss-islington May 22, 2025
ced49a1
[3.14] gh-134323: Fix the new `threading.RLock.locked` method (GH-134…
miss-islington May 22, 2025
c31b25c
[3.14] gh-133740: Fix locale.nl_langinfo(ALT_DIGITS) (GH-134468) (#13…
miss-islington May 22, 2025
bbf8048
[3.14] gh-132775: Use _PyCode GetScriptXIData() (gh-134515)
miss-islington May 22, 2025
068d570
[3.14] gh-134322: Fix `repr(threading.RLock)` (GH-134389) (#134528)
miss-islington May 22, 2025
04e2dd6
[3.14] gh-132775: Make _PyXI_session Opaque (gh-134522)
miss-islington May 22, 2025
7480e50
[3.14] gh-132775: Fix Recently Introduced Warnings (gh-134532)
miss-islington May 22, 2025
37c2c8c
[3.14] Docs: Add note to tutorial clarifying scope (GH-134534) (#134536)
miss-islington May 22, 2025
06a3a85
[3.14] Avoid `__file__` in `hashlib` example (GH-134540) (#134549)
miss-islington May 22, 2025
15e26ee
[3.14] GH-130397: remove special-casing of C stack depth for WASI (GH…
miss-islington May 22, 2025
8f4bf15
[3.14] GH-131769: fix detecting a pydebug build of the build Python w…
brettcannon May 22, 2025
ee3a0ef
[3.14] Docs: fix link in free-threading-python.rst (GH-134548) (#134555)
miss-islington May 23, 2025
1cdbb33
[3.14] gh-128307: Update docs for asyncio.create_task, TaskGroup.crea…
miss-islington May 23, 2025
c67eb41
[3.14] gh-114177: avoid calling connection lost callbacks when loop i…
miss-islington May 23, 2025
73967c4
[3.14] gh-134451: Converted `asyncio.tools.CycleFoundException` from …
miss-islington May 23, 2025
7efe67a
[3.14] gh-106318: Add example for `str.center()` (GH-134518) (#134571)
miss-islington May 23, 2025
896b745
[3.14] gh-106318: Add example for `str.count()` (GH-134519) (#134574)
miss-islington May 23, 2025
8167594
[3.14] gh-133885: Use locks instead of critical sections for _zstd (g…
miss-islington May 23, 2025
adb0794
[3.14] Further improves Advanced installation docs for PyManager (GH-…
miss-islington May 23, 2025
6e60586
[3.14] gh-133454: Reduce the number of threads in test_racing_getbuf_…
miss-islington May 23, 2025
09a34f1
[3.14] gh-134381: Fix RuntimeError when starting not-yet started Thre…
miss-islington May 23, 2025
7476f90
[3.14] gh-134557: Revert "[3.14] gh-132775: Use _PyCode GetScriptXID…
ericsnowcurrently May 23, 2025
f301af6
[3.14] gh-132983: Slightly tweak error messages for _zstd compressor/…
miss-islington May 23, 2025
38a3824
[3.14] gh-132983: Make _zstd C code PEP 7 compliant (GH-134605) (#134…
miss-islington May 24, 2025
576177d
[3.14] gh-128840: Limit the number of parts in IPv6 address parsing (…
miss-islington May 24, 2025
de9444e
[3.14] gh-134546: ensure remote pdb script is readable (GH-134552) (#…
miss-islington May 24, 2025
00fd544
[3.14] gh-80334: fix multiprocessing.freeze_support for other spawn p…
miss-islington May 24, 2025
162e3f3
[3.14] gh-134595: Update HOWTO to reflect change in CIBW option (GH-1…
miss-islington May 24, 2025
81f0993
[3.14] gh-134168: fix `http.server` CLI support for IPv6 and `--direc…
picnixz May 24, 2025
80d70de
[3.14] gh-134578: Mark more slow tests (GH-134579) (GH-134590)
miss-islington May 24, 2025
93aee56
[3.14] GH-130328: Speedup pasting in legacy console on Windows (gh-13…
miss-islington May 25, 2025
d82d445
[3.14] gh-133778: Fix setting `__annotations__` under PEP 563 (GH-133…
miss-islington May 25, 2025
cbf4ccf
[3.14] gh-133684: Fix get_annotations() where PEP 563 is involved (GH…
miss-islington May 25, 2025
c61fd7c
[3.14] gh-134582: Fix t-strings untokenize() roundtrip removing space…
miss-islington May 25, 2025
8c66534
[3.14] annotationlib docs: note that ForwardRef.evaluate eventually d…
miss-islington May 25, 2025
9c6d2db
[3.14] gh-133960: Improve typing.evaluate_forward_ref (GH-133961) (#1…
miss-islington May 25, 2025
6917fbf
[3.14] GH-130328: Fix WindowsConsoleGetEventTests after gh-133728 (gh…
miss-islington May 25, 2025
f5a8bfa
[3.14] Fix sphinx-lint warnings (default-role used). (GH-134647) (#13…
miss-islington May 25, 2025
f68f05c
[3.14] gh-115999: Add PyCodeObject.co_tlbc to the debug offsets (GH-1…
miss-islington May 25, 2025
1822f33
[3.14] gh-91048: Refactor and optimize remote debugging module (#1346…
pablogsal May 25, 2025
7216f7b
[3.14] gh-69605: Disable PyREPL module autocomplete fallback on regul…
miss-islington May 25, 2025
16187b5
[3.14] gh-132876: workaround broken ldexp() on Windows 10 (GH-133135)…
miss-islington May 26, 2025
ebfd18b
[3.14] gh-127833: lexical analysis: Improve section on Names (GH-1314…
miss-islington May 26, 2025
1ce68f6
[3.14] gh-134152: Fix UnboundLocalError in email._header_value_parser…
miss-islington May 26, 2025
dc441ef
[3.14] gh-132493: Remove __annotations__ usage in inspect._signature_…
miss-islington May 26, 2025
ed52549
[3.14] gh-134208: remove dead AC directives for `_curses.window.{chga…
picnixz May 26, 2025
c8379c7
[3.14] gh-134559: Add versionadded for ``object.__replace__()`` (GH-1…
miss-islington May 26, 2025
072f50f
[3.14] gh-132710: only use stable `_uuid.generate_time_safe()` to ded…
picnixz May 26, 2025
da3d554
[3.14] gh-132710: add missing NEWS entry for GH-134697 (GH-134705) (#…
miss-islington May 26, 2025
6c917cb
[3.14] gh-91048: Correct Apple platform includes for iOS. (GH-134712)…
miss-islington May 26, 2025
12d3f88
Python 3.14.0b2
hugovk May 26, 2025
01ccc82
[3.14] Add CODEOWNERS for remote debugging (GH-134720) (#134721)
miss-islington May 26, 2025
aded785
[3.14] gh-91048: Add better error messages for remote debugging for C…
miss-islington May 26, 2025
2a08924
[3.14] gh-134693: Fix `[-Wmaybe-uninitialized]` warning in `_remote_d…
miss-islington May 26, 2025
9ddc7c5
[3.14] gh-119180: Updates to PEP 649/749 docs (GH-134640) (#134731)
miss-islington May 26, 2025
b187e94
[3.14] Add CODEOWNERS and YAML to end-of-file-fixer and trailing-whit…
miss-islington May 26, 2025
cde768c
Post 3.14.0b2
hugovk May 26, 2025
8c69901
[3.14] gh-134637: Fix performance regression in calling `ctypes` func…
miss-islington May 26, 2025
bc3d892
Merge branch '3.14' of https://github.com/python/cpython into 3.14
hugovk May 26, 2025
c6cc282
[3.14] gh-134557: Suppress immortalization in _PyCode_GetScriptXIData…
miss-islington May 26, 2025
74f5667
[3.14] gh-134675: Add t-string prefixes to tokenizer module, lexical …
miss-islington May 26, 2025
e86efab
[3.14] gh-132775: Unrevert "Use _PyCode GetScriptXIData()" (gh-134736)
ericsnowcurrently May 26, 2025
b6e624a
[3.14] gh-134160: Use multi-phase init in documentation examples (GH-…
miss-islington May 26, 2025
0f93b2f
[3.14] gh-134664: document `cleanup_socket` parameter in `asyncio.sta…
miss-islington May 27, 2025
452d098
[3.14] gh-134752: Improve speed of test_tokenize.StringPrefixTest.tes…
miss-islington May 27, 2025
58549cf
[3.14] gh-134210: handle signals in `_curses.window.getch` (GH-134326…
miss-islington May 27, 2025
266b541
[3.14] gh-62824: Adjust test_alias_modules_exist test to use imports …
miss-islington May 27, 2025
00122c8
[3.14] GH-128161: Remove redundant GET_ITER from list comprehension c…
markshannon May 27, 2025
1f9dd9c
fix 'Py_DEBUG': macro redefinition warnings
chris-eibl May 27, 2025
8a5366a
blurb it
chris-eibl May 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*.ico binary
*.jpg binary
*.pck binary
*.pdf binary
*.png binary
*.psd binary
*.tar binary
Expand Down Expand Up @@ -67,6 +68,7 @@ PCbuild/readme.txt dos
**/clinic/*.cpp.h generated
**/clinic/*.h.h generated
*_db.h generated
Doc/c-api/lifecycle.dot.svg generated
Doc/data/stable_abi.dat generated
Doc/library/token-list.inc generated
Include/internal/pycore_ast.h generated
Expand Down
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -326,3 +326,8 @@ Modules/_xxtestfuzz/ @ammaraskar
**/*templateobject* @lysnikolaou
**/*templatelib* @lysnikolaou
**/*tstring* @lysnikolaou

# Remote debugging
Python/remote_debug.h @pablogsal
Python/remote_debugging.c @pablogsal
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
55 changes: 54 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@ permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
# 'group' must be a key uniquely representing a PR or push event.
# github.workflow is the workflow name
# github.actor is the user invoking the workflow
# github.head_ref is the source branch of the PR or otherwise blank
# github.run_id is a unique number for the current run
group: ${{ github.workflow }}-${{ github.actor }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
Expand Down Expand Up @@ -43,6 +49,53 @@ jobs:
if: fromJSON(needs.build-context.outputs.run-docs)
uses: ./.github/workflows/reusable-docs.yml

check-abi:
name: 'Check if the ABI has changed'
runs-on: ubuntu-22.04 # 24.04 causes spurious errors
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
sudo apt-get install -yq abigail-tools
- name: Build CPython
env:
CFLAGS: -g3 -O0
run: |
# Build Python with the libpython dynamic library
./configure --enable-shared
make -j4
- name: Check for changes in the ABI
id: check
run: |
if ! make check-abidump; then
echo "Generated ABI file is not up to date."
echo "Please add the release manager of this branch as a reviewer of this PR."
echo ""
echo "The up to date ABI file should be attached to this build as an artifact."
echo ""
echo "To learn more about this check: https://devguide.python.org/getting-started/setup-building/index.html#regenerate-the-abi-dump"
echo ""
exit 1
fi
- name: Generate updated ABI files
if: ${{ failure() && steps.check.conclusion == 'failure' }}
run: |
make regen-abidump
- uses: actions/upload-artifact@v4
name: Publish updated ABI files
if: ${{ failure() && steps.check.conclusion == 'failure' }}
with:
name: abi-data
path: ./Doc/data/*.abi

check-autoconf-regen:
name: 'Check if Autoconf files are up to date'
# Don't use ubuntu-latest but a specific version to make the job
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ on:
- "Lib/test/libregrtest/**"
- "Lib/tomllib/**"
- "Misc/mypy/**"
- "Tools/build/compute-changes.py"
- "Tools/build/deepfreeze.py"
- "Tools/build/generate_sbom.py"
- "Tools/build/generate-build-details.py"
- "Tools/build/verify_ensurepip_wheels.py"
- "Tools/build/update_file.py"
- "Tools/build/umarshal.py"
- "Tools/cases_generator/**"
- "Tools/clinic/**"
- "Tools/jit/**"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/reusable-context.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ jobs:
run: python Tools/build/compute-changes.py
env:
GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
GITHUB_EVENT_NAME: ${{ github.event_name }}
CCF_TARGET_REF: ${{ github.base_ref || github.event.repository.default_branch }}
CCF_HEAD_REF: ${{ github.event.pull_request.head.sha || github.sha }}

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/tail-call.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,3 @@ jobs:
CC=clang-20 ./configure --with-tail-call-interp --disable-gil
make all --jobs 4
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3

3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,3 @@ Python/frozen_modules/MANIFEST
# Ignore ./python binary on Unix but still look into ./Python/ directory.
/python
!/Python/

# main branch only: ABI files are not checked/maintained.
Doc/data/python*.abi
8 changes: 6 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,14 @@ repos:
exclude: ^Lib/test/test_tomllib/
- id: check-yaml
- id: end-of-file-fixer
types: [python]
types_or: [python, yaml]
exclude: Lib/test/tokenizedata/coding20731.py
- id: end-of-file-fixer
files: '^\.github/CODEOWNERS$'
- id: trailing-whitespace
types_or: [c, inc, python, rst, yaml]
- id: trailing-whitespace
types_or: [c, inc, python, rst]
files: '^\.github/CODEOWNERS|\.(gram)$'

- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.33.0
Expand Down
1 change: 0 additions & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,3 @@ build:
- make -C Doc venv html
- mkdir _readthedocs
- mv Doc/build/html _readthedocs/html

132 changes: 107 additions & 25 deletions Doc/c-api/allocation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,46 +16,128 @@ Allocating Objects on the Heap

Initialize a newly allocated object *op* with its type and initial
reference. Returns the initialized object. Other fields of the object are
not affected.
not initialized. Despite its name, this function is unrelated to the
object's :meth:`~object.__init__` method (:c:member:`~PyTypeObject.tp_init`
slot). Specifically, this function does **not** call the object's
:meth:`!__init__` method.

In general, consider this function to be a low-level routine. Use
:c:member:`~PyTypeObject.tp_alloc` where possible.
For implementing :c:member:`!tp_alloc` for your type, prefer
:c:func:`PyType_GenericAlloc` or :c:func:`PyObject_New`.

.. note::

This function only initializes the object's memory corresponding to the
initial :c:type:`PyObject` structure. It does not zero the rest.


.. c:function:: PyVarObject* PyObject_InitVar(PyVarObject *op, PyTypeObject *type, Py_ssize_t size)

This does everything :c:func:`PyObject_Init` does, and also initializes the
length information for a variable-size object.

.. note::

This function only initializes some of the object's memory. It does not
zero the rest.


.. c:macro:: PyObject_New(TYPE, typeobj)

Allocate a new Python object using the C structure type *TYPE*
and the Python type object *typeobj* (``PyTypeObject*``).
Fields not defined by the Python object header are not initialized.
The caller will own the only reference to the object
(i.e. its reference count will be one).
The size of the memory allocation is determined from the
:c:member:`~PyTypeObject.tp_basicsize` field of the type object.
Allocates a new Python object using the C structure type *TYPE* and the
Python type object *typeobj* (``PyTypeObject*``) by calling
:c:func:`PyObject_Malloc` to allocate memory and initializing it like
:c:func:`PyObject_Init`. The caller will own the only reference to the
object (i.e. its reference count will be one).

Avoid calling this directly to allocate memory for an object; call the type's
:c:member:`~PyTypeObject.tp_alloc` slot instead.

When populating a type's :c:member:`~PyTypeObject.tp_alloc` slot,
:c:func:`PyType_GenericAlloc` is preferred over a custom function that
simply calls this macro.

This macro does not call :c:member:`~PyTypeObject.tp_alloc`,
:c:member:`~PyTypeObject.tp_new` (:meth:`~object.__new__`), or
:c:member:`~PyTypeObject.tp_init` (:meth:`~object.__init__`).

This cannot be used for objects with :c:macro:`Py_TPFLAGS_HAVE_GC` set in
:c:member:`~PyTypeObject.tp_flags`; use :c:macro:`PyObject_GC_New` instead.

Memory allocated by this macro must be freed with :c:func:`PyObject_Free`
(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot).

.. note::

The returned memory is not guaranteed to have been completely zeroed
before it was initialized.

.. note::

This macro does not construct a fully initialized object of the given
type; it merely allocates memory and prepares it for further
initialization by :c:member:`~PyTypeObject.tp_init`. To construct a
fully initialized object, call *typeobj* instead. For example::

Note that this function is unsuitable if *typeobj* has
:c:macro:`Py_TPFLAGS_HAVE_GC` set. For such objects,
use :c:func:`PyObject_GC_New` instead.
PyObject *foo = PyObject_CallNoArgs((PyObject *)&PyFoo_Type);

.. seealso::

* :c:func:`PyObject_Free`
* :c:macro:`PyObject_GC_New`
* :c:func:`PyType_GenericAlloc`
* :c:member:`~PyTypeObject.tp_alloc`


.. c:macro:: PyObject_NewVar(TYPE, typeobj, size)

Allocate a new Python object using the C structure type *TYPE* and the
Python type object *typeobj* (``PyTypeObject*``).
Fields not defined by the Python object header
are not initialized. The allocated memory allows for the *TYPE* structure
plus *size* (``Py_ssize_t``) fields of the size
given by the :c:member:`~PyTypeObject.tp_itemsize` field of
*typeobj*. This is useful for implementing objects like tuples, which are
able to determine their size at construction time. Embedding the array of
fields into the same allocation decreases the number of allocations,
improving the memory management efficiency.
Like :c:macro:`PyObject_New` except:

* It allocates enough memory for the *TYPE* structure plus *size*
(``Py_ssize_t``) fields of the size given by the
:c:member:`~PyTypeObject.tp_itemsize` field of *typeobj*.
* The memory is initialized like :c:func:`PyObject_InitVar`.

This is useful for implementing objects like tuples, which are able to
determine their size at construction time. Embedding the array of fields
into the same allocation decreases the number of allocations, improving the
memory management efficiency.

Avoid calling this directly to allocate memory for an object; call the type's
:c:member:`~PyTypeObject.tp_alloc` slot instead.

When populating a type's :c:member:`~PyTypeObject.tp_alloc` slot,
:c:func:`PyType_GenericAlloc` is preferred over a custom function that
simply calls this macro.

This cannot be used for objects with :c:macro:`Py_TPFLAGS_HAVE_GC` set in
:c:member:`~PyTypeObject.tp_flags`; use :c:macro:`PyObject_GC_NewVar`
instead.

Memory allocated by this function must be freed with :c:func:`PyObject_Free`
(usually called via the object's :c:member:`~PyTypeObject.tp_free` slot).

.. note::

The returned memory is not guaranteed to have been completely zeroed
before it was initialized.

.. note::

This macro does not construct a fully initialized object of the given
type; it merely allocates memory and prepares it for further
initialization by :c:member:`~PyTypeObject.tp_init`. To construct a
fully initialized object, call *typeobj* instead. For example::

PyObject *list_instance = PyObject_CallNoArgs((PyObject *)&PyList_Type);

.. seealso::

Note that this function is unsuitable if *typeobj* has
:c:macro:`Py_TPFLAGS_HAVE_GC` set. For such objects,
use :c:func:`PyObject_GC_NewVar` instead.
* :c:func:`PyObject_Free`
* :c:macro:`PyObject_GC_NewVar`
* :c:func:`PyType_GenericAlloc`
* :c:member:`~PyTypeObject.tp_alloc`


.. c:function:: void PyObject_Del(void *op)
Expand All @@ -71,6 +153,6 @@ Allocating Objects on the Heap

.. seealso::

:c:func:`PyModule_Create`
:ref:`moduleobjects`
To allocate and create extension modules.

2 changes: 1 addition & 1 deletion Doc/c-api/code.rst
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ bound into a function.
Type of a code object watcher callback function.

If *event* is ``PY_CODE_EVENT_CREATE``, then the callback is invoked
after `co` has been fully initialized. Otherwise, the callback is invoked
after *co* has been fully initialized. Otherwise, the callback is invoked
before the destruction of *co* takes place, so the prior state of *co*
can be inspected.

Expand Down
2 changes: 1 addition & 1 deletion Doc/c-api/function.rst
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ There are a few functions specific to Python functions.
unpredictable effects, including infinite recursion.

If *event* is ``PyFunction_EVENT_CREATE``, then the callback is invoked
after `func` has been fully initialized. Otherwise, the callback is invoked
after *func* has been fully initialized. Otherwise, the callback is invoked
before the modification to *func* takes place, so the prior state of *func*
can be inspected. The runtime is permitted to optimize away the creation of
function objects when possible. In such cases no event will be emitted.
Expand Down
Loading
Loading