## python/cpython — v3.15.0a8…v3.15.0b1

_424+ commits._

### Features
- **gh-126910: Update 3.15 what's new to include GDB/backtrace integration (#149494)** (299cf3c)
- **gh-141560: Add annotation_format parameter to getfullargspec (#149457)** (ff422bd)
- **gh-133879: Copyedit "What's new in Python 3.15" (#149451)** (9514dd7)
- **gh-145559: Add PyUnstable_DumpTraceback() and PyUnstable_DumpTracebackThreads() (#148145)** (646853d)
- **gh-142307: deprecate legacy support for altering `IMAP4.file` (#142335)** (7b6c248)
- **gh-139489: Add xml.is_valid_text() (GH-149412)** (a5c7a74)
- **gh-148766: Add colour to Python help (#148767)** (e7613f2)
- **gh-146238: Add missing tests for 'e', 'Zf' and 'Zd' array type codes in test_buffer (#149345)** (ffa4d47)
- **gh-148641: Flesh out PEP 829 for What's New (#149347)** (762c9f9)
- **Add the posix dependencies to Ubuntu JIT builds (#149422)** (6b359a2)
- **gh-148726: Add gc changes to What's New (#149398)** (586c97a)
- **GH-126910: Add GNU backtrace support for unwinding JIT frames (#149104)** (1e5d942)
- **gh-139489: Add xml.is_valid_name() (GH-139768)** (a76d957)
- **gh-140550: Single What's New highlight for PEPs 793, 803 and 820 (GH-149397)** (02d02f4)
- **gh-149202: Highlight PEP 831 in What's New for Python 3.15 (#149390)** (88844d2)
- **gh-146256: Add `--jsonl` collector to the `profiling.sampling` (#146257)** (04ce318)
- **gh-146462: Add dict introspection debug offsets (#148633)** (8c79678)
- **gh-142389: Add support for backtick colorisation in argparse help text (#149375)** (ffe050a)
- **gh-142389: Add backticks to stdlib argparse help to display in colour (#149384)** (ef6f063)
- **gh-146406: Add cross-language method suggestions for builtin AttributeError (#146407)** (7acee98)
- **GH-148726: Add heap_size to generational GC (#149195)** (e89568f)
- **gh-138907: Support RFC 9309 in robotparser (GH-138908)** (bc285e5)
- **gh-145917: Add MIME types for TTC and Haptics formats (#145918)** (c74cba1)
- **gh-143732: add specialization for `FOR_ITER` (GH-148745)** (9846407)
- **gh-148675: Add Zd/Zf formats to array, ctypes, memoryview, struct (#148676)** (6e6f905)
- **gh-146063: Add PyObject_CallFinalizerFromDealloc() to the limited C API (#146172)** (ce51c18)
- **gh-148600: Add OpenSSL 4.0.0 support to test configurations (#149356)** (fc96028)
- **gh-148352: Add more colour to `calendar` CLI output (#148354)** (2ba0a81)
- **gh-142389: Add colour to regrtest and pdb's help descriptions (#149332)** (de1769f)
- **gh-149296: Add `dump` subcommand to sampling profiler for one-shot stack snapshots (#149297)** (3efd2f4)
- **gh-145521: Add 'infer_variance' parameter to ParamSpec class (#145522)** (2e94f14)
- **gh-135056: Add a `--header` CLI option to `http.server` (#135057)** (836fbda)
- **gh-143231: Add the module attribute to warnings.WarningMessage (GH-149298)** (00c4a94)
- **gh-116021: Deprecate support for instantiating abstract AST nodes (#137865)** (bdedc4a)
- **gh-146527: Remove private module entry from what's new (#149284)** (e214324)
- **GH-146527: Add get_gc_stats function to _remote_debugging (#148071)** (39f123c)
- **GH-126910: Add gdb support for unwinding JIT frames (#146071)** (c7b7ca2)
- **gh-75707: tarfile: Add optional open() argument "mtime" (GH-138117)** (bb911a2)
- **gh-124397: Add free-threading support for iterators. (gh-148894)** (91e871a)
- **gh-148726: Document the GC change in What's New in Python 3.14 (#149209)** (4e3811f)
- **gh-149204: add `_RROT_3` uop to reduce stack moves (GH-149205)** (0102c1d)

### Fixes
- **gh-149202: Fix frame pointer unwinding on ppc64le and armv7/clang (#149409)** (612140e)
- **gh-149202: Fix frame pointer unwinding on s390x and ARM (GH-149362)** (4ed4014)
- **gh-146270: Fix `PyMember_SetOne(..., NULL)` not being atomic (gh-148800)** (1bdfc0f)
- **gh-124111: Fix tclWin32Exe value in tcltk.props for Tcl 9 (GH-149441)** (2140b14)
- **gh-149403: Fix `NameError` in `Lib/test/test_capi/test_getargs.py` (#149404)** (1147810)
- **gh-149230: `_remote_debugging`: Fix async-aware for tasks in non-main threads (#149235)** (f025dba)
- **gh-149342: `_remote_debugging`: Fix binary profile corruption when sampling a (temporarily) empty stack (#149343)** (6f8c964)
- **gh-149321: Fix stdlib imports with lazy imports disabled (#149338)** (12a20da)
- **gh-137030: Fix YIELD_VALUE bytecode assertion (#149184)** (952784a)
- **gh-147998: Fix possible memory leak in _pop_preserved (crossinterp.c) (GH-147999)** (72f29dc)
- **gh-148418: Fix a possible reference leak in a corrupted TYPE_CODE marshal stream (GH-148419)** (c3972f2)
- **gh-133956 fix bug where `dataclass` wouldn't detect `ClassVar` fields if `ClassVar` was re-exported from a module other than `typing` (#140541)** (4144062)
- **gh-135056: Fix teardown order for Windows in `test_httpservers` (#149320)** (0bf6e31)
- **GH-148189: Fix miscalculation of  type-specific free list memory use (#148190)** (1fc2b38)
- **gh-149282: Fix `gc.c` compilation with `--enable-pystats` (#149283)** (98afa03)
- **gh-149214: Fix non ascii characters in remote debugging (#149228)** (efcac6f)
- **gh-149221:Fix binomialvariate Function for random module (gh-149222)** (4f0cfe5)
- **gh-148914: Fix memoization of in-band PickleBuffer in the Python implementation (GH-149052)** (b897356)
- **statistics: Fix geometric_mean() error message for negative inputs (#149246)** (0f5cd57)
- **Fix source link in `Doc/howto/descriptor.rst` (#149215)** (8c611e1)
- **gh-148850: Fix memory sanitizer false positive in os.getrandom (GH-148851)** (9668d26)
- **gh-148967: Fix FFI type pointer handling for C complex support in set_stginfo_ffi_type_pointer (GH-148969)** (f2c7c0d)
- **gh-149173: Fix inverted PYTHON_BASIC_REPL environment check in _pyrepl_available() (#149174)** (8066db5)
- **gh-148518 fix index error in local part attribute (#148522)** (bdbb55c)

### Backend
- **Python 3.15.0b1** (f31a89b)
- **gh-148937: revert process RSS based GC deferral (#149475)** (13188db)
- **gh-149202: Don't use -fno-omit-frame-pointer on ppc64le (#149485)** (b3cfd36)
- **gh-142295: Update macOS framework build Info.plist files. (#149479)** (5fcab14)
- **gh-142295: Update CFBundleShortVersionString in Mac framework Info.plist (#143064)** (65ed109)
- **gh-149101: Implement PEP 788 (GH-149116)** (2b7c28a)
- **Update Doc/pylock.toml (#149467)** (b2582a6)
- **gh-148823: Avoid importing `_colorize` when creating an `ArgumentParser` (#148827)** (8cad740)
- **gh-148599: Update WSA `socket` error codes (#148033)** (947c8ea)
- **gh-144384: Lazily import `_colorize` (#149318)** (7cea70e)
- **gh-124111: Only set TCLSH_NATIVE for AMD64/ARM64 (GH-149443)** (d13fc36)
- **Rewrite RTD configuration to use build.jobs rather than build.commands (GH-149429)** (1dcc546)
- **gh-148675: Optimize arraydescr structure: use char[3] (GH-149455)** (9274d96)
- **gh-137586: Replace 'osascript' with 'open' on macOS in webbrowser (#146439)** (aeb02ac)
- **gh-100239: specialize mixed int/float inplace binary ops (GH-149413)** (0b75b73)
- **gh-149415: Replace `typing._LazyAnnotationLib` with `lazy import` (#149416)** (347f538)
- **Replace use of Python keyword in `issubclass` function documentation (#142357)** (70e365c)
- **Skip test_jit when the JIT backend is "interpreter" (GH-149423)** (055cbf0)
- **gh-148615: Handle `--` separator in pdb argument parsing (#148624)** (970b043)
- **gh-149096: Remove  'im_*' attribute reference from inspect module docstring (#149108)** (e444453)
- **gh-149425: Increase `test_write_without_source_date_epoch` assertion delta (#149426)** (17975f9)
- **gh-149353: Preserve JIT shim object during PGO clean (#149387)** (4fa5c04)
- **gh-149410: Test that `typing.NoDefault` is final (#149411)** (bad9296)
- **GH-143732: SEND specialization (GH-148963)** (70bd1c2)
- **gh-137855: Improve import time of `pathlib` (GH-146327)** (ffb543d)
- **gh-149189: Modern defaults for `pprint` (#149190)** (426f99c)
- **gh-149216: Notify type watchers on heap type deallocation (GH-149236)** (f6d16a0)
- **Ignore `.jit-stamp` generated file (#149401)** (24aa562)
- **gh-145378: Generate consistent colors for pdb commands (#149305)** (ddfdf9b)
- **gh-149044: Implement PEP 820 – PySlot: Unified slot system for the C API (GH-149055)** (508b498)
- **gh-137840: Document PEP 728 (#149207)** (5dd2161)
- **gh-130472: Use fancycompleter in import completions (#148188)** (ed99680)
- **gh-137293: Ignore Exceptions when searching ELF File in Remote Debug (#137309)** (2995d45)
- **gh-149009: Validate `thread_count` in `profiling.sampling` binary reader (#149147)** (c266f0c)
- **gh-149300: `_remote_debugging`: clean up magic and duplicate consts in the binary format helper (#149301)** (9dca1ff)
- **gh-98894: Restore function entry/exit DTrace probes (#142397)** (9a268e3)
- **GH-130750: Restore quoting of choices in argparse error messages to match documentation and improve clarity (#144983)** (53a7f76)
- **gh-149377: update bundled pip to 26.1.1 (#149378)** (de66149)
- **gh-148690: Build Windows freethreaded binaries into separate directory and include python3t.dll on GIL-enabled (GH-149218)** (10f950c)
- **gh-149225: Expose Py_CriticalSection in Stable ABI (GH-149227)** (6ca5cdb)
- **gh-148675: Remove F and D formats from array and memoryview (GH-149368)** (5dd5c8b)
- **gh-137337: Clarify import statement namespace binding (GH-144607)** (b8ebd07)
- **gh-148292: Remove shutdown() test in test_ssl.test_got_eof() (#149366)** (1e21cf6)
- **gh-149010: Improve reliability of inspect CLI (#149357)** (5235467)
- **gh-87245: Improve IPv6Address.ipv4_mapped documentation (#92572)** (7aedd0a)
- **gh-149351:  Avoid possible broken macOS framework install names when DESTDIR is specified during builds (#149352)** (1504bd6)
- **gh-148292: Update _ssl._SSLSocket for OpenSSL 4 (#149102)** (7b7fa3f)
- **gh-149231: tomllib: Limit the number of parts in a key (GH-149233)** (bc7c102)
- **gh-148849: Deprecate http.cookies.BaseCookie.js_output() (GH-148978)** (246fe14)
- **gh-148093: Raise binascii.Error from binascii.a2b_uu() on empty input (GH-149077)** (0c6d2f6)
- **gh-146609: Use argparse for colour help timeit CLI (#149334)** (3506125)
- **gh-143732: allow dict subclasses to be specialized  (GH-148128)** (5847931)
- **gh-149254: Update CI to use latest OpenSSL and AWS-LC versions (GH-149330)** (68fe899)
- **gh-149254: Update Windows builds to use OpenSSL 3.5.6 (GH-149326)** (d254d6e)
- **gh-148641: Implement PEP 829 - startup configuration files (#149109)** (24c4aec)
- **gh-149243: Check for recursion limits in `CALL_ALLOC_AND_ENTER_INIT` (#149310)** (726a17e)
- **gh-143231: Do not swallow not matched warnings in assertWarns*() (GH-149229)** (a3435d5)
- **gh-149217: Avoid adding dependencies on immutable, immortal classes in the JIT (GH149256)** (8a7edda)
- **Ignore `/jit_unwind_info*.h` from git (#149311)** (db03358)
- **gh-141388: Improve docs/tests for non-function callables as annotate functions (#142327)** (c1940bc)
- **gh-139167: Allow users to hook gen_colors function to pyrepl Reader (#141619)** (6b632ce)
- **gh-148871: extend and improve `LOAD_COMMON_CONSTANT` (GH-148971)** (7c9ad27)
- **gh-149171: Make TypeAliasType __module__ writable (#149172)** (a65611e)
- **gh-149267: Document ast.Constant.kind attribute (#149268)** (3a1df78)
- **gh-148063: documentation: move ast.compare from "Compiler flags" to "ast helpers" (#147954)** (7b0244d)
- **gh-149285: Increase recursion depth for `test_xml_etree` from 150k to 500k (#149286)** (b1d6231)
- **gh-148380: remove all uses of `_PyType_LookupByVersion` in `optimizer_bytecodes.c` (GH-148394)** (2ca6333)
- **gh-149221: Minor comment edit (gh-149278)** (da09ef8)
- **GH-148932: Improve error message if profiling.sampling run from venv on Windows platform (#149247)** (fea2a57)
- **gh-149254: Bump OpenSSL versions for iOS and Android. (#149270)** (e635ad2)
- **gh-149244 Document statistics functions that require sequence inputs. (gh-149264)** (bb5e41e)
- **gh-149254: Update macOS installer to use OpenSSL 3.5.6. (#149262)** (0e2c055)
- **gh-149117: Set `ImportError.name` on errors from `runpy.run_module`/`run_path` (gh-149159)** (ff35fe4)
- **GH-149252: Update WASI SDK version from 32 to 33 (#149253)** (be9c7cb)
- **gh-149202: Implement PEP 831 – Frame Pointers Everywhere: Enabling System-Level Observability for Python (#149201)** (3236773)
- **gh-149083: Change several other docs examples to use `sentinel()` (#149213)** (690e0de)
- **Clarify `max_length` in zstd & zlib decompressor documentation (#143805)** (6040d65)
- **gh-139038: Update final JIT figures for 3.15rc1 (#149210)** (fa54244)
- **Build mpdecimal from source to workaround unreliable launchpad.net (#149248)** (60b751c)
- **gh-81074: Allow non-ASCII addr_spec in email.headerregistry.Address (#122477)** (b605573)
- **gh-83938, gh-122476: Stop incorrectly RFC 2047 encoding non-ASCII email addresses (#122540)** (d96ffc1)
- **gh-133560: Clarified `parser.md` doc for pegen parser issue in using the existing `Grammar/python.gram` file. (GH-139194)** (f4f82f0)
- **gh-145497: Use same size of static_types array in all builds (GH-149139)** (fcd53b6)
- **GH-146475: Block Apple Clang for building JIT stencils (#149188)** (c0e0640)
- **gh-144319: Use transparent huge pages via `madvise(MADV_HUGEPAGE)` in pymalloc (#144353)** (5110738)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/python/cpython?utm_source=github-action)._