cpython/Lib
Serhiy Storchaka 36153494f1
[3.11] gh-62260: Fix ctypes.Structure subclassing with multiple layers (GH-13374) (GH-113624)
The length field of StgDictObject for Structure class contains now
the total number of items in ffi_type_pointer.elements (excluding
the trailing null).

The old behavior of using the number of elements in the parent class can
cause the array to be truncated when it is copied, especially when there
are multiple layers of subclassing.

(cherry picked from commit 5f3cc90a12)

Co-authored-by: Jeffrey Kintscher <49998481+websurfer5@users.noreply.github.com>
2024-01-01 16:46:07 +00:00
..
__phello__ bpo-45020: Add more test cases for frozen modules. (gh-28664) 2021-09-30 18:38:52 -06:00
asyncio [3.11] GH-113214: Fix SSLProto exception handling in SSL-over-SSL scenarios (GH-113334) (#113340) 2023-12-20 16:51:51 -08:00
collections [3.11] gh-105736: Sync pure python version of OrderedDict with the C version (GH-108098) (GH-108201) 2023-08-21 10:37:09 +00:00
concurrent [3.11] gh-109370: Fix unexpected traceback output in test_concurrent_futures (GH-109780) (GH-109882) 2023-09-26 11:21:09 +03:00
ctypes [3.11] gh-62260: Fix ctypes.Structure subclassing with multiple layers (GH-13374) (GH-113624) 2024-01-01 16:46:07 +00:00
curses
dbm bpo-40563: Support pathlike objects on dbm/shelve (GH-21849) 2021-09-10 15:26:16 +03:00
distutils [3.11] gh-111309: Use unittest to collect and run distutils tests (GH-111311) 2023-10-25 14:57:17 +03:00
email [3.11] gh-94606: Fix error when message with Unicode surrogate not surrogateescaped string (GH-94641) (GH-112972) 2023-12-11 16:47:25 +00:00
encodings [3.11] gh-98433: Fix quadratic time idna decoding. (GH-99092) (#99222) 2022-11-07 18:57:10 -08:00
ensurepip [3.11] gh-113246: Updated bundled pip to 23.3.2 (gh-113249) (#113254) 2023-12-18 11:34:58 +00:00
html [3.11] gh-100210: Correct the comment link for unescaping HTML (GH-100212) (#102044) 2023-02-21 07:52:02 +08:00
http [3.11] gh-113199: Make read1() and readline() of HTTPResponse close IO after reading all data (GH-113200) (GH-113260) 2023-12-18 20:34:15 +00:00
idlelib [3.11] gh-57795: Add news to idlelib/News3.txt (GH-113522) (#113524) 2023-12-27 21:10:39 +00:00
importlib [3.11] GH-102700: allow built-in modules to be submodules (GH-103162) (GH-103322) 2023-04-06 16:06:02 -07:00
json gh-96959: Update HTTP links which are redirected to HTTPS (GH-96961) 2022-09-25 01:20:45 -07:00
lib2to3 gh-90473: Misc test fixes for WASI (GH-93218) 2022-05-25 07:24:32 -07:00
logging [3.11] gh-110875: Handle '.' properties in logging formatter configuration correctly. (GH-110943) (GH-111914) 2023-11-09 19:51:43 +00:00
msilib gh-91217: deprecate msilib (GH-91515) 2022-04-14 12:50:11 -07:00
multiprocessing [3.11] gh-113421: Fix multiprocessing logger for "%(filename)s" (GH-113423) (GH-113451) 2023-12-24 10:22:34 +00:00
pydoc_data Python 3.11.7 2023-12-04 17:56:29 +00:00
re [3.11] gh-109747: Improve errors for unsupported look-behind patterns (GH-109859) (GH-110860) 2023-10-14 06:51:24 +00:00
site-packages
sqlite3 [3.11] gh-108590: Revert gh-108657 (commit 400a1cebc) (#108686) (#108694) 2023-08-30 20:12:10 +00:00
test [3.11] bpo-26791: Update shutil.move() to provide the same symlink move behavior as the mv shell when moving a symlink into a directory that is the target of the symlink (GH-21759) (GH-113518) 2023-12-27 19:03:45 +02:00
tkinter [3.11] gh-75666: Tkinter: "unbind(sequence, funcid)" now only unbinds "funcid" (GH-111322) (GH-112801) 2023-12-06 15:04:07 +00:00
tomllib bpo-40059: Add tomllib (PEP-680) (GH-31498) 2022-03-08 09:26:13 +01:00
turtledemo [3.11] gh-111092: Make turtledemo run without default root enabled (GH-111093) (#111096) 2023-10-20 04:25:17 +00:00
unittest [3.11] gh-111019: Align expected and actual titles in test output (GH-111020) (#111025) 2023-10-18 08:04:39 +00:00
urllib [3.11] GH-104554: Add RTSPS support to urllib/parse.py (GH-104605) (#105760) 2023-07-05 13:02:36 +02:00
venv [3.11] gh-112431: Unconditionally call hash -r (GH-112432) (GH-112492) 2023-11-28 15:13:38 +05:30
wsgiref gh-96959: Update HTTP links which are redirected to HTTPS (GH-96961) 2022-09-25 01:20:45 -07:00
xml gh-96175: add missing self._localName assignment in xml.dom.minidom.Attr (GH-96176) 2022-08-23 10:18:19 -07:00
xmlrpc bpo-47126: Update to canonical PEP URLs specified by PEP 676 (GH-32124) 2022-03-30 12:00:27 +01:00
zoneinfo [3.11] [3.12] bpo-42663: Fix parsing TZ strings in zoneinfo module (GH-23825) (GH-110882) (GH-110889) 2023-10-15 08:32:26 +00:00
__future__.py gh-93626: Set the release for __future__.annotations to None (GH-93628) (GH-94553) 2022-07-05 11:16:32 +02:00
__hello__.py bpo-47084: Clear Unicode cached representations on finalization (GH-32032) 2022-03-22 13:53:51 +01:00
_aix_support.py
_bootsubprocess.py
_collections_abc.py Minor code nit: Move an unrelated statement out of a try clause in Sequence.index (GH-32330) 2022-04-06 13:03:36 -05:00
_compat_pickle.py bpo-46565: del loop vars that are leaking into module namespaces (GH-30993) 2022-02-03 11:20:08 +02:00
_compression.py
_markupbase.py
_osx_support.py [3.11] gh-102362: Fix macOS version number in result of sysconfig.get_platform() (GH-112942) (#113265) 2023-12-19 19:57:08 +01:00
_py_abc.py
_pydecimal.py gh-91291: Accept attributes as keyword arguments in decimal.localcontext (#32242) 2022-04-21 21:27:15 -07:00
_pyio.py gh-93099: Fix _pyio to use locale module properly (gh-93136) 2022-05-23 18:03:37 -07:00
_sitebuiltins.py
_strptime.py [3.11] bpo-36959: Fix error messages for invalid ISO format string in _strptime() (GH-13408) (GH-113499) 2023-12-26 20:09:41 +00:00
_threading_local.py
_weakrefset.py bpo-26579: Add object.__getstate__(). (GH-2821) 2022-04-06 20:00:14 +03:00
abc.py gh-87864: Use correct function definition syntax in the docs (GH-103312) 2023-04-11 07:19:33 -07:00
aifc.py gh-47061: Deprecate chunk (GH-91419) 2022-04-11 15:02:41 -07:00
antigravity.py
argparse.py [3.11] gh-101640: Make argparse _print_message catch any write error (GH-101802) (#104250) 2023-05-06 23:17:27 +00:00
ast.py [3.11] gh-108843: fix ast.unparse for f-string with many quotes (#108980) 2023-09-18 15:11:56 +01:00
asynchat.py bpo-47061: use warnings._deprecated() with asynchat, asyncore, and smtpd (GH-32350) 2022-04-06 11:22:39 -07:00
asyncore.py bpo-47061: use warnings._deprecated() with asynchat, asyncore, and smtpd (GH-32350) 2022-04-06 11:22:39 -07:00
base64.py bpo-35970: Add help flag to base64 module (GH-28774) 2021-10-06 18:38:43 -07:00
bdb.py [3.11] gh-101517: fix line number propagation in code generated for except* (#103550) (#103816) 2023-04-25 18:08:54 +01:00
bisect.py
bz2.py bpo-45475: Revert __iter__ optimization for GzipFile, BZ2File, and LZMAFile. (GH-29016) 2021-10-19 11:51:48 +09:00
calendar.py [3.11] GH-108202: Document `calendar`'s command-line interface (GH-109020) (#109031) 2023-09-07 02:11:06 +02:00
cgi.py bpo-47061: deprecate cgi and cgitb (GH-32410) 2022-04-08 17:15:35 -07:00
cgitb.py bpo-47061: deprecate cgi and cgitb (GH-32410) 2022-04-08 17:15:35 -07:00
chunk.py gh-47061: Deprecate chunk (GH-91419) 2022-04-11 15:02:41 -07:00
cmd.py gh-67248: cmd: Sort miscellaneous help topics (#92254) 2022-05-03 21:36:52 -06:00
code.py
codecs.py [3.11] gh-50644: Forbid pickling of codecs streams (GH-109180) (GH-109232) 2023-09-10 17:41:19 +00:00
codeop.py [3.11] gh-111366: Correctly show custom syntax error messages in the codeop module functions (GH-111384). (#111516) 2023-10-31 14:41:20 +00:00
colorsys.py [3.11] gh-106498: Revert incorrect colorsys.rgb_to_hls change (GH-106627) (#106633) 2023-07-11 15:48:00 +00:00
compileall.py bpo-40447: accept all path-like objects in compileall.compile_file (GH-19883) 2022-12-23 12:43:13 -08:00
configparser.py [3.11] Fix typo in configparser module docstring (GH-105652) (#105654) 2023-06-11 14:33:50 +00:00
contextlib.py [3.11] gh-110378: Close invalid generators in contextmanager and asynccontextmanager (GH-110499) (#110589) 2023-10-10 11:12:52 +02:00
contextvars.py
copy.py gh-90494: Reject 6th element of the __reduce__() tuple (GH-93609) (GH-93631) 2022-06-10 16:00:19 +02:00
copyreg.py bpo-26579: Add object.__getstate__(). (GH-2821) 2022-04-06 20:00:14 +03:00
cProfile.py gh-103935: Use io.open_code() when executing code in trace and profile modules (GH-103947) 2023-04-27 21:23:46 +00:00
crypt.py gh-95231: Disable md5 & crypt modules if FIPS is enabled (GH-94742) 2022-08-15 08:37:51 -07:00
csv.py bpo-43625: Enhance csv sniffer has_headers() to be more accurate (GH-26939) 2021-07-30 19:10:37 +02:00
dataclasses.py [3.11] gh-104035: Do not ignore user-defined __{get,set}state__ in slotted frozen dataclasses (GH-104041) (#104044) 2023-05-01 10:02:41 -06:00
datetime.py [3.11] Fix date.__repr__() docstring (#109422) (#109449) 2023-09-15 13:29:57 +00:00
decimal.py
difflib.py Correct method name typo (#91970) 2022-04-27 15:28:56 -06:00
dis.py [3.11] gh-108826: Document dis module CLI and rename _test function to main (#108827) (#110689) 2023-10-11 14:48:03 -06:00
doctest.py [3.11] gh-61648: Detect line numbers of properties in doctests (GH-113161) (GH-113165) 2023-12-15 13:38:45 +00:00
enum.py [3.11] gh-111181: Fix enum doctests (GH-111180) (GH-111617) 2023-11-03 16:51:56 -07:00
filecmp.py bpo-42958: Improve description of shallow= in filecmp.cmp docs (GH-27166) 2021-08-04 21:39:45 +02:00
fileinput.py [3.11] gh-101961 fileinput.hookcompressed should not set the encoding value for the binary mode (gh-102068) (#102098) 2023-02-21 12:39:16 +09:00
fnmatch.py gh-89973: Fix re.error in the fnmatch module. (GH-93072) 2022-06-05 02:39:11 -07:00
fractions.py bpo-44547: Make Fractions objects instances of typing.SupportsInt (GH-27851) 2021-10-22 00:09:47 +02:00
ftplib.py
functools.py gh-89828: Do not relay the __class__ attribute in GenericAlias (GH-93754) 2022-06-18 07:41:25 -07:00
genericpath.py
getopt.py
getpass.py
gettext.py [3.11] gh-110519: Improve deprecation warning in the gettext module (GH-110520) (GH-110564) 2023-10-09 16:10:34 +02:00
glob.py bpo-37578: glob.glob -- added include_hidden parameter (GH-30153) 2021-12-18 06:23:34 -08:00
graphlib.py bpo-45359: Support TopologicalSorter type subscript (GH-28714) 2021-12-08 20:52:57 +02:00
gzip.py gh-90839: Forward gzip.compress() compresslevel to zlib (gh-31215) 2022-04-12 22:46:40 +09:00
hashlib.py bpo-45150: Add hashlib.file_digest() for efficient file hashing (GH-31930) 2022-03-22 02:37:00 -07:00
heapq.py Update: usage doc for heappushpop (GH-91451) 2022-04-17 23:12:33 -05:00
hmac.py [3.11] gh-112999: Replace the outdated "deprecated" directives with "versionchanged" (GH-113000) (GH-113020) 2023-12-12 17:17:35 +00:00
imaplib.py
imghdr.py gh-91217: deprecate imghdr (#91461) 2022-04-13 10:47:41 -07:00
imp.py bpo-45019: Do some cleanup related to frozen modules. (gh-28319) 2021-09-13 16:18:37 -06:00
inspect.py [3.11] gh-105080: Fixed inconsistent signature on derived classes (GH… (#105274) 2023-06-04 15:26:01 -06:00
io.py gh-111356: io: Add missing documented objects to io.__all__ (GH-111370) 2023-11-10 07:32:41 +00:00
ipaddress.py [3.11] gh-110196: Fix ipaddress.IPv6Address.__reduce__ (GH-110198) (GH-111190) 2023-10-22 19:12:58 +00:00
keyword.py
linecache.py gh-92336: linecache.getline should not raise exceptions on decoding errors (GH-94410) 2022-06-30 02:59:33 -07:00
locale.py [3.11] gh-111187: Postpone removal version for locale.getdefaultlocale() to 3.15 (GH-111188) (#111326) 2023-10-27 16:08:53 +03:00
lzma.py bpo-45475: Revert __iter__ optimization for GzipFile, BZ2File, and LZMAFile. (GH-29016) 2021-10-19 11:51:48 +09:00
mailbox.py
mailcap.py [3.11] gh-68966: Make mailcap refuse to match unsafe filenames/types/params (GH-91993) (GH-93458) 2022-06-03 08:25:58 -07:00
mimetypes.py bpo-45639: Add webp and avif image formats to mimetypes (#29259) 2022-05-03 15:17:57 -06:00
modulefinder.py bpo-45017: move opcode-related logic from modulefinder to dis (GH-28246) 2021-09-09 14:04:12 +01:00
netrc.py bpo-28806: Continue work: improve the netrc library (GH-26330) 2021-11-17 11:07:54 +02:00
nntplib.py gh-91217: deprecate nntplib (GH-91543) 2022-04-15 12:32:56 -07:00
ntpath.py [3.11] gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248) 2023-08-22 15:35:16 +01:00
nturl2path.py
numbers.py [3.11] gh-68163: Correct conversion of Rational instances to float (GH-25619) (#96556) 2022-09-08 12:03:53 +01:00
opcode.py [3.11] GH-93516: Backport GH-93769 (GH-94231) 2022-06-28 16:30:22 +01:00
operator.py bpo-44019: Add operator.call() to __all__ for the operator module (GH-29110) 2021-10-21 19:05:36 +09:00
optparse.py
os.py gh-57179: Add note on symlinks for os.walk (GH-94799) 2022-10-07 20:00:04 -07:00
pathlib.py [3.11] GH-87695: Fix OSError from pathlib.Path.glob() (GH-104292) (GH-104362) 2023-05-10 23:19:49 +00:00
pdb.py [3.11] gh-108791: Fix pdb CLI invalid argument handling (GH-108816) (#111063) 2023-10-19 14:26:40 +01:00
pickle.py [3.11] gh-113028: Correctly memoize str in pickle when escapes added (GH-113436) (GH-113449) 2023-12-24 10:01:53 +00:00
pickletools.py
pipes.py gh-91217: deprecate-pipes (GH-91779) 2022-04-21 19:28:34 -07:00
pkgutil.py [3.11] gh-68654: Clarify subdirectories used by pkgutil.extend_path (GH-103701) 2023-04-23 02:57:10 -06:00
platform.py gh-100750: pass encoding kwarg in lib/platform.py (GH-100751) 2023-01-20 21:07:56 -08:00
plistlib.py gh-101992: update pstlib module documentation (GH-102133) 2023-03-04 22:36:00 -08:00
poplib.py
posixpath.py gh-96192: fix os.ismount() to use a path that is str or bytes (GH-96194) 2022-11-30 15:31:49 -08:00
pprint.py [3.11] [pprint]: Add docstring about PrettyPrinter.underscore_numbers parameter (GH-112963) (#113052) 2023-12-13 12:38:19 +00:00
profile.py gh-103935: Use io.open_code() when executing code in trace and profile modules (GH-103947) 2023-04-27 21:23:46 +00:00
pstats.py [3.11] Fix type annotation of pstats.FunctionProfile.ncalls (GH-96741) (#96835) 2022-10-05 14:57:11 -07:00
pty.py [3.11] gh-96522: Fix deadlock in pty.spawn (GH-96639) (#104655) 2023-05-19 16:54:50 +02:00
py_compile.py bpo-45428: Fix reading filenames from stdin in py_compile (GH-28848) 2021-10-15 12:38:55 +03:00
pyclbr.py
pydoc.py [3.11] gh-112007: Re-organize help utility intro message (GH-112017) (#112048) 2023-11-13 19:50:56 +00:00
queue.py gh-90879: Fix missing parameter for put_nowait() (GH-91514) 2022-04-14 17:23:57 +09:00
quopri.py
random.py [3.11] GH-101097: Switch from standard interval notation to greater or less than signs for random.random()'s documentation (GH-101119) (GH-101246) 2023-01-22 13:45:55 -08:00
reprlib.py bpo-39549: reprlib.Repr uses a “fillvalue” attribute (GH-18343) 2021-09-22 15:45:58 -05:00
rlcompleter.py gh-92345: Import rlcompleter before sys.path is extended (#92346) 2022-05-05 21:24:16 +02:00
runpy.py bpo-26792: Improve docstrings of runpy module run_functions (#30729) 2022-04-29 12:22:46 -06:00
sched.py
secrets.py bpo-47126: Update to canonical PEP URLs specified by PEP 676 (GH-32124) 2022-03-30 12:00:27 +01:00
selectors.py [3.11] gh-110038: KqueueSelector must count all read/write events (GH-110039) (#110044) 2023-09-28 20:58:24 +02:00
shelve.py
shlex.py
shutil.py [3.11] bpo-26791: Update shutil.move() to provide the same symlink move behavior as the mv shell when moving a symlink into a directory that is the target of the symlink (GH-21759) (GH-113518) 2023-12-27 19:03:45 +02:00
signal.py [3.11] gh-112559: Avoid unnecessary conversion attempts to enum_klass in signal.py (GH-113040) (#113444) 2023-12-23 18:09:46 -08:00
site.py gh-90473: disable user site packages on WASI/Emscripten (GH-93633) 2022-06-09 09:12:51 -07:00
smtpd.py bpo-47061: use warnings._deprecated() with asynchat, asyncore, and smtpd (GH-32350) 2022-04-06 11:22:39 -07:00
smtplib.py bpo-43124: Fix smtplib multiple CRLF injection (GH-25987) 2021-08-29 16:10:50 +02:00
sndhdr.py gh-85525: Indicate supported sound header formats (GH-21575) 2022-10-15 08:09:20 -07:00
socket.py Fix broken link to MSDN (GH-102355) 2023-03-13 06:42:30 -07:00
socketserver.py bpo-40280: Disable AF_UNIX, AF_PACKET, SO_REUSE* on Emscripten (#31829) 2022-03-11 23:25:14 +01:00
sre_compile.py bpo-47152: Convert the re module into a package (GH-32177) 2022-04-02 11:35:13 +03:00
sre_constants.py bpo-47152: Convert the re module into a package (GH-32177) 2022-04-02 11:35:13 +03:00
sre_parse.py bpo-47152: Convert the re module into a package (GH-32177) 2022-04-02 11:35:13 +03:00
ssl.py [3.11] gh-84443: SSLSocket.recv_into() now support buffer protocol with itemsize != 1 (GH-20310) (GH-112459) 2023-11-27 17:41:05 +00:00
stat.py
statistics.py [3.11] GH-99155: Fix NormalDist pickle with 0 and 1 protocols (GH-99156). (GH-99188) 2022-11-07 01:41:08 -08:00
string.py bpo-46307: Add string.Template.get_identifiers() method (GH-30493) 2022-01-11 11:15:42 -08:00
stringprep.py
struct.py
subprocess.py [3.11] gh-106723: forward -Xfrozen_modules option to spawned process interpreters (GH-106724) (#107368) 2023-07-28 11:20:56 +05:30
sunau.py gh-91217: deprecate sunau (GH-91866) 2022-04-25 16:26:43 -07:00
symtable.py Change list to view object (GH-93661) 2022-06-11 04:20:52 -07:00
sysconfig.py [3.11] gh-92897: Ensure venv --copies respects source build property of the creating interpreter (GH-92899) (GH-94567) 2022-07-05 16:40:17 +01:00
tabnanny.py gh-97639: Remove tokenize.NL check from tabnanny (GH-97640) 2022-10-03 19:10:00 -07:00
tarfile.py [3.11] gh-67641: Clarify documentation on bytes vs text with non-seeking tarfile stream (GH-31610) (GH-113520) 2023-12-27 17:33:00 +00:00
telnetlib.py gh-91217: deprecate telnetlib (GH-91958) 2022-04-26 10:45:08 -07:00
tempfile.py [3.11] gh-79325: Fix recursion error in TemporaryDirectory cleanup on Windows (GH-112762) (GH-112848) 2023-12-07 17:46:30 +00:00
textwrap.py bpo-46544: Do not leak x and uspace in textwrap.TextWrapper (GH-30955) 2022-01-27 13:55:58 +02:00
this.py
threading.py [3.11] gh-109593: Fix reentrancy issue in multiprocessing resource_tracker (GH-109629) (#109897) 2023-09-26 12:21:52 +00:00
timeit.py [3.11] gh-105052:update timeit function's description (GH-105060) (#108535) 2023-08-27 03:57:32 -04:00
token.py
tokenize.py bpo-46565: del loop vars that are leaking into module namespaces (GH-30993) 2022-02-03 11:20:08 +02:00
trace.py gh-103935: Use io.open_code() when executing code in trace and profile modules (GH-103947) 2023-04-27 21:23:46 +00:00
traceback.py [3.11] bpo-43950: handle wide unicode characters in tracebacks (GH-28150) (#111373) 2023-10-27 09:46:20 +09:00
tracemalloc.py
tty.py
turtle.py gh-101100: Fix Sphinx warnings in turtle module (GH-102340) 2023-03-13 04:33:38 -07:00
types.py gh-89828: Do not relay the __class__ attribute in GenericAlias (GH-93754) 2022-06-18 07:41:25 -07:00
typing.py [3.11] gh-113255: Clarify docs for typing.reveal_type (#113286) (#113326) 2023-12-20 18:35:13 +00:00
uu.py [3.11] gh-99889: Fix directory traversal security flaw in uu.decode() (GH-104096) (#104329) 2023-05-09 09:46:25 -07:00
uuid.py gh-98415: Fix uuid.getnode() ifconfig implementation (GH-98423) 2022-11-02 12:12:31 -07:00
warnings.py gh-91230: Concise catch_warnings with simplefilter (#91435) 2022-04-23 17:55:22 -07:00
wave.py [3.11] gh-105096: Reformat wave documentation (#105136) (#105138) (#105155) 2023-05-31 16:40:25 +00:00
weakref.py Remove unnecessary registration of weakref.WeakSet to _collections_abc.Set (GH-32211) 2022-03-31 09:11:35 -05:00
webbrowser.py [3.11] gh-113543: Make sure that MacOSXOSAScript sends webbrowser.open audit event (GH-113544) (#113550) 2023-12-29 09:57:21 +01:00
xdrlib.py gh-91217: deprecate xdrlib (GH-92066) 2022-04-29 18:22:10 -07:00
zipapp.py
zipfile.py [3.11] gh-106752: Sync with zipp 3.16.2 (GH-106757) (#106778) 2023-07-15 10:15:38 -04:00
zipimport.py GH-87235: Make sure "python /dev/fd/9 9</path/to/script.py" works on macOS (GH-99768) 2022-11-27 03:19:02 -08:00