main
bpo-42861: Add `next_network` function to ipaddress library (#24180)
gh-84649: Use statx() in TimedRotatingFileHandler if available (ПР-150968)
bpo-45509: Check gzip headers for corrupted fields (GH-29028)
gh-70758: Fix creating a turtle screen after closing one (GH-30355)
gh-91372: Add mtime to gzip.open() (GH-32310)
gh-90533: Implement BytesIO.peek() (#150917)
gh-101267: ProcessPoolExecutor no longer shares 1 BrokenProcessPool exception among all failed futures (GH-101268)
gh-91099: fix[imaplib]: call Exception with string instance (#31823)
gh-60055: Allow passing a Request instance for RobotParser URLs (#103753)
gh-103925: Fix csv.Sniffer for a quoted field ending a CRLF line (GH-103926)
gh-105708: 'V' could be case insensitive for IPvFuture hostnames (#105709)
gh-115988: Add ARM64 and RISCV BCJ filters constants in lzma module (GH-115989)
gh-120665: make unittest loaders avoid loading test cases that are abstract base classes (#120666)
gh-121109: Fix performance of tarfile reading with "r|*" (GH-121296)
gh-107398: Fix tarfile stream mode exception when process the file with the gzip extra field (GH-126304)
gh-128110: Fix rfc2047 whitespace handling in email parser address headers (#130749)
gh-72902: Speedup Fraction.from_decimal/float in typical cases (GH-133251)
gh-46927: Prevent readline from overriding environment variables (GH-153184)
gh-133998: Fix gzip file creation when time is out of range (GH-134278)
gh-134261: ZipFile - Don't rely on local time for reproducible builds & tests (#134264)
gh-51067: Add `remove()` and `repack()` to `ZipFile` (GH-134627)
gh-64192: Add *buffersize* to `imap()`/`imap_unordered()` in `multiprocessing.pool` (GH-136871)
gh-86533: Restore os.makedirs() ability to apply *mode* recursively (GH-150011)
gh-79638: Restore "Treat an unreachable robots.txt as disallow all" (GH-152525)
gh-139819: rlcompleter – avoid suggesting attributes not accessible on instances (GH-139820)
gh-139398: [Enum] Add supported sunder names to `__dir__` for REPL completions (GH-139985)
gh-140326: disable the relative import in asyncio REPL (#140327)
gh-140344: ast: Add deprecation warnings (#140345)
gh-115634: Fix ProcessPoolExecutor deadlock with max_tasks_per_child (GH-140900)
gh-140924: In locale module, add missing names to __all__ (GH-140925)
GH-81881: Raise `SpecialFileError` for sockets and devices in `shutil.copyfile` (#142693)
gh-143008: Fix Null pointer dereferences in TextIOWrapper underlying stream access (#145957)
gh-143988: Fix re-entrant mutation crashes in socket sendmsg/recvmsg_into (#143987)
gh-140729: Fix the cProfile module when the executed script contains calls to multiprocessing.Process (#144715)
gh-145107: simplify asyncio staggered race using eager_start=False (#145108)
gh-47005: fix do_open() to let regular headers override unredirected … (#146506)
gh-146452: Fix pickle segfault on concurrent mutation of dict in pickle (#146470)
gh-147950: Additionally bind `yank-arg` to `M-_` in pyrepl (#147949)
gh-148665: Enable socket.shutdown function for emscripten (#148666)
gh-148736: Use ag_frame when walking async generators in asyncio.graph (#148737)
gh-92455: Respect case-sensitive mimetype suffixes (GH-148782)
gh-119670: Add `force` keyword only argument to `shlex.quote` (#148846)
gh-148441: Avoid integer overflow in Expat's CharacterDataHandler (#148904)
gh-148954: Escape methodname in xmlrpc.client.dumps() to prevent XML injection (GH-148968)
gh-118158: Fix missing newline in py_compile CLI error output (#149008)
gh-149046: fix: correctly handle `str` subclasses in `io.StringIO` (#149047)
gh-149056: Properly pass array_hook in json.load() to json.loads() (GH-149057)
gh-149464: Add `os.pidfd_getfd(pidfd, targetfd, flags=0)` function (#149465)
gh-149319: Make `asyncio` REPL respect `-I` and `-E` options (#149405)
gh-149489: Fix ElementTree serialization to HTML (GH-149490)
gh-149499: Fixes for 3.16 bump (GH-149500)
gh-149388: Make asyncio `PipeHandle.close` idempotent (#149518)
gh-149528: Remove `annotationlib.ForwardRef._evaluate` for 3.16 (#149529)
gh-149530: Remove `symtable.Class.get_methods` deprecated method (#149531)
gh-80480: Remove deprecated 'u' array type code (#149535)
gh-149537: Remove kw parameters from python version of `reduce` (#149538)
gh-149534: Fix unification of `defaultdict` and `frozendict` with `|` (#149539)
gh-149436: Speed up inspect.getattr_static for the common-metaclass case (#149437)
gh-112821: Fix rlcompleter failures on objects with descriptors (#149577)
gh-149567: Remove deprecated `shutil.ExecError` (#149568)
gh-149595: Remove the `sys._enablelegacywindowsfsencoding()` function (#149596)
gh-149598: Remove `strm` argument support from `logging` handlers (#149599)
gh-149600: Remove deprecated `asyncio.iscoroutinefunction` function (#149601)
gh-149614 - Restore deepcopiability of argparse.ArgumentParser instances (#149617)
gh-139489: Add is_valid_text to xml.__all__ (#149641)
gh-149634: Fix removed docs from `TarFile.tarfile` to `TarInfo.tarfile` (#149680)
gh-149609: Raise deprecation warnings for `abc.{abstractclassmethod,abstractstaticmethod,abstractproperty}` (#149636)
gh-149584: Fix excessive overhead in the Tachyon profiler regarding the cache behavior (#149649)
gh-149504: Fix re-entrancy bug when .pth/.start file invokes site.addsitedir() (#149659)
gh-149701: Fully silence potential `hash -r` error (GH-149702)
gh-149718: Aggregate same stack frames in Tachyon in some collectors (#149719)
gh-149720: Remove support for undotted `ext` in `mimetypes.MimeType.add_type` (#149721)
gh-149473: Emit audit event on calling os.environ.clear() (#149768)
gh-149801: Add IANA registered names and aliases with leading zeros (GH-149804)
gh-149816: Fix a RC in `_random.Random.__init__` method (#149824)
gh-62259: Add support of multi-byte encodings in the XML parser (GH-149860)
gh-149819: fix .pth and .start file processing in subprocess when inheriting PYTHONPATH (#150177)
gh-142349: Add `help("lazy")` support (#149886)
gh-149891: Add more encoding aliases (GH-149892)
gh-149921: Fix reference leaks in _interpchannels and _interpqueues modules (#149922)
gh-146406: add clear() cross-language hint for immutable types (GH-149927)
gh-149571: Fix the C implementation of Element.itertext() (GH-149929)
gh-53144: Improve charset support in the email package (GH-149942)
gh-88726: Stop using non-standard charset names eucgb2312_cn and big5_tw in email (GH-149959)
gh-149995: Update typing.py docstrings and documentation (#149996)
gh-149816: Fix UAF in Modules/_pickle.c (GH-150024)
gh-79413: Add `qualname` parameter to `dataclass.make_dataclass`. (GH-150026)
gh-149189: Revert "Modern defaults for `pprint` (#149190)" (#150249)
gh-149816: Fix SNI callback callable race (GH-150018)
gh-127949: remove asyncio policy system (#150310)
gh-149980: Strip all trailing slashes from GNU long directory names in tarfile (GH-150019)
gh-150077: Fix fileobj leak in `tarfile.TarFile.zstopen` on `BaseException` (GH-150080)
gh-84353: Preserve non-UTF-8 filenames when appending to ZipFile (GH-150091)
gh-150175: Fix ThreadingMock call_count race condition (#150176)
gh-150157: Fix critical section for PyDict_Next() in _pickle.c (GH-150158)
gh-132372: Speed up logging.config existing logger handling (GH-150242)
gh-150372: Add missing null check on completer_word_break_characters in readline.c (GH-150251)
gh-150406: Check result of PyThread_allocate_lock() for netdb_lock (GH-150407)
gh-150479: reject CR and LF in email.utils.formataddr (#150480)
gh-150228: Improve the PEP 829 batch processing APIs (#150542)
gh-150534: Add C23 half-turn trigonometric *pi functions (GH-150555)
gh-148932: Fix `profiling.sampling` on Windows virtual environments (#150541)
GH-150478: Add "show_jit" option to `dis.dis` to show jit entry points (GH-150554)
gh-150942: Speed up json.loads array and object decoding (GH-150945)
gh-150942: Speed up re.findall and re.sub/subn result building (gh-150943)
gh-150641: Fix evaluating forward references in STRING format can 'leak' internal names in `typing` (#150648)
gh-150685: update bundled pip to 26.1.2 (gh-150686)
gh-150717: Avoid mark-array allocation for groupless regex patterns (GH-150719)
gh-150750: Fix a race condition in `deque.index` with free-threading (#150779)
gh-150817: Speed up Flag bitwise operations (GH-150824)
gh-150818: Speed up logging.getLogger() for existing loggers (GH-150825)
gh-150662: Stop unbounded memory growth in Tachyon `--gecko` collector (#150845)
gh-150866: Fix asyncio shutdown_asyncgens to report BaseException (#150867)
gh-150583: Fix zstd compression level with digested ZstdDict (#150586)
gh-150886: Remove unused importlib._bootstrap._object_name (#150884)
gh-150898: Assume OpenSSL supports keylogging (#150870)
gh-150889: Improve performance of unicodedata.normalize() (GH-150890)
gh-140006: Harden fish prompt against shadowed builtins (#150936)
gh-150913: Fix sqlite3.Blob validation for empty slice assignment (GH-150915)
gh-62825: Fix encoding aliases "KS_C_5601-1987", "KS X 1001", etc (GH-150933)
gh-150994: _colorize: modernize typing imports (#151018)
gh-151022: Fix remote debugging linetable reads (#151036)
gh-151021: Fix mmap empty searches past the end (GH-151023)
gh-151042: venv: Pass VIRTUAL_ENV through cygpath inside fish on Windows (GH-151043)
gh-151039: Fix a crash when `_datetime` types outlive `_datetime` module (#151044)
gh-150285: Wrap long single-line summary in text output in pydoc (GH-151081)
gh-150771: Fix email serialization for shift_jis and euc-jp (GH-151120)
gh-80384: Check that callback is callable at weak reference creation (GH-151145)
gh-151179: Fix pidfd leak in asyncio _PidfdChildWatcher (#151186)
gh-117807: Handle invalid UTF-8 in mimetypes map files (GH-151216)
gh-109940: Respect VIRTUAL_ENV_DISABLE_PROMPT in activate.bat (GH-151215)
gh-151295: Fix use-after-free in bytes.join()/bytearray.join() via re-entrant __buffer__ (GH-151296)
gh-119710: fix asyncio Process.wait() to finish on process exit and not wait for closing of pipes (#151983)
gh-149671: Restore compatibility with setuptools -nspkg.pth files in site module (#151319)
gh-151126: Fix missing memory error in `os._path_splitroot` (#151339)
gh-150285: Fix overflow in too long lines for class data in pydoc (GH-151366)
gh-151337: Avoid possible memory leak in `_tkinter.c` on Windows. (GH-151340)
gh-151416: fix a borrowed ref potential use after free via fspath in os.spawnv/spawnve (GH-151417)
gh-151126: Fix crash on unset memory error in `ctypes.get_errno` (#151382)
gh-151128: Improve SyntaxError message for cross language keywords (GH-151129)
gh-151390: Colorize `match +` and `match -` in the REPL (#151391)
gh-151403: Fix use-after-free when an argv item's __fspath__ mutates args (GH-151404)
gh-151424: Fix impossible stack traces in `RemoteUnwinder(..., cache_frames=True)` by copying chunks on cache miss (#151426)
gh-151613: Fix remote debugging frame cache ABA (#151614)
gh-151485: Fix command quoting in subprocess.CalledProcessError.__str__ (#151486)
gh-151497: Avoid huge pre-allocation for oversized tarfile extended headers (GH-151498)
gh-148660: Fix use-after-free in OrderedDict.copy() on reentrant mutation (GH-151573)
gh-151615: Avoid repeated reschedule in asyncio _accept_connection (#151616)
gh-151640: Track sharing of `BytesIO` buffer in free-threaded builds (GH-151651)
gh-151596: Add missing argument 'size' to pure-Python implementation of `TextIOBase.readline` (GH-151679)
gh-151695: Fix use-after-free of the curses screen encoding (GH-151696)
gh-151627: fix thread safety of OrderedDict iterator creation (#151688)
gh-151674: Add tkinter Text.edit_canundo() and Text.edit_canredo() (GH-151676)
gh-151675: Add tkinter Text.sync() and Text.pendingsync() (GH-151677)
gh-90092: Support multiple terminals in the curses module (GH-151748)
gh-151744: Add curses.nofilter() (GH-151747)
gh-152470: Make wide-character curses functions work on a narrow build (GH-152476)
gh-151774: Add curses dynamic color-pair functions (GH-151775)
gh-151776: Add curses state-query functions (GH-151778)
gh-151770: Fix `datetime.fromisoformat()` on an out-of-range month w/ a 24:00 time (#151771)
gh-75666: Fix a reference leak in tkinter event bindings (GH-151808)
gh-151814: Fix unbounded memory growth from repeated empty writes to `io.TextIOWrapper` (#151817)
gh-59396: Modernize tkinter.simpledialog (GH-151848)
gh-151822: Colorize commands separately in the REPL (#151823)
gh-86165: Fix Time2Internaldate with datetime timetuple (GH-151844)
gh-59396: Use themed widgets in tkinter.filedialog (GH-152036)
gh-151874: Add tkinter wm_stackorder, wm_iconbadge and winfo_isdark (GH-151875)
gh-151876: Add tkinter Canvas methods rotate and rchars (GH-151877)
gh-151878: Add tkinter Entry and Spinbox validate methods (GH-151879)
gh-151881: Add tkinter Menu.postcascade, Misc.tk_scaling and tk_inactive (GH-151882)
gh-151886: Add tkinter Misc.tk_appname, tk_useinputmethods and tk_caret (GH-151887)
gh-151888: Add tkinter PhotoImage.redither method (GH-151889)
gh-151890: Support more photo image options in tkinter.PhotoImage methods (GH-151891)
gh-151910: Add tkinter.ttk.Treeview methods for the Tk 9.1 enhanced treeview (GH-151911)
gh-95555: Support Unicode property escapes \p{...} in regular expressions (GH-151969)
gh-151920: Add the ttk.Style.theme_styles() method (GH-151921)
gh-151955: Allow more ParamSpec and TypeVarTuple bounds (#151956)
gh-143070: Use "+" instead of "!" in automatically generated tkinter widget names (GH-151975)
gh-101284: Allow passing Menubutton options to tkinter.OptionMenu (GH-151959)
gh-126219: Fix crash in tkinter.Tk with non-BMP className on Tcl/Tk 8.x (GH-151980)
gh-127802: Schedule removal of legacy tkinter variable trace methods in 3.17 (GH-152012)
gh-143990: Allow tkinter.font.Font to wrap a font description (GH-152025)
gh-152033: Optimize category escapes outside character sets (GH-152035)
gh-152056: Compile single-category character sets to a bare CATEGORY opcode (GH-152057)
gh-152060: Fix `_pydatetime.fromisoformat()` raising `AssertionError` on invalid lengths (#152061)
gh-152052: Fix misleading `json` error for `\uXXXX` escape at the end of input (#152053)
gh-152079: Fix `_datetime.fromisoformat()` mishandling a sub-second tz offset (#152087)
gh-152100: Support set operations in character classes (GH-152153)
gh-152074: Increase the buffer size to 256 KiB in `asyncio` `_sendfile_fallback` (#152097)
gh-151378: Fix unbounded memory growth when recording binary and the thread is sleeping (#152089)
gh-105895: Add `match` and `case` doc to `help()` (#152113)
gh-151669: Normalize symlink targets in tarfile.TarFile.gettarinfo() (GH-151671)
gh-151763: Fix crash in `_interpqueues.create` on `MemoryError` (#152131)
gh-152157: Reject empty fractions in `_datetime.{date}time.fromisoformat` (#152161)
gh-152156: Fix a crash in `interpeters.create` under limited memory conditions (#152163)
gh-152212: Reject a POSIX TZ footer with a missing std offset in pure-Python `zoneinfo` (#152213)
gh-139145: Fix tkinter event loop in interactive mode (GH-152257)
gh-152219: Add curses window attribute get/set methods and WA_* constants (GH-152221)
gh-152434: Fix async-aware Gecko collection (#152442)
gh-152099: Raise SendfileNotAvailableError for fallback-only transports in asyncio (#152223)
gh-152233: Make the curses cell API work without ncursesw (ПР-152466)
gh-152246: Fix pure-Python `zoneinfo` accepting invalid seperators in POSIX TZ rules (#152247)
gh-111330: Fix GC of _pyio.BytesIO with exports (GH-152335)
gh-80937: Fix memory leak in tkinter createcommand (GH-152294)
gh-152248: Reject a POSIX TZ abbreviation with non-ASCII-letters in pure-Python `zoneinfo` (#152249)
gh-152258: Add curses.window.dupwin() (GH-152259)
gh-116946: Implement the GC protocol for _tkinter tkapp and tktimertoken (GH-152310)
gh-152263: Add curses soft-label-key functions (GH-152264)
gh-38464: Make tkinter nametowidget() work with cloned menus (GH-152336)
gh-152260: Add curses.scr_dump(), scr_restore(), scr_init() and scr_set() (GH-152261)
gh-88758: Handle non-tkinter widgets in tkinter focus methods (GH-152337)
gh-152305: Fix `_pydatetime.time.strftime()` raising on year directives (#152306)
gh-81954: Warn when ZipFile is closed with unwritten data (#152354)
gh-83274: Don't crash when a Tcl interpreter is deallocated in the wrong thread (GH-152323)
gh-152275: Add integer overflow guards to the curses chtype and color-pair packing path (GH-152303)
gh-121249: Deprecate using F/D type codes in the struct module (#152309)
gh-152325: Add curses.has_mouse() and curses.window.mouse_trafo() (GH-152484)
gh-87904: Report the public module name in curses types and exceptions (GH-152341)
gh-152332: Add the curses.term_attrs() function (GH-152333)
gh-152334: Add curses key-management functions (GH-152338)
gh-71880: Allow editing the last cell in curses.textpad.Textbox (GH-152363)
gh-50409: Modernize tkinter.PanedWindow.paneconfigure() (GH-152399)
gh-43699: Defer the drag cursor in tkinter.dnd until the pointer moves (GH-152371)
gh-133031: Support non-ASCII characters in curses.textpad.Textbox (GH-152451)
gh-133031: Support the full Unicode range in curses.textpad.Textbox (GH-152482)
gh-151126: Sets missing exceptions in `tkinter` and `socket` modules initializations (#152418)
gh-103878: Return a consistent empty value from cancelled file dialogs (GH-152435)
gh-152431: update StreamReader transport after StreamWriter.start_tls() (#152432)
gh-78335: Complete the widget option lists in tkinter docstrings (GH-152485)
gh-152356: Fix Windows blocking sampling after target process exit (#152471)
gh-152503: Fix garbage text from curses wide-character cell reads (GH-152505)
gh-110357: hashlib no longer logs at import when a guaranteed hash is unavailable (GH-152538)
gh-152569: Fix asyncio.wait leaking tasks via await-graph on long-lived futures (#152585)
gh-152587: Make name and value required in tkinter variable methods (GH-152595)
gh-152638: Deprecate tkinter.filedialog.askopenfiles() (GH-152647)
gh-50966: Fix unbounded recursion in turtle drag handlers (GH-152626)
gh-40038: Quote imaplib command arguments when necessary (GH-152703)
gh-151842: Fix crash upon OOM in `_interpreters.capture_exception` (GH-151843)
gh-152502: Detect the curses mouse interface and is_* methods portably (GH-152705)
gh-88574: Do not swallow the line after a terminating literal in imaplib (GH-153317)
gh-63121: Refresh imaplib capabilities on state changes (GH-152752)
gh-151126: Fix `PyErr_NoMemory` errors in `_ctypes.c` (#152720)
gh-108280: Give a meaningful error for an invalid imaplib greeting (GH-152768)
gh-152718: Reject oversized table counts in the profiling binary reader (#152719)
gh-49680: Add translate_line_endings parameter to imaplib.IMAP4.append (GH-152775)
gh-77508: Add imaplib.IMAP4.move method (GH-153121)
gh-152586: Make `tempfile.TemporaryFileWrapper` public (#152646)
gh-152905: Decode LC_TIME items in nl_langinfo() from glibc wide data (GH-152911)
gh-152847: Reject POSIX TZ rule with non-digit day-of-year in `_zoneinfo.py` (#152848)
gh-152849: Fix `OverflowError` message for out-of-range timestamps in the `time` module (#152850)
gh-152068: Reset PyREPL Colors on prompt finish (#152108)
gh-150880: Normalize paths on Windows before appending wildcard (GH-152906)
gh-152912: Fix audit hook exception check in sys.addaudithook() (GH-152913)
gh-152951 - Fix double DECREF when `newblock` fails during deque.extend calls (#152961)
gh-150579: use lazy imports for concurrent.futures (GH-150585)
gh-119592: gh-152967: Fix ProcessPoolExecutor stranding submitted work when a max_tasks_per_child worker exits (GH-152978)
gh-152997: Support system locale encodings via an iconv-based codec (GH-153001)
gh-54930: Send a status line in error responses to malformed request lines (GH-152980)
gh-152851: fix a crash when copying a BLAKE-2s/2b object (#153008)
gh-153009: Fix compilation of `curses` on platforms that define the `stdscr` macro (#153010)
gh-135661: Fix abrupt closing of empty comment in HTMLParser (GH-153007)
gh-153037: Make ZstdFile.__next__ raise io.UnsupportedOperation on non-readable files (#153045)
gh-143921: Narrow the control character check in imaplib commands (GH-153067)
gh-59396: Add use_ttk parameter to tkinter ScrolledText (GH-153119)
gh-153056: Fix a data race compiling the string.Template pattern in free-threading builds (#153057)
gh-153062: Fix a crash iterating itertools.tee on the free-threaded build (gh-153063)
gh-153068: Preserve cprofile enable errors (#153070)
gh-153133: Fix socket leak in error path of asyncio create_connection (#153134)
gh-98092: Add imaplib.IMAP4.id method (GH-153136)
bpo-45706: Add imaplib.IMAP4.login_plain (GH-29398)
gh-66788: Add the utf-7-imap codec (GH-153149)
gh-153200: Fix math.isqrt() for int subclasses with overridden comparison operators (GH-153203)
gh-72880: Add tkinter.fontchooser -- interface to the font selection dialog (GH-153255)
gh-153259: Add tkinter.systray -- system tray icon and notifications (GH-153260)
gh-153256: Add tk_print() methods to tkinter Canvas and Text (GH-153257)
gh-153521: Support structured arguments in imaplib commands (GH-153522)
gh-153210: Fix `array` module import crash under a memory pressure (#153238)
gh-148286: Fix UB in `ZstdDecompressor.unused_data` when a frame is decompressed in one call (#153258)
gh-143990: Preserve the size when creating a Font from a named font (GH-153267)
gh-153293: Clear opcode statistics in the live profiler's reset_stats() (#153295)
gh-153291: Fix data race in readline.get_completer() and get_pre_input_hook() (gh-153362)
gh-153292: Fix data race in `threading.RLock.__repr__` in FT builds (#153299)
gh-153083: Defer GC tracking of an array to the end of construction. (gh-153284)
gh-153296: Fix thread-safety data race in io.StringIO iterator (#153368)
gh-153333: Read tkinter profile scripts with the source file's encoding (GH-153334)
gh-153406: Raise ValueError, not OverflowError, for out-of-range dates in email.utils.parsedate_to_datetime (#153407)
gh-153290: Fix data race in BytesIO.__setstate__ installing __dict__ (#153376)
gh-153395: Accept curses.complexchar in curses.ascii predicates and conversions (GH-153396)
gh-49555: Clarify imaplib modified UTF-7 docs and comments (GH-153485)
gh-153422: Return bool from some tkinter query methods (GH-153429)
gh-153417: Fix BytesWarning in imaplib error messages for bytes arguments (GH-153423)
gh-151292: Change `total_samples:u32` in the binary format to `total_samples:u64` (#153425)
gh-153404: Silently ignore non-decimal digits in robots.txt Crawl-delay and Request-rate (GH-153405)
gh-153513: Return str and numbers for more Tcl object types in _tkinter (GH-153514)
gh-153494: Encode imaplib search criteria to the declared CHARSET (GH-153495)
gh-153502: Add uid parameter to imaplib command methods (GH-153508)
gh-85943: Fix BytesWarning in the struct format cache under -bb (GH-153627)
gh-98078: fix asyncio SSL transports not sending the fatal TLS alerts (#153620)
gh-153658: Fix sqlite3 iterdump() for table names containing a single quote (#153659)
gh-83273: Rewrite csv.Sniffer dialect detection using trial parsing (GH-153694)
gh-127049: fix race condition in asyncio signalling an unrelated process with ThreadedChildWatcher (#153810)
gh-153695: Fix sqlite3.Row.__hash__ with an unhashable value (#153696)
gh-153761: Fix asyncio sock_accept() dropping a connection when cancelled (#153762)
gh-104533: Add a dataclass-like decorator for `ctypes` structures (GH-153781)
gh-146011: Fix use-after-free in `signaldict_repr` after deletion (#153784)
gh-153844: Support AST input in symtable.symtable() (GH-153845)
gh-153856: Add `os.RWF_NOSIGNAL` constant (#153858)
gh-153862: Fix curses window.inch() for non-ASCII characters on a wide build (GH-153863)
gh-153864: Fix curses window.insch() for non-ASCII characters on a wide build (GH-153865)
gh-153903: Add a `ctypes` decorator for generating function pointers using annotations (GH-153904)
gh-153896: Deduplicate unhashable arguments in `typing.Literal` (GH-153914)
gh-153908: Fix data race in `itertools.count.__repr__` (GH-153917)
gh-153906: Modernize pydoc HTML output (GH-153909)
gh-153967: handle invalid file object in argparse._print_message (#153969)
gh-154001: Avoid division by zero in binomialvariate (GH-154004)
gh-154053: Fix compilation of the ssl module against LibreSSL (GH-154054)
gh-154086: Fix flamegraph thread sample counts (#154104)
gh-154146: Fix accuracy of the math.acospi() fallback near 1 (GH-154148)
gh-154836: Fix Popen.wait() with very large timeouts on the pidfd/kqueue wait paths (GH-154837)
gh-154176: Fix locale.strxfrm() crash on DragonFly BSD (GH-154177)
gh-145030: Fix asyncio write pipe transport for named FIFOs on Solaris (#155110)
gh-139373: Fix asyncio Process.communicate() losing output when cancelled (#154223)
gh-154227: Fix os.posix_openpt() on OpenBSD (GH-154228)
gh-154225: Fix os.openpty() acquiring a controlling terminal on Solaris (GH-154229)
gh-131565: Implement ctypes.util.dllist() in the _ctypes extension (GH-154255)
gh-154258: Fix mmap.resize() crash on NetBSD growing a shared anonymous mapping (GH-154259)
gh-154283: Make threading.get_native_id() unique across processes on DragonFly (GH-154287)
gh-154291: Fix socket.has_dualstack_ipv6() on DragonFly BSD (GH-154292)
gh-154307: Fix TemporaryDirectory cleanup on DragonFly BSD (GH-154309)
gh-154324: Fix os.sendfile() error reporting on illumos (GH-154327)
gh-154389: Do not use uuid_create() on OpenBSD (GH-154390)
gh-154399: Fix venv activate.csh in a non-interactive shell (GH-154400)
gh-154435: Fix os.posix_fadvise() and os.posix_fallocate() on DragonFly BSD (GH-154436)
gh-153970: Fix str() of CalledProcessError when returncode is not an integer (#153971)
gh-154467: Fix empty (Pdb) prompt when attaching to a process with pdb -p (#154469)
gh-154460: Do not use wcsftime() on OpenBSD (#154461)
gh-73458: Fix logging.config.listen() on a host without an IPv4 address (GH-154491)
gh-154189: Fix use-after-free in `functools.partial_vectorcall` (GH-154508)
gh-70990: Support bytes addresses of Unix sockets in SysLogHandler (GH-154500)
gh-82535: Ignore address resolution failure in SysLogHandler constructor (GH-154504)
gh-79366: Fix a race condition when removing a logging handler (GH-154528)
gh-154199: Soft-deprecate `ctypes.util.find_msvcrt` (GH-154553)
gh-154523: Fix data-race in `TextIOWrapper.detach()` (#154565)
gh-154551: Fix ctypes.util.find_library() in non-UTF-8 locales (GH-154552)
gh-135736: Fix interaction between TaskGroup and aclose() (#154649)
GH-142035: Fix wrapping of colorized argparse help text (#154634)
GH-154638: Use lazy imports in argparse (#154639)
GH-148468: Accept string-like proxy objects in colorized argparse help (#154653)
gh-93251: Decode localized socket error messages from the locale encoding (GH-154683)
gh-154738: Propagate reparse-deferral setting to pyexpat subparsers (GH-154739)
gh-154726: Fix `shutil.copyfile()` for symlinks to special files with `follow_symlinks=False` (GH-154728)
gh-154744: Improve detection of skipinitialspace in csv.Sniffer (GH-154745)
gh-94984: Add mode parameter to asyncio create_unix_server() (#155086)
gh-154791: Fix asyncio.Future losing traceback on repeated result() call (#154798)
gh-151728: Clear the typing caches at interpreter shutdown (GH-155002)
gh-154874: Fix the sign of curses.termattrs() (GH-154875)
Make `os.get_terminal_size` check `isatty` before calling `ioctl` (#154885)
gh-154848: Enforce frame boundaries in the C unpickler (GH-154893)
gh-154871: Fix `asyncio.Task.get_context()` crash on uninitialized tasks (#154898)
gh-154892: Fix `PyLong_AsLong()` error checks in `_zoneinfo` (#154901)
gh-154904: Speed up import of shutil by probing compression extensions directly (#154908)
gh-154936: Fix JSON control character error position (GH-154941)
gh-155063: Upgrade bundled pip to 26.2 (#155064)
gh-155041: Support copy.replace() for decimal.Context (GH-155047)
gh-155043: Support copy.replace() for argparse.Namespace (#155049)
gh-155051: Reject None keyword arguments in decimal.localcontext() (GH-155054)
gh-153711: Add runtime guards for dup3 & pipe2 (#155174)
gh-155063: Upgrade bundled pip to 26.2.1 (#155196)
GH-155009: Preserve argparse prog for programmatic module-as-main execution (#155199)
gh-155236: Add the dedent parameter in inspect.cleandoc() and inspect.getdoc() (GH-155237)
gh-118318: Remove outdated c14n references from ElementTree (GH-118319)
gh-155336: Preserve resolver errors from gethostby*_r() (GH-155337)
Link to blurb on PyPI in the NEWS.d READMEs. (#3323)