• Home
  • Raw
  • Download

Lines Matching +full:debian +full:- +full:clover +full:- +full:testing

8 *Release date: 2023-06-06*
11 --------
13 - gh-issue-103142: The version of OpenSSL used in our binary builds has been
16 - gh-issue-99889: Fixed a security in flaw in :func:`uu.decode` that could
20 - gh-issue-104049: Do not expose the local on-disk location in directory
23 - gh-issue-102153: :func:`urllib.parse.urlsplit` now strips leading C0
25 by WHATWG in response to CVE-2023-24329. Patch by Illia Volochii.
28 -----------------
30 - gh-issue-105164: Ensure annotations are set up correctly if the only
34 - gh-issue-104615: Fix wrong ordering of assignments in code like ``a, a =
37 - gh-issue-104482: Fix three error handling bugs in ast.c's validation of
40 - gh-issue-102818: Do not add a frame to the traceback in the
46 - gh-issue-104405: Fix an issue where some :term:`bytecode` instructions
49 - gh-issue-104018: Disallow the "z" format specifier in %-format of bytes
52 - gh-issue-103971: Fix an issue where incorrect locations numbers could be
55 - gh-issue-102310: Change the error range for invalid bytes literals.
57 - gh-issue-103590: Do not wrap a single exception raised from a
58 ``try-except*`` construct in an :exc:`ExceptionGroup`.
60 - gh-issue-101517: Fix bug in line numbers of instructions emitted for
63 - gh-issue-103242: Migrate :meth:`~ssl.SSLContext.set_ecdh_curve` method not
64 to use deprecated OpenSSL APIs. Patch by Dong-hee Na.
66 - gh-issue-102700: Allow built-in modules to be submodules. This allows
69 - gh-issue-101857: Fix xattr support detection on Linux systems by widening
72 - gh-issue-99184: Bypass instance attribute access of ``__name__`` in
75 - gh-issue-96670: The parser now raises :exc:`SyntaxError` when parsing
79 - bpo-31821: Fix :func:`!pause_reading` to work when called from
83 -------
85 - gh-issue-105080: Fixed inconsistent signature on derived classes for
88 - gh-issue-104874: Document the ``__name__`` and ``__supertype__``
91 - gh-issue-104340: When an ``asyncio`` pipe protocol loses its connection
98 - gh-issue-104372: Refactored the ``_posixsubprocess`` internals to avoid
102 - gh-issue-75367: Fix data descriptor detection in
105 - gh-issue-104536: Fix a race condition in the internal
109 - gh-issue-104399: Prepare the ``_tkinter`` module for building with Tcl 9.0
114 - gh-issue-104307: :func:`socket.getnameinfo` now releases the GIL while
117 - gh-issue-87695: Fix issue where :meth:`pathlib.Path.glob` raised
120 - gh-issue-104265: Prevent possible crash by disallowing instantiation of
125 - gh-issue-104035: Do not ignore user-defined ``__getstate__`` and
128 - gh-issue-103987: In :mod:`mmap`, fix several bugs that could lead to
129 access to memory-mapped files after they have been invalidated.
131 - gh-issue-103935: Use :func:`io.open_code` for files to be executed instead
134 - gh-issue-100370: Fix potential :exc:`OverflowError` in
135 :meth:`sqlite3.Connection.blobopen` for 32-bit builds. Patch by Erlend E.
138 - gh-issue-103848: Add checks to ensure that ``[`` bracketed ``]`` hosts
141 - gh-issue-103872: Update the bundled copy of pip to version 23.1.2.
143 - gh-issue-103861: Fix ``zipfile.Zipfile`` creating invalid zip files when
146 - gh-issue-103685: Prepare :meth:`tkinter.Menu.index` for Tk 8.7 so that it
150 - gh-issue-81403: :class:`urllib.request.CacheFTPHandler` no longer raises
155 - gh-issue-103578: Fixed a bug where :mod:`pdb` crashes when reading source
160 - gh-issue-103556: Now creating :class:`inspect.Signature` objects with
161 positional-only parameter with a default followed by a
162 positional-or-keyword parameter without one is impossible.
164 - gh-issue-103559: Update the bundled copy of pip to version 23.1.1.
166 - gh-issue-103365: Set default Flag boundary to ``STRICT`` and fix bitwise
169 - gh-issue-103472: Avoid a potential :exc:`ResourceWarning` in
173 - gh-issue-103449: Fix a bug in doc string generation in
176 - gh-issue-103256: Fixed a bug that caused :mod:`hmac` to raise an exception
179 back properly to the built-in. This could happen when, for example, your
183 - gh-issue-103225: Fix a bug in :mod:`pdb` when displaying line numbers of
184 module-level source code.
186 - gh-issue-93910: Remove deprecation of enum ``memmber.member`` access.
188 - gh-issue-102978: Fixes :func:`unittest.mock.patch` not enforcing function
192 - gh-issue-103204: Fixes :mod:`http.server` accepting HTTP requests with
193 HTTP version numbers preceded by '+', or '-', or with digit-separating '_'
196 - gh-issue-102953: The extraction methods in :mod:`tarfile`, and
200 :ref:`tarfile-extraction-filter` for details.
202 - gh-issue-101640: :class:`argparse.ArgumentParser` now catches errors when
206 - gh-issue-96522: Fix potential deadlock in pty.spawn()
208 - gh-issue-87474: Fix potential file descriptor leaks in
212 -------------
214 - gh-issue-89455: Add missing documentation for the ``max_group_depth`` and
218 - gh-issue-89412: Add missing documentation for the ``end_lineno`` and
222 - gh-issue-104943: Remove mentions of old Python versions in
225 - gh-issue-67056: Document that the effect of registering or unregistering
229 - gh-issue-48241: Clarifying documentation about the url parameter to
234 -----
236 - gh-issue-104494: Update ``test_pack_configure_in`` and
240 - gh-issue-104461: Run test_configure_screen on X11 only, since the
241 ``DISPLAY`` environment variable and ``-screen`` option for toplevels are
244 - gh-issue-103329: Regression tests for the behaviour of
247 - gh-issue-85984: Utilize new "winsize" functions from termios in pty tests.
249 - gh-issue-75729: Fix the :func:`os.spawn* <os.spawnl>` tests failing on
253 -----
255 - gh-issue-90005: Fix a regression in :file:`configure` where we could end
258 - gh-issue-104106: Add gcc fallback of mkfifoat/mknodat for macOS. Patch by
259 Dong-hee Na.
261 - gh-issue-99069: Extended workaround defining ``static_assert`` when
266 -------
268 - gh-issue-105146: Updated the links at the end of the installer to point to
271 - gh-issue-104623: Update Windows installer to use SQLite 3.42.0.
273 - gh-issue-102997: Update Windows installer to use SQLite 3.41.2.
275 - gh-issue-88013: Fixed a bug where :exc:`TypeError` was raised when calling
279 -----
281 - gh-issue-103142: Update macOS installer to use OpenSSL 1.1.1u.
283 - gh-issue-104623: Update macOS installer to SQLite 3.42.0.
285 - gh-issue-102997: Update macOS installer to SQLite 3.41.2.
288 ----
290 - gh-issue-104719: Remove IDLE's modification of tokenize.tabsize and test
293 - gh-issue-104499: Fix completions for Tk Aqua 8.7 (currently blank).
295 - gh-issue-104496: About prints both tcl and tk versions if different
298 - gh-issue-88496: Fix IDLE test hang on macOS.
304 *Release date: 2023-04-04*
307 --------
309 - gh-issue-101727: Updated the OpenSSL version used in Windows and macOS
310 binary release builds to 1.1.1t to address CVE-2023-0286, CVE-2022-4303,
311 and CVE-2022-4303 per `the OpenSSL 2023-02-07 security advisory
314 - gh-issue-101283: :class:`subprocess.Popen` now uses a safer approach to
319 -----------------
321 - gh-issue-101975: Fixed ``stacktop`` value on tracing entries to avoid
324 - gh-issue-102701: Fix overflow when creating very large dict.
326 - gh-issue-102416: Do not memoize incorrectly automatically generated loop
329 - gh-issue-102356: Fix a bug that caused a crash when deallocating deeply
332 - gh-issue-102397: Fix segfault from race condition in signal handling
335 - gh-issue-102281: Fix potential nullptr dereference and use of
338 - gh-issue-102126: Fix deadlock at shutdown when clearing thread states if
342 - gh-issue-102027: Fix SSE2 and SSE3 detection in ``_blake2`` internal
345 - gh-issue-101967: Fix possible segfault in
348 - gh-issue-101765: Fix SystemError / segmentation fault in iter
352 - gh-issue-101696: Invalidate type version tag in ``_PyStaticType_Dealloc``
357 -------
359 - gh-issue-102549: Don't ignore exceptions in member type creation.
361 - gh-issue-102947: Improve traceback when :func:`dataclasses.fields` is
362 called on a non-dataclass. Patch by Alex Waygood
364 - gh-issue-102780: The :class:`asyncio.Timeout` context manager now works
369 - gh-issue-88965: typing: Fix a bug relating to substitution in custom
377 - gh-issue-101979: Fix a bug where parentheses in the ``metavar`` argument
381 - gh-issue-102179: Fix :func:`os.dup2` error message for negative fds.
383 - gh-issue-101961: For the binary mode, :func:`fileinput.hookcompressed`
387 - gh-issue-101936: The default value of ``fp`` becomes :class:`io.BytesIO`
391 - gh-issue-102069: Fix ``__weakref__`` descriptor generation for custom
394 - gh-issue-101566: In zipfile, apply fix for extractall on the underlying
397 - gh-issue-101892: Callable iterators no longer raise :class:`SystemError`
401 - gh-issue-97786: Fix potential undefined behaviour in corner cases of
402 floating-point-to-time conversions.
404 - gh-issue-101517: Fixed bug where :mod:`bdb` looks up the source line with
408 - gh-issue-101673: Fix a :mod:`pdb` bug where ``ll`` clears the changes to
411 - gh-issue-96931: Fix incorrect results from
414 - gh-issue-88233: Correctly preserve "extra" fields in ``zipfile``
417 - gh-issue-96127: ``inspect.signature`` was raising ``TypeError`` on call
421 - gh-issue-95495: When built against OpenSSL 3.0, the :mod:`ssl` module had
423 as a clean TLS-level EOF. It now raises :exc:`~ssl.SSLEOFError`, matching
429 - gh-issue-94440: Fix a :mod:`concurrent.futures.process` bug where
434 -------------
436 - gh-issue-103112: Add docstring to :meth:`http.client.HTTPResponse.read` to
439 - gh-issue-85417: Update :mod:`cmath` documentation to clarify behaviour on
442 - gh-issue-97725: Fix :meth:`asyncio.Task.print_stack` description for
446 -----
448 - gh-issue-102980: Improve test coverage on :mod:`pdb`.
450 - gh-issue-102537: Adjust the error handling strategy in
453 - gh-issue-89792: ``test_tools`` now copies up to 10x less source data to a
458 - gh-issue-101377: Improved test_locale_calendar_formatweekday of calendar.
461 -----
463 - gh-issue-102711: Fix ``-Wstrict-prototypes`` compiler warnings.
466 -------
468 - gh-issue-101849: Ensures installer will correctly upgrade existing
471 - gh-issue-101763: Updates copy of libffi bundled with Windows installs to
474 - gh-issue-101759: Update Windows installer to SQLite 3.40.1.
476 - gh-issue-101614: Correctly handle extensions built against debug binaries
480 -----
482 - gh-issue-103207: Add instructions to the macOS installer welcome display
486 - gh-issue-101759: Update macOS installer to SQLite 3.40.1.
492 *Release date: 2023-02-07*
495 -----------------
497 - gh-issue-92173: Fix the ``defs`` and ``kwdefs`` arguments to
500 - gh-issue-101400: Fix wrong lineno in exception message on
502 Dong-hee Na.
504 - gh-issue-101372: Fix :func:`~unicodedata.is_normalized` to properly handle
505 the UCD 3.2.0 cases. Patch by Dong-hee Na.
507 - gh-issue-101046: Fix a possible memory leak in the parser when raising
510 - gh-issue-101037: Fix potential memory underallocation issue for instances
513 - gh-issue-100942: Fixed segfault in property.getter/setter/deleter that
515 return a non-property instance.
517 - gh-issue-100892: Fix race while iterating over thread states in clearing
520 - gh-issue-100776: Fix misleading default value in :func:`input`'s
523 - gh-issue-100637: Fix :func:`int.__sizeof__` calculation to include the 1
526 - gh-issue-100649: Update the native_thread_id field of PyThreadState after
529 - gh-issue-100374: Fix incorrect result and delay in :func:`socket.getfqdn`.
532 - gh-issue-99110: Initialize frame->previous in frameobject.c to fix a
535 - gh-issue-100050: Honor existing errors obtained when searching for
538 - bpo-32782: ``ctypes`` arrays of length 0 now report a correct itemsize
543 -------
545 - gh-issue-101541: [Enum] - fix psuedo-flag creation
547 - gh-issue-101326: Fix regression when passing ``None`` as second or third
550 - gh-issue-100795: Avoid potential unexpected ``freeaddrinfo`` call (double
555 - gh-issue-101143: Remove unused references to :class:`~asyncio.TimerHandle`
558 - gh-issue-101144: Make :func:`zipfile.Path.open` and
564 - gh-issue-101015: Fix :func:`typing.get_type_hints` on ``'*tuple[...]'``
567 - gh-issue-100573: Fix a Windows :mod:`asyncio` bug with named pipes where a
571 - gh-issue-100805: Modify :func:`random.choice` implementation to once again
574 - gh-issue-90104: Avoid RecursionError on ``repr`` if a dataclass field
577 - gh-issue-100750: pass encoding kwarg to subprocess in platform
579 - gh-issue-100689: Fix crash in :mod:`pyexpat` by statically allocating
582 - gh-issue-100740: Fix ``unittest.mock.Mock`` not respecting the spec for
585 - gh-issue-86508: Fix :func:`asyncio.open_connection` to skip binding to
588 - gh-issue-100287: Fix the interaction of :func:`unittest.mock.seal` with
591 - gh-issue-100474: :mod:`http.server` now checks that an index page is
595 - gh-issue-100160: Remove any deprecation warnings in
598 - gh-issue-96290: Fix handling of partial and invalid UNC drives in
599 ``ntpath.splitdrive()``, and in ``ntpath.normpath()`` on non-Windows
602 modified by ``normpath()`` on non-Windows systems. The behaviour of
606 - gh-issue-78878: Fix crash when creating an instance of
609 - gh-issue-99952: Fix a reference undercounting issue in
613 - gh-issue-100133: Fix regression in :mod:`asyncio` where a subprocess would
616 - gh-issue-100098: Fix ``tuple`` subclasses being cast to ``tuple`` when
619 - gh-issue-98778: Update :exc:`~urllib.error.HTTPError` to be initialized
620 properly, even if the ``fp`` is ``None``. Patch by Dong-hee Na.
622 - gh-issue-83035: Fix :func:`inspect.getsource` handling of decorator calls
625 - gh-issue-99576: Fix ``.save()`` method for ``LWPCookieJar`` and
628 - gh-issue-99433: Fix :mod:`doctest` failure on
631 - gh-issue-99240: Fix double-free bug in Argument Clinic ``str_converter``
634 - gh-issue-64490: Fix refcount error when arguments are packed to tuple in
637 - gh-issue-85267: Several improvements to :func:`inspect.signature`'s
638 handling of ``__text_signature``. - Fixes a case where
639 :func:`inspect.signature` dropped parameters - Fixes a case where
640 :func:`inspect.signature` raised :exc:`tokenize.TokenError` - Allows
642 operations of constants - :func:`inspect.signature` is documented as only
644 :exc:`RuntimeError`. These cases now raise :exc:`ValueError` - Removed a
647 - gh-issue-95882: Fix a 3.11 regression in
653 - bpo-44817: Ignore WinError 53 (ERROR_BAD_NETPATH), 65
657 - bpo-40447: Accept :class:`os.PathLike` (such as :class:`pathlib.Path`) in
661 - bpo-36880: Fix a reference counting issue when a :mod:`ctypes` callback
666 -------------
668 - gh-issue-100616: Document existing ``attr`` parameter to
671 - gh-issue-100472: Remove claim in documentation that the ``stripdir``,
676 - gh-issue-99931: Use `sphinxext-opengraph
677 <https://sphinxext-opengraph.readthedocs.io/>`__ to generate `OpenGraph
681 -----
683 - gh-issue-101334: ``test_tarfile`` has been updated to pass when run as a
686 - gh-issue-100454: Start running SSL tests with OpenSSL 3.1.0-beta1.
688 - gh-issue-96002: Add functional test for Argument Clinic.
691 -----
693 - gh-issue-101522: Allow overriding Windows dependencies versions and paths
697 -------
699 - gh-issue-101543: Ensure the install path in the registry is only used when
702 - gh-issue-101467: The ``py.exe`` launcher now correctly filters when only a
704 tags so that ``-3.1`` does not match ``3.11``, but would still match
705 ``3.1-32``.
707 - gh-issue-101135: Restore ability to launch older 32-bit versions from the
708 :file:`py.exe` launcher when both 32-bit and 64-bit installs of the same
711 - gh-issue-82052: Fixed an issue where writing more than 32K of Unicode
714 - gh-issue-100320: Ensures the ``PythonPath`` registry key from an install
718 - gh-issue-100247: Restores support for the :file:`py.exe` launcher finding
721 - gh-issue-100180: Update Windows installer to OpenSSL 1.1.1s
723 - bpo-43984: :meth:`winreg.SetValueEx` now leaves the target value untouched
724 in the case of conversion errors. Previously, ``-1`` would be written in
728 -----
730 - gh-issue-100180: Update macOS installer to OpenSSL 1.1.1s
733 -----------
735 - bpo-45256: Fix a bug that caused an :exc:`AttributeError` to be raised in
736 ``python-gdb.py`` when ``py-locals`` is used without a frame.
738 - gh-issue-100342: Add missing ``NULL`` check for possible allocation
741 - gh-issue-64490: Argument Clinic varargs bugfixes
743 * Fix out-of-bounds error in :c:func:`!_PyArg_UnpackKeywordsWithVararg`.
749 -----
751 - gh-issue-99240: In argument parsing, after deallocating newly allocated
758 *Release date: 2022-12-06*
761 --------
763 - gh-issue-100001: ``python -m http.server`` no longer allows terminal
771 - gh-issue-87604: Avoid publishing list of active per-interpreter audit
774 - gh-issue-98433: The IDNA codec decoder used on DNS hostnames by
777 denial of service if an out-of-spec excessive length hostname involving
782 - gh-issue-98739: Update bundled libexpat to 2.5.0
784 - gh-issue-97612: Fix a shell code injection vulnerability in the
785 ``get-remote-certificate.py`` example script. The script no longer uses a
790 -----------------
792 - gh-issue-99886: Fix a crash when an object which does not have a
795 - gh-issue-99891: Fix a bug in the tokenizer that could cause infinite
799 - gh-issue-99729: Fix an issue that could cause frames to be visible to
803 - gh-issue-99578: Fix a reference bug in :func:`_imp.create_builtin()` after
804 the creation of the first sub-interpreter for modules ``builtins`` and
807 - gh-issue-99581: Fixed a bug that was causing a buffer overflow if the
811 - gh-issue-99553: Fix bug where an :exc:`ExceptionGroup` subclass can wrap a
814 - gh-issue-99370: Fix zip path for venv created from a non-installed python
817 - gh-issue-99298: Fix an issue that could potentially cause incorrect error
820 - gh-issue-99205: Fix an issue that prevented :c:type:`PyThreadState` and
823 - gh-issue-99181: Fix failure in :keyword:`except* <except_star>` with
826 - gh-issue-99204: Fix calculation of :data:`sys._base_executable` when
832 - gh-issue-96055: Update :mod:`faulthandler` to emit an error message with
833 the proper unexpected signal number. Patch by Dong-hee Na.
835 - gh-issue-99153: Fix location of :exc:`SyntaxError` for a :keyword:`try`
838 - gh-issue-99103: Fix the error reporting positions of specialized traceback
841 - gh-issue-98852: Fix subscription of type aliases containing bare generic
846 - gh-issue-98925: Lower the recursion depth for marshal on WASI to support
849 - gh-issue-98783: Fix multiple crashes in debug mode when ``str`` subclasses
852 - gh-issue-99257: Fix an issue where member descriptors (such as those for
857 - gh-issue-98374: Suppress ImportError for invalid query for help() command.
858 Patch by Dong-hee Na.
860 - gh-issue-98415: Fix detection of MAC addresses for :mod:`uuid` on certain
863 - gh-issue-92119: Print exception class name instead of its string
866 - gh-issue-96078: :func:`os.sched_yield` now release the GIL while calling
867 sched_yield(2). Patch by Dong-hee Na.
869 - gh-issue-93354: Fix an issue that could delay the specialization of
872 - gh-issue-97943: Bugfix: :func:`PyFunction_GetAnnotations` should return a
875 - gh-issue-97779: Ensure that all Python frame objects are backed by
878 - gh-issue-97591: Fixed a missing incref/decref pair in
881 - gh-issue-94526: Fix the Python path configuration used to initialized
883 UTF-8/strict to avoid encoding errors if it contains surrogate characters
887 - gh-issue-95921: Fix overly-broad source position information for chained
890 - gh-issue-96387: At Python exit, sometimes a thread holding the GIL can
897 - gh-issue-96864: Fix a possible assertion failure, fatal error, or
901 - gh-issue-96678: Fix undefined behaviour in C code of null pointer
904 - gh-issue-96754: Make sure that all frame objects created are created from
908 - gh-issue-95196: Disable incorrect pickling of the C implemented
911 - gh-issue-96005: On WASI :data:`~errno.ENOTCAPABLE` is now mapped to
916 - gh-issue-93696: Allow :mod:`pdb` to locate source for frozen modules in
919 - bpo-31718: Raise :exc:`ValueError` instead of :exc:`SystemError` when
923 - bpo-38031: Fix a possible assertion failure in :class:`io.FileIO` when the
927 -------
929 - gh-issue-100001: Also \ escape \s in the http.server
935 - gh-issue-93453: :func:`asyncio.get_event_loop` now only emits a
939 - gh-issue-51524: Fix bug when calling trace.CoverageResults with valid
942 - gh-issue-99645: Fix a bug in handling class cleanups in
947 - gh-issue-97001: Release the GIL when calling termios APIs to avoid
950 - gh-issue-99341: Fix :func:`ast.increment_lineno` to also cover
953 - gh-issue-99418: Fix bug in :func:`urllib.parse.urlparse` that causes URL
957 - gh-issue-99382: Check the number of arguments in substitution in user
961 - gh-issue-99379: Fix substitution of :class:`~typing.ParamSpec` followed by
964 - gh-issue-99344: Fix substitution of :class:`~typing.TypeVarTuple` and
967 - gh-issue-74044: Fixed bug where :func:`inspect.signature` reported
970 - gh-issue-99275: Fix ``SystemError`` in :mod:`ctypes` when exception was
973 - gh-issue-99277: Remove older version of
977 - gh-issue-99248: fix negative numbers failing in verify()
979 - gh-issue-99155: Fix :class:`statistics.NormalDist` pickle with ``0`` and
982 - gh-issue-93464: ``enum.auto()`` is now correctly activated when combined
986 - gh-issue-99134: Update the bundled copy of pip to version 22.3.1.
988 - gh-issue-83004: Clean up refleak on failed module initialisation in
991 - gh-issue-83004: Clean up refleaks on failed module initialisation in in
994 - gh-issue-83004: Clean up refleak on failed module initialisation in
997 - gh-issue-98897: Fix memory leak in :func:`math.dist` when both points
1000 - gh-issue-98706: [3.11] Applied changes from importlib_metadata `4.11.4
1002 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v4-13-0>`_,
1009 - gh-issue-98793: Fix argument typechecks in :func:`!_overlapped.WSAConnect`
1012 - gh-issue-98744: Prevent crashing in :mod:`traceback` when retrieving the
1013 byte-offset for some source files that contain certain unicode characters.
1015 - gh-issue-98740: Fix internal error in the :mod:`re` module which in very
1017 containing a :ref:`conditional expression <re-conditional-expression>`
1020 - gh-issue-98703: Fix :meth:`asyncio.StreamWriter.drain` to call
1023 - gh-issue-98624: Add a mutex to unittest.mock.NonCallableMock to protect
1026 - gh-issue-89237: Fix hang on Windows in ``subprocess.wait_closed()`` in
1030 - gh-issue-98458: Fix infinite loop in unittest when a self-referencing
1033 - gh-issue-97928: :meth:`tkinter.Text.count` raises now an exception for
1034 options starting with "-" instead of silently ignoring them.
1036 - gh-issue-97966: On ``uname_result``, restored expectation that ``_fields``
1039 - gh-issue-98307: A :meth:`~logging.handlers.SysLogHandler.createSocket`
1042 - gh-issue-96035: Fix bug in :func:`urllib.parse.urlparse` that causes
1044 signs, or non-ASCII digits to be incorrectly accepted.
1046 - gh-issue-98251: Allow :mod:`venv` to pass along :envvar:`PYTHON*`
1050 - gh-issue-98178: On macOS, fix a crash in :func:`syslog.syslog` in
1051 multi-threaded applications. On macOS, the libc ``syslog()`` function is
1052 not thread-safe, so :func:`syslog.syslog` no longer releases the GIL to
1055 - gh-issue-96151: Allow ``BUILTINS`` to be a valid field name for frozen
1058 - gh-issue-87730: Wrap network errors consistently in urllib FTP support, so
1062 - gh-issue-98086: Make sure ``patch.dict()`` can be applied on async
1065 - gh-issue-90985: Earlier in 3.11 we deprecated
1069 - gh-issue-97837: Change deprecate warning message in :mod:`unittest` from
1077 - gh-issue-97825: Fixes :exc:`AttributeError` when
1081 - gh-issue-82836: Fix :attr:`~ipaddress.IPv4Address.is_private` properties
1082 in the :mod:`ipaddress` module. Previously non-private networks
1086 - gh-issue-96827: Avoid spurious tracebacks from :mod:`asyncio` when default
1090 - gh-issue-97592: Avoid a crash in the C version of
1094 - gh-issue-97639: Remove ``tokenize.NL`` check from :mod:`tabnanny`.
1096 - gh-issue-73588: Fix generation of the default name of
1102 - gh-issue-97005: Update bundled libexpat to 2.4.9
1104 - gh-issue-85760: Fix race condition in :mod:`asyncio` where
1109 - gh-issue-96819: Fixed check in :mod:`multiprocessing.resource_tracker`
1113 - gh-issue-96741: Corrected type annotation for dataclass attribute
1116 - gh-issue-95987: Fix ``repr`` of ``Any`` subclasses.
1118 - gh-issue-96388: Work around missing socket functions in
1121 - gh-issue-96073: In :mod:`inspect`, fix overeager replacement of
1124 - gh-issue-96192: Fix handling of ``bytes`` :term:`path-like objects
1125 <path-like object>` in :func:`os.ismount()`.
1127 - gh-issue-96052: Fix handling compiler warnings (SyntaxWarning and
1133 - gh-issue-88863: To avoid apparent memory leaks when
1138 - gh-issue-91212: Fixed flickering of the turtle window when the tracer is
1139 turned off. Patch by Shin-myoung-serp.
1141 - gh-issue-88050: Fix :mod:`asyncio` subprocess transport to kill process
1145 - gh-issue-93858: Prevent error when activating venv in nested fish
1148 - gh-issue-91078: :meth:`TarFile.next` now returns ``None`` when called on
1151 - bpo-47220: Document the optional *callback* parameter of
1154 - bpo-46364: Restrict use of sockets instead of pipes for stdin of
1157 - bpo-38523: :func:`shutil.copytree` now applies the
1160 - bpo-36267: Fix IndexError in :class:`argparse.ArgumentParser` when a
1164 -------------
1166 - gh-issue-92892: Document that calling variadic functions with ctypes
1169 - gh-issue-85525: Remove extra row
1171 - gh-issue-95588: Clarified the conflicting advice given in the :mod:`ast`
1178 - bpo-41825: Restructured the documentation for the :func:`os.wait*
1184 -----
1186 - gh-issue-99892: Skip test_normalization() of test_unicodedata if it fails
1190 - gh-issue-99934: Correct test_marsh on (32 bit) x86: test_deterministic
1193 - gh-issue-99659: Optional big memory tests in ``test_sqlite3`` now catch
1197 - gh-issue-98713: Fix a bug in the :mod:`typing` tests where a test relying
1198 on CPython-specific implementation details was not decorated with
1201 - gh-issue-87390: Add tests for star-unpacking with PEP 646, and some other
1204 - gh-issue-96853: Added explicit coverage of ``Py_Initialize`` (and hence
1208 - bpo-34272: Some C API tests were moved into the new Lib/test/test_capi/
1212 -----
1214 - gh-issue-99086: Fix ``-Wimplicit-int``, ``-Wstrict-prototypes``, and
1215 ``-Wimplicit-function-declaration`` compiler warnings in
1218 - gh-issue-99337: Fix a compilation issue with GCC 12 on macOS.
1220 - gh-issue-99086: Fix ``-Wimplicit-int`` compiler warning in
1223 - gh-issue-98872: Fix a possible fd leak in ``Programs/_freeze_module.c``
1226 - gh-issue-99016: Fix build with ``PYTHON_FOR_REGEN=python3.8``.
1228 - gh-issue-97731: Specify the full path to the source location for ``make
1229 docclean`` (needed for cross-builds).
1231 - gh-issue-98707: Don't use vendored ``libmpdec`` headers if
1232 :option:`--with-system-libmpdec` is passed to :program:`configure`. Don't
1233 use vendored ``libexpat`` headers if :option:`--with-system-expat` is
1236 - gh-issue-96761: Fix the build process of clang compiler for
1238 Matthias Görgens and Dong-hee Na.
1240 - gh-issue-96883: ``wasm32-emscripten`` builds for browsers now include
1243 - gh-issue-84461: ``wasm32-emscripten`` platform no longer builds
1247 - gh-issue-94280: Updated pegen regeneration script on Windows to find and
1253 -------
1255 - gh-issue-99345: Use faster initialization functions to detect install
1258 - gh-issue-98629: Fix initialization of :data:`sys.version` and ``sys._git``
1261 - gh-issue-99442: Fix handling in :ref:`launcher` when ``argv[0]`` does not
1264 - gh-issue-98689: Update Windows builds to zlib v1.2.13. v1.2.12 has
1265 CVE-2022-37434, but the vulnerable ``inflateGetHeader`` API is not used by
1268 - gh-issue-98790: Assumes that a missing ``DLLs`` directory means that
1271 - gh-issue-98745: Update :file:`py.exe` launcher to install 3.11 by default
1274 - gh-issue-98692: Fix the :ref:`launcher` ignoring unrecognized shebang
1277 - gh-issue-94328: Update Windows installer to use SQLite 3.39.4.
1279 - gh-issue-97728: Fix possible crashes caused by the use of uninitialized
1281 in Windows-specific modules (like ``winreg``).
1283 - gh-issue-96965: Update libffi to 3.4.3
1285 - gh-issue-94781: Fix :file:`pcbuild.proj` to clean previous instances of
1289 - bpo-40882: Fix a memory leak in
1293 -----
1295 - gh-issue-87235: On macOS ``python3 /dev/fd/9 9</path/to/script.py`` failed
1298 - gh-issue-98940: Fix ``Mac/Extras.install.py`` file filter bug.
1300 - gh-issue-94328: Update macOS installer to SQLite 3.39.4.
1303 ----
1305 - gh-issue-97527: Fix a bug in the previous bugfix that caused IDLE to not
1311 -----------
1313 - gh-issue-95853: The ``wasm_build.py`` script now pre-builds Emscripten
1314 ports, checks for broken EMSDK versions, and warns about pkg-config env
1317 - gh-issue-95853: The new tool ``Tools/wasm/wasm_builder.py`` automates
1321 - gh-issue-95731: Fix handling of module docstrings in
1325 -----
1327 - gh-issue-98680: ``PyBUF_*`` constants were marked as part of Limited API
1332 - gh-issue-98978: Fix use-after-free in ``Py_SetPythonHome(NULL)``,
1336 - gh-issue-96853: ``Py_InitializeEx`` now correctly calls ``PyConfig_Clear``
1345 *Release date: 2022-10-24*
1348 --------
1350 - gh-issue-97616: Fix multiplying a list by an integer (``list *= int``):
1354 - gh-issue-97514: On Linux the :mod:`multiprocessing` module returns to
1358 <multiprocessing-start-methods>` is affected.
1362 <https://man7.org/linux/man-pages/man7/network_namespaces.7.html>`_ (often
1368 This prevents Linux `CVE-2022-42919
1369 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42919>`_.
1372 -----------------
1374 - gh-issue-97002: Fix an issue where several frame objects could be backed
1378 - gh-issue-97752: Fix possible data corruption or crashes when accessing the
1379 ``f_back`` member of newly-created generator or coroutine frames.
1381 - gh-issue-96975: Fix a crash occurring when :c:func:`PyEval_GetFrame` is
1382 called while the topmost Python frame is in a partially-initialized state.
1384 - gh-issue-96848: Fix command line parsing: reject :option:`-X
1385 int_max_str_digits <-X>` option with no value (invalid) when the
1389 - gh-issue-96821: Fix undefined behaviour in ``_testcapimodule.c``.
1391 - gh-issue-95778: When :exc:`ValueError` is raised if an integer is larger
1395 - gh-issue-96587: Correctly raise ``SyntaxError`` on exception groups
1398 - bpo-42316: Document some places where an assignment expression needs
1402 -------
1404 - gh-issue-98331: Update the bundled copies of pip and setuptools to
1407 - gh-issue-90985: Earlier in 3.11 we deprecated
1411 - gh-issue-97545: Make Semaphore run faster.
1413 - gh-issue-96865: fix Flag to use boundary CONFORM
1415 This restores previous Flag behavior of allowing flags with non-sequential
1420 Skip.TWO | Skip.EIGHT -> <Skip.TWO|EIGHT: 10>
1422 - gh-issue-90155: Fix broken :class:`asyncio.Semaphore` when acquire is
1426 -------------
1428 - gh-issue-97741: Fix ``!`` in c domain ref target syntax via a ``conf.py``
1431 - gh-issue-93031: Update tutorial introduction output to use 3.10+
1435 -----
1437 - gh-issue-95027: On Windows, when the Python test suite is run with the
1438 ``-jN`` option, the ANSI code page is now used as the encoding for the
1439 stdout temporary file, rather than using UTF-8 which can lead to decoding
1443 -----
1445 - gh-issue-96729: Ensure that Windows releases built with
1450 -------
1452 - gh-issue-98360: Fixes :mod:`multiprocessing` spawning child processes on
1457 - gh-issue-98414: Fix :file:`py.exe` launcher handling of ``-V:<company>/``
1461 - gh-issue-90989: Clarify some text in the Windows installer.
1464 -----
1466 - gh-issue-97897: The macOS 13 SDK includes support for the ``mkfifoat`` and
1477 *Release date: 2022-09-11*
1480 --------
1482 - gh-issue-95778: Converting between :class:`int` and :class:`str` in bases
1487 `CVE-2020-10735
1488 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_.
1500 -----------------
1502 - gh-issue-96678: Fix case of undefined behavior in ceval.c
1504 - gh-issue-96641: Do not expose ``KeyWrapper`` in :mod:`_functools`.
1506 - gh-issue-96636: Ensure that tracing, ``sys.setrace()``, is turned on
1507 immediately. In pre-release versions of 3.11, some tracing events might
1511 - gh-issue-96572: Fix use after free in trace refs build mode. Patch by
1514 - gh-issue-96611: When loading a file with invalid UTF-8 inside a multi-line
1517 - gh-issue-96612: Make sure that incomplete frames do not show up in
1520 - gh-issue-96569: Remove two cases of undefined behavior, by adding NULL
1523 - gh-issue-96582: Fix possible ``NULL`` pointer dereference in
1526 - gh-issue-96352: Fix :exc:`AttributeError` missing ``name`` and ``obj``
1529 - gh-issue-96268: Loading a file with invalid UTF-8 will now report the
1532 - gh-issue-96187: Fixed a bug that caused ``_PyCode_GetExtra`` to return
1535 - gh-issue-96071: Fix a deadlock in :c:func:`PyGILState_Ensure` when
1538 - gh-issue-96046: :c:func:`PyType_Ready` now initializes ``ht_cached_keys``
1543 - gh-issue-95818: Skip over incomplete frames in
1546 - gh-issue-95876: Fix format string in
1551 - gh-issue-95605: Fix misleading contents of error message when converting
1552 an all-whitespace string to :class:`float`.
1554 - gh-issue-94996: :func:`ast.parse` will no longer parse function
1555 definitions with positional-only params when passed ``feature_version``
1559 -------
1561 - gh-issue-96700: Fix incorrect error message in the :mod:`io` module.
1563 - gh-issue-96652: Fix the faulthandler implementation of
1568 - gh-issue-68163: Correct conversion of :class:`numbers.Rational`'s to
1571 - gh-issue-96385: Fix ``TypeVarTuple.__typing_prepare_subst__``.
1575 - gh-issue-90467: Fix :class:`asyncio.streams.StreamReaderProtocol` to keep
1578 - gh-issue-96159: Fix a performance regression in logging
1582 - gh-issue-96175: Fix unused ``localName`` parameter in the ``Attr`` class
1585 - gh-issue-96125: Fix incorrect condition that causes
1588 - gh-issue-95463: Remove an incompatible change from :issue:`28080` that
1592 - gh-issue-95899: Fix :class:`asyncio.Runner` to call
1597 - gh-issue-95736: Fix :class:`unittest.IsolatedAsyncioTestCase` to set event
1600 - gh-issue-95704: When a task catches :exc:`asyncio.CancelledError` and
1604 - gh-issue-95231: Fail gracefully if :data:`~errno.EPERM` or
1609 - gh-issue-74116: Allow :meth:`asyncio.StreamWriter.drain` to be awaited
1612 - gh-issue-92986: Fix :func:`ast.unparse` when ``ImportFrom.level`` is None
1615 -------------
1617 - gh-issue-96098: Improve discoverability of the higher level
1621 - gh-issue-95957: What's New 3.11 now has instructions for how to provide
1625 -----
1627 - gh-issue-95243: Mitigate the inherent race condition from using
1632 -----
1634 - gh-issue-94682: Build and test with OpenSSL 1.1.1q
1637 -------
1639 - gh-issue-96577: Fixes a potential buffer overrun in :mod:`msilib`.
1641 - gh-issue-96559: Fixes the Windows launcher not using the compatible
1649 *Release date: 2022-08-05*
1652 -----------------
1654 - gh-issue-95150: Update code object hashing and equality to consider all
1656 non-identical code objects could be "deduplicated" during compilation.
1658 - gh-issue-95355: ``_PyPegen_Parser_New`` now properly detects token memory
1661 - gh-issue-90081: Run Python code in tracer/profiler function at full speed.
1664 - gh-issue-95324: Emit a warning in debug mode if an object does not call
1667 - gh-issue-95185: Prevented crashes in the AST constructor when compiling
1671 - gh-issue-93351: :class:`ast.AST` node positions are now validated when
1675 - gh-issue-94938: Fix error detection in some builtin functions when keyword
1681 -------
1683 - gh-issue-95609: Update bundled pip to 22.2.2.
1685 - gh-issue-95289: Fix :class:`asyncio.TaskGroup` to propagate exception when
1689 - gh-issue-95339: Update bundled pip to 22.2.1.
1691 - gh-issue-95045: Fix GC crash when deallocating ``_lsprof.Profiler`` by
1694 - gh-issue-95097: Fix :func:`asyncio.run` for :class:`asyncio.Task`
1698 - gh-issue-93899: Fix check for existence of :data:`os.EFD_CLOEXEC`,
1702 - gh-issue-95166: Fix :meth:`concurrent.futures.Executor.map` to cancel the
1703 currently waiting on future on an error - e.g. TimeoutError or
1706 - gh-issue-95109: Ensure that timeouts scheduled with
1709 - gh-issue-91810: Suppress writing an XML declaration in open files in
1713 - gh-issue-91447: Fix findtext in the xml module to only give an empty
1717 -------------
1719 - gh-issue-91207: Fix stylesheet not working in Windows CHM htmlhelp docs
1722 - gh-issue-95451: Update library documentation with :ref:`availability
1723 information <wasm-availability>` on WebAssembly platforms
1724 ``wasm32-emscripten`` and ``wasm32-wasi``.
1726 - gh-issue-95415: Use consistent syntax for platform availability. The
1730 - gh-issue-86128: Document a limitation in ThreadPoolExecutor where its exit
1734 -----
1736 - gh-issue-95573: :source:`Lib/test/test_asyncio/test_ssl.py` exposed a bug
1737 in the macOS kernel where intense concurrent load on non-blocking sockets
1743 - gh-issue-95280: Fix problem with ``test_ssl`` ``test_get_ciphers`` on
1746 - gh-issue-94675: Add a regression test for :mod:`re` exponentional slowdown
1750 -----
1752 - gh-issue-94801: Fix a regression in ``configure`` script that caused some
1756 - gh-issue-95145: wasm32-wasi builds no longer depend on WASIX's pthread
1759 - gh-issue-95174: Python now detects missing ``dup`` function in WASI and
1763 - gh-issue-95174: Python now skips missing :mod:`socket` functions and
1767 - gh-issue-95085: Platforms ``wasm32-unknown-emscripten`` and
1768 ``wasm32-unknown-wasi`` have been promoted to :pep:`11` tier 3 platform
1772 -------
1774 - gh-issue-95656: Enable the
1777 - gh-issue-95587: Fixes some issues where the Windows installer would
1780 - gh-issue-94399: Restores the behaviour of :ref:`launcher` for
1785 - gh-issue-95445: Fixes the unsuccessful removal of the HTML document
1788 - gh-issue-95359: Fix :ref:`launcher` handling of :file:`py.ini` commands
1790 reading per-user configuration file.
1792 - gh-issue-95285: Fix :ref:`launcher` handling of command lines where it is
1796 ----
1798 - gh-issue-65802: Document handling of extensions in Save As dialogs.
1800 - gh-issue-95191: Include prompts when saving Shell (interactive input and
1803 - gh-issue-95511: Fix the Shell context menu copy-with-prompts bug of
1806 - gh-issue-95471: In the Edit menu, move ``Select All`` and add a new
1809 - gh-issue-95411: Enable using IDLE's module browser with .pyw files.
1811 - gh-issue-89610: Add .pyi as a recognized extension for IDLE on macOS.
1815 -----
1817 - gh-issue-92678: Restore the 3.10 behavior for multiple inheritance of C
1820 - gh-issue-94936: Added :c:func:`PyCode_GetVarnames`,
1829 *Release date: 2022-07-25*
1832 -----------------
1834 - gh-issue-93351: :class:`ast.AST` node positions are now validated when
1838 - gh-issue-94438: Fix an issue that caused extended opcode arguments and
1844 - gh-issue-95060: Undocumented ``PyCode_Addr2Location`` function now
1847 - gh-issue-95113: Replace all ``EXTENDED_ARG_QUICK`` instructions with basic
1849 non-adaptive bytecode should be able to handle extended arguments the same
1852 - gh-issue-91409: Fix incorrect source location info caused by certain
1855 - gh-issue-94036: Fix incorrect source location info for some multi-line
1858 - gh-issue-94739: Allow jumping within, out of, and across exception
1861 - gh-issue-94949: :func:`ast.parse` will no longer parse parenthesized
1865 - gh-issue-94947: :func:`ast.parse` will no longer parse assignment
1869 - gh-issue-91256: Ensures the program name is known for help text during
1872 - gh-issue-94869: Fix the column offsets for some expressions in multi-line
1873 f-strings :mod:`ast` nodes. Patch by Pablo Galindo.
1875 - gh-issue-94822: Fix an issue where lookups of metaclass descriptors may be
1876 ignored when an identically-named attribute also exists on the class
1879 - gh-issue-91153: Fix an issue where a :class:`bytearray` item assignment
1882 - gh-issue-90699: Fix reference counting bug in :meth:`bool.__repr__`. Patch
1886 -------
1888 - gh-issue-95087: Fix IndexError in parsing invalid date in the :mod:`email`
1891 - gh-issue-95199: Upgrade bundled setuptools to 63.2.0.
1893 - gh-issue-95194: Upgrade bundled pip to 22.2.
1895 - gh-issue-95132: Fix a :mod:`sqlite3` regression where ``*args`` and
1900 - gh-issue-93157: Fix :mod:`fileinput` module didn't support ``errors``
1903 - gh-issue-95105: :meth:`wsgiref.types.InputStream.__iter__` should return
1906 - gh-issue-94857: Fix refleak in ``_io.TextIOWrapper.reconfigure``. Patch by
1909 - gh-issue-94821: Fix binding of unix socket to empty address on Linux to
1912 - gh-issue-89988: Fix memory leak in :class:`pickle.Pickler` when looking up
1915 - bpo-47025: Drop support for :class:`bytes` on :attr:`sys.path`.
1918 -----
1920 - gh-issue-95212: Make multiprocessing test case
1921 ``test_shared_memory_recreate`` parallel-safe.
1924 -----
1926 - gh-issue-94847: Fixed ``_decimal`` module build issue on GCC when
1930 - gh-issue-94841: Fix the possible performance regression of
1933 - gh-issue-94801: ``configure`` now uses custom flags like ``ZLIB_CFLAGS``
1936 - gh-issue-94773: ``deepfreeze.py`` now supports code object with frozensets
1940 -------
1942 - gh-issue-90844: Allow virtual environments to correctly launch when they
1945 - gh-issue-94772: Fix incorrect handling of shebang lines in py.exe launcher
1948 -----
1950 - gh-issue-92678: Adds unstable C-API functions
1954 - gh-issue-94930: Fix ``SystemError`` raised when
1958 - gh-issue-94864: Fix ``PyArg_Parse*`` with deprecated format units "u" and
1961 - gh-issue-94731: Python again uses C-style casts for most casting
1963 they are enabled with e.g. ``-Wold-style-cast `` or
1964 ``-Wzero-as-null-pointer-constant`` options for ``g++``.
1970 *Release date: 2022-07-11*
1973 --------
1975 - gh-issue-87389: :mod:`http.server`: Fix an open redirection vulnerability
1979 - gh-issue-79096: LWPCookieJar and MozillaCookieJar create files with file
1982 - gh-issue-92888: Fix ``memoryview`` use after free when accessing the
1985 - gh-issue-68966: The deprecated mailcap module now refuses to inject unsafe
1991 -----------------
1993 - gh-issue-94694: Fix an issue that could cause code with multi-line method
1995 cases (when compiling a hand-built AST) this could have resulted in a hard
1998 - gh-issue-93252: Fix an issue that caused internal frames to outlive failed
2002 - gh-issue-94215: Fix an issue where exceptions raised by line-tracing
2006 - gh-issue-92228: Disable the compiler's inline-small-exit-blocks
2011 - gh-issue-94485: Line number of a module's ``RESUME`` instruction is set to
2014 - gh-issue-94438: Account for instructions that can push NULL to the stack
2017 - gh-issue-91719: Reload ``opcode`` when raising ``unknown opcode error`` in
2021 - gh-issue-94329: Compile and run code with unpacking of extremely large
2025 - gh-issue-94360: Fixed a tokenizer crash when reading encoded files with
2026 syntax errors from ``stdin`` with non utf-8 encoded text. Patch by Pablo
2029 - gh-issue-88116: Fix an issue when reading line numbers from code objects
2033 - gh-issue-94262: Don't create frame objects for incomplete frames. Prevents
2037 - gh-issue-94192: Fix error for dictionary literals with invalid expression
2040 - gh-issue-93883: Revise the display strategy of traceback enhanced error
2044 - gh-issue-94021: Fix unreachable code warning in ``Python/specialize.c``.
2046 - gh-issue-93516: Store offset of first traceable instruction in code object
2049 - gh-issue-93516: Lazily create a table mapping bytecode offsets to line
2052 - gh-issue-89828: :class:`types.GenericAlias` no longer relays the
2056 - gh-issue-93671: Fix some exponential backtrace case happening with deeply
2059 - gh-issue-93662: Make sure that the end column offsets are correct in
2060 multi-line method calls. Previously, the end column could precede the
2063 - gh-issue-93461: :func:`importlib.invalidate_caches` now drops entries from
2070 - gh-issue-93418: Fixed an assert where an f-string has an equal sign '='
2074 - gh-issue-93382: Cache the result of :c:func:`PyCode_GetCode` function to
2077 - gh-issue-93354: Use exponential backoff for specialization counters in the
2082 - gh-issue-93021: Fix the :attr:`__text_signature__` for :meth:`__get__`
2085 - gh-issue-92930: Fixed a crash in ``_pickle.c`` from mutating collections
2088 - gh-issue-92914: Always round the allocated size for lists up to the
2091 - gh-issue-92858: Improve error message for some suites with syntax error
2094 - bpo-46142: Make ``--help`` output shorter by moving some info to the new
2095 ``--help-env`` and ``--help-xoptions`` command-line options. Also add
2096 ``--help-all`` option to print complete usage.
2099 -------
2101 - gh-issue-94736: Fix crash when deallocating an instance of a subclass of
2104 - gh-issue-94637: :meth:`SSLContext.set_default_verify_paths` now releases
2108 - gh-issue-94607: Fix subclassing complex generics with type variables in
2114 - gh-issue-93910: The ability to access the other values of an enum on an
2118 - gh-issue-93896: Fix :func:`asyncio.run` and
2122 - gh-issue-94510: Re-entrant calls to :func:`sys.setprofile` and
2126 - gh-issue-92336: Fix bug where :meth:`linecache.getline` fails on bad files
2130 - gh-issue-94398: Once a :class:`asyncio.TaskGroup` has started shutting
2135 - gh-issue-94254: Fixed types of :mod:`struct` module to be immutable. Patch
2138 - gh-issue-94207: Made :class:`_struct.Struct` GC-tracked in order to fix a
2141 - gh-issue-91742: Fix :mod:`pdb` crash after jump caused by a null pointer
2144 - gh-issue-94101: Manual instantiation of :class:`ssl.SSLSession` objects is
2148 - gh-issue-84753: :func:`inspect.iscoroutinefunction`,
2151 duck-typed function-like objects like instances of
2157 - gh-issue-94028: Fix a regression in the :mod:`sqlite3` where statement
2162 - gh-issue-93820: Pickle :class:`enum.Flag` by name.
2164 - gh-issue-93847: Fix repr of enum of generic aliases.
2166 - gh-issue-91404: Revert the :mod:`re` memory leak when a match is
2170 - gh-issue-83499: Fix double closing of file description in :mod:`tempfile`.
2172 - gh-issue-93820: Fixed a regression when :func:`copy.copy`-ing
2175 - gh-issue-79512: Fixed names and ``__module__`` value of :mod:`weakref`
2179 - gh-issue-91389: Fix an issue where :mod:`dis` utilities could report
2183 - gh-issue-93626: Set ``__future__.annotations`` to have a ``None``
2186 - gh-issue-90473: Emscripten and WASI have no home directory and cannot
2189 - gh-issue-90494: :func:`copy.copy` and :func:`copy.deepcopy` now always
2193 - gh-issue-90549: Fix a multiprocessing bug where a global named resource
2197 - gh-issue-93521: Fixed a case where dataclasses would try to add
2202 - gh-issue-79579: :mod:`sqlite3` now correctly detects DML queries with
2205 - gh-issue-93421: Update :data:`sqlite3.Cursor.rowcount` when a DML
2209 - gh-issue-91162: Support splitting of unpacked arbitrary-length tuple over
2212 * ``A[T, *Ts][*tuple[int, ...]]`` -> ``A[int, *tuple[int, ...]]``
2213 * ``A[*Ts, T][*tuple[int, ...]]`` -> ``A[*tuple[int, ...], int]``
2215 - gh-issue-93353: Fix the :func:`importlib.resources.as_file` context
2220 - gh-issue-83658: Make :class:`multiprocessing.Pool` raise an exception if
2223 - gh-issue-93156: Accessing the :attr:`pathlib.PurePath.parents` sequence of
2226 - gh-issue-74696: :func:`shutil.make_archive` no longer temporarily changes
2230 - gh-issue-89973: Fix :exc:`re.error` raised in :mod:`fnmatch` if the
2232 (e.g. ``[c-a]``). Now such ranges are interpreted as empty ranges.
2234 - gh-issue-92932: Now :func:`~dis.dis` and :func:`~dis.get_instructions`
2236 Patch by Sam Gross and Dong-hee Na.
2238 - gh-issue-91577: Move imports in :class:`~multiprocessing.SharedMemory`
2242 - gh-issue-91456: Deprecate current default auto() behavior: In 3.13 the
2246 - bpo-47231: Fixed an issue with inconsistent trailing slashes in tarfile
2249 - bpo-46755: In :class:`QueueHandler`, clear ``stack_info`` from
2252 - bpo-46197: Fix :mod:`ensurepip` environment isolation for subprocess
2255 - bpo-45924: Fix :mod:`asyncio` incorrect traceback when future's exception
2258 - bpo-34828: :meth:`sqlite3.Connection.iterdump` now handles databases that
2262 -------------
2264 - gh-issue-94321: Document the :pep:`246` style protocol type
2267 - gh-issue-61162: Clarify :mod:`sqlite3` behavior when
2268 :ref:`sqlite3-connection-context-manager`.
2270 - gh-issue-87260: Align :mod:`sqlite3` argument specs with the actual
2273 - gh-issue-86986: The minimum Sphinx version required to build the
2276 - gh-issue-88831: Augmented documentation of asyncio.create_task().
2280 - bpo-47161: Document that :class:`pathlib.PurePath` does not collapse
2284 -----
2286 - gh-issue-91330: Added more tests for :mod:`dataclasses` to cover behavior
2287 with data descriptor-based fields.
2289 - gh-issue-94208: ``test_ssl`` is now checking for supported TLS version and
2292 - gh-issue-94315: Tests now check for DAC override capability instead of
2295 - gh-issue-93951: In test_bdb.StateTestCase.test_skip, avoid including
2298 - gh-issue-93957: Provide nicer error reporting from subprocesses in
2301 - gh-issue-84461: ``run_tests.py`` now handles cross compiling env vars
2304 - gh-issue-93616: ``test_modulefinder`` now creates a temporary directory in
2307 - gh-issue-93575: Fix issue with test_unicode test_raiseMemError. The test
2310 UTF-8 memory.
2312 - gh-issue-90473: WASI does not have a ``chmod(2)`` syscall.
2316 - gh-issue-90473: Skip tests on WASI that require symlinks with absolute
2319 - gh-issue-57539: Increase calendar test coverage for
2322 - gh-issue-90473: Skip symlink tests on WASI. wasmtime uses ``openat2(2)``
2326 - gh-issue-89858: Fix ``test_embed`` for out-of-tree builds. Patch by Kumar
2329 - gh-issue-92886: Fixing tests that fail when running with optimizations
2330 (``-O``) in ``test_imaplib.py``.
2332 - gh-issue-92886: Fixing tests that fail when running with optimizations
2333 (``-O``) in ``test_zipimport.py``
2335 - bpo-47016: Create a GitHub Actions workflow for verifying bundled pip and
2339 -----
2341 - gh-issue-94404: ``makesetup`` now works around an issue with sed on macOS
2346 - gh-issue-93584: Address race condition in ``Makefile`` when installing a
2350 - gh-issue-93491: ``configure`` now detects and reports :pep:`11` support
2354 -------
2356 - gh-issue-93824: Drag and drop of files onto Python files in Windows
2359 - bpo-42658: Support native Windows case-insensitive path comparisons by
2365 -----------
2367 - gh-issue-94538: Fix Argument Clinic output to custom file destinations.
2370 - gh-issue-94430: Allow parameters named ``module`` and ``self`` with custom
2374 -----
2376 - gh-issue-93937: The following frame functions and type are now directly
2391 - gh-issue-91321: Fix the compatibility of the Python C API with C++ older
2394 - gh-issue-91731: Avoid defining the ``static_assert`` when compiling with
2398 - gh-issue-93442: Add C++ overloads for _Py_CAST_impl() to handle 0/NULL.
2406 *Release date: 2022-06-01*
2409 -----------------
2411 - gh-issue-93359: Ensure that custom :mod:`ast` nodes without explicit end
2414 - gh-issue-93345: Fix a crash in substitution of a ``TypeVar`` in nested
2418 -----
2420 - gh-issue-69093: Fix ``Modules/Setup.stdlib.in`` rule for ``_sqlite3``
2427 *Release date: 2022-05-30*
2430 -----------------
2432 - gh-issue-84694: The ``--experimental-isolated-subinterpreters`` configure
2436 - gh-issue-91924: Fix ``__lltrace__`` debug feature if the stdout encoding
2437 is not UTF-8. Patch by Victor Stinner.
2439 - gh-issue-93061: Backward jumps after ``async for`` loops are no longer
2442 - gh-issue-93065: Fix contextvars HAMT implementation to handle iteration
2449 - gh-issue-90473: Decrease default recursion limit on WASI to address
2452 - gh-issue-92804: Fix memory leak in ``memoryview`` iterator as it was not
2455 - gh-issue-92236: Remove spurious "LINE" event when starting a generator or
2458 - gh-issue-92619: Make the compiler duplicate an exit block only if none of
2462 - gh-issue-92261: Fix hang when trying to iterate over a ``typing.Union``.
2465 -------
2467 - gh-issue-93297: Make asyncio task groups prevent child tasks from being
2470 - gh-issue-90817: The :func:`locale.resetlocale` function is deprecated and
2474 - gh-issue-92728: The :func:`re.template` function and the corresponding
2479 - gh-issue-93044: No longer convert the database argument of
2482 - gh-issue-93010: In a very special case, the email package tried to append
2486 - gh-issue-92675: Fix :func:`venv.ensure_directories` to accept
2490 - gh-issue-87901: Removed the ``encoding`` argument from :func:`os.popen`
2493 - gh-issue-91922: Fix function :func:`sqlite.connect` and the
2494 :class:`sqlite.Connection` constructor on non-UTF-8 locales. Also, they
2495 now support bytes paths non-decodable with the current FS encoding.
2497 - gh-issue-92839: Fixed crash resulting from calling bisect.insort() or
2500 - gh-issue-90473: :mod:`subprocess` now fails early on Emscripten and WASI
2503 - gh-issue-92671: Fixed :func:`ast.unparse` for empty tuples in the
2506 - gh-issue-91581: :meth:`~datetime.datetime.utcfromtimestamp` no longer
2512 - gh-issue-92550: Fix :meth:`pathlib.Path.rglob` for empty pattern.
2514 - gh-issue-92530: Fix an issue that occurred after interrupting
2517 - gh-issue-92531: The statistics.median_grouped() function now always return
2521 - gh-issue-91810: :class:`~xml.etree.ElementTree.ElementTree` method
2524 ("UTF-8" if not available) instead of locale encoding in XML declaration
2527 - gh-issue-90622: Worker processes for
2533 - gh-issue-91581: Remove an unhandled error case in the C implementation of
2536 This should have no user-facing effect other than giving a possibly more
2538 10000-01-01 in the local time. Patch by Paul Ganssle.
2540 - bpo-39064: :class:`zipfile.ZipFile` now raises :exc:`zipfile.BadZipFile`
2544 - bpo-45393: Fix the formatting for ``await x`` and ``not x`` in the
2547 - bpo-28249: Set :attr:`doctest.DocTest.lineno` to ``None`` when object does
2550 - bpo-45046: Add support of context managers in :mod:`unittest`: methods
2558 - bpo-42627: Fix incorrect parsing of Windows registry proxy settings
2561 -------------
2563 - gh-issue-86438: Clarify that :option:`-W` and :envvar:`PYTHONWARNINGS` are
2564 matched literally and case-insensitively, rather than as regular
2567 - gh-issue-92240: Added release dates for "What's New in Python 3.X" for
2570 - bpo-40838: Document that :func:`inspect.getdoc`,
2574 - bpo-38056: Overhaul the :ref:`error-handlers` documentation in
2577 - bpo-13553: Document tkinter.Tk args.
2580 -----
2582 - gh-issue-92670: Skip
2589 -----
2591 - gh-issue-90473: Disable pymalloc and increase stack size on
2592 ``wasm32-wasi``.
2594 - bpo-34449: Drop invalid compiler switch ``-fPIC`` for HP aCC on HP-UX.
2598 -------
2600 - gh-issue-92817: Ensures that :file:`py.exe` will prefer an active virtual
2604 - gh-issue-92984: Explicitly disable incremental linking for non-Debug
2607 - gh-issue-92841: :mod:`asyncio` no longer throws ``RuntimeError: Event loop
2611 - bpo-46907: Update Windows installer to use SQLite 3.38.4.
2614 -----
2616 - gh-issue-92898: Fix C++ compiler warnings when casting function arguments
2619 - gh-issue-92913: Ensures changes to
2623 - gh-issue-92781: Avoid mixing declarations and code in the C API to fix the
2625 [-Werror=declaration-after-statement]. Patch by Victor Stinner.
2631 *Release date: 2022-05-06*
2634 --------
2636 - gh-issue-57684: Add the :option:`-P` command line option and the
2641 -----------------
2643 - gh-issue-89519: Chaining classmethod descriptors (introduced in bpo-19072)
2648 - gh-issue-92345: ``pymain_run_python()`` now imports ``readline`` and
2650 directory of an interactive interpreter. Non-interactive interpreters are
2653 - bpo-43857: Improve the :exc:`AttributeError` message when deleting a
2656 - gh-issue-92245: Make sure that PEP 523 is respected in all cases. In
2657 3.11a7, specialization may have prevented Python-to-Python calls
2660 - gh-issue-92203: Add a closure keyword-only parameter to exec(). It can
2661 only be specified when exec-ing a code object that uses free variables.
2667 - gh-issue-91173: Disable frozen modules in debug builds. Patch by Kumar
2670 - gh-issue-92114: Improve error message when subscript a type with
2673 - gh-issue-92112: Fix crash triggered by an evil custom ``mro()`` on a
2676 - gh-issue-92063: The ``PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS``
2680 - gh-issue-92031: Deoptimize statically allocated code objects during
2684 - gh-issue-92036: Fix a crash in subinterpreters related to the garbage
2691 - gh-issue-92032: The interpreter can now autocomplete soft keywords, as of
2694 - gh-issue-87999: The warning emitted by the Python parser for a numeric
2698 - gh-issue-91869: Fix an issue where specialized opcodes with extended
2702 - gh-issue-91603: Speed up :class:`types.UnionType` instantiation. Based on
2705 - gh-issue-89373: If Python is built in debug mode, Python now ensures that
2709 - gh-issue-91632: Fix a minor memory leak at exit: release the memory of the
2710 :class:`generic_alias_iterator` type. Patch by Dong-hee Na.
2712 - gh-issue-81548: Octal escapes with value larger than ``0o377`` now produce
2716 - bpo-43950: Use a single compact table for line starts, ends and column
2719 - gh-issue-91102: Use Argument Clinic for :class:`EncodingMap`. Patch by
2722 - gh-issue-91636: Fixed a crash in a garbage-collection edge-case, in which
2726 - gh-issue-91603: Speed up :func:`isinstance` and :func:`issubclass` checks
2729 - gh-issue-91625: Fixed a bug in which adaptive opcodes ignored any
2732 - gh-issue-78607: The LLTRACE special build now looks for the name
2736 - gh-issue-91576: Speed up iteration of ascii strings by 50%. Patch by Kumar
2739 - gh-issue-89279: Improve interpreter performance on Windows by inlining a
2742 - gh-issue-91502: Add a new :c:func:`_PyFrame_IsEntryFrame` API function, to
2746 - gh-issue-91266: Refactor the ``bytearray`` strip methods ``strip``,
2749 - gh-issue-91479: Replaced the ``__note__`` field of :exc:`BaseException`
2754 - gh-issue-46055: Speed up right shift of negative integers, by removing
2758 - gh-issue-91462: Make the interpreter's low-level tracing (lltrace) feature
2762 - gh-issue-89455: Fixed an uninitialized bool value in the traceback
2763 printing code path that was introduced by the initial bpo-45292 exception
2766 - gh-issue-91421: Fix a potential integer overflow in _Py_DecodeUTF8Ex.
2768 - gh-issue-91428: Add ``static const char *const _PyOpcode_OpName[256] =
2771 debugging output more human-readable by including opcode names rather than
2774 - bpo-47120: Make :opcode:`POP_JUMP_IF_TRUE`, :opcode:`POP_JUMP_IF_FALSE`,
2778 - bpo-45317: Add internal documentation explaining design of new (for 3.11)
2781 - bpo-47197: ctypes used to mishandle ``void`` return types, so that for
2787 - bpo-47120: Make opcodes :opcode:`JUMP_IF_TRUE_OR_POP` and
2790 - bpo-47177: Replace the ``f_lasti`` member of the internal
2793 of Python-layer frame objects is preserved for backward-compatibility.
2795 - bpo-46961: Integer mod/remainder operations, including the three-argument
2799 - bpo-46962: Classes and functions that unconditionally declared their
2800 docstrings ignoring the `--without-doc-strings` compilation flag no longer
2811 - bpo-46942: Use Argument Clinic for the :class:`types.MethodType`
2814 - bpo-46764: Fix wrapping bound methods with @classmethod
2816 - bpo-43464: Optimize :meth:`set.intersection` for non-set arguments.
2818 - bpo-46721: Optimize :meth:`set.issuperset` for non-set argument.
2820 - bpo-46509: Add type-specialized versions of the ``Py_DECREF()``, and use
2822 pointer-chasing at runtime where types are known at C compile time.
2824 - bpo-46045: Do not use POSIX semaphores on NetBSD
2826 - bpo-36819: Fix crashes in built-in encoders with error handlers that
2827 return position less or equal than the starting position of non-encodable
2830 - bpo-34093: ``marshal.dumps()`` uses ``FLAG_REF`` for all interned strings.
2833 - bpo-26579: Added ``object.__getstate__`` which provides the default
2842 -------
2844 - gh-issue-87901: Add the *encoding* parameter to :func:`os.popen`.
2846 - gh-issue-90997: Fix an issue where :mod:`dis` utilities may interpret
2849 - gh-issue-92332: Deprecate :class:`typing.Text` (removal of the class is
2852 - Deprecate nested classes in enum definitions becoming members -- in 3.13
2856 - gh-issue-92356: Fixed a performance regression in ctypes function calls.
2858 - gh-issue-90997: Show the actual named values stored in inline caches when
2861 - gh-issue-92301: Prefer ``close_range()`` to iterating over procfs for file
2864 - gh-issue-67248: Sort the miscellaneous topics in Cmd.do_help()
2866 - gh-issue-92210: Port ``socket.__init__`` to Argument Clinic. Patch by
2869 - gh-issue-80010: Add support for generalized ISO 8601 parsing to
2874 - gh-issue-92118: Fix a 3.11 regression in
2878 - gh-issue-90887: Adding ``COPYFILE_STAT``, ``COPYFILE_ACL`` and
2881 - gh-issue-91215: For @dataclass, add weakref_slot. Default is False. If
2885 - gh-issue-85984: New function os.login_tty() for Unix.
2887 - gh-issue-92128: Add :meth:`~object.__class_getitem__` to
2891 - gh-issue-92049: Forbid pickling constants ``re._constants.SUCCESS`` etc.
2894 - gh-issue-92062: :class:`inspect.Parameter` now raises :exc:`ValueError` if
2898 - gh-issue-87390: Add an ``__unpacked__`` attribute to
2901 - gh-issue-88089: Add support for generic :class:`typing.NamedTuple`.
2903 - gh-issue-91996: New http.HTTPMethod enum to represent all the available
2906 - gh-issue-91984: Modified test strings in test_argparse.py to not contain
2909 - gh-issue-91952: Add ``encoding="locale"`` support to
2912 - gh-issue-91954: Add *encoding* and *errors* arguments to
2915 - bpo-47029: Always close the read end of the pipe used by
2921 - gh-issue-91928: Add `datetime.UTC` alias for `datetime.timezone.utc`.
2925 - gh-issue-68966: The :mod:`mailcap` module is now deprecated and will be
2929 - gh-issue-91401: Provide a way to disable :mod:`subprocess` use of
2933 - gh-issue-64783: Fix :data:`signal.NSIG` value on FreeBSD to accept signal
2937 - gh-issue-91910: Add missing f prefix to f-strings in error messages from
2940 - gh-issue-91860: Add :func:`typing.dataclass_transform`, implementing
2943 - gh-issue-91832: Add ``required`` attribute to :class:`argparse.Action`
2946 - gh-issue-91827: In the :mod:`tkinter` module add method
2950 - gh-issue-84461: Add :option:`--enable-wasm-pthreads` to enable pthreads
2954 - gh-issue-91821: Fix unstable ``test_from_tuple`` test in
2957 - gh-issue-91217: Deprecate the xdrlib module.
2959 - gh-issue-91217: Deprecate the uu module.
2961 - gh-issue-91760: More strict rules will be applied for numerical group
2966 - gh-issue-84461: Add provisional :data:`sys._emscripten_info` named tuple
2967 with build-time and run-time information about Emscripten platform.
2969 - gh-issue-90623: :func:`signal.raise_signal` and :func:`os.kill` now check
2972 - gh-issue-91734: Fix OSS audio support on Solaris.
2974 - gh-issue-90633: Include the passed value in the exception thrown by
2977 - gh-issue-91700: Compilation of regular expression containing a conditional
2982 - gh-issue-91231: Add an optional keyword *shutdown_timeout* parameter to
2986 - gh-issue-91621: Fix :func:`typing.get_type_hints` for
2989 - gh-issue-90568: Parsing ``\N`` escapes of Unicode Named Character
2993 - gh-issue-91670: Remove deprecated ``SO`` config variable in
2996 - gh-issue-91217: Deprecate the telnetlib module.
2998 - gh-issue-91217: Deprecate the sunau module.
3000 - gh-issue-91217: Deprecate the spwd module.
3002 - gh-issue-91217: Deprecate the sndhdr module, as well as inline needed
3005 - gh-issue-91616: :mod:`re` module, fix :meth:`~re.Pattern.fullmatch`
3008 - gh-issue-91217: Deprecate the 'pipes' module.
3010 - gh-issue-91217: Deprecate the ossaudiodev module.
3012 - bpo-47256: :mod:`re` module, limit the maximum capturing group to
3013 1,073,741,823 in 64-bit build, this increases the depth of backtracking.
3015 - gh-issue-91217: Deprecate the nis module.
3017 - gh-issue-91595: Fix the comparison of character and integer inside
3020 - gh-issue-74166: Add option to raise all errors from
3025 - gh-issue-91487: Optimize asyncio UDP speed, over 100 times faster when
3028 - gh-issue-91575: Update case-insensitive matching in the :mod:`re` module
3031 - gh-issue-90622: In ``concurrent.futures.process.ProcessPoolExecutor``
3037 - gh-issue-89022: In :mod:`sqlite3`, ``SQLITE_MISUSE`` result codes are now
3042 - gh-issue-91526: Stop calling ``os.device_encoding(file.fileno())`` in
3046 - gh-issue-88116: Change the frame-related functions in the :mod:`inspect`
3048 old tuple-like interface) that include the extended :pep:`657` position
3054 - gh-issue-69093: Add indexing and slicing support to :class:`sqlite3.Blob`.
3057 - gh-issue-69093: Add :term:`context manager` support to
3060 - gh-issue-91217: Deprecate nntplib.
3062 - gh-issue-91217: Deprecate msilib.
3064 - gh-issue-91404: Improve the performance of :mod:`re` matching by using
3068 - gh-issue-91217: Deprecate the imghdr module.
3070 - gh-issue-91217: Deprecate the crypt module.
3072 - gh-issue-91276: Make space for longer opcodes in :mod:`dis` output.
3074 - bpo-47000: Make :class:`TextIOWrapper` uses locale encoding when
3075 ``encoding="locale"`` is specified even in UTF-8 mode.
3077 - gh-issue-91230: :func:`warnings.catch_warnings` now accepts arguments for
3081 - gh-issue-91217: Deprecate the chunk module.
3083 - Add the ``TCP_CONNECTION_INFO`` option (available on macOS) to
3086 - bpo-47260: Fix ``os.closerange()`` potentially being a no-op in a Linux
3089 - bpo-47087: Implement ``typing.Required`` and ``typing.NotRequired``
3092 - bpo-47061: Deprecate cgi and cgitb.
3094 - bpo-47061: Deprecate audioop.
3096 - bpo-47000: Add :func:`locale.getencoding` to get the current locale
3098 ignores the :ref:`Python UTF-8 Mode <utf8-mode>`.
3100 - bpo-42012: Add :mod:`wsgiref.types`, containing WSGI-specific types for
3103 - bpo-47227: Suppress expression chaining for more :mod:`re` parsing errors.
3105 - bpo-47211: Remove undocumented and never working function
3109 - bpo-47135: :meth:`decimal.localcontext` now accepts context attributes via
3112 - bpo-43323: Fix errors in the :mod:`email` module if the charset itself
3115 - bpo-46841: Disassembly of quickened code.
3117 - bpo-46681: Forward gzip.compress() compresslevel to zlib.
3119 - bpo-45100: Add :func:`typing.get_overloads` and
3122 - bpo-44807: :class:`typing.Protocol` no longer silently replaces
3126 - bpo-46787: Fix :class:`concurrent.futures.ProcessPoolExecutor` exception
3129 - bpo-46720: Add support for path-like objects to
3131 Unix-like systems. Patch by Géry Ogam.
3133 - bpo-46696: Add ``SO_INCOMING_CPU`` constant to :mod:`socket`.
3135 - bpo-46053: Fix OSS audio support on NetBSD.
3137 - bpo-45639: ``image/avif`` and ``image/webp`` were added to
3140 - bpo-46285: Add command-line option ``-p``/``--protocol`` to module
3143 command-line interface of module :mod:`http.server`). Patch by Géry Ogam.
3145 - bpo-44791: Accept ellipsis as the last argument of
3148 - bpo-46547: Remove variables leaking into ``pydoc.Helper`` class namespace.
3150 - bpo-46415: Fix ipaddress.ip_{address,interface,network} raising TypeError
3153 - bpo-46075: ``CookieJar`` with ``DefaultCookiePolicy`` now can process
3155 Set-Cookie header.
3157 - bpo-45995: Add a "z" option to the string formatting specification that
3158 coerces negative zero floating-point values to positive zero after
3161 - bpo-26175: Fully implement the :class:`io.BufferedIOBase` or
3164 correctly with higher-level layers (like compression modules). Patch by
3167 - bpo-45138: Fix a regression in the :mod:`sqlite3` trace callback where
3172 - bpo-44863: Allow :class:`~typing.TypedDict` subclasses to also include
3175 user-defined generic but with ``TypedDict`` semantics.
3177 - bpo-44587: Fix BooleanOptionalAction to not automatically add a default
3180 - bpo-43827: All positional-or-keyword parameters to ``ABCMeta.__new__`` are
3181 now positional-only to avoid conflicts with keyword arguments to be passed
3184 - bpo-43218: Prevent creation of a venv whose path contains the PATH
3188 - bpo-38435: Add a ``process_group`` parameter to :class:`subprocess.Popen`
3191 - bpo-42066: Fix cookies getting sorted in :func:`CookieJar.__iter__` which
3194 ``Set-Cookie`` header. Patch by Iman Kermani.
3196 - bpo-40617: Add :meth:`~sqlite3.Connection.create_window_function` to
3200 - bpo-40676: Convert :mod:`csv` to use Argument Clinic for
3204 - bpo-39716: Raise an ArgumentError when the same subparser name is added
3209 - bpo-36073: Raise :exc:`~sqlite3.ProgrammingError` instead of segfaulting
3213 - bpo-34975: Adds a ``start_tls()`` method to
3217 - bpo-22276: :class:`~pathlib.Path` methods :meth:`~pathlib.Path.glob` and
3222 - bpo-24905: Add :meth:`~sqlite3.Connection.blobopen` to
3227 -------------
3229 - gh-issue-91888: Add a new `gh` role to the documentation to link to GitHub
3232 - gh-issue-91783: Document security issues concerning the use of the
3235 - gh-issue-91547: Remove "Undocumented modules" page.
3237 - gh-issue-91298: In ``importlib.resources.abc``, refined the documentation
3241 - bpo-44347: Clarify the meaning of *dirs_exist_ok*, a kwarg of
3244 - bpo-36329: Remove 'make -C Doc serve' in favour of 'make -C Doc htmlview'
3246 - bpo-47189: Add a What's New in Python 3.11 entry for the Faster CPython
3249 - bpo-38668: Update the introduction to documentation for :mod:`os.path` to
3253 - bpo-47115: The documentation now lists which members of C structs are part
3256 - bpo-46962: All docstrings in code snippets are now wrapped into
3259 <https://www.python.org/dev/peps/pep-0007/#documentation-strings>`_. Patch
3262 - bpo-26792: Improve the docstrings of :func:`runpy.run_module` and
3266 -----
3268 - gh-issue-92169: Use ``warnings_helper.import_deprecated()`` to import
3271 - gh-issue-84461: When multiprocessing is enabled, libregrtest can now use a
3272 Python executable other than :code:`sys.executable` via the ``--python``
3275 - gh-issue-91904: Fix initialization of
3277 tests on non-UTF-8 locale.
3279 - gh-issue-91752: Added @requires_zlib to
3282 - gh-issue-91607: Fix ``test_concurrent_futures`` to test the correct
3286 - bpo-40280: Threading tests are now skipped on WASM targets without pthread
3289 - bpo-47109: Test for :mod:`ctypes.macholib.dyld`,
3291 brought from manual pre-:mod:`unittest` times to :mod:`ctypes.test`
3294 - bpo-29890: Add tests for :class:`ipaddress.IPv4Interface` and
3299 -----
3301 - gh-issue-89452: gdbm-compat is now preferred over ndbm if both are
3305 - gh-issue-91731: Python is now built with ``-std=c11`` compiler option,
3306 rather than ``-std=c99``. Patch by Victor Stinner.
3308 - bpo-47152: Add script and make target for generating ``sre_constants.h``.
3310 - bpo-47103: Windows ``PGInstrument`` builds now copy a required DLL into
3315 -------
3317 - bpo-46907: Update Windows installer to use SQLite 3.38.3.
3319 - bpo-47239: Fixed --list and --list-paths output for :ref:`launcher` when
3322 - bpo-46907: Update Windows installer to use SQLite 3.38.2.
3324 - bpo-46785: Fix race condition between :func:`os.stat` and unlinking a file
3328 - bpo-40859: Update Windows build to use xz-5.2.5
3331 -----
3333 - bpo-46907: Update macOS installer to SQLite 3.38.4.
3336 -----------
3338 - gh-issue-91583: Fix regression in the code generated by Argument Clinic
3341 - gh-issue-91575: Add script ``Tools/scripts/generate_re_casefix.py`` and
3342 the make target ``regen-re`` for generating additional data for
3343 case-insensitive matching according to the current Unicode version.
3345 - gh-issue-91551: Remove the ancient Pynche color editor. It has moved to
3349 -----
3351 - gh-issue-88279: Deprecate the C functions: :c:func:`PySys_SetArgv`,
3355 - gh-issue-92154: Added the :c:func:`PyCode_GetCode` function. This function
3359 - gh-issue-92173: Fix the ``closure`` argument to
3362 - gh-issue-91320: Fix C++ compiler warnings about "old-style cast" (``g++
3363 -Wold-style-cast``) in the Python C API. Use C++ ``reinterpret_cast<>``
3367 - gh-issue-80527: Mark functions as deprecated by :pep:`623`:
3372 - gh-issue-91768: :c:func:`Py_REFCNT`, :c:func:`Py_TYPE`, :c:func:`Py_SIZE`
3376 - gh-issue-91020: Add ``PyBytes_Type.tp_alloc`` to initialize
3379 - bpo-40421: Add ``PyFrame_GetLasti`` C-API function to access frame
3382 - bpo-35134: Remove the ``Include/code.h`` header file. C extensions should
3385 - bpo-47169: :c:func:`PyOS_CheckStack` is now exported in the Stable ABI on
3388 - bpo-47169: :c:func:`PyThread_get_thread_native_id` is excluded from the
3391 - bpo-46343: Added :c:func:`PyErr_GetHandledException` and
3401 *Release date: 2022-04-05*
3404 -----------------
3406 - bpo-47212: Raise :exc:`IndentationError` instead of :exc:`SyntaxError` for
3408 locations for an un-parenthesized generator used as arguments. Patch by
3411 - bpo-47186: Replace :opcode:`JUMP_IF_NOT_EG_MATCH` by
3414 - bpo-47176: Emscripten builds cannot handle signals in the usual way due to
3421 - bpo-47186: Replace :opcode:`JUMP_IF_NOT_EXC_MATCH` by
3424 - bpo-47120: Replace the absolute jump opcode :opcode:`JUMP_NO_INTERRUPT` by
3427 - bpo-46841: Avoid unnecessary allocations when comparing code objects.
3429 - bpo-47182: Fix a crash when using a named unicode character like
3433 - bpo-47162: WebAssembly cannot deal with bad function pointer casts
3438 - bpo-46775: Some Windows system error codes(>= 10000) are now mapped into
3440 Dong-hee Na.
3442 - bpo-47129: Improve error messages in f-string syntax errors concerning
3445 - bpo-47117: Fix a crash if we fail to decode characters in interactive mode
3448 - bpo-47127: Speed up calls to c functions with keyword arguments by 25%
3451 - bpo-47120: Replaced :opcode:`JUMP_ABSOLUTE` by the relative jump
3454 - bpo-42197: :c:func:`PyFrame_FastToLocalsWithError` and
3459 - bpo-47070: Improve performance of ``array_inplace_repeat`` by reducing the
3464 - bpo-47053: Reduce de-optimization in the specialized
3467 - bpo-47045: Remove the ``f_state`` field from the _PyInterpreterFrame
3472 - bpo-46968: Check for the existence of the "sys/auxv.h" header in
3476 - bpo-46329: Use low bit of ``LOAD_GLOBAL`` to indicate whether to push a
3479 - bpo-46841: Quicken bytecode in-place by storing it as part of the
3482 - bpo-47012: Speed up iteration of :class:`bytes` and :class:`bytearray` by
3485 - bpo-47009: Improved the performance of :meth:`list.append()` and list
3489 - bpo-47005: Improve performance of ``bytearray_repeat`` and
3492 - bpo-46829: Deprecate passing a message into :meth:`asyncio.Future.cancel`
3495 - bpo-46993: Speed up :class:`bytearray` creation from :class:`list` and
3498 - bpo-39829: Removed the ``__len__()`` call when initializing a list and
3501 - bpo-46944: Speed up throwing exception in generator with
3504 - bpo-46841: Modify :opcode:`STORE_SUBSCR` to use an inline cache entry
3507 - bpo-46841: Use inline caching for :opcode:`PRECALL` and :opcode:`CALL`,
3508 and remove the internal machinery for managing the (now unused) non-inline
3511 - bpo-46881: Statically allocate and initialize the latin1 characters.
3513 - bpo-46838: Improve syntax errors for incorrect function definitions. Patch
3516 - bpo-43721: Fix docstrings of :attr:`~property.getter`,
3520 - bpo-43224: Make grammar changes required for PEP 646.
3523 -------
3525 - bpo-47208: Allow vendors to override :const:`CTYPES_MAX_ARGCOUNT`.
3527 - bpo-23689: :mod:`re` module: fix memory leak when a match is terminated by
3530 - bpo-47167: Allow overriding a future compliance check in
3533 - bpo-47151: When subprocess tries to use vfork, it now falls back to fork
3537 - bpo-47152: Convert the :mod:`re` module into a package. Deprecate modules
3540 - bpo-4833: Add :meth:`ZipFile.mkdir`
3542 - bpo-27929: Fix :meth:`asyncio.loop.sock_connect` to only resolve names for
3547 - bpo-14265: Adds the fully qualified test name to unittest output
3549 - bpo-47061: Deprecate the aifc module.
3551 - bpo-39622: Handle Ctrl+C in asyncio programs to interrupt the main task.
3553 - bpo-47101: :const:`hashlib.algorithms_available` now lists only algorithms
3558 - bpo-47099: All :exc:`URLError` exception messages raised in
3564 - bpo-47099: Exception chaining is changed from
3568 - bpo-47095: :mod:`hashlib`'s internal ``_blake2`` module now prefers
3572 - bpo-47098: The Keccak Code Package for :mod:`hashlib`'s internal ``_sha3``
3576 - bpo-47088: Implement :data:`typing.LiteralString`, part of :pep:`675`.
3579 - bpo-42885: Optimize :func:`re.search`, :func:`re.split`,
3583 - bpo-23691: Protect the :func:`re.finditer` iterator from re-entering.
3585 - bpo-47067: Optimize calling ``GenericAlias`` objects by using :pep:`590`
3589 - bpo-28080: Add the *metadata_encoding* parameter in the
3590 :class:`zipfile.ZipFile` constructor and the ``--metadata-encoding``
3592 non-standard codecs to encode the filenames within the archive.
3594 - bpo-47000: Make :func:`io.text_encoding` returns "utf-8" when UTF-8 mode
3597 - bpo-42369: Fix thread safety of :meth:`zipfile._SharedFile.tell` to avoid
3598 a "zipfile.BadZipFile: Bad CRC-32 for file" exception when reading a
3601 - bpo-38256: Fix :func:`binascii.crc32` when it is compiled to use zlib'c
3611 implementation for :func:`binascii.crc32` for a 2-3x speedup.
3616 - bpo-47066: Global inline flags (e.g. ``(?i)``) can now only be used at the
3620 - bpo-39394: A warning about inline flags not at the start of the regular
3623 - bpo-433030: Add support of atomic grouping (``(?>...)``) and possessive
3627 - bpo-47062: Implement :class:`asyncio.Runner` context manager.
3629 - bpo-46382: :func:`~dataclasses.dataclass` ``slots=True`` now correctly
3632 - bpo-47057: Use FASTCALL convention for ``FutureIter.throw()``
3634 - bpo-47061: Deprecate the various modules listed by :pep:`594`:
3640 - bpo-34790: Remove passing coroutine objects to :func:`asyncio.wait`.
3642 - bpo-47039: Normalize ``repr()`` of asyncio future and task objects.
3644 - bpo-2604: Fix bug where doctests using globals would fail when run
3647 - bpo-45150: Add :func:`hashlib.file_digest` helper for efficient hashing of
3650 - bpo-34861: Made cumtime the default sorting key for cProfile
3652 - bpo-45997: Fix :class:`asyncio.Semaphore` re-aquiring FIFO order.
3654 - bpo-47022: The :mod:`asynchat`, :mod:`asyncore` and :mod:`smtpd` modules
3659 - bpo-43253: Fix a crash when closing transports where the underlying socket
3662 - bpo-40280: :func:`select.select` now passes ``NULL`` to ``select`` for
3665 - bpo-47004: Apply bugfixes from importlib_metadata 4.11.3, including bugfix
3669 - bpo-46998: Allow subclassing of :class:`typing.Any`. Patch by Shantanu
3672 - bpo-46995: Deprecate missing :meth:`asyncio.Task.set_name` for third-party
3675 - bpo-46994: Accept explicit contextvars.Context in
3678 - bpo-46981: ``typing.get_args(typing.Tuple[()])`` now returns ``()``
3681 - bpo-46968: Add ``os.sysconf_names['SC_MINSIGSTKSZ']``.
3683 - bpo-46985: Upgrade pip wheel bundled with ensurepip (pip 22.0.4)
3685 - bpo-46968: :mod:`faulthandler`: On Linux 5.14 and newer, dynamically
3691 - bpo-46917: The :data:`math.nan` value is now always available. Patch by
3694 - bpo-46955: Expose :class:`asyncio.base_events.Server` as
3697 - bpo-23325: The :mod:`signal` module no longer assumes that
3701 - bpo-46932: Update bundled libexpat to 2.4.7
3703 - bpo-46933: The :mod:`pwd` module is now optional.
3707 - bpo-40059: :pep:`680`, the :mod:`tomllib` module. Adds support for parsing
3710 - bpo-464471: :func:`asyncio.timeout` and :func:`asyncio.timeout_at` context
3713 - bpo-46805: Added raw datagram socket functions for asyncio:
3718 - bpo-46644: No longer require valid typeforms to be callable. This allows
3722 - bpo-46581: Brings :class:`ParamSpec` propagation for :class:`GenericAlias`
3725 - bpo-45413: Define *posix_venv* and *nt_venv* :ref:`sysconfig installation
3729 pre-existing *posix_prefix* and *nt* install schemes. The :mod:`venv`
3740 - bpo-43224: Implement support for PEP 646 in typing.py.
3742 - bpo-43224: Allow unpacking types.GenericAlias objects, e.g. ``*tuple[int,
3745 - bpo-46557: Warnings captured by the logging module are now logged without
3749 - bpo-41370: :func:`typing.get_type_hints` now supports evaluating strings
3751 <types-genericalias>`.
3753 - bpo-46607: Add :exc:`DeprecationWarning` to :class:`LegacyInterpolation`,
3758 - bpo-26120: :mod:`pydoc` now excludes __future__ imports from the module's
3761 - bpo-46480: Add :func:`typing.assert_type`. Patch by Jelle Zijlstra.
3763 - bpo-46421: Fix a unittest issue where if the command was invoked as
3764 ``python -m unittest`` and the filename(s) began with a dot (.), a
3767 - bpo-46245: Add optional parameter *dir_fd* in :func:`shutil.rmtree`.
3769 - bpo-22859: :meth:`~unittest.TestProgram.usageExit` is marked deprecated,
3772 - bpo-46170: Improve the error message when you try to subclass an instance
3775 - bpo-40296: Fix supporting generic aliases in :mod:`pydoc`.
3777 - bpo-20392: Fix inconsistency with uppercase file extensions in
3780 - bpo-46030: Add ``LOCAL_CREDS``, ``LOCAL_CREDS_PERSISTENT`` and
3783 - bpo-44439: Fix ``.write()`` method of a member file in ``ZipFile``, when
3787 - bpo-45171: Fix handling of the ``stacklevel`` argument to logging
3792 - bpo-24959: Fix bug where :mod:`unittest` sometimes drops frames from
3795 - bpo-44859: Raise more accurate and :pep:`249` compatible exceptions in
3807 - bpo-44493: Add missing terminated NUL in sockaddr_un's length
3809 This was potentially observable when using non-abstract AF_UNIX datagram
3812 - bpo-41930: Add :meth:`~sqlite3.Connection.serialize` and
3816 - bpo-33178: Added :class:`ctypes.BigEndianUnion` and
3820 - bpo-43352: Add an Barrier object in synchronization primitives of
3824 - bpo-35859: :mod:`re` module, fix a few bugs about capturing group. In rare
3828 -------------
3830 - bpo-45099: Document internal :mod:`asyncio` API.
3832 - bpo-47126: Update PEP URLs to :pep:`676`'s new canonical form.
3834 - bpo-47040: Clarified the old Python versions compatiblity note of
3838 - bpo-46033: Clarify ``for`` statement execution in its doc.
3840 - bpo-45790: Adjust inaccurate phrasing in
3844 - bpo-42340: Document that in some circumstances :exc:`KeyboardInterrupt`
3848 - bpo-41233: Link the errnos referenced in ``Doc/library/exceptions.rst`` to
3854 -----
3856 - bpo-47205: Skip test for :func:`~os.sched_getaffinity` and
3859 - bpo-46126: Restore 'descriptions' when running tests internally.
3861 - bpo-47104: Rewrite :func:`asyncio.to_thread` tests to use
3864 - bpo-40280: The test suite is now passing on the Emscripten platform. All
3865 fork, socket, and subprocess-based tests are skipped.
3867 - bpo-47037: Skip ``strftime("%4Y")`` feature test on Windows. It can cause
3870 - bpo-46587: Skip tests if platform's ``strftime`` does not support
3871 non-portable glibc extensions.
3873 - bpo-47015: A test case for :func:`os.sendfile` is converted from
3878 -----
3880 - bpo-40280: Add configure option :option:`--enable-wasm-dynamic-linking` to
3881 enable ``dlopen`` and MAIN_MODULE / SIDE_MODULE on ``wasm32-emscripten``.
3883 - bpo-46023: ``makesetup`` now detects and skips all duplicated module
3886 - bpo-40280: Add SOABI ``wasm32-emscripten`` for Emscripten and
3887 ``wasm32-wasi`` for WASI on 32bit WASM as well as ``wasm64`` counter
3890 - bpo-47032: Ensure Windows install builds fail correctly with a non-zero
3893 - bpo-47024: Update OpenSSL to 1.1.1n for macOS installers and all Windows
3896 - bpo-46996: The :mod:`tkinter` package now requires Tcl/Tk version 8.5.12
3899 - bpo-46973: Add ``regen-configure`` make target to regenerate configure
3903 - bpo-46917: Building Python now requires support of IEEE 754 floating point
3906 - bpo-45774: ``configure`` now verifies that all SQLite C APIs needed for
3910 -------
3912 - bpo-47194: Update ``zlib`` to v1.2.12 to resolve CVE-2018-25032.
3914 - bpo-47171: Enables installing the :file:`py.exe` launcher on Windows
3917 - bpo-46566: Upgraded :ref:`launcher` to support a new ``-V:company/tag``
3919 ``-64`` suffix on arguments is deprecated, but still selects any
3920 non-32-bit install. Setting :envvar:`PYLAUNCHER_ALLOW_INSTALL` and
3924 - bpo-47086: The installer for Windows now includes documentation as loose
3927 - bpo-46907: Update Windows installer to use SQLite 3.38.1.
3929 - bpo-44549: Update bzip2 to 1.0.8 in Windows builds to mitigate
3930 CVE-2016-3189 and CVE-2019-12900
3932 - bpo-46948: Prevent CVE-2022-26488 by ensuring the Add to PATH option in
3936 -----
3938 - bpo-46890: Fix a regression in the setting of ``sys._base_executable`` in
3942 - bpo-46907: Update macOS installer to SQLite 3.38.1.
3945 -----------
3947 - bpo-40280: Replace Emscripten's limited shell with Katie Bell's browser-ui
3948 REPL from python-wasm project.
3951 -----
3953 - bpo-40421: Add ``PyFrame_GetBuiltins``, ``PyFrame_GetGenerator`` and
3954 ``PyFrame_GetGlobals`` C-API functions to access frame object attributes
3957 - bpo-46850: Move the private ``_PyFrameEvalFunction`` type, and private
3964 - bpo-46850: Move the private undocumented ``_PyEval_EvalFrameDefault()``
3969 - bpo-46850: Remove the private undocumented function
3973 - bpo-46850: Remove the private undocumented function
3978 - bpo-46850: Remove the following private undocumented functions from the C
3989 - bpo-46987: Remove private functions ``_PySys_GetObjectId()`` and
3990 ``_PySys_SetObjectId()``. Patch by Dong-hee Na.
3992 - bpo-46906: Add new functions to pack and unpack C double (serialize and
4002 *Release date: 2022-03-07*
4005 -----------------
4007 - bpo-46940: Avoid overriding :exc:`AttributeError` metadata information for
4010 - bpo-46927: Include the type's name in the error message for subscripting
4011 non-generic types.
4013 - bpo-46921: Support vectorcall for ``super()``. Patch by Ken Jin.
4015 - bpo-46841: Fix incorrect handling of inline cache entries when
4018 - bpo-46841: Use an oparg to simplify the construction of helpful error
4021 - bpo-46903: Make sure that str subclasses can be used as attribute names
4024 - bpo-46841: Add more detailed specialization failure stats for
4027 - bpo-46891: Fix bug introduced during 3.11alpha where subclasses of
4031 - bpo-46841: Use inline caching for :opcode:`LOAD_ATTR`,
4034 - bpo-46841: Use inline cache for :opcode:`BINARY_SUBSCR`.
4036 - bpo-46841: Use inline caching for :opcode:`COMPARE_OP`.
4038 - bpo-46864: Deprecate ``PyBytesObject.ob_shash``. It will be removed in
4041 - bpo-46841: Use inline caching for :opcode:`UNPACK_SEQUENCE`.
4043 - bpo-46845: Reduces dict size by removing hash value from hash table when
4048 - bpo-46841: Use inline cache for :opcode:`LOAD_GLOBAL`.
4050 - bpo-46852: Rename the private undocumented ``float.__set_format__()``
4054 - bpo-46852: Remove the undocumented private ``float.__set_format__()``
4059 - bpo-40116: Fix regression that dict.update(other) may don't respect
4062 - bpo-46712: Share global string identifiers in deep-frozen modules.
4064 - bpo-46430: Fix memory leak in interned strings of deep-frozen modules.
4066 - bpo-46841: Store :opcode:`BINARY_OP` caches inline using a new
4069 - bpo-45107: Specialize ``LOAD_METHOD`` for instances with a dict.
4071 - bpo-44337: Reduce the memory usage of specialized :opcode:`LOAD_ATTR` and
4074 - bpo-46729: Add number of sub-exceptions to :meth:`BaseException.__str__`.
4076 - bpo-45885: Don't un-adapt :opcode:`COMPARE_OP` when collecting
4079 - bpo-46329: Fix specialization stats gathering for :opcode:`PRECALL`
4082 - bpo-46794: Bump up the libexpat version into 2.4.6
4084 - bpo-46823: Implement a specialized combined opcode
4087 - bpo-46820: Fix parsing a numeric literal immediately (without spaces)
4091 - bpo-46329: Move ``KW_NAMES`` before ``PRECALL`` instruction in call
4095 - bpo-46808: Remove the ``NEXT_BLOCK`` macro from compile.c, and make the
4098 - bpo-46329: Add ``PUSH_NULL`` instruction. This is used as a prefix when
4105 - bpo-46762: Fix an assert failure in debug builds when a '<', '>', or '='
4106 is the last character in an f-string that's missing a closing right brace.
4108 - bpo-46730: Message of AttributeError caused by getting, setting or
4113 - bpo-46724: Make sure that all backwards jumps use the ``JUMP_ABSOLUTE``
4117 - bpo-46732: Correct the docstring for the :meth:`__bool__` method. Patch by
4120 - bpo-46072: Add more detailed specialization failure statistics for
4123 - bpo-46707: Avoid potential exponential backtracking when producing some
4126 - bpo-46323: :mod:`ctypes` now allocates memory on the stack instead of on
4128 by Dong-hee Na.
4130 - bpo-45923: Add a quickened form of :opcode:`RESUME` that skips quickening
4133 - bpo-46702: Specialize :opcode:`UNPACK_SEQUENCE` for :class:`tuple` and
4136 - bpo-46072: Opcode pair stats are now gathered with ``--enable-pystats``.
4140 - bpo-46675: Allow more than 16 items in a split dict before it is combined.
4143 - bpo-40479: Add a missing call to ``va_end()`` in
4146 - bpo-46323: Use :c:func:`PyObject_Vectorcall` while calling ctypes callback
4147 function. Patch by Dong-hee Na.
4149 - bpo-46615: When iterating over sets internally in ``setobject.c``, acquire
4151 crashes in corner-cases of various set operations where the set gets
4154 - bpo-45828: The bytecode compiler now attempts to apply runtime stack
4155 manipulations at compile-time (whenever it is feasible to do so).
4157 - bpo-30496: Fixed a minor portability issue in the implementation of
4158 :c:func:`PyLong_FromLong`, and added a fast path for single-digit integers
4162 -------
4164 - bpo-25707: Fixed a file leak in :func:`xml.etree.ElementTree.iterparse`
4167 - bpo-46877: Export :func:`unittest.doModuleCleanups` in :mod:`unittest`.
4170 - bpo-46848: For performance, use the optimized string-searching
4174 - bpo-46736: :class:`~http.server.SimpleHTTPRequestHandler` now uses HTML5
4175 grammar. Patch by Dong-hee Na.
4177 - bpo-44886: Inherit asyncio proactor datagram transport from
4180 - bpo-46827: Support UDP sockets in :meth:`asyncio.loop.sock_connect` for
4181 selector-based event loops. Patch by Thomas Grainger.
4183 - bpo-46811: Make test suite support Expat >=2.4.5
4185 - bpo-46252: Raise :exc:`TypeError` if :class:`ssl.SSLSocket` is passed to
4186 transport-based APIs.
4188 - bpo-46784: Fix libexpat symbols collisions with user dynamically loaded or
4191 - bpo-46786: The HTML serialisation in xml.etree.ElementTree now writes
4195 - bpo-39327: :func:`shutil.rmtree` can now work with VirtualBox shared
4196 folders when running from the guest operating-system.
4198 - bpo-45390: Propagate :exc:`asyncio.CancelledError` message from inner task
4201 - bpo-46756: Fix a bug in
4208 - bpo-46737: :func:`random.gauss` and :func:`random.normalvariate` now have
4211 - bpo-46752: Add task groups to asyncio (structured concurrency, inspired by
4216 - bpo-46724: Fix :mod:`dis` behavior on negative jump offsets.
4218 - bpo-46333: The :meth:`__repr__` method of :class:`typing.ForwardRef` now
4222 - bpo-46643: In :func:`typing.get_type_hints`, support evaluating
4226 - bpo-45863: When the :mod:`tarfile` module creates a pax format archive, it
4229 existing full-precision timestamps in the pax extended header.
4231 - bpo-46066: Deprecate kwargs-based syntax for :class:`typing.TypedDict`
4235 - bpo-46676: Make :data:`typing.ParamSpec` args and kwargs equal to
4238 - bpo-46323: ``ctypes.CFUNCTYPE()`` and ``ctypes.WINFUNCTYPE()`` now fail to
4243 - bpo-46672: Fix ``NameError`` in :func:`asyncio.gather` when initial type
4246 - bpo-46659: The :class:`calendar.LocaleTextCalendar` and
4252 - bpo-46659: The :func:`locale.getdefaultlocale` function is deprecated and
4257 - bpo-46655: In :func:`typing.get_type_hints`, support evaluating bare
4260 - bpo-45948: Fixed a discrepancy in the C implementation of the
4266 - bpo-46626: Expose Linux's ``IP_BIND_ADDRESS_NO_PORT`` option in
4269 - bpo-46521: Fix a bug in the :mod:`codeop` module that was incorrectly
4272 - bpo-46571: Improve :func:`typing.no_type_check`.
4277 - bpo-46400: expat: Update libexpat from 2.4.1 to 2.4.4
4279 - bpo-46556: Deprecate undocumented support for using a
4282 - bpo-46534: Implement :pep:`673` :class:`typing.Self`. Patch by James
4283 Hilton-Balfe.
4285 - bpo-46522: Make various module ``__getattr__`` AttributeErrors more
4288 - bpo-46475: Add :data:`typing.Never` and :func:`typing.assert_never`. Patch
4291 - bpo-46333: The :meth:`__eq__` and :meth:`__hash__` methods of
4296 - bpo-46246: Add missing ``__slots__`` to
4299 - bpo-46232: The :mod:`ssl` module now handles certificates with bit strings
4302 - bpo-46195: :func:`typing.get_type_hints` no longer adds ``Optional`` to
4306 - bpo-31369: Add :class:`~re.RegexFlag` to ``re.__all__`` and documented it.
4309 - bpo-45898: :mod:`ctypes` no longer defines ``ffi_type_*`` symbols in
4312 - bpo-44953: Calling ``operator.itemgetter`` objects and
4316 - bpo-44289: Fix an issue with :meth:`~tarfile.is_tarfile` method when using
4320 - bpo-44011: Reimplement SSL/TLS support in asyncio, borrow the
4323 - bpo-41086: Make the :class:`configparser.ConfigParser` constructor raise
4327 - bpo-29418: Implement :func:`inspect.ismethodwrapper` and fix
4331 - bpo-14156: argparse.FileType now supports an argument of '-' in binary
4334 when argument is '-'. Patch contributed by Josh Rosenberg
4337 -------------
4339 - bpo-42238: ``Doc/tools/rstlint.py`` has moved to its own repository and is
4340 now packaged on PyPI as ``sphinx-lint``.
4343 -----
4345 - bpo-46913: Fix test_faulthandler.test_sigfpe() if Python is built with
4349 - bpo-46760: Remove bytecode offsets from expected values in test.test_dis
4352 - bpo-46708: Prevent default asyncio event loop policy modification warning
4355 - bpo-46678: The function ``make_legacy_pyc`` in
4360 - bpo-46623: Skip test_pair() and test_speech128() of test_zlib on s390x
4365 -----
4367 - bpo-46860: Respect `--with-suffix` when building on case-insensitive file
4370 - bpo-46656: Building Python now requires a C11 compiler. Optional C11
4373 - bpo-46656: Building Python now requires support for floating point
4374 Not-a-Number (NaN): remove the ``Py_NO_NAN`` macro. Patch by Victor
4377 - bpo-46640: Building Python now requires a C99 ``<math.h>`` header file
4378 providing a ``NAN`` constant, or the ``__builtin_nan()`` built-in
4381 - bpo-46608: Exclude marshalled-frozen data if deep-freezing to save 300 KB
4385 - bpo-40280: Fix wasm32-emscripten test failures and platform issues. -
4387 getrusage, prlimit, mkfifo, mknod, setres[gu]id, setgroups. - Use fd_count
4388 to cound open fds. - Add more checks for subprocess and fork. - Add
4389 workarounds for missing _multiprocessing and failing socket.accept(). -
4390 Enable bzip2. - Disable large file support. - Disable signal.alarm.
4392 - bpo-46430: Intern strings in deep-frozen modules. Patch by Kumar Aditya.
4395 -------
4397 - bpo-46744: The default all users install directory for ARM64 is now under
4399 which is intended for ARM (32-bit) files.
4401 - bpo-46567: Adds Tcl and Tk support for Windows ARM64. This also adds IDLE
4404 - bpo-46638: Ensures registry virtualization is consistently disabled. For
4410 ----
4412 - bpo-46630: Make query dialogs on Windows start with a cursor in the entry
4415 - bpo-45447: Apply IDLE syntax highlighting to `.pyi` files. Patch by Alex
4419 -----
4421 - bpo-46748: Python's public headers no longer import ``<stdbool.h>``,
4425 - bpo-46836: Move the :c:type:`PyFrameObject` type definition (``struct
4429 - bpo-45459: Rename ``Include/buffer.h`` header file to
4433 - bpo-45412: Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the
4436 - bpo-46613: Added function :c:func:`PyType_GetModuleByDef`, which allows
4443 *Release date: 2022-02-03*
4446 -----------------
4448 - bpo-45773: Remove two invalid "peephole" optimizations from the bytecode
4451 - bpo-46564: Do not create frame objects when creating :class:`super`
4454 - bpo-45885: Added more fined-grained specialization failure stats regarding
4457 - bpo-44977: The delegation of :func:`int` to :meth:`__trunc__` is now
4462 - bpo-46458: Reorder code emitted by the compiler for a
4463 :keyword:`try`-:keyword:`except` block so that the :keyword:`else` block's
4467 - bpo-46527: Allow passing ``iterable`` as a keyword argument to
4470 - bpo-46528: Replace several stack manipulation instructions (``DUP_TOP``,
4474 - bpo-46329: Use two or three bytecodes to implement most calls.
4483 This partition into pre-call and call allows better specialization, and
4488 - bpo-46503: Fix an assert when parsing some invalid \N escape sequences in
4489 f-strings.
4491 - bpo-46431: Improve error message on invalid calls to
4494 - bpo-46476: Fix memory leak in code objects generated by deepfreeze. Patch
4497 - bpo-46481: Speed up calls to :meth:`weakref.ref.__call__` by using the
4498 :pep:`590` ``vectorcall`` calling convention. Patch by Dong-hee Na.
4500 - bpo-46417: Fix a race condition on setting a type ``__bases__`` attribute:
4507 - bpo-46417: ``python -X showrefcount`` now shows the total reference count
4511 - bpo-43683: Add ASYNC_GEN_WRAP opcode to wrap the value to be yielded in
4515 - bpo-46407: Optimize some modulo operations in ``Objects/longobject.c``.
4518 - bpo-46409: Add new ``RETURN_GENERATOR`` bytecode to make generators.
4525 - bpo-46406: The integer division ``//`` implementation has been optimized
4530 - bpo-46383: Fix invalid signature of ``_zoneinfo``'s ``module_free``
4531 function to resolve a crash on wasm32-emscripten platform.
4533 - bpo-46361: Ensure that "small" integers created by :meth:`int.from_bytes`
4536 - bpo-46161: Fix the class building error when the arguments are constants
4539 - bpo-46028: Fixes calculation of :data:`sys._base_executable` when inside a
4543 - bpo-46091: Correctly calculate indentation levels for lines with
4547 - bpo-30512: Add CAN Socket support for NetBSD.
4549 - bpo-46045: Do not use POSIX semaphores on NetBSD
4551 - bpo-44024: Improve the exc:`TypeError` message for non-string second
4552 arguments passed to the built-in functions :func:`getattr` and
4556 -------
4558 - bpo-46624: Restore support for non-integer arguments of
4561 - bpo-46591: Make the IDLE doc URL on the About IDLE dialog clickable.
4563 - bpo-46565: Remove loop variables that are leaking into modules'
4566 - bpo-46553: In :func:`typing.get_type_hints`, support evaluating bare
4569 - bpo-46544: Don't leak ``x`` & ``uspace`` intermediate vars in
4572 - bpo-46487: Add the ``get_write_buffer_limits`` method to
4575 - bpo-45173: Note the configparser deprecations will be removed in Python
4578 - bpo-45162: The deprecated :mod:`unittest` APIs removed in 3.11a1 have been
4582 - bpo-46539: In :func:`typing.get_type_hints`, support evaluating
4586 - bpo-46510: Add missing test for :class:`types.TracebackType` and
4590 - bpo-46491: Allow :data:`typing.Annotated` to wrap :data:`typing.Final` and
4593 - bpo-46483: Remove :meth:`~object.__class_getitem__` from
4596 - bpo-46436: Fix command-line option ``-d``/``--directory`` in module
4597 :mod:`http.server` which is ignored when combined with command-line option
4598 ``--cgi``. Patch by Géry Ogam.
4600 - bpo-41403: Make :meth:`mock.patch` raise a :exc:`TypeError` with a
4604 - bpo-46474: In ``importlib.metadata.EntryPoint.pattern``, avoid potential
4607 - bpo-46474: Removed private method from ``importlib.metadata.Path``. Sync
4610 - bpo-46470: Remove unused branch from ``typing._remove_dups_flatten``
4612 - bpo-46469: :mod:`asyncio` generic classes now return
4616 - bpo-41906: Support passing filter instances in the ``filters`` values of
4620 - bpo-46422: Use ``dis.Positions`` in ``dis.Instruction`` instead of a
4623 - bpo-46434: :mod:`pdb` now gracefully handles ``help`` when :attr:`__doc__`
4627 - bpo-43869: Python uses the same time Epoch on all platforms. Add an
4630 - bpo-46414: Add :func:`typing.reveal_type`. Patch by Jelle Zijlstra.
4632 - bpo-40280: :mod:`subprocess` now imports Windows-specific imports when
4633 ``msvcrt`` module is available, and POSIX-specific imports on all other
4637 - bpo-40066: ``IntEnum``, ``IntFlag``, and ``StrEnum`` use the mixed-in type
4640 - bpo-46316: Optimize :meth:`pathlib.Path.iterdir` by removing an
4643 - bpo-29688: Document :meth:`pathlib.Path.absolute` (which has always
4646 - bpo-43012: The pathlib module's obsolete and internal ``_Accessor`` class
4650 - bpo-46258: Speed up :func:`math.isqrt` for small positive integers by
4653 - bpo-46242: Improve error message when creating a new :class:`enum.Enum`
4657 - bpo-43118: Fix a bug in :func:`inspect.signature` that was causing it to
4661 - bpo-26552: Fixed case where failing :func:`asyncio.ensure_future` did not
4664 - bpo-21987: Fix an issue with :meth:`tarfile.TarFile.getmember` getting a
4667 - bpo-46124: Update :mod:`zoneinfo` to rely on importlib.resources
4670 - bpo-46103: Now :func:`inspect.getmembers` only gets :attr:`__bases__`
4673 - bpo-46080: Fix exception in argparse help text generation if a
4678 - bpo-44791: Fix substitution of :class:`~typing.ParamSpec` in
4685 -------------
4687 - bpo-46463: Fixes :file:`escape4chm.py` script used when building the CHM
4691 -----
4693 - bpo-43478: Mocks can no longer be provided as the specs for other Mocks.
4694 As a result, an already-mocked object cannot be passed to `mock.Mock()`.
4695 This can uncover bugs in tests since these Mock-derived Mocks will always
4699 - bpo-46616: Ensures ``test_importlib.test_windows`` cleans up registry keys
4702 - bpo-44359: test_ftplib now silently ignores socket errors to prevent
4705 - bpo-46600: Fix test_gdb.test_pycfunction() for Python built with ``clang
4706 -Og``. Tolerate inlined functions in the gdb traceback. Patch by Victor
4709 - bpo-46542: Fix a Python crash in test_lib2to3 when using Python built in
4712 - bpo-46576: test_peg_generator now disables compiler optimization when
4713 testing compilation of its own C extensions to significantly speed up the
4714 testing on non-debug builds of CPython.
4716 - bpo-46542: Fix ``test_json`` tests checking for :exc:`RecursionError`:
4720 - bpo-13886: Skip test_builtin PTY tests on non-ASCII characters if the
4725 - bpo-40280: Add :func:`test.support.requires_fork` decorators to mark tests
4728 - bpo-40280: Add :func:`test.support.requires_subprocess` decorator to mark
4730 wasm32-emscripten platform has no support for processes.
4732 - bpo-46126: Disable 'descriptions' when running tests internally.
4735 -----
4737 - bpo-46602: Tidied up configure.ac so that conftest.c is truncated rather
4742 - bpo-46600: Fix the test checking if the C compiler supports ``-Og`` option
4743 in the ``./configure`` script to also use ``-Og`` on clang which supports
4746 - bpo-38472: Fix GCC detection in setup.py when cross-compiling. The C
4750 - bpo-46513: :program:`configure` no longer uses ``AC_C_CHAR_UNSIGNED``
4754 - bpo-46471: Use global singletons for single byte bytes objects in
4757 - bpo-46443: Deepfreeze now uses cached small integers as it saves some
4760 - bpo-46429: Merge all deep-frozen files into one for space savings. Patch
4763 - bpo-45569: The build now defaults to using 30-bit digits for Python
4764 integers. Previously either 15-bit or 30-bit digits would be selected,
4765 depending on the platform. 15-bit digits may still be selected using the
4766 ``--enable-big-digits=15`` option to the ``configure`` script, or by
4769 - bpo-45925: Update Windows installer to use SQLite 3.37.2.
4771 - bpo-43112: Detect musl libc as a separate SOABI (tagged as
4772 ``linux-musl``).
4775 -------
4777 - bpo-33125: The traditional EXE/MSI based installer for Windows is now
4780 - bpo-46362: os.path.abspath("C:\CON") is now fixed to return "\\.\CON", not
4784 - bpo-44934: The installer now offers a command-line only option to add the
4789 -----
4791 - bpo-45925: Update macOS installer to SQLite 3.37.2.
4794 ----
4796 - bpo-45296: Clarify close, quit, and exit in IDLE. In the File menu,
4802 -----
4804 - bpo-40170: Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed
4809 - bpo-40170: Move _Py_GetAllocatedBlocks() and _PyObject_DebugMallocStats()
4812 - bpo-46433: The internal function _PyType_GetModuleByDef now correctly
4815 - bpo-45459: :c:type:`Py_buffer` and various ``Py_buffer`` related functions
4818 - bpo-14916: Fixed bug in the tokenizer that prevented
4825 *Release date: 2022-01-13*
4828 -----------------
4830 - bpo-46070: :c:func:`Py_EndInterpreter` now explicitly untracks all objects
4836 - bpo-46347: Fix memory leak in PyEval_EvalCodeEx.
4838 - bpo-46339: Fix a crash in the parser when retrieving the error text for
4839 multi-line f-strings expressions that do not start in the first line of
4842 - bpo-46331: Do not set line number of instruction storing doc-string. Fixes
4845 - bpo-46314: Remove spurious "call" event when creating a lambda function
4848 - bpo-46289: ASDL declaration of ``FormattedValue`` has changed to reflect
4851 - bpo-46297: Fixed an interpreter crash on bootup with multiple PythonPaths
4854 - bpo-46237: Fix the line number of tokenizer errors inside f-strings. Patch
4857 - bpo-46263: We always expect the "use_frozen_modules" config to be set, now
4860 - bpo-46006: Fix a regression when a type method like ``__init__()`` is
4867 - bpo-45923: Add RESUME opcode. This is a logical no-op. It is emitted by
4871 - bpo-46208: Fix the regression of os.path.normpath("A/../../B") not
4874 - bpo-46240: Correct the error message for unclosed parentheses when the
4878 - bpo-46009: Remove the ``GEN_START`` opcode.
4880 - bpo-46235: Certain sequence multiplication operations like ``[0] * 1_000``
4881 are now faster due to reference-counting optimizations. Patch by Dennis
4884 - bpo-46221: :opcode:`PREP_RERAISE_STAR` no longer pushes ``lasti`` to the
4887 - bpo-46202: Remove :opcode:`POP_EXCEPT_AND_RERAISE` and replace it by an
4890 - bpo-46085: Fix iterator cache mechanism of :class:`OrderedDict`.
4892 - bpo-46055: Speed up shifting operation involving integers less than
4895 - bpo-46110: Add a maximum recursion check to the PEG parser to avoid stack
4898 - bpo-46107: Fix bug where :meth:`ExceptionGroup.split` and
4902 - bpo-45711: The interpreter state's representation of handled exceptions
4907 - bpo-44525: Replace the four call bytecode instructions which one pre-call
4916 - bpo-46039: Remove the ``YIELD_FROM`` instruction and replace it with the
4920 - bpo-45635: The code called from :c:func:`_PyErr_Display` was refactored to
4924 - bpo-46054: Fix parser error when parsing non-utf8 characters in source
4927 - bpo-46042: Improve the location of the caret in :exc:`SyntaxError`
4930 - bpo-46049: Ensure :file:`._pth` files work as intended on platforms other
4933 - bpo-46048: Fixes parsing of :file:`._pth` files on startup so that
4934 single-character paths are correctly read.
4936 - bpo-37971: Fix a bug where the line numbers given in a traceback when a
4939 - bpo-46031: Add :opcode:`POP_JUMP_IF_NOT_NONE` and
4942 - bpo-45654: Deepfreeze :mod:`runpy`, patch by Kumar Aditya.
4944 - bpo-46025: Fix a crash in the :mod:`atexit` module involving functions
4948 - bpo-46000: Improve compatibility of the :mod:`curses` module with NetBSD
4951 - bpo-44525: Specialize the CALL_FUNCTION instruction for calls to builtin
4955 - bpo-42918: Fix bug where the built-in :func:`compile` function did not
4959 - bpo-45953: The main interpreter in _PyRuntimeState.interpreters is now
4965 - bpo-45292: Complete the :pep:`654` implementation: add ``except*``.
4967 - bpo-43413: Revert changes in ``set.__init__``. Subclass of :class:`set`
4971 - bpo-43931: Added the :c:data:`Py_Version` constant which bears the same
4975 -------
4977 - bpo-46342: The ``@typing.final`` decorator now sets the ``__final__``
4981 - bpo-46328: Added the :meth:`sys.exception` method which returns the active
4984 - bpo-46307: Add :meth:`string.Template.is_valid` and
4987 - bpo-46306: Assume that :class:`types.CodeType` always has
4990 - bpo-40479: Fix :mod:`hashlib` *usedforsecurity* option to work correctly
4993 - bpo-46070: Fix possible segfault when importing the :mod:`asyncio` module
4994 from different sub-interpreters in parallel. Patch by Erlend E. Aasland.
4996 - bpo-46244: Removed ``__slots__`` from :class:`typing.ParamSpec` and
4999 - bpo-46278: Reflect ``context`` argument in ``AbstractEventLoop.call_*()``
5002 - bpo-46269: Remove special-casing of ``__new__`` in
5005 - bpo-46266: Improve day constants in :mod:`calendar`.
5010 - bpo-46257: Optimized the mean, variance, and stdev functions in the
5015 - bpo-41011: Added two new variables to *pyvenv.cfg* which is generated by
5019 - bpo-46239: Improve error message when importing
5020 :mod:`asyncio.windows_events` on non-Windows.
5022 - bpo-46238: Reuse ``_winapi`` constants in ``asyncio.windows_events``.
5024 - bpo-46222: Adding ``SF_NOCACHE`` sendfile constant for FreeBSD for the
5027 - bpo-37295: Add fast path for ``0 <= k <= n <= 67`` for :func:`math.comb`.
5029 - bpo-46176: Adding the ``MAP_STACK`` constant for the mmap module.
5031 - bpo-43424: Deprecate :attr:`webbrowser.MacOSXOSAScript._name` and use
5034 - bpo-45321: Added missing error codes to module
5037 - bpo-46125: Refactor tests to test traversable API directly. Includes
5040 - bpo-46118: Moved importlib.resources and its related functionality to a
5043 - bpo-37578: Add *include_hidden* parameter to :func:`~glob.glob` and
5047 - bpo-20369: :func:`concurrent.futures.wait` no longer blocks forever when
5050 - bpo-46105: Honor spec when generating requirement specs with urls and
5053 - bpo-44893: EntryPoint objects are no longer tuples. Recommended means to
5057 - bpo-22815: Print unexpected successes together with failures and errors in
5060 - bpo-22047: Calling :meth:`add_argument_group` on an argument group is
5069 - bpo-26952: :mod:`argparse` raises :exc:`ValueError` with clear message
5073 - bpo-45615: Functions in the :mod:`traceback` module raise :exc:`TypeError`
5077 - bpo-16594: Add allow allow_reuse_port flag in socketserver.
5079 - bpo-27718: Fix help for the :mod:`signal` module. Some functions (e.g.
5082 - bpo-46032: The ``registry()`` method of :func:`functools.singledispatch`
5088 - bpo-46014: Add ability to use ``typing.Union`` and ``types.UnionType`` as
5092 - bpo-27062: Add :attr:`__all__` to :mod:`inspect`, patch by Kumar Aditya.
5094 - bpo-46018: Ensure that :func:`math.expm1` does not raise on underflow.
5096 - bpo-46016: Adding :attr:`F_DUP2FD` and :attr:`F_DUP2FD_CLOEXEC` constants
5099 - bpo-45755: :mod:`typing` generic aliases now reveal the class attributes
5101 behavior up to Python 3.6, but was changed in 3.7-3.9.
5103 - bpo-45874: The empty query string, consisting of no query arguments, is
5107 - bpo-44674: Change how dataclasses disallows mutable default values. It
5112 - bpo-23882: Remove namespace package (PEP 420) support from unittest
5116 - bpo-25066: Added a :meth:`__repr__` method to
5119 - bpo-45643: Added :data:`signal.SIGSTKFLT` on platforms where this signal
5122 - bpo-44092: Fetch across rollback no longer raises
5126 - bpo-42413: Replace ``concurrent.futures.TimeoutError`` and
5131 -------------
5133 - bpo-46196: Document method :meth:`cmd.Cmd.columnize`.
5135 - bpo-46120: State that ``|`` is preferred for readability over ``Union`` in
5138 - bpo-46109: Extracted ``importlib.resources`` and
5141 - bpo-19737: Update the documentation for the :func:`globals` function.
5144 -----
5146 - bpo-46296: Add a test case for :mod:`enum` with ``_use_args_ == True`` and
5149 - bpo-46205: Fix hang in runtest_mp due to race condition
5151 - bpo-46263: Fix test_capi on FreeBSD 14-dev: instruct jemalloc to not fill
5154 - bpo-46262: Cover ``ValueError`` path in tests for
5157 - bpo-46150: Now ``fakename`` in
5159 non-existent.
5161 - bpo-46129: Rewrite ``asyncio.locks`` tests with
5164 - bpo-23819: Fixed :mod:`asyncio` tests in python optimized mode. Patch by
5167 - bpo-46114: Fix test case for OpenSSL 3.0.1 version. OpenSSL 3.0 uses
5171 -----
5173 - bpo-44133: When Python is configured with
5174 :option:`--without-static-libpython`, the Python static library
5177 - bpo-44133: When Python is built without :option:`--enable-shared`, the
5183 - bpo-40280: The ``configure`` script has a new option
5184 ``--with-emscripten-target`` to select browser or node as Emscripten build
5187 - bpo-46315: Added and fixed ``#ifdef HAVE_FEATURE`` checks for
5190 - bpo-45723: Fixed a regression in ``configure`` check for
5193 - bpo-46263: ``configure`` no longer sets ``MULTIARCH`` on FreeBSD
5196 - bpo-46106: Updated OpenSSL to 1.1.1m in Windows builds, macOS installer
5199 - bpo-46088: Automatically detect or install bootstrap Python runtime when
5202 - bpo-46072: Add a --with-pystats configure option to turn on internal
5205 - bpo-40280: A new directory ``Tools/wasm`` contains WebAssembly-related
5206 helpers like ``config.site`` override for wasm32-emscripten, wasm assets
5209 - bpo-46023: :program:`makesetup` no longer builds extensions that have been
5213 - bpo-45949: Use pure Python ``freeze_module`` for all but importlib
5214 bootstrap files. ``--with-freeze-module`` :program:`configure` option is
5218 -------
5220 - bpo-46217: Removed parameter that is unsupported on Windows 8.1 and early
5224 -----
5226 - bpo-40477: The Python Launcher app for macOS now properly launches scripts
5230 -----
5232 - bpo-46236: Fix a bug in :c:func:`PyFunction_GetAnnotations` that caused it
5235 - bpo-46140: :c:func:`PyBuffer_GetPointer`,
5243 - bpo-45855: Document that the *no_block* argument to
5244 :c:func:`PyCapsule_Import` is a no-op now.
5246 - bpo-45855: Replaced deprecated usage of
5250 - bpo-46007: The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded
5259 *Release date: 2021-12-08*
5262 -----------------
5264 - bpo-46009: Restore behavior from 3.9 and earlier when sending non-None to
5270 - bpo-46004: Fix the :exc:`SyntaxError` location for errors involving for
5273 - bpo-45711: :c:func:`_PyErr_ChainStackItem` no longer normalizes
5277 - bpo-45607: The ``__note__`` field was added to :exc:`BaseException`. It is
5281 - bpo-45947: Place pointers to dict and values immediately before GC header.
5285 - bpo-45915: ``is_valid_fd`` now uses faster ``fcntl(fd, F_GETFD)`` on
5288 - bpo-44530: Reverts a change to the ``code.__new__`` :ref:`audit event
5289 <audit-events>` from an earlier prerelease.
5291 - bpo-42268: Fail the configure step if the selected compiler doesn't
5294 - bpo-45711: The three values of ``exc_info`` are now always consistent with
5302 - bpo-45727: Refine the custom syntax error that suggests that a comma may
5306 - bpo-45885: Specialized the ``COMPARE_OP`` opcode using the PEP 659
5309 - bpo-45786: Allocate space for the interpreter frame in the frame object,
5313 - bpo-45614: Fix :mod:`traceback` display for exceptions with invalid module
5316 - bpo-45813: Fix crash when calling coro.cr_frame.clear() after coroutine
5319 - bpo-45811: Improve the tokenizer errors when encountering invisible
5322 - bpo-45848: Allow the parser to obtain error lines directly from encoded
5325 - bpo-45709: Restore behavior from 3.10 when tracing an exception raised
5328 - bpo-44525: Adds new :opcode:`COPY_FREE_VARS` opcode, to make copying of
5332 - bpo-45829: Specialize :opcode:`BINARY_SUBSCR` for classes with a
5335 - bpo-45826: Fixed a crash when calling ``.with_traceback(None)`` on
5339 - bpo-45822: Fixed a bug in the parser that was causing it to not respect
5343 - bpo-45820: Fix a segfault when the parser fails without reading any input.
5346 - bpo-45636: Simplify the implementation of :opcode:`BINARY_OP` by indexing
5349 - bpo-42540: Fix crash when :func:`os.fork` is called with an active
5350 non-default memory allocator.
5352 - bpo-45738: Fix computation of error location for invalid continuation
5355 - bpo-45636: Remove an existing "fast path" for old-style string formatting,
5358 - bpo-45753: Make recursion checks a bit more efficient by tracking amount
5361 - bpo-45773: Fix a compiler hang when attempting to optimize certain jump
5364 - bpo-45764: The parser now gives a better error message when leaving out
5365 the opening parenthesis ``(`` after a ``def``-statement::
5373 - bpo-45609: Specialized the ``STORE_SUBSCR`` opcode using the PEP 659
5376 - bpo-45636: Replace all numeric ``BINARY_*`` and ``INPLACE_*`` instructions
5379 - bpo-45582: Path calculation (known as ``getpath``) has been reimplemented
5384 - bpo-45450: Improve the syntax error message for parenthesized arguments.
5388 -------
5390 - bpo-27946: Fix possible crash when getting an attribute of
5394 - bpo-45711: Make :mod:`asyncio` normalize exceptions as soon as they are
5399 - bpo-23819: Replaced asserts with exceptions in asyncio, patch by Kumar
5402 - bpo-13236: :class:`unittest.TextTestResult` and
5405 - bpo-45917: Added :func:`math.exp2`:, which returns 2 raised to the power
5408 - bpo-37658: Fix issue when on certain conditions ``asyncio.wait_for()`` may
5412 - bpo-45876: Improve the accuracy of stdev() and pstdev() in the statistics
5416 - bpo-44649: Handle dataclass(slots=True) with a field that has default a
5419 - bpo-45803: Added missing kw_only parameter to
5422 - bpo-45837: The :meth:`turtle.RawTurtle.settiltangle` is deprecated since
5433 - bpo-45831: :mod:`faulthandler` can now write ASCII-only strings (like
5439 - bpo-45828: :mod:`sqlite` C callbacks now use unraisable exceptions if
5442 - bpo-41735: Fix thread lock in ``zlib.Decompress.flush()`` method before
5445 - bpo-45235: Reverted an argparse bugfix that caused regression in the
5449 - bpo-45754: Fix a regression in Python 3.11a1 and 3.11a2 where
5454 - bpo-45766: Added *proportional* option to
5457 - bpo-45765: In importlib.metadata, fix distribution discovery for an empty
5460 - bpo-45757: Fix bug where :mod:`dis` produced an incorrect oparg when
5464 - bpo-45644: In-place JSON file formatting using ``python3 -m json.tool
5468 - bpo-45703: When a namespace package is imported before another module from
5474 - bpo-45535: Improve output of ``dir()`` with Enums.
5476 - bpo-45664: Fix :func:`types.resolve_bases` and :func:`types.new_class` for
5479 - bpo-45663: Fix :func:`dataclasses.is_dataclass` for dataclasses which are
5482 - bpo-45662: Fix the repr of :data:`dataclasses.InitVar` with a type alias
5483 to the built-in class, e.g. ``InitVar[list[int]]``.
5485 - bpo-43137: Launch GNOME web browsers via gio tool instead of obsolete
5486 gvfs-open
5488 - bpo-45429: On Windows, :func:`time.sleep` now uses a waitable timer which
5489 supports high-resolution timers. Patch by Dong-hee Na and Eryk Sun.
5491 - bpo-37295: Optimize :func:`math.comb` and :func:`math.perm`.
5493 - bpo-45514: Deprecated legacy functions in :mod:`importlib.resources`.
5495 - bpo-45507: Add tests for truncated/missing trailers in gzip.decompress
5498 - bpo-45359: Implement :pep:`585` for :class:`graphlib.TopologicalSorter`.
5500 - bpo-44733: Add ``max_tasks_per_child`` to
5505 - bpo-28806: Improve netrc library. netrc file no longer needs to contain
5509 - bpo-43498: Avoid a possible *"RuntimeError: dictionary changed size during
5513 - bpo-42158: Add MIME types for N-quads, N-triples, Notation3 and TriG to
5516 - bpo-30533: Add :func:`inspect.getmembers_static` , it return all members
5521 -------------
5523 - bpo-42238: ``make -C Doc suspicious`` will be removed soon in favor of
5524 ``make -C Doc check``, mark it as deprecated.
5526 - bpo-45840: Improve cross-references in the documentation for the data
5529 - bpo-45640: Properly marked-up grammar tokens in the documentation are now
5533 - bpo-45788: Link doc for sys.prefix to sysconfig doc on installation paths.
5535 - bpo-45772: ``socket.socket`` documentation is corrected to a class from a
5538 - bpo-45392: Update the docstring of the :class:`type` built-in to remove a
5541 - bpo-45250: Update the documentation to note that CPython does not
5544 - bpo-25381: In the extending chapter of the extending doc, update a
5547 - bpo-43905: Expanded :func:`~dataclasses.astuple` and
5552 -----
5554 - bpo-45695: Out-of-tree builds with a read-only source directory are now
5557 - bpo-19460: Add new Test for
5560 - bpo-45835: Fix race condition in test_queue tests with multiple "feeder"
5563 - bpo-45783: The test for the freeze tool now handles file moves and
5566 - bpo-45745: Remove the ``--findleaks`` command line option of regrtest: use
5567 the ``--fail-env-changed`` option instead. Since Python 3.7, it was a
5568 deprecated alias to the ``--fail-env-changed`` option.
5570 - bpo-45701: Add tests with ``tuple`` type with :func:`functools.lru_cache`
5574 -----
5576 - bpo-44035: CI now verifies that autoconf files have been regenerated with
5579 - bpo-45950: The build system now uses a :program:`_bootstrap_python`
5584 - bpo-45881: The :program:`configure` script now accepts
5585 ``--with-build-python`` and ``--with-freeze-module`` options to make cross
5588 - bpo-40280: Emscripten platform now uses ``.wasm`` suffix by default.
5590 - bpo-40280: Disable unusable core extension modules on WASM/Emscripten
5593 - bpo-40280: ``configure`` now checks for socket ``shutdown`` function. The
5597 - bpo-40280: ``configure`` now checks for functions ``fork1, getegid,
5600 - bpo-33393: Update ``config.guess`` to 2021-06-03 and ``config.sub`` to
5601 2021-08-14. ``Makefile`` now has an ``update-config`` target to make
5604 - bpo-45866: ``make regen-all`` now produces the same output when run from a
5609 - bpo-40280: ``configure`` now accepts machine ``wasm32`` or ``wasm64`` and
5611 ``wasm32-unknown-emscripten``, ``wasm32-wasi``, or
5612 ``wasm32-unknown-wasi``.
5614 - bpo-41498: Python now compiles on platforms without ``sigset_t``. Several
5619 - bpo-45881: ``setup.py`` now uses ``CC`` from environment first to discover
5622 - bpo-45886: The ``_freeze_module`` program path can now be overridden on
5626 - bpo-45873: Get rid of the ``_bootstrap_python`` build step. The
5630 - bpo-45847: Port builtin hashlib extensions to ``PY_STDLIB_MOD`` macro and
5633 - bpo-45723: Add ``autoconf`` helpers for saving and restoring environment
5645 - bpo-45573: Mandatory core modules, that are required to bootstrap Python,
5648 - bpo-45573: ``configure`` now creates ``Modules/Setup.stdlib`` with
5652 - bpo-45573: ``configure`` now uses a unified format to set state, compiler
5656 - bpo-45816: Python now supports building with Visual Studio 2022 (MSVC
5659 - bpo-45800: Settings for :mod:`pyexpat` C extension are now detected by
5662 - bpo-45798: Settings for :mod:`decimal` internal C extension are now
5666 - bpo-45723: :program:`configure` has a new option ``--with-pkg-config`` to
5667 disable or require pkg-config.
5669 - bpo-45774: The build dependencies for :mod:`sqlite3` are now detected by
5670 ``configure`` and ``pkg-config``. Patch by Erlend E. Aasland.
5672 - bpo-45763: The build dependencies for :mod:`zlib`, :mod:`bz2`, and
5675 - bpo-45747: gdbm and dbm build dependencies are now detected by
5678 - bpo-45743: On macOS, the build system no longer passes
5682 - bpo-45723: ``configure.ac`` is now compatible with autoconf 2.71.
5686 - bpo-45723: ``configure`` now prints a warning when pkg-config is missing.
5688 - bpo-45731: ``configure --enable-loadable-sqlite-extensions`` is now
5692 - bpo-45723: configure.ac now uses custom helper macros and
5695 - bpo-45696: Skip the marshal step for frozen modules by generating C code
5696 that produces a set of ready-to-use code objects. This speeds up startup
5699 - bpo-45561: Run smelly.py tool from $(srcdir).
5702 -------
5704 - bpo-46105: Fixed calculation of :data:`sys.path` in a venv on Windows.
5706 - bpo-45901: When installed through the Microsoft Store and set as the
5712 - bpo-45616: Fix Python Launcher's ability to distinguish between versions
5717 - bpo-45850: Implement changes to build with deep-frozen modules on Windows.
5720 - bpo-45732: Updates bundled Tcl/Tk to 8.6.12.
5722 - bpo-45720: Internal reference to :file:`shlwapi.dll` was dropped to help
5727 -----
5729 - bpo-45732: Update python.org macOS installer to use Tcl/Tk 8.6.12.
5732 -----
5734 - bpo-39026: Fix Python.h to build C extensions with Xcode: remove a
5741 *Release date: 2021-11-05*
5744 -----------------
5746 - bpo-45716: Improve the :exc:`SyntaxError` message when using ``True``,
5750 - bpo-45688: :data:`sys.stdlib_module_names` now contains the macOS-specific
5753 - bpo-45379: Clarify :exc:`ImportError` message when we try to explicitly
5756 - bpo-44525: Specialize simple calls to Python functions (no starargs,
5759 - bpo-45530: Cases of sorting using tuples as keys may now be significantly
5764 :ref:`expressions-value-comparisons` for information on total ordering).
5765 It's generally true that the result of sorting simply isn't well-defined
5768 - bpo-45526: In obmalloc, set ADDRESS_BITS to not ignore any bits (ignored
5769 16 before). That is safer in the case that the kernel gives user-space
5772 - bpo-30570: Fixed a crash in ``issubclass()`` from infinite recursion when
5775 - bpo-45521: Fix a bug in the obmalloc radix tree code. On 64-bit machines,
5776 the bug causes the tree to hold 46-bits of virtual addresses, rather than
5777 the intended 48-bits.
5779 - bpo-45494: Fix parser crash when reporting errors involving invalid
5782 - bpo-45445: Python now fails to initialize if it finds an invalid
5783 :option:`-X` option in the command line. Patch by Pablo Galindo.
5785 - bpo-45340: Object attributes are held in an array instead of a dictionary.
5790 - bpo-45408: Fix a crash in the parser when reporting tokenizer errors that
5794 - bpo-29410: Add SipHash13 for string hash algorithm and use it by default.
5796 - bpo-45385: Fix reference leak from descr_check. Patch by Dong-hee Na.
5798 - bpo-45367: Specialized the ``BINARY_MULTIPLY`` opcode to
5802 - bpo-21736: Frozen stdlib modules now have ``__file__`` to the .py file
5808 non-stdlib frozen modules nor, for now, frozen modules imported using
5812 - bpo-45020: For frozen stdlib modules, record the original module name as
5818 - bpo-45324: In FrozenImporter.find_spec(), we now preserve the information
5822 - bpo-45292: Implement :pep:`654`. Add :class:`ExceptionGroup` and
5825 - bpo-40116: Change to the implementation of split dictionaries. Classes
5828 should have no observable effect on users of Python or the C-API. Patch by
5831 - bpo-44050: Extensions that indicate they use global state (by setting
5832 ``m_size`` to -1) can again be used in multiple interpreters. This reverts
5835 - bpo-44525: Setup initial specialization infrastructure for the
5847 - bpo-44511: Improve the generated bytecode for class and mapping patterns.
5849 - bpo-43706: Speed up calls to ``enumerate()`` by using the :pep:`590`
5850 ``vectorcall`` calling convention. Patch by Dong-hee Na.
5853 -------
5855 - bpo-45679: Fix caching of multi-value :data:`typing.Literal`.
5858 - bpo-42064: Convert :mod:`sqlite3` to multi-phase initialisation (PEP 489).
5861 - bpo-45438: Fix typing.Signature string representation for generic builtin
5864 - bpo-45613: :mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on
5868 - bpo-45574: Fix warning about ``print_escape`` being unused.
5870 - bpo-45581: :meth:`sqlite3.connect` now correctly raises :exc:`MemoryError`
5874 - bpo-45557: pprint.pprint() now handles underscore_numbers correctly.
5877 - bpo-44019: Add :func:`operator.call` to ``operator.__all__``. Patch by
5880 - bpo-42174: :meth:`shutil.get_terminal_size` now falls back to sane values
5883 - bpo-35673: Improve the introspectability of the ``__loader__`` attribute
5888 - bpo-45515: Add references to :mod:`zoneinfo` in the :mod:`datetime`
5892 - bpo-45475: Reverted optimization of iterating :class:`gzip.GzipFile`,
5893 :class:`bz2.BZ2File`, and :class:`lzma.LZMAFile` (see bpo-43787) because
5897 - bpo-45489: Update :class:`~typing.ForwardRef` to support ``|`` operator.
5898 Patch by Dong-hee Na.
5900 - bpo-42222: Removed deprecated support for float arguments in
5903 - bpo-45428: Fix a regression in py_compile when reading filenames from
5906 - bpo-45467: Fix incremental decoder and stream reader in the
5907 "raw-unicode-escape" codec. Previously they failed if the escape sequence
5910 - bpo-45461: Fix incremental decoder and stream reader in the
5911 "unicode-escape" codec. Previously they failed if the escape sequence was
5914 - bpo-45239: Fixed :func:`email.utils.parsedate_tz` crashing with
5918 - bpo-45417: Fix quadratic behaviour in the enum module: Creation of enum
5921 - bpo-45249: Fix the behaviour of :func:`traceback.print_exc` when
5925 - bpo-45416: Fix use of :class:`asyncio.Condition` with explicit
5929 - bpo-20028: Empty escapechar/quotechar is not allowed when initializing
5930 :class:`csv.Dialect`. Patch by Vajrasky Kok and Dong-hee Na.
5932 - bpo-44904: Fix bug in the :mod:`doctest` module that caused it to fail if
5936 - bpo-45406: Make :func:`inspect.getmodule` catch ``FileNotFoundError``
5940 - bpo-45411: Add extensions for files containing subtitles - .srt & .vtt -
5943 - bpo-10716: Migrated pydoc to HTML5 (without changing the look of it). Side
5947 - bpo-27580: Add support of null characters in :mod:`csv`.
5949 - bpo-45262: Prevent use-after-free in asyncio. Make sure the cached running
5950 loop holder gets cleared on dealloc to prevent use-after-free in
5953 - bpo-45386: Make :mod:`xmlrpc.client` more robust to C runtimes where the
5955 testing for year formatting options.
5957 - bpo-20028: Improve error message of :class:`csv.Dialect` when
5958 initializing. Patch by Vajrasky Kok and Dong-hee Na.
5960 - bpo-45343: Update bundled pip to 21.2.4 and setuptools to 58.1.0
5962 - bpo-45328: Fixed :class:`http.client.HTTPConnection` to work properly in
5965 - bpo-45243: Add :meth:`~sqlite3.Connection.setlimit` and
5970 - bpo-45320: Removed from the :mod:`inspect` module:
5986 - bpo-45192: Fix the ``tempfile._infer_return_type`` function so that the
5992 - bpo-45160: When tracing a tkinter variable used by a ttk OptionMenu,
5995 - bpo-25625: Added non parallel-safe :func:`~contextlib.chdir` context
5999 - bpo-24139: Add support for SQLite extended result codes in
6002 - bpo-24444: Fixed an error raised in :mod:`argparse` help display when help
6006 - bpo-44547: Implement ``Fraction.__int__``, so that a
6010 - bpo-40321: Adds support for HTTP 308 redirects to :mod:`urllib`. See
6013 - bpo-41374: Ensure that ``socket.TCP_*`` constants are exposed on Cygwin
6016 - bpo-35970: Add help flag to the base64 module's command line interface.
6020 -------------
6022 - bpo-45726: Improve documentation for :func:`functools.singledispatch` and
6025 - bpo-45680: Amend the docs on ``GenericAlias`` objects to clarify that
6026 non-container classes can also implement ``__class_getitem__``. Patch
6029 - bpo-45618: Update Sphinx version used to build the documentation to 4.2.0.
6032 - bpo-45655: Add a new "relevant PEPs" section to the top of the
6035 - bpo-45604: Add ``level`` argument to ``multiprocessing.log_to_stderr``
6038 - bpo-45516: Add protocol description to the
6041 - bpo-45464: Mention in the documentation of :ref:`Built-in Exceptions
6042 <bltin-exceptions>` that inheriting from multiple exception types in a
6046 - bpo-45449: Add note about :pep:`585` in :mod:`collections.abc`.
6048 - bpo-45516: Add protocol description to the
6051 - bpo-20692: Add Programming FAQ entry explaining that int literal attribute
6055 -----
6057 - bpo-45678: Add tests for scenarios in which
6061 - bpo-45578: Add tests for :func:`dis.distb`
6063 - bpo-45678: Add tests to ensure that ``functools.singledispatchmethod``
6066 - bpo-45668: PGO tests now pass when Python is built without test extension
6069 - bpo-45577: Add subtests for all ``pickle`` protocols in ``test_zoneinfo``.
6071 - bpo-45566: Fix ``test_frozen_pickle`` in ``test_dataclasses`` to check all
6074 - bpo-43592: :mod:`test.libregrtest` now raises the soft resource limit for
6078 - bpo-39679: Add more test cases for `@functools.singledispatchmethod` when
6081 - bpo-45410: When libregrtest spawns a worker process, stderr is now written
6086 - bpo-45402: Fix test_tools.test_sundry() when Python is built out of tree:
6090 - bpo-45403: Fix test_sys.test_stdlib_dir() when Python is built outside the
6093 - bpo-45400: Fix
6096 "Python-3.11.0a1"): use a stricter regular expression. Patch by Victor
6099 - bpo-10572: Rename :mod:`sqlite3` tests from ``test_sqlite`` to
6104 -----
6106 - bpo-43158: ``setup.py`` now uses values from configure script to build the
6107 ``_uuid`` extension module. Configure now detects util-linux's
6110 - bpo-45666: Fix warning of ``swprintf`` and ``%s`` usage in
6113 - bpo-45548: ``Modules/Setup`` and ``Modules/makesetup`` have been improved.
6118 - bpo-45548: The :mod:`math` and :mod:`cmath` implementation now require a
6122 - bpo-45595: ``setup.py`` and ``makesetup`` now track build dependencies on
6125 - bpo-45571: ``Modules/Setup`` now use ``PY_CFLAGS_NODIST`` instead of
6128 - bpo-45570: :mod:`pyexpat` and :mod:`_elementtree` no longer define
6132 - bpo-43974: ``setup.py`` no longer defines ``Py_BUILD_CORE_MODULE``.
6135 - bpo-45548: Fill in missing entries in Modules/Setup.
6137 - bpo-45532: Update :data:`sys.version` to use ``main`` as fallback
6140 - bpo-45536: The ``configure`` script now checks whether OpenSSL headers and
6144 - bpo-45221: Fixed regression in handling of ``LDFLAGS`` and ``CPPFLAGS``
6146 as one of the built-in command line argument, for example ``-h`` for help.
6148 - bpo-45440: Building Python now requires a C99 ``<math.h>`` header file
6153 - bpo-45405: Prevent ``internal configure error`` when running ``configure``
6154 with recent versions of non-Apple clang. Patch by David Bohman.
6156 - bpo-45433: Avoid linking libpython with libcrypt.
6159 -------
6161 - bpo-43652: Update Tcl/Tk to 8.6.11, actually this time. The previous
6164 - bpo-45337: venv now warns when the created environment may need to be
6169 - bpo-43851: Build SQLite ``SQLITE_OMIT_AUTOINIT`` on Windows. Patch by
6173 -----
6175 - bpo-44828: Avoid tkinter file dialog failure on macOS 12 Monterey when
6180 ----
6182 - bpo-45495: Add context keywords 'case' and 'match' to completions list.
6185 -----
6187 - bpo-29103: :c:func:`PyType_FromSpec* <PyType_FromModuleAndSpec>` now
6191 - bpo-45522: The internal freelists for frame, float, list, dict, async
6194 - bpo-35134: Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API.
6198 - bpo-35081: Move the ``interpreteridobject.h`` header file from
6202 - bpo-35134: The non-limited API files ``cellobject.h``, ``classobject.h``,
6207 Files <api-includes>`. If they have been included directly, consider
6210 - bpo-45474: The following items are no longer available when
6219 These are not part of the :ref:`limited API <stable-abi-list>`.
6223 - bpo-45434: Remove the ``pystrhex.h`` header file. It only contains private
6227 - bpo-45440: Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the
6230 - bpo-45434: ``<Python.h>`` no longer includes the header files
6236 - bpo-41123: Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros,
6241 - bpo-45412: Remove the following math macros using the ``errno`` variable:
6251 - bpo-45395: Custom frozen modules (the array set to
6256 - bpo-43760: Add new :c:func:`PyThreadState_EnterTracing`, and
6260 - bpo-44220: :c:var:`PyStructSequence_UnnamedField` is added to the Stable
6267 *Release date: 2021-10-05*
6270 --------
6272 - bpo-42278: Replaced usage of :func:`tempfile.mktemp` with
6275 - bpo-44600: Fix incorrect line numbers while tracing some failed patterns
6278 - bpo-41180: Add auditing events to the :mod:`marshal` module, and stop
6285 - bpo-44394: Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to
6286 get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This
6289 - bpo-43124: Made the internal ``putcmd`` function in :mod:`smtplib`
6293 - bpo-44022: :mod:`http.client` now avoids infinitely reading potential HTTP
6297 -----------------
6299 - bpo-43760: The number of hardware branches per instruction dispatch is
6303 - bpo-45061: Add a deallocator to the bool type to detect refcount bugs in C
6309 - bpo-24076: sum() was further optimised for summing up single digit
6312 - bpo-45190: Update Unicode databases to Unicode 14.0.0.
6314 - bpo-45167: Fix deepcopying of :class:`types.GenericAlias` objects.
6316 - bpo-45155: :meth:`int.to_bytes` and :meth:`int.from_bytes` now take a
6321 - bpo-44219: Release the GIL while performing ``isatty`` system calls on
6327 - bpo-44959: Added fallback to extension modules with '.sl' suffix on HP-UX
6329 - bpo-45121: Fix issue where ``Protocol.__init__`` raises ``RecursionError``
6333 - bpo-44348: The deallocator function of the :exc:`BaseException` type now
6342 - bpo-45123: Fix PyAiter_Check to only check for the __anext__ presence (not
6344 -> PyObject_GetAIter.
6346 - bpo-1514420: Interpreter no longer attempts to open files with names in
6350 - bpo-41031: Match C and Python code formatting of unprintable exceptions
6353 - bpo-37330: :func:`open`, :func:`io.open`, :func:`codecs.open` and
6358 - bpo-45083: When the interpreter renders an exception, its name now has a
6366 - bpo-34561: List sorting now uses the merge-ordering strategy from Munro
6368 near-optimal in the entropy of the distribution of run lengths. Most uses
6371 exceptionally poor. However, as these are all fast linear-time
6372 approximations to a problem that's inherently at best quadratic-time to
6376 - bpo-45056: Compiler now removes trailing unused constants from co_consts.
6378 - bpo-45020: Add a new command line option, "-X frozen_modules=[on|off]" to
6382 - bpo-45012: In :mod:`posix`, release GIL during ``stat()``, ``lstat()``,
6386 - bpo-45018: Fixed pickling of range iterators that iterated for over
6389 - bpo-45000: A :exc:`SyntaxError` is now raised when trying to delete
6390 :const:`__debug__`. Patch by Dong-hee Na.
6392 - bpo-44963: Implement ``send()`` and ``throw()`` methods for
6395 - bpo-44962: Fix a race in WeakKeyDictionary, WeakValueDictionary and
6400 - bpo-24234: Implement the :meth:`__bytes__` special method on the
6404 - bpo-24234: Implement the :meth:`__complex__` special method on the
6408 - bpo-44954: Fixed a corner case bug where the result of
6409 ``float.fromhex('0x.8p-1074')`` was rounded the wrong way.
6411 - bpo-44947: Refine the syntax error for trailing commas in import
6414 - bpo-44945: Specialize the BINARY_ADD instruction using the PEP 659
6423 - bpo-44929: Fix some edge cases of ``enum.Flag`` string representation in
6426 - bpo-44914: Class version tags are no longer recycled.
6432 - bpo-44698: Restore behaviour of complex exponentiation with integer-valued
6435 - bpo-44895: A debug variable :envvar:`PYTHONDUMPREFSFILE` is added for
6436 creating a dump file which is generated by :option:`--with-trace-refs`.
6437 Patch by Dong-hee Na.
6439 - bpo-44900: Add five superinstructions for PEP 659 quickening:
6447 - bpo-44889: Initial implementation of adaptive specialization of
6456 - bpo-44890: Specialization stats are always collected in debug builds.
6458 - bpo-44885: Correct the ast locations of f-strings with format specs and
6461 - bpo-44878: Remove the loop from the bytecode interpreter. All instructions
6464 - bpo-44878: Remove switch statement for interpreter loop when using
6468 - bpo-44874: Deprecate the old trashcan macros
6472 - bpo-44872: Use new trashcan macros (Py_TRASHCAN_BEGIN/END) in
6475 - bpo-33930: Fix segmentation fault with deep recursion when cleaning method
6478 - bpo-25782: Fix bug where ``PyErr_SetObject`` hangs when the current
6481 - bpo-44856: Fix reference leaks in the error paths of ``update_bases()``
6484 - bpo-44826: Initial implementation of adaptive specialization of STORE_ATTR
6494 - bpo-44838: Fixed a bug that was causing the parser to raise an incorrect
6498 - bpo-44821: Create instance dictionaries (__dict__) eagerly, to improve
6501 - bpo-44792: Improve syntax errors for if expressions. Patch by Miguel Brito
6503 - bpo-34013: Generalize the invalid legacy statement custom error message
6507 - bpo-44732: Rename ``types.Union`` to ``types.UnionType``.
6509 - bpo-44725: Expose specialization stats in python via
6512 - bpo-44717: Improve AttributeError on circular imports of submodules.
6514 - bpo-44698: Fix undefined behaviour in complex object exponentiation.
6516 - bpo-44653: Support :mod:`typing` types in parameter substitution in the
6519 - bpo-44676: Add ability to serialise ``types.Union`` objects. Patch
6522 - bpo-44633: Parameter substitution of the union type with wrong types now
6525 - bpo-44661: Update ``property_descr_set`` to use vectorcall if possible.
6526 Patch by Dong-hee Na.
6528 - bpo-44662: Add ``__module__`` to ``types.Union``. This also fixes
6532 - bpo-44655: Include the name of the type in unset __slots__ attribute
6535 - bpo-44655: Don't include a missing attribute with the same name as the
6539 - bpo-44646: Fix the hash of the union type: it no longer depends on the
6542 - bpo-44636: Collapse union of equal types. E.g. the result of ``int | int``
6543 is now ``int``. Fix comparison of the union type with non-hashable
6546 - bpo-44611: On Windows, :func:`os.urandom`: uses BCryptGenRandom API
6548 API. Patch by Dong-hee Na.
6550 - bpo-44635: Convert ``None`` to ``type(None)`` in the union type
6553 - bpo-26280: Implement adaptive specialization for BINARY_SUBSCR
6563 - bpo-44589: Mapping patterns in ``match`` statements with two or more equal
6564 literal keys will now raise a :exc:`SyntaxError` at compile-time.
6566 - bpo-44606: Fix ``__instancecheck__`` and ``__subclasscheck__`` for the
6569 - bpo-42073: The ``@classmethod`` decorator can now wrap other
6570 classmethod-like descriptors.
6572 - bpo-41972: Tuned the string-searching algorithm of fastsearch.h to have a
6575 - bpo-44590: All necessary data for executing a Python function (local
6576 variables, stack, etc) is now kept in a per-thread stack. Frame objects
6581 - bpo-44584: The threading debug (:envvar:`PYTHONTHREADDEBUG` environment
6585 - bpo-43895: An obsolete internal cache of shared object file handles added
6587 dlopen'ed twice to work around flaws in mid-1990s posix-ish operating
6590 - bpo-44490: :mod:`typing` now searches for type parameters in
6595 - bpo-43950: Code objects can now provide the column information for
6602 - bpo-44562: Remove uses of :c:func:`PyObject_GC_Del` in error path when
6605 - bpo-41486: Fix a memory consumption and copying performance regression in
6609 - bpo-43908: Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can
6611 possible for :ref:`static types <static-types>`. Patch by Erlend E.
6614 - bpo-44553: Implement GC methods for ``types.Union`` to break reference
6617 - bpo-44490: Add ``__parameters__`` attribute and ``__getitem__`` operator
6620 - bpo-44523: Remove the pass-through for :func:`hash` of
6625 - bpo-44483: Fix a crash in ``types.Union`` objects when creating a union of
6628 - bpo-44486: Modules will always have a dictionary, even when created by
6631 - bpo-44472: Fix ltrace functionality when exceptions are raised. Patch by
6634 - bpo-12022: A :exc:`TypeError` is now raised instead of an
6639 - bpo-44297: Make sure that the line number is set when entering a
6643 - bpo-44456: Improve the syntax error when mixing positional and keyword
6646 - bpo-44409: Fix error location information for tokenizer errors raised on
6649 - bpo-44396: Fix a possible crash in the tokenizer when raising syntax
6652 - bpo-44376: Exact integer exponentiation (like ``i**2`` or ``pow(i, 2)``)
6656 - bpo-44313: Directly imported objects and modules (through import and from
6661 - bpo-44338: Implement adaptive specialization for LOAD_GLOBAL
6669 - bpo-44368: Improve syntax errors for invalid "as" targets. Patch by Pablo
6672 - bpo-44349: Fix an edge case when displaying text from files with encoding
6675 - bpo-44337: Initial implementation of adaptive specialization of LOAD_ATTR
6687 - bpo-44335: Fix a regression when identifying incorrect characters in
6690 - bpo-43693: Computation of the offsets of cell variables is done in the
6695 - bpo-44317: Improve tokenizer error with improved locations. Patch by Pablo
6698 - bpo-44304: Fix a crash in the :mod:`sqlite3` module that happened when the
6702 - bpo-44305: Improve error message for ``try`` blocks without ``except`` or
6705 - bpo-43413: Constructors of subclasses of some builtin classes (e.g.
6711 - bpo-43667: Improve Unicode support in non-UTF locales on Oracle Solaris.
6714 - bpo-43693: A new opcode MAKE_CELL has been added that effectively moves
6720 - bpo-44232: Fix a regression in :func:`type` when a metaclass raises an
6725 - bpo-44201: Avoid side effects of checking for specialized syntax errors in
6729 - bpo-43693: ``PyCodeObject`` gained ``co_fastlocalnames`` and
6733 - bpo-44184: Fix a crash at Python exit when a deallocator function removes
6736 - bpo-44187: Implement quickening in the interpreter. This offers no
6740 - bpo-44180: The parser doesn't report generic syntax errors that happen in
6744 - bpo-44168: Fix error message in the parser involving keyword arguments
6747 - bpo-44156: String caches in ``compile.c`` are now subinterpreter
6750 - bpo-44143: Fixed a crash in the parser that manifest when raising
6754 - bpo-44032: Move 'fast' locals and other variables from the frame object to
6755 a per-thread datastack.
6757 - bpo-44114: Fix incorrect dictkeys_reversed and dictitems_reversed function
6760 - bpo-44110: Improve :func:`str.__getitem__` error message
6762 - bpo-26110: Add ``CALL_METHOD_KW`` opcode to speed up method calls with
6766 - bpo-28307: Compiler now optimizes simple C-style formatting with literal
6768 f-string expressions.
6770 - bpo-43149: Correct the syntax error message regarding multiple exception
6773 - bpo-43822: The parser will prioritize tokenizer errors over custom syntax
6776 - bpo-40222: "Zero cost" exception handling.
6784 - bpo-43918: Document the signature and ``default`` argument in the
6787 - bpo-43833: Emit a deprecation warning if the numeric literal is
6792 - bpo-43879: Add native_thread_id to PyThreadState. Patch by Gabriele N.
6795 - bpo-43693: Compute cell offsets relative to locals in compiler. Allows the
6800 - bpo-17792: More accurate error messages for access of unbound locals or
6803 - bpo-28146: Fix a confusing error message in :func:`str.format`.
6805 - bpo-11105: When compiling :class:`ast.AST` objects with recursive
6809 - bpo-39091: Fix crash when using passing a non-exception to a generator's
6812 - bpo-33346: Asynchronous comprehensions are now allowed inside
6817 -------
6819 - bpo-45371: Fix clang rpath issue in :mod:`distutils`. The UnixCCompiler
6823 - bpo-45329: Fix freed memory access in :class:`pyexpat.xmlparser` when
6826 - bpo-41710: On Unix, if the ``sem_clockwait()`` function is available in
6832 - bpo-1596321: Fix the :func:`threading._shutdown` function when the
6836 - bpo-45274: Fix a race condition in the :meth:`Thread.join()
6842 - bpo-21302: In Unix operating systems, :func:`time.sleep` now uses the
6847 - bpo-21302: On Windows, :func:`time.sleep` now uses a waitable timer which
6848 has a resolution of 100 nanoseconds (10\ :sup:`-7` seconds). Previously,
6849 it had a resolution of 1 millisecond (10\ :sup:`-3` seconds). Patch by
6852 - bpo-45238: Fix :meth:`unittest.IsolatedAsyncioTestCase.debug`: it runs now
6855 - bpo-36674: :meth:`unittest.TestCase.debug` raises now a
6859 - bpo-45235: Fix an issue where argparse would not preserve values in a
6862 - bpo-45183: Have zipimport.zipimporter.find_spec() not raise an exception
6866 - bpo-45234: Fixed a regression in :func:`~shutil.copyfile`,
6871 - bpo-45228: Fix stack buffer overflow in parsing J1939 network address.
6873 - bpo-45225: use map function instead of genexpr in capwords.
6875 - bpo-42135: Fix typo: ``importlib.find_loader`` is really slated for
6880 - bpo-20524: Improves error messages on ``.format()`` operation for ``str``,
6884 - bpo-45168: Change :func:`dis.dis` output to omit op arg values that cannot
6889 - bpo-21302: In Unix operating systems, :func:`time.sleep` now uses the
6893 - bpo-45173: Remove from the :mod:`configparser` module: the
6900 - bpo-44987: Pure ASCII strings are now normalized in constant time by
6901 :func:`unicodedata.normalize`. Patch by Dong-hee Na.
6903 - bpo-35474: Calling :func:`mimetypes.guess_all_extensions` with
6908 - bpo-45166: :func:`typing.get_type_hints` now works with
6911 - bpo-45162: Remove many old deprecated :mod:`unittest` features:
6918 - bpo-38371: Remove the deprecated ``split()`` method of
6921 - bpo-20499: Improve the speed and accuracy of statistics.pvariance().
6923 - bpo-45132: Remove :meth:`__getitem__` methods of
6929 - bpo-45129: Due to significant security concerns, the *reuse_address*
6936 - bpo-45124: The ``bdist_msi`` command, deprecated in Python 3.9, is now
6943 - bpo-30856: :class:`unittest.TestResult` methods
6951 - bpo-45034: Changes how error is formatted for ``struct.pack`` with ``'H'``
6955 - bpo-25894: :mod:`unittest` now always reports skipped and failed subtests
6960 - bpo-45081: Fix issue when dataclasses that inherit from
6964 - bpo-45085: The ``binhex`` module, deprecated in Python 3.9, is now
6975 - bpo-40360: The :mod:`lib2to3` package is now deprecated and may not be
6979 - bpo-45075: Rename :meth:`traceback.StackSummary.format_frame` to
6985 - bpo-31299: Add option to completely drop frames from a traceback by
6989 - bpo-41620: :meth:`~unittest.TestCase.run` now always return a
6993 - bpo-45021: Fix a potential deadlock at shutdown of forked children when
6996 - bpo-43913: Fix bugs in cleaning up classes and modules in :mod:`unittest`:
7005 - bpo-45030: Fix integer overflow in pickling and copying the range
7008 - bpo-45001: Made email date parsing more robust against malformed input,
7009 namely a whitespace-only ``Date:`` header. Patch by Wouter Bolsterlee.
7011 - bpo-45010: Remove support of special method ``__div__`` in
7014 - bpo-39218: Improve accuracy of variance calculations by using ``x*x``
7017 - bpo-43613: Improve the speed of :func:`gzip.compress` and
7021 - bpo-37596: Ensure that :class:`set` and :class:`frozenset` objects are
7024 - bpo-44019: A new function ``operator.call`` has been added, such that
7027 - bpo-42255: :class:`webbrowser.MacOSX` is deprecated and will be removed in
7029 webbrowser itself. Patch by Dong-hee Na.
7031 - bpo-44955: Method :meth:`~unittest.TestResult.stopTestRun` is now always
7037 - bpo-39039: tarfile.open raises :exc:`~tarfile.ReadError` when a zlib error
7040 - bpo-44935: :mod:`subprocess` on Solaris now also uses
7043 - bpo-44911: :class:`~unittest.IsolatedAsyncioTestCase` will no longer throw
7046 - bpo-41322: Added ``DeprecationWarning`` for tests and async tests that
7050 - bpo-44524: Make exception message more useful when subclass from typing
7053 - bpo-38956: :class:`argparse.BooleanOptionalAction`'s default value is no
7057 - bpo-44860: Fix the ``posix_user`` scheme in :mod:`sysconfig` to not depend
7060 - bpo-44859: Improve error handling in :mod:`sqlite3` and raise more
7063 …:`sqlite3.Warning` when memory is not enough for encoding a statement to UTF-8 in ``Connection.__c…
7065 …* :exc:`TypeError` is now raised instead of :exc:`ValueError` for non-string script argument in ``…
7070 - bpo-44581: Upgrade bundled pip to 21.2.3 and setuptools to 57.4.0
7072 - bpo-44849: Fix the :func:`os.set_inheritable` function on FreeBSD 14 for
7077 - bpo-44605: The @functools.total_ordering() decorator now works with
7080 - bpo-44524: Fixed an issue wherein the ``__name__`` and ``__qualname__``
7083 - bpo-44839: :class:`MemoryError` raised in user-defined functions will now
7088 - bpo-44822: :mod:`sqlite3` user-defined functions and aggregators returning
7092 - bpo-44801: Ensure that the :class:`~typing.ParamSpec` variable in Callable
7096 - bpo-44806: Non-protocol subclasses of :class:`typing.Protocol` ignore now
7099 - bpo-27275: :meth:`collections.OrderedDict.popitem` and
7103 - bpo-44793: Fix checking the number of arguments when subscribe a generic
7106 - bpo-44784: In importlib.metadata tests, override warnings behavior under
7109 - bpo-44667: The :func:`tokenize.tokenize` doesn't incorrectly generate a
7114 - bpo-44771: Added ``importlib.simple`` module implementing adapters from a
7115 low-level resources reader interface to a ``TraversableResources``
7121 - bpo-44752: :mod:`rcompleter` does not call :func:`getattr` on
7122 :class:`property` objects to avoid the side-effect of evaluating the
7125 - bpo-44747: Refactor usage of ``sys._getframe`` in ``typing`` module. Patch
7128 - bpo-42378: Fixes the issue with log file being overwritten when
7133 - bpo-44720: ``weakref.proxy`` objects referencing non-iterators now raise
7137 - bpo-44704: The implementation of ``collections.abc.Set._hash()`` now
7140 - bpo-44666: Fixed issue in :func:`compileall.compile_file` when
7143 - bpo-44688: :meth:`sqlite3.Connection.create_collation` now accepts
7144 non-ASCII collation names. Patch by Erlend E. Aasland.
7146 - bpo-44690: Adopt *binacii.a2b_base64*'s strict mode in *base64.b64decode*.
7148 - bpo-42854: Fixed a bug in the :mod:`_ssl` module that was throwing
7153 - bpo-44686: Replace ``unittest.mock._importer`` with
7156 - bpo-44353: Make ``NewType.__call__`` faster by implementing it in C. Patch
7159 - bpo-44682: Change the :mod:`pdb` *commands* directive to disallow setting
7162 - bpo-44353: Refactor ``typing.NewType`` from function into callable class.
7165 - bpo-44678: Added a separate error message for discontinuous padding in
7168 - bpo-44524: Add missing ``__name__`` and ``__qualname__`` attributes to
7171 - bpo-40897: Give priority to using the current class constructor in
7174 - bpo-44638: Add a reference to the zipp project and hint as to how to use
7177 - bpo-44648: Fixed wrong error being thrown by :func:`inspect.getsource`
7182 - bpo-44608: Fix memory leak in :func:`_tkinter._flatten` if it is called
7185 - bpo-44594: Fix an edge case of :class:`ExitStack` and
7190 - bpo-42799: In :mod:`fnmatch`, the cache size for compiled regex patterns
7195 - bpo-41928: Update :func:`shutil.copyfile` to raise
7200 - bpo-44569: Added the :func:`StackSummary.format_frame` function in
7202 are formatted in tracebacks without re-implementing logic to handle
7205 - bpo-44566: handle StopIteration subclass raised from
7208 - bpo-44558: Make the implementation consistency of
7209 :func:`~operator.indexOf` between C and Python versions. Patch by Dong-hee
7212 - bpo-41249: Fixes ``TypedDict`` to work with ``typing.get_type_hints()``
7215 - bpo-44554: Refactor argument processing in :func:`pdb.main` to simplify
7219 - bpo-34798: Break up paragraph about :class:`pprint.PrettyPrinter`
7222 - bpo-44539: Added support for recognizing JPEG files without JFIF or Exif
7225 - bpo-44461: Fix bug with :mod:`pdb`'s handling of import error due to a
7228 - bpo-43625: Fix a bug in the detection of CSV file headers by
7231 - bpo-44516: Update vendored pip to 21.1.3
7233 - bpo-42892: Fixed an exception thrown while parsing a malformed multipart
7236 - bpo-44468: :func:`typing.get_type_hints` now finds annotations in classes
7240 - bpo-44491: Allow clearing the :mod:`sqlite3` authorizer callback by
7244 - bpo-43977: Set the proper :const:`Py_TPFLAGS_MAPPING` and
7249 - bpo-44482: Fix very unlikely resource leak in :mod:`glob` in alternate
7252 - bpo-44466: The :mod:`faulthandler` module now detects if a fatal error
7255 - bpo-44471: A :exc:`TypeError` is now raised instead of an
7261 - bpo-44404: :mod:`tkinter`'s ``after()`` method now supports callables
7264 - bpo-41546: Make :mod:`pprint` (like the builtin ``print``) not attempt to
7267 - bpo-44458: ``BUFFER_BLOCK_SIZE`` is now declared static, to avoid linking
7270 - bpo-44464: Remove exception for flake8 in deprecated importlib.metadata
7273 - bpo-44446: Take into account that ``lineno`` might be ``None`` in
7276 - bpo-44439: Fix in :meth:`bz2.BZ2File.write` / :meth:`lzma.LZMAFile.write`
7280 - bpo-44434: _thread.start_new_thread() no longer calls
7286 - bpo-42972: The _thread.RLock type now fully implement the GC protocol: add
7290 - bpo-44422: The :func:`threading.enumerate` function now uses a reentrant
7293 - bpo-38291: Importing typing.io or typing.re now prints a
7296 - bpo-37880: argparse actions store_const and append_const each receive a
7300 - bpo-44389: Fix deprecation of :data:`ssl.OP_NO_TLSv1_3`
7302 - bpo-27827: :meth:`pathlib.PureWindowsPath.is_reserved` now identifies a
7306 - bpo-44395: Fix :meth:`~email.message.MIMEPart.as_string` to pass unixfrom
7307 properly. Patch by Dong-hee Na.
7309 - bpo-34266: Handle exceptions from parsing the arg of :mod:`pdb`'s
7312 - bpo-44362: Improve :mod:`ssl` module's deprecation messages, error
7315 - bpo-44342: [Enum] Change pickling from by-value to by-name.
7317 - bpo-44356: [Enum] Allow multiple data-type mixins if they are all the
7320 - bpo-44351: Restore back :func:`parse_makefile` in
7324 - bpo-35800: :class:`smtpd.MailmanProxy` is now removed as it is unusable
7325 without an external module, ``mailman``. Patch by Dong-hee Na.
7327 - bpo-44357: Added a function that returns cube root of the given number
7330 - bpo-44339: Change ``math.pow(±0.0, -math.inf)`` to return ``inf`` instead
7331 of raising ``ValueError``. This brings the special-case handling of
7334 - bpo-44242: Remove missing flag check from Enum creation and move into a
7337 - bpo-44246: In ``importlib.metadata``, restore compatibility in the result
7341 ``sort()`` and other list-based mutation operations. Avoid deprecation
7347 - bpo-44246: In importlib.metadata.entry_points, de-duplication of
7352 - bpo-43858: Added a function that returns a copy of a dict of logging
7355 - bpo-44260: The :class:`random.Random` constructor no longer reads system
7358 - bpo-44254: On Mac, give turtledemo button text a color that works on both
7361 - bpo-44258: Support PEP 515 for Fraction's initialization from string.
7363 - bpo-44235: Remove deprecated functions in the :mod:`gettext`. Patch by
7364 Dong-hee Na.
7366 - bpo-38693: Prefer f-strings to ``.format`` in importlib.resources.
7368 - bpo-33693: Importlib.metadata now prefers f-strings to .format.
7370 - bpo-44241: Incorporate minor tweaks from importlib_metadata 4.1:
7373 - bpo-43216: Remove the :func:`@asyncio.coroutine <asyncio.coroutine>`
7374 :term:`decorator` enabling legacy generator-based coroutines to be
7381 - bpo-44210: Make importlib.metadata._meta.PackageMetadata public.
7383 - bpo-43643: Declare readers.MultiplexedPath.name as a property per the
7386 - bpo-27334: The :mod:`sqlite3` context manager now performs a rollback
7390 - bpo-4928: Documented existing behavior on POSIX: NamedTemporaryFiles are
7393 - bpo-44154: Optimize :class:`fractions.Fraction` pickling for large
7396 - bpo-33433: For IPv4 mapped IPv6 addresses (:rfc:`4291` Section 2.5.5.2),
7401 - bpo-44150: Add optional *weights* argument to statistics.fmean().
7403 - bpo-44142: :func:`ast.unparse` will now drop the redundant parentheses
7406 - bpo-44145: :mod:`hmac` computations were not releasing the GIL while
7411 - bpo-44095: :class:`zipfile.Path` now supports :attr:`zipfile.Path.stem`,
7414 - bpo-44077: It's now possible to receive the type of service (ToS), a.k.a.
7419 - bpo-37788: Fix a reference leak when a Thread object is never joined.
7421 - bpo-38908: Subclasses of ``typing.Protocol`` which only have data
7426 - bpo-44098: ``typing.ParamSpec`` will no longer be found in the
7432 - bpo-44089: Allow subclassing ``csv.Error`` in 3.10 (it was allowed in 3.9
7435 - bpo-44081: :func:`ast.unparse` now doesn't use redundant spaces to
7438 - bpo-44061: Fix regression in previous release when calling
7441 - bpo-44059: Register the SerenityOS Browser in the :mod:`webbrowser`
7444 - bpo-36515: The :mod:`hashlib` module no longer does unaligned memory
7447 - bpo-40465: Remove random module features deprecated in Python 3.9.
7449 - bpo-44018: random.seed() no longer mutates bytearray inputs.
7451 - bpo-38352: Add ``IO``, ``BinaryIO``, ``TextIO``, ``Match``, and
7454 - bpo-44002: :mod:`urllib.parse` now uses :func:`functool.lru_cache` for its
7461 - bpo-43972: When :class:`http.server.SimpleHTTPRequestHandler` sends a
7463 a ``Content-Length: 0`` header. This improves the behavior for certain
7466 - bpo-28528: Fix a bug in :mod:`pdb` where :meth:`~pdb.Pdb.checkline` raises
7469 - bpo-43853: Improved string handling for :mod:`sqlite3` user-defined
7477 - bpo-43666: AIX: `Lib/_aix_support.get_platform()` may fail in an AIX WPAR.
7483 - bpo-43650: Fix :exc:`MemoryError` in :func:`shutil.unpack_archive` which
7487 - bpo-43612: :func:`zlib.compress` now accepts a wbits parameter which
7493 - bpo-43392: :func:`importlib._bootstrap._find_and_load` now implements a
7494 two-step check to avoid locking when modules have been already imported
7498 - bpo-43318: Fix a bug where :mod:`pdb` does not always echo cleared
7501 - bpo-43234: Prohibit passing
7502 non-:class:`concurrent.futures.ThreadPoolExecutor` executors to
7506 - bpo-43232: Prohibit previously deprecated potentially disruptive
7510 - bpo-30077: Added support for Apple's aifc/sowt pseudo-compression
7512 - bpo-42971: Add definition of ``errno.EQFULL`` for platforms that define
7515 - bpo-43086: Added a new optional :code:`strict_mode` parameter to
7521 - bpo-43024: Improve the help signature of
7525 - bpo-33809: Add the :meth:`traceback.TracebackException.print` method which
7528 - bpo-42862: :mod:`sqlite3` now utilizes :meth:`functools.lru_cache` to
7533 - bpo-41818: Soumendra Ganguly: add termios.tcgetwinsize(),
7536 - bpo-40497: :meth:`subprocess.check_output` now raises :exc:`ValueError`
7541 - bpo-37449: ``ensurepip`` now uses ``importlib.resources.files()``
7544 - bpo-40956: Use Argument Clinic in :mod:`sqlite3`. Patches by Erlend E.
7547 - bpo-41730: ``DeprecationWarning`` is now raised when importing
7551 - bpo-20684: Remove unused ``_signature_get_bound_param`` function from
7552 :mod:`inspect` - by Anthony Sottile.
7554 - bpo-41402: Fix :meth:`email.message.EmailMessage.set_content` when called
7557 - bpo-32695: The *compresslevel* and *preset* keyword arguments of
7560 - bpo-41137: Use utf-8 encoding while reading .pdbrc files. Patch by
7563 - bpo-24391: Improved reprs of :mod:`threading` synchronization objects:
7567 - bpo-5846: Deprecated the following :mod:`unittest` functions, scheduled
7582 - bpo-40563: Support pathlike objects on dbm/shelve. Patch by Hakan Çelik
7583 and Henry-Joseph Audéoud.
7585 - bpo-34990: Fixed a Y2k38 bug in the compileall module where it would fail
7588 - bpo-39549: Whereas the code for reprlib.Repr had previously used a
7593 - bpo-37022: :mod:`pdb` now displays exceptions from ``repr()`` with its
7596 - bpo-38840: Fix ``test___all__`` on platforms lacking a shared memory
7599 - bpo-39359: Add one missing check that the password is a bytes object for
7602 - bpo-38741: :mod:`configparser`: using ']' inside a section header will no
7605 - bpo-38415: Added missing behavior to
7610 - bpo-30256: Pass multiprocessing BaseProxy argument ``manager_owned``
7613 - bpo-27513: :func:`email.utils.getaddresses` now accepts
7617 - bpo-16379: Add SQLite error code and name to :mod:`sqlite3` exceptions.
7620 - bpo-26228: pty.spawn no longer hangs on FreeBSD, macOS, and Solaris.
7622 - bpo-33349: lib2to3 now recognizes async generators everywhere.
7624 - bpo-29298: Fix ``TypeError`` when required subparsers without ``dest`` do
7628 -------------
7630 - bpo-45216: Remove extra documentation listing methods in ``difflib``. It
7633 - bpo-45024: :mod:`collections.abc` documentation has been expanded to
7639 - bpo-44957: Promote PEP 604 union syntax by using it where possible. Also,
7643 - bpo-16580: Added code equivalents for the :meth:`int.to_bytes` and
7647 - bpo-44903: Removed the othergui.rst file, any references to it, and the
7652 - bpo-33479: Tkinter documentation has been greatly expanded with new
7655 - bpo-36700: :mod:`base64` RFC references were updated to point to
7659 - bpo-44740: Replaced occurrences of uppercase "Web" and "Internet" with
7662 - bpo-44693: Update the definition of __future__ in the glossary by
7663 replacing the confusing word "pseudo-module" with a more accurate
7666 - bpo-35183: Add typical examples to os.path.splitext docs
7668 - bpo-30511: Clarify that :func:`shutil.make_archive` is not thread-safe due
7671 - bpo-44561: Update of three expired hyperlinks in
7675 - bpo-44651: Delete entry "coercion" in Doc/glossary.rst for its outdated
7678 - bpo-42958: Updated the docstring and docs of :func:`filecmp.cmp` to be
7681 - bpo-44631: Refactored the ``repr()`` code of the ``_Environ`` (os module).
7683 - bpo-44613: importlib.metadata is no longer provisional.
7685 - bpo-44558: Match the docstring and python implementation of
7688 - bpo-44544: List all kwargs for :func:`textwrap.wrap`,
7693 - bpo-38062: Clarify that atexit uses equality comparisons internally.
7695 - bpo-40620: Convert examples in tutorial controlflow.rst section 4.3 to be
7696 interpreter-demo style.
7698 - bpo-43066: Added a warning to :mod:`zipfile` docs: filename arg with a
7699 leading slash may cause archive to be un-openable on Windows systems.
7701 - bpo-39452: Rewrote ``Doc/library/__main__.rst``. Broadened scope of the
7706 - bpo-13814: In the Design FAQ, answer "Why don't generators support the
7709 - bpo-27752: Documentation of csv.Dialect is more descriptive.
7711 - bpo-44453: Fix documentation for the return type of
7714 - bpo-44392: Added a new section in the C API documentation for types used
7718 - bpo-38291: Mark ``typing.io`` and ``typing.re`` as deprecated since Python
7722 - bpo-44322: Document that SyntaxError args have a details tuple and that
7723 details are adjusted for errors in f-string field replacement expressions.
7725 - bpo-42392: Document the deprecation and removal of the ``loop`` parameter
7728 - bpo-44195: Corrected references to ``TraversableResources`` in docs. There
7731 - bpo-41963: Document that ``ConfigParser`` strips off comments when reading
7734 - bpo-44072: Correct where in the numeric ABC hierarchy ``**`` support is
7737 - bpo-43558: Add the remark to :mod:`dataclasses` documentation that the
7741 - bpo-44025: Clarify when '_' in match statements is a keyword, and when
7744 - bpo-41706: Fix docs about how methods like ``__add__`` are invoked when
7747 - bpo-41621: Document that :class:`collections.defaultdict` parameter
7748 ``default_factory`` defaults to None and is positional-only.
7750 - bpo-41576: document BaseException in favor of bare except
7752 - bpo-21760: The description for __file__ fixed. Patch by Furkan Onder
7754 - bpo-39498: Add a "Security Considerations" index which links to standard
7757 - bpo-33479: Remove the unqualified claim that tkinter is threadsafe. It has
7763 -----
7765 - bpo-40173: Fix :func:`test.support.import_helper.import_fresh_module`.
7767 - bpo-45280: Add a test case for empty :class:`typing.NamedTuple`.
7769 - bpo-45269: Cover case when invalid ``markers`` type is supplied to
7772 - bpo-45128: Fix ``test_multiprocessing_fork`` failure due to
7775 - bpo-45209: Fix ``UserWarning: resource_tracker`` warning in
7778 - bpo-45185: Enables ``TestEnumerations`` test cases in ``test_ssl`` suite.
7780 - bpo-45195: Fix test_readline.test_nonascii(): sometimes, the newline
7784 - bpo-45156: Fixes infinite loop on :func:`unittest.mock.seal` of mocks
7787 - bpo-45125: Improves pickling tests and docs of ``SharedMemory`` and
7790 - bpo-44860: Update ``test_sysconfig.test_user_similar()`` for the
7794 - bpo-45052: ``WithProcessesTestSharedMemory.test_shared_memory_basics``
7802 - bpo-44895: libregrtest now clears the type cache later to reduce the risk
7808 - bpo-45042: Fixes that test classes decorated with
7811 - bpo-25130: Add calls of :func:`gc.collect` in tests to support PyPy.
7813 - bpo-45011: Made tests relying on the :mod:`_asyncio` C extension module
7817 - bpo-44949: Fix auto history tests of test_readline: sometimes, the newline
7820 - bpo-44891: Tests were added to clarify :func:`id` is preserved when ``obj
7824 - bpo-44852: Add ability to wholesale silence DeprecationWarnings while
7827 - bpo-40928: Notify users running test_decimal regression tests on macOS of
7831 - bpo-44734: Fixed floating point precision issue in turtle tests.
7833 - bpo-44708: Regression tests, when run with -w, are now re-running only the
7834 affected test methods instead of re-running the entire test file.
7836 - bpo-42095: Added interop tests for Apple plists: generate plist files with
7839 - bpo-44647: Added a permanent Unicode-valued environment variable to
7844 - bpo-44515: Adjust recently added contextlib tests to avoid assuming the
7847 - bpo-44287: Fix asyncio test_popen() of test_windows_utils by using a
7848 longer timeout. Use military grade battle-tested
7853 - bpo-44451: Reset ``DeprecationWarning`` filters in
7857 - bpo-44363: Account for address sanitizer in test_capi. test_capi now
7860 - bpo-44364: Add non integral tests for :func:`math.sqrt` function.
7862 - bpo-43921: Fix test_ssl.test_wrong_cert_tls13(): use
7866 - bpo-43921: Fix test_pha_required_nocert() of test_ssl: catch two more EOF
7870 - bpo-44131: Add test_frozenmain to test_embed to test the
7873 - bpo-31904: Ignore error string case in test_file_not_exists().
7875 - bpo-42083: Add test to check that ``PyStructSequence_NewType`` accepts a
7878 - bpo-35753: Fix crash in doctest when doctest parses modules that include
7881 - bpo-30256: Add test for nested queues when using ``multiprocessing``
7885 -----
7887 - bpo-45220: Avoid building with the Windows 11 SDK previews automatically.
7891 - bpo-45020: Freeze stdlib modules that are imported during startup. This
7893 use the previously added "-X frozen_modules=off" commandline option to
7896 - bpo-45188: Windows builds now regenerate frozen modules as the first part
7900 - bpo-45163: Fixes Haiku platform build.
7902 - bpo-45067: The ncurses function extended_color_content was introduced in
7905 (https://invisible-island.net/ncurses/NEWS.html#index-t20170401). The
7907 ncurses-devel package in CentOS 7 had a older version ncurses resulted in
7911 - bpo-45019: Generate lines in relevant files for frozen modules. Up until
7915 - bpo-44340: Add support for building with clang thin lto via
7916 --with-lto=thin/full. Patch by Dong-hee Na and Brett Holman.
7918 - bpo-44535: Enable building using a Visual Studio 2022 install on Windows.
7920 - bpo-43298: Improved error message when building without a Windows SDK
7923 - bpo-44381: The Windows build now accepts :envvar:`EnableControlFlowGuard`
7926 - bpo-41282: Fix broken ``make install`` that caused standard library
7931 -------
7933 - bpo-45375: Fixes an assertion failure due to searching for the standard
7936 - bpo-45022: Update Windows release to include libffi 3.4.2
7938 - bpo-45007: Update to OpenSSL 1.1.1l in Windows build
7940 - bpo-44848: Upgrade Windows installer to use SQLite 3.36.0.
7942 - bpo-44572: Avoid consuming standard input in the :mod:`platform` module
7944 - bpo-44582: Accelerate speed of :mod:`mimetypes` initialization using a
7947 - bpo-41299: Fix 16 milliseconds jitter when using timeouts in
7951 - bpo-42686: Build :mod:`sqlite3` with math functions enabled. Patch by
7954 - bpo-40263: This is a follow-on bug from
7956 off-by-one assertion problem. The assert was not correct.
7959 -----
7961 - bpo-45007: Update macOS installer builds to use OpenSSL 1.1.1l.
7963 - bpo-34602: When building CPython on macOS with ``./configure
7964 --with-undefined-behavior-sanitizer --with-pydebug``, the stack size is
7967 - bpo-44848: Update macOS installer to use SQLite 3.36.0.
7969 - bpo-44689: :meth:`ctypes.util.find_library` now works correctly on macOS
7975 - bpo-41972: The framework build's user header path in sysconfig is changed
7978 - bpo-43109: Allow --with-lto configure option to work with Apple-supplied
7981 - bpo-34932: Add socket.TCP_KEEPALIVE support for macOS. Patch by Shane
7985 ----
7987 - bpo-45296: On Windows, change exit/quit message to suggest Ctrl-D, which
7988 works, instead of <Ctrl-Z Return>, which does not work in IDLE.
7990 - bpo-45193: Make completion boxes appear on Ubuntu again.
7992 - bpo-40128: Mostly fix completions on macOS when not using tcl/tk 8.6.11
7996 - bpo-33962: Move the indent space setting from the Font tab to the new
7999 - bpo-40468: Split the settings dialog General tab into Windows and Shell/ED
8004 - bpo-41611: Avoid uncaught exceptions in
8007 - bpo-41611: Fix IDLE sometimes freezing upon tab-completion on macOS.
8009 - bpo-44010: Highlight the new :ref:`match <match>` statement's :ref:`soft
8010 keywords <soft-keywords>`: :keyword:`match`, :keyword:`case <match>`, and
8011 :keyword:`_ <wildcard-patterns>`. However, this highlighting is not
8012 perfect and will be incorrect in some rare cases, including some ``_``-s
8015 - bpo-44026: Include interpreter's typo fix suggestions in message line for
8019 -----------
8021 - bpo-44786: Fix a warning in regular expression in the c-analyzer script.
8023 - bpo-44967: pydoc now returns a non-zero status code when a module cannot
8026 - bpo-44978: Allow the Argument Clinic tool to handle ``__complex__``
8029 - bpo-43425: Removed the 'test2to3' demo project that demonstrated using
8031 distutils package. Patch by Dong-hee Na
8033 - bpo-44074: Make patchcheck automatically detect the correct base branch
8036 - bpo-20291: Added support for variadic positional parameters in Argument
8040 -----
8042 - bpo-41710: The PyThread_acquire_lock_timed() function now clamps the
8046 - bpo-44687: :meth:`BufferedReader.peek` no longer raises :exc:`ValueError`
8049 - bpo-45116: Add the :c:macro:`Py_ALWAYS_INLINE` macro to ask the compiler
8053 - bpo-45094: Add the :c:macro:`Py_NO_INLINE` macro to disable inlining on a
8056 - bpo-45061: Add a deallocator to the :class:`bool` type to detect refcount
8060 - bpo-42035: Add a new :c:func:`PyType_GetQualName` function to get type's
8063 - bpo-41103: Reverts removal of the old buffer protocol because they are
8066 - bpo-44751: Remove ``crypt.h`` include from the public ``Python.h`` header.
8068 - bpo-42747: The ``Py_TPFLAGS_HAVE_VERSION_TAG`` type flag now does nothing.
8073 - bpo-44530: Added the ``co_qualname`` to the ``PyCodeObject`` structure to
8078 - bpo-44441: :c:func:`Py_RunMain` now resets :c:data:`PyImport_Inittab` to
8083 - bpo-39947: Remove 4 private trashcan C API functions which were only kept
8098 ``_tstate->trash_delete_nesting``, whereas the :c:type:`PyThreadState`
8105 - bpo-40939: Removed documentation for the removed ``PyParser_*`` C API.
8107 - bpo-43795: The list in :ref:`stable-abi-list` now shows the public name
8108 :c:struct:`PyFrameObject` rather than ``_frame``. The non-existing entry
8111 - bpo-44378: :c:func:`Py_IS_TYPE` no longer uses :c:func:`Py_TYPE` to avoid
8115 - bpo-39573: Convert the :c:func:`Py_TYPE` and :c:func:`Py_SIZE` macros to
8120 - bpo-44263: The :c:func:`PyType_Ready` function now raises an error if a
8125 - bpo-43795: The undocumented function :c:func:`Py_FrozenMain` is removed
8128 - bpo-44113: Deprecate the following functions to configure the Python
8142 Configuration <init-config>` instead (:pep:`587`).
8144 - bpo-44094: Remove ``PyErr_SetFromErrnoWithUnicodeFilename()``,
8149 - bpo-43795: :c:func:`PyCodec_Unregister` is now properly exported as a
8152 - bpo-44029: Remove deprecated ``Py_UNICODE`` APIs: ``PyUnicode_Encode``,
8162 - bpo-42035: Add a new :c:func:`PyType_GetName` function to get type's short
8169 *Release date: 2021-05-03*
8172 --------
8174 - bpo-43434: Creating :class:`sqlite3.Connection` objects now also produces
8179 - bpo-43998: The :mod:`ssl` module sets more secure cipher suites defaults.
8180 Ciphers without forward secrecy and with SHA-1 MAC are disabled by
8186 - bpo-43882: The presence of newline or tab characters in parts of a URL
8193 - bpo-43472: Ensures interpreter-level audit hooks receive the
8197 - bpo-43362: Fix invalid free in _sha3 module. The issue was introduced in
8200 - bpo-43762: Add audit events for :func:`sqlite3.connect/handle`,
8204 - bpo-43756: Add new audit event ``glob.glob/2`` to incorporate the new
8208 - bpo-36384: :mod:`ipaddress` module no longer accepts any leading zeros in
8216 - bpo-43075: Fix Regular Expression Denial of Service (ReDoS) vulnerability
8217 in :class:`urllib.request.AbstractBasicAuthHandler`. The ReDoS-vulnerable
8218 regex has quadratic worst-case complexity and it allows cause a denial of
8222 - bpo-42800: Audit hooks are now fired for frame.f_code, traceback.tb_frame,
8225 - bpo-37363: Add audit events to the :mod:`http.client` module.
8228 -----------------
8230 - bpo-43977: Prevent classes being both a sequence and a mapping when
8233 - bpo-43977: Use :c:member:`~PyTypeObject.tp_flags` on the class object to
8237 - bpo-43892: Restore proper validation of complex literal value patterns
8240 - bpo-43933: Set frame.f_lineno to the line number of the 'with' kweyword
8243 - bpo-43933: If the current position in a frame has no line number then set
8244 the f_lineno attribute to None, instead of -1, to conform to PEP 626. This
8248 - bpo-43963: Importing the :mod:`_signal` module in a subinterpreter has no
8251 - bpo-42739: The internal representation of line number tables is changed to
8256 - bpo-43908: Make :mod:`re` types immutable. Patch by Erlend E. Aasland.
8258 - bpo-43908: Make the :class:`array.array` type immutable. Patch by Erlend
8261 - bpo-43901: Change class and module objects to lazy-create empty
8265 - bpo-43892: Match patterns now use new dedicated AST nodes (``MatchValue``,
8271 - bpo-42725: Usage of ``await``/``yield``/``yield from`` and named
8275 - bpo-43754: When performing structural pattern matching (:pep:`634`),
8279 - bpo-42737: Annotations for complex targets (everything beside simple
8283 - bpo-43914: :exc:`SyntaxError` exceptions raised by the interpreter will
8288 - bpo-38605: Revert making ``from __future__ import annotations`` the
8292 …https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHK…
8295 - bpo-43475: Hashes of NaN values now depend on object identity. Formerly,
8297 another. Having the same hash for unequal values caused pile-ups in hash
8300 - bpo-43859: Improve the error message for :exc:`IndentationError`
8303 - bpo-41323: Constant tuple folding in bytecode optimizer now reuses tuple
8306 - bpo-43846: Data stack usage is much reduced for large literal and call
8309 - bpo-38530: When printing :exc:`NameError` raised by the interpreter,
8313 - bpo-43823: Improve syntax errors for invalid dictionary literals. Patch by
8316 - bpo-43822: Improve syntax errors in the parser for missing commas between
8319 - bpo-43798: :class:`ast.alias` nodes now include source location metadata
8322 - bpo-43797: Improve ``SyntaxError`` error messages for invalid comparisons.
8325 - bpo-43760: Move the flag for checking whether tracing is enabled to the C
8328 - bpo-43682: Static methods (:func:`@staticmethod <staticmethod>`) and class
8334 - bpo-43751: Fixed a bug where ``anext(ait, default)`` would erroneously
8337 - bpo-42128: :data:`~object.__match_args__` is no longer allowed to be a
8340 - bpo-43683: Add GEN_START opcode. Marks start of generator, including
8344 - bpo-43105: Importlib now resolves relative paths when creating module spec
8347 - bpo-43682: Static methods (:func:`@staticmethod <staticmethod>`) are now
8350 - bpo-42609: Prevented crashes in the AST validator and optimizer when
8354 - bpo-38530: When printing :exc:`AttributeError`, :c:func:`PyErr_Display`
8359 -------
8361 - bpo-44015: In @dataclass(), raise a TypeError if KW_ONLY is specified more
8364 - bpo-25478: Added a *total()* method to collections.Counter() to compute
8367 - bpo-43733: Change :class:`netrc.netrc` to use UTF-8 encoding before using
8370 - bpo-43979: Removed an unnecessary list comprehension before looping from
8371 :func:`urllib.parse.parse_qsl`. Patch by Christoph Zwerschke and Dong-hee
8374 - bpo-43993: Update bundled pip to 21.1.1.
8376 - bpo-43957: [Enum] Deprecate ``TypeError`` when non-member is used in a
8381 - bpo-42904: For backwards compatibility with previous minor versions of
8387 - bpo-43945: [Enum] Deprecate non-standard mixin format() behavior: in 3.12
8390 - bpo-41139: Deprecate undocumented ``cgi.log()`` API.
8392 - bpo-43937: Fixed the :mod:`turtle` module working with non-default root
8395 - bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0
8397 - bpo-43907: Fix a bug in the pure-Python pickle implementation when using
8402 - bpo-43926: In ``importlib.metadata``, provide a uniform interface to
8405 property for easy access to the PEP 566 JSON-compatible form. Sync with
8408 - bpo-43920: OpenSSL 3.0.0: :meth:`~ssl.SSLContext.load_verify_locations`
8412 - bpo-43607: :mod:`urllib` can now convert Windows paths with ``\\?\``
8415 - bpo-43817: Add :func:`inspect.get_annotations`, which safely computes the
8419 can also correctly un-stringize stringized annotations.
8424 :func:`inspect.from_callable` can now un-stringize stringized annotations,
8427 - bpo-43284: platform.win32_ver derives the windows version from
8434 - bpo-42854: The :mod:`ssl` module now uses ``SSL_read_ex`` and
8436 data larger than 2 GB. Writing zero-length data no longer fails with a
8439 - bpo-42333: Port ``_ssl`` extension module to multiphase initialization.
8441 - bpo-43880: :mod:`ssl` now raises DeprecationWarning for OP_NO_SSL/TLS*
8445 - bpo-41559: :pep:`612` is now implemented purely in Python; builtin
8452 - bpo-43867: The :mod:`multiprocessing` ``Server`` class now explicitly
8457 - bpo-40443: Remove unused imports: pyclbr no longer uses copy, and typing
8460 - bpo-43820: Remove an unneeded copy of the namespace passed to
8463 - bpo-43787: Add ``__iter__()`` method to :class:`bz2.BZ2File`,
8467 - bpo-43680: Deprecate io.OpenWrapper and _pyio.OpenWrapper: use io.open and
8470 set to a class variable. _io.open is a built-in function whereas
8474 - bpo-43680: The Python :func:`_pyio.open` function becomes a static method
8475 to behave as :func:`io.open` built-in function: don't become a bound
8481 - bpo-41515: Fix :exc:`KeyError` raised in :func:`typing.get_type_hints` due
8484 - bpo-43776: When :class:`subprocess.Popen` args are provided as a string or
8488 - bpo-42248: [Enum] ensure exceptions raised in ``_missing__`` are released
8490 - bpo-43744: fix issue with enum member name matching the start of a private
8493 - bpo-43772: Fixed the return value of ``TypeVar.__ror__``. Patch by Jelle
8496 - bpo-43764: Add match_args parameter to @dataclass decorator to allow
8499 - bpo-43799: OpenSSL 3.0.0: define ``OPENSSL_API_COMPAT`` 1.1.1 to suppress
8502 - bpo-43478: Mocks can no longer be used as the specs for other Mocks. As a
8503 result, an already-mocked object cannot have an attribute mocked using
8505 This can uncover bugs in tests since these Mock-derived Mocks will always
8509 - bpo-43794: Add :data:`ssl.OP_IGNORE_UNEXPECTED_EOF` constants (OpenSSL
8512 - bpo-43785: Improve ``bz2.BZ2File`` performance by removing the RLock from
8517 - bpo-43789: OpenSSL 3.0.0: Don't call the password callback function a
8520 - bpo-43788: The header files for :mod:`ssl` error codes are now OpenSSL
8521 version-specific. Exceptions will now show correct reason and library
8525 - bpo-43766: Implement :pep:`647` in the :mod:`typing` module by adding
8528 - bpo-25264: :func:`os.path.realpath` now accepts a *strict* keyword-only
8532 - bpo-43780: In ``importlib.metadata``, incorporate changes from
8533 importlib_metadata 3.10: Add mtime-based caching during distribution
8537 - The ``P.args`` and ``P.kwargs`` attributes of :class:`typing.ParamSpec`
8542 - bpo-43731: Add an ``encoding`` parameter :func:`logging.fileConfig()`.
8544 - bpo-43712: Add ``encoding`` and ``errors`` parameters to
8547 - bpo-38659: A ``simple_enum`` decorator is added to the ``enum`` module to
8552 - bpo-43764: Fix an issue where :data:`~object.__match_args__` generation
8555 - bpo-43752: Fix :mod:`sqlite3` regression for zero-sized blobs with
8559 - bpo-43655: :mod:`tkinter` dialog windows are now recognized as dialogs by
8562 - bpo-43723: The following ``threading`` methods are now deprecated and
8565 - ``currentThread`` => :func:`threading.current_thread`
8567 - ``activeCount`` => :func:`threading.active_count`
8569 - ``Condition.notifyAll`` => :meth:`threading.Condition.notify_all`
8571 - ``Event.isSet`` => :meth:`threading.Event.is_set`
8573 - ``Thread.setName`` => :attr:`threading.Thread.name`
8575 - ``thread.getName`` => :attr:`threading.Thread.name`
8577 - ``Thread.isDaemon`` => :attr:`threading.Thread.daemon`
8579 - ``Thread.setDaemon`` => :attr:`threading.Thread.daemon`
8583 - bpo-2135: Deprecate find_module() and find_loader() implementations in
8586 - bpo-43534: :func:`turtle.textinput` and :func:`turtle.numinput` create now
8589 - bpo-43532: Add the ability to specify keyword-only fields to dataclasses.
8590 These fields will become keyword-only arguments to the generated __init__.
8592 - bpo-43522: Fix problem with
8596 - bpo-8978: Improve error message for :func:`tarfile.open` when :mod:`lzma`
8599 - bpo-42967: Allow :class:`bytes` ``separator`` argument in
8603 - bpo-43296: Improve :mod:`sqlite3` error handling: ``sqlite3_value_blob()``
8607 - bpo-43312: New functions :func:`sysconfig.get_preferred_scheme` and
8611 - bpo-43265: Improve :meth:`sqlite3.Connection.backup` error handling. The
8612 error message for non-existent target database names is now ``unknown
8616 - bpo-41282: Install schemes in :mod:`distutils.command.install` are now
8619 - bpo-41282: :mod:`distutils.sysconfig` has been merged to :mod:`sysconfig`.
8621 - bpo-43176: Fixed processing of a dataclass that inherits from a frozen
8624 - bpo-43080: :mod:`pprint` now has support for
8627 - bpo-39950: Add `pathlib.Path.hardlink_to()` method that supersedes
8630 - bpo-42904: :func:`typing.get_type_hints` now checks the local namespace of
8633 - bpo-42269: Add ``slots`` parameter to ``dataclasses.dataclass`` decorator
8637 - bpo-39529: Deprecated use of :func:`asyncio.get_event_loop` without
8647 - bpo-18369: Certificate and PrivateKey classes were added to the ssl
8650 - bpo-41486: Use a new output buffer management code for :mod:`bz2` /
8655 - bpo-31870: The :func:`ssl.get_server_certificate` function now has a
8658 - bpo-41735: Fix thread locks in zlib module may go wrong in rare case.
8661 - bpo-36470: Fix dataclasses with ``InitVar``\s and
8664 - bpo-40849: Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag
8666 - bpo-35114: :func:`ssl.RAND_status` now returns a boolean value (as
8669 - bpo-39906: :meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now
8670 accept a *follow_symlinks* keyword-only argument for consistency with
8673 - bpo-39899: :func:`os.path.expanduser()` now refuses to guess Windows home
8682 - bpo-36076: Added SNI support to :func:`ssl.get_server_certificate`.
8684 - bpo-38490: Covariance, Pearson's correlation, and simple linear regression
8687 - bpo-33731: Provide a locale.localize() function, which converts a
8690 - bpo-32745: Fix a regression in the handling of ctypes'
8695 -------------
8697 - bpo-43987: Add "Annotations Best Practices" document as a new HOWTO.
8699 - bpo-43977: Document the new :const:`Py_TPFLAGS_MAPPING` and
8702 - bpo-43959: The documentation on the PyContextVar C-API was clarified.
8704 - bpo-43938: Update dataclasses documentation to express that
8707 - bpo-43778: Fix the Sphinx glossary_search extension: create the _static/
8708 sub-directory if it doesn't exist.
8710 - bpo-43755: Update documentation to reflect that unparenthesized lambda
8714 - bpo-43739: Fixing the example code in Doc/extending/extending.rst to
8718 -----
8720 - bpo-43961: Fix test_logging.test_namer_rotator_inheritance() on Windows:
8724 - bpo-43842: Fix a race condition in the SMTP test of test_logging. Don't
8728 - bpo-43843: :mod:`test.libregrtest` now marks a test as ENV_CHANGED
8731 ``--fail-env-changed`` option to mark the test as failed. Patch by Victor
8734 - bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache
8735 to speed up testing.
8737 - bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and
8741 -----
8743 - bpo-43567: Improved generated code refresh (AST/tokens/opcodes/keywords)
8746 - bpo-43669: Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or
8750 -------
8752 - bpo-35306: Adds additional arguments to :func:`os.startfile` function.
8754 - bpo-43538: Avoid raising errors from :meth:`pathlib.Path.exists()` when
8757 - bpo-38822: Fixed :func:`os.stat` failing on inaccessible directories with
8762 - bpo-26227: Fixed decoding of host names in :func:`socket.gethostbyaddr`
8765 - bpo-40432: Updated pegen regeneration script on Windows to find and use
8769 - bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. Earlier
8772 - bpo-43652: Update Tcl and Tk to 8.6.11 in Windows installer.
8774 - bpo-43492: Upgrade Windows installer to use SQLite 3.35.5.
8776 - bpo-30555: Fix ``WindowsConsoleIO`` errors in the presence of fd
8780 -----
8782 - bpo-42119: Fix check for macOS SDK paths when building Python. Narrow
8790 - bpo-43568: Drop support for MACOSX_DEPLOYMENT_TARGET < 10.3
8792 - bpo-44009: Provide "python3.x-intel64" executable to allow reliably
8793 forcing macOS universal2 framework builds to run under Rosetta 2 Intel-64
8794 emulation on Apple Silicon Macs. This can be useful for testing or when
8797 - bpo-43851: Build SQLite with ``SQLITE_OMIT_AUTOINIT`` on macOS. Patch by
8800 - bpo-43492: Update macOS installer to use SQLite 3.35.4.
8802 - bpo-42235: ``Mac/BuildScript/build-installer.py`` will now use
8803 "--enable-optimizations" and ``--with-lto`` when building on macOS 10.15
8807 ----
8809 - bpo-37903: Add mouse actions to the shell sidebar. Left click and
8815 - bpo-43981: Fix reference leak in test_sidebar and test_squeezer. Patches
8818 - bpo-37892: Indent IDLE Shell input with spaces instead of tabs
8820 - bpo-43655: IDLE dialog windows are now recognized as dialogs by window
8823 - bpo-37903: IDLE's shell now shows prompts in a separate side-bar.
8826 -----
8828 - bpo-43916: Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag
8831 - bpo-43774: Remove the now unused ``PYMALLOC_DEBUG`` macro. Debug hooks on
8837 - bpo-43962: _PyInterpreterState_IDIncref() now calls
8843 - bpo-28254: Add new C-API functions to control the state of the garbage
8848 - bpo-43908: Introduce :const:`Py_TPFLAGS_IMMUTABLETYPE` flag for immutable
8852 - bpo-43795: :c:func:`PyMem_Calloc` is now available in the limited C API
8855 - bpo-43868: :c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by
8859 - bpo-43795: Stable ABI and limited API definitions are generated from a
8862 - bpo-43753: Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the
8873 *Release date: 2021-04-05*
8876 --------
8878 - bpo-42988: CVE-2021-3426: Remove the ``getfile`` feature of the
8884 - bpo-43285: :mod:`ftplib` no longer trusts the IP address value returned
8891 instances to ``True`` to re-enable it.
8893 - bpo-43439: Add audit hooks for :func:`gc.get_objects`,
8898 -----------------
8900 - bpo-27129: Update CPython bytecode magic number.
8902 - bpo-43672: Raise ImportWarning when calling find_loader().
8904 - bpo-43660: Fix crash that happens when replacing ``sys.stderr`` with a
8908 - bpo-27129: The bytecode interpreter uses instruction, rather byte, offsets
8912 - bpo-40645: Fix reference leak in the :mod:`_hashopenssl` extension. Patch
8915 - bpo-42134: Calls to find_module() by the import system now raise
8918 - bpo-41064: Improve the syntax error for invalid usage of double starred
8919 elements ('**') in f-strings. Patch by Pablo Galindo.
8921 - bpo-43575: Speed up calls to ``map()`` by using the :pep:`590`
8922 ``vectorcall`` calling convention. Patch by Dong-hee Na.
8924 - bpo-42137: The import system now prefers using ``__spec__`` for
8927 - bpo-43452: Added micro-optimizations to ``_PyType_Lookup()`` to improve
8930 - bpo-43555: Report the column offset for :exc:`SyntaxError` for invalid
8933 - bpo-43517: Fix misdetection of circular imports when using ``from pkg.mod
8934 import attr``, which caused false positives in non-trivial multi-threaded
8937 - bpo-43497: Emit SyntaxWarnings for assertions with tuple constants, this
8940 - bpo-39316: Tracing now has correct line numbers for attribute accesses
8942 debugging and profiling for multi-line method chains.
8944 - bpo-35883: Python no longer fails at startup with a fatal error if a
8949 - bpo-43410: Fix a bug that was causing the parser to crash when emitting
8952 - bpo-43406: Fix a possible race condition where ``PyErr_CheckSignals``
8953 tries to execute a non-Python signal handler.
8955 - bpo-42128: Add ``__match_args__`` to :c:type:`structsequence` based
8958 - bpo-43390: CPython now sets the ``SA_ONSTACK`` flag in ``PyOS_setsig`` for
8959 the VM's default signal handlers. This is friendlier to other in-process
8962 has been used to provide for signal handlers. This is a no-op change for
8965 - bpo-43287: Speed up calls to ``filter()`` by using the :pep:`590`
8966 ``vectorcall`` calling convention. Patch by Dong-hee Na.
8968 - bpo-37448: Add a radix tree based memory map to track in-use obmalloc
8972 significantly higher percentage of requests from its ultra-fast paths.
8980 `-DWITH_PYMALLOC_RADIX_TREE=0`.
8982 Co-authored-by: Tim Peters <tim.peters@gmail.com>
8984 - bpo-29988: Only handle asynchronous exceptions and requests to drop the
8990 -------
8992 - bpo-43720: Document various stdlib deprecations in imp, pkgutil, and
8995 - bpo-43433: :class:`xmlrpc.client.ServerProxy` no longer ignores query and
8998 - bpo-31956: The :meth:`~array.array.index` method of :class:`array.array`
9001 - bpo-40066: Enum: adjust ``repr()`` to show only enum and member name (not
9005 - bpo-42136: Deprecate all module_repr() methods found in importlib as their
9008 - bpo-35930: Raising an exception raised in a "future" instance will create
9011 - bpo-41369: Finish updating the vendored libmpdec to version 2.5.1. Patch
9014 - bpo-43422: Revert the _decimal C API which was added in bpo-41324.
9016 - bpo-43577: Fix deadlock when using :class:`ssl.SSLContext` debug callback
9019 - bpo-43571: It's now possible to create MPTCP sockets with IPPROTO_MPTCP
9021 - bpo-43542: ``image/heic`` and ``image/heif`` were added to
9024 - bpo-40645: The :mod:`hmac` module now uses OpenSSL's HMAC implementation
9027 - bpo-43510: Implement :pep:`597`: Add ``EncodingWarning`` warning, ``-X
9031 - bpo-43521: ``ast.unparse`` can now render NaNs and empty sets.
9033 - bpo-42914: :func:`pprint.pprint` gains a new boolean
9038 - bpo-41361: :meth:`~collections.deque.rotate` calls are now slightly faster
9041 - bpo-43423: :func:`subprocess.communicate` no longer raises an IndexError
9045 - bpo-27820: Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN
9049 with a challenge string, thus non-compliant with the standard for AUTH
9054 - bpo-43445: Add frozen modules to :data:`sys.stdlib_module_names`. For
9058 - bpo-43245: Add keyword arguments support to ``ChainMap.new_child()``.
9060 - bpo-29982: Add optional parameter *ignore_cleanup_errors* to
9064 - bpo-43428: Include changes from `importlib_metadata 3.7
9065 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v3-7-0>`_:
9081 - bpo-43332: Improves the networking efficiency of :mod:`http.client` when
9085 - bpo-43420: Improve performance of :class:`fractions.Fraction` arithmetics
9088 - bpo-43356: Allow passing a signal number to ``_thread.interrupt_main()``.
9090 - bpo-43399: Fix ``ElementTree.extend`` not working on iterators when using
9093 - bpo-43369: Improve :mod:`sqlite3` error handling: If
9098 - bpo-43368: Fix a regression introduced in PR 24562, where an empty
9102 - bpo-41282: Fixed stacklevel of ``DeprecationWarning`` emitted from
9105 - bpo-42129: ``importlib.resources`` now honors namespace packages, merging
9110 - bpo-43295: :meth:`datetime.datetime.strptime` now raises ``ValueError``
9114 - bpo-43125: Return empty string if base64mime.body_encode receive empty
9117 - bpo-43084: :func:`curses.window.enclose` returns now ``True`` or ``False``
9120 - bpo-42994: Add MIME types for opus, AAC, 3gpp and 3gpp2
9122 - bpo-14678: Add an invalidate_caches() method to the zipimport.zipimporter
9125 - bpo-42782: Fail fast in :func:`shutil.move()` to avoid creating
9128 - bpo-40066: Enum's `repr()` and `str()` have changed: `repr()` is now
9134 - bpo-26053: Fixed bug where the :mod:`pdb` interactive run command echoed
9138 - bpo-24160: Fixed bug where breakpoints did not persist across multiple
9141 - bpo-40701: When the :data:`tempfile.tempdir` global variable is set to a
9148 - bpo-39342: Expose ``X509_V_FLAG_ALLOW_PROXY_CERTS`` as
9151 https://www.openssl.org/docs/man1.1.1/man7/proxy-certificates.html.
9153 - bpo-31861: Add builtins.aiter and builtins.anext. Patch by Joshua Bronson
9157 -------------
9159 - bpo-43199: Answer "Why is there no goto?" in the Design and History FAQ.
9161 - bpo-43407: Clarified that a result from :func:`time.monotonic`,
9164 following call to the same function - not just the next immediate call.
9166 - bpo-43354: Fix type documentation for ``Fault.faultCode``; the type has to
9169 - bpo-41933: Clarified wording of s * n in the Common Sequence Operations
9172 -----
9174 - bpo-37945: Fix test_getsetlocale_issue1813() of test_locale: skip the test
9177 - bpo-41561: Add workaround for Ubuntu's custom OpenSSL security level
9181 -----
9183 - bpo-43179: Introduce and correctly use ALIGNOF_X in place of SIZEOF_X for
9184 alignment-related code in optimized string routines. Patch by Jessica
9187 - bpo-43631: Update macOS, Windows, and CI to OpenSSL 1.1.1k.
9189 - bpo-43617: Improve configure.ac: Check for presence of autoconf-archive
9192 - bpo-43466: The ``configure`` script now supports ``--with-openssl-rpath``
9195 - bpo-43372: Use ``_freeze_importlib`` to generate code for the
9199 changed with bpo-42246, commit 877df851. Update the code and the expected
9203 -------
9205 - bpo-43440: Build :mod:`sqlite3` with the ``R*Tree`` module enabled. Patch
9209 ----
9211 - bpo-42225: Document that IDLE can fail on Unix either from misconfigured
9212 IP masquerade rules or failure displaying complex colored (non-ascii)
9216 -----
9218 - bpo-43688: The limited C API is now supported if Python is built in debug
9228 The limited C API is still not supported in the ``--with-trace-refs``
9233 - bpo-43244: Remove the ``pyarena.h`` header file with functions:
9243 - bpo-43244: Remove the compiler and parser functions using ``struct _mod``
9260 - bpo-43244: Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header
9263 and so could create names conflicts. For example, ``Python-ast.h`` defined
9268 - bpo-43541: Fix a ``PyEval_EvalCodeEx()`` regression: fix reference
9271 - bpo-43244: Remove the ``symtable.h`` header file and the undocumented
9289 - bpo-43244: Remove the ``PyAST_Validate()`` function. It is no longer
9298 *Release date: 2021-03-01*
9301 --------
9303 - bpo-42967: Fix web cache poisoning vulnerability by defaulting the query
9308 -----------------
9310 - bpo-43321: Fix ``SystemError`` raised when ``PyArg_Parse*()`` is used with
9313 - bpo-36346: ``PyArg_Parse*()`` functions now emits ``DeprecationWarning``
9316 - bpo-43277: Add a new :c:func:`PySet_CheckExact` function to the C-API to
9320 - bpo-42990: The :data:`types.FunctionType` constructor now inherits the
9328 - bpo-42990: Functions have a new ``__builtins__`` attribute which is used
9333 - bpo-43149: Improve the error message in the parser for exception groups
9336 - bpo-43121: Fixed an incorrect :exc:`SyntaxError` message for missing comma
9339 - bpo-42819: :mod:`readline`: Explicitly disable bracketed paste in the
9346 ``readline.parse_and_bind("set enable-bracketed-paste on")``. Patch by
9349 - bpo-42808: Simple calls to ``type(object)`` are now faster due to the
9352 - bpo-42217: Make the compiler merges same co_code and co_linetable objects
9355 - bpo-41972: Substring search functions such as ``str1 in str2`` and
9356 ``str2.find(str1)`` now sometimes use the "Two-Way" string comparison
9359 - bpo-42128: Implement :pep:`634` (structural pattern matching). Patch by
9362 - bpo-40692: In the :class:`concurrent.futures.ProcessPoolExecutor`,
9368 - bpo-38302: If :func:`object.__ipow__` returns :const:`NotImplemented`, the
9373 -------
9375 - bpo-43316: The ``python -m gzip`` command line application now properly
9376 fails when detecting an unsupported extension. It exits with a non-zero
9379 - bpo-43317: Set the chunk size for the ``gzip`` module main function to
9383 - bpo-43146: Handle None in single-arg versions of
9387 - bpo-43260: Fix TextIOWrapper can not flush internal buffer forever after
9390 - bpo-43258: Prevent needless allocation of :mod:`sqlite3` aggregate
9394 - bpo-43251: Improve :mod:`sqlite3` error handling:
9398 - bpo-40956: Fix segfault in :meth:`sqlite3.Connection.backup` if no
9402 - bpo-43172: The readline module now passes its tests when built directly
9407 - bpo-43163: Fix a bug in :mod:`codeop` that was causing it to not ask for
9408 more input when multi-line snippets have unclosed parentheses. Patch by
9411 - bpo-43162: deprecate unsupported ability to access enum members as
9414 - bpo-43146: Fix recent regression in None argument handling in
9417 - bpo-43102: The namedtuple __new__ method had its __builtins__ set to None
9421 - bpo-43106: Added :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`,
9423 Dong-hee Na.
9425 - bpo-42960: Adds :data:`resource.RLIMIT_KQUEUES` constant from FreeBSD to
9428 - bpo-42151: Make the pure Python implementation of
9433 - bpo-29753: In ctypes, now packed bitfields are calculated properly and the
9437 -------------
9439 - bpo-27646: Clarify that 'yield from <expr>' works with any iterable, not
9442 - bpo-36346: Update some deprecated unicode APIs which are documented as
9446 -----
9448 - bpo-43288: Fix test_importlib to correctly skip Unicode file tests if the
9452 -----
9454 - bpo-43174: Windows build now uses ``/utf-8`` compiler option.
9456 - bpo-43103: Add a new configure ``--without-static-libpython`` option to
9460 - bpo-13501: The configure script can now use *libedit* instead of
9461 *readline* with the command line option ``--with-readline=editline``.
9463 - bpo-42603: Make configure script use pkg-config to detect the location of
9466 On macOS, a Tcl/Tk configuration provided by pkg-config will be preferred
9468 both exist and the latter is preferred, the appropriate ``--with-tcltk-*``
9471 - bpo-39448: Add the "regen-frozen" makefile target that regenerates the
9475 -------
9477 - bpo-43155: :c:func:`PyCMethod_New` is now present in ``python3.lib``.
9480 -----
9482 - bpo-41837: Update macOS installer build to use OpenSSL 1.1.1j.
9485 ----
9487 - bpo-43283: Document why printing to IDLE's Shell is often slower than
9489 pre-formatting a single string before printing.
9492 -----
9494 - bpo-43278: Always put compiler and system information on the first line of
9497 - bpo-43270: Remove the private ``_PyErr_OCCURRED()`` macro: use the public
9500 - bpo-35134: Move odictobject.h, parser_interface.h, picklebufobject.h,
9503 Files <api-includes>`.
9505 - bpo-35134: Move pyarena.h, pyctype.h, and pytime.h into the cpython/
9507 included by Python.h: :ref:`Include Files <api-includes>`.
9509 - bpo-40170: :c:func:`PyExceptionClass_Name` is now always declared as a
9513 - bpo-43239: The :c:func:`PyCFunction_New` function is now exported in the
9514 ABI when compiled with ``-fvisibility=hidden``.
9516 - bpo-40170: :c:func:`PyIter_Check` is now always declared as a function, in
9520 - bpo-40170: Convert :c:func:`PyDescr_IsData` macro to a function to hide
9525 - bpo-43181: Convert :c:func:`PyObject_TypeCheck` macro to a static inline
9532 *Release date: 2021-02-02*
9535 --------
9537 - bpo-42938: Avoid static buffers when computing the repr of
9541 -----------------
9543 - bpo-42990: Refactor the ``PyEval_`` family of functions.
9549 - bpo-38631: Replace :c:func:`Py_FatalError` calls in the compiler with
9552 - bpo-42997: Improve error message for missing ":" before blocks. Patch by
9555 - bpo-43017: Improve error message in the parser when using un-parenthesised
9558 - bpo-42986: Fix parser crash when reporting syntax errors in f-string with
9561 - bpo-40176: Syntax errors for unterminated string literals now point to the
9564 - bpo-42927: The inline cache for ``LOAD_ATTR`` now also optimizes access to
9568 - bpo-42864: Improve error messages in the parser when parentheses are not
9571 - bpo-42924: Fix ``bytearray`` repetition incorrectly copying data from the
9576 - bpo-42882: Fix the :c:func:`_PyUnicode_FromId` function
9581 - bpo-42827: Fix a crash when working out the error line of a
9582 :exc:`SyntaxError` in some multi-line expressions.
9584 - bpo-42823: frame.f_lineno is correct even if frame.f_trace is set to True
9586 - bpo-37324: Remove deprecated aliases to
9587 :ref:`collections-abstract-base-classes` from the :mod:`collections`
9590 - bpo-41994: Fixed possible leak in ``import`` when ``sys.modules`` is not a
9593 - bpo-27772: In string formatting, preceding the *width* field by ``'0'`` no
9597 -------
9599 - bpo-43108: Fixed a reference leak in the :mod:`curses` module. Patch by
9602 - bpo-43077: Update the bundled pip to 21.0.1 and setuptools to 52.0.0.
9604 - bpo-41282: Deprecate ``distutils`` in documentation and add warning on
9607 - bpo-43014: Improve performance of :mod:`tokenize` by 20-30%. Patch by
9610 - bpo-42323: Fix :func:`math.nextafter` for NaN on AIX.
9612 - bpo-42955: Add :data:`sys.stdlib_module_names`, containing the list of the
9615 - bpo-42944: Fix ``random.Random.sample`` when ``counts`` argument is not
9618 - bpo-42934: Use :class:`~traceback.TracebackException`'s new ``compact``
9622 - bpo-42931: Add :func:`randbytes` to ``random.__all__``.
9624 - bpo-38250: [Enum] Flags consisting of a single bit are now considered
9626 over a Flag class or a Flag member. Multi-bit flags are considered
9631 - bpo-42877: Added the ``compact`` parameter to the constructor of
9636 - bpo-42923: The :c:func:`Py_FatalError` function and the
9640 - bpo-42848: Removed recursion from :class:`~traceback.TracebackException`
9643 - bpo-42901: [Enum] move member creation from ``EnumMeta.__new__`` to
9647 - bpo-42780: Fix os.set_inheritable() for O_PATH file descriptors on Linux.
9649 - bpo-42866: Fix a reference leak in the ``getcodec()`` function of CJK
9652 - bpo-42846: Convert the 6 CJK codec extension modules (_codecs_cn,
9656 - bpo-42851: remove __init_subclass__ support for Enum members
9658 - bpo-42834: Make internal caches of the ``_json`` module compatible with
9661 - bpo-41748: Fix HTMLParser parsing rules for element attributes containing
9664 - bpo-40810: Require SQLite 3.7.15 or newer. Patch by Erlend E. Aasland.
9666 - bpo-1635741: Convert the _multibytecodec extension module (CJK codecs) to
9667 multi-phase initialization (:pep:`489`). Patch by Erlend E. Aasland.
9669 - bpo-42802: The distutils ``bdist_wininst`` command deprecated in Python
9673 - bpo-24464: The undocumented built-in function
9678 - bpo-42384: Make pdb populate sys.path[0] exactly the same as regular
9681 - bpo-42383: Fix pdb: previously pdb would fail to restart the debugging
9685 - bpo-42005: Fix CLI of :mod:`cProfile` and :mod:`profile` to catch
9688 - bpo-41604: Don't decrement the reference count of the previous user_ptr
9691 - bpo-41149: Allow executing callables that have a boolean value of
9695 - bpo-38307: Add an 'end_lineno' attribute to the Class and Function objects
9700 - bpo-39273: The ``BUTTON5_*`` constants are now exposed in the
9703 - bpo-33289: Correct call to :mod:`tkinter.colorchooser` to return RGB
9707 -------------
9709 - bpo-40304: Fix doc for type(name, bases, dict). Patch by Boris
9712 - bpo-42811: Updated importlib.utils.resolve_name() doc to use
9716 -----
9718 - bpo-40823: Use :meth:`unittest.TestLoader().loadTestsFromTestCase` instead
9722 - bpo-40810: In :mod:`sqlite3`, fix ``CheckTraceCallbackContent`` for SQLite
9726 -----
9728 - bpo-43031: Pass ``--timeout=$(TESTTIMEOUT)`` option to the default profile
9729 task ``./python -m test --pgo`` command.
9731 - bpo-36143: ``make regen-all`` now also runs ``regen-keyword``. Patch by
9734 - bpo-42874: Removed the grep -q and -E flags in the tzpath validation
9738 - bpo-31904: Add library search path by wr-cc in add_cross_compiling_paths()
9741 - bpo-42856: Add ``--with-wheel-pkg-dir=PATH`` option to the ``./configure``
9748 ``/usr/share/python-wheels/`` directory and don't install the
9752 -------
9754 - bpo-41837: Updated Windows installer to include OpenSSL 1.1.1i
9756 - bpo-42584: Upgrade Windows installer to use SQLite 3.34.0.
9759 -----
9761 - bpo-42504: Ensure that the value of
9766 ----
9768 - bpo-43008: Make IDLE invoke :func:`sys.excepthook` in normal, 2-process
9771 - bpo-33065: Fix problem debugging user classes with __repr__ method.
9773 - bpo-23544: Disable Debug=>Stack Viewer when user code is running or
9776 - bpo-32631: Finish zzdummy example extension module: make menu entries
9780 -----
9782 - bpo-42979: When Python is built in debug mode (with C assertions), calling
9788 - bpo-43030: Fixed a compiler warning in :c:func:`Py_UNICODE_ISSPACE()` on
9795 *Release date: 2021-01-04*
9798 -----------------
9800 - bpo-42814: Fix undefined behavior in ``Objects/genericaliasobject.c``.
9802 - bpo-42806: Fix the column offsets for f-strings :mod:`ast` nodes
9806 - bpo-40631: Fix regression where a single parenthesized starred expression
9809 - bpo-27794: Improve the error message for failed writes/deletes to property
9813 - bpo-42745: Make the type attribute lookup cache per-interpreter. Patch by
9816 - bpo-42246: Jumps to jumps are not eliminated when it would break PEP 626.
9818 - bpo-42246: Make sure that the ``f_lasti`` and ``f_lineno`` attributes of a
9819 frame are set correctly when an exception is raised or re-raised. Required
9822 - bpo-32381: The coding cookie (ex: ``# coding: latin1``) is now ignored in
9823 the command passed to the :option:`-c` command line option. Patch by
9826 - bpo-30858: Improve error location in expressions that contain assignments.
9829 - bpo-42615: Remove jump commands made redundant by the deletion of
9832 - bpo-42639: Make the :mod:`atexit` module state per-interpreter. It is now
9833 safe have more than one :mod:`atexit` module instance. Patch by Dong-hee
9836 - bpo-32381: Fix encoding name when running a ``.pyc`` file on Windows:
9840 - bpo-42195: The ``__args__`` of the parameterized generics for
9852 - bpo-40137: Convert functools module to use
9855 - bpo-40077: Convert :mod:`array` to use heap types, and establish module
9858 - bpo-42008: Fix _random.Random() seeding.
9860 - bpo-1635741: Port the :mod:`pyexpat` extension module to multi-phase
9863 - bpo-40521: Make the Unicode dictionary of interned strings compatible with
9866 - bpo-39465: Make :c:func:`_PyUnicode_FromId` function compatible with
9868 (interned strings decoded from UTF-8). Patch by Victor Stinner.
9871 -------
9873 - bpo-42257: Handle empty string in variable executable in
9876 - bpo-42772: randrange() now raises a TypeError when step is specified
9879 - bpo-42759: Fixed equality comparison of :class:`tkinter.Variable` and
9883 - bpo-42756: Configure LMTP Unix-domain socket to use socket global default
9886 - bpo-23328: Allow / character in username, password fields on _PROXY
9889 - bpo-42740: :func:`typing.get_args` and :func:`typing.get_origin` now
9892 - bpo-42655: :mod:`subprocess` *extra_groups* is now correctly passed into
9895 - bpo-42727: ``EnumMeta.__prepare__`` now accepts ``**kwds`` to properly
9898 - bpo-38308: Add optional *weights* to *statistics.harmonic_mean()*.
9900 - bpo-42721: When simple query dialogs (:mod:`tkinter.simpledialog`),
9910 - bpo-25246: Optimized :meth:`collections.deque.remove`.
9912 - bpo-35728: Added a root parameter to :func:`tkinter.font.nametofont`.
9914 - bpo-15303: :mod:`tkinter` supports now widgets with boolean value False.
9916 - bpo-42681: Fixed range checks for color and pair numbers in :mod:`curses`.
9918 - bpo-42685: Improved placing of simple query windows in Tkinter (such as
9923 - bpo-9694: Argparse help no longer uses the confusing phrase, "optional
9926 - bpo-1635741: Port the :mod:`_thread` extension module to the multiphase
9930 - bpo-37961: Fix crash in :func:`tracemalloc.Traceback.__repr__` (regressed
9933 - bpo-42630: :mod:`tkinter` functions and constructors which need a default
9938 - bpo-42639: :func:`atexit._run_exitfuncs` now logs callback exceptions
9942 - bpo-42644: ``logging.disable`` will now validate the types and value of
9946 - bpo-42639: At Python exit, if a callback registered with
9951 - bpo-36541: Fixed lib2to3.pgen2 to be able to parse PEP-570 positional only
9954 - bpo-42382: In ``importlib.metadata``: - ``EntryPoint`` objects now expose
9956 a ``Distribution``. - Add support for package discovery under package
9957 normalization rules. - The object returned by ``metadata()`` now has a
9959 for the ``.get_all()`` method. - Synced with importlib_metadata 3.3.
9961 - bpo-41877: A check is added against misspellings of autospect, auto_spec
9965 - bpo-39717: [tarfile] update nested exception raising to use ``from None``
9968 - bpo-41877: AttributeError for suspected misspellings of assertions on
9974 - bpo-41559: Implemented :pep:`612`: added ``ParamSpec`` and ``Concatenate``
9977 - bpo-42385: StrEnum: fix _generate_next_value_ to return a str
9979 - bpo-31904: Define THREAD_STACK_SIZE for VxWorks.
9981 - bpo-34750: [Enum] `_EnumDict.update()` is now supported
9983 - bpo-42517: Enum: private names do not become members / do not generate
9984 errors -- they remain normal attributes
9986 - bpo-42678: ``Enum``: call ``__init_subclass__`` after members have been
9989 - bpo-28964: :func:`ast.literal_eval` adds line number information (if
9992 - bpo-42470: :func:`random.sample` no longer warns on a sequence which is
9995 - bpo-31904: :func:`posixpath.expanduser` returns the input *path* unchanged
9998 - bpo-42388: Fix subprocess.check_output(..., input=None) behavior when
10002 - bpo-34463: Fixed discrepancy between :mod:`traceback` and the interpreter
10006 - bpo-42393: Raise :exc:`OverflowError` instead of silent truncation in
10010 - bpo-42222: Harmonized :func:`random.randrange` argument handling to match
10015 * Non-integer arguments to ``randrange()`` are deprecated.
10021 - bpo-42163: Restore compatibility for ``uname_result`` around deepcopy and
10024 - bpo-42090: ``zipfile.Path.joinpath`` now accepts arbitrary arguments, same
10027 - bpo-1635741: Port the _csv module to the multi-phase initialization API
10030 - bpo-42059: :class:`typing.TypedDict` types created using the alternative
10031 call-style syntax now correctly respect the ``total`` keyword argument
10035 - bpo-41960: Add ``globalns`` and ``localns`` parameters to the
10038 - bpo-41907: fix ``format()`` behavior for ``IntFlag``
10040 - bpo-41891: Ensure asyncio.wait_for waits for task completion
10042 - bpo-24792: Fixed bug where :mod:`zipimporter` sometimes reports an
10045 - bpo-31904: Fix site and sysconfig modules for VxWorks RTOS which has no
10048 - bpo-41462: Add :func:`os.set_blocking()` support for VxWorks RTOS.
10050 - bpo-40219: Lowered :class:`tkinter.ttk.LabeledScale` dummy widget to
10053 - bpo-37193: Fixed memory leak in ``socketserver.ThreadingMixIn`` introduced
10056 - bpo-39068: Fix initialization race condition in :func:`a85encode` and
10060 -------------
10062 - bpo-17140: Add documentation for the
10065 - bpo-34398: Prominently feature listings from the glossary in documentation
10069 -----
10071 - bpo-42794: Update test_nntplib to use official group name of news.aioe.org
10072 for testing. Patch by Dong-hee Na.
10074 - bpo-31904: Skip some asyncio tests on VxWorks.
10076 - bpo-42641: Enhance ``test_select.test_select()``: it now takes 500
10080 - bpo-31904: Skip some tests in _test_all_chown_common() on VxWorks.
10082 - bpo-42199: Fix bytecode helper assertNotInBytecode.
10084 - bpo-41443: Add more attribute checking in test_posix.py
10086 - bpo-31904: Disable os.popen and impacted tests on VxWorks
10088 - bpo-41439: Port test_ssl and test_uuid to VxWorks RTOS.
10091 -----
10093 - bpo-42692: Fix __builtin_available check on older compilers. Patch by
10096 - bpo-27640: Added ``--disable-test-modules`` option to the ``configure``
10100 - bpo-42604: Now all platforms use a value for the "EXT_SUFFIX" build
10102 ".cpython-310d.so" instead of ".so"). Previously only Linux, Mac and
10105 - bpo-42598: Fix implicit function declarations in configure which could
10109 - bpo-31904: Enable libpython3.so for VxWorks.
10111 - bpo-29076: Add fish shell support to macOS installer.
10114 -----
10116 - bpo-42361: Update macOS installer build to use Tcl/Tk 8.6.11 (rc2,
10119 - bpo-41837: Update macOS installer build to use OpenSSL 1.1.1i.
10121 - bpo-42584: Update macOS installer to use SQLite 3.34.0.
10124 -----------
10126 - bpo-42726: Fixed Python 3 compatibility issue with gdb/libpython.py
10129 - bpo-42613: Fix ``freeze.py`` tool to use the prope config and library
10133 -----
10135 - bpo-42591: Export the :c:func:`Py_FrozenMain` function: fix a Python 3.9.0
10136 regression. Python 3.9 uses ``-fvisibility=hidden`` and the function was
10139 - bpo-32381: Remove the private :c:func:`_Py_fopen` function which is no
10143 - bpo-1635741: Port :mod:`resource` extension module to module state
10145 - bpo-42111: Update the ``xxlimited`` module to be a better example of how
10148 - bpo-40052: Fix an alignment build warning/error in function
10156 *Release date: 2020-12-07*
10159 --------
10161 - bpo-40791: Add ``volatile`` to the accumulator variable in
10162 ``hmac.compare_digest``, making constant-time-defeating optimizations less
10166 -----------------
10168 - bpo-42576: ``types.GenericAlias`` will now raise a ``TypeError`` when
10174 - bpo-42536: Several built-in and standard library types now ensure that
10178 - :meth:`collections.OrderedDict.items() <collections.OrderedDict>`
10180 - :meth:`dict.items`
10182 - :func:`enumerate`
10184 - :func:`functools.reduce`
10186 - :func:`itertools.combinations`
10188 - :func:`itertools.combinations_with_replacement`
10190 - :func:`itertools.permutations`
10192 - :func:`itertools.product`
10194 - :func:`itertools.zip_longest`
10196 - :func:`zip`
10201 - bpo-42500: Improve handling of exceptions near recursion limit. Converts a
10204 - bpo-42246: PEP 626: After a return, the f_lineno attribute of a frame is
10207 - bpo-42435: Speed up comparison of bytes objects with non-bytes objects
10208 when option :option:`-b` is specified. Speed up comparison of bytarray
10209 objects with non-buffer object.
10211 - bpo-1635741: Port the ``_warnings`` extension module to the multi-phase
10214 - bpo-41686: On Windows, the ``SIGINT`` event, ``_PyOS_SigintEvent()``, is
10219 - bpo-42381: Allow assignment expressions in set literals and set
10222 - bpo-42202: Change function parameters annotations internal representation
10225 - bpo-42374: Fix a regression introduced by the new parser, where an
10229 - bpo-42316: Allow an unparenthesized walrus in subscript indexes.
10231 - bpo-42349: Make sure that the compiler front-end produces a well-formed
10232 control flow graph. Be be more aggressive in the compiler back-end, as it
10235 - bpo-42296: On Windows, fix a regression in signal handling which prevented
10240 - bpo-42332: :class:`types.GenericAlias` objects can now be the targets of
10243 - bpo-42282: Optimise constant subexpressions that appear as part of named
10247 - bpo-42266: Fixed a bug with the LOAD_ATTR opcode cache that was not
10248 respecting monkey-patching a class-level attribute to make it a
10251 - bpo-40077: Convert :mod:`queue` to use heap types.
10253 - bpo-42246: Improved accuracy of line tracing events and f_lineno attribute
10256 - bpo-40077: Convert :mod:`mmap` to use heap types.
10258 - bpo-42233: Allow ``GenericAlias`` objects to use :ref:`union type
10259 expressions <types-union>`. This allows expressions like ``list[int] |
10261 thrown. This also fixes union type expressions not de-duplicating
10264 - bpo-26131: The import system triggers a `ImportWarning` when it falls back
10268 -------
10270 - bpo-5054: CGIHTTPRequestHandler.run_cgi() HTTP_ACCEPT improperly parsed.
10276 - bpo-42562: Fix issue when dis failed to parse function that has no line
10279 - bpo-17735: :func:`inspect.findsource` now raises :exc:`OSError` instead of
10284 - bpo-42116: Fix handling of trailing comments by :func:`inspect.getsource`.
10286 - bpo-42532: Remove unexpected call of ``__bool__`` when passing a
10289 - bpo-38200: Added itertools.pairwise()
10291 - bpo-41818: Fix test_master_read() so that it succeeds on all platforms
10294 - bpo-42487: ChainMap.__iter__ no longer calls __getitem__ on underlying
10297 - bpo-42482: :class:`~traceback.TracebackException` no longer holds a
10299 TracebackException for equivalent but non-equal exceptions now compare as
10302 - bpo-41818: Make test_openpty() avoid unexpected success due to number of
10305 - bpo-42392: Remove loop parameter from ``asyncio.subprocess`` and
10308 - bpo-42392: Remove loop parameter from ``asyncio.open_connection`` and
10311 - bpo-28468: Add :func:`platform.freedesktop_os_release` function to parse
10312 freedesktop.org ``os-release`` files.
10314 - bpo-42299: Removed the ``formatter`` module, which was deprecated in
10318 classes they use into their code. Patch by Dong-hee Na and and Terry J.
10321 - bpo-26131: Deprecate zipimport.zipimporter.load_module() in favour of
10324 - bpo-41818: Updated tests for the pty library. test_basic() has been
10331 - bpo-42392: Remove loop parameter from ``__init__`` in all
10335 - bpo-15450: Make :class:`filecmp.dircmp` respect subclassing. Now the
10339 - bpo-42413: The exception :exc:`socket.timeout` is now an alias of
10342 - bpo-31904: Support signal module on VxWorks.
10344 - bpo-42406: We fixed an issue in `pickle.whichmodule` in which importing
10348 - bpo-42403: Simplify the :mod:`importlib` external bootstrap code:
10354 - bpo-1635741: Convert _sre module types to heap types (PEP 384). Patch by
10357 - bpo-42375: subprocess module update for DragonFlyBSD support.
10359 - bpo-41713: Port the ``_signal`` extension module to the multi-phase
10363 - bpo-37205: :func:`time.time()`, :func:`time.perf_counter()` and
10367 - bpo-42328: Fixed :meth:`tkinter.ttk.Style.map`. The function accepts now
10372 - bpo-42345: Fix various issues with ``typing.Literal`` parameter handling
10376 - bpo-37205: :func:`time.perf_counter()` on Windows and
10377 :func:`time.monotonic()` on macOS are now system-wide. Previously, they
10383 - bpo-42318: Fixed support of non-BMP characters in :mod:`tkinter` on macOS.
10385 - bpo-42350: Fix the :class:`threading.Thread` class at fork: do nothing if
10389 - bpo-42333: Port _ssl extension module to heap types.
10391 - bpo-42014: The ``onerror`` callback from ``shutil.rmtree`` now receives
10394 - bpo-42237: Fix `os.sendfile()` on illumos.
10396 - bpo-42308: Add :data:`threading.__excepthook__` to allow retrieving the
10400 - bpo-42131: Implement PEP 451/spec methods on zipimport.zipimporter:
10406 - bpo-41877: Mock objects which are not unsafe will now raise an
10411 - bpo-42264: ``sqlite3.OptimizedUnicode`` has been undocumented and obsolete
10415 - bpo-42251: Added :func:`threading.gettrace` and
10420 - bpo-42249: Fixed writing binary Plist files larger than 4 GiB.
10422 - bpo-42236: On Unix, the :func:`os.device_encoding` function now returns
10423 ``'UTF-8'`` rather than the device encoding if the :ref:`Python UTF-8 Mode
10424 <utf8-mode>` is enabled.
10426 - bpo-41754: webbrowser: Ignore *NotADirectoryError* when calling
10427 ``xdg-settings``.
10429 - bpo-42183: Fix a stack overflow error for asyncio Task or Future repr().
10434 - bpo-42140: Improve asyncio.wait function to create the futures set just
10437 - bpo-42133: Update various modules in the stdlib to fall back on
10440 - bpo-26131: The `load_module()` methods found in importlib now trigger a
10443 - bpo-39825: Windows: Change ``sysconfig.get_config_var('EXT_SUFFIX')`` to
10445 hard-coded to ``.pyd``, now it is compatible with ``distutils.sysconfig``
10446 and will result in something like ``.cp38-win_amd64.pyd``. This brings
10449 - bpo-26389: The :func:`traceback.format_exception`,
10452 object as a positional-only argument.
10454 - bpo-41889: Enum: fix regression involving inheriting a multiply inherited
10457 - bpo-41861: Convert :mod:`sqlite3` to use heap types (PEP 384). Patch by
10460 - bpo-40624: Added support for the XPath ``!=`` operator in xml.etree
10462 - bpo-28850: Fix :meth:`pprint.PrettyPrinter.format` overrides being ignored
10466 - bpo-41625: Expose the :c:func:`splice` as :func:`os.splice` in the
10469 - bpo-34215: Clarify the error message for
10472 - bpo-41543: Add async context manager support for contextlib.nullcontext.
10474 - bpo-21041: :attr:`pathlib.PurePath.parents` now supports negative
10477 - bpo-41332: Added missing connect_accepted_socket() method to
10480 - bpo-12800: Extracting a symlink from a tarball should succeed and
10485 - bpo-40968: :mod:`urllib.request` and :mod:`http.client` now send
10489 - bpo-41001: Add func:`os.eventfd` to provide a low level interface for
10492 - bpo-40816: Add AsyncContextDecorator to contextlib to support async
10495 - bpo-40550: Fix time-of-check/time-of-action issue in
10498 - bpo-39411: Add an ``is_async`` identifier to :mod:`pyclbr`'s ``Function``
10501 - bpo-35498: Add slice support to :attr:`pathlib.PurePath.parents`.
10504 -------------
10506 - bpo-42238: Tentative to deprecate ``make suspicious`` by first removing it
10510 - bpo-42153: Fix the URL for the IMAP protocol documents.
10512 - bpo-41028: Language and version switchers, previously maintained in every
10513 cpython branches, are now handled by docsbuild-script.
10516 -----
10518 - bpo-41473: Re-enable test_gdb on gdb 9.2 and newer:
10522 - bpo-42553: Fix ``test_asyncio.test_call_later()`` race condition: don't
10526 - bpo-31904: Fix test_netrc on VxWorks: create temporary directories using
10529 - bpo-31904: skip test_getaddrinfo_ipv6_scopeid_symbolic and
10532 - bpo-31904: skip test_test of test_mailcap on VxWorks
10534 - bpo-31904: add shell requirement for test_pipes
10536 - bpo-31904: skip some tests related to fifo on VxWorks
10538 - bpo-31904: Fix test_doctest.py failures for VxWorks.
10540 - bpo-40754: Include ``_testinternalcapi`` module in Windows installer for
10543 - bpo-41561: test_ssl: skip test_min_max_version_mismatch when TLS 1.0 is
10546 - bpo-31904: Fix os module failures for VxWorks RTOS.
10548 - bpo-31904: Fix fifo test cases for VxWorks RTOS.
10551 -----
10553 - bpo-31904: remove libnet dependency from detect_socket() for VxWorks
10555 - bpo-42398: Fix a race condition in "make regen-all" when make -jN option
10560 - bpo-41617: Fix building ``pycore_bitutils.h`` internal header on old clang
10564 - bpo-38823: It is no longer possible to build the ``_ctypes`` extension
10569 - bpo-42087: Support was removed for AIX 5.3 and below. See :issue:`40680`.
10571 - bpo-40998: Addressed three compiler warnings found by undefined behavior
10575 -------
10577 - bpo-42120: Remove macro definition of ``copysign`` (to ``_copysign``) in
10580 - bpo-38506: The Windows launcher now properly handles Python 3.10 when
10584 -----
10586 - bpo-42504: Fix build on macOS Big Sur when MACOSX_DEPLOYMENT_TARGET=11
10588 - bpo-41116: Ensure distutils.unixxcompiler.find_library_file can find
10591 - bpo-41100: Add support for macOS 11 and Apple Silicon systems.
10594 "--enable-universalsdk --with-universal-archs=universal2".
10600 - bpo-42232: Added Darwin specific madvise options to mmap module.
10602 - bpo-38443: The ``--enable-universalsdk`` and ``--with-universal-archs``
10607 ----
10609 - bpo-42508: Keep IDLE running on macOS. Remove obsolete workaround that
10613 - bpo-42426: Fix reporting offset of the RE error in searchengine.
10615 - bpo-42415: Get docstrings for IDLE calltips more often by using
10619 -----------
10621 - bpo-42212: The smelly.py script now also checks the Python dynamic library
10625 - bpo-36310: Allow :file:`Tools/i18n/pygettext.py` to detect calls to
10626 ``gettext`` in f-strings.
10629 -----
10631 - bpo-42423: The :c:func:`PyType_FromSpecWithBases` and
10635 - bpo-1635741: Port :mod:`select` extension module to multiphase
10638 - bpo-1635741: Port _posixsubprocess extension module to multiphase
10641 - bpo-1635741: Port _posixshmem extension module to multiphase
10644 - bpo-1635741: Port _struct extension module to multiphase initialization
10647 - bpo-1635741: Port :mod:`spwd` extension module to multiphase
10650 - bpo-1635741: Port :mod:`gc` extension module to multiphase initialization
10653 - bpo-1635741: Port _queue extension module to multiphase initialization
10656 - bpo-39573: Convert :c:func:`Py_TYPE` and :c:func:`Py_SIZE` back to macros
10657 to allow using them as an l-value. Many third party C extension modules
10661 - bpo-1635741: Port :mod:`symtable` extension module to multiphase
10664 - bpo-1635741: Port :mod:`grp` and :mod:`pwd` extension modules to
10667 - bpo-1635741: Port _random extension module to multiphase initialization
10670 - bpo-1635741: Port _hashlib extension module to multiphase initialization
10673 - bpo-41713: Removed the undocumented ``PyOS_InitInterrupts()`` function.
10677 - bpo-40170: The ``Py_TRASHCAN_BEGIN`` macro no longer accesses PyTypeObject
10681 - bpo-42260: :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`,
10686 <init-config>` to get the :ref:`Python Path Configuration.
10687 <init-path-config>`. Patch by Victor Stinner.
10689 - bpo-42260: The :c:func:`PyConfig_Read` function now only parses
10695 - bpo-42262: Added :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to
10699 - bpo-42260: When :c:func:`Py_Initialize` is called twice, the second call
10703 - bpo-41832: The :c:func:`PyType_FromModuleAndSpec` function now accepts
10706 - bpo-1635741: Added :c:func:`PyModule_AddObjectRef` function: similar to
10710 - bpo-42171: The :c:data:`METH_FASTCALL` calling convention is added to the
10715 - bpo-42085: Add dedicated entry to PyAsyncMethods for sending values
10717 - bpo-41073: :c:func:`PyType_GetSlot()` can now accept static types.
10719 - bpo-30459: :c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and
10720 :c:func:`PyCell_SET` macros can no longer be used as l-value or r-value.
10730 *Release date: 2020-11-03*
10733 --------
10735 - bpo-42103: Prevented potential DoS attack via CPU and RAM exhaustion when
10738 - bpo-42051: The :mod:`plistlib` module no longer accepts entity
10744 -----------------
10746 - bpo-42236: If the ``nl_langinfo(CODESET)`` function returns an empty
10747 string, Python now uses UTF-8 as the filesystem encoding. Patch by Victor
10750 - bpo-42218: Fixed a bug in the PEG parser that was causing crashes in debug
10751 mode. Now errors are checked in left-recursive rules to avoid cases where
10752 such errors do not get handled in time and appear as long-distance crashes
10755 - bpo-42214: Fixed a possible crash in the PEG parser when checking for the
10758 - bpo-42206: Propagate and raise the errors caused by
10761 - bpo-41796: The :mod:`ast` module internal state is now per interpreter.
10764 - bpo-42143: Fix handling of errors during creation of ``PyFunctionObject``,
10768 - bpo-41659: Fix a bug in the parser, where a curly brace following a
10774 - bpo-42150: Fix possible buffer overflow in the new parser when checking
10777 - bpo-42123: Run the parser two times. On the first run, disable all the
10781 - bpo-42093: The ``LOAD_ATTR`` instruction now uses new "per opcode cache"
10785 - bpo-42030: Support for the legacy AIX-specific shared library loading
10789 - bpo-41984: The garbage collector now tracks all user-defined classes.
10792 - bpo-41993: Fixed potential issues with removing not completely initialized
10795 - bpo-41979: Star-unpacking is now allowed for with item's targets in the
10798 - bpo-41974: Removed special methods ``__int__``, ``__float__``,
10803 - bpo-41902: Micro optimization when compute
10806 Dong-hee Na.
10808 - bpo-41894: When loading a native module and a load failure occurs, prevent
10809 a possible UnicodeDecodeError when not running in a UTF-8 locale by
10812 - bpo-41902: Micro optimization for range.index if step is 1. Patch by
10813 Dong-hee Na.
10815 - bpo-41435: Add `sys._current_exceptions()` function to retrieve a
10819 - bpo-38605: Enable ``from __future__ import annotations`` (:pep:`563`) by
10824 -------
10826 - bpo-35455: On Solaris, :func:`~time.thread_time` is now implemented with
10830 - bpo-42233: The :func:`repr` of :mod:`typing` types containing
10831 :ref:`Generic Alias Types <types-genericalias>` previously did not show
10835 - bpo-29566: ``binhex.binhex()`` consistently writes macOS 9 line endings.
10837 - bpo-26789: The :class:`logging.FileHandler` class now keeps a reference to
10842 - bpo-42157: Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an
10846 - bpo-42157: Convert the :mod:`unicodedata` extension module to the
10851 - bpo-42146: Fix memory leak in :func:`subprocess.Popen` in case an uid
10855 - bpo-42103: :exc:`~plistlib.InvalidFileException` and :exc:`RecursionError`
10860 - bpo-41490: In ``importlib.resources``, ``.path`` method is more aggressive
10861 about releasing handles to zipfile objects early, enabling use-cases like
10864 - bpo-41052: Pickling heap types implemented in C with protocols 0 and 1
10867 - bpo-42089: In ``importlib.metadata.PackageNotFoundError``, make reference
10870 - bpo-41491: plistlib: fix parsing XML plists with hexadecimal integer
10873 - bpo-42065: Fix an incorrectly formatted error from
10877 - bpo-41966: Fix pickling pure Python :class:`datetime.time` subclasses.
10880 - bpo-19270: :meth:`sched.scheduler.cancel()` will now cancel the correct
10884 - bpo-28660: :func:`textwrap.wrap` now attempts to break long words after
10887 - bpo-35823: Use ``vfork()`` instead of ``fork()`` for
10891 - bpo-42043: Add support for ``zipfile.Path`` inheritance.
10892 ``zipfile.Path.is_file()`` now returns False for non-existent names.
10897 - bpo-42021: Fix possible ref leaks in :mod:`sqlite3` module init.
10899 - bpo-39101: Fixed tests using IsolatedAsyncioTestCase from hanging on
10902 - bpo-41976: Fixed a bug that was causing :func:`ctypes.util.find_library`
10906 - bpo-41943: Fix bug where TestCase.assertLogs doesn't correctly filter
10909 - bpo-41923: Implement :pep:`613`, introducing :data:`typing.TypeAlias`
10912 - bpo-41905: A new function in abc: *update_abstractmethods* to re-calculate
10916 - bpo-23706: Added *newline* parameter to ``pathlib.Path.write_text()``.
10918 - bpo-41876: Tkinter font class repr uses font name
10920 - bpo-41831: ``str()`` for the ``type`` attribute of the ``tkinter.Event``
10924 - bpo-39337: :func:`encodings.normalize_encoding` now ignores non-ASCII
10927 - bpo-41747: Ensure all methods that generated from
10931 - bpo-30681: Handle exceptions caused by unparsable date headers when using
10934 - bpo-41586: Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow
10937 - bpo-41229: Add ``contextlib.aclosing`` for deterministic cleanup of async
10938 generators which is analogous to ``contextlib.closing`` for non-async
10941 - bpo-16396: Allow ``ctypes.wintypes`` to be imported on non-Windows
10944 - bpo-4356: Add a key function to the bisect module.
10946 - bpo-40592: :func:`shutil.which` now ignores empty entries in
10949 - bpo-40492: Fix ``--outfile`` for :mod:`cProfile` / :mod:`profile` not
10953 - bpo-34204: The :mod:`shelve` module now uses
10957 - bpo-27321: Fixed KeyError exception when flattening an email to a string
10958 attempts to replace a non-existent Content-Transfer-Encoding header.
10960 - bpo-38976: The :mod:`http.cookiejar` module now supports the parsing of
10961 cookies in CURL-style cookiejar files through MozillaCookieJar on all
10970 -------------
10972 - bpo-42061: Document __format__ functionality for IP addresses.
10974 - bpo-41910: Document the default implementation of `object.__eq__`.
10976 - bpo-42010: Clarify that subscription expressions are also valid for
10978 library, and for user-defined classes and types if the classmethod
10981 - bpo-41805: Documented :ref:`generic alias type <types-genericalias>` and
10985 - bpo-39693: Fix tarfile's extractfile documentation
10987 - bpo-39416: Document some restrictions on the default string
10991 -----
10993 - bpo-41739: Fix test_logging.test_race_between_set_target_and_flush(): the
10997 - bpo-41970: Avoid a test failure in ``test_lib2to3`` if the module has
11000 - bpo-41944: Tests for CJK codecs no longer call ``eval()`` on content
11003 - bpo-41306: Fixed a failure in ``test_tk.test_widgets.ScaleTest`` happening
11007 -----
11009 - bpo-38980: Add ``-fno-semantic-interposition`` to both the compile and
11010 link line when building with ``--enable-optimizations``. Patch by Victor
11014 -------
11016 - bpo-38439: Updates the icons for IDLE in the Windows Store package.
11018 - bpo-38252: Use 8-byte step to detect ASCII sequence in 64-bit Windows
11021 - bpo-39107: Update Tcl and Tk to 8.6.10 in Windows installer.
11023 - bpo-41557: Update Windows installer to use SQLite 3.33.0.
11025 - bpo-38324: Avoid Unicode errors when accessing certain locale data on
11029 -----
11031 - bpo-41471: Ignore invalid prefix lengths in system proxy excludes.
11034 ----
11036 - bpo-33987: Mostly finish using ttk widgets, mainly for editor, settings,
11039 - bpo-40511: Typing opening and closing parentheses inside the parentheses
11041 of an existing open call-tip, e.g. when typed in a string literal.
11043 - bpo-38439: Add a 256×256 pixel IDLE icon to the Windows .ico file. Created
11044 by Andrew Clover. Remove the low-color gif variations from the .ico file.
11047 -----
11049 - bpo-42157: The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule
11053 - bpo-42015: Fix potential crash in deallocating method objects when
11057 - bpo-40423: The :mod:`subprocess` module and ``os.closerange`` will now use
11061 - bpo-41845: :c:func:`PyObject_GenericGetDict` is available again in the
11064 - bpo-40422: Add `_Py_closerange` function to provide performant closing of
11067 - bpo-41986: :c:data:`Py_FileSystemDefaultEncodeErrors` and
11070 - bpo-41756: Add `PyIter_Send` function to allow sending value into
11074 - bpo-41784: Added ``PyUnicode_AsUTF8AndSize`` to the limited C API.
11080 *Release date: 2020-10-05*
11083 --------
11085 - bpo-41304: Fixes `python3x._pth` being ignored on Windows, caused by the
11086 fix for :issue:`29778` (CVE-2020-15801).
11088 - bpo-41162: Audit hooks are now cleared later during finalization to avoid
11091 - bpo-29778: Ensure :file:`python3.dll` is loaded from correct locations
11092 when Python is embedded (CVE-2020-15523).
11094 - bpo-41004: The __hash__() methods of ipaddress.IPv4Interface and
11100 - bpo-39603: Prevent http header injection by rejecting control characters
11104 -----------------
11106 - bpo-41909: Fixed stack overflow in :func:`issubclass` and
11110 - bpo-41922: Speed up calls to ``reversed()`` by using the :pep:`590`
11111 ``vectorcall`` calling convention. Patch by Dong-hee Na.
11113 - bpo-41873: Calls to ``float()`` are now faster due to the ``vectorcall``
11116 - bpo-41870: Speed up calls to ``bool()`` by using the :pep:`590`
11117 ``vectorcall`` calling convention. Patch by Dong-hee Na.
11119 - bpo-1635741: Port the :mod:`_bisect` module to the multi-phase
11122 - bpo-39934: Correctly count control blocks in 'except' in compiler. Ensures
11126 - bpo-41780: Fix :meth:`__dir__` of :class:`types.GenericAlias`. Patch by
11129 - bpo-1635741: Port the :mod:`_lsprof` extension module to multi-phase
11132 - bpo-1635741: Port the :mod:`cmath` extension module to multi-phase
11135 - bpo-1635741: Port the :mod:`_scproxy` extension module to multi-phase
11138 - bpo-1635741: Port the :mod:`termios` extension module to multi-phase
11141 - bpo-1635741: Convert the :mod:`_sha256` extension module types to heap
11144 - bpo-41690: Fix a possible stack overflow in the parser when parsing
11148 - bpo-1635741: Port the :mod:`_overlapped` extension module to multi-phase
11151 - bpo-1635741: Port the :mod:`_curses_panel` extension module to multi-phase
11154 - bpo-1635741: Port the :mod:`_opcode` extension module to multi-phase
11157 - bpo-41681: Fixes the wrong error description in the error raised by using
11158 2 `,` in format string in f-string and :meth:`str.format`.
11160 - bpo-41675: The implementation of :func:`signal.siginterrupt` now uses
11164 - bpo-41670: Prevent line trace being skipped on platforms not compiled with
11166 try-except block were not being traced on Windows.
11168 - bpo-41654: Fix a crash that occurred when destroying subclasses of
11171 - bpo-1635741: Port the :mod:`zlib` extension module to multi-phase
11174 - bpo-41631: The ``_ast`` module uses again a global state. Using a module
11180 - bpo-40077: Convert :mod:`_operator` to use :c:func:`PyType_FromSpec`.
11182 - bpo-1653741: Port :mod:`_sha3` to multi-phase init. Convert static types
11185 - bpo-1635741: Port the :mod:`_blake2` extension module to the multi-phase
11188 - bpo-41533: Free the stack allocated in ``va_build_stack`` if
11191 - bpo-41531: Fix a bug that was dropping keys when compiling dict literals
11194 - bpo-41525: The output of ``python --help`` contains now only ASCII
11197 - bpo-1635741: Port the :mod:`_sha1`, :mod:`_sha512`, and :mod:`_md5`
11198 extension modules to multi-phase initialization API (:pep:`489`).
11200 - bpo-41431: Optimize ``dict_merge()`` for copying dict (e.g. ``dict(d)``
11203 - bpo-41428: Implement PEP 604. This supports (int | str) etc. in place of
11206 - bpo-41340: Removed fallback implementation for ``strdup``.
11208 - bpo-38156: Handle interrupts that come after EOF correctly in
11211 - bpo-41342: :func:`round` with integer argument is now faster (9--60%).
11213 - bpo-41334: Constructors :func:`str`, :func:`bytes` and :func:`bytearray`
11214 are now faster (around 30--40% for small objects).
11216 - bpo-41295: Resolve a regression in CPython 3.8.4 where defining
11217 "__setattr__" in a multi-inheritance setup and calling up the hierarchy
11221 - bpo-41323: Bytecode optimizations are performed directly on the control
11225 - bpo-41247: Always cache the running loop holder when running
11228 - bpo-41252: Fix incorrect refcounting in _ssl.c's
11231 - bpo-1635741: Port :mod:`multiprocessing` to multi-phase initialization
11233 - bpo-1635741: Port :mod:`winapi` to multiphase initialization
11235 - bpo-41215: Use non-NULL default values in the PEG parser keyword list to
11239 - bpo-41218: Python 3.8.3 had a regression where compiling with
11244 - bpo-1635741: Port :mod:`faulthandler` to multiphase initialization.
11246 - bpo-1635741: Port :mod:`sha256` to multiphase initialization
11248 - bpo-41175: Guard against a NULL pointer dereference within bytearrayobject
11251 - bpo-41100: add arm64 to the allowable Mac OS arches in mpdecimal.h
11253 - bpo-41094: Fix decoding errors with audit when open files with non-ASCII
11254 names on non-UTF-8 locale.
11256 - bpo-39960: The "hackcheck" that prevents sneaking around a type's
11260 - bpo-41084: Prefix the error message with 'f-string: ', when parsing an
11261 f-string expression which throws a :exc:`SyntaxError`.
11263 - bpo-40521: Empty frozensets are no longer singletons.
11265 - bpo-41076: Pre-feed the parser with the location of the f-string
11266 expression, not the f-string itself, which allows us to skip the shifting
11269 - bpo-41056: Fixes a reference to deallocated stack space during startup
11271 supplied via -c. (discovered via Coverity)
11273 - bpo-41061: Fix incorrect expressions and asserts in hashtable code and
11276 - bpo-41052: Opt out serialization/deserialization for _random.Random
11278 - bpo-40939: Rename `PyPegen*` functions to `PyParser*`, so that we can
11280 parser, but keep everything backwards-compatible.
11282 - bpo-35975: Stefan Behnel reported that cf_feature_version is used even
11286 - bpo-40939: Remove the remaining files from the old parser and the
11289 - bpo-40077: Convert :mod:`_bz2` to use :c:func:`PyType_FromSpec`.
11291 - bpo-41006: The ``encodings.latin_1`` module is no longer imported at
11295 - bpo-40636: :func:`zip` now supports :pep:`618`'s ``strict`` parameter,
11299 - bpo-1635741: Port :mod:`_gdbm` to multiphase initialization.
11301 - bpo-40985: Fix a bug that caused the :exc:`SyntaxError` text to be empty
11305 - bpo-40958: Fix a possible buffer overflow in the PEG parser when gathering
11308 - bpo-1635741: Port :mod:`_dbm` to multiphase initialization.
11310 - bpo-40957: Fix refleak in _Py_fopen_obj() when PySys_Audit() fails
11312 - bpo-40950: Add a state to the :mod:`nis` module (:pep:`3121`) and apply
11313 the multiphase initialization. Patch by Dong-hee Na.
11315 - bpo-40947: The Python :ref:`Path Configuration <init-path-config>` now
11318 - bpo-40939: Remove the old parser, the :mod:`parser` module and all
11319 associated support code, command-line options and environment variables.
11322 - bpo-40847: Fix a bug where a line with only a line continuation character
11329 - bpo-40890: Each dictionary view now has a ``mapping`` attribute that
11333 - bpo-40889: Improved the performance of symmetric difference operations on
11336 - bpo-40904: Fix possible segfault in the new PEG parser when parsing
11337 f-string containing yield statements with no value (:code:`f"{yield}"`).
11340 - bpo-40903: Fixed a possible segfault in the new PEG parser when producing
11344 - bpo-40880: Fix invalid memory read in the new parser when checking
11347 - bpo-40883: Fix memory leak in when parsing f-strings in the new parser.
11350 - bpo-40870: Raise :exc:`ValueError` when validating custom AST's where the
11354 - bpo-40854: Allow overriding :data:`sys.platlibdir` via a new
11357 - bpo-40826: Fix GIL usage in :c:func:`PyOS_Readline`: lock the GIL to set
11361 - bpo-1635741: Port :mod:`fcntl` to multiphase initialization.
11363 - bpo-19468: Delete unnecessary instance check in importlib.reload(). Patch
11366 - bpo-40824: Unexpected errors in calling the ``__iter__`` method are no
11371 - bpo-40792: Attributes ``start``, ``stop`` and ``step`` of the
11375 - bpo-40780: Fix a corner case where g-style string formatting of a float
11378 - bpo-38964: When there's a :exc:`SyntaxError` in the expression part of an
11382 - bpo-40750: Support the "-d" debug flag in the new PEG parser. Patch by
11385 - bpo-40217: Instances of types created with
11391 - bpo-39573: :c:func:`Py_TYPE()` is changed to the inline static function.
11392 Patch by Dong-hee Na.
11394 - bpo-40696: Fix a hang that can arise after :meth:`generator.throw` due to
11397 - bpo-40521: Each interpreter now its has own free lists, singletons and
11408 - bpo-40679: Certain :exc:`TypeError` messages about missing or extra
11412 - bpo-29590: Make the stack trace correct after calling
11416 - bpo-4022: Improve performance of generators by not raising internal
11419 - bpo-1635741: Port :mod:`mmap` to multiphase initialization.
11421 - bpo-1635741: Port :mod:`_lzma` to multiphase initialization.
11423 - bpo-37999: Builtin and extension functions that take integer arguments no
11429 - bpo-29882: Add :meth:`int.bit_count()`, counting the number of ones in the
11432 - bpo-36982: Use ncurses extended color functions when available to support
11437 - bpo-19569: Add the private macros ``_Py_COMP_DIAG_PUSH``,
11440 - bpo-26680: The int type now supports the x.is_integer() method for
11444 -------
11446 - bpo-41900: C14N 2.0 serialisation in xml.etree.ElementTree failed for
11449 - bpo-41887: Strip leading spaces and tabs on :func:`ast.literal_eval`. Also
11452 - bpo-41773: Note in documentation that :func:`random.choices` doesn't
11453 support non-finite weights, raise :exc:`ValueError` when given non-finite
11456 - bpo-41840: Fix a bug in the :mod:`symtable` module that was causing
11457 module-scope global variables to not be reported as both local and global.
11460 - bpo-41842: Add :func:`codecs.unregister` function to unregister a codec
11463 - bpo-40564: In ``zipfile.Path``, mutate the passed ZipFile object type
11467 - bpo-40670: More reliable validation of statements in
11471 - bpo-41833: The :class:`threading.Thread` constructor now uses the target
11475 - bpo-41817: fix `tkinter.EventType` Enum so all members are strings, and
11478 - bpo-41810: :data:`types.EllipsisType`, :data:`types.NotImplementedType`
11482 - bpo-41815: Fix SQLite3 segfault when backing up closed database. Patch
11485 - bpo-41816: StrEnum added: it ensures that all members are already strings
11488 - bpo-41517: fix bug allowing Enums to be extended via multiple inheritance
11490 - bpo-39587: use the correct mix-in data type when constructing Enums
11492 - bpo-41792: Add is_typeddict function to typing.py to check if a type is a
11499 - bpo-41789: Honor `object` overrides in `Enum` class creation
11502 - bpo-32218: `enum.Flag` and `enum.IntFlag` members are now iterable
11504 - bpo-39651: Fix a race condition in the ``call_soon_threadsafe()`` method
11505 of ``asyncio.ProactorEventLoop``: do nothing if the self-pipe socket has
11508 - bpo-1635741: Port the ``mashal`` extension module to the multi-phase
11511 - bpo-1635741: Port the ``_string`` extension module to the multi-phase
11514 - bpo-41732: Added an :term:`iterator` to :class:`memoryview`.
11516 - bpo-41720: Fixed :meth:`turtle.Vec2D.__rmul__` for arguments which are not
11519 - bpo-41696: Fix handling of debug mode in :func:`asyncio.run`. This allows
11520 setting ``PYTHONASYNCIODEBUG`` or ``-X dev`` to enable asyncio debug mode
11523 - bpo-41687: Fix implementation of sendfile to be compatible with Solaris.
11525 - bpo-41662: No longer override exceptions raised in ``__len__()`` of a
11529 - bpo-39010: Restarting a ``ProactorEventLoop`` on Windows no longer logs
11532 - bpo-41638: :exc:`~sqlite3.ProgrammingError` message for absent parameter
11536 - bpo-41662: Fixed crash when mutate list of parameters during iteration in
11539 - bpo-41513: Improved the accuracy of math.hypot(). Internally, each step
11543 - bpo-41609: The pdb whatis command correctly reports instance methods as
11546 - bpo-39994: Fixed pprint's handling of dict subclasses that override
11549 - bpo-32751: When cancelling the task due to a timeout,
11554 - bpo-37658: :meth:`asyncio.wait_for` now properly handles races between
11557 - bpo-40782: Change the method asyncio.AbstractEventLoop.run_in_executor to
11560 - bpo-41520: Fix :mod:`codeop` regression that prevented turning compile
11563 - bpo-41528: turtle uses math module functions to convert degrees to radians
11566 - bpo-41513: Minor algorithmic improvement to math.hypot() and math.dist()
11569 - bpo-41503: Fixed a race between setTarget and flush in
11572 - bpo-41497: Fix potential UnicodeDecodeError in dis module.
11574 - bpo-41467: On Windows, fix asyncio ``recv_into()`` return value when the
11578 - bpo-41425: Make tkinter doc example runnable.
11580 - bpo-41421: Make an algebraic simplification to random.paretovariate(). It
11581 now is slightly less subject to round-off error and is slightly faster.
11585 - bpo-41440: Add :func:`os.cpu_count()` support for VxWorks RTOS.
11587 - bpo-41316: Fix the :mod:`tarfile` module to write only basename of TAR
11590 - bpo-41384: Raise TclError instead of TypeError when an unknown option is
11593 - bpo-41317: Use add_done_callback() in asyncio.loop.sock_accept() to
11596 - bpo-41364: Reduce import overhead of :mod:`uuid`.
11598 - bpo-35328: Set the environment variable ``VIRTUAL_ENV_PROMPT`` at
11601 - bpo-41341: Recursive evaluation of `typing.ForwardRef` in
11604 - bpo-41344: Prevent creating :class:`shared_memory.SharedMemory` objects
11607 - bpo-41333: :meth:`collections.OrderedDict.pop` is now 2 times faster.
11609 - bpo-41288: Unpickling invalid NEWOBJ_EX opcode with the C implementation
11612 - bpo-39017: Avoid infinite loop when reading specially crafted TAR files
11613 using the tarfile module (CVE-2019-20907).
11615 - bpo-41273: Speed up any transport using ``_ProactorReadPipeTransport`` by
11619 - bpo-41235: Fix the error handling in
11622 - bpo-41207: In distutils.spawn, restore expectation that DistutilsExecError
11625 - bpo-29727: Register :class:`array.array` as a
11628 - bpo-39168: Remove the ``__new__`` method of :class:`typing.Generic`.
11630 - bpo-41194: Fix a crash in the ``_ast`` module: it can no longer be loaded
11633 - bpo-41195: Add read-only ssl.SSLContext.security_level attribute to
11636 - bpo-41193: The ``write_history()`` atexit function of the readline
11638 is read-only, instead of only ignoring :exc:`FileNotFoundError` and
11641 - bpo-41182: selector: use DefaultSelector based upon implementation
11643 - bpo-41161: The decimal module now requires libmpdec-2.5.0. Users of
11644 --with-system-libmpdec should update their system library.
11646 - bpo-40874: The decimal module now requires libmpdec-2.5.0.
11648 - bpo-41138: Fixed the :mod:`trace` module CLI for Python source files with
11649 non-UTF-8 encoding.
11651 - bpo-31082: Use the term "iterable" in the docstring for
11654 - bpo-40521: Remove freelist from collections.deque().
11656 - bpo-31938: Fix default-value signatures of several functions in the
11657 :mod:`select` module - by Anthony Sottile.
11659 - bpo-41068: Fixed reading files with non-ASCII names from ZIP archive
11662 - bpo-41058: :func:`pdb.find_function` now correctly determines the source
11665 - bpo-41056: Invalid file descriptor values are now prevented from being
11668 - bpo-41056: Fix a NULL pointer dereference within the ssl module during a
11671 - bpo-41056: Fixed an instance where a MemoryError within the zoneinfo
11675 - bpo-41048: :func:`mimetypes.read_mime_types` function reads the rule file
11676 using UTF-8 encoding, not the locale encoding. Patch by Srinivas Reddy
11679 - bpo-41043: Fixed the use of :func:`~glob.glob` in the stdlib: literal part
11682 - bpo-41025: Fixed an issue preventing the C implementation of
11685 - bpo-35018: Add the :class:`xml.sax.handler.LexicalHandler` class that is
11688 - bpo-41002: Improve performance of HTTPResponse.read with a given amount.
11691 - bpo-40448: :mod:`ensurepip` now disables the use of `pip` cache when
11695 - bpo-40967: Removed :meth:`asyncio.Task.current_task` and
11698 - bpo-40924: Ensure ``importlib.resources.path`` returns an extant path for
11700 in master while a long-term solution is devised.
11702 - bpo-40955: Fix a minor memory leak in :mod:`subprocess` module when
11705 - bpo-40855: The standard deviation and variance functions in the statistics
11708 - bpo-40939: Use the new PEG parser when generating the stdlib
11711 - bpo-23427: Add :data:`sys.orig_argv` attribute: the list of the original
11714 - bpo-33689: Ignore empty or whitespace-only lines in .pth files. This
11716 site-packages dir to appear multiple times in sys.path. By Ido Michael,
11719 - bpo-40884: Added a `defaults` parameter to :class:`logging.Formatter`, to
11723 - bpo-40876: Clarify error message in the :mod:`csv` module.
11725 - bpo-39791: Refresh importlib.metadata from importlib_metadata 1.6.1.
11727 - bpo-40807: Stop codeop._maybe_compile, used by code.InteractiveInterpreter
11730 - bpo-32604: Fix reference leak in the :mod:`select` module when the module
11733 - bpo-39791: Built-in loaders (SourceFileLoader and ZipImporter) now supply
11737 - bpo-39314: :class:`rlcompleter.Completer` and the standard Python shell
11741 - bpo-17005: The topological sort functionality that was introduced
11746 - bpo-40834: Fix truncate when sending str object
11749 - bpo-40755: Add rich comparisons to collections.Counter().
11751 - bpo-26407: Unexpected errors in calling the ``__iter__`` method are no
11755 - bpo-39384: Fixed email.contentmanager to allow set_content() to set a null
11758 - bpo-40744: The :mod:`sqlite3` module uses SQLite API functions that
11763 - bpo-40777: Initialize PyDateTime_IsoCalendarDateType.tp_base at run-time
11766 - bpo-38488: Update ensurepip to install pip 20.1.1 and setuptools 47.1.0.
11768 - bpo-40792: The result of :func:`operator.index` now always has exact type
11772 - bpo-40767: :mod:`webbrowser` now properly finds the default browser in
11776 - bpo-40791: :func:`hashlib.compare_digest` uses OpenSSL's
11779 - bpo-40795: :mod:`ctypes` module: If ctypes fails to convert the result of
11784 - bpo-16995: Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode`
11787 - bpo-30008: Fix :mod:`ssl` code to be compatible with OpenSSL 1.1.x builds
11788 that use ``no-deprecated`` and ``--api=1.1.0``.
11790 - bpo-30064: Fix asyncio ``loop.sock_*`` race condition issue
11792 - bpo-40759: Deprecate the :mod:`symbol` module.
11794 - bpo-40756: The second argument (extra) of ``LoggerAdapter.__init__`` now
11797 - bpo-37129: Add a new :data:`os.RWF_APPEND` flag for :func:`os.pwritev`.
11799 - bpo-40737: Fix possible reference leak for :mod:`sqlite3` initialization.
11801 - bpo-40726: Handle cases where the ``end_lineno`` is ``None`` on
11804 - bpo-40698: :mod:`distutils` upload creates SHA2-256 and Blake2b-256
11807 - bpo-40695: :mod:`hashlib` no longer falls back to builtin hash
11811 - bpo-9216: func:`hashlib.new` passed ``usedforsecurity`` to OpenSSL EVP
11815 - bpo-40614: :func:`ast.parse` will not parse self documenting expressions
11816 in f-strings when passed ``feature_version`` is less than ``(3, 8)``.
11818 - bpo-40626: Add h5 file extension as MIME Type application/x-hdf5, as per
11822 - bpo-25920: On macOS, when building Python for macOS 10.4 and older, which
11825 ``getaddrinfo()`` which is thread-safe since macOS 10.5. Python 3.9
11831 - bpo-40671: Prepare ``_hashlib`` for :pep:`489` and use
11834 - bpo-32309: Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is
11835 mainly used for running IO-bound functions in a separate thread to avoid
11836 blocking the event loop, and essentially works as a high-level version of
11840 - bpo-36543: Restored the deprecated :mod:`xml.etree.cElementTree` module.
11842 - bpo-40611: :data:`~mmap.MAP_POPULATE` constant has now been added to the
11845 - bpo-39881: PEP 554 for use in the test suite. (Patch By Joannah Nanjekye)
11847 - bpo-13097: ``ctypes`` now raises an ``ArgumentError`` when a callback is
11850 - bpo-39385: A new test assertion context-manager,
11854 - bpo-23082: Updated the error message and docs of PurePath.relative_to() to
11857 - bpo-40318: Use SQLite3 trace v2 API, if it is available.
11859 - bpo-40105: ZipFile truncates files to avoid corruption when a shorter
11862 - bpo-40084: Fix ``Enum.__dir__``: dir(Enum.member) now includes attributes
11865 - bpo-31122: ssl.wrap_socket() now raises ssl.SSLEOFError rather than
11868 - bpo-39728: fix default `_missing_` so a duplicate `ValueError` is not set
11871 - bpo-39244: Fixed :class:`multiprocessing.context.get_all_start_methods` to
11874 - bpo-39040: Fix parsing of invalid mime headers parameters by collapsing
11875 whitespace between encoded words in a bare-quote-string.
11877 - bpo-38731: Add ``--quiet`` option to command-line interface of
11880 - bpo-35714: :exc:`struct.error` is now raised if there is a null character
11883 - bpo-38144: Added the *root_dir* and *dir_fd* parameters in
11886 - bpo-26543: Fix :meth:`IMAP4.noop()` when debug mode is enabled (ex:
11889 - bpo-12178: :func:`csv.writer` now correctly escapes *escapechar* when
11893 - bpo-36290: AST nodes are now raising :exc:`TypeError` on conflicting
11896 - bpo-33944: Added site.py site-packages tracing in verbose mode.
11898 - bpo-35078: Refactor formatweekday, formatmonthname methods in
11903 - bpo-29620: :func:`~unittest.TestCase.assertWarns` no longer raises a
11908 - bpo-31844: Remove ``ParserBase.error()`` method from the private and
11913 - bpo-34226: Fix `cgi.parse_multipart` without content_length. Patch by
11916 - bpo-33660: Fix pathlib.PosixPath to resolve a relative path located on the
11919 - bpo-28557: Improve the error message for a misbehaving ``rawio.readinto``
11921 - bpo-26680: The d.is_integer() method is added to the Decimal type, for
11924 - bpo-26680: The x.is_integer() method is incorporated into the abstract
11929 -------------
11931 - bpo-41428: Add documentation for :pep:`604` (Allow writing union types as
11934 - bpo-41774: In Programming FAQ "Sequences (Tuples/Lists)" section, add "How
11937 - bpo-35293: Fix RemovedInSphinx40Warning when building the documentation.
11938 Patch by Dong-hee Na.
11940 - bpo-37149: Change Shipman tkinter doc link from archive.org to TkDocs.
11944 - bpo-41726: Update the refcounts info of ``PyType_FromModuleAndSpec``.
11946 - bpo-41624: Fix the signature of :class:`typing.Coroutine`.
11948 - bpo-40204: Enable Sphinx 3.2 ``c_allow_pre_v3`` option and disable
11952 - bpo-41045: Add documentation for debug feature of f-strings.
11954 - bpo-41314: Changed the release when ``from __future__ import annotations``
11958 - bpo-40979: Refactored typing.rst, arranging more than 70 classes,
11959 functions, and decorators into new sub-sections.
11961 - bpo-40552: Fix in tutorial section 4.2. Code snippet is now correct.
11963 - bpo-39883: Make code, examples, and recipes in the Python documentation be
11967 - bpo-37703: Updated Documentation to comprehensively elaborate on the
11971 -----
11973 - bpo-41939: Fix test_site.test_license_exists_at_url(): call
11977 - bpo-41731: Make test_cmd_line_script pass with option '-vv'.
11979 - bpo-41602: Add tests for SIGINT handling in the runpy module.
11981 - bpo-41521: :mod:`test.support`: Rename ``blacklist`` parameter of
11984 - bpo-41477: Make ctypes optional in test_genericalias.
11986 - bpo-41085: Fix integer overflow in the :meth:`array.array.index` method on
11987 64-bit Windows for index larger than ``2**31``.
11989 - bpo-41069: :data:`test.support.TESTFN` and the current directory for tests
11990 when run via ``test.regrtest`` contain now non-ascii characters if
11993 - bpo-38377: On Linux, skip tests using multiprocessing if the current user
11998 - bpo-41009: Fix use of ``support.require_{linux|mac|freebsd}_version()``
12001 - bpo-41003: Fix ``test_copyreg`` when ``numpy`` is installed:
12005 - bpo-40964: Disable remote :mod:`imaplib` tests, host cyrus.andrew.cmu.edu
12008 - bpo-40927: Fix test_binhex when run twice: it now uses
12012 - bpo-17258: Skip some :mod:`multiprocessing` tests when MD5 hash digest is
12015 - bpo-31904: Increase LOOPBACK_TIMEOUT to 10 for VxWorks RTOS.
12017 - bpo-38169: Increase code coverage for SharedMemory and ShareableList
12019 - bpo-34401: Make test_gdb properly run on HP-UX. Patch by Michael Osipov.
12022 -----
12024 - bpo-38249: Update :c:macro:`Py_UNREACHABLE` to use __builtin_unreachable()
12025 if only the compiler is able to use it. Patch by Dong-hee Na.
12027 - bpo-41617: Fix ``pycore_bitutils.h`` header file to support old clang
12030 - bpo-40204: Pin Sphinx version to 2.3.1 in ``Doc/Makefile``.
12032 - bpo-36020: The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf`
12035 - bpo-40684: ``make install`` now uses the ``PLATLIBDIR`` variable for the
12036 destination ``lib-dynload/`` directory when ``./configure
12037 --with-platlibdir`` is used.
12039 - bpo-40683: Fixed an issue where the :mod:`zoneinfo` module and its tests
12043 -------
12045 - bpo-41744: Fixes automatic import of props file when using the Nuget
12048 - bpo-41627: The user site directory for 32-bit now includes a ``-32``
12049 suffix to distinguish it from the 64-bit interpreter's directory.
12051 - bpo-41526: Fixed layout of final page of the installer by removing the
12054 - bpo-41492: Fixes the description that appears in UAC prompts.
12056 - bpo-40948: Improve post-install message to direct people to the "py"
12059 - bpo-41412: The installer will now fail to install on Windows 7 and Windows
12062 - bpo-40741: Update Windows release to include SQLite 3.32.3.
12064 - bpo-41142: :mod:`msilib` now supports creating CAB files with non-ASCII
12065 file path and adding files with non-ASCII file path to them.
12067 - bpo-41074: Fixed support of non-ASCII names in functions
12068 :func:`msilib.OpenDatabase` and :func:`msilib.init_database` and non-ASCII
12071 - bpo-41039: Stable ABI redirection DLL (python3.dll) now uses ``#pragma
12072 comment(linker)`` for re-exporting.
12074 - bpo-40164: Updates Windows OpenSSL to 1.1.1g
12076 - bpo-39631: Changes the registered MIME type for ``.py`` files on Windows
12077 to ``text/x-python`` instead of ``text/plain``.
12079 - bpo-40677: Manually define IO_REPARSE_TAG_APPEXECLINK in case some old
12082 - bpo-37556: Extend py.exe help to mention overrides via venv, shebang,
12086 -----
12088 - bpo-41557: Update macOS installer to use SQLite 3.33.0.
12090 - bpo-39580: Avoid opening Finder window if running installer from the
12093 - bpo-41100: Fix configure error when building on macOS 11. Note that the
12099 - bpo-40741: Update macOS installer to use SQLite 3.32.3.
12101 - bpo-41005: fixed an XDG settings issue not allowing macos to open browser
12104 - bpo-40741: Update macOS installer to use SQLite 3.32.2.
12107 ----
12109 - bpo-41775: Use 'IDLE Shell' as shell title
12111 - bpo-35764: Rewrite the Calltips doc section.
12113 - bpo-40181: In calltips, stop reminding that '/' marks the end of
12114 positional-only arguments.
12116 - bpo-41468: Improve IDLE run crash error message (which users should never
12119 - bpo-41373: Save files loaded with no line ending, as when blank, or
12123 - bpo-41300: Save files with non-ascii chars. Fix regression released in
12126 - bpo-37765: Add keywords to module name completion list. Rewrite
12129 - bpo-41152: The encoding of ``stdin``, ``stdout`` and ``stderr`` in IDLE is
12130 now always UTF-8.
12132 - bpo-41144: Make Open Module open a special module such as os.path.
12134 - bpo-39885: Make context menu Cut and Copy work again when right-clicking
12137 - bpo-40723: Make test_idle pass when run after import.
12140 -----
12142 - bpo-41936: Removed undocumented macros ``Py_ALLOW_RECURSION`` and
12146 - bpo-41692: The ``PyUnicode_InternImmortal()`` function is now deprecated
12150 - bpo-41842: Add :c:func:`PyCodec_Unregister` function to unregister a codec
12153 - bpo-41834: Remove the ``_Py_CheckRecursionLimit`` variable: it has been
12157 - bpo-41689: Types created with :c:func:`PyType_FromSpec` now make any
12160 - bpo-41524: Fix bug in PyOS_mystrnicmp and PyOS_mystricmp that incremented
12163 - bpo-41324: Add a minimal decimal capsule API. The API supports fast
12167 - bpo-30155: Add :c:func:`PyDateTime_DATE_GET_TZINFO` and
12172 - bpo-40170: Revert :c:func:`PyType_HasFeature` change: it reads again
12177 - bpo-41123: Remove ``PyUnicode_AsUnicodeCopy``.
12179 - bpo-41123: Removed ``PyLong_FromUnicode()``.
12181 - bpo-41123: Removed ``PyUnicode_GetMax()``.
12183 - bpo-41123: Removed ``Py_UNICODE_str*`` functions manipulating
12186 - bpo-41103: ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``,
12191 - bpo-36346: Raises DeprecationWarning for ``PyUnicode_FromUnicode(NULL,
12194 - bpo-36346: Mark ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``,
12200 - bpo-40989: The :c:func:`PyObject_INIT` and :c:func:`PyObject_INIT_VAR`
12204 - bpo-36020: On Windows, ``#include "pyerrors.h"`` no longer defines
12207 - bpo-40943: The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use
12210 ``Z#``. See :ref:`Parsing arguments and building values <arg-parsing>` and
12213 - bpo-40910: Export explicitly the :c:func:`Py_GetArgcArgv` function to the
12215 which no longer works since Python is built with ``-fvisibility=hidden``.
12217 - bpo-40724: Allow defining buffer slots in type specs.
12219 - bpo-40679: Fix a ``_PyEval_EvalCode()`` crash if *qualname* argument is
12222 - bpo-40839: Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had
12225 - bpo-40826: :c:func:`PyOS_InterruptOccurred` now fails with a fatal error
12228 - bpo-40792: The result of :c:func:`PyNumber_Index` now always has exact
12232 - bpo-39573: Convert :c:func:`Py_REFCNT` and :c:func:`Py_SIZE` macros to
12233 static inline functions. They cannot be used as l-value anymore: use
12238 - bpo-40703: The PyType_FromSpec*() functions no longer overwrite the type's
12241 - bpo-39583: Remove superfluous "extern C" declarations from
12248 *Release date: 2020-05-19*
12251 --------
12253 - bpo-40501: :mod:`uuid` no longer uses :mod:`ctypes` to load
12257 -----------------
12259 - bpo-40663: Correctly generate annotations where parentheses are omitted
12262 - bpo-40596: Fixed :meth:`str.isidentifier` for non-canonicalized strings
12263 containing non-BMP characters on Windows.
12265 - bpo-40593: Improved syntax errors for invalid characters in source code.
12267 - bpo-40585: Fixed a bug when using :func:`codeop.compile_command` that was
12271 - bpo-40566: Apply :pep:`573` to :mod:`abc`.
12273 - bpo-40502: Initialize ``n->n_col_offset``. (Patch by Joannah Nanjekye)
12275 - bpo-40527: Fix command line argument parsing: no longer write errors
12278 - bpo-1635741: Port :mod:`errno` to multiphase initialization (:pep:`489`).
12280 - bpo-40523: Add pass-throughs for :func:`hash` and :func:`reversed` to
12283 - bpo-1635741: Port :mod:`syslog` to multiphase initialization (:pep:`489`).
12285 - bpo-40246: Reporting a specialised error message for invalid string
12292 - bpo-40417: Fix imp module deprecation warning when PyImport_ReloadModule
12295 - bpo-40408: Fixed support of nested type variables in GenericAlias (e.g.
12298 - bpo-1635741: Port _stat module to multiphase initialization (:pep:`489`).
12300 - bpo-29587: Enable implicit exception chaining when calling
12303 - bpo-40328: Add tools for generating mappings headers for CJKCodecs.
12305 - bpo-40228: Setting frame.f_lineno is now robust w.r.t. changes in the
12306 source-to-bytecode compiler
12308 - bpo-38880: Added the ability to list interpreters associated with channel
12311 - bpo-37986: Improve performance of :c:func:`PyLong_FromDouble` for values
12315 -------
12317 - bpo-40662: Fixed :func:`ast.get_source_segment` for ast nodes that have
12320 - bpo-40665: Convert :mod:`bisect` to use Argument Clinic.
12322 - bpo-40536: Added the :func:`~zoneinfo.available_timezones` function to the
12325 - bpo-40645: The :class:`hmac.HMAC` exposes internal implementation details.
12329 - bpo-40645: The internal module ``_hashlib`` wraps and exposes OpenSSL's
12334 - bpo-40637: Builtin hash modules can now be disabled or selectively enabled
12335 with ``configure --with-builtin-hashlib-hashes=sha3,blake1`` or
12336 ``--without-builtin-hashlib-hashes``.
12338 - bpo-37630: The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF
12341 - bpo-40479: The :mod:`hashlib` now compiles with OpenSSL 3.0.0-alpha2.
12343 - bpo-40257: Revert changes to :func:`inspect.getdoc`.
12345 - bpo-40607: When cancelling a task due to timeout, :meth:`asyncio.wait_for`
12349 - bpo-40612: Fix edge cases in SyntaxError formatting. If the offset is <=
12353 - bpo-40597: If text content lines are longer than policy.max_line_length,
12354 always use a content-encoding to make sure they are wrapped.
12356 - bpo-40571: Added functools.cache() as a simpler, more discoverable way to
12359 - bpo-40503: :pep:`615`, the :mod:`zoneinfo` module. Adds support for the
12362 - bpo-40397: Removed attributes ``__args__`` and ``__parameters__`` from
12365 - bpo-40549: Convert posixmodule.c ("posix" or "nt" module) to the
12368 - bpo-31033: Add a ``msg`` argument to :meth:`Future.cancel` and
12371 - bpo-40541: Added an optional *counts* parameter to random.sample().
12373 - bpo-40515: The :mod:`ssl` and :mod:`hashlib` modules now actively check
12375 support mandatory and no longer works safely with a no-thread builds.
12377 - bpo-31033: When a :class:`asyncio.Task` is cancelled, the exception
12381 - bpo-40504: :func:`functools.lru_cache` objects can now be the targets of
12384 - bpo-40559: Fix possible memory leak in the C implementation of
12387 - bpo-40480: ``fnmatch.fnmatch()`` could take exponential time in the
12392 - bpo-40495: :mod:`compileall` is now able to use hardlinks to prevent
12396 - bpo-40457: The ssl module now support OpenSSL builds without TLS 1.0 and
12399 - bpo-40355: Improve error reporting in :func:`ast.literal_eval` in the
12401 any non-conforming elements. Patch by Curtis Bucher.
12403 - bpo-40465: Deprecated the optional *random* argument to
12406 - bpo-40459: :func:`platform.win32_ver` now produces correct *ptype* strings
12409 - bpo-39435: The first argument of :func:`pickle.loads` is now
12410 positional-only.
12412 - bpo-39305: Update :mod:`nntplib` to merge :class:`nntplib.NNTP` and
12413 :class:`nntplib._NNTPBase`. Patch by Dong-hee Na.
12415 - bpo-32494: Update :mod:`dbm.gnu` to use gdbm_count if possible when
12416 calling :func:`len`. Patch by Dong-hee Na.
12418 - bpo-40453: Add ``isolated=True`` keyword-only parameter to
12422 - bpo-40286: Remove ``_random.Random.randbytes()``: the C implementation of
12426 - bpo-40394: Added default arguments to
12429 - bpo-39995: Fix a race condition in concurrent.futures._ThreadWakeup:
12432 - bpo-30966: ``Process.shutdown(wait=True)`` of :mod:`concurrent.futures`
12435 - bpo-30966: Add a new :meth:`~multiprocessing.SimpleQueue.close` method to
12439 - bpo-39966: Revert bpo-25597. :class:`unittest.mock.MagicMock` with wraps'
12442 - bpo-39791: Added ``files()`` function to importlib.resources with support
12446 - bpo-40375: :meth:`imaplib.IMAP4.unselect` is added. Patch by Dong-hee Na.
12448 - bpo-40389: ``repr()`` now returns ``typing.Optional[T]`` when called for
12451 - bpo-40291: Add support for CAN_J1939 sockets (available on Linux 5.4+)
12453 - bpo-40273: :class:`types.MappingProxyType` is now reversible.
12455 - bpo-39075: The repr for :class:`types.SimpleNamespace` is now insertion
12458 - bpo-40192: On AIX, :func:`~time.thread_time` is now implemented with
12463 - bpo-40025: Raise TypeError when _generate_next_value_ is defined after
12466 - bpo-39058: In the argparse module, the repr for Namespace() and other
12471 - bpo-24416: The ``isocalendar()`` methods of :class:`datetime.date` and
12476 -------------
12478 - bpo-34790: Add version of removal for explicit passing of coros to
12481 - bpo-40561: Provide docstrings for webbrowser open functions.
12483 - bpo-40499: Mention that :func:`asyncio.wait` requires a non-empty set of
12486 - bpo-39705: Tutorial example for sorted() in the Loop Techniques section is
12490 - bpo-39435: Fix an incorrect signature for :func:`pickle.loads` in the docs
12493 -----
12495 - bpo-40055: distutils.tests now saves/restores warnings filters to leave
12499 - bpo-40436: test_gdb and test.pythoninfo now check gdb command exit code.
12502 -----
12504 - bpo-40653: Move _dirnameW out of HAVE_SYMLINK to fix a potential compiling
12507 - bpo-40514: Add ``--with-experimental-isolated-subinterpreters`` build
12512 -------
12514 - bpo-40650: Include winsock2.h in pytime.c for timeval.
12516 - bpo-40458: Increase reserved stack space to prevent overflow crash on
12519 - bpo-39148: Add IPv6 support to :mod:`asyncio` datagram endpoints in
12524 -----
12526 - bpo-34956: When building Python on macOS from source, ``_tkinter`` now
12527 links with non-system Tcl and Tk frameworks if they are installed in
12530 ``--enable-universalsdk=`` or ``-isysroot``, only the SDK itself is
12532 ``--with-tcltk-includes`` and ``--with-tcltk-libs``.
12534 - bpo-35569: Expose RFC 3542 IPv6 socket options.
12537 -----------
12539 - bpo-40479: Update multissltest helper to test with latest OpenSSL 1.0.2,
12540 1.1.0, 1.1.1, and 3.0.0-alpha.
12542 - bpo-40431: Fix a syntax typo in ``turtledemo`` that now raises a
12545 - bpo-40163: Fix multissltest tool. OpenSSL has changed download URL for old
12550 -----
12552 - bpo-39465: Remove the ``_PyUnicode_ClearStaticStrings()`` function from
12555 - bpo-38787: Add PyCFunction_CheckExact() macro for exact type checks now
12559 - bpo-40545: Declare ``_PyErr_GetTopmostException()`` with ``PyAPI_FUNC()``
12563 - bpo-40412: Nullify inittab_copy during finalization, preventing future
12567 - bpo-40429: The :c:func:`PyThreadState_GetFrame` function now returns a
12570 - bpo-40428: Remove the following functions from the C API. Call
12582 - bpo-40421: New :c:func:`PyFrame_GetBack` function: get the frame next
12585 - bpo-40421: New :c:func:`PyFrame_GetCode` function: return a borrowed
12588 - bpo-40217: Ensure that instances of types created with
12594 - bpo-38787: Module C state is now accessible from C-defined heap type
12601 *Release date: 2020-04-27*
12604 --------
12606 - bpo-40121: Fixes audit events raised on creating a new socket.
12608 - bpo-39073: Disallow CR or LF in email.headerregistry.Address arguments to
12611 - bpo-39503: CVE-2020-8492: The
12619 -----------------
12621 - bpo-40313: Improve the performance of bytes.hex().
12623 - bpo-40334: Switch to a new parser, based on PEG. For more details see PEP
12624 617. To temporarily switch back to the old parser, use ``-X oldparser`` or
12629 - bpo-40267: Fix the tokenizer to display the correct error message, when
12634 - bpo-39522: Correctly unparse explicit ``u`` prefix for strings when
12637 - bpo-40246: Report a specialized error message, `invalid string prefix`,
12640 - bpo-40082: Fix the signal handler: it now always uses the main
12643 - bpo-37388: str.encode() and str.decode() no longer check the encoding and
12648 - bpo-40077: Fix possible refleaks in :mod:`_json`, memo of PyScannerObject
12651 - bpo-37207: Speed up calls to ``dict()`` by using the :pep:`590`
12654 - bpo-40141: Add column and line information to ``ast.keyword`` nodes. Patch
12657 - bpo-1635741: Port :mod:`resource` to multiphase initialization
12660 - bpo-1635741: Port :mod:`math` to multiphase initialization (:pep:`489`).
12662 - bpo-1635741: Port _uuid module to multiphase initialization (:pep:`489`).
12664 - bpo-40077: Convert json module to use :c:func:`PyType_FromSpec`.
12666 - bpo-40067: Improve the error message for multiple star expressions in an
12669 - bpo-1635741: Port _functools module to multiphase initialization (PEP
12672 - bpo-1635741: Port operator module to multiphase initialization (PEP 489).
12675 - bpo-20526: Fix :c:func:`PyThreadState_Clear()`. ``PyThreadState.frame`` is
12677 must not call ``Py_CLEAR(tstate->frame)``.
12679 - bpo-1635741: Port time module to multiphase initialization (:pep:`489`).
12682 - bpo-1635741: Port _weakref extension module to multiphase initialization
12685 - bpo-40020: Fix a leak and subsequent crash in parsetok.c caused by realloc
12688 - bpo-39939: Added str.removeprefix and str.removesuffix methods and
12693 - bpo-39481: Implement PEP 585. This supports list[int], tuple[str, ...]
12696 - bpo-32894: Support unparsing of infinity numbers in postponed annotations.
12699 - bpo-37207: Speed up calls to ``list()`` by using the :pep:`590`
12703 -------
12705 - bpo-40398: :func:`typing.get_args` now always returns an empty tuple for
12708 - bpo-40396: Functions :func:`typing.get_origin`, :func:`typing.get_args`
12712 - bpo-38061: Optimize the :mod:`subprocess` module on FreeBSD using
12724 - bpo-38061: On FreeBSD, ``os.closerange(fd_low, fd_high)`` now calls
12732 - bpo-40360: The :mod:`lib2to3` module is pending deprecation due to
12735 - bpo-40138: Fix the Windows implementation of :func:`os.waitpid` for exit
12739 - bpo-39942: Set "__main__" as the default module name when "__name__" is
12742 - bpo-40275: The :mod:`logging` package is now imported lazily in
12746 - bpo-40275: The :mod:`asyncio` package is now imported lazily in
12750 - bpo-40330: In :meth:`ShareableList.__setitem__`, check the size of a new
12751 string item after encoding it to utf-8, not before.
12753 - bpo-40148: Added :meth:`pathlib.Path.with_stem()` to create a new Path
12756 - bpo-40325: Deprecated support for set objects in random.sample().
12758 - bpo-40257: Improved help for the :mod:`typing` module. Docstrings are now
12763 - bpo-40257: func:`inspect.getdoc` no longer returns docstring inherited
12769 - bpo-40287: Fixed ``SpooledTemporaryFile.seek()`` to return the position.
12771 - bpo-40290: Added zscore() to statistics.NormalDist().
12773 - bpo-40282: Allow ``random.getrandbits(0)`` to succeed and to return 0.
12775 - bpo-40286: Add :func:`random.randbytes` function and
12778 - bpo-40277: :func:`collections.namedtuple` now provides a human-readable
12781 - bpo-40270: The included copy of sqlite3 on Windows is now compiled with
12785 - bpo-29255: Wait in `KqueueSelector.select` when no fds are registered
12787 - bpo-40260: Ensure :mod:`modulefinder` uses :func:`io.open_code` and
12790 - bpo-40234: Allow again to spawn daemon threads in subinterpreters (revert
12793 - bpo-39207: Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are
12798 - bpo-40091: Fix a hang at fork in the logging module: the new private
12802 - bpo-40149: Implement traverse and clear slots in _abc._abc_data type.
12804 - bpo-40208: Remove deprecated :meth:`symtable.SymbolTable.has_exec`.
12806 - bpo-40196: Fix a bug in the :mod:`symtable` module that was causing
12809 - bpo-40190: Add support for ``_SC_AIX_REALMEM`` to :func:`posix.sysconf`.
12811 - bpo-40182: Removed the ``_field_types`` attribute of the
12814 - bpo-36517: Multiple inheritance with :class:`typing.NamedTuple` now raises
12817 - bpo-40126: Fixed reverting multiple patches in unittest.mock. Patcher's
12821 - bpo-40094: CGIHTTPRequestHandler of http.server now logs the CGI script
12824 exit code -11."
12826 - bpo-40108: Improve the error message when triying to import a module using
12830 - bpo-40094: Add :func:`os.waitstatus_to_exitcode` function: convert a wait
12833 - bpo-40089: Fix threading._after_fork(): if fork was not called by a thread
12837 - bpo-40089: Add a private ``_at_fork_reinit()`` method to
12844 - bpo-25780: Expose :data:`~socket.CAN_RAW_JOIN_FILTERS` in the
12847 - bpo-39503: :class:`~urllib.request.AbstractBasicAuthHandler` of
12848 :mod:`urllib.request` now parses all WWW-Authenticate HTTP headers and
12852 - bpo-39812: Removed daemon threads from :mod:`concurrent.futures` by adding
12854 functions prior to joining all non-daemon threads. This allows for
12857 - bpo-40050: Fix ``importlib._bootstrap_external``: avoid creating a new
12861 - bpo-40014: Fix ``os.getgrouplist()``: if ``getgrouplist()`` function fails
12867 - bpo-40017: Add :data:`time.CLOCK_TAI` constant if the operating system
12870 - bpo-40016: In re docstring, clarify the relationship between inline and
12873 - bpo-39953: Update internal table of OpenSSL error codes in the ``ssl``
12876 - bpo-36144: Added :pep:`584` operators to
12879 - bpo-36144: Added :pep:`584` operators to
12882 - bpo-38891: Fix linear runtime behaviour of the `__getitem__` and
12888 - bpo-39682: Remove undocumented support for *closing* a `pathlib.Path`
12890 but they are now a no-op, making `Path` objects immutable.
12892 - bpo-36144: Added :pep:`584` operators (``|`` and ``|=``) to
12895 - bpo-39011: Normalization of line endings in ElementTree attributes was
12899 - bpo-38410: Properly handle :func:`sys.audit` failures in
12902 - bpo-36541: lib2to3 now recognizes named assignment expressions (the walrus
12905 - bpo-35967: In platform, delay the invocation of 'uname -p' until the
12908 - bpo-35113: :meth:`inspect.getsource` now returns correct source code for
12913 - bpo-33262: Deprecate passing None as an argument for
12916 - bpo-31758: Prevent crashes when using an uninitialized
12920 -------------
12922 - bpo-27635: The pickle documentation incorrectly claimed that ``__new__``
12925 - bpo-39879: Updated :ref:`datamodel` docs to include :func:`dict` insertion
12928 - bpo-38387: Document :c:macro:`PyDoc_STRVAR` macro in the C-API reference.
12930 - bpo-13743: Some methods within xml.dom.minidom.Element class are now
12934 -----
12936 - bpo-31904: Set expected default encoding in test_c_locale_coercion.py for
12939 - bpo-40162: Update Travis CI configuration to OpenSSL 1.1.1f.
12941 - bpo-40146: Update OpenSSL to 1.1.1f in Azure Pipelines.
12943 - bpo-40094: Add :func:`test.support.wait_process` function.
12945 - bpo-40003: ``test.bisect_cmd`` now copies Python command line options like
12946 ``-O`` or ``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used
12947 with ``-w``/``--verbose2`` option.
12949 - bpo-39380: Add the encoding in :class:`ftplib.FTP` and
12950 :class:`ftplib.FTP_TLS` to the constructor as keyword-only and change the
12951 default from ``latin-1`` to ``utf-8`` to follow :rfc:`2640`.
12953 - bpo-39793: Use the same domain when testing ``make_msgid``. Patch by
12956 - bpo-1812: Fix newline handling in doctest.testfile when loading from a
12960 -----
12962 - bpo-38360: Support single-argument form of macOS -isysroot flag.
12964 - bpo-40158: Fix CPython MSBuild Properties in NuGet Package
12967 - bpo-38527: Fix configure check on Solaris for "float word ordering":
12972 -------
12974 - bpo-40164: Updates Windows to OpenSSL 1.1.1f
12976 - bpo-8901: Ignore the Windows registry when the ``-E`` option is used.
12979 -----
12981 - bpo-38329: python.org macOS installers now update the Current version
12986 - bpo-40164: Update macOS installer builds to use OpenSSL 1.1.1g.
12989 ----
12991 - bpo-38439: Add a 256×256 pixel IDLE icon to support more modern
12992 environments. Created by Andrew Clover. Delete the unused macOS idle.icns
12995 - bpo-38689: IDLE will no longer freeze when inspect.signature fails when
12999 -----------
13001 - bpo-40385: Removed the checkpyc.py tool. Please see compileall without
13004 - bpo-40179: Fixed translation of ``#elif`` in Argument Clinic.
13006 - bpo-40094: Fix ``which.py`` script exit code: it now uses
13011 -----
13013 - bpo-40241: Move the :c:type:`PyGC_Head` structure to the internal C API.
13015 - bpo-40170: Convert :c:func:`PyObject_IS_GC` macro to a function to hide
13018 - bpo-40241: Add the functions :c:func:`PyObject_GC_IsTracked` and
13023 - bpo-40170: The :c:func:`PyObject_NEW` macro becomes an alias to the
13029 - bpo-40170: :c:func:`PyType_HasFeature` now always calls
13034 - bpo-40170: Convert the :c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro to a
13038 - bpo-40170: Convert :c:func:`PyObject_CheckBuffer` macro to a function to
13042 - bpo-40170: Always declare :c:func:`PyIndex_Check` as an opaque function to
13046 - bpo-39947: Add :c:func:`PyThreadState_GetID` function: get the unique
13053 *Release date: 2020-03-23*
13056 --------
13058 - bpo-38576: Disallow control characters in hostnames in http.client,
13059 addressing CVE-2019-18348. Such potentially malicious header injection
13063 -----------------
13065 - bpo-40010: Optimize pending calls in multithreaded applications. If a
13074 - bpo-1635741: Port _weakref extension module to multiphase initialization
13077 - bpo-1635741: Port _collections module to multiphase initialization
13080 - bpo-40010: Optimize signal handling in multithreaded applications. If a
13089 - bpo-39984: If :c:func:`Py_AddPendingCall` is called in a subinterpreter,
13094 - bpo-1635741: Port _heapq module to multiphase initialization.
13096 - bpo-1635741: Port itertools module to multiphase initialization
13099 - bpo-37207: Speed up calls to ``frozenset()`` by using the :pep:`590`
13100 ``vectorcall`` calling convention. Patch by Dong-hee Na.
13102 - bpo-39984: subinterpreters: Move
13107 - bpo-37207: Speed up calls to ``set()`` by using the :pep:`590`
13108 ``vectorcall`` calling convention. Patch by Dong-hee Na.
13110 - bpo-1635741: Port _statistics module to multiphase initialization
13113 - bpo-39968: Use inline function to replace extension modules'
13116 - bpo-39965: Correctly raise ``SyntaxError`` if *await* is used inside
13117 non-async functions and ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set (like in the
13120 - bpo-39562: Allow executing asynchronous comprehensions on the top level
13124 - bpo-37207: Speed up calls to ``tuple()`` by using the :pep:`590`
13125 ``vectorcall`` calling convention. Patch by Dong-hee Na.
13127 - bpo-38373: Changed list overallocation strategy. It no longer
13131 - bpo-39926: Update Unicode database to Unicode version 13.0.0.
13133 - bpo-19466: Clear the frames of daemon threads earlier during the Python
13137 - bpo-38894: Fix a bug that was causing incomplete results when calling
13142 - bpo-39877: Fix :c:func:`PyEval_RestoreThread` random crash at exit with
13144 instead of using ``tstate->interp->runtime``, since ``tstate`` can be a
13148 - bpo-39871: Fix a possible :exc:`SystemError` in
13152 - bpo-39776: Fix race condition where threads created by PyGILState_Ensure()
13155 This affects consumers of tstate->id like the contextvar caching
13159 - bpo-39778: Fixed a crash due to incorrect handling of weak references in
13162 - bpo-1635741: Port audioop extension module to multiphase initialization
13165 - bpo-39702: Relax :term:`decorator` grammar restrictions to allow any valid
13168 - bpo-38091: Tweak import deadlock detection code to not deadlock itself.
13170 - bpo-1635741: Port _locale extension module to multiphase initialization
13173 - bpo-39087: Optimize :c:func:`PyUnicode_AsUTF8` and
13175 internal UTF-8 cache.
13177 - bpo-39520: Fix unparsing of ext slices with no items (``foo[:,]``). Patch
13180 - bpo-39220: Do not optimize annotations if 'from __future__ import
13183 - bpo-35712: Using :data:`NotImplemented` in a boolean context has been
13186 - bpo-22490: Don't leak environment variable ``__PYVENV_LAUNCHER__`` into
13190 -------
13192 - bpo-39830: Add :class:`zipfile.Path` to ``__all__`` in the :mod:`zipfile`
13195 - bpo-40000: Improved error messages for validation of ``ast.Constant``
13198 - bpo-39999: ``__module__`` of the AST node classes is now set to "ast"
13202 - bpo-39991: :func:`uuid.getnode` now skips IPv6 addresses with the same
13205 - bpo-39988: Deprecated ``ast.AugLoad`` and ``ast.AugStore`` node classes
13208 - bpo-39656: Ensure ``bin/python3.#`` is always present in virtual
13209 environments on POSIX platforms - by Anthony Sottile.
13211 - bpo-39969: Deprecated ``ast.Param`` node class because it's no longer
13214 - bpo-39360: Ensure all workers exit when finalizing a
13221 - bpo-35370: sys.settrace(), sys.setprofile() and _lsprof.Profiler.enable()
13225 - bpo-39936: AIX: Fix _aix_support module when the subprocess is not
13231 - bpo-36144: :class:`collections.OrderedDict` now implements ``|`` and
13234 - bpo-39652: The column name found in ``sqlite3.Cursor.description`` is now
13237 - bpo-39915: Ensure :attr:`unittest.mock.AsyncMock.await_args_list` has call
13242 - bpo-36144: Updated :data:`os.environ` and :data:`os.environb` to support
13245 - bpo-38662: The ``ensurepip`` module now invokes ``pip`` via the ``runpy``
13250 - bpo-38075: Fix the :meth:`random.Random.seed` method when a :class:`bool`
13253 - bpo-39916: More reliable use of ``os.scandir()`` in ``Path.glob()``. It no
13256 - bpo-39850: :mod:`multiprocessing` now supports abstract socket addresses
13258 arbitrary addresses (like when default-constructing
13260 preferred to avoid the case when the temporary-file-generated address is
13263 - bpo-36287: :func:`ast.dump()` no longer outputs optional fields and
13268 - bpo-39889: Fixed :func:`ast.unparse` for extended slices containing a
13272 - bpo-39828: Fix :mod:`json.tool` to catch :exc:`BrokenPipeError`. Patch by
13273 Dong-hee Na.
13275 - bpo-13487: Avoid a possible *"RuntimeError: dictionary changed size during
13279 - bpo-39674: Revert "bpo-37330: open() no longer accept 'U' in file mode".
13283 - bpo-28577: The hosts method on 32-bit prefix length IPv4Networks and
13284 128-bit prefix IPv6Networks now returns a list containing the single
13287 - bpo-39826: Add getConnection method to logging HTTPHandler to enable
13290 - bpo-39763: Reimplement :func:`distutils.spawn.spawn` function with the
13293 - bpo-39794: Add --without-decimal-contextvar build option. This enables a
13294 thread-local rather than a coroutine local context.
13296 - bpo-36144: :class:`collections.defaultdict` now implements ``|``
13299 - bpo-39517: Fix runpy.run_path() when using pathlike objects
13301 - bpo-39775: Change ``inspect.Signature.parameters`` back to
13305 - bpo-39678: Refactor queue_manager in
13309 - bpo-39764: Fix AttributeError when calling get_stack on a PyAsyncGenObject
13312 - bpo-39769: The :func:`compileall.compile_dir` function's *ddir* parameter
13313 and the compileall command line flag `-d` no longer write the wrong
13318 - bpo-36144: :class:`types.MappingProxyType` objects now support the merge
13321 - bpo-38691: The :mod:`importlib` module now ignores the
13322 :envvar:`PYTHONCASEOK` environment variable when the :option:`-E` or
13323 :option:`-I` command line options are being used.
13325 - bpo-39719: Remove :meth:`tempfile.SpooledTemporaryFile.softspace` as files
13328 - bpo-39667: Improve pathlib.Path compatibility on zipfile.Path and correct
13331 - bpo-39638: Keep ASDL signatures in the docstrings for ``AST`` nodes. Patch
13334 - bpo-39639: Deprecated ``ast.Suite`` node class because it's no longer
13337 - bpo-39609: Add thread_name_prefix to default asyncio executor
13339 - bpo-39548: Fix handling of header in
13343 - bpo-39509: HTTP status codes ``103 EARLY_HINTS`` and ``425 TOO_EARLY`` are
13344 added to :class:`http.HTTPStatus`. Patch by Dong-hee Na.
13346 - bpo-39507: Adding HTTP status 418 "I'm a Teapot" to HTTPStatus in http
13349 - bpo-39495: Remove default value from *attrs* parameter of
13353 - bpo-38971: Open issue in the BPO indicated a desire to make the
13358 - bpo-38641: Added starred expressions support to ``return`` and ``yield``
13361 - bpo-37534: When using minidom module to generate XML documents the ability
13365 https://www.w3.org/TR/xml/#sec-prolog-dtd).
13367 - bpo-34788: Add support for scoped IPv6 addresses to :mod:`ipaddress`.
13370 - bpo-34822: Simplified AST for subscription. Simple indices are now
13378 -------------
13380 - bpo-39868: Updated the Language Reference for :pep:`572`.
13382 - bpo-13790: Change 'string' to 'specification' in format doc.
13384 - bpo-17422: The language reference no longer restricts default class
13387 - bpo-39530: Fix misleading documentation about mixed-type numeric
13390 - bpo-39718: Update :mod:`token` documentation to reflect additions in
13393 - bpo-39677: Changed operand name of **MAKE_FUNCTION** from *argc* to
13397 -----
13399 - bpo-40019: test_gdb now skips tests if it detects that gdb failed to read
13402 - bpo-27807: ``test_site.test_startup_imports()`` is now skipped if a path
13405 - bpo-26067: Do not fail test_shutil test_chown test when uid or gid of user
13408 - bpo-39855: test_subprocess.test_user() now skips the test on an user name
13413 -----
13415 - bpo-39761: Fix build with DTrace but without additional DFLAGS.
13417 - bpo-39763: setup.py now uses a basic implementation of the
13421 - bpo-1294959: Add ``--with-platlibdir`` option to the configure script:
13422 name of the platform-specific library directory, stored in the new
13424 platform-specific extension modules and the path of the standard library.
13426 equal to ``"lib64"`` on 64-bit platforms. Patch by Jan Matějek, Matěj
13430 -------
13432 - bpo-39930: Ensures the required :file:`vcruntime140.dll` is included in
13435 - bpo-39847: Avoid hang when computer is hibernated whilst waiting for a
13436 mutex (for lock-related objects from :mod:`threading`) around 49-day
13439 - bpo-38597: :mod:`distutils` will no longer statically link
13444 - bpo-38380: Update Windows builds to use SQLite 3.31.1
13446 - bpo-39789: Update Windows release build machines to Visual Studio 2019
13449 - bpo-34803: Package for nuget.org now includes repository reference and
13453 -----
13455 - bpo-38380: Update macOS builds to use SQLite 3.31.1
13458 ----
13460 - bpo-27115: For 'Go to Line', use a Query box subclass with IDLE standard
13463 - bpo-39885: Since clicking to get an IDLE context menu moves the cursor,
13466 - bpo-39852: Edit "Go to line" now clears any selection, preventing
13469 - bpo-39781: Selecting code context lines no longer causes a jump.
13472 -----------
13474 - bpo-36184: Port python-gdb.py to FreeBSD. python-gdb.py now checks for
13479 - bpo-38080: Added support to fix ``getproxies`` in the
13484 -----
13486 - bpo-40024: Add :c:func:`PyModule_AddType` helper function: add a type to a
13487 module. Patch by Dong-hee Na.
13489 - bpo-39946: Remove ``_PyRuntime.getframe`` hook and remove
13494 - bpo-39947: Add :c:func:`PyThreadState_GetFrame` function: get the current
13497 - bpo-37207: Add _PyArg_NoKwnames helper function. Patch by Dong-hee Na.
13499 - bpo-39947: Add :c:func:`PyThreadState_GetInterpreter`: get the interpreter
13502 - bpo-39947: Add :c:func:`PyInterpreterState_Get` function to the limited C
13505 - bpo-35370: If :c:func:`PySys_Audit` fails in :c:func:`PyEval_SetProfile`
13508 - bpo-39947: Move the static inline function flavor of
13513 - bpo-39947: Py_TRASHCAN_BEGIN_CONDITION and Py_TRASHCAN_END macro no longer
13517 - bpo-39884: :c:func:`PyDescr_NewMethod` and :c:func:`PyCFunction_NewEx` now
13521 - bpo-39877: Deprecated :c:func:`PyEval_InitThreads` and
13525 - bpo-38249: :c:macro:`Py_UNREACHABLE` is now implemented with
13528 - bpo-38643: :c:func:`PyNumber_ToBase` now raises a :exc:`SystemError`
13531 - bpo-39882: The :c:func:`Py_FatalError` function is replaced with a macro
13535 - bpo-39824: Extension modules: :c:member:`~PyModuleDef.m_traverse`,
13546 - bpo-38913: Fixed segfault in ``Py_BuildValue()`` called with a format
13549 - bpo-38500: Add a private API to get and set the frame evaluation function:
13559 *Release date: 2020-02-25*
13562 --------
13564 - bpo-39184: Add audit events to functions in `fcntl`, `msvcrt`, `os`,
13567 - bpo-39401: Avoid unsafe DLL load at startup on Windows 7 and earlier.
13569 - bpo-39184: Add audit events to command execution functions in os and pty
13573 -----------------
13575 - bpo-39382: Fix a use-after-free in the single inheritance path of
13579 - bpo-39573: Update clinic tool to use :c:func:`Py_IS_TYPE`. Patch by
13580 Dong-hee Na.
13582 - bpo-39619: Enable use of :func:`os.chroot` on HP-UX systems.
13584 - bpo-39573: Add :c:func:`Py_IS_TYPE` static inline function to check
13587 - bpo-39606: Fix regression caused by fix for bpo-39386, that prevented
13591 - bpo-39579: Change the ending column offset of `Attribute` nodes
13595 - bpo-1635741: Port _crypt extension module to multiphase initialization
13598 - bpo-1635741: Port _contextvars extension module to multiphase
13601 - bpo-39510: Fix segfault in ``readinto()`` method on closed BufferedReader.
13603 - bpo-39502: Fix :func:`time.localtime` on 64-bit AIX to support years
13606 - bpo-39492: Fix a reference cycle in the C Pickler that was preventing the
13609 - bpo-39453: Fixed a possible crash in :meth:`list.__contains__` when a list
13610 is changed during comparing items. Patch by Dong-hee Na.
13612 - bpo-39434: :term:`floor division` of float operation now has a better
13614 operation is updated. Patch by Dong-hee Na.
13616 - bpo-1635741: Port _codecs extension module to multiphase initialization
13619 - bpo-1635741: Port _bz2 extension module to multiphase initialization
13622 - bpo-1635741: Port _abc extension module to multiphase initialization
13625 - bpo-39320: Replace two complex bytecodes for building dicts with two
13630 - bpo-39219: Syntax errors raised in the tokenizer now always set correct
13633 - bpo-36051: Drop the GIL during large ``bytes.join`` operations. Patch by
13636 - bpo-38960: Fix DTrace build issues on FreeBSD. Patch by David Carlier.
13638 - bpo-37207: Speed up calls to ``range()`` by about 30%, by using the PEP
13641 - bpo-36144: :class:`dict` (and :class:`collections.UserDict`) objects now
13645 - bpo-32856: Optimized the idiom for assignment a temporary variable in
13650 -------
13652 - bpo-30566: Fix :exc:`IndexError` when trying to decode an invalid string
13655 - bpo-39649: Remove obsolete check for `__args__` in
13658 - bpo-39648: Expanded :func:`math.gcd` and :func:`math.lcm` to handle
13661 - bpo-39681: Fix a regression where the C pickle module wouldn't allow
13662 unpickling from a file-like object that doesn't expose a readinto()
13665 - bpo-35950: Raise :exc:`io.UnsupportedOperation` in
13666 :meth:`io.BufferedReader.truncate` when it is called on a read-only
13669 - bpo-39479: Add :func:`math.lcm` function: least common multiple.
13671 - bpo-39674: Revert "Do not expose abstract collection classes in the
13672 collections module" change (bpo-25988). Aliases to ABC like
13676 - bpo-39104: Fix hanging ProcessPoolExcutor on ``shutdown(wait=False)`` when
13679 - bpo-39627: Fixed TypedDict totality check for inherited keys.
13681 - bpo-39474: Fixed starting position of AST for expressions like ``(a)(b)``,
13684 - bpo-21016: The :mod:`pydoc` and :mod:`trace` modules now use the
13689 - bpo-39590: Collections.deque now holds strong references during
13692 - bpo-39586: The distutils ``bdist_msi`` command is deprecated in Python
13695 - bpo-39595: Improved performance of zipfile.Path for files with a large
13698 <https://importlib-metadata.readthedocs.io/en/latest/history.html#v1-5-0>`_.
13700 - bpo-39350: Fix regression in :class:`fractions.Fraction` if the numerator
13706 - bpo-39567: Added audit for :func:`os.walk`, :func:`os.fwalk`,
13709 - bpo-39559: Remove unused, undocumented argument ``getters`` from
13712 - bpo-38149: :func:`sys.audit` is now called only once per call of
13715 - bpo-39546: Fix a regression in :class:`~argparse.ArgumentParser` where
13717 character other than "-".
13719 - bpo-39450: Striped whitespace from docstring before returning it from
13722 - bpo-12915: A new function ``resolve_name`` has been added to the
13728 - bpo-39353: The :func:`binascii.crc_hqx` function is no longer deprecated.
13730 - bpo-39493: Mark ``typing.IO.closed`` as a property
13732 - bpo-39491: Add :data:`typing.Annotated` and ``include_extras`` parameter
13736 - bpo-39485: Fix a bug in :func:`unittest.mock.create_autospec` that would
13740 - bpo-38932: Mock fully resets child objects on reset_mock(). Patch by
13743 - bpo-39082: Allow AsyncMock to correctly patch static/class methods
13745 - bpo-39432: Implement PEP-489 algorithm for non-ascii "PyInit\_..." symbol
13749 - bpo-18819: Omit ``devmajor`` and ``devminor`` fields for non-device files
13750 in :mod:`tarfile` archives, enabling bit-for-bit compatibility with GNU
13753 - bpo-39349: Added a new *cancel_futures* parameter to
13758 - bpo-39274: ``bool(fraction.Fraction)`` now returns a boolean even if
13761 - bpo-34793: Remove support for ``with (await asyncio.lock):`` and ``with
13765 - bpo-25597: Ensure, if ``wraps`` is supplied to
13770 - bpo-36350: `inspect.Signature.parameters` and
13774 - bpo-35727: Fix sys.exit() and sys.exit(None) exit code propagation when
13777 - bpo-32173: * Add `lazycache` function to `__all__`. * Use `dict.clear` to
13782 -------------
13784 - bpo-17422: The language reference now specifies restrictions on class
13787 - bpo-39572: Updated documentation of ``total`` flag of ``TypedDict``.
13789 - bpo-39654: In pyclbr doc, update 'class' to 'module' where appropriate and
13792 - bpo-39153: Clarify refcounting semantics for the following functions: -
13793 PyObject_SetItem - PyMapping_SetItemString - PyDict_SetItem -
13796 - bpo-39392: Explain that when filling with turtle, overlap regions may be
13799 - bpo-39369: Update mmap readline method description. The fact that the
13804 - bpo-9056: Include subsection in TOC for PDF version of docs.
13807 -----
13809 - bpo-38325: Skip tests on non-BMP characters of test_winconsoleio.
13811 - bpo-39502: Skip test_zipfile.test_add_file_after_2107() if
13816 -----
13818 - bpo-39489: Remove ``COUNT_ALLOCS`` special build.
13821 -------
13823 - bpo-39553: Delete unused code related to SxS manifests.
13825 - bpo-39439: Honor the Python path when a virtualenv is active on Windows.
13827 - bpo-39393: Improve the error message when attempting to load a DLL with
13830 - bpo-38883: :meth:`~pathlib.Path.home()` and
13837 - bpo-39185: The build.bat script has additional options for very-quiet
13838 output (-q) and very-verbose output (-vv)
13841 ----
13843 - bpo-39663: Add tests for pyparse find_good_parse_start().
13845 - bpo-39600: In the font configuration window, remove duplicated font names.
13847 - bpo-30780: Add remaining configdialog tests for buttons and highlights and
13850 - bpo-39388: IDLE Settings Cancel button now cancels pending changes
13852 - bpo-38792: Close an IDLE shell calltip if a :exc:`KeyboardInterrupt` or
13856 -----
13858 - bpo-35081: Move the ``bytes_methods.h`` header file to the internal C API
13862 - bpo-35081: Move the ``dtoa.h`` header file to the internal C API as
13867 - bpo-39573: Add :c:func:`Py_SET_SIZE` function to set the size of an
13870 - bpo-39500: :c:func:`PyUnicode_IsIdentifier` does not call
13873 - bpo-39573: Add :c:func:`Py_SET_TYPE` function to set the type of an
13876 - bpo-39573: Add a :c:func:`Py_SET_REFCNT` function to set the reference
13879 - bpo-39542: Convert :c:func:`PyType_HasFeature`, :c:func:`PyType_Check` and
13882 - bpo-39542: In the limited C API, ``PyObject_INIT()`` and
13890 - bpo-39542: Exclude trashcan mechanism from the limited C API: it requires
13894 - bpo-39511: The :c:func:`PyThreadState_Clear` function now calls the
13898 - bpo-38076: Fix to clear the interpreter state only after clearing module
13902 - bpo-39245: The Vectorcall API (PEP 590) was made public, adding the
13912 *Release date: 2020-01-24*
13915 -----------------
13917 - bpo-39427: Document all possibilities for the ``-X`` options in the
13920 - bpo-39421: Fix possible crashes when operating with the functions in the
13923 - bpo-39386: Prevent double awaiting of async iterator.
13925 - bpo-17005: Add :class:`functools.TopologicalSorter` to the
13929 - bpo-39320: Replace four complex bytecodes for building sequences with
13945 - bpo-39336: Import loaders which publish immutable module objects can now
13948 - bpo-39322: Added a new function :func:`gc.is_finalized` to check if an
13952 - bpo-39048: Improve the displayed error message when incorrect types are
13957 - bpo-39235: Fix AST end location for lone generator expression in function
13960 - bpo-39209: Correctly handle multi-line tokens in interactive mode. Patch
13963 - bpo-1635741: Port _json extension module to multiphase initialization
13966 - bpo-39216: Fix constant folding optimization for positional only arguments
13967 - by Anthony Sottile.
13969 - bpo-39215: Fix ``SystemError`` when nested function has annotation on
13970 positional-only argument - by Anthony Sottile.
13972 - bpo-39200: Correct the error message when calling the :func:`min` or
13973 :func:`max` with no arguments. Patch by Dong-hee Na.
13975 - bpo-39200: Correct the error message when trying to construct
13978 - bpo-39166: Fix incorrect line execution reporting in trace functions when
13982 - bpo-39114: Fix incorrect line execution reporting in trace functions when
13985 - bpo-39156: Split the COMPARE_OP bytecode instruction into four distinct
13991 * JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements.
13996 - bpo-38588: Fix possible crashes in dict and list when calling
13999 - bpo-13601: By default, ``sys.stderr`` is line-buffered now, even if
14001 unbuffered by passing the :option:`-u` command-line option or setting the
14004 (Contributed by Jendrik Seipp in bpo-13601.)
14006 - bpo-38610: Fix possible crashes in several list methods by holding strong
14010 - bpo-32021: Include brotli .br encoding in mimetypes encodings_map
14013 -------
14015 - bpo-39430: Fixed race condition in lazy imports in :mod:`tarfile`.
14017 - bpo-39413: The :func:`os.unsetenv` function is now also available on
14020 - bpo-39390: Fixed a regression with the `ignore` callback of
14024 - bpo-39395: The :func:`os.putenv` and :func:`os.unsetenv` functions are now
14027 - bpo-39406: If ``setenv()`` C function is available, :func:`os.putenv` is
14031 - bpo-39396: Fix ``math.nextafter(-0.0, +0.0)`` on AIX 7.1.
14033 - bpo-29435: Allow :func:`tarfile.is_tarfile` to be used with file and
14034 file-like objects, like :func:`zipfile.is_zipfile`. Patch by William
14037 - bpo-39377: Removed ``encoding`` option from :func:`json.loads`. It has
14040 - bpo-39389: Write accurate compression level metadata in :mod:`gzip`
14043 - bpo-39366: The previously deprecated ``xpath()`` and ``xgtitle()`` methods
14046 - bpo-39357: Remove the *buffering* parameter of :class:`bz2.BZ2File`. Since
14049 file is opened. The *compresslevel* parameter becomes keyword-only.
14051 - bpo-39353: Deprecate binhex4 and hexbin4 standards. Deprecate the
14057 - bpo-39351: Remove ``base64.encodestring()`` and ``base64.decodestring()``,
14061 - bpo-39350: Remove ``fractions.gcd()`` function, deprecated since Python
14064 - bpo-39329: :class:`~smtplib.LMTP` constructor now has an optional
14065 *timeout* parameter. Patch by Dong-hee Na.
14067 - bpo-39313: Add a new ``exec_function`` option (*--exec-function* in the
14071 - bpo-39259: :class:`~ftplib.FTP_TLS` and :class:`~ftplib.FTP_TLS` now raise
14073 to prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
14075 - bpo-39259: :class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise
14077 to prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
14079 - bpo-39310: Add :func:`math.ulp`: return the value of the least significant
14082 - bpo-39297: Improved performance of importlib.metadata distribution
14086 - bpo-39259: :class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise
14088 to prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
14090 - bpo-38901: When you specify prompt='.' or equivalently python -m venv
14091 --prompt . ... the basename of the current directory is used to set the
14094 - bpo-39288: Add :func:`math.nextafter`: return the next floating-point
14097 - bpo-39259: :class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a
14099 prevent the creation of a non-blocking socket. Patch by Dong-hee Na.
14101 - bpo-39242: Updated the Gmane domain from news.gmane.org to news.gmane.io
14105 - bpo-35292: Proxy the `SimpleHTTPRequestHandler.guess_type` to
14109 - bpo-39239: The :meth:`select.epoll.unregister` method no longer ignores
14112 - bpo-38907: In http.server script, restore binding to IPv4 on Windows.
14114 - bpo-39152: Fix ttk.Scale.configure([name]) to return configuration tuple
14117 - bpo-39198: If an exception were to be thrown in `Logger.isEnabledFor`
14122 - bpo-39191: Perform a check for running loop before starting a new task in
14126 - bpo-38871: Correctly parenthesize filter-based statements that contain
14127 lambda expressions in mod:`lib2to3`. Patch by Dong-hee Na.
14129 - bpo-39142: A change was made to logging.config.dictConfig to avoid
14135 - bpo-39158: ast.literal_eval() now supports empty sets.
14137 - bpo-39129: Fix import path for ``asyncio.TimeoutError``
14139 - bpo-39057: :func:`urllib.request.proxy_bypass_environment` now ignores
14142 - bpo-39056: Fixed handling invalid warning category in the -W option. No
14145 - bpo-39055: :func:`base64.b64decode` with ``validate=True`` raises now a
14148 - bpo-21600: Fix :func:`mock.patch.stopall` to stop active patches that were
14151 - bpo-39019: Implement dummy ``__class_getitem__`` for
14154 - bpo-39019: Implement dummy ``__class_getitem__`` for ``subprocess.Popen``,
14157 - bpo-38914: Adjusted the wording of the warning issued by distutils'
14159 supplied but no corresponding e-mail field (``author_email`` or
14163 - bpo-38878: Fixed __subclasshook__ of :class:`os.PathLike` to return a
14166 - bpo-38615: :class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now
14171 Dong-hee Na.
14173 - bpo-35182: Fixed :func:`Popen.communicate` subsequent call crash when the
14177 - bpo-38630: On Unix, :meth:`subprocess.Popen.send_signal` now polls the
14183 - bpo-38536: Removes trailing space in formatted currency with
14188 - bpo-38473: Use signature from inner mock for autospecced methods attached
14191 - bpo-38361: Fixed an issue where ``ident`` could include a leading path
14194 - bpo-38293: Add :func:`copy.copy` and :func:`copy.deepcopy` support to
14197 - bpo-37958: Added the pstats.Stats.get_profile_dict() method to return the
14200 - bpo-28367: Termios magic constants for the following baud rates: -
14201 B500000 - B576000 - B921600 - B1000000 - B1152000 - B1500000 -
14202 B2000000 - B2500000 - B3000000 - B3500000 - B4000000 Patch by
14206 -------------
14208 - bpo-39381: Mention in docs that :func:`asyncio.get_event_loop` implicitly
14211 - bpo-38918: Add an entry for ``__module__`` in the "function" & "method"
14212 sections of the :mod:`inspect` docs' :ref:`inspect-types` table.
14214 - bpo-3530: In the :mod:`ast` module documentation, fix a misleading
14219 -----
14221 - bpo-39395: On non-Windows platforms, the :c:func:`setenv` and
14224 - bpo-39160: Updated the documentation in `./configure --help` to show
14228 - bpo-39144: The ctags and etags build targets both include Modules/_ctypes
14232 ----
14234 - bpo-39050: Make IDLE Settings dialog Help button work again.
14236 - bpo-34118: Tag memoryview, range, and tuple as classes, the same as list,
14237 etcetera, in the library manual built-in functions list.
14239 - bpo-32989: Add tests for editor newline_and_indent_event method. Remove
14243 -----
14245 - bpo-39372: Clean header files of interfaces defined but with no
14254 - bpo-39164: Add a private ``_PyErr_GetExcInfo()`` function to retrieve
14261 *Release date: 2019-12-18*
14264 --------
14266 - bpo-38945: Newline characters have been escaped when performing uu
14271 - bpo-37228: Due to significant security concerns, the *reuse_address*
14278 - bpo-38804: Fixes a ReDoS vulnerability in :mod:`http.cookiejar`. Patch by
14282 -----------------
14284 - bpo-39028: Slightly improve the speed of keyword argument parsing with
14288 - bpo-39080: Fix the value of *end_col_offset* for Starred Expression AST
14292 - bpo-39031: When parsing an "elif" node, lineno and col_offset of the node
14296 - bpo-20443: In Python 3.9.0a1, sys.argv[0] was made an absolute path if a
14300 - bpo-39008: :c:func:`PySys_Audit` now requires ``Py_ssize_t`` to be used
14304 - bpo-38673: In REPL mode, don't switch to PS2 if the line starts with
14307 - bpo-38922: Calling ``replace`` on a code object now raises the
14310 - bpo-38920: Add audit hooks for when :func:`sys.excepthook` and
14313 - bpo-38892: Improve documentation for audit events table and functions.
14315 - bpo-38852: Set the thread stack size to 8 Mb for debug builds on android
14318 - bpo-38858: Each Python subinterpreter now has its own "small integer
14319 singletons": numbers in [-5; 257] range. It is no longer possible to
14324 - bpo-36854: The garbage collector state becomes per interpreter
14328 - bpo-38835: The ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()``
14332 - bpo-38328: Sped up the creation time of constant :class:`list` and
14335 - bpo-38707: ``MainThread.native_id`` is now correctly reset in child
14339 - bpo-38629: Added ``__floor__`` and ``__ceil__`` methods to float object.
14342 - bpo-27145: int + int and int - int operators can now return small integer
14345 - bpo-38021: Provide a platform tag for AIX that is sufficient for PEP425
14348 - bpo-35409: Ignore GeneratorExit exceptions when throwing an exception into
14351 - bpo-33387: Removed WITH_CLEANUP_START, WITH_CLEANUP_FINISH, BEGIN_FINALLY,
14354 for exceptional and non-exceptional branches for 'with' and 'try-except'
14355 statements. For 'try-finally' statements the 'finally' block is replicated
14359 -------
14361 - bpo-39033: Fix :exc:`NameError` in :mod:`zipimport`. Patch by Karthikeyan
14364 - bpo-39022: Update importlib.metadata to include improvements from
14368 - bpo-39006: Fix asyncio when the ssl module is missing: only check for
14371 - bpo-38708: Fix a potential IndexError in email parser when parsing an
14372 empty msg-id.
14374 - bpo-38698: Add a new ``InvalidMessageID`` token to email parser to
14375 represent invalid Message-ID headers. Also, add defects when there is
14378 - bpo-38994: Implement ``__class_getitem__`` for ``os.PathLike``,
14381 - bpo-38979: Return class from ``ContextVar.__class_getitem__`` to simplify
14384 - bpo-38978: Implement ``__class_getitem__`` on asyncio objects (Future,
14387 - bpo-38916: :class:`array.array`: Remove ``tostring()`` and
14391 - bpo-38986: Make repr of C accelerated TaskWakeupMethWrapper the same as of
14394 - bpo-38982: Fix asyncio ``PidfdChildWatcher``: handle ``waitpid()`` error.
14400 - bpo-38529: Drop too noisy asyncio warning about deletion of a stream
14403 - bpo-27413: Added ability to pass through ``ensure_ascii`` options to
14404 json.dumps in the ``json.tool`` command-line interface.
14406 - bpo-38634: The :mod:`readline` module now detects if Python is linked to
14410 - bpo-33684: Fix ``json.tool`` failed to read a JSON file with non-ASCII
14411 characters when locale encoding is not UTF-8.
14413 - bpo-38698: Prevent UnboundLocalError to pop up in parse_message_id.
14419 - bpo-38927: Use ``python -m pip`` instead of ``pip`` to upgrade
14422 - bpo-26730: Fix ``SpooledTemporaryFile.rollover()`` might corrupt the file
14425 - bpo-38881: random.choices() now raises a ValueError when all the weights
14428 - bpo-38876: Raise pickle.UnpicklingError when loading an item from memo for
14438 - bpo-38688: Calling func:`shutil.copytree` to copy a directory tree from
14444 - bpo-38863: Improve :func:`is_cgi` function in :mod:`http.server`, which
14448 - bpo-37838: :meth:`typing.get_type_hints` properly handles functions
14451 - bpo-38870: Expose :func:`ast.unparse` as a function of the :mod:`ast`
14456 - bpo-38859: AsyncMock now returns StopAsyncIteration on the exhaustion of a
14457 side_effects iterable. Since PEP-479 its Impossible to raise a
14460 - bpo-38857: AsyncMock fix for return values that are awaitable types. This
14465 - bpo-38834: :class:`typing.TypedDict` subclasses now track which keys are
14468 Zac Hatfield-Dodds.
14470 - bpo-38821: Fix unhandled exceptions in :mod:`argparse` when
14472 special (non-integer) values. Patch by Federico Bond.
14474 - bpo-38820: Make Python compatible with OpenSSL 3.0.0.
14478 - bpo-38811: Fix an unhandled exception in :mod:`pathlib` when
14479 :meth:`os.link` is missing. Patch by Toke Høiland-Jørgensen.
14481 - bpo-38686: Added support for multiple ``qop`` values in
14484 - bpo-38712: Add the Linux-specific :func:`signal.pidfd_send_signal`
14488 - bpo-38348: Add ``-i`` and ``--indent`` (indentation level), and
14489 ``--no-type-comments`` (type comments) command line options to ast parsing
14492 - bpo-37523: Change :class:`zipfile.ZipExtFile` to raise ``ValueError`` when
14497 - bpo-38045: Improve the performance of :func:`enum._decompose` in
14500 - bpo-36820: Break cycle generated when saving an exception in socket.py,
14504 - bpo-36406: Handle namespace packages in :mod:`doctest`. Patch by
14507 - bpo-34776: Fix dataclasses to support forward references in type
14510 - bpo-20928: ElementTree supports recursive XInclude processing. Patch by
14513 - bpo-29636: Add whitespace options for formatting JSON with the
14515 supported: ``--indent`` for setting the indent level in spaces; ``--tab``
14516 for indenting with tabs; ``--no-indent`` for suppressing newlines; and
14517 ``--compact`` for suppressing all whitespace. The default behavior remains
14518 the same as ``--indent=4``.
14521 -------------
14523 - bpo-38928: Correct when venv's ``upgrade_dependencies()`` and
14524 ``--upgrade-deps`` are added.
14526 - bpo-38899: Update documentation to state that to activate virtual
14530 - bpo-22377: Improves documentation of the values that
14535 -----
14537 - bpo-38546: Fix test_ressources_gced_in_workers() of
14541 - bpo-38546: Multiprocessing and concurrent.futures tests now stop the
14544 - bpo-38614: Replace hardcoded timeout constants in tests with new
14552 - bpo-38547: Fix test_pty: if the process is the session leader, closing the
14556 - bpo-38992: Fix a test for :func:`math.fsum` that was failing due to
14559 - bpo-38991: :mod:`test.support`:
14566 - bpo-38965: Fix test_faulthandler on GCC 10. Use the "volatile" keyword in
14570 - bpo-38875: test_capi: trashcan tests now require the test "cpu" resource.
14572 - bpo-38841: Skip asyncio test_create_datagram_endpoint_existing_sock_unix
14575 - bpo-38692: Skip the test_posix.test_pidfd_open() test if
14580 - bpo-38839: Fix some unused functions in tests. Patch by Adam Johnson.
14582 - bpo-38669: Raise :exc:`TypeError` when passing target as a string with
14585 - bpo-37957: test.regrtest now can receive a list of test patterns to ignore
14586 (using the -i/--ignore argument) or a file with a list of patterns to
14587 ignore (using the --ignore-file argument). Patch by Pablo Galindo.
14590 -----
14592 - bpo-37404: :mod:`asyncio` now raises :exc:`TyperError` when calling
14596 - bpo-36500: Added an optional "regen" project to the Visual Studio solution
14600 -------
14602 - bpo-39007: Add auditing events to functions in :mod:`winreg`.
14604 - bpo-33125: Add support for building and releasing Windows ARM64 packages.
14607 -----
14609 - bpo-37931: Fixed a crash on OSX dynamic builds that occurred when
14610 re-initializing the posix module after a Py_Finalize if the environment
14614 ----
14616 - bpo-38944: Escape key now closes IDLE completion windows. Patch by Johnny
14619 - bpo-38943: Fix IDLE autocomplete windows not always appearing on some
14622 - bpo-38862: 'Strip Trailing Whitespace' on the Format menu removes extra
14623 newlines at the end of non-shell files.
14625 - bpo-38636: Fix IDLE Format menu tab toggle and file indent width. These
14626 functions (default shortcuts Alt-T and Alt-U) were mistakenly disabled in
14630 -----
14632 - bpo-38896: Remove ``PyUnicode_ClearFreeList()`` function: the Unicode free
14635 - bpo-37340: Remove ``PyMethod_ClearFreeList()`` and
14639 - bpo-38835: Exclude ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()``
14646 *Release date: 2019-11-19*
14649 --------
14651 - bpo-38722: :mod:`runpy` now uses :meth:`io.open_code` to open code files.
14654 - bpo-38622: Add additional audit events for the :mod:`ctypes` module.
14656 - bpo-38418: Fixes audit event for :func:`os.system` to be named
14659 - bpo-38243: Escape the server title of
14661 HTML. (Contributed by Dong-hee Na in :issue:`38243`.)
14663 - bpo-38174: Update vendorized expat library version to 2.2.8, which
14664 resolves CVE-2019-15903.
14666 - bpo-37764: Fixes email._header_value_parser.get_unstructured going into an
14671 - bpo-37461: Fix an infinite loop when parsing specially crafted email
14674 - bpo-37363: Adds audit events for the range of supported run commands (see
14675 :ref:`using-on-general`).
14677 - bpo-37463: ssl.match_hostname() no longer accepts IPv4 addresses with
14678 additional text after the address and only quad-dotted notation without
14682 - bpo-37363: Adds audit events for :mod:`ensurepip`, :mod:`ftplib`,
14688 - bpo-37364: :func:`io.open_code` is now used when reading :file:`.pth`
14691 - bpo-34631: Updated OpenSSL to 1.1.1c in Windows installer
14693 - bpo-34155: Fix parsing of invalid email addresses with more than one ``@``
14698 -----------------
14700 - bpo-38631: Replace ``Py_FatalError()`` call with a regular
14703 - bpo-38639: Optimized :func:`math.floor()`, :func:`math.ceil()` and
14706 - bpo-38640: Fixed a bug in the compiler that was causing to raise in the
14710 - bpo-38613: Optimized some set operations (e.g. ``|``, ``^``, and ``-``) of
14714 - bpo-28029: ``"".replace("", s, n)`` now returns ``s`` instead of an empty
14715 string for all non-zero ``n``. There are similar changes for
14718 - bpo-38535: Fixed line numbers and column offsets for AST nodes for calls
14721 - bpo-38525: Fix a segmentation fault when using reverse iterators of empty
14722 ``dict`` objects. Patch by Dong-hee Na and Inada Naoki.
14724 - bpo-38465: :class:`bytearray`, :class:`~array.array` and
14728 - bpo-38469: Fixed a bug where the scope of named expressions was not being
14732 - bpo-38437: Activate the ``GC_DEBUG`` macro for debug builds of the
14735 - bpo-38379: When the garbage collector makes a collection in which some
14741 - bpo-38379: When cyclic garbage collection (gc) runs finalizers that
14748 - bpo-38392: In debug mode, :c:func:`PyObject_GC_Track` now calls
14752 - bpo-38210: Remove unnecessary intersection and update set operation in
14753 dictview with empty set. (Contributed by Dong-hee Na in :issue:`38210`.)
14755 - bpo-38402: Check the error from the system's underlying ``crypt`` or
14758 - bpo-37474: On FreeBSD, Python no longer calls ``fedisableexcept()`` at
14762 - bpo-38006: Fix a bug due to the interaction of weakrefs and the cyclic
14766 - bpo-38317: Fix warnings options priority: ``PyConfig.warnoptions`` has the
14769 - bpo-38310: Predict ``BUILD_MAP_UNPACK_WITH_CALL`` -> ``CALL_FUNCTION_EX``
14772 - bpo-36871: Improve error handling for the assert_has_calls and
14777 - bpo-11410: Better control over symbol visibility is provided through use
14780 updated to compile with -fvisibility=hidden, minimising exported symbols.
14782 - bpo-38219: Optimized the :class:`dict` constructor and the
14785 - bpo-38236: Python now dumps path configuration if it fails to import the
14788 - bpo-38013: Allow to call ``async_generator_athrow().throw(...)`` even for
14789 non-started async generator helper. It fixes annoying warning at the end
14792 - bpo-38124: Fix an off-by-one error in PyState_AddModule that could cause
14793 out-of-bounds memory access.
14795 - bpo-38116: The select module is now PEP-384 compliant and no longer has
14798 - bpo-38113: ast module updated to PEP-384 and all statics removed
14800 - bpo-38076: The struct module is now PEP-384 compatible
14802 - bpo-38075: The random module is now PEP-384 compatible
14804 - bpo-38074: zlib module made PEP-384 compatible
14806 - bpo-38073: Make pwd extension module PEP-384 compatible
14808 - bpo-38072: grp module made PEP-384 compatible
14810 - bpo-38069: Make _posixsubprocess PEP-384 compatible
14812 - bpo-38071: Make termios extension module PEP-384 compatible
14814 - bpo-38005: Fixed comparing and creating of InterpreterID and ChannelID.
14816 - bpo-36946: Fix possible signed integer overflow when handling slices.
14819 - bpo-37994: Fixed silencing arbitrary errors if an attribute lookup fails
14822 - bpo-8425: Optimize set difference_update for the case when the other set
14826 - bpo-37966: The implementation of :func:`~unicodedata.is_normalized` has
14828 the full normalization-quick-check algorithm from the Unicode standard.
14830 - bpo-37947: Adjust correctly the recursion level in the symtable generation
14833 - bpo-37812: The ``CHECK_SMALL_INT`` macro used inside
14837 - bpo-37751: Fix :func:`codecs.lookup` to normalize the encoding name the
14841 - bpo-37830: Fixed compilation of :keyword:`break` and :keyword:`continue`
14843 block contains :keyword:`return` with a non-constant value.
14845 - bpo-20490: Improve import error message for partially initialized module
14846 on circular ``from`` imports - by Anthony Sottile.
14848 - bpo-37840: Fix handling of negative indices in
14852 - bpo-37802: Slightly improve performance of
14856 - bpo-37409: Ensure explicit relative imports from interactive sessions and
14860 - bpo-32912: Reverted :issue:`32912`: emitting :exc:`SyntaxWarning` instead
14864 - bpo-37757: :pep:`572`: As described in the PEP, assignment expressions now
14872 - bpo-36279: Fix potential use of uninitialized memory in :func:`os.wait3`.
14874 - bpo-36311: Decoding bytes objects larger than 2GiB is faster and no longer
14877 - bpo-34880: The :keyword:`assert` statement now works properly if the
14880 - bpo-37340: Removed object cache (``free_list``) for bound method objects.
14884 - bpo-37648: Fixed minor inconsistency in :meth:`list.__contains__`,
14888 - bpo-37444: Update differing exception between :meth:`builtins.__import__`
14891 - bpo-37619: When adding a wrapper descriptor from one class to a different
14895 - bpo-37593: Swap the positions of the *posonlyargs* and *args* parameters
14898 - bpo-37543: Optimized pymalloc for non PGO build.
14900 - bpo-37537: Compute allocated pymalloc blocks inside
14904 - bpo-37467: Fix :func:`sys.excepthook` and :c:func:`PyErr_Display` if a
14908 - bpo-37433: Fix ``SyntaxError`` indicator printing too many spaces for
14909 multi-line strings - by Anthony Sottile.
14911 - bpo-37417: :meth:`bytearray.extend` now correctly handles errors that
14914 - bpo-37414: The undocumented ``sys.callstats()`` function has been removed.
14919 - bpo-37392: Remove ``sys.getcheckinterval()`` and
14925 - bpo-37388: In development mode and in debug build, *encoding* and *errors*
14933 - bpo-37348: Optimized decoding short ASCII string with UTF-8 and ascii
14936 - bpo-24214: Improved support of the surrogatepass error handler in the
14937 UTF-8 and UTF-16 incremental decoders.
14939 - bpo-37330: :func:`open`, :func:`io.open`, :func:`codecs.open` and
14943 - bpo-35224: Reverse evaluation order of key: value in dict comprehensions
14947 - bpo-37316: Fix the :c:func:`PySys_Audit` call in :class:`mmap.mmap`.
14949 - bpo-37300: Remove an unnecessary Py_XINCREF in classobject.c.
14951 - bpo-37269: Fix a bug in the peephole optimizer that was not treating
14955 - bpo-20443: Python now gets the absolute path of the script filename
14960 - bpo-37257: Python's small object allocator (``obmalloc.c``) now allows (no
14965 - bpo-37231: The dispatching of type slots to special methods (for example
14968 - bpo-36974: Implemented separate vectorcall functions for every calling
14972 - bpo-37213: Handle correctly negative line offsets in the peephole
14975 - bpo-37219: Remove erroneous optimization for empty set differences.
14977 - bpo-15913: Implement :c:func:`PyBuffer_SizeFromFormat()` function
14981 - bpo-36922: Slot functions optimize any callable with
14985 - bpo-36974: The slot ``tp_vectorcall_offset`` is inherited unconditionally
14988 - bpo-37160: :func:`threading.get_native_id` now also supports NetBSD.
14990 - bpo-37077: Add :func:`threading.get_native_id` support for AIX. Patch by
14993 - bpo-36781: :func:`sum` has been optimized for boolean values.
14995 - bpo-34556: Add ``--upgrade-deps`` to venv module. Patch by Cooper Ry Lees
14997 - bpo-20523: ``pdb.Pdb`` supports ~/.pdbrc in Windows 7. Patch by Tim Hopper
14998 and Dan Lidral-Porter.
15000 - bpo-35551: Updated encodings: - Removed the "tis260" encoding, which was
15001 an alias for the nonexistent "tactis" codec. - Added "mac_centeuro" as an
15004 - bpo-19072: The :class:`classmethod` decorator can now wrap other
15008 - bpo-27575: Improve speed of dictview intersection by directly using set
15011 - bpo-30773: Prohibit parallel running of aclose() / asend() / athrow(). Fix
15015 -------
15017 - bpo-36589: The :func:`curses.update_lines_cols` function now returns
15020 - bpo-38807: Update :exc:`TypeError` messages for :meth:`os.path.join` to
15023 - bpo-38724: Add a repr for ``subprocess.Popen`` objects. Patch by Andrey
15026 - bpo-38786: pydoc now recognizes and parses HTTPS URLs. Patch by python273.
15028 - bpo-38785: Prevent asyncio from crashing if parent ``__init__`` is not
15031 - bpo-38723: :mod:`pdb` now uses :meth:`io.open_code` to trigger auditing
15034 - bpo-27805: Allow opening pipes and other non-seekable files in append mode
15037 - bpo-38438: Simplify the :mod:`argparse` usage message for ``nargs="*"``.
15039 - bpo-38761: WeakSet is now registered as a collections.abc.MutableSet.
15041 - bpo-38716: logging: change RotatingHandler namer and rotator to
15042 class-level attributes. This stops __init__ from setting them to None in
15045 - bpo-38713: Add :data:`os.P_PIDFD` constant, which may be passed to
15048 - bpo-38692: Add :class:`asyncio.PidfdChildWatcher`, a Linux-specific child
15051 - bpo-38692: Expose the Linux ``pidfd_open`` syscall as
15054 - bpo-38602: Added constants :data:`~fcntl.F_OFD_GETLK`,
15056 :mod:`fcntl` module. Patch by Dong-hee Na.
15058 - bpo-38334: Fixed seeking backward on an encrypted
15061 - bpo-38312: Add :func:`curses.get_escdelay`, :func:`curses.set_escdelay`,
15062 :func:`curses.get_tabsize`, and :func:`curses.set_tabsize` functions - by
15065 - bpo-38586: Now :func:`~logging.config.fileConfig` correctly sets the .name
15068 - bpo-38565: Add new cache_parameters() method for functools.lru_cache() to
15071 - bpo-34679: asynci.ProactorEventLoop.close() now only calls
15074 - bpo-31202: The case the result of :func:`pathlib.WindowsPath.glob` matches
15077 - bpo-36321: Remove misspelled attribute. The 3.8 changelog noted that this
15080 - bpo-38521: Fixed erroneous equality comparison in statistics.NormalDist().
15082 - bpo-38493: Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for
15083 :attr:`si_code`. Patch by Dong-hee Na.
15085 - bpo-38478: Fixed a bug in :meth:`inspect.signature.bind` that was causing
15087 positional-only parameter. Patch by Pablo Galindo.
15089 - bpo-33604: Fixed `hmac.new` and `hmac.HMAC` to raise TypeError instead of
15093 - bpo-38378: Parameters *out* and *in* of :func:`os.sendfile` was renamed to
15096 - bpo-38417: Added support for setting the umask in the child process to the
15099 - bpo-38449: Revert PR 15522, which introduces a regression in
15103 - bpo-38431: Fix ``__repr__`` method for :class:`dataclasses.InitVar` to
15106 - bpo-38109: Add missing :data:`stat.S_IFDOOR`, :data:`stat.S_IFPORT`,
15110 - bpo-38422: Clarify docstrings of pathlib suffix(es)
15112 - bpo-38405: Nested subclasses of :class:`typing.NamedTuple` are now
15115 - bpo-38332: Prevent :exc:`KeyError` thrown by :func:`_encoded_words.decode`
15116 when given an encoded-word with invalid content-type encoding from
15119 - bpo-38371: Deprecated the ``split()`` method in
15123 - bpo-38341: Add :exc:`smtplib.SMTPNotSupportedError` to the :mod:`smtplib`
15126 - bpo-38319: sendfile() used in socket and shutil modules was raising
15127 OverflowError for files >= 2GiB on 32-bit architectures. (patch by
15130 - bpo-38242: Revert the new asyncio Streams API
15132 - bpo-13153: OS native encoding is now used for converting between Python
15134 clipboard emoji and other non-BMP characters. Converting strings from Tcl
15137 - bpo-38019: Correctly handle pause/resume reading of closed asyncio unix
15140 - bpo-38163: Child mocks will now detect their type as either synchronous or
15145 - bpo-38161: Removes _AwaitEvent from AsyncMock.
15147 - bpo-38216: Allow the rare code that wants to send invalid http requests
15148 from the `http.client` library a way to do so. The fixes for bpo-30458
15152 - bpo-28286: Deprecate opening :class:`~gzip.GzipFile` for writing
15155 - bpo-38108: Any synchronous magic methods on an AsyncMock now return a
15159 - bpo-38265: Update the *length* parameter of :func:`os.pread` to accept
15162 - bpo-38112: :mod:`compileall` has a higher default recursion limit and new
15163 command-line arguments for path manipulation, symlinks handling, and
15166 - bpo-38248: asyncio: Fix inconsistent immediate Task cancellation
15168 - bpo-38237: The arguments for the builtin pow function are more
15171 - bpo-34002: Improve efficiency in parts of email package by changing
15172 while-pop to a for loop, using isdisjoint instead of set intersections.
15174 - bpo-38191: Constructors of :class:`~typing.NamedTuple` and
15179 - bpo-38155: Add ``__all__`` to :mod:`datetime`. Patch by Tahia Khan.
15181 - bpo-38185: Fixed case-insensitive string comparison in
15184 - bpo-38136: Changes AsyncMock call count and await count to be two
15186 awaited, not when it has been called, and vice-versa. Update the
15189 - bpo-37828: Fix default mock name in
15193 - bpo-38175: Fix a memory leak in comparison of :class:`sqlite3.Row`
15196 - bpo-33936: _hashlib no longer calls obsolete OpenSSL initialization
15199 - bpo-34706: Preserve subclassing in inspect.Signature.from_callable.
15201 - bpo-38153: Names of hashing algorithms from OpenSSL are now normalized to
15202 follow Python's naming conventions. For example OpenSSL uses sha3-512
15205 - bpo-38115: Fix a bug in dis.findlinestarts() where it would return invalid
15209 - bpo-38148: Add slots to :mod:`asyncio` transport classes, which can reduce
15212 - bpo-38142: The _hashlib OpenSSL wrapper extension module is now PEP-384
15215 - bpo-9216: hashlib constructors now support usedforsecurity flag to signal
15218 - bpo-36991: Fixes a potential incorrect AttributeError exception escaping
15221 - bpo-38134: Remove obsolete copy of PBKDF2_HMAC_fast. All supported OpenSSL
15224 - bpo-38132: The OpenSSL hashlib wrapper uses a simpler implementation.
15229 - bpo-38008: Fix parent class check in protocols to correctly identify the
15233 - bpo-34037: For :mod:`asyncio`, add a new coroutine
15239 - bpo-37405: Fixed regression bug for socket.getsockname() for non-CAN_ISOTP
15240 AF_CAN address family sockets by returning a 1-tuple instead of string.
15242 - bpo-38121: Update parameter names on functions in importlib.metadata
15245 - bpo-38110: The os.closewalk() implementation now uses the libc fdwalk()
15248 - bpo-38093: Fixes AsyncMock so it doesn't crash when used with
15251 - bpo-37488: Add warning to :meth:`datetime.utctimetuple`,
15254 - bpo-35640: Allow passing a :term:`path-like object` as ``directory``
15258 - bpo-38086: Update importlib.metadata with changes from `importlib_metadata
15260 …<https://gitlab.com/python-devs/importlib_metadata/blob/0.21/importlib_metadata/docs/changelog.rst…
15262 - bpo-37251: Remove `__code__` check in AsyncMock that incorrectly evaluated
15266 - bpo-38037: Fix reference counters in the :mod:`signal` module.
15268 - bpo-38066: Hide internal asyncio.Stream methods: feed_eof(), feed_data(),
15271 - bpo-38059: inspect.py now uses sys.exit() instead of exit()
15273 - bpo-38049: Added command-line interface for the :mod:`ast` module.
15275 - bpo-37953: In :mod:`typing`, improved the ``__hash__`` and ``__eq__``
15278 - bpo-38026: Fixed :func:`inspect.getattr_static` used ``isinstance`` while
15281 - bpo-35923: Update :class:`importlib.machinery.BuiltinImporter` to use
15282 ``loader._ORIGIN`` instead of a hardcoded value. Patch by Dong-hee Na.
15284 - bpo-38010: In ``importlib.metadata`` sync with ``importlib_metadata``
15286 requirement was returned for ``requires()`` on ``dist-info`` packages.
15288 - bpo-38006: weakref.WeakValueDictionary defines a local remove() function
15292 - bpo-37995: Added the *indent* option to :func:`ast.dump` which allows it
15295 - bpo-34410: Fixed a crash in the :func:`tee` iterator when re-enter it.
15298 - bpo-37140: Fix a ctypes regression of Python 3.8. When a ctypes.Structure
15304 - bpo-37587: ``_json.scanstring`` is now up to 3x faster when there are many
15307 - bpo-37834: Prevent shutil.rmtree exception when built on non-Windows
15310 - bpo-10978: Semaphores and BoundedSemaphores can now release more than one
15313 - bpo-37972: Subscripts to the `unittest.mock.call` objects now receive the
15321 - bpo-37965: Fix C compiler warning caused by
15324 - bpo-37964: Add ``F_GETPATH`` command to :mod:`fcntl`.
15326 - bpo-37960: ``repr()`` of buffered and text streams now silences only
15329 - bpo-37961: Add a ``total_nframe`` field to the traces collected by the
15333 - bpo-37951: Most features of the subprocess module now work again in
15336 - bpo-36205: Fix the rusage implementation of time.process_time() to
15339 - bpo-37950: Fix :func:`ast.dump` when call with incompletely initialized
15342 - bpo-34679: Restores instantiation of Windows IOCP event loops from the
15343 non-main thread.
15345 - bpo-36917: Add default implementation of the
15350 - bpo-37798: Update test_statistics.py to verify that the statistics module
15351 works well for both C and Python implementations. Patch by Dong-hee Na
15353 - bpo-26589: Added a new status code to the http module: 451
15356 - bpo-37915: Fix a segmentation fault that appeared when comparing instances
15360 - bpo-32554: Deprecate having random.seed() call hash on arbitrary types.
15362 - bpo-9938: Add optional keyword argument ``exit_on_error`` for
15365 - bpo-37851: The :mod:`faulthandler` module no longer allocates its
15369 - bpo-32793: Fix a duplicated debug message when
15372 - bpo-37885: venv: Don't generate unset variable warning on deactivate.
15374 - bpo-37868: Fix dataclasses.is_dataclass when given an instance that never
15378 - bpo-37811: Fix ``socket`` module's ``socket.connect(address)`` function
15381 take only non-negative integers and -1 as a timeout value.
15383 - bpo-37863: Optimizations for Fraction.__hash__ suggested by Tim Peters.
15385 - bpo-21131: Fix ``faulthandler.register(chain=True)`` stack. faulthandler
15391 - bpo-37798: Add C fastpath for statistics.NormalDist.inv_cdf() Patch by
15392 Dong-hee Na
15394 - bpo-37804: Remove the deprecated method `threading.Thread.isAlive()`.
15395 Patch by Dong-hee Na.
15397 - bpo-37819: Add Fraction.as_integer_ratio() to match the corresponding
15400 - bpo-14465: Add an xml.etree.ElementTree.indent() function for
15401 pretty-printing XML trees. Contributed by Stefan Behnel.
15403 - bpo-37810: Fix :mod:`difflib` ``?`` hint in diff output when dealing with
15406 - bpo-37772: In ``zipfile.Path``, when adding implicit dirs, ensure that
15409 - bpo-18578: Renamed and documented `test.bytecode_helper` as
15412 - bpo-37785: Fix xgettext warnings in :mod:`argparse`.
15414 - bpo-34488: :meth:`writelines` method of :class:`io.BytesIO` is now
15418 - bpo-37449: `ensurepip` now uses `importlib.resources.read_binary()` to
15421 - bpo-28292: Mark calendar.py helper functions as being private. The
15425 - bpo-18049: Add definition of THREAD_STACK_SIZE for AIX in
15429 - bpo-37742: The logging.getLogger() API now returns the root logger when
15430 passed the name 'root', whereas previously it returned a non-root logger
15432 non-root logger named 'root', or instantiates a logger using
15433 logging.getLogger(__name__) in some top-level module called 'root.py'.
15435 - bpo-37738: Fix the implementation of curses ``addch(str, color_pair)``:
15439 - bpo-37723: Fix performance regression on regular expression parsing with
15442 - bpo-35943: The function :c:func:`PyImport_GetModule` now ensures any
15445 - bpo-32178: Fix IndexError in :mod:`email` package when trying to parse
15448 - bpo-37268: The :mod:`parser` module is deprecated and will be removed in
15451 - bpo-11953: Completing WSA* error codes in :mod:`socket`.
15453 - bpo-37685: Fixed comparisons of :class:`datetime.timedelta` and
15456 - bpo-37697: Synchronize ``importlib.metadata`` with `importlib_metadata
15458 <https://gitlab.com/python-devs/importlib_metadata/-/milestones/20>`_,
15459 improving handling of EGG-INFO files and fixing a crash when entry point
15462 - bpo-37695: Correct :func:`curses.unget_wch` error message. Patch by
15465 - bpo-37689: Add :meth:`is_relative_to` in :class:`PurePath` to determine
15468 - bpo-29553: Fixed :meth:`argparse.ArgumentParser.format_usage` for mutually
15471 - bpo-37691: Let math.dist() accept coordinates as sequences (or iterables)
15474 - bpo-37685: Fixed ``__eq__``, ``__lt__`` etc implementations in some
15480 - bpo-37354: Make Activate.ps1 Powershell script static to allow for signing
15483 - bpo-37664: Update wheels bundled with ensurepip (pip 19.2.3 and setuptools
15486 - bpo-37663: Bring consistency to venv shell activation scripts by always
15489 - bpo-37642: Allowed the pure Python implementation of
15490 :class:`datetime.timezone` to represent sub-minute offsets close to
15492 and (-23:59, 24:00). Patch by Ngalim Siregar
15494 - bpo-36161: In :mod:`posix`, use ``ttyname_r`` instead of ``ttyname`` for
15497 - bpo-36324: Make internal attributes for statistics.NormalDist() private.
15499 - bpo-37555: Fix `NonCallableMock._call_matcher` returning tuple instead of
15503 - bpo-29446: Make `from tkinter import *` import only the expected objects.
15505 - bpo-16970: Adding a value error when an invalid value in passed to nargs
15508 - bpo-34443: Exceptions from :mod:`enum` now use the ``__qualname`` of the
15511 - bpo-37491: Fix ``IndexError`` when parsing email headers with unexpectedly
15512 ending bare-quoted string value. Patch by Abhilash Raj.
15514 - bpo-37587: Make json.loads faster for long strings. (Patch by Marco
15517 - bpo-18378: Recognize "UTF-8" as a valid value for LC_CTYPE in
15520 - bpo-37579: Return :exc:`NotImplemented` in Python implementation of
15525 - bpo-21478: Record calls to parent when autospecced object is attached to a
15529 - bpo-37531: "python3 -m test -jN --timeout=TIMEOUT" now kills a worker
15532 - bpo-37482: Fix serialization of display name in originator or destination
15535 - bpo-36993: Improve error reporting for corrupt zip files with bad zip64
15538 - bpo-37502: pickle.loads() no longer raises TypeError when the buffers
15541 - bpo-37520: Correct behavior for zipfile.Path.parent when the path object
15544 - bpo-18374: Fix the ``.col_offset`` attribute of nested :class:`ast.BinOp`
15547 - bpo-37424: Fixes a possible hang when using a timeout on
15553 - bpo-37421: Fix :func:`multiprocessing.util.get_temp_dir` finalizer: clear
15558 - bpo-37481: The distutils ``bdist_wininst`` command is deprecated in Python
15561 - bpo-37479: When `Enum.__str__` is overridden in a derived class, the
15565 - bpo-37440: http.client now enables TLS 1.3 post-handshake authentication
15568 - bpo-37437: Update vendorized expat version to 2.2.7.
15570 - bpo-37428: SSLContext.post_handshake_auth = True no longer sets
15575 - bpo-37420: :func:`os.sched_setaffinity` now correctly handles errors that
15578 - bpo-37412: The :func:`os.getcwdb` function now uses the UTF-8 encoding on
15582 - bpo-37406: The sqlite3 module now raises TypeError, rather than
15586 - bpo-29412: Fix IndexError in parsing a header value ending unexpectedly.
15589 - bpo-36546: The *dist* argument for statistics.quantiles() is now
15594 - bpo-37394: Fix a bug that was causing the :mod:`queue` module to fail if
15597 - bpo-37376: :mod:`pprint` now has support for
15600 - bpo-26967: An :class:`~argparse.ArgumentParser` with
15602 ``-vv``, but only disables abbreviation of long flags as documented. Patch
15603 by Zac Hatfield-Dodds.
15605 - bpo-37212: :func:`unittest.mock.call` now preserves the order of keyword
15608 - bpo-37372: Fix error unpickling datetime.time objects from Python 2 with
15611 - bpo-37345: Add formal support for UDPLITE sockets. Support was present
15618 - bpo-37358: Optimized ``functools.partial`` by using vectorcall.
15620 - bpo-37347: :meth:`sqlite3.Connection.create_aggregate`,
15628 - bpo-37163: The *obj* argument of :func:`dataclasses.replace` is
15629 positional-only now.
15631 - bpo-37085: Add the optional Linux SocketCAN Broadcast Manager constants,
15635 - bpo-37328: ``HTMLParser.unescape`` is removed. It was undocumented and
15638 - bpo-37305: Add .webmanifest -> application/manifest+json to list of
15641 - bpo-37320: ``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()``
15645 - bpo-37315: Deprecated accepting floats with integral value (like ``5.0``)
15648 - bpo-37312: ``_dummy_thread`` and ``dummy_threading`` modules have been
15652 - bpo-33972: Email with single part but content-type set to ``multipart/*``
15655 - bpo-37280: Use threadpool for reading from file for sendfile fallback
15658 - bpo-37279: Fix asyncio sendfile support when sendfile sends extra data in
15661 - bpo-19865: :func:`ctypes.create_unicode_buffer()` now also supports
15662 non-BMP characters on platforms with 16-bit :c:type:`wchar_t` (for
15665 - bpo-37266: In a subinterpreter, spawning a daemon thread now raises an
15670 - bpo-37210: Allow pure Python implementation of :mod:`pickle` to work even
15673 - bpo-21872: Fix :mod:`lzma`: module decompresses data incompletely. When
15678 - bpo-35922: Fix :meth:`RobotFileParser.crawl_delay` and
15683 - bpo-35766: Change the format of feature_version to be a (major, minor)
15686 - bpo-36607: Eliminate :exc:`RuntimeError` raised by
15690 - bpo-18748: :class:`_pyio.IOBase` destructor now does nothing if getting
15694 - bpo-36402: Fix a race condition at Python shutdown when waiting for
15695 threads. Wait until the Python thread state of all non-daemon threads get
15696 deleted (join all non-daemon threads), rather than just wait until
15697 non-daemon Python threads complete.
15699 - bpo-37206: Default values which cannot be represented as Python objects no
15702 - bpo-37111: Added ``encoding`` and ``errors`` keyword parameters to
15705 - bpo-12144: Ensure cookies with ``expires`` attribute are handled in
15708 - bpo-34886: Fix an unintended ValueError from :func:`subprocess.run` when
15714 - bpo-37173: The exception message for ``inspect.getfile()`` now correctly
15717 - bpo-37178: Give math.perm() a one argument form that means the same as
15720 - bpo-37178: For math.perm(n, k), let k default to n, giving the same result
15723 - bpo-37165: Converted _collections._count_elements to use the Argument
15726 - bpo-34767: Do not always create a :class:`collections.deque` in
15729 - bpo-37158: Speed-up statistics.fmean() by switching from a function to a
15732 - bpo-34282: Remove ``Enum._convert`` method, deprecated in 3.8.
15734 - bpo-37150: `argparse._ActionsContainer.add_argument` now throws error, if
15738 - bpo-28724: The socket module now has the :func:`socket.send_fds` and
15742 - bpo-35621: Support running asyncio subprocesses when execution event loop
15745 - bpo-36520: Lengthy email headers with UTF-8 characters are now properly
15748 - bpo-30835: Fixed a bug in email parsing where a message with invalid bytes
15749 in content-transfer-encoding of a multipart message can cause an
15752 - bpo-31163: pathlib.Path instance's rename and replace methods now return
15755 - bpo-25068: :class:`urllib.request.ProxyHandler` now lowercases the keys of
15758 - bpo-26185: Fix :func:`repr` on empty :class:`ZipInfo` object. Patch by
15761 - bpo-21315: Email headers containing RFC2047 encoded words are parsed
15765 - bpo-31904: Port test_datetime to VxWorks: skip zoneinfo tests on VxWorks
15767 - bpo-35805: Add parser for Message-ID header and add it to default
15768 HeaderRegistry. This should prevent folding of Message-ID using RFC 2048
15771 - bpo-36871: Ensure method signature is used instead of constructor
15775 - bpo-35070: posix.getgrouplist() now works correctly when the user belongs
15778 - bpo-31783: Fix race condition in ThreadPoolExecutor when worker threads
15781 - bpo-36582: Fix ``UserString.encode()`` to correctly return ``bytes``
15784 - bpo-32424: Deprecate xml.etree.ElementTree.Element.copy() in favor of
15789 - bpo-36564: Fix infinite loop in email header folding logic that would be
15794 - bpo-36543: Removed methods Element.getchildren(), Element.getiterator()
15797 - bpo-36409: Remove the old plistlib API deprecated in Python 3.4
15799 - bpo-36302: distutils sorts source file lists so that Extension .so files
15802 - bpo-36250: Ignore ``ValueError`` from ``signal`` with ``interaction`` in
15803 non-main thread.
15805 - bpo-36046: Added ``user``, ``group`` and ``extra_groups`` parameters to
15808 - bpo-32627: Fix compile error when ``_uuid`` headers conflicting included.
15810 - bpo-35800: Deprecate ``smtpd.MailmanProxy`` ready for future removal.
15812 - bpo-35168: :attr:`shlex.shlex.punctuation_chars` is now a read-only
15815 - bpo-8538: Add support for boolean actions like ``--foo`` and ``--no-foo``
15818 - bpo-20504: Fixes a bug in :mod:`cgi` module when a multipart/form-data
15819 request has no `Content-Length` header.
15821 - bpo-25988: The abstract base classes in :mod:`collections.abc` no longer
15824 - bpo-11122: Distutils won't check for rpmbuild in specified paths only.
15826 - bpo-34775: Division handling of PurePath now returns NotImplemented
15830 - bpo-34749: :func:`binascii.a2b_base64` is now up to 2 times faster. Patch
15833 - bpo-34519: Add additional aliases for HP Roman 8. Patch by Michael Osipov.
15835 - bpo-28009: Fix uuid.getnode() on platforms with '.' as MAC Addr delimiter
15840 - bpo-30618: Add :meth:`~pathlib.Path.readlink`. Patch by Girts Folkmanis.
15842 - bpo-32498: Made :func:`urllib.parse.unquote()` accept bytes in addition to
15845 - bpo-33348: lib2to3 now recognizes expressions after ``*`` and `**` like in
15848 - bpo-32689: Update :func:`shutil.move` function to allow for Path objects
15852 - bpo-32820: Added __format__ to IPv4 and IPv6 classes. Always outputs a
15853 fully zero- padded string. Supports b/x/n modifiers (bin/hex/native
15857 - bpo-27657: Fix urllib.parse.urlparse() with numeric paths. A string like
15861 - bpo-4963: Fixed non-deterministic behavior related to mimetypes extension
15865 -------------
15867 - bpo-21767: Explicitly mention abc support in functools.singledispatch
15869 - bpo-38816: Provides more details about the interaction between
15870 :c:func:`fork` and CPython's runtime, focusing just on the C-API. This
15874 - bpo-38351: Modernize :mod:`email` examples from %-formatting to f-strings.
15876 - bpo-38778: Document the fact that :exc:`RuntimeError` is raised if
15879 - bpo-38592: Add Brazilian Portuguese to the language switcher at Python
15882 - bpo-38294: Add list of no-longer-escaped chars to re.escape documentation
15884 - bpo-38053: Modernized the plistlib documentation
15886 - bpo-26868: Fix example usage of :c:func:`PyModule_AddObject` to properly
15889 - bpo-36797: Fix a dead link in the distutils API Reference.
15891 - bpo-37977: Warn more strongly and clearly about pickle insecurity
15893 - bpo-37979: Added a link to dateutil.parser.isoparse in the
15896 - bpo-12707: Deprecate info(), geturl(), getcode() methods in favor of the
15901 - bpo-37937: Mention ``frame.f_trace`` in :func:`sys.settrace` docs.
15903 - bpo-37878: Make :c:func:`PyThreadState_DeleteCurrent` Internal.
15905 - bpo-37759: Beginning edits to Whatsnew 3.8
15907 - bpo-37726: Stop recommending getopt in the tutorial for command line
15910 - bpo-32910: Remove implementation-specific behaviour of how venv's
15913 - bpo-37256: Fix wording of arguments for :class:`Request` in
15916 - bpo-37284: Add a brief note to indicate that any new
15920 - bpo-30088: Documented that :class:`mailbox.Maildir` constructor doesn't
15924 - bpo-37521: Fix `importlib` examples to insert any newly created modules
15930 - bpo-37456: Slash ('/') is now part of syntax.
15932 - bpo-37487: Fix PyList_GetItem index description to include 0.
15934 - bpo-37149: Replace the dead link to the Tkinter 8.5 reference by John
15937 - bpo-37478: Added possible exceptions to the description of os.chdir().
15939 - bpo-34903: Documented that in :meth:`datetime.datetime.strptime()`, the
15940 leading zero in some two-digit formats is optional. Patch by Mike Gleen.
15942 - bpo-36260: Add decompression pitfalls to zipfile module documentation.
15944 - bpo-37004: In the documentation for difflib, a note was added explicitly
15948 - bpo-36960: Restructured the :mod:`datetime` docs in the interest of making
15949 them more user-friendly and improving readability. Patch by Brad Solomon.
15951 - bpo-36487: Make C-API docs clear about what the "main" interpreter is.
15953 - bpo-23460: The documentation for decimal string formatting using the `:g`
15957 - bpo-35803: Document and test that ``tempfile`` functions may accept a
15958 :term:`path-like object` for the ``dir`` argument. Patch by Anthony
15961 - bpo-33944: Added a note about the intended use of code in .pth files.
15963 - bpo-34293: Fix the Doc/Makefile regarding PAPER environment variable and
15966 - bpo-25237: Add documentation for tkinter modules
15969 -----
15971 - bpo-38614: Fix test_communicate() of test_asyncio.test_subprocess: use
15974 - bpo-38614: Add timeout constants to :mod:`test.support`:
15980 - bpo-38502: test.regrtest now uses process groups in the multiprocessing
15981 mode (-jN command line option) if process groups are available: if
15984 - bpo-35998: Fix a race condition in test_asyncio.test_start_tls_server_1().
15990 - bpo-38470: Fix ``test_compileall.test_compile_dir_maxlevels()`` on Windows
15994 - bpo-37531: On timeout, regrtest no longer attempts to call
16000 - bpo-38239: Fix test_gdb for Link Time Optimization (LTO) builds.
16002 - bpo-38275: test_ssl now handles disabled TLS/SSL versions better.
16003 OpenSSL's crypto policy and run-time settings are recognized and tests for
16007 - bpo-38271: The private keys for test_ssl were encrypted with 3DES in
16012 - bpo-38270: test.support now has a helper function to check for
16017 - bpo-37123: Multiprocessing test test_mymanager() now also expects
16018 -SIGTERM, not only exitcode 0. BaseManager._finalize_manager() sends
16022 - bpo-38212: Multiprocessing tests: increase
16025 - bpo-38117: Test with OpenSSL 1.1.1d
16027 - bpo-38018: Increase code coverage for multiprocessing.shared_memory.
16029 - bpo-37805: Add tests for json.dump(..., skipkeys=True). Patch by Dong-hee
16032 - bpo-37531: Enhance regrtest multiprocess timeout: write a message when
16036 - bpo-37876: Add tests for ROT-13 codec.
16038 - bpo-36833: Added tests for PyDateTime_xxx_GET_xxx() macros of the C API of
16041 - bpo-37558: Fix test_shared_memory_cleaned_after_process_termination name
16044 - bpo-37526: Add :func:`test.support.catch_threading_exception`: context
16048 - bpo-37421: test_concurrent_futures now explicitly stops the ForkServer
16051 - bpo-37421: multiprocessing tests now stop the ForkServer instance if it's
16055 - bpo-37421: test_distutils.test_build_ext() is now able to remove the
16059 - bpo-37421: test_concurrent_futures now cleans up multiprocessing to remove
16063 - bpo-37421: test_winconsoleio doesn't leak a temporary file anymore: use
16066 - bpo-37421: multiprocessing tests now explicitly call ``_run_finalizers()``
16069 - bpo-37421: urllib.request tests now call
16074 - bpo-37472: Remove ``Lib/test/outstanding_bugs.py``.
16076 - bpo-37199: Fix test failures when IPv6 is unavailable or disabled.
16078 - bpo-19696: Replace deprecated method "random.choose" with "random.choice"
16081 - bpo-37335: Remove no longer necessary code from c locale coercion tests
16083 - bpo-37421: Fix test_shutil to no longer leak temporary files.
16085 - bpo-37411: Fix test_wsgiref.testEnviron() to no longer depend on the
16088 - bpo-37400: Fix test_os.test_chown(): use os.getgroups() rather than
16091 - bpo-37359: Add --cleanup option to python3 -m test to remove
16093 cleantest" to run ``python3 -m test --cleanup``.
16095 - bpo-37362: test_gdb no longer fails if it gets an "unexpected" message on
16097 python-gdb.py commands work as expected, not to test gdb.
16099 - bpo-35998: Avoid TimeoutError in test_asyncio: test_start_tls_server_1()
16101 - bpo-37278: Fix test_asyncio ProactorLoopCtrlC: join the thread to prevent
16104 - bpo-37261: Fix :func:`test.support.catch_unraisable_exception`: its
16108 - bpo-37069: regrtest now uses :func:`sys.unraisablehook` to mark a test as
16112 Use ``python3 -m test --fail-env-changed`` to catch unraisable exceptions
16115 - bpo-37252: Fix assertions in ``test_close`` and
16118 - bpo-37169: Rewrite ``_PyObject_IsFreed()`` unit tests.
16120 - bpo-37153: ``test_venv.test_multiprocessing()`` now explicitly calls
16123 - bpo-34001: Make test_ssl pass with LibreSSL. LibreSSL handles minimum and
16126 - bpo-36919: Make ``test_source_encoding.test_issue2301`` implementation
16129 - bpo-30202: Update ``test.test_importlib.test_abc`` to test
16132 - bpo-28009: Modify the test_uuid logic to test when a program is available
16135 - bpo-34596: Fallback to a default reason when :func:`unittest.skip` is
16139 -----
16141 - bpo-38809: On Windows, build scripts will now recognize and use python.exe
16144 - bpo-38684: Fix _hashlib build when Blake2 is disabled, but OpenSSL
16147 - bpo-38468: Misc/python-config.in now uses `getvar()` for all still
16150 - bpo-37415: Fix stdatomic.h header check for ICC compiler: the ICC
16153 - bpo-38301: In Solaris family, we must be sure to use ``-D_REENTRANT``.
16156 - bpo-36002: Locate ``llvm-profdata`` and ``llvm-ar`` binaries using
16159 - bpo-37936: The :file:`.gitignore` file systematically keeps "rooted", with
16160 a non-trailing slash, all the rules that are meant to apply to files in a
16165 - bpo-37760: The :file:`Tools/unicode/makeunicodedata.py` script, which is
16169 ``dataclass`` with named attributes, rather than a length-18 list of
16172 - bpo-37936: The :file:`.gitignore` file no longer applies to any files that
16175 - bpo-37725: Change "clean" makefile target to also clean the program guided
16177 and "make profile-removal", or "make clobber".
16179 - bpo-37707: Mark some individual tests to skip when --pgo is used. The
16183 - bpo-36044: Reduce the number of unit tests run for the PGO generation
16188 restored using './configure [..] PROFILE_TASK="-m test --pgo-extended"'.
16193 - bpo-37468: ``make install`` no longer installs ``wininst-*.exe`` files
16196 - bpo-37189: Many ``PyRun_XXX()`` functions like :c:func:`PyRun_String` were
16200 - bpo-25361: Enables use of SSE2 instructions in Windows 32-bit build.
16202 - bpo-36210: Update optional extension module detection for AIX. ossaudiodev
16204 missing. 3rd-party packaging of ncurses (with ASIS support) conflicts with
16211 -------
16213 - bpo-38589: Fixes HTML Help shortcut when Windows is not installed to C
16216 - bpo-38453: Ensure ntpath.realpath() correctly resolves relative paths.
16218 - bpo-38519: Restores the internal C headers that were missing from the
16221 - bpo-38492: Remove ``pythonw.exe`` dependency on the Microsoft C++ runtime.
16223 - bpo-38344: Fix error message in activate.bat
16225 - bpo-38359: Ensures ``pyw.exe`` launcher reads correct registry key.
16227 - bpo-38355: Fixes ``ntpath.realpath`` failing on ``sys.executable``.
16229 - bpo-38117: Update bundled OpenSSL to 1.1.1d
16231 - bpo-38092: Reduce overhead when using multiprocessing in a Windows virtual
16234 - bpo-38133: Allow py.exe launcher to locate installations from the
16237 - bpo-38114: The ``pip.ini`` is no longer included in the Nuget package.
16239 - bpo-32592: Set Windows 8 as the minimum required version for API support
16241 - bpo-36634: :func:`os.cpu_count` now returns active processors rather than
16244 - bpo-36634: venv activate.bat now works when the existing variables contain
16247 - bpo-38081: Prevent error calling :func:`os.path.realpath` on ``'NUL'``.
16249 - bpo-38087: Fix case sensitivity in test_pathlib and test_ntpath.
16251 - bpo-38088: Fixes distutils not finding vcruntime140.dll with only the v142
16254 - bpo-37283: Ensure command-line and unattend.xml setting override
16257 - bpo-38030: Fixes :func:`os.stat` failing for block devices on Windows
16259 - bpo-38020: Fixes potential crash when calling :func:`os.readlink` (or
16263 - bpo-37705: Improve the implementation of ``winerror_to_errno()``.
16265 - bpo-37549: :func:`os.dup` no longer fails for standard streams on Windows
16268 - bpo-1311: The ``nul`` file on Windows now returns True from
16272 - bpo-9949: Enable support for following symlinks in :func:`os.realpath`.
16274 - bpo-37834: Treat all name surrogate reparse points on Windows in
16278 - bpo-36266: Add the module name in the formatted error message when DLL
16282 - bpo-25172: Trying to import the :mod:`crypt` module on Windows will result
16288 - bpo-37778: Fixes the icons used for file associations to the Microsoft
16291 - bpo-37734: Fix use of registry values to launch Python from Microsoft
16294 - bpo-37702: Fix memory leak on Windows in creating an SSLContext object or
16297 - bpo-37672: Switch Windows Store package's pip to use bundled
16300 - bpo-10945: Officially drop support for creating bdist_wininst installers
16301 on non-Windows systems.
16303 - bpo-37445: Include the ``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in
16306 - bpo-37369: Fixes path for :data:`sys.executable` when running from the
16309 - bpo-37380: Don't collect unfinished processes with ``subprocess._active``
16312 - bpo-37351: Removes libpython38.a from standard Windows distribution.
16314 - bpo-35360: Update Windows builds to use SQLite 3.28.0.
16316 - bpo-37267: On Windows, :func:`os.dup` no longer creates an inheritable fd
16319 - bpo-36779: Ensure ``time.tzname`` is correct on Windows when the active
16322 - bpo-32587: Make :data:`winreg.REG_MULTI_SZ` support zero-length strings.
16324 - bpo-28269: Replace use of :c:func:`strcasecmp` for the system function
16327 - bpo-36590: Add native Bluetooth RFCOMM support to socket module.
16330 -----
16332 - bpo-38117: Updated OpenSSL to 1.1.1d in macOS installer.
16334 - bpo-38089: Move Azure Pipelines to latest VM versions and make macOS tests
16337 - bpo-18049: Increase the default stack size of threads from 5MB to 16MB on
16341 - bpo-34602: Avoid test suite failures on macOS by no longer calling
16346 - bpo-35360: Update macOS installer to use SQLite 3.28.0.
16348 - bpo-34631: Updated OpenSSL to 1.1.1c in macOS installer.
16351 ----
16353 - bpo-26353: Stop adding newline when saving an IDLE shell window.
16355 - bpo-4630: Add an option to toggle IDLE's cursor blink for shell, editor,
16359 - bpo-38598: Do not try to compile IDLE shell or output windows
16361 - bpo-36698: IDLE no longer fails when write non-encodable characters to
16365 - bpo-35379: When exiting IDLE, catch any AttributeError. One happens when
16369 - bpo-38183: To avoid problems, test_idle ignores the user config directory.
16373 - bpo-38077: IDLE no longer adds 'argv' to the user namespace when
16376 - bpo-38041: Shell restart lines now fill the window width, always start
16380 - bpo-35771: To avoid occasional spurious test_idle failures on slower
16383 - bpo-37824: Properly handle user input warnings in IDLE shell. Cease
16386 - bpo-37929: IDLE Settings dialog now closes properly when there is no shell
16389 - bpo-37902: Add mousewheel scrolling for IDLE module, path, and stack
16392 - bpo-37849: Fixed completions list appearing too high or low when shown
16395 - bpo-36419: Refactor IDLE autocomplete and improve testing.
16397 - bpo-37748: Reorder the Run menu. Put the most common choice, Run Module,
16400 - bpo-37692: Improve highlight config sample with example shell interaction
16403 - bpo-37628: Settings dialog no longer expands with font size.
16405 - bpo-37627: Initialize the Customize Run dialog with the command line
16409 - bpo-33610: Fix code context not showing the correct context when first
16412 - bpo-37530: Optimize code context to reduce unneeded background activity.
16416 - bpo-27452: Cleanup ``config.py`` by inlining ``RemoveFile`` and
16419 - bpo-37325: Fix tab focus traversal order for help source and custom run
16422 - bpo-37321: Both subprocess connection error messages now refer to the
16425 - bpo-17535: Add optional line numbers for IDLE editor windows. Windows
16429 - bpo-26806: To compensate for stack frames added by IDLE and avoid possible
16434 - bpo-37177: Properly 'attach' search dialogs to their main window so that
16438 - bpo-37039: Adjust "Zoom Height" to individual screens by momentarily
16443 - bpo-35763: Make calltip reminder about '/' meaning positional-only less
16446 - bpo-5680: Add 'Run... Customized' to the Run menu to run a module with
16450 - bpo-36390: Gather Format menu functions into format.py. Combine
16454 -----------
16456 - bpo-38118: Update Valgrind suppression file to ignore a false alarm in
16459 - bpo-38347: pathfix.py: Assume all files that end on '.py' are Python
16462 - bpo-37803: pdb's ``--help`` and ``--version`` long options now work.
16464 - bpo-37942: Improve ArgumentClinic converter for floats.
16466 - bpo-37704: Remove ``Tools/scripts/h2py.py``: use cffi to access a C API in
16469 - bpo-37675: 2to3 now works when run from a zipped standard library.
16471 - bpo-37034: Argument Clinic now uses the argument name on errors with
16472 keyword-only argument instead of their position. Patch contributed by Rémi
16475 - bpo-37064: Add option -k to pathscript.py script: preserve shebang flags.
16476 Add option -a to pathscript.py script: add flags.
16479 -----
16481 - bpo-37633: Re-export some function compatibility wrappers for macros in
16484 - bpo-38644: Provide :c:func:`Py_EnterRecursiveCall` and
16490 - bpo-38650: The global variable :c:data:`PyStructSequence_UnnamedField` is
16493 - bpo-38540: Fixed possible leak in :c:func:`PyArg_Parse` and similar
16497 - bpo-38395: Fix a crash in :class:`weakref.proxy` objects due to incorrect
16502 - bpo-36389: The ``_PyObject_CheckConsistency()`` function is now also
16506 - bpo-38266: Revert the removal of PyThreadState_DeleteCurrent() with
16509 - bpo-38303: Update audioop extension module to use the stable ABI
16510 (PEP-384). Patch by Tyler Kieft.
16512 - bpo-38234: :c:func:`Py_SetPath` now sets :data:`sys.executable` to the
16516 - bpo-38234: Python ignored arguments passed to :c:func:`Py_SetPath`,
16520 - bpo-38205: The :c:func:`Py_UNREACHABLE` macro now calls
16523 - bpo-38140: Make dict and weakref offsets opaque for C heap types by
16526 - bpo-15088: The C function ``PyGen_NeedsFinalizing`` has been removed. It
16531 - bpo-36763: Options added by ``PySys_AddXOption()`` are now handled the
16532 same way than ``PyConfig.xoptions`` and command line ``-X`` options.
16534 - bpo-37926: Fix a crash in ``PySys_SetArgvEx(0, NULL, 0)``.
16536 - bpo-37879: Fix subtype_dealloc to suppress the type decref when the base
16539 - bpo-37645: Add :c:func:`_PyObject_FunctionStr` to get a user-friendly
16540 string representation of a function-like object. Patch by Jeroen Demeyer.
16542 - bpo-29548: The functions ``PyEval_CallObject``, ``PyEval_CallFunction``,
16546 - bpo-37151: ``PyCFunction_Call`` is now a deprecated alias of
16549 - bpo-37540: The vectorcall protocol now requires that the caller passes
16552 - bpo-37207: The vectorcall protocol is now enabled for ``type`` objects:
16556 - bpo-21120: Exclude Python-ast.h, ast.h and asdl.h from the limited API.
16558 - bpo-37483: Add new function ``_PyObject_CallOneArg`` for calling an object
16561 - bpo-36763: Add :func:`PyConfig_SetWideStringList` function.
16563 - bpo-37337: Add fast functions for calling methods:
16567 - bpo-28805: The :const:`METH_FASTCALL` calling convention has been
16570 - bpo-37221: The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to
16572 *posonlyargcount* parameter for indicating the number of positonal-only
16575 - bpo-37215: Fix dtrace issue introduce by bpo-36842
16577 - bpo-37194: Add a new public :c:func:`PyObject_CallNoArgs` function to the
16579 efficient way to call a callback without any argument. On x86-64, for
16584 - bpo-37170: Fix the cast on error in
16587 - bpo-35381: Convert posixmodule.c statically allocated types
16588 ``DirEntryType`` and ``ScandirIteratorType`` to heap-allocated types.
16590 - bpo-34331: Use singular/plural noun in error message when instantiating an
16591 abstract class with non-overriden abstract method(s).
16597 *Release date: 2019-06-04*
16600 --------
16602 - bpo-35907: CVE-2019-9948: Avoid file reading by disallowing
16603 ``local-file://`` and ``local_file://`` URL schemes in
16607 - bpo-33529: Prevent fold function used in email header encoding from
16608 entering infinite loop when there are too many non-ASCII characters in a
16611 - bpo-33164: Updated blake2 implementation which uses secure memset
16615 -----------------
16617 - bpo-35814: Allow unpacking in the right hand side of annotated
16621 - bpo-37126: All structseq objects are now tracked by the garbage collector.
16624 - bpo-37122: Make the *co_argcount* attribute of code objects represent the
16625 total number of positional arguments (including positional-only
16627 which arguments are positional only, and the difference (*co_argcount* -
16628 *co_posonlyargcount*) is the number of positional-or-keyword arguments.
16631 - bpo-20092: Constructors of :class:`int`, :class:`float` and
16636 - bpo-37087: Add native thread ID (TID) support to OpenBSD.
16638 - bpo-26219: Implemented per opcode cache mechanism and ``LOAD_GLOBAL``
16642 - bpo-37072: Fix crash in PyAST_FromNodeObject() when flags is NULL.
16644 - bpo-37029: Freeing a great many small objects could take time quadratic in
16647 This is accomplished without search now, leaving the worst-case time
16653 - bpo-26423: Fix possible overflow in ``wrap_lenfunc()`` when ``sizeof(long)
16654 < sizeof(Py_ssize_t)`` (e.g., 64-bit Windows).
16656 - bpo-37050: Improve the AST for "debug" f-strings, which use '=' to print
16659 merged with adjacent constant expressions inside the f-string).
16661 - bpo-22385: The `bytes.hex`, `bytearray.hex`, and `memoryview.hex` methods
16666 - bpo-26836: Add :func:`os.memfd_create`.
16668 - bpo-37032: Added new ``replace()`` method to the code type
16671 - bpo-37007: Implement :func:`socket.if_nameindex()`,
16675 - bpo-36829: :c:func:`PyErr_WriteUnraisable` now creates a traceback object
16680 - bpo-36878: Only accept text after `# type: ignore` if the first character
16683 - bpo-36878: Store text appearing after a `# type: ignore` comment in the
16687 - bpo-2180: Treat line continuation at EOF as a ``SyntaxError`` by Anthony
16690 - bpo-36907: Fix a crash when calling a C function with a keyword dict
16694 - bpo-36946: Fix possible signed integer overflow when handling slices.
16696 - bpo-36826: Add NamedExpression kind support to ast_unparse.c
16698 - bpo-1875: A :exc:`SyntaxError` is now raised if a code blocks that will be
16702 - bpo-36027: Allow computation of modular inverses via three-argument
16706 - bpo-36861: Update the Unicode database to version 12.1.0.
16708 - bpo-28866: Avoid caching attributes of classes which type defines mro() to
16711 - bpo-36851: The ``FrameType`` stack is now correctly cleaned up if the
16714 - bpo-34616: The ``compile()`` builtin functions now support the
16716 that contains top-level ``await``, ``async with`` or ``async for``. This
16717 is useful to evaluate async-code from with an already async functions; for
16720 - bpo-36842: Implement PEP 578, adding sys.audit, io.open_code and related
16723 - bpo-27639: Correct return type for UserList slicing operations. Patch by
16726 - bpo-36737: Move PyRuntimeState.warnings into per-interpreter state (via
16729 - bpo-36793: Removed ``__str__`` implementations from builtin types
16734 - bpo-36817: Add a ``=`` feature f-strings for debugging. This can precede
16742 - bpo-24048: Save the live exception during import.c's ``remove_module()``.
16744 - bpo-27987: pymalloc returns memory blocks aligned by 16 bytes, instead of
16745 8 bytes, on 64-bit platforms to conform x86-64 ABI. Recent compilers
16748 - bpo-36601: A long-since-meaningless check for ``getpid() == main_pid`` was
16751 - bpo-36594: Fix incorrect use of ``%p`` in format strings. Patch by Zackery
16754 - bpo-36045: builtins.help() now prefixes `async` for async functions
16756 - bpo-36084: Add native thread ID (TID) to threading.Thread objects
16759 - bpo-36035: Added fix for broken symlinks in combination with pathlib
16761 - bpo-35983: Added new trashcan macros to deal with a double deallocation
16766 - bpo-20602: Do not clear :data:`sys.flags` and :data:`sys.float_info`
16769 - bpo-26826: Expose :func:`copy_file_range` as a low level API in the
16772 - bpo-32388: Remove cross-version binary compatibility requirement in
16775 - bpo-31862: Port binascii to PEP 489 multiphase initialization. Patch by
16779 -------
16781 - bpo-37128: Added :func:`math.perm`.
16783 - bpo-37120: Add SSLContext.num_tickets to control the number of TLSv1.3
16786 - bpo-12202: Fix the error handling in
16789 - bpo-26835: The fcntl module now contains file sealing constants for
16792 - bpo-29262: Add ``get_origin()`` and ``get_args()`` introspection helpers
16795 - bpo-12639: :meth:`msilib.Directory.start_component()` no longer fails if
16798 - bpo-36999: Add the ``asyncio.Task.get_coro()`` method to publicly expose
16801 - bpo-35246: Make :func:`asyncio.create_subprocess_exec` accept path-like
16804 - bpo-35279: Change default *max_workers* of ``ThreadPoolExecutor`` from
16808 - bpo-37076: :func:`_thread.start_new_thread` now logs uncaught exception
16813 - bpo-33725: On macOS, the :mod:`multiprocessing` module now uses *spawn*
16816 - bpo-37054: Fix destructor :class:`_pyio.BytesIO` and
16821 - bpo-37058: PEP 544: Add ``Protocol`` and ``@runtime_checkable`` to the
16824 - bpo-36933: The functions ``sys.set_coroutine_wrapper`` and
16828 - bpo-37047: Handle late binding and attribute access in
16832 - bpo-37049: PEP 589: Add ``TypedDict`` to the ``typing`` module.
16834 - bpo-37046: PEP 586: Add ``Literal`` to the ``typing`` module.
16836 - bpo-37045: PEP 591: Add ``Final`` qualifier and ``@final`` decorator to
16839 - bpo-37035: Don't log OSError based exceptions if a fatal error has
16845 - bpo-37001: :func:`symtable.symtable` now accepts the same input types for
16846 source code as the built-in :func:`compile` function. Patch by Dino
16849 - bpo-37028: Implement asyncio REPL
16851 - bpo-37027: Return safe to use proxy socket object from
16854 - bpo-32528: Make asyncio.CancelledError a BaseException.
16863 - bpo-1230540: Add a new :func:`threading.excepthook` function which handles
16867 - bpo-36996: Handle :func:`unittest.mock.patch` used as a decorator on async
16870 - bpo-37008: Add support for calling :func:`next` with the mock resulting
16873 - bpo-27737: Allow whitespace only header encoding in ``email.header`` - by
16876 - bpo-36969: PDB command `args` now display positional only arguments.
16879 - bpo-36969: PDB command `args` now display keyword only arguments. Patch
16882 - bpo-36983: Add missing names to ``typing.__all__``: ``ChainMap``,
16883 ``ForwardRef``, ``OrderedDict`` - by Anthony Sottile.
16885 - bpo-36972: Add SupportsIndex protocol to the typing module to allow type
16889 - bpo-32972: Implement ``unittest.IsolatedAsyncioTestCase`` to help testing
16890 asyncio-based code.
16892 - bpo-36952: :func:`fileinput.input` and :class:`fileinput.FileInput`
16895 been made keyword-only.
16897 - bpo-36952: Starting with Python 3.3, importing ABCs from
16903 - bpo-36949: Implement __repr__ for WeakSet objects.
16905 - bpo-36948: Fix :exc:`NameError` in
16909 - bpo-33524: Fix the folding of email header when the max_line_length is 0
16910 or None and the header contains non-ascii characters. Contributed by
16911 Licht Takeuchi (@Licht-T).
16913 - bpo-24564: :func:`shutil.copystat` now ignores :const:`errno.EINVAL` on
16919 - bpo-36888: Python child processes can now access the status of their
16922 - bpo-36921: Deprecate ``@coroutine`` for sake of ``async def``.
16924 - bpo-25652: Fix bug in ``__rmod__`` of ``UserString`` - by Batuhan Taskaya.
16926 - bpo-36916: Remove a message about an unhandled exception in a task when
16930 - bpo-36889: Introduce :class:`asyncio.Stream` class that merges
16946 - bpo-36845: Added validation of integer prefixes to the construction of IP
16949 - bpo-23378: Add an extend action to argparser.
16951 - bpo-36867: Fix a bug making a SharedMemoryManager instance and its parent
16954 - bpo-23896: Adds a grammar to lib2to3.pygram that contains exec as a
16957 - bpo-36895: The function ``time.clock()`` was deprecated in 3.3 in favor of
16960 - bpo-35545: Fix asyncio discarding IPv6 scopes when ensuring hostname
16963 - bpo-36887: Add new function :func:`math.isqrt` to compute integer square
16966 - bpo-34632: Introduce the ``importlib.metadata`` module with (provisional)
16967 support for reading metadata from third-party packages.
16969 - bpo-36878: When using `type_comments=True` in `ast.parse`, treat `# type:
16970 ignore` followed by a non-alphanumeric character and then arbitrary text
16974 - bpo-36778: ``cp65001`` encoding (Windows code page 65001) becomes an alias
16977 - bpo-36867: The multiprocessing.resource_tracker replaces the
16981 - bpo-30262: The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3`
16984 - bpo-24538: In `shutil.copystat()`, first copy extended file attributes and
16988 - bpo-36829: Add new :func:`sys.unraisablehook` function which can be
16994 - bpo-36832: Introducing ``zipfile.Path``, a pathlib-compatible wrapper for
16997 - bpo-36814: Fix an issue where os.posix_spawnp() would incorrectly raise a
17000 - bpo-33110: Handle exceptions raised by functions added by
17004 - bpo-26903: Limit `max_workers` in `ProcessPoolExecutor` to 61 to work
17007 - bpo-36813: Fix :class:`~logging.handlers.QueueListener` to call
17010 - bpo-36806: Forbid creation of asyncio stream objects like StreamReader,
17013 - bpo-36802: Provide both sync and async calls for StreamWriter.write() and
17016 - bpo-36801: Properly handle SSL connection closing in asyncio
17019 - bpo-36785: Implement PEP 574 (pickle protocol 5 with out-of-band buffers).
17021 - bpo-36772: functools.lru_cache() can now be used as a straight decorator
17024 - bpo-6584: Add a :exc:`~gzip.BadGzipFile` exception to the :mod:`gzip`
17027 - bpo-36748: Optimized write buffering in C implementation of
17029 latin1, or utf-8 encoding is about 20% faster. Patch by Inada Naoki.
17031 - bpo-8138: Don't mark ``wsgiref.simple_server.SimpleServer`` as
17032 multi-threaded since ``wsgiref.simple_server.WSGIServer`` is
17033 single-threaded.
17035 - bpo-22640: :func:`py_compile.compile` now supports silent mode. Patch by
17038 - bpo-29183: Fix double exceptions in :class:`wsgiref.handlers.BaseHandler`
17042 - bpo-36548: Improved the repr of regular expression flags.
17044 - bpo-36542: The signature of Python functions can now be overridden by
17047 - bpo-36533: Reinitialize logging.Handler locks in forked child processes
17054 - bpo-35252: Throw a TypeError instead of an AssertionError when using an
17057 - bpo-35900: Allow reduction methods to return a 6-item tuple where the 6th
17058 item specifies a custom state-setting method that's called instead of the
17061 - bpo-35900: enable custom reduction callback registration for functions and
17065 - bpo-36368: Fix a bug crashing SharedMemoryManager instances in interactive
17066 sessions after a ctrl-c (KeyboardInterrupt) was sent
17068 - bpo-31904: Fix mmap fail for VxWorks
17070 - bpo-27497: :meth:`csv.DictWriter.writeheader` now returns the return value
17074 - bpo-36239: Parsing .mo files now ignores comments starting and ending with
17075 #-#-#-#-#.
17077 - bpo-26707: Enable plistlib to read and write binary plist files that were
17081 - bpo-31904: Add posix module support for VxWorks.
17083 - bpo-35125: Asyncio: Remove inner callback on outer cancellation in shield
17085 - bpo-35721: Fix :meth:`asyncio.SelectorEventLoop.subprocess_exec()` leaks
17089 - bpo-31855: :func:`unittest.mock.mock_open` results now respects the
17092 - bpo-35431: Implement :func:`math.comb` that returns binomial coefficient,
17096 - bpo-26660: Fixed permission errors in
17098 ``TemporaryDirectory.cleanup()`` failed when non-writeable or
17099 non-searchable files or directories were created inside a temporary
17102 - bpo-34271: Add debugging helpers to ssl module. It's now possible to dump
17106 - bpo-26467: Added AsyncMock to support using unittest to mock asyncio
17109 - bpo-33569: dataclasses.InitVar: Exposes the type used to create the init
17112 - bpo-34424: Fix serialization of messages containing encoded strings when
17113 the policy.linesep is set to a multi-character string. Patch by Jens
17116 - bpo-34303: Performance of :func:`functools.reduce` is slightly improved.
17119 - bpo-33361: Fix a bug in :class:`codecs.StreamRecoder` where seeking might
17123 - bpo-22454: The :mod:`shlex` module now exposes :func:`shlex.join`, the
17126 - bpo-31922: :meth:`asyncio.AbstractEventLoop.create_datagram_endpoint`: Do
17130 - bpo-24882: Change ThreadPoolExecutor to use existing idle threads before
17133 - bpo-31961: Added support for bytes and path-like objects in
17135 :term:`path-like object` if *shell* is ``False`` and a sequence containing
17136 bytes and path-like objects. The *executable* parameter now accepts a
17137 bytes and :term:`path-like object`. The *cwd* parameter now accepts a
17140 - bpo-33123: :class:`pathlib.Path.unlink` now accepts a *missing_ok*
17144 - bpo-32941: Allow :class:`mmap.mmap` objects to access the madvise() system
17147 - bpo-22102: Added support for ZIP files with disks set to 0. Such files are
17151 - bpo-32515: trace.py can now run modules via python3 -m trace -t --module
17154 - bpo-32299: Changed :func:`unittest.mock.patch.dict` to return the patched
17157 - bpo-27141: Added a ``__copy__()`` to ``collections.UserList`` and
17161 - bpo-31829: ``\r``, ``\0`` and ``\x1a`` (end-of-file on Windows) are now
17165 - bpo-23395: ``_thread.interrupt_main()`` now avoids setting the Python
17169 -------------
17171 - bpo-36896: Clarify that some types have unstable constructor signature
17174 - bpo-36686: Improve documentation of the stdin, stdout, and stderr
17181 - bpo-36984: Improve version added references in ``typing`` module - by
17184 - bpo-36868: What's new now mentions SSLContext.hostname_checks_common_name
17187 - bpo-35924: Add a note to the ``curses.addstr()`` documentation to warn
17190 - bpo-36783: Added C API Documentation for Time_FromTimeAndFold and
17194 - bpo-36797: More of the legacy distutils documentation has been either
17198 - bpo-22865: Add detail to the documentation on the `pty.spawn` function.
17200 - bpo-35397: Remove deprecation and document urllib.parse.unwrap(). Patch
17203 - bpo-32995: Added the context variable in glossary.
17205 - bpo-33519: Clarify that `copy()` is not part of the `MutableSequence` ABC.
17207 - bpo-33482: Make `codecs.StreamRecoder.writelines` take a list of bytes.
17209 - bpo-25735: Added documentation for func factorial to indicate that returns
17212 - bpo-20285: Expand object.__doc__ (docstring) to make it clearer. Modify
17217 -----
17219 - bpo-37069: Modify test_coroutines, test_cprofile, test_generators,
17224 - bpo-37098: Fix test_memfd_create on older Linux Kernels.
17226 - bpo-37081: Test with OpenSSL 1.1.1c
17228 - bpo-36829: Add :func:`test.support.catch_unraisable_exception`: context
17231 - bpo-36915: The main regrtest process now always removes all temporary
17235 - bpo-36719: "python3 -m test -jN ..." now continues the execution of next
17237 test suite stopped immediately. Use --failfast to stop at the first error.
17239 - bpo-36816: Update Lib/test/selfsigned_pythontestdotnet.pem to match
17240 self-signed.pythontest.net's new TLS certificate.
17242 - bpo-35925: Skip httplib and nntplib networking tests when they would
17246 - bpo-36782: Add tests for several C API functions in the :mod:`datetime`
17249 - bpo-36342: Fix test_multiprocessing in test_venv if platform lacks
17253 -----
17255 - bpo-36721: To embed Python into an application, a new ``--embed`` option
17256 must be passed to ``python3-config --libs --embed`` to get ``-lpython3.8``
17258 ``python3-config --libs --embed`` first and fallback to ``python3-config
17259 --libs`` (without ``--embed``) if the previous command fails.
17261 Add a pkg-config ``python-3.8-embed`` module to embed Python into an
17262 application: ``pkg-config python-3.8-embed --libs`` includes
17263 ``-lpython3.8``. To support both 3.8 and older, try ``pkg-config
17264 python-X.Y-embed --libs`` first and fallback to ``pkg-config python-X.Y
17265 --libs`` (without ``--embed``) if the previous command fails (replace
17268 On the other hand, ``pkg-config python3.8 --libs`` no longer contains
17269 ``-lpython3.8``. C extensions must not be linked to libpython (except on
17273 - bpo-36786: "make install" now runs compileall in parallel.
17276 -------
17278 - bpo-36965: include of STATUS_CONTROL_C_EXIT without depending on MSC
17281 - bpo-35926: Update to OpenSSL 1.1.1b for Windows.
17283 - bpo-29883: Add Windows support for UDP transports for the Proactor Event
17286 - bpo-33407: The :c:macro:`Py_DEPRECATED()` macro has been implemented for
17290 -----
17292 - bpo-36231: Support building Python on macOS without /usr/include
17297 ----
17299 - bpo-35610: Replace now redundant .context_use_ps1 with .prompt_last_line.
17300 This finishes change started in bpo-31858.
17302 - bpo-37038: Make idlelib.run runnable; add test clause.
17304 - bpo-36958: Print any argument other than None or int passed to SystemExit
17307 - bpo-36807: When saving a file, call os.fsync() so bits are flushed to e.g.
17310 - bpo-32411: In browser.py, remove extraneous sorting by line number since
17314 -----------
17316 - bpo-37053: Handle strings like u"bar" correctly in
17317 Tools/parser/unparse.py. Patch by Chih-Hsuan Yen.
17320 -----
17322 - bpo-36763: Implement the :pep:`587` "Python Initialization Configuration".
17324 - bpo-36379: Fix crashes when attempting to use the *modulo* parameter when
17327 - bpo-37107: Update :c:func:`PyObject_CallMethodObjArgs` and
17332 - bpo-36974: Implement :pep:`590`: Vectorcall: a fast calling protocol for
17336 - bpo-36763: ``Py_Main()`` now returns the exitcode rather than calling
17340 - bpo-36922: Add new type flag ``Py_TPFLAGS_METHOD_DESCRIPTOR`` for objects
17345 - bpo-36728: The :c:func:`PyEval_ReInitThreads` function has been removed
17353 *Release date: 2019-05-06*
17356 --------
17358 - bpo-36742: Fixes mishandling of pre-normalization characters in
17361 - bpo-30458: Address CVE-2019-9740 by disallowing URL paths with embedded
17366 - bpo-35755: :func:`shutil.which` now uses ``os.confstr("CS_PATH")`` if
17374 -----------------
17376 - bpo-36722: In debug build, import now also looks for C extensions compiled
17379 - bpo-32849: Fix Python Initialization code on FreeBSD to detect properly
17382 - bpo-36623: Remove parser headers and related function declarations that
17385 - bpo-20180: ``dict.pop()`` is now up to 33% faster thanks to Argument
17388 - bpo-36611: Debug memory allocators: disable serialno field by default from
17395 - bpo-36588: On AIX, :attr:`sys.platform` doesn't contain the major version
17400 - bpo-36549: Change str.capitalize to use titlecase for the first character
17403 - bpo-36540: Implement :pep:`570` (Python positional-only parameters). Patch
17406 - bpo-36475: :c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread`
17411 - bpo-36504: Fix signed integer overflow in _ctypes.c's
17414 - bpo-20844: Fix running script with encoding cookie and LF line ending may
17417 - bpo-24214: Fixed support of the surrogatepass error handler in the UTF-8
17420 - bpo-36452: Changing ``dict`` keys during iteration of the dict itself,
17426 - bpo-36459: Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's
17429 - bpo-36433: Fixed TypeError message in classmethoddescr_call.
17431 - bpo-36430: Fix a possible reference leak in :func:`itertools.count`.
17433 - bpo-36440: Include node names in ``ParserError`` messages, instead of
17436 - bpo-36143: Regenerate :mod:`keyword` from the Grammar and Tokens file
17439 - bpo-18372: Add missing :c:func:`PyObject_GC_Track` calls in the
17443 -------
17445 - bpo-35952: Fix pythoninfo when the compiler is missing.
17447 - bpo-28238: The ``.find*()`` methods of xml.etree.ElementTree can now
17451 - bpo-26978: `pathlib.path.link_to()` is now implemented. It creates a hard
17454 - bpo-1613500: :class:`fileinput.FileInput` now uses the input file mode to
17458 - bpo-36734: Fix compilation of ``faulthandler.c`` on HP-UX. Initialize
17461 - bpo-13611: The xml.etree.ElementTree packages gained support for C14N 2.0
17464 - bpo-36669: Add missing matrix multiplication operator support to
17467 - bpo-36676: The XMLParser() in xml.etree.ElementTree provides namespace
17471 - bpo-36673: The TreeBuilder and XMLPullParser in xml.etree.ElementTree
17475 - bpo-36650: The C version of functools.lru_cache() was treating calls with
17480 - bpo-28552: Fix :mod:`distutils.sysconfig` if :data:`sys.executable` is
17485 - bpo-35755: :func:`shutil.which` and
17492 - bpo-25430: improve performance of ``IPNetwork.__contains__()``
17494 - bpo-30485: Path expressions in xml.etree.ElementTree can now avoid
17498 - bpo-36613: Fix :mod:`asyncio` wait() not removing callback if exception
17500 - bpo-36598: Fix ``isinstance`` check for Mock objects with spec when the
17503 - bpo-18748: In development mode (:option:`-X` ``dev``) and in debug build,
17507 - bpo-36575: The ``_lsprof`` module now uses internal timer same to
17513 - bpo-33461: ``json.loads`` now emits ``DeprecationWarning`` when
17516 - bpo-36559: The random module now prefers the lean internal _sha512 module
17519 - bpo-17561: Set backlog=None as the default for socket.create_server.
17521 - bpo-34373: Fix :func:`time.mktime` error handling on AIX for year before
17524 - bpo-36232: Improve error message when trying to open existing DBM database
17527 - bpo-36546: Add statistics.quantiles()
17529 - bpo-36050: Optimized ``http.client.HTTPResponse.read()`` for large
17532 - bpo-36522: If *debuglevel* is set to >0 in :mod:`http.client`, print all
17536 - bpo-36492: Deprecated passing required arguments like *func* as keyword
17542 - bpo-27181: Add statistics.geometric_mean().
17544 - bpo-30427: ``os.path.normcase()`` relies on ``os.fspath()`` to check the
17549 - bpo-36385: Stop rejecting IPv4 octets for being ambiguously octal. Leading
17554 - bpo-36434: Errors during writing to a ZIP file no longer prevent to
17557 - bpo-36407: Fixed wrong indentation writing for CDATA section in
17560 - bpo-36326: inspect.getdoc() can now find docstrings for member objects
17563 - bpo-36366: Calling ``stop()`` on an unstarted or stopped
17568 - bpo-36348: The :meth:`imap.IMAP4.logout` method no longer ignores silently
17571 - bpo-31904: Add time module support and fix test_time faiures for VxWorks.
17573 - bpo-36227: Added support for keyword arguments `default_namespace` and
17577 - bpo-36004: Added new alternate constructors
17583 - bpo-35936: :mod:`modulefinder` no longer depends on the deprecated
17588 - bpo-35376: :mod:`modulefinder` correctly handles modules that have the
17591 - bpo-17396: :mod:`modulefinder` no longer crashes when encountering syntax
17594 - bpo-35934: Added :meth:`~socket.create_server()` and
17600 - bpo-23078: Add support for :func:`classmethod` and :func:`staticmethod` to
17603 - bpo-35416: Fix potential resource warnings in distutils. Patch by Mickaël
17606 - bpo-25451: Add transparency methods to :class:`tkinter.PhotoImage`. Patch
17609 - bpo-35082: Don't return deleted attributes when calling dir on a
17612 - bpo-34547: :class:`wsgiref.handlers.BaseHandler` now handles abrupt client
17615 - bpo-31658: :func:`xml.sax.parse` now supports :term:`path-like <path-like
17618 - bpo-34139: Remove stale unix datagram socket before binding
17620 - bpo-33530: Implemented Happy Eyeballs in `asyncio.create_connection()`.
17624 - bpo-33291: Do not raise AttributeError when calling the inspect functions
17628 - bpo-31310: Fix the multiprocessing.semaphore_tracker so it is reused by
17631 - bpo-31292: Fix ``setup.py check --restructuredtext`` for files containing
17635 -------------
17637 - bpo-36625: Remove obsolete comments from docstrings in fractions.Fraction
17639 - bpo-30840: Document relative imports
17641 - bpo-36523: Add docstring for io.IOBase.writelines().
17643 - bpo-36425: New documentation translation: `Simplified Chinese
17644 <https://docs.python.org/zh-cn/>`_.
17646 - bpo-36345: Avoid the duplication of code from ``Tools/scripts/serve.py``
17648 wsgiref-based web server in the documentation of :mod:`wsgiref`.
17651 - bpo-36345: Using the code of the ``Tools/scripts/serve.py`` script as an
17655 - bpo-36157: Added Documention for PyInterpreterState_Main().
17657 - bpo-33043: Updates the docs.python.org page with the addition of a
17662 - bpo-35581: @typing.type_check_only now allows type stubs to mark functions
17665 - bpo-33832: Add glossary entry for 'magic method'.
17667 - bpo-32913: Added re.Match.groupdict example to regex HOWTO.
17670 -----
17672 - bpo-36719: regrtest now always detects uncollectable objects. Previously,
17673 the check was only enabled by ``--findleaks``. The check now also works
17674 with ``-jN/--multiprocess N``. ``--findleaks`` becomes a deprecated alias
17675 to ``--fail-env-changed``.
17677 - bpo-36725: When using multiprocessing mode (-jN), regrtest now better
17681 - bpo-36454: Change test_time.test_monotonic() to test only the lower bound
17686 - bpo-32424: Improve test coverage for xml.etree.ElementTree. Patch by
17689 - bpo-32424: Fix typo in test_cyclic_gc() test for xml.etree.ElementTree.
17692 - bpo-36635: Add a new :mod:`_testinternalcapi` module to test the internal
17695 - bpo-36629: Fix ``test_imap4_host_default_value()`` of ``test_imaplib``:
17698 - bpo-36611: Fix ``test_sys.test_getallocatedblocks()`` when
17701 - bpo-36560: Fix reference leak hunting in regrtest: compute also deltas (of
17706 - bpo-36565: Fix reference hunting (``python3 -m test -R 3:3``) when Python
17707 has no built-in abc module.
17709 - bpo-31904: Port test_resource to VxWorks: skip tests cases setting
17712 - bpo-31904: Fix test_tabnanny on VxWorks: adjust ENOENT error message.
17714 - bpo-36436: Fix ``_testcapi.pymem_buffer_overflow()``: handle memory
17717 - bpo-31904: Fix test_utf8_mode on VxWorks: Python always use UTF-8 on
17720 - bpo-36341: Fix tests that may fail with PermissionError upon calling
17724 -----
17726 - bpo-36747: Remove the stale scriptsinstall Makefile target.
17728 - bpo-21536: On Unix, C extensions are no longer linked to libpython except
17740 distutils, python-config and python-config.py have been modified.
17742 - bpo-36707: ``./configure --with-pymalloc`` no longer adds the ``m`` flag
17746 - bpo-36635: Change ``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and
17752 - bpo-31904: Don't build the ``_crypt`` extension on VxWorks.
17754 - bpo-36618: Add ``-fmax-type-align=8`` to CFLAGS when clang compiler is
17756 x86-64, clang expects alignment on 16 bytes by default and so uses MOVAPS
17763 - bpo-36605: ``make tags`` and ``make TAGS`` now also parse
17766 - bpo-36465: Release builds and debug builds are now ABI compatible:
17771 the new ``./configure --with-trace-refs`` build option.
17773 - bpo-36577: setup.py now correctly reports missing OpenSSL headers and
17776 - bpo-36544: Fix regression introduced in bpo-36146 refactoring setup.py
17778 - bpo-36508: ``python-config --ldflags`` no longer includes flags of the
17782 - bpo-36503: Remove references to "aix3" and "aix4". Patch by M. Felt.
17785 -------
17787 - bpo-35920: Added platform.win32_edition() and platform.win32_is_iot().
17788 Added support for cross-compiling packages for Windows ARM32. Skip tests
17791 - bpo-36649: Remove trailing spaces for registry keys when installed via the
17794 - bpo-34144: Fixed activate.bat to correctly update codepage when chcp.com
17797 - bpo-36509: Added preset-iot layout for Windows IoT ARM containers. This
17799 contain files to support on-target builds since Windows ARM32 builds must
17800 be cross-compiled when using MSVC.
17802 - bpo-35941: enum_certificates function of the ssl module now returns
17812 - bpo-36441: Fixes creating a venv when debug binaries are installed.
17814 - bpo-36085: Enable better DLL resolution on Windows by using safe DLL
17817 - bpo-36010: Add the venv standard library module to the nuget distribution
17820 - bpo-29515: Add the following socket module constants on Windows:
17828 - bpo-35947: Added current version of libffi to cpython-source-deps. Change
17831 - bpo-34060: Report system load when running test suite on Windows. Patch by
17834 - bpo-31512: With the Windows 10 Creators Update, non-elevated users can now
17838 -----
17840 - bpo-34602: Avoid failures setting macOS stack resource limit with
17841 resource.setrlimit. This reverts an earlier fix for bpo-18075 which forced
17842 a non-default stack size when building the interpreter executable on
17846 ----
17848 - bpo-36429: Fix starting IDLE with pyshell. Add idlelib.pyshell alias at
17853 -----------
17855 - bpo-14546: Fix the argument handling in Tools/scripts/lll.py.
17858 -----
17860 - bpo-36763: Fix memory leak in :c:func:`Py_SetStandardStreamEncoding`:
17863 - bpo-36641: :c:expr:`PyDoc_VAR(name)` and :c:expr:`PyDoc_STRVAR(name,str)`
17867 - bpo-36389: Change the value of ``CLEANBYTE``, ``DEADDYTE`` and
17874 - bpo-36443: Since Python 3.7.0, calling :c:func:`Py_DecodeLocale` before
17876 coerced and/or if the UTF-8 Mode is enabled by the user configuration. The
17877 LC_CTYPE coercion and UTF-8 Mode are now disabled by default to fix the
17878 mojibake issue. They must now be enabled explicitly (opt-in) using the new
17881 - bpo-36025: Fixed an accidental change to the datetime C API where the
17885 backwards-incompatible change was only present in alpha releases of Python
17888 - bpo-35810: Modify ``PyObject_Init`` to correctly increase the refcount of
17889 heap- allocated Type objects. Also fix the refcounts of the heap-allocated
17897 *Release date: 2019-03-25*
17900 --------
17902 - bpo-36216: Changes urlsplit() to raise ValueError when the URL contains
17903 characters that decompose under IDNA encoding (NFKC-normalization) into
17906 - bpo-35121: Don't send cookies of domain A without Domain attribute to
17912 -----------------
17914 - bpo-36421: Fix a possible double decref in _ctypes.c's
17917 - bpo-36412: Fix a possible crash when creating a new dictionary.
17919 - bpo-36398: Fix a possible crash in ``structseq_repr()``.
17921 - bpo-36256: Fix bug in parsermodule when parsing a state in a DFA that has
17924 - bpo-36365: repr(structseq) is no longer limited to 512 bytes.
17926 - bpo-36374: Fix a possible null pointer dereference in
17929 - bpo-36236: At Python initialization, the current directory is no longer
17932 - bpo-36352: Python initialization now fails with an error, rather than
17935 - bpo-36301: Python initialization now fails if decoding ``pybuilddir.txt``
17938 - bpo-36333: Fix leak in _PyRuntimeState_Fini. Contributed by Stéphane
17941 - bpo-36332: The builtin :func:`compile` can now handle AST objects that
17944 - bpo-36282: Improved error message for too much positional arguments in
17947 - bpo-30040: New empty dict uses fewer memory for now. It used more memory
17951 - bpo-36262: Fix an unlikely memory leak on conversion from string to float
17955 - bpo-36252: Update Unicode databases to version 12.0.0.
17957 - bpo-36218: Fix a segfault occurring when sorting a list of heterogeneous
17960 - bpo-36188: Cleaned up left-over vestiges of Python 2 unbound method
17963 - bpo-36124: Add a new interpreter-specific dict and expose it in the C-API
17966 their own internal per-interpreter state.
17968 - bpo-35975: Add a ``feature_version`` flag to ``ast.parse()`` (documented)
17976 - bpo-31904: Use UTF-8 as the system encoding on VxWorks.
17978 - bpo-36048: The :meth:`~object.__index__` special method will be used
17983 - bpo-35808: Retire pgen and use a modified version of pgen2 to generate the
17987 -------
17989 - bpo-36401: The class documentation created by pydoc now has a separate
17992 - bpo-36320: The typing.NamedTuple() class has deprecated the _field_types
17997 - bpo-34745: Fix :mod:`asyncio` ssl memory issues caused by circular
18000 - bpo-36324: Add method to statistics.NormalDist for computing the inverse
18003 - bpo-36321: collections.namedtuple() misspelled the name of an attribute.
18009 - bpo-36297: "unicode_internal" codec is removed. It was deprecated since
18012 - bpo-36298: Raise ModuleNotFoundError in pyclbr when a module can't be
18015 - bpo-36268: Switch the default format used for writing tars with
18016 mod:`tarfile` to the modern POSIX.1-2001 pax standard, from the
18017 vendor-specific GNU. Contributed by C.A.M. Gerlach.
18019 - bpo-36285: Fix integer overflows in the array module. Patch by Stephan
18022 - bpo-31904: Add _signal module support for VxWorks.
18024 - bpo-36272: :mod:`logging` does not silently ignore RecursionError anymore.
18027 - bpo-36280: Add a kind field to ast.Constant. It is 'u' if the literal has
18030 - bpo-35931: The :mod:`pdb` ``debug`` command now gracefully handles all
18033 - bpo-36251: Fix format strings used for stderrprinter and re.Match reprs.
18036 - bpo-36235: Fix ``CFLAGS`` in ``customize_compiler()`` of
18041 - bpo-35807: Update ensurepip to install pip 19.0.3 and setuptools 40.8.0.
18043 - bpo-36139: Release GIL when closing :class:`~mmap.mmap` objects.
18045 - bpo-36179: Fix two unlikely reference leaks in _hashopenssl. The leaks
18046 only occur in out-of-memory cases.
18048 - bpo-36169: Add overlap() method to statistics.NormalDist. Computes the
18051 - bpo-36103: Default buffer size used by ``shutil.copyfileobj()`` is changed
18052 from 16 KiB to 64 KiB on non-Windows platform to reduce system call
18055 - bpo-36130: Fix ``pdb`` with ``skip=...`` when stepping into a frame
18058 - bpo-35652: shutil.copytree(copy_function=...) erroneously pass DirEntry
18061 - bpo-35178: Ensure custom :func:`warnings.formatwarning` function can
18064 - bpo-36106: Resolve potential name clash with libm's sinpi(). Patch by
18067 - bpo-36091: Clean up reference to async generator in Lib/types. Patch by
18070 - bpo-36043: :class:`FileCookieJar` supports :term:`path-like object`.
18073 - bpo-35899: Enum has been fixed to correctly handle empty strings and
18074 strings with non-Latin characters (ie. 'α', 'א') without crashing.
18077 - bpo-21269: Add ``args`` and ``kwargs`` properties to mock call objects.
18080 - bpo-30670: `pprint.pp` has been added to pretty-print objects with
18085 - bpo-35843: Implement ``__getitem__`` for ``_NamespacePath``. Patch by
18088 - bpo-35802: Clean up code which checked presence of ``os.stat`` /
18092 - bpo-35715: Librates the return value of a ProcessPoolExecutor
18095 - bpo-35493: Use :func:`multiprocessing.connection.wait` instead of polling
18099 - bpo-35661: Store the venv prompt in pyvenv.cfg.
18101 - bpo-35121: Don't set cookie for a request when the request path is a
18105 - bpo-21478: Calls to a child function created with
18109 - bpo-35198: Fix C++ extension compilation on AIX
18112 -------------
18114 - bpo-36329: Declare the path of the Python binary for the usage of
18115 ``Tools/scripts/serve.py`` when executing ``make -C Doc/ serve``.
18118 - bpo-36138: Improve documentation about converting datetime.timedelta to
18121 - bpo-21314: A new entry was added to the Core Language Section of the
18126 -----
18128 - bpo-36234: test_posix.PosixUidGidTests: add tests for invalid uid/gid type
18131 - bpo-29571: Fix ``test_re.test_locale_flag()``: use
18136 - bpo-36123: Fix race condition in test_socket.
18139 -----
18141 - bpo-36356: Fix leaks that led to build failure when configured with
18144 - bpo-36146: Add ``TEST_EXTENSIONS`` constant to ``setup.py`` to allow to
18147 - bpo-36146: Fix setup.py on macOS: only add ``/usr/include/ffi`` to include
18150 - bpo-31904: Enable build system to cross-build for VxWorks RTOS.
18153 -------
18155 - bpo-36312: Fixed decoders for the following code pages: 50220, 50221,
18158 - bpo-36264: Don't honor POSIX ``HOME`` in ``os.path.expanduser`` on
18161 - bpo-24643: Fix name collisions due to ``#define timezone _timezone`` in
18165 ----
18167 - bpo-36405: Use dict unpacking in idlelib.
18169 - bpo-36396: Remove fgBg param of idlelib.config.GetHighlight(). This param
18172 - bpo-36176: Fix IDLE autocomplete & calltip popup colors. Prevent conflicts
18175 - bpo-23205: For the grep module, add tests for findfiles, refactor
18176 findfiles to be a module-level function, and refactor findfiles to use
18179 - bpo-23216: Add docstrings to IDLE search modules.
18181 - bpo-36152: Remove colorizer.ColorDelegator.close_when_done and the
18185 - bpo-32129: Avoid blurry IDLE application icon on macOS with Tk 8.6. Patch
18188 - bpo-36096: Refactor class variables to instance variables in colorizer.
18190 - bpo-30348: Increase test coverage of idlelib.autocomplete by 30%. Patch by
18194 -----------
18196 - bpo-35132: Fix py-list and py-bt commands of python-gdb.py on gdb7.
18198 - bpo-32217: Fix freeze script on Windows.
18201 -----
18203 - bpo-36381: Raise ``DeprecationWarning`` when '#' formats are used for
18206 - bpo-36142: The whole coreconfig.h header is now excluded from
18214 *Release date: 2019-02-25*
18217 -----------------
18219 - bpo-36052: Raise a :exc:`SyntaxError` when assigning a value to
18223 - bpo-36012: Doubled the speed of class variable writes. When a non-dunder
18226 - bpo-35942: The error message emitted when returning invalid types from
18230 - bpo-36016: ``gc.get_objects`` can now receive an optional parameter
18233 - bpo-1054041: When the main interpreter exits due to an uncaught
18239 - bpo-35992: Fix ``__class_getitem__()`` not being called on a class with a
18240 custom non-subscriptable metaclass.
18242 - bpo-35993: Fix a crash on fork when using subinterpreters. Contributed by
18245 - bpo-35991: Fix a potential double free in Modules/_randommodule.c.
18247 - bpo-35961: Fix a crash in slice_richcompare(): use strong references
18250 - bpo-35911: Enable the creation of cell objects by adding a
18254 - bpo-12822: Use monotonic clock for ``pthread_cond_timedwait`` when
18257 - bpo-15248: The compiler emits now syntax warnings in the case when a comma
18260 - bpo-35886: The implementation of PyInterpreterState has been moved into
18263 - bpo-31506: Clarify the errors reported when ``object.__new__`` and
18267 - bpo-35724: Signal-handling is now guaranteed to happen relative to the
18270 - bpo-33608: We added a new internal _Py_AddPendingCall() that operates
18277 - bpo-33989: Fix a possible crash in :meth:`list.sort` when sorting objects
18278 with ``ob_type->tp_richcompare == NULL``. Patch by Zackery Spytz.
18281 -------
18283 - bpo-35512: :func:`unittest.mock.patch.dict` used as a decorator with
18287 - bpo-36018: Add statistics.NormalDist, a tool for creating and manipulating
18292 - bpo-35904: Added statistics.fmean() as a faster, floating point variant of
18295 - bpo-35918: Removed broken ``has_key`` method from
18298 - bpo-18283: Add support for bytes to :func:`shutil.which`.
18300 - bpo-35960: Fix :func:`dataclasses.field` throwing away empty mapping
18303 - bpo-35500: Write expected and actual call parameters on separate lines in
18307 - bpo-35931: The :mod:`pdb` ``debug`` command now gracefully handles syntax
18310 - bpo-24209: In http.server script, rely on getaddrinfo to bind to preferred
18312 may bind to IPv6 or dual-stack, depending on the environment.
18314 - bpo-35321: Set ``__spec__.origin`` of ``_frozen_importlib`` to frozen so
18318 - bpo-35378: Fix a reference issue inside :class:`multiprocessing.Pool` that
18325 - bpo-34294: re module, fix wrong capturing groups in rare cases.
18330 - bpo-35615: :mod:`weakref`: Fix a RuntimeError when copying a
18334 - bpo-35606: Implement :func:`math.prod` as analogous function to
18338 - bpo-32417: Performing arithmetic between :class:`datetime.datetime`
18345 - bpo-35153: Add *headers* optional keyword-only parameter to
18349 - bpo-34572: Fix C implementation of pickle.loads to use importlib's locking
18354 -------------
18356 - bpo-36083: Fix formatting of --check-hash-based-pycs options in the
18359 - bpo-36007: Bump minimum sphinx version to 1.8. Patch by Anthony Sottile.
18361 - bpo-22062: Update documentation and docstrings for pathlib. Original patch
18365 -----
18367 - bpo-27313: Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa
18370 - bpo-36019: Add test.support.TEST_HTTP_URL and replace references of
18374 - bpo-36037: Fix test_ssl for strict OpenSSL configuration like RHEL8 strict
18379 - bpo-35798: Added :func:`test.support.check_syntax_warning`.
18381 - bpo-35505: Make test_imap4_host_default_value independent on whether the
18384 - bpo-35917: multiprocessing: provide unit tests for SyncManager and
18388 - bpo-35704: Skip ``test_shutil.test_unpack_archive_xztar`` to prevent a
18389 MemoryError on 32-bit AIX when MAXDATA setting is less than 0x20000000.
18393 - bpo-34720: Assert m_state != NULL to mimic GC traversal functions that do
18398 -------
18400 - bpo-35976: Added ARM build support to Windows build files in PCBuild.
18402 - bpo-35692: ``pathlib`` no longer raises when checking file and directory
18405 - bpo-35872: Uses the base Python executable when invoking venv in a virtual
18408 - bpo-35873: Prevents venv paths being inherited by child processes
18410 - bpo-35299: Fix sysconfig detection of the source directory and distutils
18414 ----
18416 - bpo-24310: IDLE -- Document settings dialog font tab sample.
18418 - bpo-35833: Revise IDLE doc for control codes sent to Shell. Add a code
18421 - bpo-35689: Add docstrings and unittests for colorizer.py.
18427 *Release date: 2019-02-03*
18430 --------
18432 - bpo-35746: [CVE-2019-5010] Fix a NULL pointer deref in ssl module. The
18435 Vulnerability (TALOS-2018-0758) reported by Colin Read and Nicolas Edet of
18438 - bpo-34812: The :option:`-I` command line option (run Python in isolated
18441 :option:`-E` and :option:`-s` options (enabled by :option:`-I`) were
18444 - bpo-34791: The xml.sax and xml.dom.domreg no longer use environment
18446 sys.flags.ignore_environment is set by -E or -I arguments.
18448 - bpo-17239: The xml.sax and xml.dom.minidom parsers no longer processes
18452 - bpo-34623: CVE-2018-14647: The C accelerated _elementtree module now
18456 - bpo-34405: Updated to OpenSSL 1.1.0i for Windows builds.
18458 - bpo-33871: Fixed sending the part of the file in :func:`os.sendfile` on
18462 - bpo-32533: Fixed thread-safety of error handling in _ssl.
18464 - bpo-33136: Harden ssl module against LibreSSL CVE-2018-8970.
18468 - bpo-33001: Minimal fix to prevent buffer overrun in os.symlink on Windows
18470 - bpo-32981: Regexes in difflib and poplib were vulnerable to catastrophic
18472 have been refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch
18475 - bpo-28414: The ssl module now allows users to perform their own IDN
18479 -----------------
18481 - bpo-35877: Make parenthesis optional for named expressions in while
18484 - bpo-35814: Allow same right hand side expressions in annotated assignments
18488 - bpo-35766: Add the option to parse PEP 484 type comments in the ast
18493 - bpo-35713: Reorganize Python initialization to get working exceptions and
18496 - bpo-33416: Add end line and end column position information to the Python
18497 AST nodes. This is a C-level backwards incompatible change.
18499 - bpo-35720: Fixed a minor memory leak in pymain_parse_cmdline_impl function
18502 - bpo-35634: ``func(**kwargs)`` will now raise an error when ``kwargs`` is a
18507 - bpo-35623: Fix a crash when sorting very long lists. Patch by Stephan
18510 - bpo-35214: clang Memory Sanitizer build instrumentation was added to work
18514 - bpo-35560: Fix an assertion error in :func:`format` in debug build for
18518 - bpo-35552: Format characters ``%s`` and ``%V`` in
18522 - bpo-35504: Fix segfaults and :exc:`SystemError`\ s when deleting certain
18525 - bpo-35504: Fixed a SystemError when delete the characters_written
18528 - bpo-35494: Improved syntax error messages for unbalanced parentheses in
18529 f-string.
18531 - bpo-35444: Fixed error handling in pickling methods when fail to look up
18534 - bpo-35436: Fix various issues with memory allocation error handling.
18537 - bpo-35423: Separate the signal handling trigger in the eval loop from the
18541 - bpo-35357: Internal attributes' names of unittest.mock._Call and
18546 - bpo-35372: Fixed the code page decoder for input longer than 2 GiB
18549 - bpo-35336: Fix PYTHONCOERCECLOCALE=1 environment variable: only coerce the
18552 - bpo-31241: The *lineno* and *col_offset* attributes of AST nodes for list
18557 - bpo-33954: For :meth:`str.format`, :meth:`float.__format__` and
18558 :meth:`complex.__format__` methods for non-ASCII decimal point when using
18561 - bpo-35269: Fix a possible segfault involving a newly created coroutine.
18564 - bpo-35224: Implement :pep:`572` (assignment expressions). Patch by Emily
18567 - bpo-32492: Speed up :class:`namedtuple` attribute access by 1.6x using a C
18568 fast-path for the name descriptors. Patch by Pablo Galindo.
18570 - bpo-35214: Fixed an out of bounds memory access when parsing a truncated
18574 - bpo-35214: The interpreter and extension modules have had annotations
18576 configure flag --with-memory-sanitizer has been added to make test builds
18579 - bpo-35193: Fix an off by one error in the bytecode peephole optimizer
18584 - bpo-35169: Improved error messages for forbidden assignments.
18586 - bpo-34022: Fix handling of hash-based bytecode files in :mod:`zipimport`.
18589 - bpo-28401: Debug builds will no longer to attempt to import extension
18593 - bpo-29341: Clarify in the docstrings of :mod:`os` methods that path-like
18596 - bpo-35050: :mod:`socket`: Fix off-by-one bug in length check for
18599 - bpo-29743: Raise :exc:`ValueError` instead of :exc:`OverflowError` in case
18601 raise :exc:`TypeError` instead of :exc:`AttributeError` for non-integer
18604 - bpo-16806: Fix ``lineno`` and ``col_offset`` for multi-line string tokens.
18606 - bpo-35029: :exc:`SyntaxWarning` raised as an exception at code generation
18610 - bpo-34983: Expose :meth:`symtable.Symbol.is_nonlocal` in the symtable
18613 - bpo-34974: :class:`bytes` and :class:`bytearray` constructors no longer
18617 - bpo-34939: Allow annotated names in module namespace that are declared
18620 - bpo-34973: Fixed crash in :func:`bytes` when the :class:`list` argument is
18623 - bpo-34876: The *lineno* and *col_offset* attributes of the AST for
18630 - bpo-34879: Fix a possible null pointer dereference in bytesobject.c.
18633 - bpo-34784: Fix the implementation of PyStructSequence_NewType in order to
18636 - bpo-32912: A :exc:`SyntaxWarning` is now emitted instead of a
18640 - bpo-34854: Fixed a crash in compiling string annotations containing a
18641 lambda with a keyword-only argument that doesn't have a default value.
18643 - bpo-34850: The compiler now produces a :exc:`SyntaxWarning` when identity
18649 - bpo-34824: Fix a possible null pointer dereference in Modules/_ssl.c.
18652 - bpo-30156: The C function ``property_descr_get()`` uses a "cached" tuple
18657 - bpo-34762: Fix contextvars C API to use PyObject* pointer types.
18659 - bpo-34751: The hash function for tuples is now based on xxHash which gives
18661 on 64-bit systems it improves tuple hashes in general. Patch by Jeroen
18664 - bpo-34735: Fix a memory leak in Modules/timemodule.c. Patch by Zackery
18667 - bpo-34683: Fixed a bug where some SyntaxError error pointed to locations
18668 that were off-by-one.
18670 - bpo-34651: Only allow the main interpreter to fork. The avoids the
18674 - bpo-34653: Remove unused function PyParser_SimpleParseStringFilename.
18676 - bpo-32236: Warn that line buffering is not supported if :func:`open` is
18679 - bpo-34641: Further restrict the syntax of the left-hand side of keyword
18683 - bpo-34637: Make the *start* argument to *sum()* visible as a keyword
18686 - bpo-1621: Do not assume signed integer overflow behavior (C undefined
18689 - bpo-34588: Fix an off-by-one in the recursive call pruning feature of
18692 - bpo-34485: On Windows, the LC_CTYPE is now set to the user preferred
18696 - bpo-34485: Standard streams like sys.stdout now use the "surrogateescape"
18698 is not coerced and the UTF-8 Mode is disabled).
18700 - bpo-34485: Fix the error handler of standard streams like sys.stdout:
18704 - bpo-34485: Python now gets the locale encoding with C code to initialize
18710 - bpo-34527: On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also
18714 - bpo-34527: The UTF-8 Mode is now also enabled by the "POSIX" locale, not
18717 - bpo-34403: On HP-UX with C or POSIX locale, sys.getfilesystemencoding()
18718 now returns "ascii" instead of "roman8" (when the UTF-8 Mode is disabled
18721 - bpo-34523: The Python filesystem encoding is now read earlier during the
18724 - bpo-12458: Tracebacks show now correct line number for subexpressions in
18729 - bpo-34408: Prevent a null pointer dereference and resource leakage in
18732 - bpo-34400: Fix undefined behavior in parsetok.c. Patch by Zackery Spytz.
18734 - bpo-33073: Added as_integer_ratio to ints to make them more interoperable
18737 - bpo-34377: Update valgrind suppression list to use
18741 - bpo-34353: Added the "socket" option in the `stat.filemode()` Python
18744 - bpo-34320: Fix ``dict(od)`` didn't copy iteration order of OrderedDict.
18746 - bpo-34113: Fixed crash on debug builds when opcode stack was adjusted with
18749 - bpo-34100: Compiler now merges constants in tuples and frozensets
18752 - bpo-34151: Performance of list concatenation, repetition and slicing
18755 - bpo-34170: -X dev: it is now possible to override the memory allocator
18758 - bpo-33237: Improved :exc:`AttributeError` message for partially
18761 - bpo-34149: Fix min and max functions to get default behavior when key is
18764 - bpo-34125: Profiling of unbound built-in methods now works when
18767 - bpo-34141: Optimized pickling atomic types (None, bool, int, float, bytes,
18770 - bpo-34126: Fix crashes when profiling certain invalid calls of unbound
18773 - bpo-24618: Fixed reading invalid memory when create the code object with
18776 - bpo-34068: In :meth:`io.IOBase.close`, ensure that the
18780 - bpo-34087: Fix buffer overflow while converting unicode to numeric values.
18782 - bpo-34080: Fixed a memory leak in the compiler when it raised some
18785 - bpo-34066: Disabled interruption by Ctrl-C between calling ``open()`` and
18788 - bpo-34042: Fix dict.copy() to maintain correct total refcount (as reported
18791 - bpo-33418: Fix potential memory leak in function object when it creates
18794 - bpo-33985: Implement contextvars.ContextVar.name attribute.
18796 - bpo-33956: Update vendored Expat library copy to version 2.2.5.
18798 - bpo-24596: Decref the module object in :c:func:`PyRun_SimpleFileExFlags`
18801 - bpo-33451: Close directly executed pyc files before calling
18804 - bpo-1617161: The hash of :class:`BuiltinMethodType` instances (methods of
18805 built-in classes) now depends on the hash of the identity of *__self__*
18807 :class:`MethodWrapperType` instances (methods of user-defined classes and
18808 some methods of built-in classes like ``str.__add__``) now depend on the
18812 - bpo-33824: Fix "LC_ALL=C python3.7 -V": reset properly the command line
18815 - bpo-33803: Fix a crash in hamt.c caused by enabling GC tracking for an
18818 - bpo-33738: Seven macro incompatibilities with the Limited API were fixed,
18823 - bpo-33786: Fix asynchronous generators to handle GeneratorExit in athrow()
18826 - bpo-30167: ``PyRun_SimpleFileExFlags`` removes ``__cached__`` from module
18829 - bpo-33706: Fix a crash in Python initialization when parsing the command
18832 - bpo-33597: Reduce ``PyGC_Head`` size from 3 words to 2 words.
18834 - bpo-30654: Fixed reset of the SIGINT handler to SIG_DFL on interpreter
18838 - bpo-33622: Fixed a leak when the garbage collector fails to add an object
18843 - bpo-33462: Make dict and dict views reversible. Patch by Rémi Lapeyre.
18845 - bpo-23722: A :exc:`RuntimeError` is now raised when the custom metaclass
18848 3.6--3.7.
18850 - bpo-33499: Add :envvar:`PYTHONPYCACHEPREFIX` environment variable and
18851 :option:`-X` ``pycache_prefix`` command-line option to set an alternate
18854 - bpo-25711: The :mod:`zipimport` module has been rewritten in pure Python.
18856 - bpo-33509: Fix module_globals parameter of warnings.warn_explicit(): don't
18859 - bpo-31849: Fix signed/unsigned comparison warning in pyhash.c.
18861 - bpo-33475: Fixed miscellaneous bugs in converting annotations to strings
18864 - bpo-20104: Added support for the `setpgroup`, `resetids`, `setsigmask`,
18868 - bpo-33391: Fix a leak in set_symmetric_difference().
18870 - bpo-33363: Raise a SyntaxError for ``async with`` and ``async for``
18873 - bpo-28055: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.
18875 - bpo-33128: Fix a bug that causes PathFinder to appear twice on
18878 - bpo-33331: Modules imported last are now cleared first at interpreter
18881 - bpo-33312: Fixed clang ubsan (undefined behavior sanitizer) warnings in
18885 - bpo-33305: Improved syntax error messages for invalid numerical literals.
18887 - bpo-33306: Improved syntax error messages for unbalanced parentheses.
18889 - bpo-33234: The list constructor will pre-size and not over-allocate when
18892 - bpo-33270: Intern the names for all anonymous code objects. Patch by
18895 - bpo-30455: The C and Python code and the documentation related to tokens
18898 - bpo-33176: Add a ``toreadonly()`` method to memoryviews.
18900 - bpo-33231: Fix potential memory leak in ``normalizestring()``.
18902 - bpo-33205: Change dict growth function from
18907 - bpo-29922: Improved error messages in 'async with' when ``__aenter__()``
18908 or ``__aexit__()`` return non-awaitable object.
18910 - bpo-33199: Fix ``ma_version_tag`` in dict implementation is uninitialized
18911 when copying from key-sharing dict.
18913 - bpo-33053: When using the -m switch, sys.path[0] is now explicitly
18918 - bpo-33138: Changed standard error message for non-pickleable and
18919 non-copyable types. It now says "cannot pickle" instead of "can't pickle"
18922 - bpo-33018: Improve consistency of errors raised by ``issubclass()`` when
18923 called with a non-class and an abstract base class as the first and second
18926 - bpo-33083: ``math.factorial`` no longer accepts arguments that are not
18927 int-like. Patch by Pablo Galindo.
18929 - bpo-33041: Added new opcode :opcode:`END_ASYNC_FOR` and fixes the
18937 - bpo-25750: Fix rare Python crash due to bad refcounting in
18941 - bpo-33041: Fixed bytecode generation for "async for" with a complex
18945 - bpo-33026: Fixed jumping out of "with" block by setting f_lineno.
18947 - bpo-33005: Fix a crash on fork when using a custom memory allocator (ex:
18952 - bpo-32911: Due to unexpected compatibility issues discovered during
18953 downstream beta testing, reverted :issue:`29463`. ``docstring`` field is
18958 - bpo-17288: Prevent jumps from 'return' and 'exception' trace events.
18960 - bpo-32946: Importing names from already imported module with "from ...
18963 - bpo-32932: Make error message more revealing when there are non-str
18966 - bpo-32925: Optimized iterating and containing test for literal lists
18967 consisting of non-constants: ``x in [a, b]`` and ``for x in [a, b]``. The
18970 - bpo-32889: Update Valgrind suppression list to account for the rename of
18973 - bpo-32836: Don't use temporary variables in cases of list/dict/set
18976 - bpo-31356: Remove the new API added in bpo-31356 (gc.ensure_disabled()
18979 - bpo-32305: For namespace packages, ensure that both ``__file__`` and
18982 - bpo-32303: Make sure ``__spec__.loader`` matches ``__loader__`` for
18985 - bpo-32711: Fix the warning messages for Python/ast_unparse.c. Patch by
18988 - bpo-32583: Fix possible crashing in builtin Unicode decoders caused by
18989 write out-of-bound errors when using customized decode error handlers.
18991 - bpo-32489: A :keyword:`continue` statement is now allowed in the
18994 - bpo-17611: Simplified the interpreter loop by moving the logic of
19006 - bpo-32285: New function unicodedata.is_normalized, which can check whether
19009 - bpo-10544: Yield expressions are now disallowed in comprehensions and
19012 - bpo-32117: Iterable unpacking is now allowed without parentheses in yield
19016 - bpo-31902: Fix the ``col_offset`` attribute for ast nodes
19020 - bpo-25862: Fix assertion failures in the ``tell()`` method of
19023 - bpo-21983: Fix a crash in `ctypes.cast()` in case the type argument is a
19026 - bpo-31577: Fix a crash in `os.utime()` in case of a bad ns argument. Patch
19029 - bpo-29832: Remove references to 'getsockaddrarg' from various socket error
19033 -------
19035 - bpo-35845: Add 'order' parameter to memoryview.tobytes().
19037 - bpo-35864: The _asdict() method for collections.namedtuple now returns a
19040 - bpo-35537: An ExitStack is now used internally within subprocess.Popen to
19045 - bpo-35847: RISC-V needed the CTYPES_PASS_BY_REF_HACK. Fixes ctypes
19048 - bpo-35813: Shared memory submodule added to multiprocessing to avoid need
19051 - bpo-35780: Fix lru_cache() errors arising in recursive, reentrant, or
19052 multi-threaded code. These errors could result in orphan links and in the
19056 misordering of links when errors are encountered. Sync-up the C code and
19063 - bpo-35537: :func:`os.posix_spawn` and :func:`os.posix_spawnp` now have a
19066 - bpo-23846: :class:`asyncio.ProactorEventLoop` now catches and logs send
19067 errors when the self-pipe is full.
19069 - bpo-34323: :mod:`asyncio`: Enhance ``IocpProactor.close()`` log: wait 1
19073 - bpo-35674: Add a new :func:`os.posix_spawnp` function. Patch by Joannah
19076 - bpo-35733: ``ast.Constant(boolean)`` no longer an instance of
19079 - bpo-35726: QueueHandler.prepare() now makes a copy of the record before
19083 - bpo-35719: Sped up multi-argument :mod:`math` functions atan2(),
19084 copysign(), remainder() and hypot() by 1.3--2.5 times.
19086 - bpo-35717: Fix KeyError exception raised when using enums and compile.
19089 - bpo-35699: Fixed detection of Visual Studio Build Tools 2017 in distutils
19091 - bpo-32710: Fix memory leaks in asyncio ProactorEventLoop on overlapped
19094 - bpo-35702: The :data:`time.CLOCK_UPTIME_RAW` constant is now available for
19097 - bpo-32710: Fix a memory leak in asyncio in the ProactorEventLoop when
19101 - bpo-35682: Fix ``asyncio.ProactorEventLoop.sendfile()``: don't attempt to
19104 - bpo-35283: Add a deprecated warning for the
19105 :meth:`threading.Thread.isAlive` method. Patch by Dong-hee Na.
19107 - bpo-35664: Improve operator.itemgetter() performance by 33% with optimized
19109 single non-negative integer index into a tuple (which is the typical use
19112 - bpo-35643: Fixed a SyntaxWarning: invalid escape sequence in
19115 - bpo-35619: Improved support of custom data descriptors in :func:`help` and
19118 - bpo-28503: The `crypt` module now internally uses the `crypt_r()` library
19121 - bpo-35614: Fixed help() on metaclasses. Patch by Sanyam Khurana.
19123 - bpo-35568: Expose ``raise(signum)`` as `raise_signal`
19125 - bpo-35588: The floor division and modulo operations and the :func:`divmod`
19126 function on :class:`fractions.Fraction` types are 2--4x faster. Patch by
19129 - bpo-35585: Speed-up building enums by value, e.g. http.HTTPStatus(200).
19131 - bpo-30561: random.gammavariate(1.0, beta) now computes the same result as
19136 - bpo-35537: The :mod:`subprocess` module can now use the
19139 - bpo-35526: Delaying the 'joke' of barry_as_FLUFL.mandatory to Python
19142 - bpo-35523: Remove :mod:`ctypes` callback workaround: no longer create a
19146 - bpo-31784: :func:`uuid.uuid1` now calls :func:`time.time_ns` rather than
19149 - bpo-35513: :class:`~unittest.runner.TextTestRunner` of
19155 - bpo-35502: Fixed reference leaks in
19159 - bpo-35348: Make :func:`platform.architecture` parsing of ``file`` command
19160 output more reliable: add the ``-b`` option to the ``file`` command to
19164 - bpo-35491: :mod:`multiprocessing`: Add ``Pool.__repr__()`` and enhance
19169 - bpo-35477: :meth:`multiprocessing.Pool.__enter__` now fails if the pool is
19172 - bpo-31446: Copy command line that was passed to CreateProcessW since this
19175 - bpo-35471: Python 2.4 dropped MacOS 9 support. The macpath module was
19178 - bpo-23057: Unblock Proactor event loop when keyboard interrupt is received
19181 - bpo-35052: Fix xml.dom.minidom cloneNode() on a document with an entity:
19184 - bpo-20239: Allow repeated assignment deletion of
19187 - bpo-17185: Set ``__signature__`` on mock for :mod:`inspect` to get
19190 - bpo-35445: Memory errors during creating posix.environ no longer ignored.
19192 - bpo-35415: Validate fileno= argument to socket.socket().
19194 - bpo-35424: :class:`multiprocessing.Pool` destructor now emits
19197 - bpo-35330: When a :class:`Mock` instance was used to wrap an object, if
19202 - bpo-35346: Drop Mac OS 9 and Rhapsody support from the :mod:`platform`
19206 - bpo-10496: :func:`~distutils.utils.check_environ` of
19211 - bpo-10496: :func:`posixpath.expanduser` now returns the input *path*
19218 - bpo-35389: :func:`platform.libc_ver` now uses
19222 - bpo-35394: Add empty slots to asyncio abstract protocols.
19224 - bpo-35310: Fix a bug in :func:`select.select` where, in some cases, the
19230 - bpo-35380: Enable TCP_NODELAY on Windows for proactor asyncio event loop.
19232 - bpo-35341: Add generic version of ``collections.OrderedDict`` to the
19235 - bpo-35371: Fixed possible crash in ``os.utime()`` on Windows when pass
19238 - bpo-35346: :func:`platform.uname` now redirects ``stderr`` to
19241 - bpo-35066: Previously, calling the strftime() method on a datetime object
19244 python implementation did not match this behavior. Datetime is now PEP-399
19247 - bpo-35345: The function `platform.popen` has been removed, it was
19250 - bpo-35344: On macOS, :func:`platform.platform` now uses
19251 :func:`platform.mac_ver`, if it returns a non-empty release string, to get
19254 - bpo-35312: Make ``lib2to3.pgen2.parse.ParseError`` round-trip pickle-able.
19257 - bpo-35308: Fix regression in ``webbrowser`` where default browsers may be
19260 - bpo-24746: Avoid stripping trailing whitespace in doctest fancy diff.
19264 - bpo-28604: :func:`locale.localeconv` now sets temporarily the ``LC_CTYPE``
19266 monetary strings are non-ASCII. This temporary change affects other
19269 - bpo-35277: Update ensurepip to install pip 18.1 and setuptools 40.6.2.
19271 - bpo-24209: Adds IPv6 support when invoking http.server directly.
19273 - bpo-35226: Recursively check arguments when testing for equality of
19278 - bpo-29564: The warnings module now suggests to enable tracemalloc if the
19282 - bpo-35189: Modify the following fnctl function to retry if interrupted by
19285 - bpo-30064: Use add_done_callback() in sock_* asyncio API to unsubscribe
19288 - bpo-35186: Removed the "built with" comment added when ``setup.py upload``
19291 - bpo-35152: Allow sending more than 2 GB at once on a multiprocessing
19292 connection on non-Windows systems.
19294 - bpo-35062: Fix incorrect parsing of
19297 - bpo-35065: Remove `StreamReaderProtocol._untrack_reader`. The call to
19302 - bpo-34160: ElementTree and minidom now preserve the attribute order
19305 - bpo-35079: Improve difflib.SequenceManager.get_matching_blocks doc by
19306 adding 'non-overlapping' and changing '!=' to '<'.
19308 - bpo-33710: Deprecated ``l*gettext()`` functions and methods in the
19314 - bpo-35017: :meth:`socketserver.BaseServer.serve_forever` now exits
19318 - bpo-35024: `importlib` no longer logs `wrote <bytecode path>` redundantly
19322 - bpo-35047: ``unittest.mock`` now includes mock calls in exception messages
19326 - bpo-31047: Fix ``ntpath.abspath`` regression where it didn't remove a
19329 - bpo-35053: tracemalloc now tries to update the traceback when an object is
19333 - bpo-31553: Add the --json-lines option to json.tool. Patch by hongweipeng.
19335 - bpo-34794: Fixed a leak in Tkinter when pass the Python wrapper around
19338 - bpo-34909: Enum: fix grandchildren subclassing when parent mixed with
19341 - bpo-35022: :class:`unittest.mock.MagicMock` now supports the
19344 - bpo-35008: Fixed references leaks when call the ``__setstate__()`` method
19348 - bpo-23420: Verify the value for the parameter '-s' of the cProfile CLI.
19351 - bpo-33947: dataclasses now handle recursive reprs without raising
19354 - bpo-34890: Make :func:`inspect.iscoroutinefunction`,
19358 - bpo-34521: Use :func:`socket.CMSG_SPACE` to calculate ancillary data size
19363 - bpo-31522: The `mailbox.mbox.get_string` function *from_* parameter can
19364 now successfully be set to a non-default value.
19366 - bpo-34970: Protect tasks weak set manipulation in ``asyncio.all_tasks()``
19368 - bpo-34969: gzip: Add --fast, --best on the gzip CLI, these parameters will
19373 - bpo-16965: The :term:`2to3` :2to3fixer:`execfile` fixer now opens the file
19376 - bpo-34966: :mod:`pydoc` now supports aliases not only to methods defined
19380 - bpo-34926: :meth:`mimetypes.MimeTypes.guess_type` now accepts
19381 :term:`path-like object` in addition to url strings. Patch by Mayank
19384 - bpo-23831: Add ``moveto()`` method to the ``tkinter.Canvas`` widget. Patch
19387 - bpo-34941: Methods ``find()``, ``findtext()`` and ``findall()`` of the
19391 - bpo-32680: :class:`smtplib.SMTP` objects now always have a `sock`
19394 - bpo-34769: Fix for async generators not finalizing when event loop is in
19397 - bpo-34936: Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``.
19400 - bpo-34829: Add methods ``selection_from``, ``selection_range``,
19404 - bpo-34911: Added *secure_protocols* argument to
19409 - bpo-34922: Fixed integer overflow in the :meth:`~hashlib.shake.digest()`
19413 - bpo-34925: 25% speedup in argument parsing for the functions in the bisect
19416 - bpo-34900: Fixed :meth:`unittest.TestCase.debug` when used to call test
19419 - bpo-34844: logging.Formatter enhancement - Ensure styles and fmt matches
19420 in logging.Formatter - Added validate method in each format style class:
19421 StrFormatStyle, PercentStyle, StringTemplateStyle. - This method is called
19422 in the constructor of logging.Formatter class - Also re-raise the KeyError
19426 - bpo-34897: Adjust test.support.missing_compiler_executable check so that a
19429 - bpo-34871: Fix inspect module polluted ``sys.modules`` when parsing
19432 - bpo-34898: Add `mtime` argument to `gzip.compress` for reproducible
19435 - bpo-28441: On Cygwin and MinGW, ensure that ``sys.executable`` always
19439 - bpo-34866: Adding ``max_num_fields`` to ``cgi.FieldStorage`` to make DOS
19443 - bpo-34711: http.server ensures it reports HTTPStatus.NOT_FOUND when the
19448 - bpo-34872: Fix self-cancellation in C implementation of asyncio.Task
19450 - bpo-34849: Don't log waiting for ``selector.select`` in asyncio loop
19455 - bpo-34022: The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer
19459 - bpo-34819: Use a monotonic clock to compute timeouts in
19463 - bpo-34758: Add .wasm -> application/wasm to list of recognized file types
19466 - bpo-34789: :func:`xml.sax.make_parser` now accepts any iterable as its
19469 - bpo-34334: In :class:`QueueHandler`, clear `exc_text` from
19472 - bpo-34687: On Windows, asyncio now uses ProactorEventLoop, instead of
19475 - bpo-5950: Support reading zip files with archive comments in
19478 - bpo-32892: The parser now represents all constants as
19484 - bpo-34728: Add deprecation warning when `loop` is used in methods:
19487 - bpo-34738: ZIP files created by :mod:`distutils` will now include entries
19490 - bpo-34659: Add an optional *initial* argument to itertools.accumulate().
19492 - bpo-29577: Support multiple mixin classes when creating Enums.
19494 - bpo-34670: Add SSLContext.post_handshake_auth and
19498 - bpo-32718: The Activate.ps1 script from venv works with PowerShell Core
19501 - bpo-31177: Fix bug that prevented using :meth:`reset_mock
19504 - bpo-34672: Add a workaround, so the ``'Z'`` :func:`time.strftime`
19507 - bpo-34666: Implement ``asyncio.StreamWriter.awrite`` and
19512 - bpo-6721: Acquire the logging module's commonly used internal locks while
19515 - bpo-34658: Fix a rare interpreter unhandled exception state SystemError
19520 - bpo-34652: Ensure :func:`os.lchmod` is never defined on Linux.
19522 - bpo-34638: Store a weak reference to stream reader to break strong
19527 - bpo-34536: `Enum._missing_`: raise `ValueError` if None returned and
19528 `TypeError` if non-member is returned.
19530 - bpo-34636: Speed up re scanning of many non-matching characters for \s \w
19533 - bpo-24412: Add :func:`~unittest.addModuleCleanup()` and
19538 - bpo-34630: Don't log SSL certificate errors in asyncio code (connection
19541 - bpo-32490: Prevent filename duplication in :mod:`subprocess` exception
19544 - bpo-34363: dataclasses.asdict() and .astuple() now handle namedtuples
19547 - bpo-34625: Update vendorized expat library version to 2.2.6.
19549 - bpo-32270: The subprocess module no longer mistakenly closes redirected
19553 - bpo-34622: Create a dedicated ``asyncio.CancelledError``,
19559 - bpo-34610: Fixed iterator of :class:`multiprocessing.managers.DictProxy`.
19561 - bpo-34421: Fix distutils logging for non-ASCII strings. This caused
19564 - bpo-34604: Fix possible mojibake in the error message of `pwd.getpwnam`
19568 - bpo-30977: Make uuid.UUID use ``__slots__`` to reduce its memory
19571 - bpo-34574: OrderedDict iterators are not exhausted during pickling
19574 - bpo-8110: Refactored :mod:`subprocess` to check for Windows-specific
19577 - bpo-34530: ``distutils.spawn.find_executable()`` now falls back on
19580 - bpo-34563: On Windows, fix multiprocessing.Connection for very large read:
19582 INT_MAX (usually ``2**31-1``).
19584 - bpo-34558: Correct typo in Lib/ctypes/_aix.py
19586 - bpo-34282: Move ``Enum._convert`` to ``EnumMeta._convert_`` and fix enum
19589 - bpo-22872: When the queue is closed, :exc:`ValueError` is now raised by
19594 - bpo-34515: Fix parsing non-ASCII identifiers in
19597 - bpo-13312: Avoids a possible integer underflow (undefined behavior) in the
19601 - bpo-34472: Improved compatibility for streamed files in :mod:`zipfile`.
19605 - bpo-34454: Fix the .fromisoformat() methods of datetime types crashing
19606 when given unicode with non-UTF-8-encodable code points. Specifically,
19610 - bpo-6700: Fix inspect.getsourcelines for module level frames/tracebacks.
19613 - bpo-34171: Running the :mod:`trace` module no longer creates the
19616 - bpo-34441: Fix crash when an ``ABC``-derived class with invalid
19620 - bpo-34427: Fix infinite loop in ``a.extend(a)`` for ``MutableSequence``
19623 - bpo-34412: Make :func:`signal.strsignal` work on HP-UX. Patch by Michael
19626 - bpo-20849: shutil.copytree now accepts a new ``dirs_exist_ok`` keyword
19629 - bpo-31715: Associate ``.mjs`` file extension with
19632 - bpo-34384: :func:`os.readlink` now accepts :term:`path-like <path-like
19635 - bpo-22602: The UTF-7 decoder now raises :exc:`UnicodeDecodeError` for
19636 ill-formed sequences starting with "+" (as specified in RFC 2152). Patch
19639 - bpo-2122: The :meth:`mmap.flush() <mmap.mmap.flush>` method now returns
19642 - bpo-34341: Appending to the ZIP archive with the ZIP64 extension no longer
19645 - bpo-34333: Fix %-formatting in :meth:`pathlib.PurePath.with_suffix` when
19648 - bpo-18540: The :class:`imaplib.IMAP4` and :class:`imaplib.IMAP4_SSL`
19652 - bpo-26502: Implement ``traceback.FrameSummary.__len__()`` method to
19655 - bpo-34318: :func:`~unittest.TestCase.assertRaises`,
19663 - bpo-9372: Deprecate :meth:`__getitem__` methods of
19667 - bpo-33613: Fix a race condition in ``multiprocessing.semaphore_tracker``
19671 - bpo-34248: Report filename in the exception raised when the database file
19673 OS-related error. Patch by Zsolt Cserna.
19675 - bpo-33089: Add math.dist() to compute the Euclidean distance between two
19678 - bpo-34246: :meth:`smtplib.SMTP.send_message` no longer modifies the
19681 - bpo-31047: Fix ``ntpath.abspath`` for invalid paths on windows. Patch by
19684 - bpo-32321: Add pure Python fallback for functools.reduce. Patch by Robert
19687 - bpo-34270: The default asyncio task class now always has a name which can
19694 name like ``Task-1`` using a monotonic counter.
19696 - bpo-34263: asyncio's event loop will not pass timeouts longer than one day
19699 - bpo-34035: Fix several AttributeError in zipfile seek() methods. Patch by
19702 - bpo-32215: Fix performance regression in :mod:`sqlite3` when a DML
19705 - bpo-34075: Deprecate passing non-ThreadPoolExecutor instances to
19708 - bpo-34251: Restore ``msilib.Win64`` to preserve backwards compatibility
19711 - bpo-19891: Ignore errors caused by missing / non-writable homedir while
19715 - bpo-33089: Enhanced math.hypot() to support more than two dimensions.
19717 - bpo-34228: tracemalloc: PYTHONTRACEMALLOC=0 environment variable and -X
19721 - bpo-13041: Use :func:`shutil.get_terminal_size` to calculate the terminal
19723 Zbyszek Jędrzejewski-Szmek.
19725 - bpo-34213: Allow frozen dataclasses to have a field named "object".
19728 - bpo-34052: :meth:`sqlite3.Connection.create_aggregate`,
19736 - bpo-34197: Attributes *skipinitialspace*, *doublequote* and *strict* of
19740 - bpo-32788: Errors other than :exc:`TypeError` raised in methods
19744 - bpo-21446: The :2to3fixer:`reload` fixer now uses :func:`importlib.reload`
19747 - bpo-940286: pydoc's ``Helper.showtopic()`` method now prints the cross
19750 - bpo-34164: :func:`base64.b32decode` could raise UnboundLocalError or
19754 - bpo-33729: Fixed issues with arguments parsing in :mod:`hashlib`.
19756 - bpo-34097: ZipFile can zip files older than 1980-01-01 and newer than
19757 2107-12-31 using a new ``strict_timestamps`` parameter at the cost of
19760 - bpo-34108: Remove extraneous CR in 2to3 refactor.
19762 - bpo-34070: Make sure to only check if the handle is a tty, when opening a
19763 file with ``buffering=-1``.
19765 - bpo-27494: Reverted :issue:`27494`. 2to3 rejects now a trailing comma in
19768 - bpo-33967: functools.singledispatch now raises TypeError instead of
19771 - bpo-34041: Add the parameter *deterministic* to the
19775 - bpo-34056: Ensure the loader shim created by ``imp.load_module`` always
19777 ``imp.load_module`` with :pep:`552` hash-based pycs.
19779 - bpo-34054: The multiprocessing module now uses the monotonic clock
19783 - bpo-34043: Optimize tarfile uncompress performance about 15% when gzip is
19786 - bpo-34044: ``subprocess.Popen`` now copies the *startupinfo* argument to
19790 - bpo-34010: Fixed a performance regression for reading streams with
19794 - bpo-34019: webbrowser: Correct the arguments passed to Opera Browser when
19797 - bpo-34003: csv.DictReader now creates dicts instead of OrderedDicts. Patch
19800 - bpo-33978: Closed existing logging handlers before reconfiguration via
19803 - bpo-14117: Make minor tweaks to turtledemo. The 'wikipedia' example is now
19807 - bpo-33974: Fixed passing lists and tuples of strings containing special
19811 - bpo-27500: Fix getaddrinfo to resolve IPv6 addresses correctly.
19813 - bpo-24567: Improve random.choices() to handle subnormal input weights that
19816 - bpo-33871: Fixed integer overflow in :func:`os.readv`, :func:`os.writev`,
19818 *headers* or *trailers* arguments (on BSD-based OSes and macOS).
19820 - bpo-25007: Add :func:`copy.copy` and :func:`copy.deepcopy` support to zlib
19823 - bpo-33929: multiprocessing: Fix a race condition in Popen of
19830 - bpo-33899: Tokenize module now implicitly emits a NEWLINE when provided
19834 - bpo-33897: Added a 'force' keyword argument to logging.basicConfig().
19836 - bpo-33695: :func:`shutil.copytree` uses :func:`os.scandir` function and
19844 - bpo-33916: bz2 and lzma: When Decompressor.__init__() is called twice,
19847 - bpo-32568: Make select.epoll() and its documentation consistent regarding
19850 - bpo-33833: Fixed bug in asyncio where ProactorSocketTransport logs
19853 - bpo-33663: Convert content length to string before putting to header.
19855 - bpo-33721: :mod:`os.path` functions that return a boolean result like
19869 - bpo-26544: Fixed implementation of :func:`platform.libc_ver`. It almost
19872 - bpo-33843: Remove deprecated ``cgi.escape``, ``cgi.parse_qs`` and
19875 - bpo-33842: Remove ``tarfile.filemode`` which is deprecated since Python
19878 - bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by
19881 - bpo-33805: Improve error message of dataclasses.replace() when an InitVar
19884 - bpo-33687: Fix the call to ``os.chmod()`` for ``uu.decode()`` if a mode is
19887 - bpo-33812: Datetime instance d with non-None tzinfo, but with
19891 - bpo-32108: In configparser, don't clear section when it is assigned to
19894 - bpo-27397: Make email module properly handle invalid-length base64
19897 - bpo-33578: Implement multibyte encoder/decoder state methods
19899 - bpo-30805: Avoid race condition with debug logging
19901 - bpo-33476: Fix _header_value_parser.py when address group is missing final
19902 ';'. Contributed by Enrique Perez-Terron
19904 - bpo-33694: asyncio: Fix a race condition causing data loss on
19907 - bpo-32493: Correct test for ``uuid_enc_be`` availability in
19910 - bpo-33792: Add asyncio.WindowsSelectorEventLoopPolicy and
19913 - bpo-33274: W3C DOM Level 1 specifies return value of
19917 - bpo-33778: Update ``unicodedata``'s database to Unicode version 11.0.0.
19919 - bpo-33165: Added a stacklevel parameter to logging calls to allow use of
19922 - bpo-33770: improve base64 exception message for encoded inputs of invalid
19925 - bpo-33769: asyncio/start_tls: Fix error message; cancel callbacks in case
19928 - bpo-33767: The concatenation (``+``) and repetition (``*``) sequence
19932 - bpo-33734: asyncio/ssl: Fix AttributeError, increase default handshake
19935 - bpo-31014: Fixed creating a controller for :mod:`webbrowser` when a user
19939 - bpo-2504: Add gettext.pgettext() and variants.
19941 - bpo-33197: Add description property for _ParameterKind
19943 - bpo-32751: When cancelling the task due to a timeout,
19946 - bpo-32684: Fix gather to propagate cancellation of itself even with
19949 - bpo-33654: Support protocol type switching in SSLTransport.set_protocol().
19951 - bpo-33674: Pause the transport as early as possible to further reduce the
19954 - bpo-33671: :func:`shutil.copyfile`, :func:`shutil.copy`,
19956 platform-specific fast-copy syscalls on Linux and macOS in order to copy
19959 :func:`memoryview`-based variant of :func:`shutil.copyfileobj` is used.
19964 - bpo-33674: Fix a race condition in SSLProtocol.connection_made() of
19969 - bpo-31647: Fixed bug where calling write_eof() on a
19972 - bpo-32610: Make asyncio.all_tasks() return only pending tasks.
19974 - bpo-32410: Avoid blocking on file IO in sendfile fallback code
19976 - bpo-33469: Fix RuntimeError after closing loop that used run_in_executor
19978 - bpo-33672: Fix Task.__repr__ crash with Cython's bogus coroutines
19980 - bpo-33654: Fix transport.set_protocol() to support switching between
19984 - bpo-33652: Pickles of type variables and subscripted generics are now
19985 future-proof and compatible with older Python versions.
19987 - bpo-32493: Fixed :func:`uuid.uuid1` on FreeBSD.
19989 - bpo-33238: Add ``InvalidStateError`` to :mod:`concurrent.futures`.
19994 - bpo-33618: Finalize and document preliminary and experimental TLS 1.3
19997 - bpo-33625: Release GIL on `grp.getgrnam`, `grp.getgrgid`, `pwd.getpwnam`
20001 - bpo-33623: Fix possible SIGSGV when asyncio.Future is created in __del__
20003 - bpo-11874: Use a better regex when breaking usage into wrappable parts.
20006 - bpo-30877: Fixed a bug in the Python implementation of the JSON decoder
20008 the decoding. Based on patch by c-fos.
20010 - bpo-33604: Remove HMAC default to md5 marked for removal in 3.8 (removal
20013 - bpo-33582: Emit a deprecation warning for inspect.formatargspec
20015 - bpo-21145: Add ``functools.cached_property`` decorator, for computed
20018 - bpo-33570: Change TLS 1.3 cipher suite settings for compatibility with
20019 OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 ciphers
20022 - bpo-28556: Do not simplify arguments to `typing.Union`. Now
20027 - bpo-12486: :func:`tokenize.generate_tokens` is now documented as a public
20031 - bpo-33540: Add a new ``block_on_close`` class attribute to
20034 - bpo-33548: tempfile._candidate_tempdir_list should consider common TEMP
20037 - bpo-33109: argparse subparsers are once again not required by default,
20038 reverting the change in behavior introduced by bpo-26510 in 3.7.0a2.
20040 - bpo-33541: Remove unused private method ``_strptime.LocaleTime.__pad``
20043 - bpo-33536: dataclasses.make_dataclass now checks for invalid field names
20047 - bpo-33542: Prevent ``uuid.get_node`` from using a DUID instead of a MAC on
20050 - bpo-26819: Fix race condition with `ReadTransport.resume_reading` in
20053 - Fix failure in `typing.get_type_hints()` when ClassVar was provided as a
20056 - bpo-33516: :class:`unittest.mock.MagicMock` now supports the ``__round__``
20059 - bpo-28612: Added support for Site Maps to urllib's ``RobotFileParser`` as
20064 - bpo-28167: Remove platform.linux_distribution, which was deprecated since
20067 - bpo-33504: Switch the default dictionary implementation for
20071 - bpo-33505: Optimize asyncio.ensure_future() by reordering if checks: 1.17x
20074 - bpo-33497: Add errors param to cgi.parse_multipart and make an encoding in
20078 - bpo-29235: The :class:`cProfile.Profile` class can now be used as a
20081 - bpo-33495: Change dataclasses.Fields repr to use the repr of each of its
20085 - bpo-26103: Correct ``inspect.isdatadescriptor`` to look for ``__set__`` or
20088 - bpo-29209: Removed the ``doctype()`` method and the *html* parameter of
20095 - bpo-33453: Fix dataclasses to work if using literal string type
20100 - bpo-28556: Minor fixes in typing module: add annotations to
20104 - bpo-33365: Print the header values besides the header keys instead just
20108 - bpo-20087: Updated alias mapping with glibc 2.27 supported locales.
20110 - bpo-33422: Fix trailing quotation marks getting deleted when looking up
20113 - bpo-28167: The function ``platform.linux_distribution`` and
20117 - bpo-33281: Fix ctypes.util.find_library regression on macOS.
20119 - bpo-33311: Text and html output generated by cgitb does not display
20123 - bpo-27300: The file classes in *tempfile* now accept an *errors* parameter
20126 - bpo-32933: :func:`unittest.mock.mock_open` now supports iteration over the
20129 - bpo-33217: Raise :exc:`TypeError` when looking up non-Enum objects in Enum
20132 - bpo-33197: Update error message when constructing invalid
20133 inspect.Parameters Patch by Dong-hee Na.
20135 - bpo-33383: Fixed crash in the get() method of the :mod:`dbm.ndbm` database
20138 - bpo-33375: The warnings module now finds the Python file associated with a
20143 - bpo-33336: ``imaplib`` now allows ``MOVE`` command in ``IMAP4.uid()`` (RFC
20147 - bpo-32455: Added *jump* parameter to :func:`dis.stack_effect`.
20149 - bpo-27485: Rename and deprecate undocumented functions in
20152 - bpo-33332: Add ``signal.valid_signals()`` to expose the POSIX sigfillset()
20155 - bpo-33251: `ConfigParser.items()` was fixed so that key-value pairs passed
20158 - bpo-33329: Fix multiprocessing regression on newer glibcs
20160 - bpo-33334: :func:`dis.stack_effect` now supports all defined opcodes
20163 - bpo-991266: Fix quoting of the ``Comment`` attribute of
20166 - bpo-33131: Upgrade bundled version of pip to 10.0.1.
20168 - bpo-33308: Fixed a crash in the :mod:`parser` module when converting an ST
20172 - bpo-23403: lib2to3 now uses pickle protocol 4 for pre-computed grammars.
20174 - bpo-33266: lib2to3 now recognizes ``rf'...'`` strings.
20176 - bpo-11594: Ensure line-endings are respected when using lib2to3.
20178 - bpo-33254: Have :func:`importlib.resources.contents` and
20182 - bpo-33265: ``contextlib.ExitStack`` and ``contextlib.AsyncExitStack`` now
20185 - bpo-33263: Fix FD leak in `_SelectorSocketTransport` Patch by Vlad
20188 - bpo-33256: Fix display of ``<module>`` call in the html produced by
20191 - bpo-33144: ``random.Random()`` and its subclassing mechanism got optimized
20197 - bpo-33185: Fixed regression when running pydoc with the :option:`-m`
20204 - bpo-29613: Added support for the ``SameSite`` cookie flag to the
20207 - bpo-33169: Delete entries of ``None`` in :data:`sys.path_importer_cache`
20210 - bpo-33203: ``random.Random.choice()`` now raises ``IndexError`` for empty
20214 - bpo-33224: Update difflib.mdiff() for :pep:`479`. Convert an uncaught
20215 StopIteration in a generator into a return-statement.
20217 - bpo-33209: End framing at the end of C implementation of
20220 - bpo-32861: The urllib.robotparser's ``__str__`` representation now
20221 includes wildcard entries and the "Crawl-delay" and "Request-rate" fields.
20225 - bpo-23403: ``DEFAULT_PROTOCOL`` in :mod:`pickle` was bumped to 4. Protocol
20230 - bpo-20104: Improved error handling and fixed a reference leak in
20233 - bpo-33106: Deleting a key from a read-only dbm database raises module
20236 - bpo-33175: In dataclasses, Field.__set_name__ now looks up the
20240 - bpo-32380: Create functools.singledispatchmethod to support generic single
20243 - bpo-33141: Have Field objects pass through __set_name__ to their default
20246 - bpo-33096: Allow ttk.Treeview.insert to insert iid that has a false
20250 - bpo-32873: Treat type variables and special typing forms as immutable by
20254 - bpo-33134: When computing dataclass's __hash__, use the lookup table to
20256 improvement over looking up a string, and then testing that string to see
20259 - bpo-33127: The ssl module now compiles with LibreSSL 2.7.1.
20261 - bpo-32505: Raise TypeError if a member variable of a dataclass is of type
20264 - bpo-33078: Fix the failure on OSX caused by the tests relying on
20267 - bpo-33116: Add 'Field' to dataclasses.__all__.
20269 - bpo-32896: Fix an error where subclassing a dataclass with a field that
20272 - bpo-33100: Dataclasses: If a field has a default value that's a
20276 - bpo-32953: If a non-dataclass inherits from a frozen dataclass, allow
20279 hierarchy to be either all frozen or all non-frozen.
20281 - bpo-33097: Raise RuntimeError when ``executor.submit`` is called during
20284 - bpo-32968: Modulo and floor division involving Fraction and float should
20287 - bpo-33061: Add missing ``NoReturn`` to ``__all__`` in typing.py
20289 - bpo-33078: Fix the size handling in multiprocessing.Queue when a pickling
20292 - bpo-33064: lib2to3 now properly supports trailing commas after ``*args``
20295 - bpo-33056: FIX properly close leaking fds in
20298 - bpo-33021: Release the GIL during fstat() calls, avoiding hang of all
20302 - bpo-31804: Avoid failing in multiprocessing.Process if the standard
20305 - bpo-33034: Providing an explicit error message when casting the port
20309 - bpo-30249: Improve struct.unpack_from() exception messages for problems
20312 - bpo-33037: Skip sending/receiving data after SSL transport closing.
20314 - bpo-27683: Fix a regression in :mod:`ipaddress` that result of
20318 - bpo-22674: Add the strsignal() function in the signal module that returns
20321 - bpo-32999: Fix C implementation of ``ABC.__subclasscheck__(cls,
20324 - bpo-33009: Fix inspect.signature() for single-parameter partialmethods.
20326 - bpo-32969: Expose several missing constants in zlib and fix corresponding
20329 - bpo-32056: Improved exceptions raised for invalid number of channels and
20333 - bpo-32970: Improved disassembly of the MAKE_FUNCTION instruction.
20335 - bpo-32844: Fix wrong redirection of a low descriptor (0 or 1) to stderr in
20338 - bpo-32960: For dataclasses, disallow inheriting frozen from non-frozen
20339 classes, and also disallow inheriting non-frozen from frozen classes. This
20342 - bpo-32713: Fixed tarfile.itn handling of out-of-bounds float values. Patch
20345 - bpo-32257: The ssl module now contains OP_NO_RENEGOTIATION constant,
20348 - bpo-32951: Direct instantiation of SSLSocket and SSLObject objects is now
20353 - bpo-32929: Remove the tri-state parameter "hash", and add the boolean
20360 - bpo-32947: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3
20363 - bpo-32146: Document the interaction between frozen executables and the
20366 - bpo-30622: The ssl module now detects missing NPN support in LibreSSL.
20368 - bpo-32922: dbm.open() now encodes filename with the filesystem encoding
20371 - bpo-32759: Free unused arenas in multiprocessing.heap.
20373 - bpo-32859: In ``os.dup2``, don't check every call whether the ``dup3``
20376 - bpo-32556: nt._getfinalpathname, nt._getvolumepathname and
20379 - bpo-21060: Rewrite confusing message from setup.py upload from "No dist
20383 - bpo-32857: In :mod:`tkinter`, ``after_cancel(None)`` now raises a
20387 - bpo-32852: Make sure sys.argv remains as a list when running trace.
20389 - bpo-31333: ``_abc`` module is added. It is a speedup module with C
20392 subclass are up to 1.5x faster. In addition, this makes Python start-up up
20401 - bpo-32841: Fixed `asyncio.Condition` issue which silently ignored
20405 - bpo-32819: ssl.match_hostname() has been simplified and no longer depends
20409 - bpo-19675: ``multiprocessing.Pool`` no longer leaks processes if its
20412 - bpo-32394: socket: Remove
20414 Windows during run-time.
20416 - bpo-31787: Fixed refleaks of ``__init__()`` methods in various modules.
20419 - bpo-30157: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when
20422 - bpo-30688: Added support of ``\N{name}`` escapes in regular expressions.
20425 - bpo-32792: collections.ChainMap() preserves the order of the underlying
20428 - bpo-32775: :func:`fnmatch.translate()` no longer produces patterns which
20429 contain set operations. Sets starting with '[' or containing '--', '&&',
20434 - bpo-32622: Implement native fast sendfile for Windows proactor event loop.
20436 - bpo-32777: Fix a rare but potential pre-exec child process deadlock in
20441 - bpo-32647: The ctypes module used to depend on indirect linking for
20445 - bpo-32749: A :mod:`dbm.dumb` database opened with flags 'r' is now
20446 read-only. :func:`dbm.dumb.open` with flags 'r' and 'w' no longer creates
20449 - bpo-32741: Implement ``asyncio.TimerHandle.when()`` method.
20451 - bpo-32691: Use mod_spec.parent when running modules with pdb
20453 - bpo-32734: Fixed ``asyncio.Lock()`` safety issue which allowed acquiring
20457 - bpo-32727: Do not include name field in SMTP envelope from address. Patch
20460 - bpo-31453: Add TLSVersion constants and SSLContext.maximum_version /
20465 - bpo-24334: Internal implementation details of ssl module were cleaned up.
20470 - bpo-31848: Fix the error handling in Aifc_read.initfp() when the SSND
20473 - bpo-32585: Add Ttk spinbox widget to :mod:`tkinter.ttk`. Patch by Alan D
20476 - bpo-32512: :mod:`profile` CLI accepts `-m module_name` as an alternative
20479 - bpo-8525: help() on a type now displays builtin subclasses. This is
20485 - bpo-31639: http.server now exposes a ThreadingHTTPServer class and uses it
20486 when the module is run with ``-m`` to cope with web browsers pre-opening
20489 - bpo-29877: compileall: import ProcessPoolExecutor only when needed,
20492 - bpo-32221: Various functions returning tuple containing IPv6 addresses now
20498 - bpo-32147: :func:`binascii.unhexlify` is now up to 2 times faster. Patch
20501 - bpo-30693: The TarFile class now recurses directories in a reproducible
20504 - bpo-30693: The ZipFile class now recurses directories in a reproducible
20507 - bpo-31680: Added :data:`curses.ncurses_version`.
20509 - bpo-31908: Fix output of cover files for ``trace`` module command-line
20510 tool. Previously emitted cover files only when ``--missing`` option was
20513 - bpo-31608: Raise a ``TypeError`` instead of crashing if a
20514 ``collections.deque`` subclass returns a non-deque from ``__new__``. Patch
20517 - bpo-31425: Add support for sockets of the AF_QIPCRTR address family,
20522 - bpo-22005: Implemented unpickling instances of
20527 - bpo-27645: :class:`sqlite3.Connection` now exposes a
20531 - bpo-16865: Support arrays >=2GiB in :mod:`ctypes`. Patch by Segev Finer.
20533 - bpo-31508: Removed support of arguments in
20537 - bpo-29456: Fix bugs in hangul normalization: u1176, u11a7 and u11c3
20540 -------------
20542 - bpo-21257: Document :func:`http.client.parse_headers`.
20544 - bpo-34764: Improve example of iter() with 2nd sentinel argument.
20546 - bpo-35564: Explicitly set master_doc variable in conf.py for compliance
20549 - bpo-35511: Specified that profile.Profile class doesn't not support enable
20553 - bpo-10536: Enhance the gettext docs. Patch by Éric Araujo
20555 - bpo-35089: Remove mention of ``typing.io`` and ``typing.re``. Their types
20558 - bpo-35038: Fix the documentation about an unexisting `f_restricted`
20561 - bpo-35042: Replace PEP XYZ by the pep role and allow to use the direct
20564 - bpo-35044: Fix the documentation with the role ``exc`` for the
20567 - bpo-35035: Rename documentation for :mod:`email.utils` to
20570 - bpo-34967: Use app.add_object_type() instead of the deprecated Sphinx
20573 - bpo-34913: Add documentation about the new command line interface of the
20576 - bpo-32174: chm document displays non-ASCII charaters properly on some MBCS
20579 - bpo-11233: Create availability directive for documentation. Original
20582 - bpo-34790: Document how passing coroutines to asyncio.wait() can be
20585 - bpo-34552: Make clear that ``==`` operator sometimes is equivalent to
20589 - bpo-28617: Fixed info in the stdtypes docs concerning the types that
20592 - bpo-20177: Migrate datetime.date.fromtimestamp to Argument Clinic. Patch
20595 - bpo-34065: Fix wrongly written basicConfig documentation markup syntax
20597 - bpo-33460: replaced ellipsis with correct error codes in tutorial chapter
20600 - bpo-33847: Add '@' operator entry to index.
20602 - bpo-33409: Clarified the relationship between :pep:`538`'s
20605 - bpo-33197: Add versionadded tag to the documentation of
20608 - bpo-17045: Improve the C-API doc for PyTypeObject. This includes adding
20609 several quick-reference tables and a lot of missing slot/typedef entries.
20613 - bpo-33736: Improve the documentation of :func:`asyncio.open_connection`,
20616 - bpo-23859: Document that `asyncio.wait()` does not cancel its futures on
20619 - bpo-32436: Document :pep:`567` changes to asyncio.
20621 - bpo-33604: Update HMAC md5 default to a DeprecationWarning, bump removal
20624 - bpo-33594: Document ``getargspec``, ``from_function`` and ``from_builtin``
20628 - bpo-33503: Fix broken pypi link
20630 - bpo-33421: Add missing documentation for ``typing.AsyncContextManager``.
20632 - bpo-33487: BZ2file now emit a DeprecationWarning when buffering=None is
20636 - bpo-33378: Add Korean language switcher for https://docs.python.org/3/
20638 - bpo-33276: Clarify that the ``__path__`` attribute on modules cannot be
20641 - bpo-33201: Modernize documentation for writing C extension types.
20643 - bpo-33195: Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document.
20647 - bpo-33126: Document PyBuffer_ToContiguous().
20649 - bpo-27212: Modify documentation for the :func:`islice` recipe to consume
20652 - bpo-28247: Update :mod:`zipapp` documentation to describe how to make
20655 - bpo-18802: Documentation changes for ipaddress. Patch by Jon Foster and
20658 - bpo-27428: Update documentation to clarify that ``WindowsRegistryFinder``
20661 - bpo-28124: The ssl module function ssl.wrap_socket() has been
20662 de-emphasized and deprecated in favor of the more secure and efficient
20665 - bpo-17232: Clarify docs for -O and -OO. Patch by Terry Reedy.
20667 - bpo-32436: Add documentation for the contextvars module (PEP 567).
20669 - bpo-32800: Update link to w3c doc for xml default namespaces.
20671 - bpo-11015: Update :mod:`test.support` documentation.
20673 - bpo-32613: Update the faq/windows.html to use the py command from PEP 397
20676 - bpo-8722: Document :meth:`__getattr__` behavior when property :meth:`get`
20679 - bpo-32614: Modify RE examples in documentation to use raw strings to
20683 - bpo-20709: Remove the paragraph where we explain that os.utime() does not
20684 support a directory as path under Windows. Patch by Jan-Philip Gehrcke
20686 - bpo-32722: Remove the bad example in the tutorial of the Generator
20689 - bpo-31972: Improve docstrings for `pathlib.PurePath` subclasses.
20691 - bpo-30607: Use the externalized ``python-docs-theme`` package when
20694 - bpo-8243: Add a note about curses.addch and curses.addstr exception
20697 - bpo-32337: Update documentation related with ``dict`` order.
20699 - bpo-25041: Document ``AF_PACKET`` in the :mod:`socket` module.
20701 - bpo-31432: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED
20705 -----
20707 - bpo-35772: Fix sparse file tests of test_tarfile on ppc64 with the tmpfs
20708 filesystem. Fix the function testing if the filesystem supports sparse
20715 - bpo-35045: Make ssl tests less strict and also accept TLSv1 as system
20718 - bpo-32710: ``test_asyncio/test_sendfile.py`` now resets the event loop
20722 - bpo-33717: test.pythoninfo now logs information of all clocks, not only
20725 - bpo-35488: Add a test to pathlib's Path.match() to verify it does not
20726 support glob-style ** recursive pattern matching.
20728 - bpo-31731: Fix a race condition in ``check_interrupted_write()`` of
20733 - bpo-35424: Fix test_multiprocessing_main_handling: use
20737 - bpo-35519: Rename :mod:`test.bisect` module to :mod:`test.bisect_cmd` to
20741 - bpo-35513: Replace :func:`time.time` with :func:`time.monotonic` in tests
20744 - bpo-34279: :func:`test.support.run_unittest` no longer raise
20749 - bpo-35412: Add testcase to ``test_future4``: check unicode literal.
20751 - bpo-26704: Added test demonstrating double-patching of an instance method.
20754 - bpo-33725: test_multiprocessing_fork may crash on recent versions of
20757 - bpo-35352: Modify test_asyncio to use the certificate set from the test
20760 - bpo-35317: Fix ``mktime()`` overflow error in ``test_email``: run
20764 - bpo-21263: After several reports that test_gdb does not work properly on
20769 - bpo-34279: regrtest issue a warning when no tests have been executed in a
20773 - bpo-34962: make docstest in Doc now passes., and is enforced in CI
20775 - bpo-23596: Use argparse for the command line of the gzip module. Patch by
20778 - bpo-34537: Fix ``test_gdb.test_strings()`` when ``LC_ALL=C`` and GDB was
20781 - bpo-34587: test_socket: Remove RDSTest.testCongestion(). The test tries to
20788 - bpo-34661: Fix test_shutil if unzip doesn't support -t.
20790 - bpo-34200: Fixed non-deterministic flakiness of test_pkg by not using the
20794 - bpo-34569: The experimental PEP 554 data channels now correctly pass
20795 negative PyLong objects between subinterpreters on 32-bit systems. Patch
20798 - bpo-34594: Fix usage of hardcoded ``errno`` values in the tests.
20800 - bpo-34579: Fix test_embed for AIX Patch by Michael Felt
20802 - bpo-34542: Use 3072 RSA keys and SHA-256 signature for test certs and
20805 - bpo-11193: Remove special condition for AIX in
20808 - bpo-34347: Fix `test_utf8_mode.test_cmd_line` for AIX
20810 - bpo-34490: On AIX with AF_UNIX family sockets getsockname() does not
20813 - bpo-34391: Fix ftplib test for TLS 1.3 by reading from data socket.
20815 - bpo-11192: Fix `test_socket` on AIX 6.1 and later IPv6 zone id supports
20816 only supported by inet_pton6_zone() Switch to runtime-based
20817 platform.system() to establish current platform rather than build-time
20820 - bpo-34399: Update all RSA keys and DH params to use at least 2048 bits.
20822 - bpo-34373: Fix ``test_mktime`` and ``test_pthread_getcpuclickid`` tests
20826 - bpo-11191: Skip the distutils test 'test_search_cpp' when using XLC as
20829 - Improved an error message when mock assert_has_calls fails.
20831 - bpo-33746: Fix test_unittest when run in verbose mode.
20833 - bpo-33901: Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to
20836 - bpo-33873: Fix a bug in ``regrtest`` that caused an extra test to run if
20837 --huntrleaks/-R was used. Exit with error in case that invalid parameters
20838 are specified to --huntrleaks/-R (at least one warmup run and one
20841 - bpo-33562: Check that a global asyncio event loop policy is not left
20844 - bpo-33655: Ignore test_posix_fallocate failures on BSD platforms that
20847 - bpo-32962: Fixed test_gdb when Python is compiled with flags -mcet
20848 -fcf-protection -O0.
20850 - bpo-33358: Fix ``test_embed.test_pre_initialization_sys_options()`` when
20851 the interpreter is built with ``--enable-shared``.
20853 - bpo-32872: Avoid regrtest compatibility issue with namespace packages.
20855 - bpo-32517: Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport
20858 - bpo-32663: Making sure the `SMTPUTF8SimTests` class of tests gets run in
20861 - bpo-27643: Test_C test case needs "signed short" bitfields, but the IBM
20865 Applicable to Python2-2.7 and later
20867 - bpo-19417: Add test_bdb.py.
20869 - bpo-31809: Add tests to verify connection with secp ECDH curves.
20872 -----
20874 - bpo-34691: The _contextvars module is now built into the core Python
20877 - bpo-35683: Improved Azure Pipelines build steps and now verifying layouts
20880 - bpo-35642: Remove asynciomodule.c from pythoncore.vcxproj
20882 - bpo-35550: Fix incorrect Solaris #ifdef checks to look for __sun && __SVR4
20885 - bpo-35499: ``make profile-opt`` no longer replaces ``CFLAGS_NODIST`` with
20886 ``CFLAGS``. It now adds profile-guided optimization (PGO) flags to
20889 - bpo-35257: Avoid leaking the linker flags from Link Time Optimizations
20892 - bpo-35351: When building Python with clang and LTO, LTO flags are no
20893 longer passed into CFLAGS to build third-party C extensions through
20896 - bpo-35139: Fix a compiler error when statically linking `pyexpat` in
20899 - bpo-35059: PCbuild: Set InlineFunctionExpansion to OnlyExplicitInline
20904 - bpo-35011: Restores the use of pyexpatns.h to isolate our embedded copy of
20909 - bpo-28015: Have --with-lto works correctly with clang.
20911 - bpo-34765: Update the outdated install-sh file to the latest revision from
20914 - bpo-34585: Check for floating-point byte order in configure.ac using
20916 cross-compiled builds.
20918 - bpo-34710: Fixed SSL module build with OpenSSL & pedantic CFLAGS.
20920 - bpo-34582: Add JUnit XML output for regression tests and update Azure
20923 - bpo-34081: Make Sphinx warnings as errors in the Docs Makefile.
20925 - bpo-34555: Fix for case where it was not possible to have both
20928 - bpo-33015: Fix an undefined behaviour in the pthread implementation of
20932 - bpo-34245: The Python shared library is now installed with write
20936 - bpo-34121: Fix detection of C11 atomic support on clang.
20938 - bpo-32430: Rename Modules/Setup.dist to Modules/Setup, and remove the
20942 - bpo-30345: Add -g to LDFLAGS when compiling with LTO to get debug symbols.
20944 - bpo-5755: Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from
20948 - bpo-33614: Ensures module definition files for the stable ABI on Windows
20951 - bpo-33648: The --with-c-locale-warning configuration flag has been
20954 - bpo-33522: Enable CI builds on Visual Studio Team Services at
20957 - bpo-33512: configure's check for "long double" has been simplified
20959 - bpo-33483: C compiler is now correctly detected from the standard
20960 environment variables. --without-gcc and --with-icc options have been
20963 - bpo-33394: Enable the verbose build for extension modules, when GNU make
20966 - bpo-33393: Update config.guess and config.sub files.
20968 - bpo-33377: Add new triplets for mips r6 and riscv variants (used in
20971 - bpo-32232: By default, modules configured in `Modules/Setup` are no longer
20972 built with `-DPy_BUILD_CORE`. Instead, modules that specifically need that
20975 - bpo-33182: The embedding tests can once again be built with clang 6.0
20977 - bpo-33163: Upgrade pip to 9.0.3 and setuptools to v39.0.1.
20979 - bpo-33012: gcc 8 has added a new warning heuristic to detect invalid
20985 - bpo-32898: Fix the python debug build when using COUNT_ALLOCS.
20987 - bpo-29442: Replace optparse with argparse in setup.py
20990 -------
20992 - bpo-35890: Fix API calling consistency of GetVersionEx and wcstok.
20994 - bpo-32560: The ``py`` launcher now forwards its ``STARTUPINFO`` structure
20997 - bpo-35854: Fix EnvBuilder and --symlinks in venv on Windows
20999 - bpo-35811: Avoid propagating venv settings when launching via py.exe
21001 - bpo-35797: Fix default executable used by the multiprocessing module
21003 - bpo-35758: Allow building on ARM with MSVC.
21005 - bpo-29734: Fix handle leaks in os.stat on Windows.
21007 - bpo-35596: Use unchecked PYCs for the embeddable distro to avoid zipimport
21010 - bpo-35596: Fix vcruntime140.dll being added to embeddable distro multiple
21013 - bpo-35402: Update Windows build to use Tcl and Tk 8.6.9
21015 - bpo-35401: Updates Windows build to OpenSSL 1.1.0j
21017 - bpo-34977: venv on Windows will now use a python.exe redirector rather
21020 - bpo-34977: Adds support for building a Windows App Store package
21022 - bpo-35067: Remove _distutils_findvs module and use vswhere.exe instead.
21024 - bpo-32557: Allow shutil.disk_usage to take a file path on Windows
21026 - bpo-34770: Fix a possible null pointer dereference in pyshellext.cpp.
21028 - bpo-34603: Fix returning structs from functions produced by MSVC
21030 - bpo-34581: Guard MSVC-specific code in socketmodule.c with ``#ifdef
21033 - bpo-34532: Fixes exit code of list version arguments for py.exe.
21035 - bpo-34062: Fixed the '--list' and '--list-paths' arguments for the py.exe
21038 - bpo-34225: Ensure INCLUDE and LIB directories do not end with a backslash.
21040 - bpo-34011: A suite of code has been changed which copied across DLLs and
21046 - bpo-34006: Revert line length limit for Windows help docs. The line-length
21050 - bpo-31546: Restore running PyOS_InputHook while waiting for user input at
21054 - bpo-30237: Output error when ReadConsole is canceled by
21057 - bpo-33895: GIL is released while calling functions that acquire Windows
21060 - bpo-33720: Reduces maximum marshal recursion depth on release builds.
21062 - bpo-29097: Fix bug where :meth:`datetime.fromtimestamp` erroneously throws
21066 - bpo-33316: PyThread_release_lock always fails
21068 - bpo-33184: Update Windows installer to use OpenSSL 1.1.0h.
21070 - bpo-32890: Fix usage of GetLastError() instead of errno in os.execve() and
21073 - bpo-33016: Fix potential use of uninitialized memory in
21076 - bpo-32903: Fix a memory leak in os.chdir() on Windows if the current
21079 - bpo-32901: Update Tcl and Tk versions to 8.6.8
21081 - bpo-31966: Fixed WindowsConsoleIO.write() for writing empty data.
21083 - bpo-32409: Ensures activate.bat can handle Unicode contents.
21085 - bpo-32457: Improves handling of denormalized executable path when
21088 - bpo-32370: Use the correct encoding for ipconfig output in the uuid
21091 - bpo-29248: Fix :func:`os.readlink` on Windows, which was mistakenly
21095 - bpo-1104: Correctly handle string length in
21100 -----
21102 - bpo-35401: Update macOS installer to use OpenSSL 1.1.0j.
21104 - bpo-35025: Properly guard the use of the ``CLOCK_GETTIME`` et al. macros
21107 - bpo-24658: On macOS, fix reading from and writing into a file with a size
21110 - bpo-34405: Update to OpenSSL 1.1.0i for macOS installer builds.
21112 - bpo-33635: In macOS stat on some file descriptors (/dev/fd/3 f.e) will
21118 - bpo-13631: The .editrc file in user's home directory is now processed
21122 - bpo-33184: Update macOS installer build to use OpenSSL 1.1.0h.
21124 - bpo-32726: Build and link with private copy of Tcl/Tk 8.6 for the macOS
21127 longer need or use any external versions of Tcl/Tk, either system-provided
21128 or user-installed, such as ActiveTcl.
21130 - bpo-32901: Update macOS 10.9+ installer to Tcl/Tk 8.6.8.
21132 - bpo-31903: In :mod:`_scproxy`, drop the GIL when calling into
21136 ----
21138 - bpo-35770: IDLE macosx deletes Options => Configure IDLE. It previously
21143 - bpo-35769: Change IDLE's new file name from 'Untitled' to 'untitled'
21145 - bpo-35660: Fix imports in idlelib.window.
21147 - bpo-35641: Proper format `calltip` when the function has no docstring.
21149 - bpo-33987: Use ttk Frame for ttk widgets.
21151 - bpo-34055: Fix erroneous 'smart' indents and newlines in IDLE Shell.
21153 - bpo-35591: Find Selection now works when selection not found.
21155 - bpo-35196: Speed up squeezer line counting.
21157 - bpo-35598: Update config_key: use PEP 8 names and ttk widgets, make some
21160 - bpo-28097: Add Previous/Next History entries to Shell menu.
21162 - bpo-35208: Squeezer now properly counts wrapped lines before newlines.
21164 - bpo-35555: Gray out Code Context menu entry when it's not applicable.
21166 - bpo-35521: Document the IDLE editor code context feature. Add some
21169 - bpo-22703: The Code Context menu label now toggles between Show/Hide Code
21173 - bpo-35213: Where appropriate, use 'macOS' in idlelib.
21175 - bpo-34864: On macOS, warn if the system preference "Prefer tabs when
21178 - bpo-34864: Document two IDLE on MacOS issues. The System Preferences Dock
21182 - bpo-35202: Remove unused imports from lib/idlelib
21184 - bpo-33000: Document that IDLE's shell has no line limit. A program that
21187 - bpo-23220: Explain how IDLE's Shell displays output.
21189 - bpo-35099: Improve the doc about IDLE running user code. The section is
21190 renamed from "IDLE -- console differences" is renamed "Running user code".
21193 - bpo-35097: Add IDLE doc subsection explaining editor windows. Topics
21196 - bpo-35093: Document the IDLE document viewer in the IDLE doc. Add a
21199 - bpo-35088: Update idlelib.help.copy_string docstring. We now use git and
21202 - bpo-35087: Update idlelib help files for the current doc build. The main
21203 change is the elimination of chapter-section numbers.
21205 - bpo-34548: Use configured color theme for read-only text views.
21207 - bpo-1529353: Enable "squeezing" of long outputs in the shell, to avoid
21212 - bpo-34047: Fixed mousewheel scrolling direction on macOS.
21214 - bpo-34275: Make IDLE calltips always visible on Mac. Some MacOS-tk
21217 - bpo-34120: Fix unresponsiveness after closing certain windows and dialogs.
21219 - bpo-33975: Avoid small type when running htests. Since part of the purpose
21220 of human-viewed tests is to determine that widgets look right, it is
21221 important that they look the same for testing as when running IDLE.
21223 - bpo-33905: Add test for idlelib.stackview.StackBrowser.
21225 - bpo-33924: Change mainmenu.menudefs key 'windows' to 'window'. Every other
21228 - bpo-33906: Rename idlelib.windows as window Match Window on the main menu
21231 - bpo-33917: Fix and document idlelib/idle_test/template.py. The revised
21235 - bpo-33904: IDLE: In rstrip, rename class RstripExtension as Rstrip
21237 - bpo-33907: For consistency and clarity, rename an IDLE module and classes.
21241 - bpo-33856: Add "help" in the welcome message of IDLE
21243 - bpo-33839: IDLE: refactor ToolTip and CallTip and add documentation and
21246 - bpo-33855: Minimally test all IDLE modules. Add missing files, import
21249 - bpo-33656: On Windows, add API call saying that tk scales for DPI. On
21254 - bpo-33768: Clicking on a context line moves that line to the top of the
21257 - bpo-33763: IDLE: Use read-only text widget for code context instead of
21260 - bpo-33664: Scroll IDLE editor text by lines. Previously, the mouse wheel
21263 the shell and grep output windows, but not to read-only text views.
21265 - bpo-33679: Enable theme-specific color configuration for Code Context. Use
21266 the Highlights tab to see the setting for built-in themes or add settings
21269 - bpo-33642: Display up to maxlines non-blank lines for Code Context. If
21272 - bpo-33628: IDLE: Cleanup codecontext.py and its test.
21274 - bpo-33564: IDLE's code context now recognizes async as a block opener.
21276 - bpo-21474: Update word/identifier definition from ascii to unicode. In
21277 text and entry boxes, this affects selection by double-click, movement
21278 left/right by control-left/right, and deletion left/right by
21279 control-BACKSPACE/DEL.
21281 - bpo-33204: IDLE: consistently color invalid string prefixes. A 'u' string
21286 - bpo-32984: Set ``__file__`` while running a startup file. Like Python,
21288 presenting the first interactive input prompt. For IDLE, ``-s`` runs a
21290 :envvar:`PYTHONSTARTUP`; ``-r file`` runs ``file``. Python sets
21293 without the ``-n`` option.
21295 - bpo-32940: Simplify and rename StringTranslatePseudoMapping in pyparse.
21297 - bpo-32916: Change ``str`` to ``code`` in pyparse.
21299 - bpo-32905: Remove unused code in pyparse module.
21301 - bpo-32874: Add tests for pyparse.
21303 - bpo-32837: Using the system and place-dependent default encoding for
21304 open() is a bad idea for IDLE's system and location-independent files.
21306 - bpo-32826: Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI
21307 test test_file_buttons() only looks at initial ascii-only lines, but
21309 internally reads and decodes far enough ahead to encounter a non-ascii
21312 - bpo-32831: Add docstrings and tests for codecontext.
21314 - bpo-32765: Update configdialog General tab docstring to add new widgets to
21318 -----------
21320 - bpo-35884: Add a benchmark script for timing various ways to access
21323 - bpo-34989: python-gdb.py now handles errors on computing the line number
21326 - bpo-20260: Argument Clinic now has non-bitwise unsigned int converters.
21328 - bpo-32962: python-gdb now catches ``UnicodeDecodeError`` exceptions when
21331 - bpo-32962: python-gdb now catches ValueError on read_var(): when Python
21334 - bpo-33189: :program:`pygettext.py` now recognizes only literal strings as
21336 f-string expressions.
21338 - bpo-31920: Fixed handling directories as arguments in the ``pygettext``
21341 - bpo-29673: Fix pystackv and pystack gdbinit macros.
21343 - bpo-25427: Remove the pyvenv script in favor of ``python3 -m venv`` in
21347 - bpo-32885: Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to disable
21350 - bpo-32222: Fix pygettext not extracting docstrings for functions with type
21353 - bpo-31583: Fix 2to3 for using with --add-suffix option but without
21354 --output-dir option for relative path to files in current directory.
21357 -----
21359 - bpo-35713: The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini`
21364 - bpo-33817: Fixed :c:func:`_PyBytes_Resize` for empty bytes objects.
21366 - bpo-35322: Fix memory leak in :c:func:`PyUnicode_EncodeLocale` and
21369 - bpo-35059: The following C macros have been converted to static inline
21374 - bpo-35296: ``make install`` now also installs the internal API:
21377 - bpo-35081: Internal APIs surrounded by ``#ifdef Py_BUILD_CORE`` have been
21381 - bpo-35259: Conditionally declare :c:func:`Py_FinalizeEx()` (new in 3.6)
21384 - bpo-35081: The :c:func:`_PyObject_GC_TRACK` and
21388 - bpo-35134: Creation of a new ``Include/cpython/`` subdirectory.
21390 - bpo-34725: Adds _Py_SetProgramFullPath so embedders may override
21393 - bpo-34910: Ensure that :c:func:`PyObject_Print` always returns ``-1`` on
21396 - bpo-34523: Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8
21399 - bpo-34193: Fix pluralization in TypeError messages in getargs.c and
21403 - bpo-34127: Return grammatically correct error message based on argument
21406 - bpo-23927: Fixed :exc:`SystemError` in
21410 - bpo-32455: Added :c:func:`PyCompile_OpcodeStackEffectWithJump`.
21412 - bpo-34008: Py_Main() can again be called after Py_Initialize(), as in
21415 - bpo-32500: Fixed error messages for :c:func:`PySequence_Size`,
21420 - bpo-33818: :c:func:`PyExceptionClass_Name` will now return ``const char
21423 - bpo-33042: Embedding applications may once again call
21427 - bpo-32374: Document that m_traverse for multi-phase initialized modules
21430 - bpo-30863: :c:func:`PyUnicode_AsWideChar` and
21438 *Release date: 2018-06-27*
21441 -------
21443 - bpo-33851: Fix :func:`ast.get_docstring` for a node that lacks a
21447 -----
21449 - bpo-33932: Calling Py_Initialize() twice does nothing, instead of failing
21456 *Release date: 2018-06-12*
21459 -----------------
21461 - bpo-33803: Fix a crash in hamt.c caused by enabling GC tracking for an
21464 - bpo-33706: Fix a crash in Python initialization when parsing the command
21467 - bpo-30654: Fixed reset of the SIGINT handler to SIG_DFL on interpreter
21471 - bpo-31849: Fix signed/unsigned comparison warning in pyhash.c.
21474 -------
21476 - bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by
21479 - bpo-33812: Datetime instance d with non-None tzinfo, but with
21483 - bpo-30805: Avoid race condition with debug logging
21485 - bpo-33694: asyncio: Fix a race condition causing data loss on
21488 - bpo-32493: Correct test for ``uuid_enc_be`` availability in
21491 - bpo-33792: Add asyncio.WindowsSelectorEventLoopPolicy and
21494 - bpo-33778: Update ``unicodedata``'s database to Unicode version 11.0.0.
21496 - bpo-33770: improve base64 exception message for encoded inputs of invalid
21499 - bpo-33769: asyncio/start_tls: Fix error message; cancel callbacks in case
21502 - bpo-33767: The concatenation (``+``) and repetition (``*``) sequence
21506 - bpo-33734: asyncio/ssl: Fix AttributeError, increase default handshake
21509 - bpo-11874: Use a better regex when breaking usage into wrappable parts.
21512 - bpo-33582: Emit a deprecation warning for inspect.formatargspec
21515 -------------
21517 - bpo-33409: Clarified the relationship between :pep:`538`'s
21520 - bpo-33736: Improve the documentation of :func:`asyncio.open_connection`,
21523 - bpo-31432: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED
21527 -----
21529 - bpo-5755: Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from
21534 -------
21536 - bpo-33720: Reduces maximum marshal recursion depth on release builds.
21539 ----
21541 - bpo-33656: On Windows, add API call saying that tk scales for DPI. On
21546 - bpo-33768: Clicking on a context line moves that line to the top of the
21549 - bpo-33763: IDLE: Use read-only text widget for code context instead of
21552 - bpo-33664: Scroll IDLE editor text by lines. Previously, the mouse wheel
21555 the shell and grep output windows, but not to read-only text views.
21557 - bpo-33679: Enable theme-specific color configuration for Code Context. Use
21558 the Highlights tab to see the setting for built-in themes or add settings
21561 - bpo-33642: Display up to maxlines non-blank lines for Code Context. If
21568 *Release date: 2018-05-30*
21571 -----------------
21573 - bpo-33622: Fixed a leak when the garbage collector fails to add an object
21578 - bpo-33509: Fix module_globals parameter of warnings.warn_explicit(): don't
21581 - bpo-20104: The new `os.posix_spawn` added in 3.7.0b1 was removed as we are
21585 - bpo-33475: Fixed miscellaneous bugs in converting annotations to strings
21588 - bpo-33391: Fix a leak in set_symmetric_difference().
21590 - bpo-28055: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.
21592 - bpo-32911: Due to unexpected compatibility issues discovered during
21593 downstream beta testing, reverted :issue:`29463`. ``docstring`` field is
21598 - bpo-21983: Fix a crash in `ctypes.cast()` in case the type argument is a
21602 -------
21604 - bpo-32751: When cancelling the task due to a timeout,
21607 - bpo-32684: Fix gather to propagate cancellation of itself even with
21610 - bpo-33654: Support protocol type switching in SSLTransport.set_protocol().
21612 - bpo-33674: Pause the transport as early as possible to further reduce the
21615 - bpo-33674: Fix a race condition in SSLProtocol.connection_made() of
21620 - bpo-31647: Fixed bug where calling write_eof() on a
21623 - bpo-32610: Make asyncio.all_tasks() return only pending tasks.
21625 - bpo-32410: Avoid blocking on file IO in sendfile fallback code
21627 - bpo-33469: Fix RuntimeError after closing loop that used run_in_executor
21629 - bpo-33672: Fix Task.__repr__ crash with Cython's bogus coroutines
21631 - bpo-33654: Fix transport.set_protocol() to support switching between
21635 - bpo-33652: Pickles of type variables and subscripted generics are now
21636 future-proof and compatible with older Python versions.
21638 - bpo-32493: Fixed :func:`uuid.uuid1` on FreeBSD.
21640 - bpo-33618: Finalize and document preliminary and experimental TLS 1.3
21643 - bpo-33623: Fix possible SIGSGV when asyncio.Future is created in __del__
21645 - bpo-30877: Fixed a bug in the Python implementation of the JSON decoder
21647 the decoding. Based on patch by c-fos.
21649 - bpo-33570: Change TLS 1.3 cipher suite settings for compatibility with
21650 OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 ciphers
21653 - bpo-28556: Do not simplify arguments to `typing.Union`. Now
21658 - bpo-33540: Add a new ``block_on_close`` class attribute to
21661 - bpo-33548: tempfile._candidate_tempdir_list should consider common TEMP
21664 - bpo-33109: argparse subparsers are once again not required by default,
21665 reverting the change in behavior introduced by bpo-26510 in 3.7.0a2.
21667 - bpo-33536: dataclasses.make_dataclass now checks for invalid field names
21671 - bpo-33542: Prevent ``uuid.get_node`` from using a DUID instead of a MAC on
21674 - bpo-26819: Fix race condition with `ReadTransport.resume_reading` in
21677 - Fix failure in `typing.get_type_hints()` when ClassVar was provided as a
21680 - bpo-33505: Optimize asyncio.ensure_future() by reordering if checks: 1.17x
21683 - bpo-33497: Add errors param to cgi.parse_multipart and make an encoding in
21687 - bpo-33495: Change dataclasses.Fields repr to use the repr of each of its
21691 - bpo-33453: Fix dataclasses to work if using literal string type
21696 - bpo-28556: Minor fixes in typing module: add annotations to
21700 - bpo-20087: Updated alias mapping with glibc 2.27 supported locales.
21702 - bpo-33422: Fix trailing quotation marks getting deleted when looking up
21705 - bpo-28167: The function ``platform.linux_distribution`` and
21709 - bpo-33197: Update error message when constructing invalid
21710 inspect.Parameters Patch by Dong-hee Na.
21712 - bpo-33263: Fix FD leak in `_SelectorSocketTransport` Patch by Vlad
21715 - bpo-32861: The urllib.robotparser's ``__str__`` representation now
21716 includes wildcard entries and the "Crawl-delay" and "Request-rate" fields.
21719 - bpo-32257: The ssl module now contains OP_NO_RENEGOTIATION constant,
21722 - bpo-16865: Support arrays >=2GiB in :mod:`ctypes`. Patch by Segev Finer.
21725 -------------
21727 - bpo-23859: Document that `asyncio.wait()` does not cancel its futures on
21730 - bpo-32436: Document :pep:`567` changes to asyncio.
21732 - bpo-33604: Update HMAC md5 default to a DeprecationWarning, bump removal
21735 - bpo-33503: Fix broken pypi link
21737 - bpo-33421: Add missing documentation for ``typing.AsyncContextManager``.
21740 -----
21742 - bpo-33655: Ignore test_posix_fallocate failures on BSD platforms that
21745 - bpo-32604: Remove the _xxsubinterpreters module (meant for testing) and
21749 -----
21751 - bpo-33614: Ensures module definition files for the stable ABI on Windows
21754 - bpo-33522: Enable CI builds on Visual Studio Team Services at
21757 - bpo-33012: Add ``-Wno-cast-function-type`` for gcc 8 for silencing
21762 -----
21764 - bpo-13631: The .editrc file in user's home directory is now processed
21769 ----
21771 - bpo-33628: IDLE: Cleanup codecontext.py and its test.
21773 - bpo-33564: IDLE's code context now recognizes async as a block opener.
21775 - bpo-32831: Add docstrings and tests for codecontext.
21781 *Release date: 2018-05-02*
21784 -----------------
21786 - bpo-33363: Raise a SyntaxError for ``async with`` and ``async for``
21789 - bpo-33128: Fix a bug that causes PathFinder to appear twice on
21792 - bpo-33312: Fixed clang ubsan (undefined behavior sanitizer) warnings in
21796 - bpo-33231: Fix potential memory leak in ``normalizestring()``.
21798 - bpo-33205: Change dict growth function from
21803 - bpo-29922: Improved error messages in 'async with' when ``__aenter__()``
21804 or ``__aexit__()`` return non-awaitable object.
21806 - bpo-33199: Fix ``ma_version_tag`` in dict implementation is uninitialized
21807 when copying from key-sharing dict.
21810 -------
21812 - bpo-33281: Fix ctypes.util.find_library regression on macOS.
21814 - bpo-33383: Fixed crash in the get() method of the :mod:`dbm.ndbm` database
21817 - bpo-33329: Fix multiprocessing regression on newer glibcs
21819 - bpo-991266: Fix quoting of the ``Comment`` attribute of
21822 - bpo-33131: Upgrade bundled version of pip to 10.0.1.
21824 - bpo-33308: Fixed a crash in the :mod:`parser` module when converting an ST
21828 - bpo-33266: lib2to3 now recognizes ``rf'...'`` strings.
21830 - bpo-11594: Ensure line-endings are respected when using lib2to3.
21832 - bpo-33254: Have :func:`importlib.resources.contents` and
21836 - bpo-33256: Fix display of ``<module>`` call in the html produced by
21839 - bpo-33185: Fixed regression when running pydoc with the :option:`-m`
21844 - bpo-33169: Delete entries of ``None`` in :data:`sys.path_importer_cache`
21847 - bpo-33217: Deprecate looking up non-Enum objects in Enum classes and Enum
21850 - bpo-33203: ``random.Random.choice()`` now raises ``IndexError`` for empty
21854 - bpo-33224: Update difflib.mdiff() for :pep:`479`. Convert an uncaught
21855 StopIteration in a generator into a return-statement.
21857 - bpo-33209: End framing at the end of C implementation of
21860 - bpo-20104: Improved error handling and fixed a reference leak in
21863 - bpo-33175: In dataclasses, Field.__set_name__ now looks up the
21867 - bpo-33097: Raise RuntimeError when ``executor.submit`` is called during
21870 - bpo-31908: Fix output of cover files for ``trace`` module command-line
21871 tool. Previously emitted cover files only when ``--missing`` option was
21875 -------------
21877 - bpo-33378: Add Korean language switcher for https://docs.python.org/3/
21879 - bpo-33276: Clarify that the ``__path__`` attribute on modules cannot be
21882 - bpo-33201: Modernize documentation for writing C extension types.
21884 - bpo-33195: Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document.
21888 - bpo-8243: Add a note about curses.addch and curses.addstr exception
21891 - bpo-32337: Update documentation related with ``dict`` order.
21894 -----
21896 - bpo-33358: Fix ``test_embed.test_pre_initialization_sys_options()`` when
21897 the interpreter is built with ``--enable-shared``.
21900 -----
21902 - bpo-33394: Enable the verbose build for extension modules, when GNU make
21905 - bpo-33393: Update config.guess and config.sub files.
21907 - bpo-33377: Add new triplets for mips r6 and riscv variants (used in
21910 - bpo-32232: By default, modules configured in `Modules/Setup` are no longer
21911 built with `-DPy_BUILD_CORE`. Instead, modules that specifically need that
21914 - bpo-33182: The embedding tests can once again be built with clang 6.0
21917 -------
21919 - bpo-33184: Update Windows installer to use OpenSSL 1.1.0h.
21922 -----
21924 - bpo-33184: Update macOS installer build to use OpenSSL 1.1.0h.
21927 ----
21929 - bpo-21474: Update word/identifier definition from ascii to unicode. In
21930 text and entry boxes, this affects selection by double-click, movement
21931 left/right by control-left/right, and deletion left/right by
21932 control-BACKSPACE/DEL.
21934 - bpo-33204: IDLE: consistently color invalid string prefixes. A 'u' string
21940 -----------
21942 - bpo-33189: :program:`pygettext.py` now recognizes only literal strings as
21944 f-string expressions.
21946 - bpo-31920: Fixed handling directories as arguments in the ``pygettext``
21949 - bpo-29673: Fix pystackv and pystack gdbinit macros.
21951 - bpo-31583: Fix 2to3 for using with --add-suffix option but without
21952 --output-dir option for relative path to files in current directory.
21958 *Release date: 2018-03-29*
21961 --------
21963 - bpo-33136: Harden ssl module against LibreSSL CVE-2018-8970.
21967 - bpo-33001: Minimal fix to prevent buffer overrun in os.symlink on Windows
21969 - bpo-32981: Regexes in difflib and poplib were vulnerable to catastrophic
21971 have been refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch
21975 -----------------
21977 - bpo-33053: When using the -m switch, sys.path[0] is now explicitly
21982 - bpo-33018: Improve consistency of errors raised by ``issubclass()`` when
21983 called with a non-class and an abstract base class as the first and second
21986 - bpo-33041: Fixed jumping when the function contains an ``async for`` loop.
21988 - bpo-33026: Fixed jumping out of "with" block by setting f_lineno.
21990 - bpo-33005: Fix a crash on fork when using a custom memory allocator (ex:
21995 - bpo-17288: Prevent jumps from 'return' and 'exception' trace events.
21997 - bpo-32836: Don't use temporary variables in cases of list/dict/set
22001 -------
22003 - bpo-33141: Have Field objects pass through __set_name__ to their default
22006 - bpo-33096: Allow ttk.Treeview.insert to insert iid that has a false
22010 - bpo-32873: Treat type variables and special typing forms as immutable by
22014 - bpo-33134: When computing dataclass's __hash__, use the lookup table to
22016 improvement over looking up a string, and then testing that string to see
22019 - bpo-33127: The ssl module now compiles with LibreSSL 2.7.1.
22021 - bpo-32505: Raise TypeError if a member variable of a dataclass is of type
22024 - bpo-33078: Fix the failure on OSX caused by the tests relying on
22027 - bpo-33116: Add 'Field' to dataclasses.__all__.
22029 - bpo-32896: Fix an error where subclassing a dataclass with a field that
22032 - bpo-33100: Dataclasses: If a field has a default value that's a
22036 - bpo-32953: If a non-dataclass inherits from a frozen dataclass, allow
22039 hierarchy to be either all frozen or all non-frozen.
22041 - bpo-33061: Add missing ``NoReturn`` to ``__all__`` in typing.py
22043 - bpo-33078: Fix the size handling in multiprocessing.Queue when a pickling
22046 - bpo-33064: lib2to3 now properly supports trailing commas after ``*args``
22049 - bpo-33056: FIX properly close leaking fds in
22052 - bpo-33021: Release the GIL during fstat() calls, avoiding hang of all
22056 - bpo-31804: Avoid failing in multiprocessing.Process if the standard
22059 - bpo-33037: Skip sending/receiving data after SSL transport closing.
22061 - bpo-27683: Fix a regression in :mod:`ipaddress` that result of
22065 - bpo-32999: Fix C implementation of ``ABC.__subclasscheck__(cls,
22068 - bpo-33009: Fix inspect.signature() for single-parameter partialmethods.
22070 - bpo-32969: Expose several missing constants in zlib and fix corresponding
22073 - bpo-32056: Improved exceptions raised for invalid number of channels and
22077 - bpo-32844: Fix wrong redirection of a low descriptor (0 or 1) to stderr in
22080 - bpo-32857: In :mod:`tkinter`, ``after_cancel(None)`` now raises a
22084 - bpo-31639: http.server now exposes a ThreadedHTTPServer class and uses it
22085 when the module is run with ``-m`` to cope with web browsers pre-opening
22088 - bpo-27645: :class:`sqlite3.Connection` now exposes a
22093 -------------
22095 - bpo-33126: Document PyBuffer_ToContiguous().
22097 - bpo-27212: Modify documentation for the :func:`islice` recipe to consume
22100 - bpo-28247: Update :mod:`zipapp` documentation to describe how to make
22103 - bpo-18802: Documentation changes for ipaddress. Patch by Jon Foster and
22106 - bpo-27428: Update documentation to clarify that ``WindowsRegistryFinder``
22110 -----
22112 - bpo-32872: Avoid regrtest compatibility issue with namespace packages.
22114 - bpo-32517: Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport
22117 - bpo-19417: Add test_bdb.py.
22120 -----
22122 - bpo-33163: Upgrade pip to 9.0.3 and setuptools to v39.0.1.
22125 -------
22127 - bpo-33016: Fix potential use of uninitialized memory in
22130 - bpo-32903: Fix a memory leak in os.chdir() on Windows if the current
22134 -----
22136 - bpo-32726: Build and link with private copy of Tcl/Tk 8.6 for the macOS
22139 longer need or use any external versions of Tcl/Tk, either system-provided
22140 or user-installed, such as ActiveTcl.
22143 ----
22145 - bpo-32984: Set ``__file__`` while running a startup file. Like Python,
22147 presenting the first interactive input prompt. For IDLE, ``-s`` runs a
22149 :envvar:`PYTHONSTARTUP`; ``-r file`` runs ``file``. Python sets
22152 without the ``-n`` option.
22154 - bpo-32940: Simplify and rename StringTranslatePseudoMapping in pyparse.
22157 -----------
22159 - bpo-32885: Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to disable
22163 -----
22165 - bpo-33042: Embedding applications may once again call
22169 - bpo-32374: Document that m_traverse for multi-phase initialized modules
22176 *Release date: 2018-02-27*
22179 --------
22181 - bpo-28414: The ssl module now allows users to perform their own IDN
22185 -----------------
22187 - bpo-32889: Update Valgrind suppression list to account for the rename of
22190 - bpo-31356: Remove the new API added in bpo-31356 (gc.ensure_disabled()
22193 - bpo-32305: For namespace packages, ensure that both ``__file__`` and
22196 - bpo-32303: Make sure ``__spec__.loader`` matches ``__loader__`` for
22199 - bpo-32711: Fix the warning messages for Python/ast_unparse.c. Patch by
22202 - bpo-32583: Fix possible crashing in builtin Unicode decoders caused by
22203 write out-of-bound errors when using customized decode error handlers.
22206 -------
22208 - bpo-32960: For dataclasses, disallow inheriting frozen from non-frozen
22209 classes, and also disallow inheriting non-frozen from frozen classes. This
22212 - bpo-32713: Fixed tarfile.itn handling of out-of-bounds float values. Patch
22215 - bpo-32951: Direct instantiation of SSLSocket and SSLObject objects is now
22220 - bpo-32929: Remove the tri-state parameter "hash", and add the boolean
22227 - bpo-32947: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3
22230 - bpo-30622: The ssl module now detects missing NPN support in LibreSSL.
22232 - bpo-32922: dbm.open() now encodes filename with the filesystem encoding
22235 - bpo-32859: In ``os.dup2``, don't check every call whether the ``dup3``
22238 - bpo-32556: nt._getfinalpathname, nt._getvolumepathname and
22241 - bpo-25988: Emit a :exc:`DeprecationWarning` when using or importing an ABC
22244 - bpo-21060: Rewrite confusing message from setup.py upload from "No dist
22248 - bpo-32852: Make sure sys.argv remains as a list when running trace.
22250 - bpo-31333: ``_abc`` module is added. It is a speedup module with C
22253 subclass are up to 1.5x faster. In addition, this makes Python start-up up
22260 - bpo-32841: Fixed `asyncio.Condition` issue which silently ignored
22264 - bpo-32819: ssl.match_hostname() has been simplified and no longer depends
22268 - bpo-32394: socket: Remove
22270 Windows during run-time.
22272 - bpo-31787: Fixed refleaks of ``__init__()`` methods in various modules.
22275 - bpo-30157: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when
22278 - bpo-32792: collections.ChainMap() preserves the order of the underlying
22281 - bpo-32775: :func:`fnmatch.translate()` no longer produces patterns which
22282 contain set operations. Sets starting with '[' or containing '--', '&&',
22287 - bpo-32622: Implement native fast sendfile for Windows proactor event loop.
22289 - bpo-32777: Fix a rare but potential pre-exec child process deadlock in
22294 - bpo-32647: The ctypes module used to depend on indirect linking for
22298 - bpo-32741: Implement ``asyncio.TimerHandle.when()`` method.
22300 - bpo-32691: Use mod_spec.parent when running modules with pdb
22302 - bpo-32734: Fixed ``asyncio.Lock()`` safety issue which allowed acquiring
22306 - bpo-32727: Do not include name field in SMTP envelope from address. Patch
22309 - bpo-31453: Add TLSVersion constants and SSLContext.maximum_version /
22314 - bpo-24334: Internal implementation details of ssl module were cleaned up.
22319 - bpo-31848: Fix the error handling in Aifc_read.initfp() when the SSND
22322 - bpo-32585: Add Ttk spinbox widget to :mod:`tkinter.ttk`. Patch by Alan D
22325 - bpo-32221: Various functions returning tuple containing IPv6 addresses now
22331 - bpo-30693: The TarFile class now recurses directories in a reproducible
22334 - bpo-30693: The ZipFile class now recurses directories in a reproducible
22338 -------------
22340 - bpo-28124: The ssl module function ssl.wrap_socket() has been
22341 de-emphasized and deprecated in favor of the more secure and efficient
22344 - bpo-17232: Clarify docs for -O and -OO. Patch by Terry Reedy.
22346 - bpo-32436: Add documentation for the contextvars module (PEP 567).
22348 - bpo-32800: Update link to w3c doc for xml default namespaces.
22350 - bpo-11015: Update :mod:`test.support` documentation.
22352 - bpo-8722: Document :meth:`__getattr__` behavior when property :meth:`get`
22355 - bpo-32614: Modify RE examples in documentation to use raw strings to
22359 - bpo-31972: Improve docstrings for `pathlib.PurePath` subclasses.
22362 -----
22364 - bpo-31809: Add tests to verify connection with secp ECDH curves.
22367 -----
22369 - bpo-32898: Fix the python debug build when using COUNT_ALLOCS.
22372 -------
22374 - bpo-32901: Update Tcl and Tk versions to 8.6.8
22376 - bpo-31966: Fixed WindowsConsoleIO.write() for writing empty data.
22378 - bpo-32409: Ensures activate.bat can handle Unicode contents.
22380 - bpo-32457: Improves handling of denormalized executable path when
22383 - bpo-32370: Use the correct encoding for ipconfig output in the uuid
22386 - bpo-29248: Fix :func:`os.readlink` on Windows, which was mistakenly
22391 -----
22393 - bpo-32901: Update macOS 10.9+ installer to Tcl/Tk 8.6.8.
22396 ----
22398 - bpo-32916: Change ``str`` to ``code`` in pyparse.
22400 - bpo-32905: Remove unused code in pyparse module.
22402 - bpo-32874: Add tests for pyparse.
22404 - bpo-32837: Using the system and place-dependent default encoding for
22405 open() is a bad idea for IDLE's system and location-independent files.
22407 - bpo-32826: Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI
22408 test test_file_buttons() only looks at initial ascii-only lines, but
22410 internally reads and decodes far enough ahead to encounter a non-ascii
22413 - bpo-32765: Update configdialog General tab docstring to add new widgets to
22417 -----------
22419 - bpo-32222: Fix pygettext not extracting docstrings for functions with type
22426 *Release date: 2018-01-30*
22429 -----------------
22431 - bpo-32703: Fix coroutine's ResourceWarning when there's an active error
22434 - bpo-32650: Pdb and other debuggers dependent on bdb.py will correctly step
22437 - bpo-28685: Optimize list.sort() and sorted() by using type specialized
22440 - bpo-32685: Improve suggestion when the Python 2 form of print statement is
22442 else terminated by a semi-colon instead of a newline. Patch by Nitish
22445 - bpo-32697: Python now explicitly preserves the definition order of
22446 keyword-only parameters. It's always preserved their order, but this
22450 - bpo-32690: The locals() dictionary now displays in the lexical order that
22453 - bpo-32677: Add ``.isascii()`` method to ``str``, ``bytes`` and
22457 - bpo-32670: Enforce :pep:`479` for all code. This means that manually
22462 - bpo-32591: Added built-in support for tracking the origin of coroutine
22467 - bpo-31368: Expose preadv and pwritev system calls in the os module. Patch
22470 - bpo-32544: ``hasattr(obj, name)`` and ``getattr(obj, name, default)`` are
22474 - bpo-26163: Improved frozenset() hash to create more distinct hash values
22477 - bpo-32550: Remove the STORE_ANNOTATION bytecode.
22479 - bpo-20104: Expose posix_spawn as a low level API in the os module.
22482 - bpo-24340: Fixed estimation of the code stack size.
22484 - bpo-32436: Implement :pep:`567` Context Variables.
22486 - bpo-18533: ``repr()`` on a dict containing its own ``values()`` or
22491 - bpo-20891: Py_Initialize() now creates the GIL. The GIL is no longer
22493 called in a non-Python thread.
22495 - bpo-32028: Leading whitespace is now correctly ignored when generating
22499 - bpo-31179: Make dict.copy() up to 5.5 times faster.
22501 - bpo-31113: Get rid of recursion in the compiler for normal control flow.
22504 -------
22506 - bpo-25988: Deprecate exposing the contents of collections.abc in the
22509 - bpo-31429: The default cipher suite selection of the ssl module now uses a
22510 blacklist approach rather than a hard-coded whitelist. Python no longer
22511 re-enables ciphers that have been blocked by OpenSSL security update.
22514 - bpo-30306: contextlib.contextmanager now releases the arguments passed to
22520 - bpo-21417: Added support for setting the compression level for
22523 - bpo-32251: Implement asyncio.BufferedProtocol (provisional API).
22525 - bpo-32513: In dataclasses, allow easier overriding of dunder methods
22528 - bpo-32660: :mod:`termios` makes available ``FIONREAD``, ``FIONCLEX``,
22531 - bpo-27931: Fix email address header parsing error when the username is an
22534 - bpo-32659: Under Solaris and derivatives, :class:`os.stat_result` provides
22537 - bpo-32662: Implement Server.start_serving(), Server.serve_forever(), and
22541 - bpo-32391: Implement :meth:`asyncio.StreamWriter.wait_closed` and
22544 - bpo-32643: Make Task._step, Task._wakeup and Future._schedule_callbacks
22547 - bpo-32630: Refactor decimal module to use contextvars to store decimal
22550 - bpo-32622: Add :meth:`asyncio.AbstractEventLoop.sendfile` method.
22552 - bpo-32304: distutils' upload command no longer corrupts tar files ending
22556 - bpo-32502: uuid.uuid1 no longer raises an exception if a 64-bit hardware
22559 - bpo-32596: ``concurrent.futures`` imports ``ThreadPoolExecutor`` and
22564 - bpo-31801: Add ``_ignore_`` to ``Enum`` so temporary variables can be used
22567 - bpo-32576: Use queue.SimpleQueue() in places where it can be invoked from
22570 - bpo-32574: Fix memory leak in asyncio.Queue, when the queue has limited
22574 - bpo-32521: The nis module is now compatible with new libnsl and headers
22577 - bpo-32467: collections.abc.ValuesView now inherits from
22580 - bpo-32473: Improve ABCMeta._dump_registry() output readability
22582 - bpo-32102: New argument ``capture_output`` for subprocess.run
22584 - bpo-32521: glibc has removed Sun RPC. Use replacement libtirpc headers and
22587 - bpo-32493: UUID module fixes build for FreeBSD/OpenBSD
22589 - bpo-32503: Pickling with protocol 4 no longer creates too small frames.
22591 - bpo-29237: Create enum for pstats sorting options
22593 - bpo-32454: Add close(fd) function to the socket module.
22595 - bpo-25942: The subprocess module is now more graceful when handling a
22596 Ctrl-C KeyboardInterrupt during subprocess.call, subprocess.run, or a
22602 - bpo-32433: The hmac module now has hmac.digest(), which provides an
22605 - bpo-28134: Sockets now auto-detect family, type and protocol from file
22608 - bpo-32404: Fix bug where :meth:`datetime.datetime.fromtimestamp` did not
22611 - bpo-32403: Improved speed of :class:`datetime.date` and
22614 - bpo-32228: Ensure that ``truncate()`` preserves the file position (as
22617 - bpo-32410: Implement ``loop.sock_sendfile`` for asyncio event loop.
22619 - bpo-22908: Added seek and tell to the ZipExtFile class. This only works if
22622 - bpo-32373: Add socket.getblocking() method.
22624 - bpo-32248: Add :mod:`importlib.resources` and
22628 File-based and zipimport-based loaders both implement these APIs.
22632 - bpo-32320: collections.namedtuple() now supports default values.
22634 - bpo-29302: Add contextlib.AsyncExitStack. Patch by Alexander Mohr and Ilya
22637 - bpo-31961: *Removed in Python 3.7.0b2.* The *args* argument of
22638 subprocess.Popen can now be a :term:`path-like object`. If *args* is given
22639 as a sequence, it's first element can now be a :term:`path-like object` as
22642 - bpo-31900: The :func:`locale.localeconv` function now sets temporarily the
22644 ``decimal_point`` and ``thousands_sep`` byte strings if they are non-ASCII
22651 - bpo-31853: Use super().method instead of socket.method in SSLSocket. They
22654 - bpo-31399: The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host()
22659 - bpo-14976: Add a queue.SimpleQueue class, an unbounded FIFO queue with a
22663 -------------
22665 - bpo-32724: Add references to some commands in the documentation of Pdb.
22668 - bpo-32649: Complete the C API documentation, profiling and tracing part
22669 with the newly added per-opcode events.
22671 - bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile and
22672 their C-API counterparts regarding which type of events are received in
22676 -----
22678 - bpo-32721: Fix test_hashlib to not fail if the _md5 module is not built.
22680 - bpo-28414: Add test cases for IDNA 2003 and 2008 host names. IDNA 2003
22681 internationalized host names are working since bpo-31399 has landed. IDNA
22684 - bpo-32604: Add a new "_xxsubinterpreters" extension module that exposes
22685 the existing subinterpreter C-API and a new cross-interpreter data sharing
22686 mechanism. The module is primarily intended for more thorough testing of
22690 - bpo-32602: Add test certs and test for ECDSA cert and EC/RSA dual mode.
22692 - bpo-32549: On Travis CI, Python now Compiles and uses a local copy of
22693 OpenSSL 1.1.0g for testing.
22696 -----
22698 - bpo-32635: Fix segfault of the crypt module when libxcrypt is provided
22701 - bpo-32598: Use autoconf to detect OpenSSL libs, headers and supported
22702 features. The ax_check_openssl M4 macro uses pkg-config to locate OpenSSL
22705 - bpo-32593: Drop support of FreeBSD 9 and older.
22707 - bpo-29708: If the :envvar:`SOURCE_DATE_EPOCH` environment variable is set,
22708 :mod:`py_compile` will always create hash-based ``.pyc`` files.
22711 -------
22713 - bpo-32588: Create standalone _distutils_findvs module and add missing
22716 - bpo-29911: Ensure separate Modify and Uninstall buttons are displayed.
22718 - bpo-32507: Use app-local UCRT install rather than the proper update for
22722 -----
22724 - bpo-32726: Provide an additional, more modern macOS installer variant that
22725 supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied
22726 third-party libraries to OpenSSL 1.1.0g and to SQLite 3.22.0. The 10.9+
22729 - bpo-28440: No longer add /Library/Python/3.x/site-packages to sys.path for
22733 -----
22735 - bpo-32681: Fix uninitialized variable 'res' in the C implementation of
22738 - bpo-10381: Add C API access to the ``datetime.timezone`` constructor and
22745 *Release date: 2018-01-08*
22748 -----------------
22750 - bpo-31975: The default warning filter list now starts with a
22752 once again shown by default in single-file scripts and at the interactive
22755 - bpo-32226: ``__class_getitem__`` is now an automatic class method.
22757 - bpo-32399: Add AIX uuid library support for RFC4122 using uuid_create() in
22760 - bpo-32390: Fix the compilation failure on AIX after the f_fsid field has
22764 - bpo-32379: Make MRO computation faster when a class inherits from a single
22767 - bpo-32259: The error message of a TypeError raised when unpack
22768 non-iterable is now more specific.
22770 - bpo-27169: The ``__debug__`` constant is now optimized out at compile
22771 time. This fixes also bpo-22091.
22773 - bpo-32329: The :option:`-R` option now turns on hash randomization when
22779 - bpo-30416: The optimizer is now protected from spending much time doing
22784 - bpo-32282: Fix an unnecessary ifdef in the include of VersionHelpers.h in
22787 - bpo-30579: Implement TracebackType.__new__ to allow Python-level creation
22790 - bpo-32260: Don't byte swap the input keys to the SipHash algorithm on
22791 big-endian platforms. This should ensure siphash gives consistent results
22794 - bpo-31506: Improve the error message logic for object.__new__ and
22797 - bpo-20361: ``-b`` and ``-bb`` now inject ``'default::BytesWarning'`` and
22800 ``-W`` option or the ``PYTHONWARNINGS`` environment variable.
22802 - bpo-32230: `-X dev` now injects a ``'default'`` entry into
22804 ``-Wdefault`` at the command line.
22806 - bpo-29240: Add a new UTF-8 mode: implementation of the :pep:`540`.
22808 - bpo-32226: :pep:`560`: Add support for ``__mro_entries__`` and
22811 - bpo-32225: :pep:`562`: Add support for module ``__getattr__`` and
22814 - bpo-31901: The `atexit` module now has its callback stored per
22817 - bpo-31650: Implement :pep:`552` (Deterministic pycs). Python now supports
22819 than source last-modified time.
22821 - bpo-29469: Move constant folding from bytecode layer to AST layer.
22825 -------
22827 - bpo-32506: Now that dict is defined as keeping insertion order, drop
22830 - bpo-32279: Add params to dataclasses.make_dataclasses(): init, repr, eq,
22833 - bpo-32278: Make type information optional on dataclasses.make_dataclass().
22836 - bpo-32499: Add dataclasses.is_dataclass(obj), which returns True if obj is
22839 - bpo-32468: Improve frame repr() to mention filename, code name and current
22842 - bpo-23749: asyncio: Implement loop.start_tls()
22844 - bpo-32441: Return the new file descriptor (i.e., the second argument) from
22847 - bpo-32422: ``functools.lru_cache`` uses less memory (3 words for each
22850 - bpo-31721: Prevent Python crash from happening when Future._log_traceback
22854 - bpo-32415: asyncio: Add Task.get_loop() and Future.get_loop()
22856 - bpo-26133: Don't unsubscribe signals in asyncio UNIX event loop on
22859 - bpo-32363: Make asyncio.Task.set_exception() and set_result() raise
22864 - bpo-32357: Optimize asyncio.iscoroutine() and loop.create_task() for
22865 non-native coroutines (e.g. async/await compiled with Cython).
22869 - bpo-32356: asyncio.transport.resume_reading() and pause_reading() are now
22872 - bpo-32355: Optimize asyncio.gather(); now up to 15% faster.
22874 - bpo-32351: Use fastpath in asyncio.sleep if delay<0 (2x boost)
22876 - bpo-32348: Optimize asyncio.Future schedule/add/remove callback. The
22877 optimization shows 3-6% performance improvements of async/await code.
22879 - bpo-32331: Fix socket.settimeout() and socket.setblocking() to keep
22884 - bpo-32248: Add :class:`importlib.abc.ResourceReader` as an ABC for loaders
22889 - bpo-32311: Implement asyncio.create_task(coro) shortcut
22891 - bpo-32327: Convert asyncio functions that were documented as coroutines to
22895 - bpo-32323: :func:`urllib.parse.urlsplit()` does not convert zone-id
22898 - bpo-32302: Fix bdist_wininst of distutils for CRT v142: it binary
22901 - bpo-29711: Fix ``stop_serving`` in asyncio proactor loop kill all
22904 - bpo-32308: :func:`re.sub()` now replaces empty matches adjacent to a
22905 previous non-empty match.
22907 - bpo-29970: Abort asyncio SSLProtocol connection if handshake not complete
22910 - bpo-32314: Implement asyncio.run().
22912 - bpo-17852: Revert incorrect fix based on misunderstanding of
22915 - bpo-32296: Implement asyncio._get_running_loop() and get_event_loop() in
22918 - bpo-32250: Implement ``asyncio.current_task()`` and
22924 - bpo-32255: A single empty field is now always quoted when written into a
22928 - bpo-32277: Raise ``NotImplementedError`` instead of ``SystemError`` on
22932 - bpo-30050: New argument warn_on_full_buffer to signal.set_wakeup_fd lets
22936 - bpo-29137: The ``fpectl`` library has been removed. It was never enabled
22937 by default, never worked correctly on x86-64, and it changed the Python
22940 - bpo-32273: Move asyncio.test_utils to test.test_asyncio.
22942 - bpo-32272: Remove asyncio.async() function.
22944 - bpo-32269: Add asyncio.get_running_loop() function.
22946 - bpo-32265: All class and static methods of builtin types now are correctly
22951 - bpo-32253: Deprecate ``yield from lock``, ``await lock``, ``with (yield
22955 - bpo-22589: Changed MIME type of .bmp from 'image/x-ms-bmp' to 'image/bmp'
22957 - bpo-32193: Convert asyncio to use *async/await* syntax. Old styled ``yield
22960 - bpo-32206: Add support to run modules with pdb
22962 - bpo-32227: ``functools.singledispatch`` now supports registering
22965 - bpo-15873: Added new alternate constructors
22971 - bpo-32199: The getnode() ip getter now uses 'ip link' instead of 'ip link
22974 - bpo-32143: os.statvfs() includes the f_fsid field from statvfs(2)
22976 - bpo-26439: Fix ctypes.util.find_library() for AIX by implementing
22979 - bpo-31993: The pickler now uses less memory when serializing large bytes
22983 - bpo-27456: Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.
22985 - bpo-31778: ast.literal_eval() is now more strict. Addition and subtraction
22988 - bpo-31802: Importing native path module (``posixpath``, ``ntpath``) now
22991 - bpo-30241: Add contextlib.AbstractAsyncContextManager. Patch by Jelle
22994 - bpo-31699: Fix deadlocks in
22999 - bpo-15216: ``TextIOWrapper.reconfigure()`` supports changing *encoding*,
23003 -------------
23005 - bpo-32418: Add get_loop() method to Server and AbstractServer classes.
23008 -----
23010 - bpo-32252: Fix faulthandler_suppress_crash_report() used to prevent core
23011 dump files when testing crashes. getrlimit() returns zero on success.
23013 - bpo-32002: Adjust C locale coercion testing for the empty locale and POSIX
23017 -------
23019 - bpo-19764: Implement support for `subprocess.Popen(close_fds=True)` on
23023 -----------
23025 - bpo-24960: 2to3 and lib2to3 can now read pickled grammar files using
23030 -----
23032 - bpo-32030: Py_Initialize() doesn't reset the memory allocators to default
23035 - bpo-29084: Undocumented C API for OrderedDict has been excluded from the
23039 - bpo-32264: Moved the pygetopt.h header into internal/, since it has no
23042 - bpo-32241: :c:func:`Py_SetProgramName` and :c:func:`Py_SetPythonHome` now
23049 *Release date: 2017-12-05*
23052 -----------------
23054 - bpo-32176: co_flags.CO_NOFREE is now always set correctly by the code
23060 - bpo-10544: Yield expressions are now deprecated in comprehensions and
23064 - bpo-32137: The repr of deeply nested dict now raises a RecursionError
23067 - bpo-32096: Revert memory allocator changes in the C API: move structures
23072 - bpo-32043: Add a new "developer mode": new "-X dev" command line option to
23075 - bpo-32023: SyntaxError is now correctly raised when a generator expression
23080 - bpo-32012: SyntaxError is now correctly raised when a generator expression
23085 - bpo-28180: A new internal ``_Py_SetLocaleFromEnv(category)`` helper
23090 - bpo-31949: Fixed several issues in printing tracebacks
23098 - bpo-30696: Fix the interactive interpreter looping endlessly when no
23101 - bpo-20047: Bytearray methods partition() and rpartition() now accept only
23102 bytes-like objects as separator, as documented. In particular they now
23106 - bpo-21720: BytesWarning no longer emitted when the *fromlist* argument of
23110 - bpo-31845: Environment variables are once more read correctly at
23113 - bpo-28936: Ensure that lexically first syntax error involving a parameter
23117 - bpo-31825: Fixed OverflowError in the 'unicode-escape' codec and in
23118 codecs.escape_decode() when decode an escaped non-ascii byte.
23120 - bpo-31618: The per-frame tracing logic added in 3.7a1 has been altered so
23121 that ``frame->f_lineno`` is updated before either ``"line"`` or
23128 - bpo-28603: Print the full context/cause chain of exceptions on interpreter
23132 - bpo-31786: Fix timeout rounding in the select module to round correctly
23133 negative timeouts between -1.0 and 0.0. The functions now block waiting
23134 for events as expected. Previously, the call was incorrectly non-blocking.
23137 - bpo-31781: Prevent crashes when calling methods of an uninitialized
23140 - bpo-30399: Standard repr() of BaseException with a single argument no
23143 - bpo-31626: Fixed a bug in debug memory allocator. There was a write to
23146 - bpo-30817: `PyErr_PrintEx()` clears now the ignored exception that may be
23150 -------
23152 - bpo-28556: Two minor fixes for ``typing`` module: allow shallow copying
23156 - bpo-32214: PEP 557, Data Classes. Provides a decorator which adds
23160 - bpo-27240: The header folding algorithm for the new email policies has
23161 been rewritten, which also fixes bpo-30788, bpo-31831, and bpo-32182. In
23164 - bpo-32186: io.FileIO.readall() and io.FileIO.read() now release the GIL
23168 - bpo-32101: Add :attr:`sys.flags.dev_mode` flag
23170 - bpo-32154: The ``asyncio.windows_utils.socketpair()`` function has been
23176 - bpo-32089: warnings: In development (-X dev) and debug mode (pydebug
23180 - bpo-32107: ``uuid.getnode()`` now preferentially returns universally
23186 - bpo-23033: Wildcard is now supported in hostname when it is one and only
23190 - bpo-12239: Make :meth:`msilib.SummaryInformation.GetProperty` return
23194 - bpo-28334: Use :func:`os.path.expanduser` to find the ``~/.netrc`` file in
23198 - bpo-32121: Made ``tracemalloc.Traceback`` behave more like the traceback
23205 - bpo-31325: Fix wrong usage of :func:`collections.namedtuple` in the
23209 - bpo-12382: :func:`msilib.OpenDatabase` now raises a better exception
23213 - bpo-19610: ``setup()`` now warns about invalid types for some fields. The
23218 - bpo-32071: Added the ``-k`` command-line option to ``python -m unittest``
23221 - bpo-10049: Added *nullcontext* no-op context manager to contextlib. This
23225 - bpo-28684: The new test.support.skip_unless_bind_unix_socket() decorator
23231 - bpo-32110: ``codecs.StreamReader.read(n)`` now returns not more than *n*
23232 characters/bytes for non-negative *n*. This makes it compatible with
23233 ``read()`` methods of other file-like objects.
23235 - bpo-27535: The warnings module doesn't leak memory anymore in the hidden
23240 - bpo-32088: warnings: When Python is build is debug mode (``Py_DEBUG``),
23244 - bpo-1647489: Fixed searching regular expression patterns that could match
23245 an empty string. Non-empty string can now be correctly found after
23248 - bpo-25054: Added support of splitting on a pattern that could match an
23251 - bpo-32072: Fixed issues with binary plists: Fixed saving bytearrays.
23256 - bpo-32069: Drop legacy SSL transport from asyncio, ssl.MemoryBIO is always
23259 - bpo-32066: asyncio: Support pathlib.Path in create_unix_connection; sock
23262 - bpo-32046: Updates 2to3 to convert from operator.isCallable(obj) to
23263 callable(obj). Patch by Dong-hee Na.
23265 - bpo-32018: inspect.signature should follow :pep:`8`, if the parameter has
23266 an annotation and a default value. Patch by Dong-hee Na.
23268 - bpo-32025: Add time.thread_time() and time.thread_time_ns()
23270 - bpo-32037: Integers that fit in a signed 32-bit integer will be now
23275 - bpo-32034: Make asyncio.IncompleteReadError and LimitOverrunError
23278 - bpo-32015: Fixed the looping of asyncio in the case of reconnection the
23281 - bpo-32011: Restored support of loading marshal files with the TYPE_INT64
23284 - bpo-28369: Enhance add_reader/writer check that socket is not used by some
23287 file-like objects.
23289 - bpo-31976: Fix race condition when flushing a file is slow, which can
23292 - bpo-31985: Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp.
23298 - bpo-21862: cProfile command line now accepts `-m module_name` as an
23301 - bpo-31970: Reduce performance overhead of asyncio debug mode.
23303 - bpo-31843: *database* argument of sqlite3.connect() now accepts a
23304 :term:`path-like object`, instead of just a string.
23306 - bpo-31945: Add Configurable *blocksize* to ``HTTPConnection`` and
23309 - bpo-31943: Add a ``cancelled()`` method to :class:`asyncio.Handle`. Patch
23312 - bpo-9678: Fixed determining the MAC address in the uuid module: Using
23316 - bpo-30057: Fix potential missed signal in signal.signal().
23318 - bpo-31933: Fix Blake2 params leaf_size and node_offset on big endian
23321 - bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor
23323 - bpo-31927: Fixed compilation of the socket module on NetBSD 8. Fixed
23327 - bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse()
23332 - bpo-31917: Add 3 new clock identifiers: :data:`time.CLOCK_BOOTTIME`,
23335 - bpo-31897: plistlib now catches more errors when read binary plists and
23338 - bpo-25720: Fix the method for checking pad state of curses WINDOW. Patch
23341 - bpo-31893: Fixed the layout of the kqueue_event structure on OpenBSD and
23344 - bpo-31891: Fixed building the curses module on NetBSD.
23346 - bpo-31884: added required constants to subprocess module for setting
23349 - bpo-28281: Remove year (1-9999) limits on the Calendar.weekday() function.
23352 - bpo-31702: crypt.mksalt() now allows to specify the number of rounds for
23353 SHA-256 and SHA-512 hashing.
23355 - bpo-30639: :func:`inspect.getfile` no longer computes the repr of unknown
23359 - bpo-30768: Fix the pthread+semaphore implementation of
23364 - bpo-31854: Add ``mmap.ACCESS_DEFAULT`` constant.
23366 - bpo-31834: Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2
23369 - bpo-28292: Calendar.itermonthdates() will now consistently raise an
23370 exception when a date falls outside of the 0001-01-01 through 9999-12-31
23376 - bpo-28564: The shutil.rmtree() function has been sped up to 20--40%. This
23379 - bpo-28416: Instances of pickle.Pickler subclass with the persistent_id()
23383 - bpo-31653: Don't release the GIL if we can acquire a multiprocessing
23386 - bpo-28326: Fix multiprocessing.Process when stdout and/or stderr is closed
23389 - bpo-20825: Add `subnet_of` and `superset_of` containment tests to
23393 - bpo-31827: Remove the os.stat_float_times() function. It was introduced in
23397 - bpo-31756: Add a ``subprocess.Popen(text=False)`` keyword argument to
23401 - bpo-31819: Add AbstractEventLoop.sock_recv_into().
23403 - bpo-31457: If nested log adapters are used, the inner ``process()``
23406 - bpo-31457: The ``manager`` property on LoggerAdapter objects is now
23409 - bpo-31806: Fix timeout rounding in time.sleep(), threading.Lock.acquire()
23411 between -1.0 and 0.0. The functions now block waiting for events as
23412 expected. Previously, the call was incorrectly non-blocking. Patch by
23415 - bpo-31803: time.clock() and time.get_clock_info('clock') now emit a
23418 - bpo-31800: Extended support for parsing UTC offsets. strptime '%z' can now
23422 - bpo-28603: traceback: Fix a TypeError that occurred during printing of
23426 - bpo-30541: Add new function to seal a mock and prevent the automatically
23429 - bpo-31784: Implement the :pep:`564`, add new 6 new functions with
23435 - bpo-30143: 2to3 now generates a code that uses abstract collection classes
23438 - bpo-31770: Prevent a crash when calling the ``__init__()`` method of a
23441 - bpo-31764: Prevent a crash in ``sqlite3.Cursor.close()`` in case the
23444 - bpo-31752: Fix possible crash in timedelta constructor called with custom
23447 - bpo-31620: an empty asyncio.Queue now doesn't leak memory when queue.get
23450 - bpo-31690: Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used
23453 - bpo-30349: FutureWarning is now emitted if a regular expression contains
23457 - bpo-31664: Added support for the Blowfish hashing in the crypt module.
23459 - bpo-31632: Fix method set_protocol() of class _SSLProtocolTransport in
23463 - bpo-15037: Added a workaround for getkey() in curses for ncurses 5.7 and
23466 - bpo-31307: Allow use of bytes objects for arguments to
23469 - bpo-31334: Fix ``poll.poll([timeout])`` in the ``select`` module for
23471 non-negative integer or -1. Patch by Riccardo Coccioli.
23473 - bpo-31310: multiprocessing's semaphore tracker should be launched again if
23476 - bpo-31308: Make multiprocessing's forkserver process immune to Ctrl-C and
23479 - bpo-31245: Added support for AF_UNIX socket in asyncio
23482 - bpo-30553: Add HTTP/2 status code 421 (Misdirected Request) to
23486 -------------
23488 - bpo-32105: Added asyncio.BaseEventLoop.connect_accepted_socket
23492 -----
23494 - bpo-31380: Skip test_httpservers test_undecodable_file on macOS: fails on
23497 - bpo-31705: Skip test_socket.test_sha256() on Linux kernel older than 4.5.
23501 - bpo-32138: Skip on Android test_faulthandler tests that raise SIGSEGV and
23504 - bpo-32136: The runtime embedding tests have been split out from
23507 - bpo-28668: test.support.requires_multiprocessing_queue is removed. Skip
23511 - bpo-32126: Skip test_get_event_loop_new_process in
23514 - bpo-31174: Fix test_tools.test_unparse: DirectoryTestCase now stores the
23519 -----
23521 - bpo-28538: Revert the previous changes, the if_nameindex structure is
23524 - bpo-28762: Revert the last commit, the F_LOCK macro is defined by Android
23527 - bpo-29040: Support building Android with Unified Headers. The first NDK
23528 release to support Unified Headers is android-ndk-r14.
23530 - bpo-32059: ``detect_modules()`` in ``setup.py`` now also searches the
23531 sysroot paths when cross-compiling.
23533 - bpo-31957: Fixes Windows SDK version detection when building for Windows.
23535 - bpo-31609: Fixes quotes in PCbuild/clean.bat
23537 - bpo-31934: Abort the build when building out of a not clean source tree.
23539 - bpo-31926: Fixed Argument Clinic sometimes causing compilation errors when
23543 - bpo-28791: Update Windows builds to use SQLite 3.21.0.
23545 - bpo-28791: Update OS X installer to use SQLite 3.21.0.
23547 - bpo-28643: Record profile-opt build progress with stamp files.
23549 - bpo-31866: Finish removing support for AtheOS.
23552 -------
23554 - bpo-1102: Return ``None`` when ``View.Fetch()`` returns
23558 - bpo-31944: Fixes Modify button in Apps and Features dialog.
23560 - bpo-20486: Implement the ``Database.Close()`` method to help closing MSI
23563 - bpo-31857: Make the behavior of USE_STACKCHECK deterministic in a
23564 multi-threaded environment.
23567 -----
23569 - bpo-31392: Update macOS installer to use OpenSSL 1.0.2m
23572 ----
23574 - bpo-32207: Improve tk event exception tracebacks in IDLE. When tk event
23580 - bpo-32164: Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet
23583 - bpo-32100: IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch
23586 - bpo-31858: IDLE -- Restrict shell prompt manipulation to the shell. Editor
23589 present, is read on Shell start-up, but is not set or changed.
23591 - bpo-31860: The font sample in the IDLE configuration dialog is now
23594 - bpo-31836: Test_code_module now passes if run after test_idle, which sets
23598 - bpo-28603: Fix a TypeError that caused a shell restart when printing a
23602 - bpo-13802: Use non-Latin characters in the IDLE's Font settings sample.
23605 character. The expanded example give users of non-Latin characters a
23607 room for the expanded sample, frames on the Font tab are re-arranged. The
23611 -----------
23613 - bpo-32159: Remove CVS and Subversion tools: remove svneol.py and
23618 - bpo-30722: Make redemo work with Python 3.6 and newer versions. Also,
23623 -----
23625 - bpo-20891: Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in
23626 a non-Python thread before PyEval_InitThreads(), only call
23629 - bpo-32125: The ``Py_UseClassExceptionsFlag`` flag has been removed. It was
23632 - bpo-25612: Move the current exception state from the frame object to the
23633 co-routine. This simplifies the interpreter and fixes a couple of obscure
23637 - bpo-23699: Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in
23640 - bpo-30697: The `PyExc_RecursionErrorInst` singleton is removed and
23649 *Release date: 2017-10-16*
23652 -----------------
23654 - bpo-31558: ``gc.freeze()`` is a new API that allows for moving all objects
23658 this enables great copy-on-write stability at fork().
23660 - bpo-31642: Restored blocking "from package import module" by setting
23663 - bpo-31708: Allow use of asynchronous generator expressions in synchronous
23666 - bpo-31709: Drop support of asynchronous __aiter__.
23668 - bpo-30404: The -u option now makes the stdout and stderr streams
23669 unbuffered rather than line-buffered.
23671 - bpo-31619: Fixed a ValueError when convert a string with large number of
23674 - bpo-31602: Fix an assertion failure in `zipimporter.get_source()` in case
23677 - bpo-31592: Fixed an assertion failure in Python parser in case of a bad
23680 - bpo-31588: Raise a `TypeError` with a helpful error message when class
23684 - bpo-31574: Importlib was instrumented with two dtrace probes to profile
23687 - bpo-31566: Fix an assertion failure in `_warnings.warn()` in case of a bad
23690 - bpo-31506: Improved the error message logic for object.__new__ and
23693 - bpo-31505: Fix an assertion failure in `json`, in case
23697 - bpo-31492: Fix assertion failures in case of failing to import from a
23701 - bpo-31478: Fix an assertion failure in `_random.Random.seed()` in case the
23704 - bpo-31336: Speed up class creation by 10-20% by reducing the overhead in
23707 - bpo-31415: Add ``-X importtime`` option to show how long each import
23711 - bpo-31410: Optimized calling wrapper and classmethod descriptors.
23713 - bpo-31353: :pep:`553` - Add a new built-in called ``breakpoint()`` which
23719 - bpo-17852: Maintain a list of open buffered files, flush them before
23722 - bpo-31315: Fix an assertion failure in imp.create_dynamic(), when
23725 - bpo-31311: Fix a crash in the ``__setstate__()`` method of
23728 - bpo-31293: Fix crashes in true division and multiplication of a timedelta
23732 - bpo-31285: Fix an assertion failure in `warnings.warn_explicit`, when the
23736 - bpo-30406: Make ``async`` and ``await`` proper keywords, as specified in
23740 -------
23742 - bpo-30058: Fixed buffer overflow in select.kqueue.control().
23744 - bpo-31672: ``idpattern`` in ``string.Template`` matched some non-ASCII
23745 characters. Now it uses ``-i`` regular expression local flag to avoid
23746 non-ASCII characters.
23748 - bpo-31701: On Windows, faulthandler.enable() now ignores MSC and COM
23751 - bpo-31728: Prevent crashes in `_elementtree` due to unsafe cleanup of
23754 - bpo-31671: Now ``re.compile()`` converts passed RegexFlag to normal int
23758 - bpo-30397: The types of compiled regular objects and match objects are now
23762 - bpo-31675: Fixed memory leaks in Tkinter's methods splitlist() and split()
23765 - bpo-31673: Fixed typo in the name of Tkinter's method adderrorinfo().
23767 - bpo-31648: Improvements to path predicates in ElementTree: Allow
23772 - bpo-30806: Fix the string representation of a netrc object.
23774 - bpo-31638: Add optional argument ``compressed`` to
23775 ``zipapp.create_archive``, and add option ``--compress`` to the command
23778 - bpo-25351: Avoid venv activate failures with undefined variables
23780 - bpo-20519: Avoid ctypes use (if possible) and improve import time for
23783 - bpo-28293: The regular expression cache is no longer completely dumped
23786 - bpo-31596: Added pthread_getcpuclockid() to the time module
23788 - bpo-27494: Make 2to3 accept a trailing comma in generator expressions. For
23791 - bpo-30347: Stop crashes when concurrently iterate over itertools.groupby()
23794 - bpo-30346: An iterator produced by itertools.groupby() iterator now
23797 - bpo-31556: Cancel asyncio.wait_for future faster if timeout <= 0
23799 - bpo-31540: Allow passing a context object in
23804 - bpo-31516: ``threading.current_thread()`` should not return a dummy thread
23807 - bpo-31525: In the sqlite module, require the sqlite3_prepare_v2 API. Thus,
23810 - bpo-26510: argparse subparsers are now required by default. This matches
23816 - bpo-27541: Reprs of subclasses of some collection and iterator classes
23821 - bpo-31351: python -m ensurepip now exits with non-zero exit code if pip
23824 - bpo-31389: ``pdb.set_trace()`` now takes an optional keyword-only argument
23829 -------------
23831 - bpo-31537: Fix incorrect usage of ``get_history_length`` in readline
23834 - bpo-30085: The operator functions without double underscores are preferred
23836 back-compatibility.
23839 -----
23841 - bpo-31696: Improve compiler version information in :data:`sys.version`
23844 - bpo-31625: Stop using ranlib on static libraries. Instead, we assume ar
23847 - bpo-31624: Remove support for BSD/OS.
23849 - bpo-22140: Prevent double substitution of prefix in python-config.sh.
23851 - bpo-31569: Correct PCBuild/ case to PCbuild/ in build scripts and
23854 - bpo-31536: Avoid wholesale rebuild after `make regen-all` if nothing
23858 ----
23860 - bpo-31460: Simplify the API of IDLE's Module Browser. Passing a widget
23866 - bpo-31649: IDLE - Make _htest, _utest parameters keyword only.
23868 - bpo-31559: Remove test order dependence in idle_test.test_browser.
23870 - bpo-31459: Rename IDLE's module browser from Class Browser to Module
23871 Browser. The original module-level class and method browser became a
23872 module browser, with the addition of module-level functions, years ago.
23874 back-compatibility, the virtual event <<open-class-browser>>, which
23878 - bpo-31500: Default fonts now are scaled on HiDPI displays.
23880 - bpo-1612262: IDLE module browser now shows nested classes and functions.
23885 -----
23887 - bpo-28280: Make `PyMapping_Keys()`, `PyMapping_Values()` and
23891 - bpo-31532: Fix memory corruption due to allocator mix in getpath.c between
23894 - bpo-25658: Implement :pep:`539` for Thread Specific Storage (TSS) API: it
23904 *Release date: 2017-09-19*
23907 --------
23909 - bpo-29781: SSLObject.version() now correctly returns None when handshake
23912 - bpo-29505: Add fuzz tests for float(str), int(str), unicode(str); for
23913 oss-fuzz.
23915 - bpo-30947: Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to
23918 - bpo-30730: Prevent environment variables injection in subprocess on
23922 - bpo-30694: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple
23923 security vulnerabilities including: CVE-2017-9233 (External entity
23924 infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix),
23925 CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to CVE-2016-0718) and
23926 CVE-2012-0876 (Counter hash flooding with SipHash). Note: the
23927 CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn't
23931 - bpo-30500: Fix urllib.parse.splithost() to correctly parse fragments. For
23936 - bpo-29591: Update expat copy from 2.1.1 to 2.2.0 to get fixes of
23937 CVE-2016-0718 and CVE-2016-4472. See
23941 -----------------
23943 - bpo-31490: Fix an assertion failure in `ctypes` class definition, in case
23947 - bpo-31471: Fix an assertion failure in `subprocess.Popen()` on Windows, in
23950 - bpo-31418: Fix an assertion failure in `PyErr_WriteUnraisable()` in case
23953 - bpo-31416: Fix assertion failures in case of a bad warnings.filters or
23956 - bpo-28411: Change direct usage of PyInterpreterState.modules to
23961 - bpo-28411: Switch to the abstract API when dealing with
23966 - bpo-31411: Raise a TypeError instead of SystemError in case
23969 - bpo-31344: For finer control of tracing behaviour when testing the
23972 default) to turn off per-line trace events; and ``f_trace_opcodes``
23973 (``False`` by default) to turn on per-opcode trace events.
23975 - bpo-31373: Fix several possible instances of undefined behavior due to
23976 floating-point demotions.
23978 - bpo-30465: Location information (``lineno`` and ``col_offset``) in
23979 f-strings is now (mostly) correct. This fixes tools like flake8 from
23982 - bpo-30860: Consolidate CPython's global runtime state under a single
23985 - bpo-31347: Fix possible undefined behavior in _PyObject_FastCall_Prepend.
23987 - bpo-31343: Include sys/sysmacros.h for major(), minor(), and makedev().
23990 - bpo-31291: Fix an assertion failure in `zipimport.zipimporter.get_data` on
23994 - bpo-31271: Fix an assertion failure in the write() method of
23998 - bpo-31243: Fix a crash in some methods of `io.TextIOWrapper`, when the
24001 - bpo-30721: ``print`` now shows correct usage hint for using Python 2
24004 - bpo-31070: Fix a race condition in importlib _get_module_lock().
24006 - bpo-30747: Add a non-dummy implementation of _Py_atomic_store and
24009 - bpo-31095: Fix potential crash during GC caused by ``tp_dealloc`` which
24012 - bpo-31071: Avoid masking original TypeError in call with * unpacking when
24015 - bpo-30978: str.format_map() now passes key lookup exceptions through.
24018 - bpo-30808: Use _Py_atomic API for concurrency-sensitive signal state.
24020 - bpo-30876: Relative import from unloaded package now reimports the package
24021 instead of failing with SystemError. Relative import from non-package now
24024 - bpo-30703: Improve signal delivery. Avoid using Py_AddPendingCall from
24025 signal handler, to avoid calling signal-unsafe functions. The tests I'm
24029 - bpo-30765: Avoid blocking in pthread_mutex_lock() when
24032 - bpo-31161: Make sure the 'Missing parentheses' syntax error message is
24035 - bpo-30814: Fixed a race condition when import a submodule from a package.
24037 - bpo-30736: The internal unicodedata database has been upgraded to Unicode
24040 - bpo-30604: Move co_extra_freefuncs from per-thread to per-interpreter to
24043 - bpo-30597: ``print`` now shows expected input in custom error message when
24046 - bpo-30682: Removed a too-strict assertion that failed for certain
24047 f-strings, such as eval("f'\\\n'") and eval("f'\\\r'").
24049 - bpo-30501: The compiler now produces more optimal code for complex
24053 - bpo-28180: Implement :pep:`538` (legacy C locale coercion). This means
24055 interpreter and locale-aware C extensions will assume the use of UTF-8 as
24058 - bpo-30486: Allows setting cell values for __closure__. Patch by Lisa
24061 - bpo-30537: itertools.islice now accepts integer-like objects (having an
24064 - bpo-25324: Tokens needed for parsing in Python moved to C. ``COMMENT``,
24068 - bpo-29104: Fixed parsing backslashes in f-strings.
24070 - bpo-27945: Fixed various segfaults with dict when input collections are
24074 - bpo-25794: Fixed type.__setattr__() and type.__delattr__() for
24075 non-interned attribute names. Based on patch by Eryk Sun.
24077 - bpo-30039: If a KeyboardInterrupt happens when the interpreter is in the
24081 - bpo-28974: ``object.__format__(x, '')`` is now equivalent to ``str(x)``
24084 - bpo-30024: Circular imports involving absolute imports with binding a
24087 - bpo-12414: sys.getsizeof() on a code object now returns the sizes which
24089 by Dong-hee Na.
24091 - bpo-29839: len() now raises ValueError rather than OverflowError if
24094 - bpo-11913: README.rst is now included in the list of distutils standard
24097 - bpo-29914: Fixed default implementations of __reduce__ and
24101 - bpo-29949: Fix memory usage regression of set and frozenset object.
24103 - bpo-29935: Fixed error messages in the index() method of tuple, list and
24106 - bpo-29816: Shift operation now has less opportunity to raise
24108 negative counts. Shifting zero with non-negative count always returns
24111 - bpo-24821: Fixed the slowing down to 25 times in the searching of some
24114 - bpo-29102: Add a unique ID to PyInterpreterState. This makes it easier to
24117 - bpo-29894: The deprecation warning is emitted if __complex__ returns an
24121 - bpo-29859: Show correct error messages when any of the pthread_* calls in
24124 - bpo-29849: Fix a memory leak when an ImportError is raised during from
24127 - bpo-28856: Fix an oversight that %b format for bytes should support
24130 - bpo-29723: The ``sys.path[0]`` initialization change for bpo-29139 caused
24138 - bpo-29568: Escaped percent "%%" in the format string for classic string
24141 - bpo-29714: Fix a regression that bytes format may fail when containing
24144 - bpo-29695: bool(), float(), list() and tuple() no longer take keyword
24148 - bpo-28893: Set correct __cause__ for errors about invalid awaitables
24151 - bpo-28876: ``bool(range)`` works even if ``len(range)`` raises
24154 - bpo-29683: Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian
24157 - bpo-29684: Fix minor regression of PyEval_CallObjectWithKeywords. It
24161 - bpo-28598: Support __rmod__ for subclasses of str being called before
24164 - bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX. Patch by
24167 - bpo-29602: Fix incorrect handling of signed zeros in complex constructor
24171 - bpo-29347: Fixed possibly dereferencing undefined pointers when creating
24174 - bpo-29463: Add ``docstring`` field to Module, ClassDef, FunctionDef, and
24179 - bpo-29438: Fixed use-after-free problem in key sharing dict.
24181 - bpo-29546: Set the 'path' and 'name' attribute on ImportError for ``from
24184 - bpo-29546: Improve from-import error message with location
24186 - bpo-29478: If max_line_length=None is specified while using the Compat32
24189 - bpo-29319: Prevent RunMainFromImporter overwriting sys.path[0].
24191 - bpo-29337: Fixed possible BytesWarning when compare the code objects.
24194 - bpo-29327: Fixed a crash when pass the iterable keyword argument to
24197 - bpo-29034: Fix memory leak and use-after-free in os module
24200 - bpo-29159: Fix regression in bytes(x) when x.__index__() raises Exception.
24202 - bpo-29049: Call _PyObject_GC_TRACK() lazily when calling Python function.
24205 - bpo-28927: bytes.fromhex() and bytearray.fromhex() now ignore all ASCII
24208 - bpo-28932: Do not include <sys/random.h> if it does not exist.
24210 - bpo-25677: Correct the positioning of the syntax error caret for indented
24213 - bpo-29000: Fixed bytes formatting of octals with zero padding in alternate
24216 - bpo-18896: Python function can now have more than 255 parameters.
24219 - bpo-28596: The preferred encoding is UTF-8 on Android. Patch written by
24222 - bpo-22257: Clean up interpreter startup (see :pep:`432`).
24224 - bpo-26919: On Android, operating system data is now always encoded/decoded
24225 to/from UTF-8, instead of the locale encoding to avoid inconsistencies
24226 with os.fsencode() and os.fsdecode() which are already using UTF-8.
24228 - bpo-28991: functools.lru_cache() was susceptible to an obscure reentrancy
24229 bug triggerable by a monkey-patched len() function.
24231 - bpo-28147: Fix a memory leak in split-table dictionaries: setattr() must
24234 - bpo-28739: f-string expressions are no longer accepted as docstrings and
24237 - bpo-28512: Fixed setting the offset attribute of SyntaxError by
24240 - bpo-28918: Fix the cross compilation of xxlimited when Python has been
24243 - bpo-23722: Rather than silently producing a class that doesn't support
24244 zero-argument ``super()`` in methods, failing to pass the new
24246 ``DeprecationWarning`` and a class that supports zero-argument
24249 - bpo-28797: Modifying the class __dict__ inside the __set_name__ method of
24253 - bpo-28799: Remove the ``PyEval_GetCallStats()`` function and deprecate the
24258 - bpo-12844: More than 255 arguments can now be passed to a function.
24260 - bpo-28782: Fix a bug in the implementation ``yield from`` when checking if
24264 - bpo-28774: Fix error position of the unicode error in ASCII and Latin1
24266 non-encodable characters (non-ASCII for the ASCII codec, characters out of
24267 the U+0000-U+00FF range for Latin1).
24269 - bpo-28731: Optimize _PyDict_NewPresized() to create correct size dict.
24272 - bpo-28532: Show sys.version when -V option is supplied twice.
24274 - bpo-27100: The with-statement now checks for __enter__ before it checks
24278 - bpo-28746: Fix the set_inheritable() file descriptor method on platforms
24281 - bpo-26920: Fix not getting the locale's charset upon initializing the
24284 - bpo-28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X
24287 - bpo-28665: Improve speed of the STORE_DEREF opcode by 40%.
24289 - bpo-19398: Extra slash no longer added to sys.path components in case of
24290 empty compile-time PYTHONPATH components.
24292 - bpo-28621: Sped up converting int to float by reusing faster bits counting
24295 - bpo-28580: Optimize iterating split table values. Patch by Xiang Zhang.
24297 - bpo-28583: PyDict_SetDefault didn't combine split table when needed. Patch
24300 - bpo-28128: Deprecation warning for invalid str and byte escape sequences
24304 - bpo-28509: dict.update() no longer allocate unnecessary large memory.
24306 - bpo-28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
24309 - bpo-28517: Fixed of-by-one error in the peephole optimizer that caused
24312 - bpo-28214: Improved exception reporting for problematic __set_name__
24315 - bpo-23782: Fixed possible memory leak in _PyTraceback_Add() and exception
24318 - bpo-28183: Optimize and cleanup dict iteration.
24320 - bpo-26081: Added C implementation of asyncio.Future. Original patch by
24323 - bpo-28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
24326 - bpo-28376: The type of long range iterator is now registered as Iterator.
24329 - bpo-28376: Creating instances of range_iterator by calling range_iterator
24333 - bpo-26906: Resolving special methods of uninitialized type now causes
24336 - bpo-18287: PyType_Ready() now checks that tp_name is not NULL. Original
24339 - bpo-24098: Fixed possible crash when AST is changed in process of
24342 - bpo-28201: Dict reduces possibility of 2nd conflict in hash table when
24345 - bpo-28350: String constants with null character no longer interned.
24347 - bpo-26617: Fix crash when GC runs during weakref callbacks.
24349 - bpo-27942: String constants now interned recursively in tuples and
24352 - bpo-28289: ImportError.__init__ now resets not specified attributes.
24354 - bpo-21578: Fixed misleading error message when ImportError called with
24357 - bpo-28203: Fix incorrect type in complex(1.0, {2:3}) error message. Patch
24360 - bpo-28086: Single var-positional argument of tuple subtype was passed
24361 unscathed to the C-defined function. Now it is converted to exact tuple.
24363 - bpo-28214: Now __set_name__ is looked up on the class instead of the
24366 - bpo-27955: Fallback on reading /dev/urandom device when the getrandom()
24369 - bpo-28192: Don't import readline in isolated mode.
24371 - bpo-27441: Remove some redundant assignments to ob_size in longobject.c.
24374 - bpo-27222: Clean up redundant code in long_rshift function. Thanks Oren
24377 - Upgrade internal unicode databases to Unicode version 9.0.0.
24379 - bpo-28131: Fix a regression in zipimport's compile_source(). zipimport
24382 - bpo-28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
24385 - bpo-28120: Fix dict.pop() for splitted dictionary when trying to remove a
24386 "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.
24388 - bpo-26182: Raise DeprecationWarning when async and await keywords are used
24391 - bpo-26182: Fix a refleak in code that raises DeprecationWarning.
24393 - bpo-28721: Fix asynchronous generators aclose() and athrow() to handle
24396 - bpo-26110: Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.
24399 -------
24401 - bpo-31499: xml.etree: Fix a crash when a parser is part of a reference
24404 - bpo-31482: ``random.seed()`` now works with bytes in version=1
24406 - bpo-28556: typing.get_type_hints now finds the right globalns for classes
24409 - bpo-28556: Speed improvements to the ``typing`` module. Original PRs by
24412 - bpo-31544: The C accelerator module of ElementTree ignored exceptions
24415 - bpo-31234: socket.create_connection() now fixes manually a reference
24418 - bpo-31457: LoggerAdapter objects can now be nested.
24420 - bpo-31431: SSLContext.check_hostname now automatically sets
24424 - bpo-31233: socketserver.ThreadingMixIn now keeps a list of non-daemonic
24427 - bpo-28638: Changed the implementation strategy for
24433 depending on how it is measured), and 3) minor speed-ups for instance
24438 - bpo-31400: Improves SSL error handling to avoid losing error numbers.
24440 - bpo-27629: Make return types of SSLContext.wrap_bio() and
24443 - bpo-28958: ssl.SSLContext() now uses OpenSSL error information when a
24446 - bpo-28182: The SSL module now raises SSLCertVerificationError when OpenSSL
24450 - bpo-27340: SSLSocket.sendall() now uses memoryview to create slices of
24451 data. This fixes support for all bytes-like object. It is also more
24454 - bpo-14191: A new function
24459 - bpo-31178: Fix string concatenation bug in rare error path in the
24462 - bpo-31350: Micro-optimize :func:`asyncio._get_running_loop` to become up
24465 - bpo-31170: expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of
24466 partial characters for UTF-8 input (libexpat bug 115):
24469 - bpo-29136: Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
24471 - bpo-1198569: ``string.Template`` subclasses can optionally define
24476 - bpo-31326: concurrent.futures.ProcessPoolExecutor.shutdown() now
24480 - bpo-27144: The ``map()`` and ``as_completed()`` iterators in
24483 - bpo-31281: Fix ``fileinput.FileInput(files, inplace=True)`` when ``files``
24486 - bpo-10746: Fix ctypes producing wrong :pep:`3118` type codes for integer
24489 - bpo-27584: ``AF_VSOCK`` has been added to the socket interface which
24492 - bpo-22536: The subprocess module now sets the filename when
24496 - bpo-29741: Update some methods in the _pyio module to also accept integer
24499 - bpo-31249: concurrent.futures: WorkItem.run() used by ThreadPoolExecutor
24503 - bpo-31247: xmlrpc.server now explicitly breaks reference cycles when using
24506 - bpo-23835: configparser: reading defaults in the ``ConfigParser()``
24508 with the rest of the parser. Non-string keys and values in the defaults
24512 - bpo-31238: pydoc: the stop() method of the private ServerThread class now
24516 - bpo-5001: Many asserts in `multiprocessing` are now more informative, and
24519 - bpo-31109: Convert zipimport to use Argument Clinic.
24521 - bpo-30102: The ssl and hashlib modules now call
24526 - bpo-18966: Non-daemonic threads created by a multiprocessing.Process are
24529 - bpo-31183: `dis` now works with asynchronous generator and coroutine
24532 - bpo-5001: There are a number of uninformative asserts in the
24534 the most potentially problematic ones, since they are in error-reporting
24539 *reported* by the function/its caller (such as in issue 31169). - Patch by
24542 - bpo-31185: Fixed miscellaneous errors in asyncio speedup module.
24544 - bpo-31151: socketserver.ForkingMixIn.server_close() now waits until all
24547 - bpo-31072: Add an ``include_file`` parameter to
24550 - bpo-24700: Optimize array.array comparison. It is now from 10x up to 70x
24553 - bpo-31135: ttk: fix the destroy() method of LabeledScale and OptionMenu
24559 - bpo-31107: Fix `copyreg._slotnames()` mangled attribute calculation for
24562 - bpo-31080: Allow `logging.config.fileConfig` to accept kwargs and/or args.
24564 - bpo-30897: ``pathlib.Path`` objects now include an ``is_mount()`` method
24568 - bpo-31061: Fixed a crash when using asyncio and threads.
24570 - bpo-30987: Added support for CAN ISO-TP protocol in the socket module.
24572 - bpo-30522: Added a ``setStream`` method to ``logging.StreamHandler`` to
24575 - bpo-30502: Fix handling of long oids in ssl. Based on patch by Christian
24578 - bpo-5288: Support tzinfo objects with sub-minute offsets.
24580 - bpo-30919: Fix shared memory performance regression in multiprocessing in
24584 - bpo-26732: Fix too many fds in processes started with the "forkserver"
24586 still-running children.
24588 - bpo-29403: Fix ``unittest.mock``'s autospec to not fail on method-bound
24591 - bpo-30961: Fix decrementing a borrowed reference in tracemalloc.
24593 - bpo-19896: Fix multiprocessing.sharedctypes to recognize typecodes ``'q'``
24596 - bpo-30946: Remove obsolete code in readline module for platforms where GNU
24599 - bpo-25684: Change ``ttk.OptionMenu`` radiobuttons to be unique across
24602 - bpo-30886: Fix multiprocessing.Queue.join_thread(): it now waits until the
24606 - bpo-29854: Fix segfault in readline when using readline's history-size
24609 - bpo-30794: Added multiprocessing.Process.kill method to terminate using
24612 - bpo-30319: socket.close() now ignores ECONNRESET error.
24614 - bpo-30828: Fix out of bounds write in
24617 - bpo-30302: Use keywords in the ``repr`` of ``datetime.timedelta``.
24619 - bpo-30807: signal.setitimer() may disable the timer when passed a tiny
24620 value. Tiny values (such as 1e-6) are valid non-zero values for
24621 setitimer(), which is specified as taking microsecond-resolution
24623 1e-6 into a zero interval, therefore disabling the timer instead of
24624 (re-)scheduling it.
24626 - bpo-30441: Fix bug when modifying os.environ while iterating over it
24628 - bpo-29585: Avoid importing ``sysconfig`` from ``site`` to improve startup
24631 - bpo-29293: Add missing parameter "n" on
24637 - bpo-30532: Fix email header value parser dropping folding white space in
24640 - bpo-30596: Add a ``close()`` method to ``multiprocessing.Process``.
24642 - bpo-9146: Fix a segmentation fault in _hashopenssl when standard hash
24644 in some special FIPS-140 build environments.
24646 - bpo-29169: Update zlib to 1.2.11.
24648 - bpo-30119: ftplib.FTP.putline() now throws ValueError on commands that
24649 contains CR or LF. Patch by Dong-hee Na.
24651 - bpo-30879: os.listdir() and os.scandir() now emit bytes names when called
24652 with bytes-like argument.
24654 - bpo-30746: Prohibited the '=' character in environment variable names in
24657 - bpo-30664: The description of a unittest subtest now preserves the order
24660 - bpo-21071: struct.Struct.format type is now :class:`str` instead of
24663 - bpo-29212: Fix concurrent.futures.thread.ThreadPoolExecutor threads to
24666 "ThreadPoolExecutor-y_n".
24668 - bpo-29755: Fixed the lgettext() family of functions in the gettext module.
24671 - bpo-30616: Functional API of enum allows to create empty enums. Patched by
24672 Dong-hee Na
24674 - bpo-30038: Fix race condition between signal delivery and wakeup file
24677 - bpo-23894: lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings.
24679 - bpo-24744: pkgutil.walk_packages function now raises ValueError if *path*
24682 - bpo-24484: Avoid race condition in multiprocessing cleanup.
24684 - bpo-30589: Fix multiprocessing.Process.exitcode to return the opposite of
24688 - bpo-28994: The traceback no longer displayed for SystemExit raised in a
24691 - bpo-30508: Don't log exceptions if Task/Future "cancel()" method was
24694 - bpo-30645: Fix path calculation in `imp.load_package()`, fixing it for
24698 - bpo-11822: The dis.dis() function now is able to disassemble nested code
24701 - bpo-30624: selectors does not take KeyboardInterrupt and SystemExit into
24705 - bpo-30595: multiprocessing.Queue.get() with a timeout now polls its reader
24706 in non-blocking mode if it succeeded to acquire the lock but the acquire
24709 - bpo-28556: Updates to typing module: Add generic AsyncContextManager, add
24713 - bpo-30605: re.compile() no longer raises a BytesWarning when compiling a
24716 - bpo-29870: Fix ssl sockets leaks when connection is aborted in asyncio/ssl
24719 - bpo-29743: Closing transport during handshake process leaks open socket.
24722 - bpo-27585: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
24725 - bpo-30014: modify() method of poll(), epoll() and devpoll() based classes
24728 - bpo-30418: On Windows, subprocess.Popen.communicate() now also ignore
24732 - bpo-30463: Addded empty __slots__ to abc.ABC. This allows subclassers to
24735 - bpo-30520: Loggers are now pickleable.
24737 - bpo-30557: faulthandler now correctly filters and displays exception codes
24740 - bpo-30526: Add TextIOWrapper.reconfigure() and a
24743 - bpo-30245: Fix possible overflow when organize struct.pack_into error
24746 - bpo-30378: Fix the problem that logging.handlers.SysLogHandler cannot
24749 - bpo-16500: Allow registering at-fork handlers.
24751 - bpo-30470: Deprecate invalid ctypes call protection on Windows. Patch by
24754 - bpo-30414: multiprocessing.Queue._feed background running thread do not
24757 - bpo-30003: Fix handling escape characters in HZ codec. Based on patch by
24760 - bpo-30149: inspect.signature() now supports callables with
24761 variable-argument parameters wrapped with partialmethod. Patch by Dong-hee
24764 - bpo-30436: importlib.find_spec() raises ModuleNotFoundError instead of
24768 - bpo-30301: Fix AttributeError when using SimpleQueue.empty() under *spawn*
24771 - bpo-30375: Warnings emitted when compile a regular expression now always
24775 - bpo-30329: imaplib and poplib now catch the Windows socket WSAEINVAL error
24779 - bpo-29196: Removed previously deprecated in Python 2.4 classes Plist, Dict
24784 - bpo-9850: The :mod:`macpath` is now deprecated and will be removed in
24787 - bpo-30299: Compiling regular expression in debug mode on CPython now
24790 - bpo-30048: Fixed ``Task.cancel()`` can be ignored when the task is running
24793 - bpo-30266: contextlib.AbstractContextManager now supports
24794 anti-registration by setting __enter__ = None or __exit__ = None,
24795 following the pattern introduced in bpo-25958. Patch by Jelle Zijlstra.
24797 - bpo-30340: Enhanced regular expressions optimization. This increased the
24800 - bpo-30298: Weaken the condition of deprecation warnings for inline
24806 - bpo-30285: Optimized case-insensitive matching and searching of regular
24809 - bpo-29990: Fix range checking in GB18030 decoder. Original patch by Ma
24812 - bpo-29979: rewrite cgi.parse_multipart, reusing the FieldStorage class and
24814 multipart/form-data requests. Patch by Pierre Quentel.
24816 - bpo-30243: Removed the __init__ methods of _json's scanner and encoder.
24820 - bpo-30215: Compiled regular expression objects with the re.LOCALE flag no
24824 - bpo-30185: Avoid KeyboardInterrupt tracebacks in forkserver helper process
24825 when Ctrl-C is received.
24827 - bpo-30103: binascii.b2a_uu() and uu.encode() now support using ``'`'`` as
24830 - bpo-28556: Various updates to typing module: add typing.NoReturn type, use
24831 WrapperDescriptorType, minor bug-fixes. Original PRs by Jim
24832 Fasarakis-Hilliard and Ivan Levkivskyi.
24834 - bpo-30205: Fix getsockname() for unbound AF_UNIX sockets on Linux.
24836 - bpo-30228: The seek() and tell() methods of io.FileIO now set the internal
24840 - bpo-30190: unittest's assertAlmostEqual and assertNotAlmostEqual provide a
24844 - bpo-30101: Add support for curses.A_ITALIC.
24846 - bpo-29822: inspect.isabstract() now works during __init_subclass__. Patch
24849 - bpo-29960: Preserve generator state when _random.Random.setstate() raises
24852 - bpo-30070: Fixed leaks and crashes in errors handling in the parser
24855 - bpo-22352: Column widths in the output of dis.dis() are now adjusted for
24858 - bpo-30061: Fixed crashes in IOBase methods __next__() and readlines() when
24859 readline() or __next__() respectively return non-sizeable object. Fixed
24863 - bpo-30218: Fix PathLike support for shutil.unpack_archive. Patch by Jelle
24866 - bpo-10076: Compiled regular expression and match objects in the re module
24869 - bpo-30068: _io._IOBase.readlines will check if it's closed first when hint
24872 - bpo-29694: Fixed race condition in pathlib mkdir with flags parents=True.
24875 - bpo-29692: Fixed arbitrary unchaining of RuntimeError exceptions in
24878 - bpo-26187: Test that sqlite3 trace callback is not called multiple times
24880 sqlite3_prepare_v2() in bpo-9303. Patch by Aviv Palivoda.
24882 - bpo-30017: Allowed calling the close() method of the zip entry writer
24886 - bpo-29998: Pickling and copying ImportError now preserves name and path
24889 - bpo-29995: re.escape() now escapes only regex special characters.
24891 - bpo-29962: Add math.remainder operation, implementing remainder as
24894 - bpo-29649: Improve struct.pack_into() exception messages for problems with
24897 - bpo-29654: Support If-Modified-Since HTTP header (browser cache). Patch
24900 - bpo-29931: Fixed comparison check for ipaddress.ip_interface objects.
24903 - bpo-29953: Fixed memory leaks in the replace() method of datetime and time
24906 - bpo-29942: Fix a crash in itertools.chain.from_iterable when encountering
24909 - bpo-10030: Sped up reading encrypted ZIP files by 2 times.
24911 - bpo-29204: Element.getiterator() and the html parameter of XMLParser()
24915 - bpo-27863: Fixed multiple crashes in ElementTree caused by race conditions
24918 - bpo-25996: Added support of file descriptors in os.scandir() on Unix.
24921 - bpo-28699: Fixed a bug in pools in multiprocessing.pool that raising an
24925 - bpo-23890: unittest.TestCase.assertRaises() now manually breaks a
24928 - bpo-29901: The zipapp module now supports general path-like objects, not
24931 - bpo-25803: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when
24934 - bpo-29861: Release references to tasks, their arguments and their results
24937 - bpo-19930: The mode argument of os.makedirs() no longer affects the file
24938 permission bits of newly created intermediate-level directories.
24940 - bpo-29884: faulthandler: Restore the old sigaltstack during teardown.
24943 - bpo-25455: Fixed crashes in repr of recursive buffered file-like objects.
24945 - bpo-29800: Fix crashes in partial.__repr__ if the keys of partial.keywords
24948 - bpo-8256: Fixed possible failing or crashing input() if attributes
24952 - bpo-28692: Using non-integer value for selecting a plural form in gettext
24955 - bpo-26121: Use C library implementation for math functions erf() and
24958 - bpo-29619: os.stat() and os.DirEntry.inode() now convert inode (st_ino)
24961 - bpo-28298: Fix a bug that prevented array 'Q', 'L' and 'I' from accepting
24964 - bpo-29645: Speed up importing the webbrowser module.
24965 webbrowser.register() is now thread-safe.
24967 - bpo-28231: The zipfile module now accepts path-like objects for external
24970 - bpo-26915: index() and count() methods of collections.abc.Sequence now
24973 - bpo-28682: Added support for bytes paths in os.fwalk().
24975 - bpo-29728: Add new :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constant.
24978 - bpo-29623: Allow use of path-like object as a single argument in
24981 - bpo-9303: Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda.
24983 - bpo-28963: Fix out of bound iteration in
24986 - bpo-29704: asyncio.subprocess.SubprocessStreamProtocol no longer closes
24989 - bpo-29271: Fix Task.current_task and Task.all_tasks implemented in C to
24992 - bpo-29703: Fix asyncio to support instantiation of new event loops in
24995 - bpo-29615: SimpleXMLRPCDispatcher no longer chains KeyError (or any other
24999 - bpo-7769: Method register_function() of
25003 - bpo-29376: Fix assertion error in threading._DummyThread.is_alive().
25005 - bpo-28624: Add a test that checks that cwd parameter of Popen() accepts
25008 - bpo-28518: Start a transaction implicitly before a DML statement. Patch by
25011 - bpo-29742: get_extra_info() raises exception if get called on closed ssl
25014 - bpo-16285: urllib.parse.quote is now based on RFC 3986 and hence includes
25018 - bpo-29532: Altering a kwarg dictionary passed to functools.partial() no
25021 - bpo-29110: Fix file object leak in aifc.open() when file is given as a
25024 - bpo-22807: Add uuid.SafeUUID and uuid.UUID.is_safe to relay information
25028 - bpo-29576: Improve some deprecations in importlib. Some deprecated methods
25031 - bpo-29534: Fixed different behaviour of Decimal.from_float() for _decimal
25034 - bpo-10379: locale.format_string now supports the 'monetary' keyword
25037 - bpo-29851: importlib.reload() now raises ModuleNotFoundError if the module
25040 - bpo-28556: Various updates to typing module: typing.Counter,
25044 - bpo-29100: Fix datetime.fromtimestamp() regression introduced in Python
25047 - bpo-29416: Prevent infinite loop in pathlib.Path.mkdir
25049 - bpo-29444: Fixed out-of-bounds buffer access in the group() method of the
25052 - bpo-29377: Add WrapperDescriptorType, MethodWrapperType, and
25053 MethodDescriptorType built-in types to types module. Original patch by
25056 - bpo-29218: Unused install_misc command is now removed. It has been
25059 - bpo-29368: The extend() method is now called instead of the append()
25060 method when unpickle collections.deque and other list-like objects. This
25063 - bpo-29338: The help of a builtin or extension class now includes the
25066 - bpo-29335: Fix subprocess.Popen.wait() when the child process has exited
25069 - bpo-29290: Fix a regression in argparse that help messages would wrap at
25070 non-breaking spaces.
25072 - bpo-28735: Fixed the comparison of mock.MagickMock with mock.ANY.
25074 - bpo-29197: Removed deprecated function ntpath.splitunc().
25076 - bpo-29210: Removed support of deprecated argument "exclude" in
25079 - bpo-29219: Fixed infinite recursion in the repr of uninitialized
25082 - bpo-29192: Removed deprecated features in the http.cookies module.
25084 - bpo-29193: A format string argument for string.Formatter.format() is now
25085 positional-only.
25087 - bpo-29195: Removed support of deprecated undocumented keyword arguments in
25090 - bpo-28969: Fixed race condition in C implementation of
25095 - bpo-20804: The unittest.mock.sentinel attributes now preserve their
25098 - bpo-29142: In urllib.request, suffixes in no_proxy environment variable
25102 - bpo-28961: Fix unittest.mock._Call helper: don't ignore the name parameter
25105 - bpo-15812: inspect.getframeinfo() now correctly shows the first line of a
25108 - bpo-28985: Update authorizer constants in sqlite3 module. Patch by
25111 - bpo-29079: Prevent infinite loop in pathlib.resolve() on Windows
25113 - bpo-13051: Fixed recursion errors in large or resized
25116 - bpo-9770: curses.ascii predicates now work correctly with negative
25119 - bpo-28427: old keys should not remove new values from WeakValueDictionary
25122 - bpo-28923: Remove editor artifacts from Tix.py.
25124 - bpo-28871: Fixed a crash when deallocate deep ElementTree.
25126 - bpo-19542: Fix bugs in WeakValueDictionary.setdefault() and
25129 - bpo-20191: Fixed a crash in resource.prlimit() when passing a sequence
25132 - bpo-16255: subprocess.Popen uses /system/bin/sh on Android as the shell,
25135 - bpo-28779: multiprocessing.set_forkserver_preload() would crash the
25139 - bpo-26937: The chown() method of the tarfile.TarFile class does not fail
25143 - bpo-28847: dbm.dumb now supports reading read-only files and no longer
25148 - bpo-27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in
25151 - bpo-28835: Fix a regression introduced in warnings.catch_warnings(): call
25154 - bpo-27172: To assist with upgrades from 2.7, the previously documented
25159 - bpo-28740: Add sys.getandroidapilevel(): return the build time API version
25162 - bpo-26273: Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
25166 - bpo-28752: Restored the __reduce__() methods of datetime objects.
25168 - bpo-28727: Regular expression patterns, _sre.SRE_Pattern objects created
25173 - bpo-20572: Remove the subprocess.Popen.wait endtime parameter. It was
25176 - bpo-25659: In ctypes, prevent a crash calling the from_buffer() and
25179 - bpo-28548: In the "http.server" module, parse the protocol version if
25182 - bpo-19717: Makes Path.resolve() succeed on paths that do not exist. Patch
25185 - bpo-28563: Fixed possible DoS and arbitrary code execution when handle
25189 - bpo-28387: Fixed possible crash in _io.TextIOWrapper deallocator when the
25193 - bpo-27517: LZMA compressor and decompressor no longer raise exceptions if
25196 - bpo-28549: Fixed segfault in curses's addch() with ncurses6.
25198 - bpo-28449: tarfile.open() with mode "r" or "r:" now tries to open a tar
25202 - bpo-23262: The webbrowser module now supports Firefox 36+ and derived
25205 - bpo-24241: The webbrowser in an X environment now prefers using the
25210 - bpo-27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
25214 - bpo-28255: calendar.TextCalendar.prweek() no longer prints a space after a
25218 - bpo-28255: calendar.TextCalendar.prmonth() no longer prints a space at the
25222 - bpo-20491: The textwrap.TextWrapper class now honors non-breaking spaces.
25225 - bpo-28353: os.fwalk() no longer fails on broken links.
25227 - bpo-28430: Fix iterator of C implemented asyncio.Future doesn't accept
25228 non-None value is passed to it.send(val).
25230 - bpo-27025: Generated names for Tkinter widgets now start by the "!" prefix
25233 - bpo-25464: Fixed HList.header_exists() in tkinter.tix module by addin a
25236 - bpo-28488: shutil.make_archive() no longer adds entry "./" to ZIP archive.
25238 - bpo-25953: re.sub() now raises an error for invalid numerical group
25243 - bpo-28469: timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead of
25246 - bpo-28115: Command-line interface of the zipfile module now uses argparse.
25249 - bpo-18219: Optimize csv.DictWriter for large number of columns. Patch by
25252 - bpo-28448: Fix C implemented asyncio.Future didn't work on Windows.
25254 - bpo-23214: In the "io" module, the argument to BufferedReader and
25255 BytesIO's read1() methods is now optional and can be -1, matching the
25258 - bpo-28480: Fix error building socket module when multithreading is
25261 - bpo-28240: timeit: remove ``-c/--clock`` and ``-t/--time`` command line
25264 - bpo-28240: timeit now repeats the benchmarks 5 times instead of only 3 to
25267 - bpo-28240: timeit autorange now uses a single loop iteration if the
25269 -m timeit -s 'import time' 'time.sleep(1)'" now takes 4 seconds instead of
25272 - Distutils.sdist now looks for README and setup.py files with case
25277 - bpo-24452: Make webbrowser support Chrome on Mac OS X. Patch by Ned
25280 - bpo-20766: Fix references leaked by pdb in the handling of SIGINT
25283 - bpo-27998: Fixed bytes path support in os.scandir() on Windows. Patch by
25286 - bpo-28317: The disassembler now decodes FORMAT_VALUE argument.
25288 - bpo-28380: unittest.mock Mock autospec functions now properly support
25291 - bpo-28229: lzma module now supports pathlib.
25293 - bpo-28321: Fixed writing non-BMP characters with binary format in
25296 - bpo-28225: bz2 module now supports pathlib. Initial patch by Ethan
25299 - bpo-28227: gzip now supports pathlib. Patch by Ethan Furman.
25301 - bpo-28332: Deprecated silent truncations in socket.htons and socket.ntohs.
25304 - bpo-27358: Optimized merging var-keyword arguments and improved error
25305 message when passing a non-mapping as a var-keyword argument.
25307 - bpo-28257: Improved error message when passing a non-iterable as a
25308 var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
25310 - bpo-28322: Fixed possible crashes when unpickle itertools objects from
25313 - bpo-28228: imghdr now supports pathlib.
25315 - bpo-28226: compileall now supports pathlib.
25317 - bpo-28314: Fix function declaration (C flags) for the getiterator() method
25320 - bpo-28148: Stop using localtime() and gmtime() in the time module.
25324 - bpo-28253: Fixed calendar functions for extreme months: 0001-01 and
25325 9999-12. Methods itermonthdays() and itermonthdays2() are reimplemented so
25329 - bpo-28275: Fixed possible use after free in the decompress() methods of
25333 - bpo-27897: Fixed possible crash in sqlite3.Connection.create_collation()
25334 if pass invalid string-like object as a name. Patch by Xiang Zhang.
25336 - bpo-18844: random.choices() now has k as a keyword-only argument to
25340 - bpo-18893: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py.
25343 - bpo-27611: Fixed support of default root window in the tkinter.tix module.
25346 - bpo-27348: In the traceback module, restore the formatting of exception
25350 - bpo-25651: Allow falsy values to be used for msg parameter of subTest().
25352 - bpo-27778: Fix a memory leak in os.getrandom() when the getrandom() is
25355 - bpo-28200: Fix memory leak on Windows in the os module (fix
25358 - bpo-25400: RobotFileParser now correctly returns default values for
25361 - bpo-27932: Prevent memory leak in win32_ver().
25363 - Fix UnboundLocalError in socket._sendfile_use_sendfile.
25365 - bpo-28075: Check for ERROR_ACCESS_DENIED in Windows implementation of
25368 - bpo-22493: Warning message emitted by using inline flags in the middle of
25372 - bpo-25270: Prevent codecs.escape_encode() from raising SystemError when an
25375 - bpo-28181: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
25377 - bpo-25895: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by
25380 - bpo-28114: Fix a crash in parse_envlist() when env contains byte strings.
25383 - bpo-27599: Fixed buffer overrun in binascii.b2a_qp() and
25386 - bpo-27906: Fix socket accept exhaustion during high TCP traffic. Patch by
25389 - bpo-28174: Handle when SO_REUSEPORT isn't properly supported. Patch by
25392 - bpo-26654: Inspect functools.partial in asyncio.Handle.__repr__. Patch by
25395 - bpo-26909: Fix slow pipes IO in asyncio. Patch by INADA Naoki.
25397 - bpo-28176: Fix callbacks race in asyncio.SelectorLoop.sock_connect.
25399 - bpo-27759: Fix selectors incorrectly retain invalid file descriptors.
25402 - bpo-28325: Remove vestigial MacOS 9 macurl2path module and its tests.
25404 - bpo-28368: Refuse monitoring processes if the child watcher has no loop
25407 - bpo-28369: Raise RuntimeError when transport's FD is used with add_reader,
25410 - bpo-28370: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
25413 - bpo-28371: Deprecate passing asyncio.Handles to run_in_executor.
25415 - bpo-28372: Fix asyncio to support formatting of non-python coroutines.
25417 - bpo-28399: Remove UNIX socket from FS before binding. Patch by Коренберг
25420 - bpo-27972: Prohibit Tasks to await on themselves.
25422 - bpo-24142: Reading a corrupt config file left configparser in an invalid
25425 - bpo-29581: ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract
25429 - bpo-25532: inspect.unwrap() will now only try to unwrap an object
25433 - bpo-30177: path.resolve(strict=False) no longer cuts the path after the
25437 -------------
25439 - bpo-31294: Fix incomplete code snippet in the ZeroMQSocketListener and
25442 - bpo-21649: Add RFC 7525 and Mozilla server side TLS links to SSL
25445 - bpo-31128: Allow the pydoc server to bind to arbitrary hostnames.
25447 - bpo-30803: Clarify doc on truth value testing. Original patch by Peter
25450 - bpo-30176: Add missing attribute related constants in curses
25453 - bpo-30052: the link targets for :func:`bytes` and :func:`bytearray` are
25455 builtin function entries. Use :ref:`bytes <func-bytes>` and
25456 :ref:`bytearray <func-bytearray>` to reference the latter. In order to
25457 ensure this and future cross-reference updates are applied automatically,
25461 - bpo-26985: Add missing info of code object in inspect documentation.
25463 - bpo-19824: Improve the documentation for, and links to, template strings
25465 some usage constraints. (See also: bpo-20314, bpo-12518)
25467 - bpo-28929: Link the documentation to its source file on GitHub.
25469 - bpo-25008: Document smtpd.py as effectively deprecated and add a pointer
25470 to aiosmtpd, a third-party asyncio-based replacement.
25472 - bpo-26355: Add canonical header link on each page to corresponding major
25475 - bpo-29349: Fix Python 2 syntax in code for building the documentation.
25477 - bpo-23722: The data model reference and the porting section in the 3.6
25480 zero-argument ``super()``.
25482 - bpo-28513: Documented command-line interface of zipfile.
25485 -----
25487 - bpo-29639: test.support.HOST is now "localhost", a new HOSTv4 constant has
25491 - bpo-31320: Silence traceback in test_ssl
25493 - bpo-31346: Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols
25496 - bpo-25674: Remove sha256.tbs-internet.com ssl test
25498 - bpo-30715: Address ALPN callback changes for OpenSSL 1.1.0f. The latest
25501 - bpo-30822: regrtest: Exclude tzdata from regrtest --all. When running the
25502 test suite using --use=all / -u all, exclude tzdata since it makes
25503 test_datetime too slow (15-20 min on some buildbots) which then times out
25505 -u extralargefile to run test_zipfile64.
25507 - bpo-30695: Add the `set_nomemory(start, stop)` and `remove_mem_hooks()`
25510 - bpo-30357: test_thread: setUp() now uses support.threading_setup() and
25515 - bpo-30197: Enhanced functions swap_attr() and swap_item() in the
25521 - bpo-24932: Use proper command line parsing in _testembed
25523 - bpo-28950: Disallow -j0 to be combined with -T/-l in regrtest command line
25526 - bpo-28683: Fix the tests that bind() a unix socket and raise
25527 PermissionError on Android for a non-root user.
25529 - bpo-26936: Fix the test_socket failures on Android - getservbyname(),
25532 - bpo-28666: Now test.support.rmtree is able to remove unwritable or
25535 - bpo-23839: Various caches now are cleared before running every test file.
25537 - bpo-26944: Fix test_posix for Android where 'id -G' is entirely wrong or
25540 - bpo-28409: regrtest: fix the parser of command line arguments.
25542 - bpo-28217: Adds _testconsole module to test console input.
25544 - bpo-26939: Add the support.setswitchinterval() function to fix
25548 -----
25550 - bpo-31354: Allow --with-lto to be used on all builds, not just `make
25551 profile-opt`.
25553 - bpo-31370: Remove support for building --without-threads. This option is
25556 difficult to maintain low-level internal code.
25558 - bpo-31341: Per :pep:`11`, support for the IRIX operating system was
25561 - bpo-30854: Fix compile error when compiling --without-threads. Patch by
25564 - bpo-30687: Locate msbuild.exe on Windows when building rather than
25567 - bpo-20210: Support the *disabled* marker in Setup files. Extension modules
25571 - bpo-29941: Add ``--with-assertions`` configure flag to explicitly enable C
25572 ``assert()`` checks. Defaults to off. ``--with-pydebug`` implies
25573 ``--with-assertions``.
25575 - bpo-28787: Fix out-of-tree builds of Python when configured with
25576 ``--with--dtrace``.
25578 - bpo-29243: Prevent unnecessary rebuilding of Python during ``make test``,
25580 ``--enable-optimizations``.
25582 - bpo-23404: Don't regenerate generated files based on file modification
25584 ``make regen-all``.
25586 - bpo-29643: Fix ``--enable-optimization`` didn't work.
25588 - bpo-27593: sys.version and the platform module python_build(),
25592 - bpo-29572: Update Windows build and OS X installers to use OpenSSL 1.0.2k.
25594 - bpo-27659: Prohibit implicit C function declarations: use
25595 ``-Werror=implicit-function-declaration`` when possible (GCC and Clang,
25598 - bpo-29384: Remove old Be OS helper scripts.
25600 - bpo-26851: Set Android compilation and link flags.
25602 - bpo-28768: Fix implicit declaration of function _setmode. Patch by
25605 - bpo-29080: Removes hard dependency on hg.exe from PCBuild/build.bat
25607 - bpo-23903: Added missed names to PC/python3.def.
25609 - bpo-28762: lockf() is available on Android API level 24, but the F_LOCK
25610 macro is not defined in android-ndk-r13.
25612 - bpo-28538: Fix the compilation error that occurs because if_nameindex() is
25616 - bpo-20211: Do not add the directory for installing C header files and the
25620 - bpo-28849: Do not define sys.implementation._multiarch on Android.
25622 - bpo-10656: Fix out-of-tree building on AIX. Patch by Tristan Carel and
25625 - bpo-26359: Rename --with-optimiations to --enable-optimizations.
25627 - bpo-28444: Fix missing extensions modules when cross compiling.
25629 - bpo-28208: Update Windows build and OS X installers to use SQLite 3.14.2.
25631 - bpo-28248: Update Windows build and OS X installers to use OpenSSL 1.0.2j.
25633 - bpo-21124: Fix building the _struct module on Cygwin by passing ``NULL``
25637 - bpo-13756: Fix building extensions modules on Cygwin. Patch by Roumen
25640 - bpo-21085: Add configure check for siginfo_t.si_band, which Cygwin does
25644 - bpo-28258: Fixed build with Estonian locale (python-config and distclean
25647 - bpo-26661: setup.py now detects system libffi with multiarch wrapper.
25649 - bpo-27979: A full copy of libffi is no longer bundled for use when
25650 building _ctypes on non-OSX UNIX platforms. An installed copy of libffi
25653 - bpo-15819: Remove redundant include search directory option for building
25656 - bpo-28676: Prevent missing 'getentropy' declaration warning on macOS.
25660 -------
25662 - bpo-31392: Update Windows build to use OpenSSL 1.1.0f
25664 - bpo-30389: Adds detection of Visual Studio 2017 to distutils on Windows.
25666 - bpo-31358: zlib is no longer bundled in the CPython source, instead it is
25669 - bpo-31340: Change to building with MSVC v141 (included with Visual Studio
25672 - bpo-30581: os.cpu_count() now returns the correct number of processors on
25675 - bpo-30916: Pre-build OpenSSL, Tcl and Tk and include the binaries in the
25678 - bpo-30731: Add a missing xmlns to python.manifest so that it matches the
25681 - bpo-30291: Allow requiring 64-bit interpreters from py.exe using -64
25684 - bpo-30362: Adds list options (-0, -0p) to py.exe launcher. Contributed by
25687 - bpo-23451: Fix socket deprecation warnings in socketmodule.c. Patch by
25690 - bpo-30450: The build process on Windows no longer depends on Subversion,
25692 3.6 is not found on the system (via ``py -3.6``), NuGet is used to
25693 download a copy of 32-bit Python.
25695 - bpo-29579: Removes readme.txt from the installer.
25697 - bpo-25778: winreg does not truncate string correctly (Patch by Eryk Sun)
25699 - bpo-28896: Deprecate WindowsRegistryFinder and disable it by default
25701 - bpo-28522: Fixes mishandled buffer reallocation in getpathp.c
25703 - bpo-28402: Adds signed catalog files for stdlib on Windows.
25705 - bpo-28333: Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk
25708 - bpo-28251: Improvements to help manuals on Windows.
25710 - bpo-28110: launcher.msi has different product codes between 32-bit and
25711 64-bit
25713 - bpo-28161: Opening CON for write access fails
25715 - bpo-28162: WindowsConsoleIO readall() fails if first line starts with
25718 - bpo-28163: WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle
25720 - bpo-28164: _PyIO_get_console_type fails for various paths
25722 - bpo-28137: Renames Windows path file to ._pth
25724 - bpo-28138: Windows ._pth file should allow import site
25727 ----
25729 - bpo-31493: IDLE code context -- fix code update and font update timers.
25732 - bpo-31488: IDLE - Update non-key options in former extension classes. When
25737 - bpo-31477: IDLE - Improve rstrip entry in doc. Strip trailing whitespace
25740 - bpo-31480: IDLE - make tests pass with zzdummy extension disabled by
25743 - bpo-31421: Document how IDLE runs tkinter programs. IDLE calls tcl/tk
25747 - bpo-31414: IDLE -- fix tk entry box tests by deleting first. Adding to an
25751 - bpo-31051: Rearrange IDLE configdialog GenPage into Window, Editor, and
25754 - bpo-30617: IDLE - Add docstrings and tests for outwin subclass of editor.
25758 - bpo-31287: IDLE - Do not modify tkinter.message in test_configdialog.
25760 - bpo-27099: Convert IDLE's built-in 'extensions' to regular features. About
25766 the keyset. All bindings are defined together in the system-specific
25767 default keysets in config-extensions.def. All custom keysets are saved as
25768 a whole in config-extension.cfg. All take effect as soon as one clicks
25769 Apply or Ok. The affected events are '<<force-open-completions>>',
25770 '<<expand-word>>', '<<force-open-calltip>>', '<<flash-paren>>',
25771 '<<format-paragraph>>', '<<run-module>>', '<<check-module>>', and
25772 '<<zoom-height>>'. Any (global) customizations made before 3.6.3 will not
25773 affect their keyset-specific customization after 3.6.3. and vice versa.
25776 - bpo-31206: IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by
25779 - bpo-31001: Add tests for configdialog highlight tab. Patch by Cheryl
25782 - bpo-31205: IDLE: Factor KeysPage(Frame) class from ConfigDialog. The
25785 - bpo-31130: IDLE -- stop leaks in test_configdialog. Initial patch by
25788 - bpo-31002: Add tests for configdialog keys tab. Patch by Cheryl Sabella.
25790 - bpo-19903: IDLE: Calltips use `inspect.signature` instead of
25794 - bpo-31083: IDLE - Add an outline of a TabPage class in configdialog.
25797 - bpo-31050: Factor GenPage(Frame) class from ConfigDialog. The slightly
25800 - bpo-31004: IDLE - Factor FontPage(Frame) class from ConfigDialog. Slightly
25804 - bpo-30781: IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan
25807 - bpo-31060: IDLE - Finish rearranging methods of ConfigDialog Grouping
25811 - bpo-30853: IDLE -- Factor a VarTrace class out of ConfigDialog. Instance
25816 - bpo-31003: IDLE: Add more tests for General tab.
25818 - bpo-30993: IDLE - Improve configdialog font page and tests. In
25829 - bpo-30981: IDLE -- Add more configdialog font page tests.
25831 - bpo-28523: IDLE: replace 'colour' with 'color' in configdialog.
25833 - bpo-30917: Add tests for idlelib.config.IdleConf. Increase coverage from
25836 - bpo-30934: Document coverage details for idlelib tests. Add section to
25837 idlelib/idle-test/README.txt. Include check that branches are taken both
25838 ways. Exclude IDLE-specific code that does not run during unit tests.
25840 - bpo-30913: IDLE: Document ConfigDialog tk Vars, methods, and widgets in
25844 - bpo-30899: IDLE: Add tests for ConfigParser subclasses in config. Patch by
25847 - bpo-30881: IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.
25849 - bpo-30851: IDLE: Remove unused variables in configdialog. One is a
25853 - bpo-30870: IDLE: In Settings dialog, select font with Up, Down keys as
25856 - bpo-8231: IDLE: call config.IdleConf.GetUserCfgDir only once.
25858 - bpo-30779: IDLE: Factor ConfigChanges class from configdialog, put in
25868 - bpo-30777: IDLE: configdialog - Add docstrings and fix comments. Patch by
25871 - bpo-30495: IDLE: Improve textview with docstrings, PEP8 names, and more
25874 - bpo-30723: IDLE: Make several improvements to parenmatch. Add 'parens'
25876 not default, a synonym for 'opener'. Make time-delay work the same with
25880 - bpo-30674: IDLE: add docstrings to grep module. Patch by Cheryl Sabella
25882 - bpo-21519: IDLE's basic custom key entry dialog now detects duplicates
25885 - bpo-29910: IDLE no longer deletes a character after commenting out a
25889 - bpo-30728: Review and change idlelib.configdialog names. Lowercase method
25894 - bpo-6739: IDLE: Verify user-entered key sequences by trying to bind them
25898 - bpo-15786: Fix several problems with IDLE's autocompletion box. The
25903 - bpo-25514: Add doc subsubsection about IDLE failure to start. Popup
25904 no-connection message directs users to this section.
25906 - bpo-30642: Fix reference leaks in IDLE tests. Patches by Louie Lu and
25909 - bpo-30495: Add docstrings for textview.py and use PEP8 names. Patches by
25912 - bpo-30290: Help-about: use pep8 names and add tests. Increase coverage to
25915 - bpo-30303: Add _utest option to textview; add new tests. Increase coverage
25918 - bpo-29071: IDLE colors f-string prefixes (but not invalid ur prefixes).
25920 - bpo-28572: Add 10% to coverage of IDLE's test_configdialog. Update and
25924 -----------
25926 - bpo-30983: gdb integration commands (py-bt, etc.) work on optimized shared
25928 inlines PyEval_EvalFrameEx on non-debug shared builds. This broke the
25929 ability to use py-bt, py-up, and a few other Python-specific gdb
25931 _PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by Bruno
25934 - bpo-29748: Added the slice index converter in Argument Clinic.
25936 - bpo-24037: Argument Clinic now uses the converter `bool(accept={int})`
25941 - bpo-29367: python-gdb.py now supports also ``method-wrapper``
25944 - bpo-28023: Fix python-gdb.py didn't support new dict implementation.
25946 - bpo-15369: The pybench and pystone microbenchmark have been removed from
25951 - bpo-28102: The zipfile module CLI now prints usage to stderr. Patch by
25955 -----
25957 - bpo-31338: Added the ``Py_UNREACHABLE()`` macro for code paths which are
25961 - bpo-30832: Remove own implementation for thread-local storage. CPython has
25962 provided the own implementation for thread-local storage (TLS) on
25968 - bpo-30708: PyUnicode_AsWideCharString() now raises a ValueError if the
25971 - bpo-16500: Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(),
25974 - bpo-6532: The type of results of PyThread_start_new_thread() and
25978 - bpo-27867: Function PySlice_GetIndicesEx() is deprecated and replaced with
25983 - bpo-29083: Fixed the declaration of some public API functions.
25989 - bpo-28769: The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8()
25992 - bpo-29058: All stable API extensions added after Python 3.2 are now
25996 - bpo-28822: The index parameters *start* and *end* of PyUnicode_FindChar()
25999 - bpo-28808: PyUnicode_CompareWithASCIIString() now never raises exceptions.
26001 - bpo-28761: The fields name and doc of structures PyMemberDef, PyGetSetDef,
26005 - bpo-28748: Private variable _Py_PackageContext is now of type ``const char
26008 - bpo-19569: Compiler warnings are now emitted if use most of deprecated
26011 - bpo-28426: Deprecated undocumented functions PyUnicode_AsEncodedObject(),
26019 *Release date: 2018-06-27*
26028 *Release date: 2018-06-11*
26031 -----------------
26033 - bpo-33786: Fix asynchronous generators to handle GeneratorExit in athrow()
26036 - bpo-30654: Fixed reset of the SIGINT handler to SIG_DFL on interpreter
26040 - bpo-33622: Fixed a leak when the garbage collector fails to add an object
26045 - bpo-31849: Fix signed/unsigned comparison warning in pyhash.c.
26047 - bpo-33391: Fix a leak in set_symmetric_difference().
26049 - bpo-28055: Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer.
26051 - bpo-33231: Fix potential memory leak in ``normalizestring()``.
26053 - bpo-29922: Improved error messages in 'async with' when ``__aenter__()``
26054 or ``__aexit__()`` return non-awaitable object.
26056 - bpo-33199: Fix ``ma_version_tag`` in dict implementation is uninitialized
26057 when copying from key-sharing dict.
26059 - bpo-33041: Fixed jumping when the function contains an ``async for`` loop.
26061 - bpo-32282: Fix an unnecessary ifdef in the include of VersionHelpers.h in
26064 - bpo-21983: Fix a crash in `ctypes.cast()` in case the type argument is a
26068 -------
26070 - bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. Patch by
26073 - bpo-33812: Datetime instance d with non-None tzinfo, but with
26077 - bpo-30805: Avoid race condition with debug logging
26079 - bpo-33767: The concatenation (``+``) and repetition (``*``) sequence
26083 - bpo-32684: Fix gather to propagate cancellation of itself even with
26086 - bpo-33674: Fix a race condition in SSLProtocol.connection_made() of
26091 - bpo-31647: Fixed bug where calling write_eof() on a
26094 - bpo-33672: Fix Task.__repr__ crash with Cython's bogus coroutines
26096 - bpo-33469: Fix RuntimeError after closing loop that used run_in_executor
26098 - bpo-11874: Use a better regex when breaking usage into wrappable parts.
26101 - bpo-30877: Fixed a bug in the Python implementation of the JSON decoder
26103 the decoding. Based on patch by c-fos.
26105 - bpo-33548: tempfile._candidate_tempdir_list should consider common TEMP
26108 - bpo-33542: Prevent ``uuid.get_node`` from using a DUID instead of a MAC on
26111 - bpo-26819: Fix race condition with `ReadTransport.resume_reading` in
26114 - bpo-28556: Minor fixes in typing module: add annotations to
26118 - bpo-20087: Updated alias mapping with glibc 2.27 supported locales.
26120 - bpo-33422: Fix trailing quotation marks getting deleted when looking up
26123 - bpo-33197: Update error message when constructing invalid
26124 inspect.Parameters Patch by Dong-hee Na.
26126 - bpo-33383: Fixed crash in the get() method of the :mod:`dbm.ndbm` database
26129 - bpo-33329: Fix multiprocessing regression on newer glibcs
26131 - bpo-991266: Fix quoting of the ``Comment`` attribute of
26134 - bpo-33131: Upgrade bundled version of pip to 10.0.1.
26136 - bpo-33308: Fixed a crash in the :mod:`parser` module when converting an ST
26140 - bpo-33263: Fix FD leak in `_SelectorSocketTransport` Patch by Vlad
26143 - bpo-33256: Fix display of ``<module>`` call in the html produced by
26146 - bpo-33203: ``random.Random.choice()`` now raises ``IndexError`` for empty
26150 - bpo-33224: Update difflib.mdiff() for :pep:`479`. Convert an uncaught
26151 StopIteration in a generator into a return-statement.
26153 - bpo-33209: End framing at the end of C implementation of
26156 - bpo-32861: The urllib.robotparser's ``__str__`` representation now
26157 includes wildcard entries and the "Crawl-delay" and "Request-rate" fields.
26160 - bpo-33096: Allow ttk.Treeview.insert to insert iid that has a false
26164 - bpo-33127: The ssl module now compiles with LibreSSL 2.7.1.
26166 - bpo-33021: Release the GIL during fstat() calls, avoiding hang of all
26170 - bpo-27683: Fix a regression in :mod:`ipaddress` that result of
26174 - bpo-32844: Fix wrong redirection of a low descriptor (0 or 1) to stderr in
26177 - bpo-31908: Fix output of cover files for ``trace`` module command-line
26178 tool. Previously emitted cover files only when ``--missing`` option was
26181 - bpo-31457: If nested log adapters are used, the inner ``process()``
26184 - bpo-16865: Support arrays >=2GiB in :mod:`ctypes`. Patch by Segev Finer.
26186 - bpo-31238: pydoc: the stop() method of the private ServerThread class now
26191 -------------
26193 - bpo-33503: Fix broken pypi link
26195 - bpo-33421: Add missing documentation for ``typing.AsyncContextManager``.
26197 - bpo-33378: Add Korean language switcher for https://docs.python.org/3/
26199 - bpo-33276: Clarify that the ``__path__`` attribute on modules cannot be
26202 - bpo-33201: Modernize documentation for writing C extension types.
26204 - bpo-33195: Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document.
26208 - bpo-33126: Document PyBuffer_ToContiguous().
26210 - bpo-27212: Modify documentation for the :func:`islice` recipe to consume
26213 - bpo-28247: Update :mod:`zipapp` documentation to describe how to make
26216 - bpo-18802: Documentation changes for ipaddress. Patch by Jon Foster and
26219 - bpo-27428: Update documentation to clarify that ``WindowsRegistryFinder``
26222 - bpo-8243: Add a note about curses.addch and curses.addstr exception
26225 - bpo-31432: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED
26229 -----
26231 - bpo-33655: Ignore test_posix_fallocate failures on BSD platforms that
26234 - bpo-19417: Add test_bdb.py.
26237 -----
26239 - bpo-5755: Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from
26243 - bpo-33614: Ensures module definition files for the stable ABI on Windows
26246 - bpo-33522: Enable CI builds on Visual Studio Team Services at
26249 - bpo-33012: Add ``-Wno-cast-function-type`` for gcc 8 for silencing
26253 - bpo-33394: Enable the verbose build for extension modules, when GNU make
26257 -------
26259 - bpo-33184: Update Windows installer to OpenSSL 1.0.2o.
26262 -----
26264 - bpo-33184: Update macOS installer build to use OpenSSL 1.0.2o.
26267 ----
26269 - bpo-33656: On Windows, add API call saying that tk scales for DPI. On
26274 - bpo-33768: Clicking on a context line moves that line to the top of the
26277 - bpo-33763: IDLE: Use read-only text widget for code context instead of
26280 - bpo-33664: Scroll IDLE editor text by lines. Previously, the mouse wheel
26283 the shell and grep output windows, but not to read-only text views.
26285 - bpo-33679: Enable theme-specific color configuration for Code Context. Use
26286 the Highlights tab to see the setting for built-in themes or add settings
26289 - bpo-33642: Display up to maxlines non-blank lines for Code Context. If
26292 - bpo-33628: IDLE: Cleanup codecontext.py and its test.
26294 - bpo-33564: IDLE's code context now recognizes async as a block opener.
26296 - bpo-29706: IDLE now colors async and await as keywords in 3.6. They become
26299 - bpo-21474: Update word/identifier definition from ascii to unicode. In
26300 text and entry boxes, this affects selection by double-click, movement
26301 left/right by control-left/right, and deletion left/right by
26302 control-BACKSPACE/DEL.
26304 - bpo-33204: IDLE: consistently color invalid string prefixes. A 'u' string
26309 - bpo-32831: Add docstrings and tests for codecontext.
26312 -----------
26314 - bpo-33189: :program:`pygettext.py` now recognizes only literal strings as
26316 f-string expressions.
26318 - bpo-31920: Fixed handling directories as arguments in the ``pygettext``
26321 - bpo-29673: Fix pystackv and pystack gdbinit macros.
26323 - bpo-32885: Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to disable
26326 - bpo-31583: Fix 2to3 for using with --add-suffix option but without
26327 --output-dir option for relative path to files in current directory.
26330 -----
26332 - bpo-32374: Document that m_traverse for multi-phase initialized modules
26339 *Release date: 2018-03-28*
26342 -----
26344 - bpo-32872: Avoid regrtest compatibility issue with namespace packages.
26347 -----
26349 - bpo-33163: Upgrade pip to 9.0.3 and setuptools to v39.0.1.
26355 *Release date: 2018-03-13*
26358 --------
26360 - bpo-33001: Minimal fix to prevent buffer overrun in os.symlink on Windows
26362 - bpo-32981: Regexes in difflib and poplib were vulnerable to catastrophic
26364 have been refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch
26368 -----------------
26370 - bpo-33026: Fixed jumping out of "with" block by setting f_lineno.
26372 - bpo-17288: Prevent jumps from 'return' and 'exception' trace events.
26374 - bpo-32889: Update Valgrind suppression list to account for the rename of
26377 - bpo-32650: Pdb and other debuggers dependent on bdb.py will correctly step
26380 - bpo-32685: Improve suggestion when the Python 2 form of print statement is
26382 else terminated by a semi-colon instead of a newline. Patch by Nitish
26385 - bpo-32583: Fix possible crashing in builtin Unicode decoders caused by
26386 write out-of-bound errors when using customized decode error handlers.
26388 - bpo-26163: Improved frozenset() hash to create more distinct hash values
26391 - bpo-27169: The ``__debug__`` constant is now optimized out at compile
26392 time. This fixes also bpo-22091.
26394 - bpo-32329: ``sys.flags.hash_randomization`` is now properly set to 0 when
26397 - bpo-30416: The optimizer is now protected from spending much time doing
26401 - bpo-18533: ``repr()`` on a dict containing its own ``values()`` or
26406 - bpo-32028: Leading whitespace is now correctly ignored when generating
26410 - bpo-32137: The repr of deeply nested dict now raises a RecursionError
26414 -------
26416 - bpo-33064: lib2to3 now properly supports trailing commas after ``*args``
26419 - bpo-31804: Avoid failing in multiprocessing.Process if the standard
26422 - bpo-33037: Skip sending/receiving data after SSL transport closing.
26424 - bpo-30353: Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW.
26426 - bpo-33009: Fix inspect.signature() for single-parameter partialmethods.
26428 - bpo-32969: Expose several missing constants in zlib and fix corresponding
26431 - bpo-32713: Fixed tarfile.itn handling of out-of-bounds float values. Patch
26434 - bpo-30622: The ssl module now detects missing NPN support in LibreSSL.
26436 - bpo-32922: dbm.open() now encodes filename with the filesystem encoding
26439 - bpo-32859: In ``os.dup2``, don't check every call whether the ``dup3``
26442 - bpo-21060: Rewrite confusing message from setup.py upload from "No dist
26446 - bpo-32857: In :mod:`tkinter`, ``after_cancel(None)`` now raises a
26450 - bpo-32852: Make sure sys.argv remains as a list when running trace.
26452 - bpo-32841: Fixed `asyncio.Condition` issue which silently ignored
26456 - bpo-31787: Fixed refleaks of ``__init__()`` methods in various modules.
26459 - bpo-30157: Fixed guessing quote and delimiter in csv.Sniffer.sniff() when
26462 - bpo-32394: socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version
26463 Windows during run-time.
26465 - bpo-32777: Fix a rare but potential pre-exec child process deadlock in
26470 - bpo-32647: The ctypes module used to depend on indirect linking for
26474 - bpo-32734: Fixed ``asyncio.Lock()`` safety issue which allowed acquiring
26478 - bpo-32727: Do not include name field in SMTP envelope from address. Patch
26481 - bpo-27931: Fix email address header parsing error when the username is an
26484 - bpo-32304: distutils' upload command no longer corrupts tar files ending
26488 - bpo-32502: uuid.uuid1 no longer raises an exception if a 64-bit hardware
26491 - bpo-31848: Fix the error handling in Aifc_read.initfp() when the SSND
26494 - bpo-32555: On FreeBSD and Solaris, os.strerror() now always decode the
26498 - bpo-32521: The nis module is now compatible with new libnsl and headers
26501 - bpo-32473: Improve ABCMeta._dump_registry() output readability
26503 - bpo-32521: glibc has removed Sun RPC. Use replacement libtirpc headers and
26506 - bpo-32228: Ensure that ``truncate()`` preserves the file position (as
26509 - bpo-26133: Don't unsubscribe signals in asyncio UNIX event loop on
26512 - bpo-32185: The SSL module no longer sends IP addresses in SNI TLS
26515 - bpo-32323: :func:`urllib.parse.urlsplit()` does not convert zone-id
26518 - bpo-32302: Fix bdist_wininst of distutils for CRT v142: it binary
26521 - bpo-32255: A single empty field is now always quoted when written into a
26525 - bpo-32277: Raise ``NotImplementedError`` instead of ``SystemError`` on
26529 - bpo-32199: The getnode() ip getter now uses 'ip link' instead of 'ip link
26532 - bpo-27456: Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.
26534 - bpo-31900: The :func:`locale.localeconv` function now sets temporarily the
26536 ``decimal_point`` and ``thousands_sep`` byte strings if they are non-ASCII
26543 - bpo-31802: Importing native path module (``posixpath``, ``ntpath``) now
26547 -------------
26549 - bpo-17232: Clarify docs for -O and -OO. Patch by Terry Reedy.
26551 - bpo-32800: Update link to w3c doc for xml default namespaces.
26553 - bpo-8722: Document :meth:`__getattr__` behavior when property :meth:`get`
26556 - bpo-32614: Modify RE examples in documentation to use raw strings to
26560 - bpo-31972: Improve docstrings for `pathlib.PurePath` subclasses.
26562 - bpo-17799: Explain real behaviour of sys.settrace and sys.setprofile and
26563 their C-API counterparts regarding which type of events are received in
26567 -----
26569 - bpo-32517: Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport
26572 - bpo-32721: Fix test_hashlib to not fail if the _md5 module is not built.
26574 - bpo-32252: Fix faulthandler_suppress_crash_report() used to prevent core
26575 dump files when testing crashes. getrlimit() returns zero on success.
26577 - bpo-31518: Debian Unstable has disabled TLS 1.0 and 1.1 for
26579 PROTOCOL_TLSv1_2 to make them pass on Debian.
26582 -----
26584 - bpo-32635: Fix segfault of the crypt module when libxcrypt is provided
26588 -------
26590 - bpo-33016: Fix potential use of uninitialized memory in
26593 - bpo-32903: Fix a memory leak in os.chdir() on Windows if the current
26596 - bpo-31966: Fixed WindowsConsoleIO.write() for writing empty data.
26598 - bpo-32409: Ensures activate.bat can handle Unicode contents.
26600 - bpo-32457: Improves handling of denormalized executable path when
26603 - bpo-32370: Use the correct encoding for ipconfig output in the uuid
26606 - bpo-29248: Fix :func:`os.readlink` on Windows, which was mistakenly
26610 - bpo-32588: Create standalone _distutils_findvs module.
26613 -----
26615 - bpo-32726: Provide an additional, more modern macOS installer variant that
26616 supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied
26617 third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The
26621 ----
26623 - bpo-32984: Set ``__file__`` while running a startup file. Like Python,
26625 presenting the first interactive input prompt. For IDLE, ``-s`` runs a
26627 :envvar:`PYTHONSTARTUP`; ``-r file`` runs ``file``. Python sets
26630 without the ``-n`` option.
26632 - bpo-32940: Simplify and rename StringTranslatePseudoMapping in pyparse.
26634 - bpo-32916: Change ``str`` to ``code`` in pyparse.
26636 - bpo-32905: Remove unused code in pyparse module.
26638 - bpo-32874: Add tests for pyparse.
26640 - bpo-32837: Using the system and place-dependent default encoding for
26641 open() is a bad idea for IDLE's system and location-independent files.
26643 - bpo-32826: Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI
26644 test test_file_buttons() only looks at initial ascii-only lines, but
26646 internally reads and decodes far enough ahead to encounter a non-ascii
26649 - bpo-32765: Update configdialog General tab docstring to add new widgets to
26653 -----------
26655 - bpo-24960: 2to3 and lib2to3 can now read pickled grammar files using
26659 - bpo-32222: Fix pygettext not extracting docstrings for functions with type
26663 -----
26665 - bpo-29084: Undocumented C API for OrderedDict has been excluded from the
26673 *Release date: 2017-12-18*
26682 *Release date: 2017-12-05*
26685 -----------------
26687 - bpo-32176: co_flags.CO_NOFREE is now always set correctly by the code
26693 - bpo-31949: Fixed several issues in printing tracebacks
26701 - bpo-30696: Fix the interactive interpreter looping endlessly when no
26704 - bpo-20047: Bytearray methods partition() and rpartition() now accept only
26705 bytes-like objects as separator, as documented. In particular they now
26709 - bpo-31852: Fix a segmentation fault caused by a combination of the async
26712 - bpo-21720: BytesWarning no longer emitted when the *fromlist* argument of
26716 - bpo-31825: Fixed OverflowError in the 'unicode-escape' codec and in
26717 codecs.escape_decode() when decode an escaped non-ascii byte.
26719 - bpo-28603: Print the full context/cause chain of exceptions on interpreter
26723 - bpo-31786: Fix timeout rounding in the select module to round correctly
26724 negative timeouts between -1.0 and 0.0. The functions now block waiting
26725 for events as expected. Previously, the call was incorrectly non-blocking.
26728 - bpo-31642: Restored blocking "from package import module" by setting
26731 - bpo-31626: Fixed a bug in debug memory allocator. There was a write to
26734 - bpo-31619: Fixed a ValueError when convert a string with large number of
26737 - bpo-31592: Fixed an assertion failure in Python parser in case of a bad
26740 - bpo-31588: Raise a `TypeError` with a helpful error message when class
26744 - bpo-31566: Fix an assertion failure in `_warnings.warn()` in case of a bad
26747 - bpo-31505: Fix an assertion failure in `json`, in case
26751 - bpo-31492: Fix assertion failures in case of failing to import from a
26755 - bpo-31490: Fix an assertion failure in `ctypes` class definition, in case
26759 - bpo-31478: Fix an assertion failure in `_random.Random.seed()` in case the
26762 - bpo-31315: Fix an assertion failure in imp.create_dynamic(), when
26765 - bpo-31311: Fix a crash in the ``__setstate__()`` method of
26768 - bpo-31293: Fix crashes in true division and multiplication of a timedelta
26772 - bpo-31285: Fix an assertion failure in `warnings.warn_explicit`, when the
26776 - bpo-30817: `PyErr_PrintEx()` clears now the ignored exception that may be
26780 -------
26782 - bpo-28556: Two minor fixes for ``typing`` module: allow shallow copying
26786 - bpo-27240: The header folding algorithm for the new email policies has
26787 been rewritten, which also fixes bpo-30788, bpo-31831, and bpo-32182. In
26790 - bpo-32186: io.FileIO.readall() and io.FileIO.read() now release the GIL
26794 - bpo-12239: Make :meth:`msilib.SummaryInformation.GetProperty` return
26798 - bpo-31325: Fix wrong usage of :func:`collections.namedtuple` in the
26802 - bpo-12382: :func:`msilib.OpenDatabase` now raises a better exception
26806 - bpo-32110: ``codecs.StreamReader.read(n)`` now returns not more than *n*
26807 characters/bytes for non-negative *n*. This makes it compatible with
26808 ``read()`` methods of other file-like objects.
26810 - bpo-32072: Fixed issues with binary plists: Fixed saving bytearrays.
26815 - bpo-32034: Make asyncio.IncompleteReadError and LimitOverrunError
26818 - bpo-32015: Fixed the looping of asyncio in the case of reconnection the
26821 - bpo-32011: Restored support of loading marshal files with the TYPE_INT64
26824 - bpo-31970: Reduce performance overhead of asyncio debug mode.
26826 - bpo-9678: Fixed determining the MAC address in the uuid module: Using
26830 - bpo-30057: Fix potential missed signal in signal.signal().
26832 - bpo-31933: Fix Blake2 params leaf_size and node_offset on big endian
26835 - bpo-31927: Fixed compilation of the socket module on NetBSD 8. Fixed
26839 - bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse()
26844 - bpo-31897: plistlib now catches more errors when read binary plists and
26847 - bpo-25720: Fix the method for checking pad state of curses WINDOW. Patch
26850 - bpo-31893: Fixed the layout of the kqueue_event structure on OpenBSD and
26853 - bpo-31891: Fixed building the curses module on NetBSD.
26855 - bpo-28416: Instances of pickle.Pickler subclass with the persistent_id()
26859 - bpo-28326: Fix multiprocessing.Process when stdout and/or stderr is closed
26862 - bpo-31457: If nested log adapters are used, the inner ``process()``
26865 - bpo-31457: The ``manager`` property on LoggerAdapter objects is now
26868 - bpo-31806: Fix timeout rounding in time.sleep(), threading.Lock.acquire()
26870 between -1.0 and 0.0. The functions now block waiting for events as
26871 expected. Previously, the call was incorrectly non-blocking. Patch by
26874 - bpo-28603: traceback: Fix a TypeError that occurred during printing of
26878 - bpo-30058: Fixed buffer overflow in select.kqueue.control().
26880 - bpo-31770: Prevent a crash when calling the ``__init__()`` method of a
26883 - bpo-31672: ``idpattern`` in ``string.Template`` matched some non-ASCII
26884 characters. Now it uses ``-i`` regular expression local flag to avoid
26885 non-ASCII characters.
26887 - bpo-31764: Prevent a crash in ``sqlite3.Cursor.close()`` in case the
26890 - bpo-31752: Fix possible crash in timedelta constructor called with custom
26893 - bpo-31701: On Windows, faulthandler.enable() now ignores MSC and COM
26896 - bpo-31728: Prevent crashes in `_elementtree` due to unsafe cleanup of
26899 - bpo-31620: an empty asyncio.Queue now doesn't leak memory when queue.get
26902 - bpo-31632: Fix method set_protocol() of class _SSLProtocolTransport in
26906 - bpo-31675: Fixed memory leaks in Tkinter's methods splitlist() and split()
26909 - bpo-31673: Fixed typo in the name of Tkinter's method adderrorinfo().
26911 - bpo-30806: Fix the string representation of a netrc object.
26913 - bpo-15037: Added a workaround for getkey() in curses for ncurses 5.7 and
26916 - bpo-25351: Avoid venv activate failures with undefined variables
26918 - bpo-25532: inspect.unwrap() will now only try to unwrap an object
26922 - bpo-30347: Stop crashes when concurrently iterate over itertools.groupby()
26925 - bpo-31516: ``threading.current_thread()`` should not return a dummy thread
26928 - bpo-31351: python -m ensurepip now exits with non-zero exit code if pip
26931 - bpo-31482: ``random.seed()`` now works with bytes in version=1
26933 - bpo-31334: Fix ``poll.poll([timeout])`` in the ``select`` module for
26935 non-negative integer or -1. Patch by Riccardo Coccioli.
26937 - bpo-31310: multiprocessing's semaphore tracker should be launched again if
26940 - bpo-31308: Make multiprocessing's forkserver process immune to Ctrl-C and
26944 -------------
26946 - bpo-32105: Added asyncio.BaseEventLoop.connect_accepted_socket
26949 - bpo-31537: Fix incorrect usage of ``get_history_length`` in readline
26952 - bpo-30085: The operator functions without double underscores are preferred
26954 back-compatibility.
26957 -----
26959 - bpo-31380: Skip test_httpservers test_undecodable_file on macOS: fails on
26962 - bpo-31705: Skip test_socket.test_sha256() on Linux kernel older than 4.5.
26966 - bpo-31174: Fix test_tools.test_unparse: DirectoryTestCase now stores the
26970 - bpo-30695: Add the `set_nomemory(start, stop)` and `remove_mem_hooks()`
26974 -----
26976 - bpo-32059: ``detect_modules()`` in ``setup.py`` now also searches the
26977 sysroot paths when cross-compiling.
26979 - bpo-31957: Fixes Windows SDK version detection when building for Windows.
26981 - bpo-31609: Fixes quotes in PCbuild/clean.bat
26983 - bpo-31934: Abort the build when building out of a not clean source tree.
26985 - bpo-31926: Fixed Argument Clinic sometimes causing compilation errors when
26989 - bpo-28791: Update Windows builds to use SQLite 3.21.0.
26991 - bpo-28791: Update OS X installer to use SQLite 3.21.0.
26993 - bpo-22140: Prevent double substitution of prefix in python-config.sh.
26995 - bpo-31536: Avoid wholesale rebuild after `make regen-all` if nothing
26999 -------
27001 - bpo-1102: Return ``None`` when ``View.Fetch()`` returns
27005 - bpo-31944: Fixes Modify button in Apps and Features dialog.
27008 -----
27010 - bpo-31392: Update macOS installer to use OpenSSL 1.0.2m
27013 ----
27015 - bpo-32207: Improve tk event exception tracebacks in IDLE. When tk event
27021 - bpo-32164: Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet
27024 - bpo-32100: IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch
27027 - bpo-31858: IDLE -- Restrict shell prompt manipulation to the shell. Editor
27030 present, is read on Shell start-up, but is not set or changed.
27032 - bpo-31860: The font sample in the IDLE configuration dialog is now
27035 - bpo-31836: Test_code_module now passes if run after test_idle, which sets
27039 - bpo-28603: Fix a TypeError that caused a shell restart when printing a
27043 - bpo-13802: Use non-Latin characters in the IDLE's Font settings sample.
27046 character. The expanded example give users of non-Latin characters a
27048 room for the expanded sample, frames on the Font tab are re-arranged. The
27051 - bpo-31460: Simplify the API of IDLE's Module Browser. Passing a widget
27057 - bpo-31649: IDLE - Make _htest, _utest parameters keyword only.
27059 - bpo-31559: Remove test order dependence in idle_test.test_browser.
27061 - bpo-31459: Rename IDLE's module browser from Class Browser to Module
27062 Browser. The original module-level class and method browser became a
27063 module browser, with the addition of module-level functions, years ago.
27065 back-compatibility, the virtual event <<open-class-browser>>, which
27069 - bpo-31500: Default fonts now are scaled on HiDPI displays.
27071 - bpo-1612262: IDLE module browser now shows nested classes and functions.
27076 -----------
27078 - bpo-30722: Make redemo work with Python 3.6 and newer versions. Also,
27083 -----
27085 - bpo-20891: Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in
27086 a non-Python thread before PyEval_InitThreads(), only call
27089 - bpo-31532: Fix memory corruption due to allocator mix in getpath.c between
27092 - bpo-30697: The `PyExc_RecursionErrorInst` singleton is removed and
27101 *Release date: 2017-10-03*
27104 -------
27106 - bpo-31641: Re-allow arbitrary iterables in
27110 -----
27112 - bpo-31662: Fix typos in Windows ``uploadrelease.bat`` script. Fix Windows
27115 - bpo-31423: Fix building the PDF documentation with newer versions of
27122 *Release date: 2017-09-18*
27125 --------
27127 - bpo-29781: SSLObject.version() now correctly returns None when handshake
27130 - bpo-30947: Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to
27134 -----------------
27136 - bpo-31471: Fix an assertion failure in `subprocess.Popen()` on Windows, in
27139 - bpo-31418: Fix an assertion failure in `PyErr_WriteUnraisable()` in case
27142 - bpo-31416: Fix assertion failures in case of a bad warnings.filters or
27145 - bpo-31411: Raise a TypeError instead of SystemError in case
27148 - bpo-31373: Fix several possible instances of undefined behavior due to
27149 floating-point demotions.
27151 - bpo-30465: Location information (``lineno`` and ``col_offset``) in
27152 f-strings is now (mostly) correct. This fixes tools like flake8 from
27155 - bpo-31343: Include sys/sysmacros.h for major(), minor(), and makedev().
27158 - bpo-31291: Fix an assertion failure in `zipimport.zipimporter.get_data` on
27162 - bpo-31271: Fix an assertion failure in the write() method of
27166 - bpo-31243: Fix a crash in some methods of `io.TextIOWrapper`, when the
27169 - bpo-30721: ``print`` now shows correct usage hint for using Python 2
27172 - bpo-31070: Fix a race condition in importlib _get_module_lock().
27174 - bpo-31095: Fix potential crash during GC caused by ``tp_dealloc`` which
27177 - bpo-31071: Avoid masking original TypeError in call with * unpacking when
27180 - bpo-30978: str.format_map() now passes key lookup exceptions through.
27183 - bpo-30808: Use _Py_atomic API for concurrency-sensitive signal state.
27185 - bpo-30876: Relative import from unloaded package now reimports the package
27186 instead of failing with SystemError. Relative import from non-package now
27189 - bpo-30703: Improve signal delivery. Avoid using Py_AddPendingCall from
27190 signal handler, to avoid calling signal-unsafe functions. The tests I'm
27194 - bpo-30765: Avoid blocking in pthread_mutex_lock() when
27197 - bpo-31161: Make sure the 'Missing parentheses' syntax error message is
27200 - bpo-30814: Fixed a race condition when import a submodule from a package.
27202 - bpo-30597: ``print`` now shows expected input in custom error message when
27206 -------
27208 - bpo-31499: xml.etree: Fix a crash when a parser is part of a reference
27211 - bpo-28556: typing.get_type_hints now finds the right globalns for classes
27214 - bpo-28556: Speed improvements to the ``typing`` module. Original PRs by
27217 - bpo-31544: The C accelerator module of ElementTree ignored exceptions
27220 - bpo-31234: socket.create_connection() now fixes manually a reference
27223 - bpo-31457: LoggerAdapter objects can now be nested.
27225 - bpo-31400: Improves SSL error handling to avoid losing error numbers.
27227 - bpo-28958: ssl.SSLContext() now uses OpenSSL error information when a
27230 - bpo-27340: SSLSocket.sendall() now uses memoryview to create slices of
27231 data. This fixes support for all bytes-like object. It is also more
27234 - bpo-31178: Fix string concatenation bug in rare error path in the
27237 - bpo-31350: Micro-optimize :func:`asyncio._get_running_loop` to become up
27240 - bpo-31170: expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of
27241 partial characters for UTF-8 input (libexpat bug 115):
27244 - bpo-29136: Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
27246 - bpo-29212: Fix concurrent.futures.thread.ThreadPoolExecutor threads to
27249 "ThreadPoolExecutor-y_n".
27251 - bpo-9146: Fix a segmentation fault in _hashopenssl when standard hash
27253 in some special FIPS-140 build environments.
27255 - bpo-27144: The ``map()`` and ``as_completed()`` iterators in
27258 - bpo-10746: Fix ctypes producing wrong :pep:`3118` type codes for integer
27261 - bpo-22536: The subprocess module now sets the filename when
27265 - bpo-31249: concurrent.futures: WorkItem.run() used by ThreadPoolExecutor
27269 - bpo-31247: xmlrpc.server now explicitly breaks reference cycles when using
27272 - bpo-30102: The ssl and hashlib modules now call
27277 - bpo-31185: Fixed miscellaneous errors in asyncio speedup module.
27279 - bpo-31135: ttk: fix the destroy() method of LabeledScale and OptionMenu
27285 - bpo-31107: Fix `copyreg._slotnames()` mangled attribute calculation for
27288 - bpo-31061: Fixed a crash when using asyncio and threads.
27290 - bpo-30502: Fix handling of long oids in ssl. Based on patch by Christian
27293 - bpo-30119: ftplib.FTP.putline() now throws ValueError on commands that
27294 contains CR or LF. Patch by Dong-hee Na.
27296 - bpo-30595: multiprocessing.Queue.get() with a timeout now polls its reader
27297 in non-blocking mode if it succeeded to acquire the lock but the acquire
27300 - bpo-29403: Fix ``unittest.mock``'s autospec to not fail on method-bound
27303 - bpo-30961: Fix decrementing a borrowed reference in tracemalloc.
27305 - bpo-25684: Change ``ttk.OptionMenu`` radiobuttons to be unique across
27308 - bpo-30886: Fix multiprocessing.Queue.join_thread(): it now waits until the
27312 - bpo-29854: Fix segfault in readline when using readline's history-size
27315 - bpo-30319: socket.close() now ignores ECONNRESET error.
27317 - bpo-30828: Fix out of bounds write in
27320 - bpo-30807: signal.setitimer() may disable the timer when passed a tiny
27321 value. Tiny values (such as 1e-6) are valid non-zero values for
27322 setitimer(), which is specified as taking microsecond-resolution
27324 1e-6 into a zero interval, therefore disabling the timer instead of
27325 (re-)scheduling it.
27327 - bpo-30441: Fix bug when modifying os.environ while iterating over it
27329 - bpo-30532: Fix email header value parser dropping folding white space in
27332 - bpo-30879: os.listdir() and os.scandir() now emit bytes names when called
27333 with bytes-like argument.
27335 - bpo-30746: Prohibited the '=' character in environment variable names in
27338 - bpo-29755: Fixed the lgettext() family of functions in the gettext module.
27342 -------------
27344 - bpo-31294: Fix incomplete code snippet in the ZeroMQSocketListener and
27347 - bpo-21649: Add RFC 7525 and Mozilla server side TLS links to SSL
27350 - bpo-30803: Clarify doc on truth value testing. Original patch by Peter
27354 -----
27356 - bpo-31320: Silence traceback in test_ssl
27358 - bpo-25674: Remove sha256.tbs-internet.com ssl test
27360 - bpo-30715: Address ALPN callback changes for OpenSSL 1.1.0f. The latest
27363 - bpo-30822: regrtest: Exclude tzdata from regrtest --all. When running the
27364 test suite using --use=all / -u all, exclude tzdata since it makes
27365 test_datetime too slow (15-20 min on some buildbots) which then times out
27367 -u extralargefile to run test_zipfile64.
27370 -----
27372 - bpo-30854: Fix compile error when compiling --without-threads. Patch by
27376 -------
27378 - bpo-30389: Adds detection of Visual Studio 2017 to distutils on Windows.
27380 - bpo-31340: Change to building with MSVC v141 (included with Visual Studio
27383 - bpo-30581: os.cpu_count() now returns the correct number of processors on
27386 - bpo-30731: Add a missing xmlns to python.manifest so that it matches the
27390 ----
27392 - bpo-31493: IDLE code context -- fix code update and font update timers.
27395 - bpo-31488: IDLE - Update non-key options in former extension classes. When
27400 - bpo-31477: IDLE - Improve rstrip entry in doc. Strip trailing whitespace
27403 - bpo-31480: IDLE - make tests pass with zzdummy extension disabled by
27406 - bpo-31421: Document how IDLE runs tkinter programs. IDLE calls tcl/tk
27410 - bpo-31414: IDLE -- fix tk entry box tests by deleting first. Adding to an
27414 - bpo-31051: Rearrange IDLE configdialog GenPage into Window, Editor, and
27417 - bpo-30617: IDLE - Add docstrings and tests for outwin subclass of editor.
27421 - bpo-31287: IDLE - Do not modify tkinter.message in test_configdialog.
27423 - bpo-27099: Convert IDLE's built-in 'extensions' to regular features. About
27429 the keyset. All bindings are defined together in the system-specific
27430 default keysets in config-extensions.def. All custom keysets are saved as
27431 a whole in config-extension.cfg. All take effect as soon as one clicks
27432 Apply or Ok. The affected events are '<<force-open-completions>>',
27433 '<<expand-word>>', '<<force-open-calltip>>', '<<flash-paren>>',
27434 '<<format-paragraph>>', '<<run-module>>', '<<check-module>>', and
27435 '<<zoom-height>>'. Any (global) customizations made before 3.6.3 will not
27436 affect their keyset-specific customization after 3.6.3. and vice versa.
27439 - bpo-31206: IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by
27442 - bpo-31001: Add tests for configdialog highlight tab. Patch by Cheryl
27445 - bpo-31205: IDLE: Factor KeysPage(Frame) class from ConfigDialog. The
27448 - bpo-31130: IDLE -- stop leaks in test_configdialog. Initial patch by
27451 - bpo-31002: Add tests for configdialog keys tab. Patch by Cheryl Sabella.
27453 - bpo-19903: IDLE: Calltips use `inspect.signature` instead of
27457 - bpo-31083: IDLE - Add an outline of a TabPage class in configdialog.
27460 - bpo-31050: Factor GenPage(Frame) class from ConfigDialog. The slightly
27463 - bpo-31004: IDLE - Factor FontPage(Frame) class from ConfigDialog. Slightly
27467 - bpo-30781: IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan
27470 - bpo-31060: IDLE - Finish rearranging methods of ConfigDialog Grouping
27474 - bpo-30853: IDLE -- Factor a VarTrace class out of ConfigDialog. Instance
27479 - bpo-31003: IDLE: Add more tests for General tab.
27481 - bpo-30993: IDLE - Improve configdialog font page and tests. In
27492 - bpo-30981: IDLE -- Add more configdialog font page tests.
27494 - bpo-28523: IDLE: replace 'colour' with 'color' in configdialog.
27496 - bpo-30917: Add tests for idlelib.config.IdleConf. Increase coverage from
27499 - bpo-30934: Document coverage details for idlelib tests. Add section to
27500 idlelib/idle-test/README.txt. Include check that branches are taken both
27501 ways. Exclude IDLE-specific code that does not run during unit tests.
27503 - bpo-30913: IDLE: Document ConfigDialog tk Vars, methods, and widgets in
27507 - bpo-30899: IDLE: Add tests for ConfigParser subclasses in config. Patch by
27510 - bpo-30881: IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.
27512 - bpo-30851: IDLE: Remove unused variables in configdialog. One is a
27516 - bpo-30870: IDLE: In Settings dialog, select font with Up, Down keys as
27519 - bpo-8231: IDLE: call config.IdleConf.GetUserCfgDir only once.
27521 - bpo-30779: IDLE: Factor ConfigChanges class from configdialog, put in
27531 - bpo-30777: IDLE: configdialog - Add docstrings and fix comments. Patch by
27534 - bpo-30495: IDLE: Improve textview with docstrings, PEP8 names, and more
27537 - bpo-30723: IDLE: Make several improvements to parenmatch. Add 'parens'
27539 not default, a synonym for 'opener'. Make time-delay work the same with
27543 - bpo-30674: IDLE: add docstrings to grep module. Patch by Cheryl Sabella
27545 - bpo-21519: IDLE's basic custom key entry dialog now detects duplicates
27548 - bpo-29910: IDLE no longer deletes a character after commenting out a
27552 - bpo-30728: Review and change idlelib.configdialog names. Lowercase method
27557 - bpo-6739: IDLE: Verify user-entered key sequences by trying to bind them
27562 -----------
27564 - bpo-30983: gdb integration commands (py-bt, etc.) work on optimized shared
27566 inlines PyEval_EvalFrameEx on non-debug shared builds. This broke the
27567 ability to use py-bt, py-up, and a few other Python-specific gdb
27569 _PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by Bruno
27576 *Release date: 2017-07-17*
27585 *Release date: 2017-07-07*
27588 --------
27590 - bpo-30730: Prevent environment variables injection in subprocess on
27594 - bpo-30694: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple
27595 security vulnerabilities including: CVE-2017-9233 (External entity
27596 infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix),
27597 CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to CVE-2016-0718) and
27598 CVE-2012-0876 (Counter hash flooding with SipHash). Note: the
27599 CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn't
27603 - bpo-30500: Fix urllib.parse.splithost() to correctly parse fragments. For
27612 *Release date: 2017-06-17*
27615 --------
27617 - bpo-29591: Update expat copy from 2.1.1 to 2.2.0 to get fixes of
27618 CVE-2016-0718 and CVE-2016-4472. See
27622 -----------------
27624 - bpo-30682: Removed a too-strict assertion that failed for certain
27625 f-strings, such as eval("f'\\\n'") and eval("f'\\\r'").
27627 - bpo-30604: Move co_extra_freefuncs to not be per-thread to avoid crashes
27629 - bpo-29104: Fixed parsing backslashes in f-strings.
27631 - bpo-27945: Fixed various segfaults with dict when input collections are
27635 - bpo-25794: Fixed type.__setattr__() and type.__delattr__() for
27636 non-interned attribute names. Based on patch by Eryk Sun.
27638 - bpo-30039: If a KeyboardInterrupt happens when the interpreter is in the
27642 - bpo-12414: sys.getsizeof() on a code object now returns the sizes which
27644 by Dong-hee Na.
27646 - bpo-29949: Fix memory usage regression of set and frozenset object.
27648 - bpo-29935: Fixed error messages in the index() method of tuple, list and
27651 - bpo-29859: Show correct error messages when any of the pthread_* calls in
27654 - bpo-28876: ``bool(range)`` works even if ``len(range)`` raises
27657 - bpo-29600: Fix wrapping coroutine return values in StopIteration.
27659 - bpo-28856: Fix an oversight that %b format for bytes should support
27662 - bpo-29714: Fix a regression that bytes format may fail when containing
27665 - bpo-29478: If max_line_length=None is specified while using the Compat32
27669 -------
27671 - bpo-30616: Functional API of enum allows to create empty enums. Patched by
27672 Dong-hee Na
27674 - bpo-30038: Fix race condition between signal delivery and wakeup file
27677 - bpo-23894: lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings.
27679 - bpo-23890: unittest.TestCase.assertRaises() now manually breaks a
27682 - bpo-30149: inspect.signature() now supports callables with
27683 variable-argument parameters wrapped with partialmethod. Patch by Dong-hee
27686 - bpo-30645: Fix path calculation in imp.load_package(), fixing it for cases
27690 - bpo-29931: Fixed comparison check for ipaddress.ip_interface objects.
27693 - bpo-30605: re.compile() no longer raises a BytesWarning when compiling a
27696 - bpo-24484: Avoid race condition in multiprocessing cleanup (#2159)
27698 - bpo-28994: The traceback no longer displayed for SystemExit raised in a
27701 - bpo-30508: Don't log exceptions if Task/Future "cancel()" method was
27704 - bpo-28556: Updates to typing module: Add generic AsyncContextManager, add
27708 - bpo-29870: Fix ssl sockets leaks when connection is aborted in asyncio/ssl
27711 - bpo-29743: Closing transport during handshake process leaks open socket.
27714 - bpo-27585: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
27717 - bpo-30418: On Windows, subprocess.Popen.communicate() now also ignore
27721 - bpo-29822: inspect.isabstract() now works during __init_subclass__. Patch
27724 - bpo-29581: ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract
27728 - bpo-30557: faulthandler now correctly filters and displays exception codes
27731 - bpo-30378: Fix the problem that logging.handlers.SysLogHandler cannot
27734 - bpo-29960: Preserve generator state when _random.Random.setstate() raises
27737 - bpo-30414: multiprocessing.Queue._feed background running thread do not
27740 - bpo-30003: Fix handling escape characters in HZ codec. Based on patch by
27743 - bpo-30301: Fix AttributeError when using SimpleQueue.empty() under *spawn*
27746 - bpo-30329: imaplib and poplib now catch the Windows socket WSAEINVAL error
27750 - bpo-30375: Warnings emitted when compile a regular expression now always
27754 - bpo-30048: Fixed ``Task.cancel()`` can be ignored when the task is running
27757 - bpo-30266: contextlib.AbstractContextManager now supports
27758 anti-registration by setting __enter__ = None or __exit__ = None,
27759 following the pattern introduced in bpo-25958. Patch by Jelle Zijlstra.
27761 - bpo-30298: Weaken the condition of deprecation warnings for inline
27767 - bpo-29990: Fix range checking in GB18030 decoder. Original patch by Ma
27770 - bpo-26293: Change resulted because of zipfile breakage. (See also:
27771 bpo-29094)
27773 - bpo-30243: Removed the __init__ methods of _json's scanner and encoder.
27777 - bpo-30185: Avoid KeyboardInterrupt tracebacks in forkserver helper process
27778 when Ctrl-C is received.
27780 - bpo-28556: Various updates to typing module: add typing.NoReturn type, use
27781 WrapperDescriptorType, minor bug-fixes. Original PRs by Jim
27782 Fasarakis-Hilliard and Ivan Levkivskyi.
27784 - bpo-30205: Fix getsockname() for unbound AF_UNIX sockets on Linux.
27786 - bpo-30070: Fixed leaks and crashes in errors handling in the parser
27789 - bpo-30061: Fixed crashes in IOBase methods __next__() and readlines() when
27790 readline() or __next__() respectively return non-sizeable object. Fixed
27794 - bpo-30017: Allowed calling the close() method of the zip entry writer
27798 - bpo-30068: _io._IOBase.readlines will check if it's closed first when hint
27801 - bpo-29694: Fixed race condition in pathlib mkdir with flags parents=True.
27804 - bpo-29692: Fixed arbitrary unchaining of RuntimeError exceptions in
27807 - bpo-29998: Pickling and copying ImportError now preserves name and path
27810 - bpo-29953: Fixed memory leaks in the replace() method of datetime and time
27813 - bpo-29942: Fix a crash in itertools.chain.from_iterable when encountering
27816 - bpo-27863: Fixed multiple crashes in ElementTree caused by race conditions
27819 - bpo-28699: Fixed a bug in pools in multiprocessing.pool that raising an
27823 - bpo-25803: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when
27826 - bpo-29861: Release references to tasks, their arguments and their results
27829 - bpo-29884: faulthandler: Restore the old sigaltstack during teardown.
27832 - bpo-25455: Fixed crashes in repr of recursive buffered file-like objects.
27834 - bpo-29800: Fix crashes in partial.__repr__ if the keys of partial.keywords
27837 - bpo-29742: get_extra_info() raises exception if get called on closed ssl
27840 - bpo-8256: Fixed possible failing or crashing input() if attributes
27844 - bpo-28298: Fix a bug that prevented array 'Q', 'L' and 'I' from accepting
27848 - bpo-28231: The zipfile module now accepts path-like objects for external
27851 - bpo-26915: index() and count() methods of collections.abc.Sequence now
27854 - bpo-29615: SimpleXMLRPCDispatcher no longer chains KeyError (or any other
27858 - bpo-30177: path.resolve(strict=False) no longer cuts the path after the
27862 ----
27864 - bpo-15786: Fix several problems with IDLE's autocompletion box. The
27869 - bpo-25514: Add doc subsubsection about IDLE failure to start. Popup
27870 no-connection message directs users to this section.
27872 - bpo-30642: Fix reference leaks in IDLE tests. Patches by Louie Lu and
27875 - bpo-30495: Add docstrings for textview.py and use PEP8 names. Patches by
27878 - bpo-30290: Help-about: use pep8 names and add tests. Increase coverage to
27881 - bpo-30303: Add _utest option to textview; add new tests. Increase coverage
27885 -----
27887 - bpo-27867: Function PySlice_GetIndicesEx() no longer replaced with a macro
27891 -----
27893 - bpo-29941: Add ``--with-assertions`` configure flag to explicitly enable C
27894 ``assert()`` checks. Defaults to off. ``--with-pydebug`` implies
27895 ``--with-assertions``.
27897 - bpo-28787: Fix out-of-tree builds of Python when configured with
27898 ``--with--dtrace``.
27900 - bpo-29243: Prevent unnecessary rebuilding of Python during ``make test``,
27902 ``--enable-optimizations``.
27904 - bpo-23404: Don't regenerate generated files based on file modification
27906 ``make regen-all``.
27908 - bpo-29643: Fix ``--enable-optimization`` didn't work.
27911 -------------
27913 - bpo-30176: Add missing attribute related constants in curses
27916 - bpo-30052: the link targets for :func:`bytes` and :func:`bytearray` are
27918 builtin function entries. Use :ref:`bytes <func-bytes>` and
27919 :ref:`bytearray <func-bytearray>` to reference the latter. In order to
27920 ensure this and future cross-reference updates are applied automatically,
27924 - bpo-26985: Add missing info of code object in inspect documentation.
27927 -----------
27929 - bpo-29367: python-gdb.py now supports also ``method-wrapper``
27933 -----
27935 - bpo-30357: test_thread: setUp() now uses support.threading_setup() and
27940 - bpo-30197: Enhanced functions swap_attr() and swap_item() in the
27947 -------
27949 - bpo-30687: Locate msbuild.exe on Windows when building rather than
27952 - bpo-30450: The build process on Windows no longer depends on Subversion,
27954 3.6 is not found on the system (via ``py -3.6``), NuGet is used to
27955 download a copy of 32-bit Python.
27961 *Release date: 2017-03-21*
27964 -----------------
27966 - bpo-29723: The ``sys.path[0]`` initialization change for bpo-29139 caused
27975 -----
27977 - bpo-27593: fix format of git information used in sys.version
27979 - Fix incompatible comment in python.h
27985 *Release date: 2017-03-04*
27988 -----------------
27990 - bpo-28893: Set correct __cause__ for errors about invalid awaitables
27993 - bpo-29683: Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian
27996 - bpo-29684: Fix minor regression of PyEval_CallObjectWithKeywords. It
28000 - bpo-28598: Support __rmod__ for subclasses of str being called before
28003 - bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX. Patch by
28006 - bpo-29602: Fix incorrect handling of signed zeros in complex constructor
28010 - bpo-29347: Fixed possibly dereferencing undefined pointers when creating
28013 - bpo-29438: Fixed use-after-free problem in key sharing dict.
28015 - bpo-29319: Prevent RunMainFromImporter overwriting sys.path[0].
28017 - bpo-29337: Fixed possible BytesWarning when compare the code objects.
28020 - bpo-29327: Fixed a crash when pass the iterable keyword argument to
28023 - bpo-29034: Fix memory leak and use-after-free in os module
28026 - bpo-29159: Fix regression in bytes(x) when x.__index__() raises Exception.
28028 - bpo-28932: Do not include <sys/random.h> if it does not exist.
28030 - bpo-25677: Correct the positioning of the syntax error caret for indented
28033 - bpo-29000: Fixed bytes formatting of octals with zero padding in alternate
28036 - bpo-26919: On Android, operating system data is now always encoded/decoded
28037 to/from UTF-8, instead of the locale encoding to avoid inconsistencies
28038 with os.fsencode() and os.fsdecode() which are already using UTF-8.
28040 - bpo-28991: functools.lru_cache() was susceptible to an obscure reentrancy
28041 bug triggerable by a monkey-patched len() function.
28043 - bpo-28739: f-string expressions are no longer accepted as docstrings and
28046 - bpo-28512: Fixed setting the offset attribute of SyntaxError by
28049 - bpo-28918: Fix the cross compilation of xxlimited when Python has been
28052 - bpo-28731: Optimize _PyDict_NewPresized() to create correct size dict.
28056 -------
28058 - bpo-29169: Update zlib to 1.2.11.
28060 - bpo-29623: Allow use of path-like object as a single argument in
28063 - bpo-28963: Fix out of bound iteration in
28066 - bpo-29704: asyncio.subprocess.SubprocessStreamProtocol no longer closes
28069 - bpo-29271: Fix Task.current_task and Task.all_tasks implemented in C to
28072 - bpo-29703: Fix asyncio to support instantiation of new event loops in
28075 - bpo-29376: Fix assertion error in threading._DummyThread.is_alive().
28077 - bpo-28624: Add a test that checks that cwd parameter of Popen() accepts
28080 - bpo-28518: Start a transaction implicitly before a DML statement. Patch by
28083 - bpo-29532: Altering a kwarg dictionary passed to functools.partial() no
28086 - bpo-29110: Fix file object leak in aifc.open() when file is given as a
28089 - bpo-28556: Various updates to typing module: typing.Counter,
28093 - bpo-29100: Fix datetime.fromtimestamp() regression introduced in Python
28096 - bpo-29519: Fix weakref spewing exceptions during interpreter shutdown when
28099 - bpo-29416: Prevent infinite loop in pathlib.Path.mkdir
28101 - bpo-29444: Fixed out-of-bounds buffer access in the group() method of the
28104 - bpo-29335: Fix subprocess.Popen.wait() when the child process has exited
28107 - bpo-29290: Fix a regression in argparse that help messages would wrap at
28108 non-breaking spaces.
28110 - bpo-28735: Fixed the comparison of mock.MagickMock with mock.ANY.
28112 - bpo-29316: Restore the provisional status of typing module, add
28115 - bpo-29219: Fixed infinite recursion in the repr of uninitialized
28118 - bpo-29011: Fix an important omission by adding Deque to the typing module.
28120 - bpo-28969: Fixed race condition in C implementation of
28125 - bpo-29142: In urllib.request, suffixes in no_proxy environment variable
28129 - bpo-28961: Fix unittest.mock._Call helper: don't ignore the name parameter
28132 - bpo-29203: functools.lru_cache() now respects :pep:`468` and preserves the
28136 - bpo-15812: inspect.getframeinfo() now correctly shows the first line of a
28139 - bpo-29094: Offsets in a ZIP file created with extern file object and modes
28142 - bpo-29085: Allow random.Random.seed() to use high quality OS randomness
28145 - bpo-29061: Fixed bug in secrets.randbelow() which would hang when given a
28148 - bpo-29079: Prevent infinite loop in pathlib.resolve() on Windows
28150 - bpo-13051: Fixed recursion errors in large or resized
28153 - bpo-29119: Fix weakrefs in the pure python version of
28157 - bpo-9770: curses.ascii predicates now work correctly with negative
28160 - bpo-28427: old keys should not remove new values from WeakValueDictionary
28163 - bpo-28923: Remove editor artifacts from Tix.py.
28165 - bpo-29055: Neaten-up empty population error on random.choice() by
28168 - bpo-28871: Fixed a crash when deallocate deep ElementTree.
28170 - bpo-19542: Fix bugs in WeakValueDictionary.setdefault() and
28173 - bpo-20191: Fixed a crash in resource.prlimit() when passing a sequence
28176 - bpo-28779: multiprocessing.set_forkserver_preload() would crash the
28180 - bpo-28847: dbm.dumb now supports reading read-only files and no longer
28183 - bpo-26937: The chown() method of the tarfile.TarFile class does not fail
28188 ----
28190 - bpo-29071: IDLE colors f-string prefixes (but not invalid ur prefixes).
28192 - bpo-28572: Add 10% to coverage of IDLE's test_configdialog. Update and
28196 -------
28198 - bpo-29579: Removes readme.txt from the installer
28200 - bpo-29326: Ignores blank lines in ._pth files (Patch by Alexey Izbyshev)
28202 - bpo-28164: Correctly handle special console filenames (patch by Eryk Sun)
28204 - bpo-29409: Implement :pep:`529` for io.FileIO (Patch by Eryk Sun)
28206 - bpo-29392: Prevent crash when passing invalid arguments into msvcrt
28209 - bpo-25778: winreg does not truncate string correctly (Patch by Eryk Sun)
28211 - bpo-28896: Deprecate WindowsRegistryFinder and disable it by default.
28214 -----
28216 - bpo-27867: Function PySlice_GetIndicesEx() is replaced with a macro if
28220 - bpo-29083: Fixed the declaration of some public API functions.
28226 - bpo-29058: All stable API extensions added after Python 3.2 are now
28231 -------------
28233 - bpo-28929: Link the documentation to its source file on GitHub.
28235 - bpo-25008: Document smtpd.py as effectively deprecated and add a pointer
28236 to aiosmtpd, a third-party asyncio-based replacement.
28238 - bpo-26355: Add canonical header link on each page to corresponding major
28241 - bpo-29349: Fix Python 2 syntax in code for building the documentation.
28244 -----
28246 - bpo-28087: Skip test_asyncore and test_eintr poll failures on macOS. Skip
28250 - bpo-29571: to match the behaviour of the ``re.LOCALE`` flag,
28253 correctly skip the test when the default locale encoding is a multi-byte
28256 - bpo-28950: Disallow -j0 to be combined with -T/-l in regrtest command line
28259 - bpo-28683: Fix the tests that bind() a unix socket and raise
28260 PermissionError on Android for a non-root user.
28262 - bpo-26939: Add the support.setswitchinterval() function to fix
28266 -----
28268 - bpo-27593: sys.version and the platform module python_build(),
28272 - bpo-29572: Update Windows build and OS X installers to use OpenSSL 1.0.2k.
28274 - bpo-26851: Set Android compilation and link flags.
28276 - bpo-28768: Fix implicit declaration of function _setmode. Patch by
28279 - bpo-29080: Removes hard dependency on hg.exe from PCBuild/build.bat
28281 - bpo-23903: Added missed names to PC/python3.def.
28283 - bpo-28762: lockf() is available on Android API level 24, but the F_LOCK
28284 macro is not defined in android-ndk-r13.
28286 - bpo-28538: Fix the compilation error that occurs because if_nameindex() is
28290 - bpo-20211: Do not add the directory for installing C header files and the
28294 - bpo-28849: Do not define sys.implementation._multiarch on Android.
28300 *Release date: 2016-12-23*
28309 *Release date: 2016-12-16*
28312 -----------------
28314 - bpo-28147: Fix a memory leak in split-table dictionaries: setattr() must
28317 - bpo-28990: Fix asyncio SSL hanging if connection is closed before
28318 handshake is completed. (Patch by HoHo-Ho)
28321 -----------
28323 - bpo-28770: Fix python-gdb.py for fastcalls.
28326 -------
28328 - bpo-28896: Deprecate WindowsRegistryFinder.
28331 -----
28333 - bpo-28898: Prevent gdb build errors due to HAVE_LONG_LONG redefinition.
28339 *Release date: 2016-12-06*
28342 -----------------
28344 - bpo-23722: Rather than silently producing a class that doesn't support
28345 zero-argument ``super()`` in methods, failing to pass the new
28347 ``DeprecationWarning`` and a class that supports zero-argument
28350 - bpo-28797: Modifying the class __dict__ inside the __set_name__ method of
28354 - bpo-28782: Fix a bug in the implementation ``yield from`` when checking if
28359 -------
28361 - bpo-27030: Unknown escapes in re.sub() replacement template are allowed
28364 - bpo-28835: Fix a regression introduced in warnings.catch_warnings(): call
28367 - bpo-27172: To assist with upgrades from 2.7, the previously documented
28372 - bpo-26273: Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
28376 - bpo-24142: Reading a corrupt config file left configparser in an invalid
28379 - bpo-28843: Fix asyncio C Task to handle exceptions __traceback__.
28382 -----
28384 - bpo-28808: PyUnicode_CompareWithASCIIString() now never raises exceptions.
28387 -------------
28389 - bpo-23722: The data model reference and the porting section in the What's
28391 custom metaclasses to fully support :pep:`487` and zero-argument
28395 -----------
28397 - bpo-28023: Fix python-gdb.py didn't support new dict implementation.
28403 *Release date: 2016-11-21*
28406 -----------------
28408 - bpo-28532: Show sys.version when -V option is supplied twice.
28410 - bpo-27100: The with-statement now checks for __enter__ before it checks
28414 - bpo-28746: Fix the set_inheritable() file descriptor method on platforms
28417 - bpo-26920: Fix not getting the locale's charset upon initializing the
28420 - bpo-28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X
28423 - bpo-19398: Extra slash no longer added to sys.path components in case of
28424 empty compile-time PYTHONPATH components.
28426 - bpo-28665: Improve speed of the STORE_DEREF opcode by 40%.
28428 - bpo-28583: PyDict_SetDefault didn't combine split table when needed. Patch
28431 - bpo-27243: Change PendingDeprecationWarning -> DeprecationWarning. As it
28435 - bpo-26182: Fix a refleak in code that raises DeprecationWarning.
28437 - bpo-28721: Fix asynchronous generators aclose() and athrow() to handle
28441 -------
28443 - bpo-28752: Restored the __reduce__() methods of datetime objects.
28445 - bpo-28727: Regular expression patterns, _sre.SRE_Pattern objects created
28450 - bpo-20572: The subprocess.Popen.wait method's undocumented endtime
28453 - bpo-25659: In ctypes, prevent a crash calling the from_buffer() and
28456 - bpo-19717: Makes Path.resolve() succeed on paths that do not exist. Patch
28459 - bpo-28563: Fixed possible DoS and arbitrary code execution when handle
28463 - bpo-28387: Fixed possible crash in _io.TextIOWrapper deallocator when the
28467 - bpo-28600: Optimize loop.call_soon.
28469 - bpo-28613: Fix get_event_loop() return the current loop if called from
28472 - bpo-28634: Fix asyncio.isfuture() to support unittest.Mock.
28474 - bpo-26081: Fix refleak in _asyncio.Future.__iter__().throw.
28476 - bpo-28639: Fix inspect.isawaitable to always return bool Patch by Justin
28479 - bpo-28652: Make loop methods reject socket kinds they do not support.
28481 - bpo-28653: Fix a refleak in functools.lru_cache.
28483 - bpo-28703: Fix asyncio.iscoroutinefunction to handle Mock objects.
28485 - bpo-28704: Fix create_unix_server to support Path-like objects (PEP 519).
28487 - bpo-28720: Add collections.abc.AsyncGenerator.
28490 -------------
28492 - bpo-28513: Documented command-line interface of zipfile.
28495 -----
28497 - bpo-28666: Now test.support.rmtree is able to remove unwritable or
28500 - bpo-23839: Various caches now are cleared before running every test file.
28503 -----
28505 - bpo-10656: Fix out-of-tree building on AIX. Patch by Tristan Carel and
28508 - bpo-26359: Rename --with-optimiations to --enable-optimizations.
28510 - bpo-28676: Prevent missing 'getentropy' declaration warning on macOS.
28517 *Release date: 2016-10-31*
28520 -----------------
28522 - bpo-28128: Deprecation warning for invalid str and byte escape sequences
28526 - bpo-28509: dict.update() no longer allocate unnecessary large memory.
28528 - bpo-28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
28531 - bpo-28517: Fixed of-by-one error in the peephole optimizer that caused
28534 - bpo-28214: Improved exception reporting for problematic __set_name__
28537 - bpo-23782: Fixed possible memory leak in _PyTraceback_Add() and exception
28540 - bpo-28471: Fix "Python memory allocator called without holding the GIL"
28544 -------
28546 - bpo-27517: LZMA compressor and decompressor no longer raise exceptions if
28549 - bpo-28549: Fixed segfault in curses's addch() with ncurses6.
28551 - bpo-28449: tarfile.open() with mode "r" or "r:" now tries to open a tar
28555 - bpo-23262: The webbrowser module now supports Firefox 36+ and derived
28558 - bpo-27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
28562 - bpo-18844: The various ways of specifying weights for random.choices() now
28565 - bpo-28255: calendar.TextCalendar().prmonth() no longer prints a space at
28569 - bpo-20491: The textwrap.TextWrapper class now honors non-breaking spaces.
28572 - bpo-28353: os.fwalk() no longer fails on broken links.
28574 - bpo-28430: Fix iterator of C implemented asyncio.Future doesn't accept
28575 non-None value is passed to it.send(val).
28577 - bpo-27025: Generated names for Tkinter widgets now start by the "!" prefix
28580 - bpo-25464: Fixed HList.header_exists() in tkinter.tix module by addin a
28583 - bpo-28488: shutil.make_archive() no longer adds entry "./" to ZIP archive.
28585 - bpo-25953: re.sub() now raises an error for invalid numerical group
28590 - bpo-18219: Optimize csv.DictWriter for large number of columns. Patch by
28593 - bpo-28448: Fix C implemented asyncio.Future didn't work on Windows.
28595 - bpo-28480: Fix error building socket module when multithreading is
28598 - bpo-24452: Make webbrowser support Chrome on Mac OS X.
28600 - bpo-20766: Fix references leaked by pdb in the handling of SIGINT
28603 - bpo-28492: Fix how StopIteration exception is raised in _asyncio.Future.
28605 - bpo-28500: Fix asyncio to handle async gens GC from another thread.
28607 - bpo-26923: Fix asyncio.Gather to refuse being cancelled once all children
28610 - bpo-26796: Don't configure the number of workers for default threadpool
28613 - bpo-28544: Implement asyncio.Task in C.
28616 -------
28618 - bpo-28522: Fixes mishandled buffer reallocation in getpathp.c
28621 -----
28623 - bpo-28444: Fix missing extensions modules when cross compiling.
28625 - bpo-28208: Update Windows build and OS X installers to use SQLite 3.14.2.
28627 - bpo-28248: Update Windows build and OS X installers to use OpenSSL 1.0.2j.
28630 -----
28632 - bpo-26944: Fix test_posix for Android where 'id -G' is entirely wrong or
28635 - bpo-28409: regrtest: fix the parser of command line arguments.
28641 *Release date: 2016-10-10*
28644 -----------------
28646 - bpo-28183: Optimize and cleanup dict iteration.
28648 - bpo-26081: Added C implementation of asyncio.Future. Original patch by
28651 - bpo-28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
28654 - bpo-28376: The type of long range iterator is now registered as Iterator.
28657 - bpo-28376: Creating instances of range_iterator by calling range_iterator
28660 - bpo-28376: The constructor of range_iterator now checks that step is not
28663 - bpo-26906: Resolving special methods of uninitialized type now causes
28666 - bpo-18287: PyType_Ready() now checks that tp_name is not NULL. Original
28669 - bpo-24098: Fixed possible crash when AST is changed in process of
28672 - bpo-28201: Dict reduces possibility of 2nd conflict in hash table when
28675 - bpo-28350: String constants with null character no longer interned.
28677 - bpo-26617: Fix crash when GC runs during weakref callbacks.
28679 - bpo-27942: String constants now interned recursively in tuples and
28682 - bpo-21578: Fixed misleading error message when ImportError called with
28685 - bpo-28203: Fix incorrect type in complex(1.0, {2:3}) error message. Patch
28688 - bpo-28086: Single var-positional argument of tuple subtype was passed
28689 unscathed to the C-defined function. Now it is converted to exact tuple.
28691 - bpo-28214: Now __set_name__ is looked up on the class instead of the
28694 - bpo-27955: Fallback on reading /dev/urandom device when the getrandom()
28697 - bpo-28192: Don't import readline in isolated mode.
28699 - Upgrade internal unicode databases to Unicode version 9.0.0.
28701 - bpo-28131: Fix a regression in zipimport's compile_source(). zipimport
28704 - bpo-28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly
28707 - bpo-28120: Fix dict.pop() for splitted dictionary when trying to remove a
28708 "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang.
28710 - bpo-26182: Raise DeprecationWarning when async and await keywords are used
28714 -------
28716 - bpo-27998: Fixed bytes path support in os.scandir() on Windows. Patch by
28719 - bpo-28317: The disassembler now decodes FORMAT_VALUE argument.
28721 - bpo-26293: Fixed writing ZIP files that starts not from the start of the
28725 - bpo-28380: unittest.mock Mock autospec functions now properly support
28728 - bpo-27181: remove statistics.geometric_mean and defer until 3.7.
28730 - bpo-28229: lzma module now supports pathlib.
28732 - bpo-28321: Fixed writing non-BMP characters with binary format in
28735 - bpo-28225: bz2 module now supports pathlib. Initial patch by Ethan
28738 - bpo-28227: gzip now supports pathlib. Patch by Ethan Furman.
28740 - bpo-27358: Optimized merging var-keyword arguments and improved error
28741 message when passing a non-mapping as a var-keyword argument.
28743 - bpo-28257: Improved error message when passing a non-iterable as a
28744 var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
28746 - bpo-28322: Fixed possible crashes when unpickle itertools objects from
28749 - bpo-28228: imghdr now supports pathlib.
28751 - bpo-28226: compileall now supports pathlib.
28753 - bpo-28314: Fix function declaration (C flags) for the getiterator() method
28756 - bpo-28148: Stop using localtime() and gmtime() in the time module.
28760 - bpo-28253: Fixed calendar functions for extreme months: 0001-01 and
28761 9999-12. Methods itermonthdays() and itermonthdays2() are reimplemented so
28765 - bpo-28275: Fixed possible use after free in the decompress() methods of
28769 - bpo-27897: Fixed possible crash in sqlite3.Connection.create_collation()
28770 if pass invalid string-like object as a name. Patch by Xiang Zhang.
28772 - bpo-18844: random.choices() now has k as a keyword-only argument to
28776 - bpo-18893: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py.
28779 - bpo-27611: Fixed support of default root window in the tkinter.tix module.
28782 - bpo-27348: In the traceback module, restore the formatting of exception
28786 - bpo-25651: Allow falsy values to be used for msg parameter of subTest().
28788 - bpo-27778: Fix a memory leak in os.getrandom() when the getrandom() is
28791 - bpo-28200: Fix memory leak on Windows in the os module (fix
28794 - bpo-25400: RobotFileParser now correctly returns default values for
28797 - bpo-27932: Prevent memory leak in win32_ver().
28799 - Fix UnboundLocalError in socket._sendfile_use_sendfile.
28801 - bpo-28075: Check for ERROR_ACCESS_DENIED in Windows implementation of
28804 - bpo-22493: Warning message emitted by using inline flags in the middle of
28808 - bpo-25270: Prevent codecs.escape_encode() from raising SystemError when an
28811 - bpo-28181: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
28813 - bpo-25895: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by
28816 - bpo-28114: Fix a crash in parse_envlist() when env contains byte strings.
28819 - bpo-27599: Fixed buffer overrun in binascii.b2a_qp() and
28822 - bpo-27906: Fix socket accept exhaustion during high TCP traffic. Patch by
28825 - bpo-28174: Handle when SO_REUSEPORT isn't properly supported. Patch by
28828 - bpo-26654: Inspect functools.partial in asyncio.Handle.__repr__. Patch by
28831 - bpo-26909: Fix slow pipes IO in asyncio. Patch by INADA Naoki.
28833 - bpo-28176: Fix callbacks race in asyncio.SelectorLoop.sock_connect.
28835 - bpo-27759: Fix selectors incorrectly retain invalid file descriptors.
28838 - bpo-28368: Refuse monitoring processes if the child watcher has no loop
28841 - bpo-28369: Raise RuntimeError when transport's FD is used with add_reader,
28844 - bpo-28370: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
28847 - bpo-28371: Deprecate passing asyncio.Handles to run_in_executor.
28849 - bpo-28372: Fix asyncio to support formatting of non-python coroutines.
28851 - bpo-28399: Remove UNIX socket from FS before binding. Patch by Коренберг
28854 - bpo-27972: Prohibit Tasks to await on themselves.
28857 -------
28859 - bpo-28402: Adds signed catalog files for stdlib on Windows.
28861 - bpo-28333: Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk
28864 - bpo-28251: Improvements to help manuals on Windows.
28866 - bpo-28110: launcher.msi has different product codes between 32-bit and
28867 64-bit
28869 - bpo-28161: Opening CON for write access fails
28871 - bpo-28162: WindowsConsoleIO readall() fails if first line starts with
28874 - bpo-28163: WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle
28876 - bpo-28164: _PyIO_get_console_type fails for various paths
28878 - bpo-28137: Renames Windows path file to ._pth
28880 - bpo-28138: Windows ._pth file should allow import site
28883 -----
28885 - bpo-28426: Deprecated undocumented functions PyUnicode_AsEncodedObject(),
28890 -----
28892 - bpo-28258: Fixed build with Estonian locale (python-config and distclean
28895 - bpo-26661: setup.py now detects system libffi with multiarch wrapper.
28897 - bpo-15819: Remove redundant include search directory option for building
28901 -----
28903 - bpo-28217: Adds _testconsole module to test console input.
28909 *Release date: 2016-09-12*
28912 -----------------
28914 - bpo-23722: The __class__ cell used by zero-argument super() is now
28919 - bpo-25221: Fix corrupted result from PyLong_FromLong(0) when Python is
28922 - bpo-27080: Implement formatting support for :pep:`515`. Initial patch by
28925 - bpo-27199: In tarfile, expose copyfileobj bufsize to improve throughput.
28928 - bpo-27948: In f-strings, only allow backslashes inside the braces (where
28930 releases, where backslashes are allowed anywhere in an f-string. Also,
28931 require that expressions inside f-strings be enclosed within literal
28934 - bpo-28046: Remove platform-specific directories from sys.path.
28936 - bpo-28071: Add early-out for differencing from an empty set.
28938 - bpo-25758: Prevents zipimport from unnecessarily encoding a filename
28941 - bpo-25856: The __module__ attribute of extension classes and functions now
28944 - bpo-27213: Rework CALL_FUNCTION* opcodes to produce shorter and more
28948 - bpo-26331: Implement tokenizing support for :pep:`515`. Patch by Georg
28951 - bpo-27999: Make "global after use" a SyntaxError, and ditto for nonlocal.
28954 - bpo-28003: Implement :pep:`525` -- Asynchronous Generators.
28956 - bpo-27985: Implement :pep:`526` -- Syntax for Variable Annotations. Patch
28959 - bpo-26058: Add a new private version to the builtin dict type, incremented
28963 - bpo-27364: A backslash-character pair that is not a valid escape sequence
28966 - bpo-27350: `dict` implementation is changed like PyPy. It is more compact
28970 - bpo-27911: Remove unnecessary error checks in
28973 - bpo-27078: Added BUILD_STRING opcode. Optimized f-strings evaluation.
28975 - bpo-17884: Python now requires systems with inttypes.h and stdint.h
28977 - bpo-27961: Require platforms to support ``long long``. Python hasn't
28981 - bpo-27355: Removed support for Windows CE. It was never finished, and
28984 - Implement :pep:`523`.
28986 - bpo-27870: A left shift of zero by a large integer no longer attempts to
28989 - bpo-25402: In int-to-decimal-string conversion, improve the estimate of
28993 - bpo-27214: In long_invert, be more careful about modifying object returned
28997 - bpo-27506: Support passing the bytes/bytearray.translate() "delete"
29000 - bpo-27812: Properly clear out a generator's frame's backreference to the
29003 - bpo-27811: Fix a crash when a coroutine that has not been awaited is
29004 finalized with warnings-as-errors enabled.
29006 - bpo-27587: Fix another issue found by PVS-Studio: Null pointer check after
29009 - bpo-27792: The modulo operation applied to ``bool`` and other ``int``
29013 - bpo-26984: int() now always returns an instance of exact int.
29015 - bpo-25604: Fix a minor bug in integer true division; this bug could
29016 potentially have caused off-by-one-ulp results on platforms with
29019 - bpo-24254: Make class definition namespace ordered by default.
29021 - bpo-27662: Fix an overflow check in ``List_New``: the original code was
29025 - bpo-27782: Multi-phase extension module import now correctly allows the
29027 of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang.
29029 - bpo-27936: The round() function accepted a second None argument for some
29033 - bpo-27487: Warn if a submodule argument to "python -m" or
29037 - bpo-27157: Make only type() itself accept the one-argument form. Patch by
29040 - bpo-27558: Fix a SystemError in the implementation of "raise" statement.
29044 - bpo-28008: Implement :pep:`530` -- asynchronous comprehensions.
29046 - bpo-27942: Fix memory leak in codeobject.c
29049 -------
29051 - bpo-28732: Fix crash in os.spawnv() with no elements in args
29053 - bpo-28485: Always raise ValueError for negative
29057 - bpo-28037: Use sqlite3_get_autocommit() instead of setting
29058 Connection->inTransaction manually.
29060 - bpo-25283: Attributes tm_gmtoff and tm_zone are now available on all
29063 - bpo-24454: Regular expression match object groups are now accessible using
29066 - bpo-10740: sqlite3 no longer implicitly commit an open transaction before
29069 - bpo-17941: Add a *module* parameter to collections.namedtuple().
29071 - bpo-22493: Inline flags now should be used only at the start of the
29075 - bpo-26885: xmlrpc now supports unmarshalling additional data types used by
29076 Apache XML-RPC implementation for numerics and None.
29078 - bpo-28070: Fixed parsing inline verbose flag in regular expressions.
29080 - bpo-19500: Add client-side SSL session resumption to the ssl module.
29082 - bpo-28022: Deprecate ssl-related arguments in favor of SSLContext. The
29086 - bpo-28043: SSLContext has improved default settings: OP_NO_SSLv2,
29090 - bpo-24693: Changed some RuntimeError's in the zipfile module to more
29093 - bpo-17909: ``json.load`` and ``json.loads`` now support binary input
29094 encoded as UTF-8, UTF-16 or UTF-32. Patch by Serhiy Storchaka.
29096 - bpo-27137: the pure Python fallback implementation of
29101 - Fix possible integer overflows and crashes in the mmap module with unusual
29104 - bpo-1703178: Fix the ability to pass the --link-objects option to the
29107 - bpo-28019: itertools.count() no longer rounds non-integer step in range
29110 - bpo-18401: Pdb now supports the 'readrc' keyword argument to control
29114 - bpo-25969: Update the lib2to3 grammar to handle the unpacking
29117 - bpo-14977: mailcap now respects the order of the lines in the mailcap
29120 - bpo-28082: Convert re flag constants to IntFlag.
29122 - bpo-28025: Convert all ssl module constants to IntEnum and IntFlags.
29125 - bpo-23591: Add Flag, IntFlag, and auto() to enum module.
29127 - bpo-433028: Added support of modifier spans in regular expressions.
29129 - bpo-24594: Validates persist parameter when opening MSI database
29131 - bpo-17582: xml.etree.ElementTree nows preserves whitespaces in attributes
29134 - bpo-28047: Fixed calculation of line length used for the base64 CTE in the
29137 - bpo-27576: Fix call order in OrderedDict.__init__().
29139 - email.generator.DecodedGenerator now supports the policy keyword.
29141 - bpo-28027: Remove undocumented modules from ``Lib/plat-*``: IN, CDROM,
29144 - bpo-27445: Don't pass str(_charset) to MIMEText.set_payload(). Patch by
29147 - bpo-24277: The new email API is no longer provisional, and the docs have
29150 - bpo-22450: urllib now includes an ``Accept: */*`` header among the default
29154 - lib2to3.pgen3.driver.load_grammar() now creates a stable cache file
29158 - bpo-28005: Allow ImportErrors in encoding implementation to propagate.
29160 - bpo-26667: Support path-like objects in importlib.util.
29162 - bpo-27570: Avoid zero-length memcpy() etc calls with null source pointers
29165 - bpo-22233: Break email header lines *only* on the RFC specified CR and LF
29169 - bpo-27331: The email.mime classes now all accept an optional policy
29172 - bpo-27988: Fix email iter_attachments incorrect mutation of payload list.
29174 - bpo-16113: Add SHA-3 and SHAKE support to hashlib module.
29176 - Eliminate a tautological-pointer-compare warning in _scproxy.c.
29178 - bpo-27776: The :func:`os.urandom` function does now block on Linux 3.17
29182 - bpo-27778: Expose the Linux ``getrandom()`` syscall as a new
29185 - bpo-27691: Fix ssl module's parsing of GEN_RID subject alternative name
29188 - bpo-18844: Add random.choices().
29190 - bpo-25761: Improved error reporting about truncated pickle data in C
29194 - bpo-26798: Add BLAKE2 (blake2b and blake2s) to hashlib.
29196 - bpo-26032: Optimized globbing in pathlib by using os.scandir(); it is now
29197 about 1.5--4 times faster.
29199 - bpo-25596: Optimized glob() and iglob() functions in the glob module; they
29200 are now about 3--6 times faster.
29202 - bpo-27928: Add scrypt (password-based key derivation function) to hashlib
29205 - bpo-27850: Remove 3DES from ssl module's default cipher list to counter
29206 measure sweet32 attack (CVE-2016-2183).
29208 - bpo-27766: Add ChaCha20 Poly1305 to ssl module's default cipher list.
29211 - bpo-25387: Check return value of winsound.MessageBeep.
29213 - bpo-27866: Add SSLContext.get_ciphers() method to get a list of all
29216 - bpo-27744: Add AF_ALG (Linux Kernel crypto) to socket module.
29218 - bpo-26470: Port ssl and hashlib module to OpenSSL 1.1.0.
29220 - bpo-11620: Fix support for SND_MEMORY in winsound.PlaySound. Based on a
29223 - bpo-11734: Add support for IEEE 754 half-precision floats to the struct
29226 - bpo-27919: Deprecated ``extra_path`` distribution option in distutils
29229 - bpo-23229: Add new ``cmath`` constants: ``cmath.inf`` and ``cmath.nan`` to
29233 - bpo-27842: The csv.DictReader now returns rows of type OrderedDict.
29236 - Remove support for passing a file descriptor to os.access. It never worked
29239 - bpo-12885: Fix error when distutils encounters symlink.
29241 - bpo-27881: Fixed possible bugs when setting
29244 - bpo-27861: Fixed a crash in sqlite3.Connection.cursor() when a factory
29247 - bpo-19884: Avoid spurious output on OS X with Gnu Readline.
29249 - bpo-27706: Restore deterministic behavior of random.Random().seed() for
29254 - bpo-10513: Fix a regression in Connection.commit(). Statements should not
29257 - bpo-12319: Chunked transfer encoding support added to
29259 urllib.request.AbstractHTTPHandler class does not enforce a Content-Length
29261 Content-Length header, the library now falls back to use chunked
29262 transfer-encoding.
29264 - A new version of typing.py from https://github.com/python/typing: -
29265 Collection (only for 3.6) (Issue #27598) - Add FrozenSet to __all__
29266 (upstream #261) - fix crash in _get_type_vars() (upstream #259) - Remove
29269 - bpo-27832: Make ``_normalize`` parameter to ``Fraction`` constructor
29270 keyword-only, so that ``Fraction(2, 3, 4)`` now raises ``TypeError``.
29272 - bpo-27539: Fix unnormalised ``Fraction.__pow__`` result in the case of
29275 - bpo-21718: cursor.description is now available for queries using CTEs.
29277 - bpo-27819: In distutils sdists, simply produce the "gztar" (gzipped tar
29280 - bpo-2466: posixpath.ismount now correctly recognizes mount points which
29283 - bpo-9998: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH
29286 - bpo-27573: exit message for code.interact is now configurable.
29288 - bpo-27930: Improved behaviour of logging.handlers.QueueListener. Thanks to
29291 - bpo-6766: Distributed reference counting added to multiprocessing to
29294 - bpo-21201: Improves readability of multiprocessing error message. Thanks
29297 - asyncio: Add set_protocol / get_protocol to Transports.
29299 - bpo-27456: asyncio: Set TCP_NODELAY by default.
29302 ----
29304 - bpo-15308: Add 'interrupt execution' (^C) to Shell menu. Patch by Roger
29307 - bpo-27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
29309 - bpo-27891: Consistently group and sort imports within idlelib modules.
29311 - bpo-17642: add larger font sizes for classroom projection.
29313 - Add version to title of IDLE help window.
29315 - bpo-25564: In section on IDLE -- console differences, mention that using
29318 - bpo-27821: Fix 3.6.0a3 regression that prevented custom key sets from
29322 -----
29324 - bpo-26900: Excluded underscored names and other private API from limited
29327 - bpo-26027: Add support for path-like objects in PyUnicode_FSConverter() &
29331 -----
29333 - bpo-27427: Additional tests for the math module. Patch by Francisco Couzo.
29335 - bpo-27953: Skip math and cmath tests that fail on OS X 10.4 due to a poor
29338 - bpo-26040: Improve test_math and test_cmath coverage and rigour. Patch by
29341 - bpo-27787: Call gc.collect() before checking each test for "dangling
29345 -----
29347 - bpo-27566: Fix clean target in freeze makefile (patch by Lisa Roach)
29349 - bpo-27705: Update message in validate_ucrtbase.py
29351 - bpo-27976: Deprecate building _ctypes with the bundled copy of libffi on
29352 non-OSX UNIX platforms.
29354 - bpo-27983: Cause lack of llvm-profdata tool when using clang as required
29356 ``--with-optimizations`` is enabled. Also improve our ability to find the
29357 llvm-profdata tool on MacOS and some Linuxes.
29359 - bpo-21590: Support for DTrace and SystemTap probes.
29361 - bpo-26307: The profile-opt build now applies PGO to the built-in modules.
29363 - bpo-26359: Add the --with-optimizations flag to turn on LTO and PGO build
29366 - bpo-27917: Set platform triplets for Android builds.
29368 - bpo-25825: Update references to the $(LIBPL) installation path on AIX.
29371 - Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.
29373 - bpo-21122: Fix LTO builds on OS X.
29375 - bpo-17128: Build OS X installer with a private copy of OpenSSL. Also
29377 root certificates from the third-party certifi module.
29380 -----------
29382 - bpo-27952: Get Tools/scripts/fixcid.py working with Python 3 and the
29387 -------
29389 - bpo-28065: Update xz dependency to 5.2.2 and build it from source.
29391 - bpo-25144: Ensures TargetDir is set before continuing with custom install.
29393 - bpo-1602: Windows console doesn't input or print Unicode (PEP 528)
29395 - bpo-27781: Change file system encoding on Windows to UTF-8 (PEP 529)
29397 - bpo-27731: Opt-out of MAX_PATH on Windows 10
29399 - bpo-6135: Adds encoding and errors parameters to subprocess.
29401 - bpo-27959: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to codec
29404 - bpo-27982: The functions of the winsound module now accept keyword
29407 - bpo-20366: Build full text search support into SQLite on Windows.
29409 - bpo-27756: Adds new icons for Python files and processes on Windows.
29412 - bpo-27883: Update sqlite to 3.14.1.0 on Windows.
29418 *Release date: 2016-08-15*
29421 -----------------
29423 - bpo-27704: Optimized creating bytes and bytearray from byte-like objects
29427 - bpo-26823: Large sections of repeated lines in tracebacks are now
29431 - bpo-27574: Decreased an overhead of parsing keyword arguments in functions
29434 - bpo-22557: Now importing already imported modules is up to 2.5 times
29437 - bpo-17596: Include <wincrypt.h> to help with Min GW building.
29439 - bpo-17599: On Windows, rename the privately defined REPARSE_DATA_BUFFER
29442 - bpo-27507: Add integer overflow check in bytearray.extend(). Patch by
29445 - bpo-27581: Don't rely on wrapping for overflow check in
29448 - bpo-1621: Avoid signed integer overflow in list and tuple operations.
29451 - bpo-27419: Standard __import__() no longer look up "__import__" in globals
29456 - bpo-27083: Respect the PYTHONCASEOK environment variable under Windows.
29458 - bpo-27514: Make having too many statically nested blocks a SyntaxError
29461 - bpo-27366: Implemented :pep:`487` (Simpler customization of class
29467 -------
29469 - bpo-26027: Add :pep:`519`/__fspath__() support to the os and os.path
29470 modules. Includes code from Jelle Zijlstra. (See also: bpo-27524)
29472 - bpo-27598: Add Collections to collections.abc. Patch by Ivan Levkivskyi,
29475 - bpo-25958: Support "anti-registration" of special methods from various
29482 - bpo-16764: Support keyword arguments to zlib.decompress(). Patch by Xiang
29485 - bpo-27736: Prevent segfault after interpreter re-initialization due to ref
29489 - bpo-25628: The *verbose* and *rename* parameters for
29490 collections.namedtuple are now keyword-only.
29492 - bpo-12345: Add mathematical constant tau to math and cmath. See also
29495 - bpo-26823: traceback.StackSummary.format now abbreviates large sections of
29500 - bpo-27664: Add to concurrent.futures.thread.ThreadPoolExecutor() the
29503 - bpo-27181: Add geometric_mean and harmonic_mean to statistics module.
29505 - bpo-27573: code.interact now prints an message when exiting.
29507 - bpo-6422: Add autorange method to timeit.Timer objects.
29509 - bpo-27773: Correct some memory management errors server_hostname in
29512 - bpo-26750: unittest.mock.create_autospec() now works properly for
29516 - bpo-26754: Undocumented support of general bytes-like objects as path in
29519 - bpo-26800: Undocumented support of general bytes-like objects as paths in
29522 - bpo-26981: Add _order_ compatibility shim to enum.Enum for Python 2/3 code
29525 - bpo-27661: Added tzinfo keyword argument to datetime.combine.
29527 - In the curses module, raise an error if window.getstr() or window.instr()
29530 - bpo-27783: Fix possible usage of uninitialized memory in
29533 - bpo-27774: Fix possible Py_DECREF on unowned object in _sre.
29535 - bpo-27760: Fix possible integer overflow in binascii.b2a_qp.
29537 - bpo-27758: Fix possible integer overflow in the _csv module for large
29540 - bpo-27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
29544 - bpo-7063: Remove dead code from the "array" module's slice handling. Patch
29547 - bpo-27656: Do not assume sched.h defines any SCHED_* constants.
29549 - bpo-27130: In the "zlib" module, fix handling of large buffers (typically
29554 - bpo-24773: Implemented :pep:`495` (Local Time Disambiguation).
29556 - Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select
29559 - bpo-27567: Expose the EPOLLRDHUP and POLLRDHUP constants in the select
29562 - bpo-1621: Avoid signed int negation overflow in the "audioop" module.
29564 - bpo-27533: Release GIL in nt._isdir
29566 - bpo-17711: Fixed unpickling by the persistent ID with protocol 0. Original
29569 - bpo-27522: Avoid an unintentional reference cycle in email.feedparser.
29571 - bpo-27512: Fix a segfault when os.fspath() called an __fspath__() method
29575 ----
29577 - bpo-27714: text_textview and test_autocomplete now pass when re-run in the
29578 same process. This occurs when test_idle fails when run with the -w
29579 option but without -jn. Fix warning from test_config.
29581 - bpo-27621: Put query response validation error messages in the query box
29585 - bpo-27620: Escape key now closes Query box as cancelled.
29587 - bpo-27609: IDLE: tab after initial whitespace should tab, not
29591 - bpo-27609: Explicitly return None when there are also non-None returns. In
29594 - bpo-25507: IDLE no longer runs buggy code because of its tkinter imports.
29597 - bpo-27173: Add 'IDLE Modern Unix' to the built-in key sets. Make the
29601 - bpo-27452: add line counter and crc to IDLE configHandler test dump.
29604 -----
29606 - bpo-25805: Skip a test in test_pkgutil as needed that doesn't work when
29609 - bpo-27472: Add test.support.unix_shell as the path to the default shell.
29611 - bpo-27369: In test_pyexpat, avoid testing an error message detail that
29614 - bpo-27594: Prevent assertion error when running test_ast with coverage
29619 -------
29621 - bpo-27647: Update bundled Tcl/Tk to 8.6.6.
29623 - bpo-27610: Adds :pep:`514` metadata to Windows installer
29625 - bpo-27469: Adds a shell extension to the launcher so that drag and drop
29628 - bpo-27309: Enables proper Windows styles in python[w].exe manifest.
29631 -----
29633 - bpo-27713: Suppress spurious build warnings when updating importlib's
29636 - bpo-25825: Correct the references to Modules/python.exp, which is required
29639 - bpo-27453: CPP invocation in configure must use CPPFLAGS. Patch by Chi
29642 - bpo-27641: The configure script now inserts comments into the makefile to
29644 cross-compiled.
29646 - bpo-26662: Set PYTHON_FOR_GEN in configure as the Python program to be
29649 - bpo-10910: Avoid C++ compilation errors on FreeBSD and OS X. Also update
29650 FreedBSD version checks for the original ctype UTF-8 workaround.
29656 *Release date: 2016-07-11*
29659 --------
29661 - bpo-27278: Fix os.urandom() implementation using getrandom() on Linux.
29665 - bpo-22636: Avoid shell injection problems with ctypes.util.find_library().
29668 -----------------
29670 - bpo-27473: Fixed possible integer overflow in bytes and bytearray
29673 - bpo-23034: The output of a special Python build with defined COUNT_ALLOCS,
29675 can be re-enabled using the "-X showalloccount" option. It now outputs to
29678 - bpo-27443: __length_hint__() of bytearray iterators no longer return a
29681 - bpo-27007: The fromhex() class methods of bytes and bytearray subclasses
29685 -------
29687 - bpo-26844: Fix error message for imp.find_module() to refer to 'path'
29690 - bpo-23804: Fix SSL zero-length recv() calls to not block and not raise an
29693 - bpo-27466: Change time format returned by http.cookie.time2netscape,
29697 - bpo-21708: Deprecated dbm.dumb behavior that differs from common dbm
29701 - bpo-26721: Change the socketserver.StreamRequestHandler.wfile attribute to
29705 - bpo-22115: Added methods trace_add, trace_remove and trace_info in the
29713 - bpo-26243: Only the level argument to zlib.compress() is keyword argument
29714 now. The first argument is positional-only.
29716 - bpo-27038: Expose the DirEntry type as os.DirEntry. Code patch by Jelle
29719 - bpo-27186: Update os.fspath()/PyOS_FSPath() to check the return value of
29722 - bpo-18726: All optional parameters of the dump(), dumps(), load() and
29724 the json module are now keyword-only.
29726 - bpo-27319: Methods selection_set(), selection_add(), selection_remove()
29731 - bpo-27079: Fixed curses.ascii functions isblank(), iscntrl() and
29734 - bpo-27294: Numerical state in the repr for Tkinter event objects is now
29737 - bpo-27177: Match objects in the re module now support index-like objects
29740 - bpo-26754: Some functions (compile() etc) accepted a filename argument
29741 encoded as an iterable of integers. Now only strings and byte-like objects
29744 - bpo-26536: socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by
29747 - bpo-27048: Prevents distutils failing on Windows when environment
29748 variables contain non-ASCII characters
29750 - bpo-27330: Fixed possible leaks in the ctypes module.
29752 - bpo-27238: Got rid of bare excepts in the turtle module. Original patch
29755 - bpo-27122: When an exception is raised within the context being managed by
29757 raises it in a chain, do not re-raise the original exception when exiting,
29761 - bpo-16864: sqlite3.Cursor.lastrowid now supports REPLACE statement.
29764 - bpo-26386: Fixed ttk.TreeView selection operations with item id's
29767 - bpo-8637: Honor a pager set by the env var MANPAGER (in preference to one
29770 - bpo-16182: Fix various functions in the "readline" module to use the
29774 - bpo-27392: Add loop.connect_accepted_socket(). Patch by Jim Fulton.
29777 ----
29779 - bpo-27477: IDLE search dialogs now use ttk widgets.
29781 - bpo-27173: Add 'IDLE Modern Unix' to the built-in key sets. Make the
29785 - bpo-27452: make command line "idle-test> python test_help.py" work.
29788 - bpo-27452: add line counter and crc to IDLE configHandler test dump.
29790 - bpo-27380: IDLE: add query.py with base Query dialog and ttk widgets.
29797 - bpo-27372: Test_idle no longer changes the locale.
29799 - bpo-27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.
29801 - bpo-27245: IDLE: Cleanly delete custom themes and key bindings.
29805 - bpo-24137: Run IDLE, test_idle, and htest with tkinter default root
29809 - bpo-27310: Fix IDLE.app failure to launch on OS X due to vestigial import.
29812 -----
29814 - bpo-26754: PyUnicode_FSDecoder() accepted a filename argument encoded as
29815 an iterable of integers. Now only strings and byte-like objects are
29819 -----
29821 - bpo-28066: Fix the logic that searches build directories for generated
29824 - bpo-27442: Expose the Android API level that python was built against, in
29827 - bpo-27434: The interpreter that runs the cross-build, found in PATH, must
29830 - bpo-26930: Update Windows builds to use OpenSSL 1.0.2h.
29832 - bpo-23968: Rename the platform directory from plat-$(MACHDEP) to
29833 plat-$(PLATFORM_TRIPLET). Rename the config directory (LIBPL) from
29834 config-$(LDVERSION) to config-$(LDVERSION)-$(PLATFORM_TRIPLET). Install
29838 - Don't use largefile support for GNU/Hurd.
29841 -----------
29843 - bpo-27332: Fixed the type of the first argument of module-level functions
29846 - bpo-27418: Fixed Tools/importbench/importbench.py.
29849 -------------
29851 - bpo-19489: Moved the search box from the sidebar to the header and footer
29854 - bpo-27285: Update documentation to reflect the deprecation of ``pyvenv``
29858 -----
29860 - bpo-27027: Added test.support.is_android that is True when this is an
29867 *Release date: 2016-06-13*
29870 --------
29872 - bpo-26556: Update expat to 2.1.1, fixes CVE-2015-1283.
29874 - Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by
29877 - bpo-26839: On Linux, :func:`os.urandom` now calls ``getrandom()`` with
29882 -----------------
29884 - bpo-27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes.
29887 - bpo-27190: Raise NotSupportedError if sqlite3 is older than 3.3.1. Patch
29890 - bpo-27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling
29894 - bpo-27140: Added BUILD_CONST_KEY_MAP opcode.
29896 - bpo-27186: Add support for os.PathLike objects to open() (part of
29899 - bpo-27066: Fixed SystemError if a custom opener (for open()) returns a
29902 - bpo-26983: float() now always return an instance of exact float. The
29907 - bpo-27097: Python interpreter is now about 7% faster due to optimized
29910 - bpo-26647: Python interpreter now uses 16-bit wordcode instead of
29913 - bpo-23275: Allow assigning to an empty target list in round brackets: () =
29916 - bpo-27243: Update the __aiter__ protocol: instead of returning an
29922 -------
29924 - Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants
29928 - bpo-27025: Generated names for Tkinter widgets are now more meaningful and
29931 - bpo-25455: Fixed crashes in repr of recursive ElementTree.Element and
29934 - bpo-27294: Improved repr for Tkinter event objects.
29936 - bpo-20508: Improve exception message of IPv{4,6}Network.__getitem__. Patch
29939 - bpo-21386: Implement missing IPv4Address.is_global property. It was
29942 - bpo-27029: Removed deprecated support of universal newlines mode from
29945 - bpo-27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in
29949 - bpo-27186: Add os.PathLike support to DirEntry (part of :pep:`519`).
29952 - bpo-20900: distutils register command now decodes HTTP responses
29955 - bpo-27186: Add os.PathLike support to pathlib, removing its provisional
29958 - bpo-27186: Add support for os.PathLike objects to os.fsencode() and
29961 - bpo-27186: Introduce os.PathLike and os.fspath() (part of :pep:`519`).
29963 - A new version of typing.py provides several new classes and features:
29971 - bpo-25738: Stop http.server.BaseHTTPRequestHandler.send_error() from
29976 - bpo-21313: Fix the "platform" module to tolerate when sys.version contains
29979 - bpo-23883: Added missing APIs to __all__ to match the documented APIs for
29983 - bpo-27164: In the zlib module, allow decompressing raw Deflate streams
29986 - bpo-24291: Fix wsgiref.simple_server.WSGIRequestHandler to completely
29991 - bpo-21272: Use _sysconfigdata.py to initialize distutils.sysconfig.
29993 - bpo-19611: :mod:`inspect` now reports the implicit ``.0`` parameters
29995 scopes as if they were positional-only parameters called ``implicit0``.
29998 - bpo-26809: Add ``__all__`` to :mod:`string`. Patch by Emanuel Barry.
30000 - bpo-26373: subprocess.Popen.communicate now correctly ignores
30004 - signal, socket, and ssl module IntEnum constant name lookups now return a
30009 - bpo-27167: Clarify the subprocess.CalledProcessError error message text
30012 - bpo-25931: Don't define socketserver.Forking* names on platforms such as
30015 - bpo-21776: distutils.upload now correctly handles HTTPError. Initial patch
30018 - bpo-26526: Replace custom parse tree validation in the parser module with
30021 - bpo-27114: Fix SSLContext._load_windows_store_certs fails with
30024 - bpo-18383: Avoid creating duplicate filters when using filterwarnings and
30027 - bpo-23026: winreg.QueryValueEx() now return an integer for REG_QWORD type.
30029 - bpo-26741: subprocess.Popen destructor now emits a ResourceWarning warning
30032 - bpo-27056: Optimize pickle.load() and pickle.loads(), up to 10% faster to
30035 - bpo-21271: New keyword only parameters in reset_mock call.
30038 ----
30040 - bpo-5124: Paste with text selected now replaces the selection on X11. This
30044 - bpo-24750: Switch all scrollbars in IDLE to ttk versions. Where needed,
30047 - bpo-24759: IDLE requires tk 8.5 and availability ttk widgets. Delete now
30051 - bpo-27239: idlelib.macosx.isXyzTk functions initialize as needed.
30053 - bpo-27262: move Aqua unbinding code, which enable context menus, to
30056 - bpo-24759: Make clear in idlelib.idle_test.__init__ that the directory is
30059 - bpo-27196: Stop 'ThemeChanged' warnings when running IDLE tests. These
30064 - bpo-20567: Revise idle_test/README.txt with advice about avoiding tk
30067 - bpo-24225: Update idlelib/README.txt with new file names and event
30070 - bpo-27156: Remove obsolete code not used by IDLE.
30072 - bpo-27117: Make colorizer htest and turtledemo work with dark themes. Move
30075 - bpo-24225: Rename many `idlelib/*.py` and `idle_test/test_*.py` files.
30080 - bpo-26673: When tk reports font size as 0, change to size 10. Such fonts
30083 - bpo-21939: Add test for IDLE's percolator. Original patch by Saimadhav
30086 - bpo-21676: Add test for IDLE's replace dialog. Original patch by Saimadhav
30089 - bpo-18410: Add test for IDLE's search dialog. Original patch by Westley
30092 - bpo-21703: Add test for undo delegator. Patch mostly by Saimadhav
30095 - bpo-27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks.
30097 - bpo-23977: Add more asserts to test_delegator.
30100 -------------
30102 - bpo-16484: Change the default PYTHONDOCS URL to "https:", and fix the
30106 - bpo-24136: Document the new :pep:`448` unpacking syntax of 3.5.
30108 - bpo-22558: Add remaining doc links to source code for Python-coded
30112 -----
30114 - bpo-25285: regrtest now uses subprocesses when the -j1 command line option
30115 is used: each test file runs in a fresh child process. Before, the -j1
30118 - bpo-25285: Tools/buildbot/test.bat script now uses -j1 by default to run
30122 -------
30124 - bpo-27064: The py.exe launcher now defaults to Python 3. The Windows
30128 - bpo-17500: Remove unused and outdated icons. (See also:
30132 -----
30134 - bpo-27229: Fix the cross-compiling pgen rule for in-tree builds. Patch by
30137 - bpo-26930: Update OS X 10.5+ 32-bit-only installer to build and link with
30141 -----
30143 - bpo-27186: Add the PyOS_FSPath() function (part of :pep:`519`).
30145 - bpo-26282: PyArg_ParseTupleAndKeywords() now supports positional-only
30149 -----------
30151 - bpo-26282: Argument Clinic now supports positional-only and keyword
30158 *Release date: 2016-05-16*
30161 --------
30163 - bpo-26657: Fix directory traversal vulnerability with http.server on
30167 - bpo-26313: ssl.py _load_windows_store_certs fails if windows cert store is
30170 - bpo-25939: On Windows open the cert store readonly in
30174 -----------------
30176 - bpo-20041: Fixed TypeError when frame.f_trace is set to None. Patch by
30179 - bpo-26168: Fixed possible refleaks in failing Py_BuildValue() with the "N"
30182 - bpo-26991: Fix possible refleak when creating a function with annotations.
30184 - bpo-27039: Fixed bytearray.remove() for values greater than 127. Based on
30187 - bpo-23640: int.from_bytes() no longer bypasses constructors for
30190 - bpo-27005: Optimized the float.fromhex() class method for exact float. It
30193 - bpo-18531: Single var-keyword argument of dict subtype was passed
30194 unscathed to the C-defined function. Now it is converted to exact dict.
30196 - bpo-26811: gc.get_objects() no longer contains a broken tuple with NULL
30199 - bpo-20120: Use RawConfigParser for .pypirc parsing, removing support for
30204 - bpo-26249: Memory functions of the :c:func:`PyMem_Malloc` domain
30211 - bpo-26802: Optimize function calls only using unpacking like
30215 - bpo-26659: Make the builtin slice type support cycle collection.
30217 - bpo-26718: super.__init__ no longer leaks memory if called multiple times.
30220 - bpo-27138: Fix the doc comment for FileFinder.find_spec().
30222 - bpo-27147: Mention :pep:`420` in the importlib docs.
30224 - bpo-25339: PYTHONIOENCODING now has priority over locale in setting the
30227 - bpo-26494: Fixed crash on iterating exhausting iterators. Affected classes
30232 - bpo-26574: Optimize ``bytes.replace(b'', b'.')`` and
30235 - bpo-26581: If coding cookie is specified multiple times on a line in
30238 - bpo-19711: Add tests for reloading namespace packages.
30240 - bpo-21099: Switch applicable importlib tests to use :pep:`451` API.
30242 - bpo-26563: Debug hooks on Python memory allocators now raise a fatal error
30246 - bpo-26564: On error, the debug hooks on Python memory allocators now use
30250 - bpo-26558: The debug hooks on Python memory allocator
30254 - bpo-26516: Add :envvar:`PYTHONMALLOC` environment variable to set the
30257 - bpo-26516: The :c:func:`PyMem_SetupDebugHooks` function can now also be
30260 - bpo-26516: The :envvar:`PYTHONMALLOCSTATS` environment variable can now
30264 - bpo-26516: In debug mode, debug hooks are now also installed on Python
30267 - bpo-26464: Fix str.translate() when string is ASCII and first replacements
30268 removes character, but next replacement uses a non-ASCII character or a
30271 - bpo-22836: Ensure exception reports from PyErr_Display() and
30276 - bpo-26302: Correct behavior to reject comma as a legal character for
30279 - bpo-26136: Upgrade the warning when a generator raises StopIteration from
30282 - bpo-26204: The compiler now ignores all constant statements: bytes, str,
30287 - bpo-4806: Avoid masking the original TypeError exception when using star
30291 - bpo-26146: Add a new kind of AST node: ``ast.Constant``. It can be used by
30295 - bpo-23601: Sped-up allocation of dict key objects by using Python's small
30298 - bpo-18018: Import raises ImportError instead of SystemError if a relative
30301 - bpo-25843: When compiling code, don't merge constants if they are equal
30307 - bpo-26107: The format of the ``co_lnotab`` attribute of code objects
30310 - bpo-26154: Add a new private _PyThreadState_UncheckedGet() function to get
30317 - bpo-25791: If __package__ != __spec__.parent or if neither __package__ or
30320 - bpo-22995: [UPDATE] Comment out the one of the pickleability tests in
30321 _PyObject_GetState() due to regressions observed in Cython-based projects.
30323 - bpo-25961: Disallowed null characters in the type name.
30325 - bpo-25973: Fix segfault when an invalid nonlocal statement binds a name
30328 - bpo-22995: Instances of extension types with a state that aren't
30329 subclasses of list or dict and haven't implemented any pickle-related
30333 - bpo-20440: Massive replacing unsafe attribute setting code with special
30336 - bpo-25766: Special method __bytes__() now works in str subclasses.
30338 - bpo-25421: __sizeof__ methods of builtin types now use dynamic basic size.
30342 - bpo-25709: Fixed problem with in-place string concatenation and utf-8
30345 - bpo-5319: New Py_FinalizeEx() API allowing Python to set an exit status of
30348 - bpo-25485: telnetlib.Telnet is now a context manager.
30350 - bpo-24097: Fixed crash in object.__reduce__() if slot name is freed inside
30353 - bpo-24731: Fixed crash on converting objects with special methods
30358 - bpo-25630: Fix a possible segfault during argument parsing in functions
30361 - bpo-23564: Fixed a partially broken sanity check in the _posixsubprocess
30365 - bpo-25388: Fixed tokenizer crash when processing undecodable source code
30368 - bpo-25462: The hash of the key now is calculated only once in most
30371 - bpo-22995: Default implementation of __reduce__ and __reduce_ex__ now
30374 - bpo-24802: Avoid buffer overreads when int(), float(), compile(), exec()
30375 and eval() are passed bytes-like objects. These objects are not
30379 - bpo-25555: Fix parser and AST: fill lineno and col_offset of "arg" node
30382 - bpo-24726: Fixed a crash and leaking NULL in repr() of OrderedDict that
30385 - bpo-25449: Iterating OrderedDict with keys with unstable hash now raises
30388 - bpo-25395: Fixed crash when highly nested OrderedDict structures were
30391 - bpo-25401: Optimize bytes.fromhex() and bytearray.fromhex(): they are now
30394 - bpo-25399: Optimize bytearray % args using the new private _PyBytesWriter
30397 - bpo-25274: sys.setrecursionlimit() now raises a RecursionError if the new
30399 Modify also the "lower-water mark" formula to make it monotonic. This mark
30402 - bpo-24402: Fix input() to prompt to the redirected stdout when
30405 - bpo-25349: Optimize bytes % args using the new private _PyBytesWriter API.
30408 - bpo-24806: Prevent builtin types that are not allowed to be subclassed
30411 - bpo-25301: The UTF-8 decoder is now up to 15 times as fast for error
30414 - bpo-24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
30416 - bpo-25267: The UTF-8 encoder is now up to 75 times as fast for error
30418 Patch co-written with Serhiy Storchaka.
30420 - bpo-25280: Import trace messages emitted in verbose (-v) mode are no
30423 - bpo-25227: Optimize ASCII and latin1 encoders with the ``surrogateescape``
30427 - bpo-25003: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
30430 need such high-quality entropy.
30432 - bpo-9232: Modify Python's grammar to allow trailing commas in the argument
30436 - bpo-24965: Implement :pep:`498` "Literal String Interpolation". This
30437 allows you to embed expressions inside f-strings, which are converted to
30441 - bpo-26478: Fix semantic bugs when using binary operators with dictionary
30444 - bpo-26171: Fix possible integer overflow and heap corruption in
30447 - bpo-25660: Fix TAB key behaviour in REPL with readline.
30449 - bpo-26288: Optimize PyLong_AsDouble.
30451 - bpo-26289: Optimize floor and modulo division for single-digit longs.
30452 Microbenchmarks show 2-2.5x improvement. Built-in 'divmod' function is
30453 now also ~10% faster. (See also: bpo-26315)
30455 - bpo-25887: Raise a RuntimeError when a coroutine object is awaited more
30459 -------
30461 - bpo-27057: Fix os.set_inheritable() on Android, ioctl() is blocked by
30465 - bpo-27014: Fix infinite recursion using typing.py. Thanks to Kalle Tuure!
30467 - bpo-27031: Removed dummy methods in Tkinter widget classes: tk_menuBar()
30470 - bpo-14132: Fix urllib.request redirect handling when the target only has a
30473 - bpo-17214: The "urllib.request" module now percent-encodes non-ASCII bytes
30475 with non-ASCII bytes, but "http.client" requires the request target to be
30476 ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch
30479 - bpo-27033: The default value of the decode_data parameter for
30482 - bpo-27034: Removed deprecated class asynchat.fifo.
30484 - bpo-26870: Added readline.set_auto_history(), which can stop entries being
30488 - bpo-26039: zipfile.ZipFile.open() can now be used to write data into a ZIP
30491 - bpo-26892: Honor debuglevel flag in urllib.request.HTTPHandler. Patch
30494 - bpo-22274: In the subprocess module, allow stderr to be redirected to
30497 - bpo-26807: mock_open 'files' no longer error on readline at end of file.
30500 - bpo-25745: Fixed leaking a userptr in curses panel destructor.
30502 - bpo-26977: Removed unnecessary, and ignored, call to sum of squares helper
30505 - bpo-26002: Use bisect in statistics.median instead of a linear search.
30508 - bpo-25974: Make use of new Decimal.as_integer_ratio() method in statistics
30511 - bpo-26996: Add secrets module as described in :pep:`506`.
30513 - bpo-26881: The modulefinder module now supports extended opcode arguments.
30515 - bpo-23815: Fixed crashes related to directly created instances of types in
30518 - bpo-17765: weakref.ref() no longer silently ignores keyword arguments.
30521 - bpo-26873: xmlrpc now raises ResponseError on unsupported type tags
30524 - bpo-26915: The __contains__ methods in the collections ABCs now check for
30529 - bpo-26711: Fixed the comparison of plistlib.Data with other types.
30531 - bpo-24114: Fix an uninitialized variable in `ctypes.util`. The bug only
30535 - bpo-26864: In urllib.request, change the proxy bypass host checking
30536 against no_proxy to be case-insensitive, and to not match unrelated host
30540 - bpo-24902: Print server URL on http.server startup. Initial patch by
30543 - bpo-25788: fileinput.hook_encoded() now supports an "errors" argument for
30546 - bpo-26634: recursive_repr() now sets __qualname__ of wrapper. Patch by
30549 - bpo-26804: urllib.request will prefer lower_case proxy environment
30551 Hans-Peter Jansen.
30553 - bpo-26837: assertSequenceEqual() now correctly outputs non-stringified
30554 differing items (like bytes in the -b mode). This affects
30557 - bpo-26041: Remove "will be removed in Python 3.7" from deprecation
30561 - bpo-26822: itemgetter, attrgetter and methodcaller objects no longer
30564 - bpo-26733: Disassembling a class now disassembles class and static
30567 - bpo-26801: Fix error handling in :func:`shutil.get_terminal_size`, catch
30571 - bpo-24838: tarfile's ustar and gnu formats now correctly calculate name
30572 and link field limits for multibyte character encodings like utf-8.
30574 - bpo-26717: Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by
30577 - bpo-26782: Add STARTUPINFO to subprocess.__all__ on Windows.
30579 - bpo-26404: Add context manager to socketserver. Patch by Aviv Palivoda.
30581 - bpo-26735: Fix :func:`os.urandom` on Solaris 11.3 and newer when reading
30585 - bpo-26585: Eliminate http.server._quote_html() and use
30588 - bpo-26685: Raise OSError if closing a socket fails.
30590 - bpo-16329: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola'.
30592 - bpo-13952: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.
30594 - bpo-26587: the site module now allows .pth files to specify files to be
30597 - bpo-25609: Introduce contextlib.AbstractContextManager and
30600 - bpo-26709: Fixed Y2038 problem in loading binary PLists.
30602 - bpo-23735: Handle terminal resizing with Readline 6.3+ by installing our
30605 - bpo-25951: Change SSLSocket.sendall() to return None, as explicitly
30608 - bpo-26586: In http.server, respond with "413 Request header fields too
30612 - bpo-26676: Added missing XMLPullParser to ElementTree.__all__.
30614 - bpo-22854: Change BufferedReader.writable() and BufferedWriter.readable()
30617 - bpo-26492: Exhausted iterator of array.array now conforms with the
30621 - bpo-26641: doctest.DocFileTest and doctest.testfile() now support packages
30624 - bpo-25195: Fix a regression in mock.MagicMock. _Call is a subclass of
30628 - bpo-26644: Raise ValueError rather than SystemError when a negative length
30631 - bpo-23804: Fix SSL recv(0) and read(0) methods to return zero bytes
30634 - bpo-26616: Fixed a bug in datetime.astimezone() method.
30636 - bpo-26637: The :mod:`importlib` module now emits an :exc:`ImportError`
30641 - bpo-21925: :func:`warnings.formatwarning` now catches exceptions when
30646 - bpo-23848: On Windows, faulthandler.enable() now also installs an
30650 - bpo-26530: Add C functions :c:func:`_PyTraceMalloc_Track` and
30655 - bpo-26588: The _tracemalloc now supports tracing memory allocations of
30658 - bpo-24266: Ctrl+C during Readline history search now cancels the search
30661 - bpo-26590: Implement a safe finalizer for the _socket.socket type. It now
30664 - bpo-18787: spwd.getspnam() now raises a PermissionError if the user
30667 - bpo-26560: Avoid potential ValueError in BaseHandler.start_response.
30670 - bpo-26567: Add a new function :c:func:`PyErr_ResourceWarning` function to
30675 - bpo-26569: Fix :func:`pyclbr.readmodule` and :func:`pyclbr.readmodule_ex`
30678 - bpo-26499: Account for remaining Content-Length in HTTPResponse.readline()
30682 - bpo-25320: Handle sockets in directories unittest discovery is scanning.
30685 - bpo-16181: cookiejar.http2time() now returns None if year is higher than
30688 - bpo-26513: Fixes platform module detection of Windows Server
30690 - bpo-23718: Fixed parsing time in week 0 before Jan 1. Original patch by
30693 - bpo-26323: Add Mock.assert_called() and Mock.assert_called_once() methods
30696 - bpo-20589: Invoking Path.owner() and Path.group() on Windows now raise
30699 - bpo-26177: Fixed the keys() method for Canvas and Scrollbar widgets.
30701 - bpo-15068: Got rid of excessive buffering in fileinput. The bufsize
30704 - bpo-19475: Added an optional argument timespec to the datetime isoformat()
30707 - bpo-2202: Fix UnboundLocalError in
30711 - bpo-26167: Minimized overhead in copy.copy() and copy.deepcopy().
30715 - bpo-25718: Fixed pickling and copying the accumulate() iterator with total
30718 - bpo-26475: Fixed debugging output for regular expressions with the (?x)
30721 - bpo-26482: Allowed pickling recursive dequeues.
30723 - bpo-26335: Make mmap.write() return the number of bytes written like other
30726 - bpo-26457: Fixed the subnets() methods in IP network classes for the case
30730 - bpo-26385: Remove the file if the internal open() call in
30733 - bpo-26402: Fix XML-RPC client to retry when the server shuts down a
30737 - bpo-25913: Leading ``<~`` is optional now in base64.a85decode() with
30740 - bpo-26186: Remove an invalid type check in importlib.util.LazyLoader.
30742 - bpo-26367: importlib.__import__() raises ImportError like
30746 - bpo-26309: In the "socketserver" module, shut down the request (closing
30750 - bpo-23430: Change the socketserver module to only catch exceptions raised
30753 trigger the handle_error() method, and will now to stop a single-threaded
30756 - bpo-25995: os.walk() no longer uses FDs proportional to the tree depth.
30758 - bpo-25994: Added the close() method and the support of the context manager
30761 - bpo-23992: multiprocessing: make MapResult not fail-fast upon exception.
30763 - bpo-26243: Support keyword arguments to zlib.compress(). Patch by Aviv
30766 - bpo-26117: The os.scandir() iterator now closes file descriptor not only
30769 - bpo-25949: __dict__ for an OrderedDict instance is now created only when
30772 - bpo-25911: Restored support of bytes paths in os.walk() on Windows.
30774 - bpo-26045: Add UTF-8 suggestion to error message when posting a
30775 non-Latin-1 string with http.client.
30777 - bpo-26039: Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir().
30780 - bpo-12923: Reset FancyURLopener's redirect counter even if there is an
30783 - bpo-25945: Fixed a crash when unpickle the functools.partial object with
30788 - bpo-26202: copy.deepcopy() now correctly copies range() objects with
30789 non-atomic attributes.
30791 - bpo-23076: Path.glob() now raises a ValueError if it's called with an
30794 - bpo-19883: Fixed possible integer overflows in zipimport.
30796 - bpo-26227: On Windows, getnameinfo(), gethostbyaddr() and
30798 from the ANSI code page rather than UTF-8.
30800 - bpo-26099: The site module now writes an error into stderr if
30804 - bpo-26147: xmlrpc now works with strings not encodable with used non-UTF-8
30807 - bpo-25935: Garbage collector now breaks reference loops with OrderedDict.
30809 - bpo-16620: Fixed AttributeError in msilib.Directory.glob().
30811 - bpo-26013: Added compatibility with broken protocol 2 pickles created in
30814 - bpo-26129: Deprecated accepting non-integers in grp.getgrgid().
30816 - bpo-25850: Use cross-compilation by default for 64-bit Windows.
30818 - bpo-25822: Add docstrings to the fields of urllib.parse results. Patch
30821 - bpo-22642: Convert trace module option parsing mechanism to argparse.
30824 - bpo-24705: Fix sysconfig._parse_makefile not expanding ${} vars appearing
30827 - bpo-26069: Remove the deprecated apis in the trace module.
30829 - bpo-22138: Fix mock.patch behavior when patching descriptors. Restore
30832 - bpo-25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
30835 - bpo-26012: Don't traverse into symlinks for ``**`` pattern in
30838 - bpo-24120: Ignore PermissionError when traversing a tree with
30841 - bpo-21815: Accept ] characters in the data portion of imap responses, in
30845 - bpo-25447: fileinput now uses sys.stdin as-is if it does not have a buffer
30848 - bpo-25971: Optimized creating Fractions from floats by 2 times and from
30851 - bpo-25802: Document as deprecated the remaining implementations of
30854 - bpo-25928: Add Decimal.as_integer_ratio().
30856 - bpo-25447: Copying the lru_cache() wrapper object now always works,
30860 - bpo-25768: Have the functions in compileall return booleans instead of
30863 - bpo-24103: Fixed possible use after free in ElementTree.XMLPullParser.
30865 - bpo-25860: os.fwalk() no longer skips remaining directories when error
30868 - bpo-25914: Fixed and simplified OrderedDict.__sizeof__.
30870 - bpo-25869: Optimized deepcopying ElementTree; it is now 20 times faster.
30872 - bpo-25873: Optimized iterating ElementTree. Iterating elements
30876 - bpo-25902: Fixed various refcount issues in ElementTree iteration.
30878 - bpo-22227: The TarFile iterator is reimplemented using generator. This
30881 - bpo-25638: Optimized ElementTree.iterparse(); it is now 2x faster.
30884 - bpo-25761: Improved detecting errors in broken pickle data.
30886 - bpo-25717: Restore the previous behaviour of tolerating most fstat()
30890 - bpo-24903: Fix regression in number of arguments compileall accepts when
30891 '-d' is specified. The check on the number of arguments has been dropped
30894 - bpo-25764: In the subprocess module, preserve any exception caused by
30897 - bpo-25771: Tweak the exception message for importlib.util.resolve_name()
30900 - bpo-6478: _strptime's regexp cache now is reset after changing timezone
30903 - bpo-14285: When executing a package with the "python -m package" option,
30908 - bpo-19771: Also in runpy and the "-m" option, omit the irrelevant message
30912 - bpo-25177: Fixed problem with the mean of very small and very large
30916 - bpo-25718: Fixed copying object with state with boolean value is false.
30918 - bpo-10131: Fixed deep copying of minidom documents. Based on patch by
30921 - bpo-7990: dir() on ElementTree.Element now lists properties: "tag",
30924 - bpo-25725: Fixed a reference leak in pickle.loads() when unpickling
30927 - bpo-25663: In the Readline completer, avoid listing duplicate global
30930 - bpo-25688: Fixed file leak in ElementTree.iterparse() raising an error.
30932 - bpo-23914: Fixed SystemError raised by unpickler on broken pickle data.
30934 - bpo-25691: Fixed crash on deleting ElementTree.Element attributes.
30936 - bpo-25624: ZipFile now always writes a ZIP_STORED header for directory
30939 - bpo-25626: Change three zlib functions to accept sizes that fit in
30946 - bpo-25583: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
30949 - bpo-25593: Change semantics of EventLoop.stop() in asyncio.
30951 - bpo-6973: When we know a subprocess.Popen process has died, do not allow
30955 - bpo-23883: Added missing APIs to __all__ to match the documented APIs for
30961 - bpo-25590: In the Readline completer, only call getattr() once per
30965 - bpo-25498: Fix a crash when garbage-collecting ctypes objects created by
30969 - bpo-25584: Added "escape" to the __all__ list in the glob module.
30971 - bpo-25584: Fixed recursive glob() with patterns starting with ``**``.
30973 - bpo-25446: Fix regression in smtplib's AUTH LOGIN support.
30975 - bpo-18010: Fix the pydoc web server's module search function to handle
30978 - bpo-25554: Got rid of circular references in regular expression parsing.
30980 - bpo-18973: Command-line interface of the calendar module now uses argparse
30983 - bpo-25510: fileinput.FileInput.readline() now returns b'' instead of '' at
30987 - bpo-25503: Fixed inspect.getdoc() for inherited docstrings of properties.
30990 - bpo-25515: Always use os.urandom as a source of randomness in uuid.uuid4.
30992 - bpo-21827: Fixed textwrap.dedent() for the case when largest common
30996 - bpo-25447: The lru_cache() wrapper objects now can be copied and pickled
30999 - bpo-25390: typing: Don't crash on Union[str, Pattern].
31001 - bpo-25441: asyncio: Raise error from drain() when socket is closed.
31003 - bpo-25410: Cleaned up and fixed minor bugs in C implementation of
31006 - bpo-25411: Improved Unicode support in SMTPHandler through better use of
31009 - Move the imp module from a PendingDeprecationWarning to
31012 - bpo-25407: Remove mentions of the formatter module being removed in Python
31015 - bpo-25406: Fixed a bug in C implementation of OrderedDict.move_to_end()
31019 - bpo-25382: pickletools.dis() now outputs implicit memo index for the
31022 - bpo-25357: Add an optional newline parameter to binascii.b2a_base64().
31025 - bpo-24164: Objects that need calling ``__new__`` with keyword arguments,
31028 - bpo-25364: zipfile now works in threads disabled builds.
31030 - bpo-25328: smtpd's SMTPChannel now correctly raises a ValueError if both
31033 - bpo-16099: RobotFileParser now supports Crawl-delay and Request-rate
31036 - bpo-25316: distutils raises OSError instead of DistutilsPlatformError when
31039 - bpo-25380: Fixed protocol for the STACK_GLOBAL opcode in
31042 - bpo-23972: Updates asyncio datagram create method allowing reuseport and
31048 - bpo-25304: Add asyncio.run_coroutine_threadsafe(). This lets you submit a
31052 - bpo-25232: Fix CGIRequestHandler to split the query from the URL at the
31055 - bpo-24657: Prevent CGIRequestHandler from collapsing slashes in the query
31058 - bpo-25287: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not
31062 - bpo-23600: Default implementation of tzinfo.fromutc() was returning wrong
31065 - bpo-25203: Failed readline.set_completer_delims() no longer left the
31068 - bpo-25011: rlcompleter now omits private and special attribute names
31071 - bpo-25209: rlcompleter now can add a space or a colon after completed
31074 - bpo-22241: timezone.utc name is now plain 'UTC', not 'UTC-00:00'.
31076 - bpo-23517: fromtimestamp() and utcfromtimestamp() methods of
31079 rounding towards -Infinity (ROUND_FLOOR).
31081 - bpo-23552: Timeit now warns when there is substantial (4x) variance
31084 - bpo-24633: site-packages/README -> README.txt.
31086 - bpo-24879: help() and pydoc can now list named tuple fields in the order
31090 - bpo-24874: Improve speed of itertools.cycle() and make its pickle more
31093 - Fix crash in itertools.cycle.__setstate__() when the first argument wasn't
31096 - bpo-20059: urllib.parse raises ValueError on all invalid ports. Patch by
31099 - bpo-24360: Improve __repr__ of argparse.Namespace() for invalid
31102 - bpo-23426: run_setup was broken in distutils. Patch from Alexander
31105 - bpo-13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
31107 - bpo-2091: open() accepted a 'U' mode string containing '+', but 'U' can
31110 - bpo-8585: improved tests for zipimporter2. Patch from Mark Lawrence.
31112 - bpo-18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
31115 - bpo-24426: Fast searching optimization in regular expressions now works
31119 - bpo-23661: unittest.mock side_effects can now be exceptions again. This
31122 - bpo-13248: Remove deprecated inspect.getmoduleinfo function.
31124 - bpo-25578: Fix (another) memory leak in SSLSocket.getpeercer().
31126 - bpo-25530: Disable the vulnerable SSLv3 protocol by default when creating
31129 - bpo-25569: Fix memory leak in SSLSocket.getpeercert().
31131 - bpo-25471: Sockets returned from accept() shouldn't appear to be
31134 - bpo-25319: When threading.Event is reinitialized, the underlying condition
31137 - Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu
31140 - bpo-26050: Add asyncio.StreamReader.readuntil() method. Patch by Марк
31143 - bpo-25924: Avoid unnecessary serialization of getaddrinfo(3) calls on OS X
31146 - bpo-26406: Avoid unnecessary serialization of getaddrinfo(3) calls on
31149 - bpo-26848: Fix asyncio/subprocess.communicate() to handle empty input.
31152 - bpo-27040: Add loop.get_exception_handler method
31154 - bpo-27041: asyncio: Add loop.create_future method
31157 ----
31159 - bpo-20640: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav
31162 - In the 'IDLE-console differences' section of the IDLE doc, clarify how
31165 - bpo-25507: fix incorrect change in IOBinding that prevented printing.
31168 - bpo-25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION
31169 MARK in README.txt and open this and NEWS.txt with 'ascii'. Re-encode
31170 CREDITS.txt to utf-8 and open it with 'utf-8'.
31172 - bpo-15348: Stop the debugger engine (normally in a user process) before
31176 - bpo-24455: Prevent IDLE from hanging when a) closing the shell while the
31184 - Change 'The program' to 'Your program' in an IDLE 'kill program?' message
31188 - bpo-24750: Improve the appearance of the IDLE editor window status bar.
31191 - bpo-25313: Change the handling of new built-in text color themes to better
31195 - bpo-24782: Extension configuration is now a tab in the IDLE Preferences
31199 - bpo-22726: Re-activate the config dialog help button with some content
31202 - bpo-24820: IDLE now has an 'IDLE Dark' built-in text color theme. It is
31209 - bpo-25224: README.txt is now an idlelib index for IDLE developers and
31213 - bpo-24820: Users can now set breakpoint colors in Settings -> Custom
31216 - bpo-24972: Inactive selection background now matches active selection
31220 - bpo-24570: Idle: make calltip and completion boxes appear on Macs affected
31223 - bpo-24988: Idle ScrolledList context menus (used in debugger) now work on
31226 - bpo-24801: Make right-click for context menu work on Mac Aqua. Patch by
31229 - bpo-25173: Associate tkinter messageboxes with a specific widget. For Mac
31232 - bpo-25198: Enhance the initial html viewer now used for Idle Help.
31233 Properly indent fixed-pitch text (patch by Mark Roseman). Give code
31234 snippet a very Sphinx-like light blueish-gray background. Re-use initial
31239 - bpo-25225: Condense and rewrite Idle doc section on text colors.
31241 - bpo-21995: Explain some differences between IDLE and console Python.
31243 - bpo-22820: Explain need for *print* when running file from Idle editor.
31245 - bpo-25224: Doc: augment Idle feature list and no-subprocess section.
31247 - bpo-25219: Update doc for Idle command line options. Some were missing and
31250 - bpo-24861: Most of idlelib is private and subject to change. Use
31253 - bpo-25199: Idle: add synchronization comments for future maintainers.
31255 - bpo-16893: Replace help.txt with help.html for Idle doc display. The new
31262 - bpo-24199: Deprecate unused idlelib.idlever with possible removal in 3.6.
31264 - bpo-24790: Remove extraneous code (which also create 2 & 3 conflicts).
31267 -------------
31269 - bpo-26736: Used HTTPS for external links in the documentation if possible.
31271 - bpo-6953: Rework the Readline module documentation to group related
31275 - bpo-23606: Adds note to ctypes documentation regarding cdll.msvcrt.
31277 - bpo-24952: Clarify the default size argument of stack_size() in the
31280 - bpo-26014: Update 3.x packaging documentation: * "See also" links to the
31285 -----
31287 - bpo-21916: Added tests for the turtle module. Patch by ingrid, Gregory
31290 - bpo-26295: When using "python3 -m test --testdir=TESTDIR", regrtest
31293 - bpo-26523: The multiprocessing thread pool (multiprocessing.dummy.Pool)
31296 - bpo-26015: Added new tests for pickling iterators of mutable sequences.
31298 - bpo-26325: Added test.support.check_no_resource_warning() to check that no
31301 - bpo-25940: Changed test_ssl to use its internal local server more. This
31304 - bpo-25616: Tests for OrderedDict are extracted from test_collections into
31307 - bpo-25449: Added tests for OrderedDict subclasses.
31309 - bpo-25188: Add -P/--pgo to test.regrtest to suppress error output when
31313 - bpo-22806: Add ``python -m test --list-tests`` command to list tests.
31315 - bpo-18174: ``python -m test --huntrleaks ...`` now also checks for leak of
31318 - bpo-25260: Fix ``python -m test --coverage`` on Windows. Remove the list
31321 - ``PCbuild\rt.bat`` now accepts an unlimited number of arguments to pass
31324 - bpo-26583: Skip test_timestamp_overflow in test_import if bytecode files
31328 -----
31330 - bpo-21277: Don't try to link _ctypes with a ffi_convenience library.
31332 - bpo-26884: Fix linking extension modules for cross builds. Patch by Xavier
31335 - bpo-26932: Fixed support of RTLD_* constants defined as enum values, not
31338 - bpo-22359: Disable the rules for running _freeze_importlib and pgen when
31339 cross-compiling. The output of these programs is normally saved with the
31343 - bpo-21668: Link audioop, _datetime, _ctypes_test modules to libm, except
31346 - bpo-25702: A --with-lto configure option has been added that will enable
31347 link time optimizations at build time during a make profile-opt. Some
31350 provide a few % speed up over profile-opt alone.
31352 - bpo-26624: Adds validation of ucrtbase[d].dll version with warning for old
31355 - bpo-17603: Avoid error about nonexistent fileblocks.o file by using a
31356 lower-level check for st_blocks in struct stat.
31358 - bpo-26079: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern
31361 - bpo-26465: Update Windows builds to use OpenSSL 1.0.2g.
31363 - bpo-25348: Added ``--pgo`` and ``--pgo-job`` arguments to
31364 ``PCbuild\build.bat`` for building with Profile-Guided Optimization. The
31367 - bpo-25827: Add support for building with ICC to ``configure``, including a
31368 new ``--with-icc`` flag.
31370 - bpo-25696: Fix installation of Python on UNIX with make -j9.
31372 - bpo-24986: It is now possible to build Python on Windows without errors
31375 - bpo-24421: Compile Modules/_math.c once, before building extensions.
31379 - bpo-26465: Update OS X 10.5+ 32-bit-only installer to build and link with
31382 - bpo-26268: Update Windows builds to use OpenSSL 1.0.2f.
31384 - bpo-25136: Support Apple Xcode 7's new textual SDK stub libraries.
31386 - bpo-24324: Do not enable unreachable code warnings when using gcc as the
31388 silently removed as of gcc-4.5.
31391 -------
31393 - bpo-27053: Updates make_zip.py to correctly generate library ZIP file.
31395 - bpo-26268: Update the prepare_ssl.py script to handle OpenSSL releases
31399 - bpo-26071: bdist_wininst created binaries fail to start and find 32bit
31402 - bpo-26073: Update the list of magic numbers in launcher
31404 - bpo-26065: Excludes venv from library when generating embeddable distro.
31406 - bpo-25022: Removed very outdated PC/example_nt/ directory.
31409 -----------
31411 - bpo-26799: Fix python-gdb.py: don't get C types once when the Python code
31413 python-gdb.py is loaded before the Python executable. Patch written by
31416 - bpo-26271: Fix the Freeze tool to properly use flags passed through
31419 - bpo-26489: Add dictionary unpacking support to Tools/parser/unparse.py.
31422 - bpo-26316: Fix variable name typo in Argument Clinic.
31424 - bpo-25440: Fix output of python-config --extension-suffix.
31426 - bpo-25154: The pyvenv script has been deprecated in favour of `python3 -m
31430 -----
31432 - bpo-26312: SystemError is now raised in all programming bugs with using
31436 - bpo-26198: ValueError is now raised instead of TypeError on buffer
31445 *Release date: 2018-02-04*
31454 *Release date: 2018-01-23*
31457 --------
31459 - bpo-32551: The ``sys.path[0]`` initialization change for bpo-29139 caused
31468 named on the command line. (Originally reported as bpo-29723 against
31472 - bpo-30657: Fixed possible integer overflow in PyBytes_DecodeEscape,
31473 CVE-2017-1000158. Original patch by Jay Bosamiya; rebased to Python 3 by
31476 - bpo-30947: Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to
31480 -----------------
31482 - bpo-31095: Fix potential crash during GC caused by ``tp_dealloc`` which
31486 -------
31488 - bpo-32072: Fixed issues with binary plists: Fixed saving bytearrays.
31493 - bpo-31170: expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of
31494 partial characters for UTF-8 input (libexpat bug 115):
31501 *Release date: 2017-08-07*
31504 -------
31506 - bpo-30119: ftplib.FTP.putline() now throws ValueError on commands that
31507 contains CR or LF. Patch by Dong-hee Na.
31513 *Release date: 2017-07-23*
31516 --------
31518 - bpo-30730: Prevent environment variables injection in subprocess on
31522 - bpo-30694: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple
31523 security vulnerabilities including: CVE-2017-9233 (External entity
31524 infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix),
31525 CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to CVE-2016-0718) and
31526 CVE-2012-0876 (Counter hash flooding with SipHash). Note: the
31527 CVE-2016-5300 (Use os-specific entropy sources like getrandom) doesn't
31531 - bpo-30500: Fix urllib.parse.splithost() to correctly parse fragments. For
31536 - bpo-29591: Update expat copy from 2.1.1 to 2.2.0 to get fixes of
31537 CVE-2016-0718 and CVE-2016-4472. See
31541 -----------------
31543 - bpo-30876: Relative import from unloaded package now reimports the package
31544 instead of failing with SystemError. Relative import from non-package now
31547 - bpo-30765: Avoid blocking in pthread_mutex_lock() when
31550 - bpo-27945: Fixed various segfaults with dict when input collections are
31554 - bpo-25794: Fixed type.__setattr__() and type.__delattr__() for
31555 non-interned attribute names. Based on patch by Eryk Sun.
31557 - bpo-29935: Fixed error messages in the index() method of tuple, list and
31560 - bpo-28876: ``bool(range)`` works even if ``len(range)`` raises
31563 - bpo-29600: Fix wrapping coroutine return values in StopIteration.
31565 - bpo-29537: Restore runtime compatibility with bytecode files generated by
31571 - bpo-28598: Support __rmod__ for subclasses of str being called before
31574 - bpo-29602: Fix incorrect handling of signed zeros in complex constructor
31578 - bpo-29347: Fixed possibly dereferencing undefined pointers when creating
31581 - bpo-29438: Fixed use-after-free problem in key sharing dict.
31583 - bpo-29319: Prevent RunMainFromImporter overwriting sys.path[0].
31585 - bpo-29337: Fixed possible BytesWarning when compare the code objects.
31588 - bpo-29478: If max_line_length=None is specified while using the Compat32
31592 -------
31594 - bpo-29403: Fix ``unittest.mock``'s autospec to not fail on method-bound
31597 - bpo-30961: Fix decrementing a borrowed reference in tracemalloc.
31599 - bpo-30886: Fix multiprocessing.Queue.join_thread(): it now waits until the
31603 - bpo-29854: Fix segfault in readline when using readline's history-size
31606 - bpo-30807: signal.setitimer() may disable the timer when passed a tiny
31607 value. Tiny values (such as 1e-6) are valid non-zero values for
31608 setitimer(), which is specified as taking microsecond-resolution
31610 1e-6 into a zero interval, therefore disabling the timer instead of
31611 (re-)scheduling it.
31613 - bpo-30441: Fix bug when modifying os.environ while iterating over it
31615 - bpo-30532: Fix email header value parser dropping folding white space in
31618 - bpo-29169: Update zlib to 1.2.11.
31620 - bpo-30879: os.listdir() and os.scandir() now emit bytes names when called
31621 with bytes-like argument.
31623 - bpo-30746: Prohibited the '=' character in environment variable names in
31626 - bpo-29755: Fixed the lgettext() family of functions in the gettext module.
31629 - bpo-30645: Fix path calculation in imp.load_package(), fixing it for cases
31633 - bpo-23890: unittest.TestCase.assertRaises() now manually breaks a
31636 - bpo-30149: inspect.signature() now supports callables with
31637 variable-argument parameters wrapped with partialmethod. Patch by Dong-hee
31640 - bpo-29931: Fixed comparison check for ipaddress.ip_interface objects.
31643 - bpo-24484: Avoid race condition in multiprocessing cleanup.
31645 - bpo-28994: The traceback no longer displayed for SystemExit raised in a
31648 - bpo-30508: Don't log exceptions if Task/Future "cancel()" method was
31651 - bpo-28556: Updates to typing module: Add generic AsyncContextManager, add
31655 - bpo-29870: Fix ssl sockets leaks when connection is aborted in asyncio/ssl
31658 - bpo-29743: Closing transport during handshake process leaks open socket.
31661 - bpo-27585: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu
31664 - bpo-30418: On Windows, subprocess.Popen.communicate() now also ignore
31668 - bpo-30378: Fix the problem that logging.handlers.SysLogHandler cannot
31671 - bpo-29960: Preserve generator state when _random.Random.setstate() raises
31674 - bpo-30414: multiprocessing.Queue._feed background running thread do not
31677 - bpo-30003: Fix handling escape characters in HZ codec. Based on patch by
31680 - bpo-30301: Fix AttributeError when using SimpleQueue.empty() under *spawn*
31683 - bpo-30329: imaplib and poplib now catch the Windows socket WSAEINVAL error
31687 - bpo-30375: Warnings emitted when compile a regular expression now always
31691 - bpo-30048: Fixed ``Task.cancel()`` can be ignored when the task is running
31694 - bpo-29990: Fix range checking in GB18030 decoder. Original patch by Ma
31697 - bpo-26293: Change resulted because of zipfile breakage. (See also:
31698 bpo-29094)
31700 - bpo-30243: Removed the __init__ methods of _json's scanner and encoder.
31704 - bpo-30185: Avoid KeyboardInterrupt tracebacks in forkserver helper process
31705 when Ctrl-C is received.
31707 - bpo-28556: Various updates to typing module: add typing.NoReturn type, use
31708 WrapperDescriptorType, minor bug-fixes. Original PRs by Jim
31709 Fasarakis-Hilliard and Ivan Levkivskyi.
31711 - bpo-30205: Fix getsockname() for unbound AF_UNIX sockets on Linux.
31713 - bpo-30070: Fixed leaks and crashes in errors handling in the parser
31716 - bpo-30061: Fixed crashes in IOBase methods __next__() and readlines() when
31717 readline() or __next__() respectively return non-sizeable object. Fixed
31721 - bpo-30068: _io._IOBase.readlines will check if it's closed first when hint
31724 - bpo-29694: Fixed race condition in pathlib mkdir with flags parents=True.
31727 - bpo-29692: Fixed arbitrary unchaining of RuntimeError exceptions in
31730 - bpo-29998: Pickling and copying ImportError now preserves name and path
31733 - bpo-29942: Fix a crash in itertools.chain.from_iterable when encountering
31736 - bpo-27863: Fixed multiple crashes in ElementTree caused by race conditions
31739 - bpo-28699: Fixed a bug in pools in multiprocessing.pool that raising an
31743 - bpo-25803: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when
31746 - bpo-29861: Release references to tasks, their arguments and their results
31749 - bpo-29884: faulthandler: Restore the old sigaltstack during teardown.
31752 - bpo-25455: Fixed crashes in repr of recursive buffered file-like objects.
31754 - bpo-29800: Fix crashes in partial.__repr__ if the keys of partial.keywords
31757 - bpo-29742: get_extra_info() raises exception if get called on closed ssl
31760 - bpo-8256: Fixed possible failing or crashing input() if attributes
31764 - bpo-28298: Fix a bug that prevented array 'Q', 'L' and 'I' from accepting
31768 - bpo-29615: SimpleXMLRPCDispatcher no longer chains KeyError (or any other
31772 - bpo-29704: asyncio.subprocess.SubprocessStreamProtocol no longer closes
31775 - bpo-29703: Fix asyncio to support instantiation of new event loops in
31778 - bpo-29376: Fix assertion error in threading._DummyThread.is_alive().
31780 - bpo-29110: Fix file object leak in aifc.open() when file is given as a
31783 - bpo-28961: Fix unittest.mock._Call helper: don't ignore the name parameter
31786 - bpo-29532: Altering a kwarg dictionary passed to functools.partial() no
31789 - bpo-28556: Various updates to typing module: typing.Counter,
31793 - bpo-29100: Fix datetime.fromtimestamp() regression introduced in Python
31796 - bpo-29519: Fix weakref spewing exceptions during interpreter shutdown when
31799 - bpo-29416: Prevent infinite loop in pathlib.Path.mkdir
31801 - bpo-29444: Fixed out-of-bounds buffer access in the group() method of the
31804 - bpo-29335: Fix subprocess.Popen.wait() when the child process has exited
31807 - bpo-29290: Fix a regression in argparse that help messages would wrap at
31808 non-breaking spaces.
31810 - bpo-28735: Fixed the comparison of mock.MagickMock with mock.ANY.
31812 - bpo-29011: Fix an important omission by adding Deque to the typing module.
31814 - bpo-29219: Fixed infinite recursion in the repr of uninitialized
31817 - bpo-28969: Fixed race condition in C implementation of
31822 - bpo-29142: In urllib.request, suffixes in no_proxy environment variable
31827 -------------
31829 - bpo-30176: Add missing attribute related constants in curses
31832 - bpo-26985: Add missing info of code object in inspect documentation.
31834 - bpo-28929: Link the documentation to its source file on GitHub.
31836 - bpo-25008: Document smtpd.py as effectively deprecated and add a pointer
31837 to aiosmtpd, a third-party asyncio-based replacement.
31839 - bpo-26355: Add canonical header link on each page to corresponding major
31842 - bpo-29349: Fix Python 2 syntax in code for building the documentation.
31845 -----
31847 - bpo-30822: Fix regrtest command line parser to allow passing -u
31850 - bpo-30383: regrtest: Enhance regrtest and backport features from the
31851 master branch. Add options: --coverage, --testdir, --list-tests (list test
31852 files, don't run them), --list-cases (list test identifiers, don't run
31853 them, :issue:`30523`), --matchfile (load a list of test filters from a
31854 text file, :issue:`30540`), --slowest (alias to --slow). Enhance output:
31857 --huntrleaks: regrtest now warms up caches, create explicitly all internal
31861 - bpo-30357: test_thread: setUp() now uses support.threading_setup() and
31866 - bpo-28087: Skip test_asyncore and test_eintr poll failures on macOS. Skip
31870 - bpo-30197: Enhanced functions swap_attr() and swap_item() in the
31876 - bpo-29571: to match the behaviour of the ``re.LOCALE`` flag,
31879 correctly skip the test when the default locale encoding is a multi-byte
31883 -----
31885 - bpo-29243: Prevent unnecessary rebuilding of Python during ``make test``,
31887 ``--enable-optimizations``.
31889 - bpo-23404: Don't regenerate generated files based on file modification
31891 ``make regen-all``.
31893 - bpo-29643: Fix ``--enable-optimization`` didn't work.
31896 -------
31898 - bpo-30687: Locate msbuild.exe on Windows when building rather than
31901 - bpo-29392: Prevent crash when passing invalid arguments into msvcrt
31905 -----
31907 - bpo-27867: Function PySlice_GetIndicesEx() is replaced with a macro if
31911 - bpo-29083: Fixed the declaration of some public API functions.
31921 *Release date: 2017-01-17*
31930 *Release date: 2017-01-02*
31933 --------
31935 - bpo-27278: Fix os.urandom() implementation using getrandom() on Linux.
31939 - bpo-22636: Avoid shell injection problems with ctypes.util.find_library().
31942 -----------------
31944 - bpo-29073: bytearray formatting no longer truncates on first null byte.
31946 - bpo-28932: Do not include <sys/random.h> if it does not exist.
31948 - bpo-28147: Fix a memory leak in split-table dictionaries: setattr() must
31951 - bpo-25677: Correct the positioning of the syntax error caret for indented
31954 - bpo-29000: Fixed bytes formatting of octals with zero padding in alternate
31957 - bpo-28512: Fixed setting the offset attribute of SyntaxError by
31960 - bpo-28991: functools.lru_cache() was susceptible to an obscure reentrancy
31961 bug caused by a monkey-patched len() function.
31963 - bpo-28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X
31966 - bpo-19398: Extra slash no longer added to sys.path components in case of
31967 empty compile-time PYTHONPATH components.
31969 - bpo-28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug
31972 - bpo-23782: Fixed possible memory leak in _PyTraceback_Add() and exception
31975 - bpo-28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
31978 - bpo-28376: The type of long range iterator is now registered as Iterator.
31981 - bpo-28376: The constructor of range_iterator now checks that step is not
31984 - bpo-26906: Resolving special methods of uninitialized type now causes
31987 - bpo-18287: PyType_Ready() now checks that tp_name is not NULL. Original
31990 - bpo-24098: Fixed possible crash when AST is changed in process of
31993 - bpo-28350: String constants with null character no longer interned.
31995 - bpo-26617: Fix crash when GC runs during weakref callbacks.
31997 - bpo-27942: String constants now interned recursively in tuples and
32000 - bpo-21578: Fixed misleading error message when ImportError called with
32003 - bpo-28203: Fix incorrect type in error message from ``complex(1.0,
32006 - bpo-27955: Fallback on reading /dev/urandom device when the getrandom()
32009 - bpo-28131: Fix a regression in zipimport's compile_source(). zipimport
32012 - bpo-25221: Fix corrupted result from PyLong_FromLong(0) when Python is
32015 - bpo-25758: Prevents zipimport from unnecessarily encoding a filename
32018 - bpo-28189: dictitems_contains no longer swallows compare errors. (Patch by
32021 - bpo-27812: Properly clear out a generator's frame's backreference to the
32024 - bpo-27811: Fix a crash when a coroutine that has not been awaited is
32025 finalized with warnings-as-errors enabled.
32027 - bpo-27587: Fix another issue found by PVS-Studio: Null pointer check after
32030 - bpo-26020: set literal evaluation order did not match documented
32033 - bpo-27782: Multi-phase extension module import now correctly allows the
32035 of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang.
32037 - bpo-27936: The round() function accepted a second None argument for some
32041 - bpo-27487: Warn if a submodule argument to "python -m" or
32045 - bpo-27558: Fix a SystemError in the implementation of "raise" statement.
32049 - bpo-27419: Standard __import__() no longer look up "__import__" in globals
32051 error of non-string package name.
32053 - bpo-27083: Respect the PYTHONCASEOK environment variable under Windows.
32055 - bpo-27514: Make having too many statically nested blocks a SyntaxError
32058 - bpo-27473: Fixed possible integer overflow in bytes and bytearray
32061 - bpo-27507: Add integer overflow check in bytearray.extend(). Patch by
32064 - bpo-27581: Don't rely on wrapping for overflow check in
32067 - bpo-27443: __length_hint__() of bytearray iterators no longer return a
32070 - bpo-27942: Fix memory leak in codeobject.c
32073 -------
32075 - bpo-15812: inspect.getframeinfo() now correctly shows the first line of a
32078 - bpo-29094: Offsets in a ZIP file created with extern file object and modes
32081 - bpo-13051: Fixed recursion errors in large or resized
32084 - bpo-29119: Fix weakrefs in the pure python version of
32088 - bpo-9770: curses.ascii predicates now work correctly with negative
32091 - bpo-28427: old keys should not remove new values from WeakValueDictionary
32094 - bpo-28923: Remove editor artifacts from Tix.py.
32096 - bpo-28871: Fixed a crash when deallocate deep ElementTree.
32098 - bpo-19542: Fix bugs in WeakValueDictionary.setdefault() and
32101 - bpo-20191: Fixed a crash in resource.prlimit() when pass a sequence that
32104 - bpo-28779: multiprocessing.set_forkserver_preload() would crash the
32108 - bpo-28847: dbm.dumb now supports reading read-only files and no longer
32111 - bpo-25659: In ctypes, prevent a crash calling the from_buffer() and
32114 - bpo-28732: Fix crash in os.spawnv() with no elements in args
32116 - bpo-28485: Always raise ValueError for negative
32120 - bpo-28387: Fixed possible crash in _io.TextIOWrapper deallocator when the
32124 - bpo-27517: LZMA compressor and decompressor no longer raise exceptions if
32127 - bpo-28549: Fixed segfault in curses's addch() with ncurses6.
32129 - bpo-28449: tarfile.open() with mode "r" or "r:" now tries to open a tar
32133 - bpo-23262: The webbrowser module now supports Firefox 36+ and derived
32136 - bpo-27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
32140 - bpo-28255: calendar.TextCalendar().prmonth() no longer prints a space at
32144 - bpo-20491: The textwrap.TextWrapper class now honors non-breaking spaces.
32147 - bpo-28353: os.fwalk() no longer fails on broken links.
32149 - bpo-25464: Fixed HList.header_exists() in tkinter.tix module by addin a
32152 - bpo-28488: shutil.make_archive() no longer add entry "./" to ZIP archive.
32154 - bpo-24452: Make webbrowser support Chrome on Mac OS X.
32156 - bpo-20766: Fix references leaked by pdb in the handling of SIGINT
32159 - bpo-26293: Fixed writing ZIP files that starts not from the start of the
32163 - bpo-28321: Fixed writing non-BMP characters with binary format in
32166 - bpo-28322: Fixed possible crashes when unpickle itertools objects from
32169 - Fix possible integer overflows and crashes in the mmap module with unusual
32172 - bpo-1703178: Fix the ability to pass the --link-objects option to the
32175 - bpo-28253: Fixed calendar functions for extreme months: 0001-01 and
32176 9999-12. Methods itermonthdays() and itermonthdays2() are reimplemented so
32180 - bpo-28275: Fixed possible use after free in the decompress() methods of
32184 - bpo-27897: Fixed possible crash in sqlite3.Connection.create_collation()
32185 if pass invalid string-like object as a name. Patch by Xiang Zhang.
32187 - bpo-18893: Fix invalid exception handling in Lib/ctypes/macholib/dyld.py.
32190 - bpo-27611: Fixed support of default root window in the tkinter.tix module.
32192 - bpo-27348: In the traceback module, restore the formatting of exception
32196 - bpo-25651: Allow falsy values to be used for msg parameter of subTest().
32198 - bpo-27932: Prevent memory leak in win32_ver().
32200 - Fix UnboundLocalError in socket._sendfile_use_sendfile.
32202 - bpo-28075: Check for ERROR_ACCESS_DENIED in Windows implementation of
32205 - bpo-25270: Prevent codecs.escape_encode() from raising SystemError when an
32208 - bpo-28181: Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
32210 - bpo-25895: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by
32213 - bpo-27599: Fixed buffer overrun in binascii.b2a_qp() and
32216 - bpo-19003: m email.generator now replaces only ``\r`` and/or ``\n`` line
32219 - bpo-28019: itertools.count() no longer rounds non-integer step in range
32222 - bpo-25969: Update the lib2to3 grammar to handle the unpacking
32225 - bpo-14977: mailcap now respects the order of the lines in the mailcap
32228 - bpo-24594: Validates persist parameter when opening MSI database
32230 - bpo-17582: xml.etree.ElementTree nows preserves whitespaces in attributes
32233 - bpo-28047: Fixed calculation of line length used for the base64 CTE in the
32236 - bpo-27445: Don't pass str(_charset) to MIMEText.set_payload(). Patch by
32239 - bpo-22450: urllib now includes an ``Accept: */*`` header among the default
32243 - lib2to3.pgen3.driver.load_grammar() now creates a stable cache file
32247 - bpo-27570: Avoid zero-length memcpy() etc calls with null source pointers
32250 - bpo-22233: Break email header lines *only* on the RFC specified CR and LF
32254 - bpo-27988: Fix email iter_attachments incorrect mutation of payload list.
32256 - bpo-27691: Fix ssl module's parsing of GEN_RID subject alternative name
32259 - bpo-27850: Remove 3DES from ssl module's default cipher list to counter
32260 measure sweet32 attack (CVE-2016-2183).
32262 - bpo-27766: Add ChaCha20 Poly1305 to ssl module's default cipher list.
32265 - bpo-26470: Port ssl and hashlib module to OpenSSL 1.1.0.
32267 - Remove support for passing a file descriptor to os.access. It never worked
32270 - bpo-12885: Fix error when distutils encounters symlink.
32272 - bpo-27881: Fixed possible bugs when setting
32275 - bpo-27861: Fixed a crash in sqlite3.Connection.cursor() when a factory
32278 - bpo-19884: Avoid spurious output on OS X with Gnu Readline.
32280 - bpo-27706: Restore deterministic behavior of random.Random().seed() for
32285 - bpo-10513: Fix a regression in Connection.commit(). Statements should not
32288 - A new version of typing.py from https://github.com/python/typing:
32293 - bpo-27539: Fix unnormalised ``Fraction.__pow__`` result in the case of
32296 - bpo-21718: cursor.description is now available for queries using CTEs.
32298 - bpo-2466: posixpath.ismount now correctly recognizes mount points which
32301 - bpo-27773: Correct some memory management errors server_hostname in
32304 - bpo-26750: unittest.mock.create_autospec() now works properly for
32307 - In the curses module, raise an error if window.getstr() or window.instr()
32310 - bpo-27783: Fix possible usage of uninitialized memory in
32313 - bpo-27774: Fix possible Py_DECREF on unowned object in _sre.
32315 - bpo-27760: Fix possible integer overflow in binascii.b2a_qp.
32317 - bpo-27758: Fix possible integer overflow in the _csv module for large
32320 - bpo-27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
32324 - bpo-27656: Do not assume sched.h defines any SCHED_* constants.
32326 - bpo-27130: In the "zlib" module, fix handling of large buffers (typically
32331 - bpo-27533: Release GIL in nt._isdir
32333 - bpo-17711: Fixed unpickling by the persistent ID with protocol 0. Original
32336 - bpo-27522: Avoid an unintentional reference cycle in email.feedparser.
32338 - bpo-26844: Fix error message for imp.find_module() to refer to 'path'
32341 - bpo-23804: Fix SSL zero-length recv() calls to not block and not raise an
32344 - bpo-27466: Change time format returned by http.cookie.time2netscape,
32348 - bpo-26664: Fix activate.fish by removing mis-use of ``$``.
32350 - bpo-22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong
32354 - Fix a scoping issue in importlib.util.LazyLoader which triggered an
32355 UnboundLocalError when lazy-loading a module that was already put into
32358 - bpo-27079: Fixed curses.ascii functions isblank(), iscntrl() and
32361 - bpo-26754: Some functions (compile() etc) accepted a filename argument
32362 encoded as an iterable of integers. Now only strings and byte-like objects
32365 - bpo-27048: Prevents distutils failing on Windows when environment
32366 variables contain non-ASCII characters
32368 - bpo-27330: Fixed possible leaks in the ctypes module.
32370 - bpo-27238: Got rid of bare excepts in the turtle module. Original patch
32373 - bpo-27122: When an exception is raised within the context being managed by
32375 raises it in a chain, do not re-raise the original exception when exiting,
32379 - bpo-26386: Fixed ttk.TreeView selection operations with item id's
32382 - bpo-16182: Fix various functions in the "readline" module to use the
32386 - bpo-27392: Add loop.connect_accepted_socket(). Patch by Jim Fulton.
32388 - bpo-27930: Improved behaviour of logging.handlers.QueueListener. Thanks to
32391 - bpo-21201: Improves readability of multiprocessing error message. Thanks
32394 - bpo-27456: asyncio: Set TCP_NODELAY by default.
32396 - bpo-27906: Fix socket accept exhaustion during high TCP traffic. Patch by
32399 - bpo-28174: Handle when SO_REUSEPORT isn't properly supported. Patch by
32402 - bpo-26654: Inspect functools.partial in asyncio.Handle.__repr__. Patch by
32405 - bpo-26909: Fix slow pipes IO in asyncio. Patch by INADA Naoki.
32407 - bpo-28176: Fix callbacks race in asyncio.SelectorLoop.sock_connect.
32409 - bpo-27759: Fix selectors incorrectly retain invalid file descriptors.
32412 - bpo-28368: Refuse monitoring processes if the child watcher has no loop
32415 - bpo-28369: Raise RuntimeError when transport's FD is used with add_reader,
32418 - bpo-28370: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг
32421 - bpo-28371: Deprecate passing asyncio.Handles to run_in_executor.
32423 - bpo-28372: Fix asyncio to support formatting of non-python coroutines.
32425 - bpo-28399: Remove UNIX socket from FS before binding. Patch by Коренберг
32428 - bpo-27972: Prohibit Tasks to await on themselves.
32430 - bpo-26923: Fix asyncio.Gather to refuse being cancelled once all children
32433 - bpo-26796: Don't configure the number of workers for default threadpool
32436 - bpo-28600: Optimize loop.call_soon().
32438 - bpo-28613: Fix get_event_loop() return the current loop if called from
32441 - bpo-28639: Fix inspect.isawaitable to always return bool Patch by Justin
32444 - bpo-28652: Make loop methods reject socket kinds they do not support.
32446 - bpo-28653: Fix a refleak in functools.lru_cache.
32448 - bpo-28703: Fix asyncio.iscoroutinefunction to handle Mock objects.
32450 - bpo-24142: Reading a corrupt config file left the parser in an invalid
32453 - bpo-28990: Fix SSL hanging if connection is closed before handshake
32454 completed. (Patch by HoHo-Ho)
32457 ----
32459 - bpo-15308: Add 'interrupt execution' (^C) to Shell menu. Patch by Roger
32462 - bpo-27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
32464 - Add version to title of IDLE help window.
32466 - bpo-25564: In section on IDLE -- console differences, mention that using
32469 - bpo-27714: text_textview and test_autocomplete now pass when re-run in the
32470 same process. This occurs when test_idle fails when run with the -w
32471 option but without -jn. Fix warning from test_config.
32473 - bpo-25507: IDLE no longer runs buggy code because of its tkinter imports.
32476 - bpo-27452: add line counter and crc to IDLE configHandler test dump.
32478 - bpo-27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.
32480 - bpo-27245: IDLE: Cleanly delete custom themes and key bindings.
32485 -----
32487 - bpo-28808: PyUnicode_CompareWithASCIIString() now never raises exceptions.
32489 - bpo-26754: PyUnicode_FSDecoder() accepted a filename argument encoded as
32490 an iterable of integers. Now only strings and bytes-like objects are
32494 -------------
32496 - bpo-28513: Documented command-line interface of zipfile.
32499 -----
32501 - bpo-28950: Disallow -j0 to be combined with -T/-l/-M in regrtest command
32504 - bpo-28666: Now test.support.rmtree is able to remove unwritable or
32507 - bpo-23839: Various caches now are cleared before running every test file.
32509 - bpo-28409: regrtest: fix the parser of command line arguments.
32511 - bpo-27787: Call gc.collect() before checking each test for "dangling
32514 - bpo-27369: In test_pyexpat, avoid testing an error message detail that
32518 -----------
32520 - bpo-27952: Get Tools/scripts/fixcid.py working with Python 3 and the
32524 - bpo-27332: Fixed the type of the first argument of module-level functions
32527 - bpo-27418: Fixed Tools/importbench/importbench.py.
32530 -------
32532 - bpo-28251: Improvements to help manuals on Windows.
32534 - bpo-28110: launcher.msi has different product codes between 32-bit and
32535 64-bit
32537 - bpo-25144: Ensures TargetDir is set before continuing with custom install.
32539 - bpo-27469: Adds a shell extension to the launcher so that drag and drop
32542 - bpo-27309: Enabled proper Windows styles in python[w].exe manifest.
32545 -----
32547 - bpo-29080: Removes hard dependency on hg.exe from PCBuild/build.bat
32549 - bpo-23903: Added missed names to PC/python3.def.
32551 - bpo-10656: Fix out-of-tree building on AIX. Patch by Tristan Carel and
32554 - bpo-26359: Rename --with-optimiations to --enable-optimizations.
32556 - bpo-28444: Fix missing extensions modules when cross compiling.
32558 - bpo-28248: Update Windows build and OS X installers to use OpenSSL 1.0.2j.
32560 - bpo-28258: Fixed build with Estonian locale (python-config and distclean
32563 - bpo-26661: setup.py now detects system libffi with multiarch wrapper.
32565 - bpo-28066: Fix the logic that searches build directories for generated
32568 - bpo-15819: Remove redundant include search directory option for building
32571 - bpo-27566: Fix clean target in freeze makefile (patch by Lisa Roach)
32573 - bpo-27705: Update message in validate_ucrtbase.py
32575 - bpo-27983: Cause lack of llvm-profdata tool when using clang as required
32577 --with-optimizations is enabled. Also improve our ability to find the
32578 llvm-profdata tool on MacOS and some Linuxes.
32580 - bpo-26307: The profile-opt build now applies PGO to the built-in modules.
32582 - bpo-26359: Add the --with-optimizations configure flag.
32584 - bpo-27713: Suppress spurious build warnings when updating importlib's
32587 - bpo-25825: Correct the references to Modules/python.exp and ld_so_aix,
32592 - bpo-27453: CPP invocation in configure must use CPPFLAGS. Patch by Chi
32595 - bpo-27641: The configure script now inserts comments into the makefile to
32597 cross-compiled.
32599 - bpo-26662: Set PYTHON_FOR_GEN in configure as the Python program to be
32602 - bpo-10910: Avoid C++ compilation errors on FreeBSD and OS X. Also update
32603 FreedBSD version checks for the original ctype UTF-8 workaround.
32605 - bpo-28676: Prevent missing 'getentropy' declaration warning on macOS.
32612 *Release date: 2016-06-26*
32615 -----------------
32617 - bpo-26930: Update Windows builds to use OpenSSL 1.0.2h.
32620 -----
32622 - bpo-26867: Ubuntu's openssl OP_NO_SSLv3 is forced on by default; fix test.
32625 ----
32627 - bpo-27365: Allow non-ascii in idlelib/NEWS.txt - minimal part for 3.5.2.
32633 *Release date: 2016-06-12*
32636 --------
32638 - bpo-26556: Update expat to 2.1.1, fixes CVE-2015-1283.
32640 - Fix TLS stripping vulnerability in smtplib, CVE-2016-0772. Reported by
32643 - bpo-26839: On Linux, :func:`os.urandom` now calls ``getrandom()`` with
32647 - bpo-26657: Fix directory traversal vulnerability with http.server on
32651 - bpo-26313: ssl.py _load_windows_store_certs fails if windows cert store is
32654 - bpo-25939: On Windows open the cert store readonly in
32658 -----------------
32660 - bpo-27066: Fixed SystemError if a custom opener (for open()) returns a
32663 - bpo-20041: Fixed TypeError when frame.f_trace is set to None. Patch by
32666 - bpo-26168: Fixed possible refleaks in failing Py_BuildValue() with the "N"
32669 - bpo-26991: Fix possible refleak when creating a function with annotations.
32671 - bpo-27039: Fixed bytearray.remove() for values greater than 127. Patch by
32674 - bpo-23640: int.from_bytes() no longer bypasses constructors for
32677 - bpo-26811: gc.get_objects() no longer contains a broken tuple with NULL
32680 - bpo-20120: Use RawConfigParser for .pypirc parsing, removing support for
32685 - bpo-26659: Make the builtin slice type support cycle collection.
32687 - bpo-26718: super.__init__ no longer leaks memory if called multiple times.
32690 - bpo-25339: PYTHONIOENCODING now has priority over locale in setting the
32693 - bpo-26494: Fixed crash on iterating exhausting iterators. Affected classes
32698 - bpo-26581: If coding cookie is specified multiple times on a line in
32701 - bpo-26464: Fix str.translate() when string is ASCII and first replacements
32702 removes character, but next replacement uses a non-ASCII character or a
32705 - bpo-22836: Ensure exception reports from PyErr_Display() and
32710 - bpo-26302: Correct behavior to reject comma as a legal character for
32713 - bpo-4806: Avoid masking the original TypeError exception when using star
32717 - bpo-27138: Fix the doc comment for FileFinder.find_spec().
32719 - bpo-26154: Add a new private _PyThreadState_UncheckedGet() function to get
32726 - bpo-26194: Deque.insert() gave odd results for bounded deques that had
32730 - bpo-25843: When compiling code, don't merge constants if they are equal
32736 - bpo-22995: [UPDATE] Comment out the one of the pickleability tests in
32737 _PyObject_GetState() due to regressions observed in Cython-based projects.
32739 - bpo-25961: Disallowed null characters in the type name.
32741 - bpo-25973: Fix segfault when an invalid nonlocal statement binds a name
32744 - bpo-22995: Instances of extension types with a state that aren't
32745 subclasses of list or dict and haven't implemented any pickle-related
32749 - bpo-20440: Massive replacing unsafe attribute setting code with special
32752 - bpo-25766: Special method __bytes__() now works in str subclasses.
32754 - bpo-25421: __sizeof__ methods of builtin types now use dynamic basic size.
32758 - bpo-25709: Fixed problem with in-place string concatenation and utf-8
32761 - bpo-27147: Mention :pep:`420` in the importlib docs.
32763 - bpo-24097: Fixed crash in object.__reduce__() if slot name is freed inside
32766 - bpo-24731: Fixed crash on converting objects with special methods
32771 - bpo-26478: Fix semantic bugs when using binary operators with dictionary
32774 - bpo-26171: Fix possible integer overflow and heap corruption in
32777 - bpo-25660: Fix TAB key behaviour in REPL with readline.
32779 - bpo-25887: Raise a RuntimeError when a coroutine object is awaited more
32782 - bpo-27243: Update the __aiter__ protocol: instead of returning an
32788 -------
32790 - bpo-21386: Implement missing IPv4Address.is_global property. It was
32793 - bpo-20900: distutils register command now decodes HTTP responses
32796 - A new version of typing.py provides several new classes and features:
32804 - bpo-25738: Stop http.server.BaseHTTPRequestHandler.send_error() from
32809 - bpo-21313: Fix the "platform" module to tolerate when sys.version contains
32812 - bpo-27164: In the zlib module, allow decompressing raw Deflate streams
32815 - bpo-24291: Fix wsgiref.simple_server.WSGIRequestHandler to completely
32820 - bpo-26809: Add ``__all__`` to :mod:`string`. Patch by Emanuel Barry.
32822 - bpo-26373: subprocess.Popen.communicate now correctly ignores
32826 - bpo-21776: distutils.upload now correctly handles HTTPError. Initial patch
32829 - bpo-27114: Fix SSLContext._load_windows_store_certs fails with
32832 - bpo-18383: Avoid creating duplicate filters when using filterwarnings and
32835 - bpo-27057: Fix os.set_inheritable() on Android, ioctl() is blocked by
32839 - bpo-27014: Fix infinite recursion using typing.py. Thanks to Kalle Tuure!
32841 - bpo-14132: Fix urllib.request redirect handling when the target only has a
32844 - bpo-17214: The "urllib.request" module now percent-encodes non-ASCII bytes
32846 with non-ASCII bytes, but "http.client" requires the request target to be
32847 ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch
32850 - bpo-26892: Honor debuglevel flag in urllib.request.HTTPHandler. Patch
32853 - bpo-22274: In the subprocess module, allow stderr to be redirected to
32856 - bpo-26807: mock_open 'files' no longer error on readline at end of file.
32859 - bpo-25745: Fixed leaking a userptr in curses panel destructor.
32861 - bpo-26977: Removed unnecessary, and ignored, call to sum of squares helper
32864 - bpo-26881: The modulefinder module now supports extended opcode arguments.
32866 - bpo-23815: Fixed crashes related to directly created instances of types in
32869 - bpo-17765: weakref.ref() no longer silently ignores keyword arguments.
32872 - bpo-26873: xmlrpc now raises ResponseError on unsupported type tags
32875 - bpo-26711: Fixed the comparison of plistlib.Data with other types.
32877 - bpo-24114: Fix an uninitialized variable in `ctypes.util`. The bug only
32881 - bpo-26864: In urllib.request, change the proxy bypass host checking
32882 against no_proxy to be case-insensitive, and to not match unrelated host
32886 - bpo-26634: recursive_repr() now sets __qualname__ of wrapper. Patch by
32889 - bpo-26804: urllib.request will prefer lower_case proxy environment
32891 Hans-Peter Jansen.
32893 - bpo-26837: assertSequenceEqual() now correctly outputs non-stringified
32894 differing items (like bytes in the -b mode). This affects
32897 - bpo-26041: Remove "will be removed in Python 3.7" from deprecation
32901 - bpo-26822: itemgetter, attrgetter and methodcaller objects no longer
32904 - bpo-26733: Disassembling a class now disassembles class and static
32907 - bpo-26801: Fix error handling in :func:`shutil.get_terminal_size`, catch
32911 - bpo-24838: tarfile's ustar and gnu formats now correctly calculate name
32912 and link field limits for multibyte character encodings like utf-8.
32914 - bpo-26717: Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by
32917 - bpo-26735: Fix :func:`os.urandom` on Solaris 11.3 and newer when reading
32921 - bpo-16329: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola'.
32923 - bpo-13952: Add .csv to mimetypes.types_map. Patch by Geoff Wilson.
32925 - bpo-26709: Fixed Y2038 problem in loading binary PLists.
32927 - bpo-23735: Handle terminal resizing with Readline 6.3+ by installing our
32930 - bpo-26586: In http.server, respond with "413 Request header fields too
32934 - bpo-22854: Change BufferedReader.writable() and BufferedWriter.readable()
32937 - bpo-25195: Fix a regression in mock.MagicMock. _Call is a subclass of
32941 - bpo-26644: Raise ValueError rather than SystemError when a negative length
32944 - bpo-23804: Fix SSL recv(0) and read(0) methods to return zero bytes
32947 - bpo-26616: Fixed a bug in datetime.astimezone() method.
32949 - bpo-21925: :func:`warnings.formatwarning` now catches exceptions on
32953 - bpo-24266: Ctrl+C during Readline history search now cancels the search
32956 - bpo-26560: Avoid potential ValueError in BaseHandler.start_response.
32959 - bpo-26569: Fix :func:`pyclbr.readmodule` and :func:`pyclbr.readmodule_ex`
32962 - bpo-26499: Account for remaining Content-Length in HTTPResponse.readline()
32966 - bpo-25320: Handle sockets in directories unittest discovery is scanning.
32969 - bpo-16181: cookiejar.http2time() now returns None if year is higher than
32972 - bpo-26513: Fixes platform module detection of Windows Server
32974 - bpo-23718: Fixed parsing time in week 0 before Jan 1. Original patch by
32977 - bpo-20589: Invoking Path.owner() and Path.group() on Windows now raise
32980 - bpo-26177: Fixed the keys() method for Canvas and Scrollbar widgets.
32982 - bpo-15068: Got rid of excessive buffering in the fileinput module. The
32985 - bpo-2202: Fix UnboundLocalError in
32989 - bpo-25718: Fixed pickling and copying the accumulate() iterator with total
32992 - bpo-26475: Fixed debugging output for regular expressions with the (?x)
32995 - bpo-26457: Fixed the subnets() methods in IP network classes for the case
32999 - bpo-26385: Remove the file if the internal open() call in
33002 - bpo-26402: Fix XML-RPC client to retry when the server shuts down a
33006 - bpo-25913: Leading ``<~`` is optional now in base64.a85decode() with
33009 - bpo-26186: Remove an invalid type check in importlib.util.LazyLoader.
33011 - bpo-26367: importlib.__import__() raises SystemError like
33015 - bpo-26309: In the "socketserver" module, shut down the request (closing
33019 - bpo-25995: os.walk() no longer uses FDs proportional to the tree depth.
33021 - bpo-26117: The os.scandir() iterator now closes file descriptor not only
33024 - bpo-25911: Restored support of bytes paths in os.walk() on Windows.
33026 - bpo-26045: Add UTF-8 suggestion to error message when posting a
33027 non-Latin-1 string with http.client.
33029 - bpo-12923: Reset FancyURLopener's redirect counter even if there is an
33032 - bpo-25945: Fixed a crash when unpickle the functools.partial object with
33037 - bpo-26202: copy.deepcopy() now correctly copies range() objects with
33038 non-atomic attributes.
33040 - bpo-23076: Path.glob() now raises a ValueError if it's called with an
33043 - bpo-19883: Fixed possible integer overflows in zipimport.
33045 - bpo-26227: On Windows, getnameinfo(), gethostbyaddr() and
33047 from the ANSI code page rather than UTF-8.
33049 - bpo-26147: xmlrpc now works with strings not encodable with used non-UTF-8
33052 - bpo-25935: Garbage collector now breaks reference loops with OrderedDict.
33054 - bpo-16620: Fixed AttributeError in msilib.Directory.glob().
33056 - bpo-26013: Added compatibility with broken protocol 2 pickles created in
33059 - bpo-25850: Use cross-compilation by default for 64-bit Windows.
33061 - bpo-17633: Improve zipimport's support for namespace packages.
33063 - bpo-24705: Fix sysconfig._parse_makefile not expanding ${} vars appearing
33066 - bpo-22138: Fix mock.patch behavior when patching descriptors. Restore
33069 - bpo-25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
33072 - bpo-26012: Don't traverse into symlinks for ``**`` pattern in
33075 - bpo-24120: Ignore PermissionError when traversing a tree with
33078 - bpo-25447: fileinput now uses sys.stdin as-is if it does not have a buffer
33081 - bpo-25447: Copying the lru_cache() wrapper object now always works,
33085 - bpo-24103: Fixed possible use after free in ElementTree.XMLPullParser.
33087 - bpo-25860: os.fwalk() no longer skips remaining directories when error
33090 - bpo-25914: Fixed and simplified OrderedDict.__sizeof__.
33092 - bpo-25902: Fixed various refcount issues in ElementTree iteration.
33094 - bpo-25717: Restore the previous behaviour of tolerating most fstat()
33098 - bpo-24903: Fix regression in number of arguments compileall accepts when
33099 '-d' is specified. The check on the number of arguments has been dropped
33102 - bpo-25764: In the subprocess module, preserve any exception caused by
33105 - bpo-6478: _strptime's regexp cache now is reset after changing timezone
33108 - bpo-14285: When executing a package with the "python -m package" option,
33113 - bpo-19771: Also in runpy and the "-m" option, omit the irrelevant message
33117 - bpo-25177: Fixed problem with the mean of very small and very large
33121 - bpo-25718: Fixed copying object with state with boolean value is false.
33123 - bpo-10131: Fixed deep copying of minidom documents. Based on patch by
33126 - bpo-25725: Fixed a reference leak in pickle.loads() when unpickling
33129 - bpo-25663: In the Readline completer, avoid listing duplicate global
33132 - bpo-25688: Fixed file leak in ElementTree.iterparse() raising an error.
33134 - bpo-23914: Fixed SystemError raised by unpickler on broken pickle data.
33136 - bpo-25691: Fixed crash on deleting ElementTree.Element attributes.
33138 - bpo-25624: ZipFile now always writes a ZIP_STORED header for directory
33141 - Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu
33144 - bpo-26050: Add asyncio.StreamReader.readuntil() method. Patch by Марк
33147 - bpo-25924: Avoid unnecessary serialization of getaddrinfo(3) calls on OS X
33150 - bpo-26406: Avoid unnecessary serialization of getaddrinfo(3) calls on
33153 - bpo-26848: Fix asyncio/subprocess.communicate() to handle empty input.
33156 - bpo-27040: Add loop.get_exception_handler method
33158 - bpo-27041: asyncio: Add loop.create_future method
33160 - bpo-27223: asyncio: Fix _read_ready and _write_ready to respect
33163 - bpo-22970: asyncio: Fix inconsistency cancelling Condition.wait. Patch by
33167 ----
33169 - bpo-5124: Paste with text selected now replaces the selection on X11. This
33173 - bpo-24759: Make clear in idlelib.idle_test.__init__ that the directory is
33176 - bpo-27196: Stop 'ThemeChanged' warnings when running IDLE tests. These
33181 - bpo-20567: Revise idle_test/README.txt with advice about avoiding tk
33184 - bpo-27117: Make colorizer htest and turtledemo work with dark themes. Move
33187 - bpo-26673: When tk reports font size as 0, change to size 10. Such fonts
33190 - bpo-21939: Add test for IDLE's percolator. Original patch by Saimadhav
33193 - bpo-21676: Add test for IDLE's replace dialog. Original patch by Saimadhav
33196 - bpo-18410: Add test for IDLE's search dialog. Original patch by Westley
33199 - bpo-21703: Add test for IDLE's undo delegator. Original patch by Saimadhav
33202 - bpo-27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks.
33204 - bpo-23977: Add more asserts to test_delegator.
33206 - bpo-20640: Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav
33209 - In the 'IDLE-console differences' section of the IDLE doc, clarify how
33212 - bpo-25507: fix incorrect change in IOBinding that prevented printing.
33215 - bpo-25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION
33216 MARK in README.txt and open this and NEWS.txt with 'ascii'. Re-encode
33217 CREDITS.txt to utf-8 and open it with 'utf-8'.
33220 -------------
33222 - bpo-19489: Moved the search box from the sidebar to the header and footer
33225 - bpo-24136: Document the new :pep:`448` unpacking syntax of 3.5.
33227 - bpo-26736: Used HTTPS for external links in the documentation if possible.
33229 - bpo-6953: Rework the Readline module documentation to group related
33233 - bpo-23606: Adds note to ctypes documentation regarding cdll.msvcrt.
33235 - bpo-25500: Fix documentation to not claim that __import__ is searched for
33238 - bpo-26014: Update 3.x packaging documentation: * "See also" links to the
33243 -----
33245 - bpo-21916: Added tests for the turtle module. Patch by ingrid, Gregory
33248 - bpo-26523: The multiprocessing thread pool (multiprocessing.dummy.Pool)
33251 - bpo-26015: Added new tests for pickling iterators of mutable sequences.
33253 - bpo-26325: Added test.support.check_no_resource_warning() to check that no
33256 - bpo-25940: Changed test_ssl to use self-signed.pythontest.net. This
33259 - bpo-25616: Tests for OrderedDict are extracted from test_collections into
33262 - bpo-26583: Skip test_timestamp_overflow in test_import if bytecode files
33266 -----
33268 - bpo-26884: Fix linking extension modules for cross builds. Patch by Xavier
33271 - bpo-22359: Disable the rules for running _freeze_importlib and pgen when
33272 cross-compiling. The output of these programs is normally saved with the
33276 - bpo-27229: Fix the cross-compiling pgen rule for in-tree builds. Patch by
33279 - bpo-21668: Link audioop, _datetime, _ctypes_test modules to libm, except
33282 - bpo-25702: A --with-lto configure option has been added that will enable
33283 link time optimizations at build time during a make profile-opt. Some
33286 provide a few % speed up over profile-opt alone.
33288 - bpo-26624: Adds validation of ucrtbase[d].dll version with warning for old
33291 - bpo-17603: Avoid error about nonexistent fileblocks.o file by using a
33292 lower-level check for st_blocks in struct stat.
33294 - bpo-26079: Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern
33297 - bpo-26465: Update Windows builds to use OpenSSL 1.0.2g.
33299 - bpo-24421: Compile Modules/_math.c once, before building extensions.
33303 - bpo-25348: Added ``--pgo`` and ``--pgo-job`` arguments to
33304 ``PCbuild\build.bat`` for building with Profile-Guided Optimization. The
33306 ``PCbuild\build.bat --pgo %*``.
33308 - bpo-25827: Add support for building with ICC to ``configure``, including a
33309 new ``--with-icc`` flag.
33311 - bpo-25696: Fix installation of Python on UNIX with make -j9.
33313 - bpo-26930: Update OS X 10.5+ 32-bit-only installer to build and link with
33316 - bpo-26268: Update Windows builds to use OpenSSL 1.0.2f.
33318 - bpo-25136: Support Apple Xcode 7's new textual SDK stub libraries.
33320 - bpo-24324: Do not enable unreachable code warnings when using gcc as the
33322 silently removed as of gcc-4.5.
33325 -------
33327 - bpo-27053: Updates make_zip.py to correctly generate library ZIP file.
33329 - bpo-26268: Update the prepare_ssl.py script to handle OpenSSL releases
33333 - bpo-26071: bdist_wininst created binaries fail to start and find 32bit
33336 - bpo-26073: Update the list of magic numbers in launcher
33338 - bpo-26065: Excludes venv from library when generating embeddable distro.
33340 - bpo-17500: Remove unused and outdated icons. (See also:
33344 -----------
33346 - bpo-26799: Fix python-gdb.py: don't get C types once when the Python code
33348 python-gdb.py is loaded before the Python executable. Patch written by
33351 - bpo-26271: Fix the Freeze tool to properly use flags passed through
33354 - bpo-26489: Add dictionary unpacking support to Tools/parser/unparse.py.
33357 - bpo-26316: Fix variable name typo in Argument Clinic.
33363 *Release date: 2015-12-06*
33366 -----------------
33368 - bpo-25709: Fixed problem with in-place string concatenation and utf-8
33372 -------
33374 - bpo-25715: Python 3.5.1 installer shows wrong upgrade path and incorrect
33381 *Release date: 2015-11-22*
33384 -----------------
33386 - bpo-25630: Fix a possible segfault during argument parsing in functions
33389 - bpo-23564: Fixed a partially broken sanity check in the _posixsubprocess
33393 - bpo-25388: Fixed tokenizer crash when processing undecodable source code
33396 - bpo-25462: The hash of the key now is calculated only once in most
33399 - bpo-22995: Default implementation of __reduce__ and __reduce_ex__ now
33402 - bpo-25555: Fix parser and AST: fill lineno and col_offset of "arg" node
33405 - bpo-24802: Avoid buffer overreads when int(), float(), compile(), exec()
33406 and eval() are passed bytes-like objects. These objects are not
33410 - bpo-24726: Fixed a crash and leaking NULL in repr() of OrderedDict that
33413 - bpo-25449: Iterating OrderedDict with keys with unstable hash now raises
33416 - bpo-25395: Fixed crash when highly nested OrderedDict structures were
33419 - bpo-25274: sys.setrecursionlimit() now raises a RecursionError if the new
33421 Modify also the "lower-water mark" formula to make it monotonic. This mark
33424 - bpo-24402: Fix input() to prompt to the redirected stdout when
33427 - bpo-24806: Prevent builtin types that are not allowed to be subclassed
33430 - bpo-24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
33432 - bpo-25280: Import trace messages emitted in verbose (-v) mode are no
33435 - bpo-25003: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
33438 need such high-quality entropy.
33440 - bpo-25182: The stdprinter (used as sys.stderr before the io module is
33443 - bpo-25131: Make the line number and column offset of set/dict literals and
33446 - bpo-25150: Hide the private _Py_atomic_xxx symbols from the public
33452 -------
33454 - bpo-25626: Change three zlib functions to accept sizes that fit in
33461 - bpo-25583: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
33464 - bpo-25593: Change semantics of EventLoop.stop() in asyncio.
33466 - bpo-6973: When we know a subprocess.Popen process has died, do not allow
33470 - bpo-25590: In the Readline completer, only call getattr() once per
33473 - bpo-25498: Fix a crash when garbage-collecting ctypes objects created by
33477 - bpo-25584: Added "escape" to the __all__ list in the glob module.
33479 - bpo-25584: Fixed recursive glob() with patterns starting with ``**``.
33481 - bpo-25446: Fix regression in smtplib's AUTH LOGIN support.
33483 - bpo-18010: Fix the pydoc web server's module search function to handle
33486 - bpo-25554: Got rid of circular references in regular expression parsing.
33488 - bpo-25510: fileinput.FileInput.readline() now returns b'' instead of '' at
33492 - bpo-25503: Fixed inspect.getdoc() for inherited docstrings of properties.
33495 - bpo-25515: Always use os.urandom as a source of randomness in uuid.uuid4.
33497 - bpo-21827: Fixed textwrap.dedent() for the case when largest common
33501 - bpo-25447: The lru_cache() wrapper objects now can be copied and pickled
33504 - bpo-25390: typing: Don't crash on Union[str, Pattern].
33506 - bpo-25441: asyncio: Raise error from drain() when socket is closed.
33508 - bpo-25410: Cleaned up and fixed minor bugs in C implementation of
33511 - bpo-25411: Improved Unicode support in SMTPHandler through better use of
33514 - bpo-25407: Remove mentions of the formatter module being removed in Python
33517 - bpo-25406: Fixed a bug in C implementation of OrderedDict.move_to_end()
33521 - bpo-25364: zipfile now works in threads disabled builds.
33523 - bpo-25328: smtpd's SMTPChannel now correctly raises a ValueError if both
33526 - bpo-25316: distutils raises OSError instead of DistutilsPlatformError when
33529 - bpo-25380: Fixed protocol for the STACK_GLOBAL opcode in
33532 - bpo-23972: Updates asyncio datagram create method allowing reuseport and
33538 - bpo-25304: Add asyncio.run_coroutine_threadsafe(). This lets you submit a
33542 - bpo-25232: Fix CGIRequestHandler to split the query from the URL at the
33545 - bpo-24657: Prevent CGIRequestHandler from collapsing slashes in the query
33548 - bpo-24483: C implementation of functools.lru_cache() now calculates key's
33551 - bpo-22958: Constructor and update method of weakref.WeakValueDictionary
33554 - bpo-22609: Constructor of collections.UserDict now accepts the self
33557 - bpo-25111: Fixed comparison of traceback.FrameSummary.
33559 - bpo-25262: Added support for BINBYTES8 opcode in Python implementation of
33560 unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8
33561 opcodes no longer silently ignored on 32-bit platforms in C
33564 - bpo-25034: Fix string.Formatter problem with auto-numbering and nested
33567 - bpo-25233: Rewrite the guts of asyncio.Queue and asyncio.Semaphore to be
33570 - bpo-25203: Failed readline.set_completer_delims() no longer left the
33573 - bpo-23600: Default implementation of tzinfo.fromutc() was returning wrong
33576 - bpo-23329: Allow the ssl module to be built with older versions of
33579 - Prevent overflow in _Unpickler_Read.
33581 - bpo-25047: The XML encoding declaration written by Element Tree now
33583 write encoding names in uppercase like "UTF-8", which worked in Python 2.
33585 - bpo-25135: Make deque_clear() safer by emptying the deque before clearing.
33588 - bpo-19143: platform module now reads Windows version from kernel32.dll to
33591 - bpo-25092: Fix datetime.strftime() failure when errno was already set to
33594 - bpo-23517: Fix rounding in fromtimestamp() and utcfromtimestamp() methods
33603 - bpo-25155: Fix datetime.datetime.now() and datetime.datetime.utcnow() on
33607 - bpo-25108: Omitted internal frames in traceback functions print_stack(),
33610 - bpo-25118: Fix a regression of Python 3.5.0 in os.waitpid() on Windows.
33612 - bpo-24684: socket.socket.getaddrinfo() now calls
33618 - bpo-25060: Correctly compute stack usage of the BUILD_MAP opcode.
33620 - bpo-24857: Comparing call_args to a long sequence now correctly returns a
33623 - bpo-23144: Make sure that HTMLParser.feed() returns all the data, even
33626 - bpo-24982: shutil.make_archive() with the "zip" format now adds entries
33629 - bpo-25019: Fixed a crash caused by setting non-string key of expat parser.
33632 - bpo-16180: Exit pdb if file has syntax error, instead of trapping user in
33635 - bpo-24891: Fix a race condition at Python startup if the file descriptor
33641 - bpo-24992: Fix error handling and a race condition (related to garbage
33644 - bpo-24881: Fixed setting binary mode in Python implementation of FileIO on
33647 - bpo-25578: Fix (another) memory leak in SSLSocket.getpeercer().
33649 - bpo-25530: Disable the vulnerable SSLv3 protocol by default when creating
33652 - bpo-25569: Fix memory leak in SSLSocket.getpeercert().
33654 - bpo-25471: Sockets returned from accept() shouldn't appear to be
33657 - bpo-25319: When threading.Event is reinitialized, the underlying condition
33660 - bpo-21112: Fix regression in unittest.expectedFailure on subclasses. Patch
33663 - bpo-24764: cgi.FieldStorage.read_multi() now ignores the Content-Length
33667 - bpo-24913: Fix overrun error in deque.index(). Found by John Leitch and
33670 - bpo-24774: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.
33672 - bpo-21159: Improve message in
33675 - bpo-20362: Honour TestCase.longMessage correctly in assertRegex. Patch
33678 - bpo-23572: Fixed functools.singledispatch on classes with falsy
33681 - asyncio: ensure_future() now accepts awaitable objects.
33684 ----
33686 - bpo-15348: Stop the debugger engine (normally in a user process) before
33690 - bpo-24455: Prevent IDLE from hanging when a) closing the shell while the
33698 - Change 'The program' to 'Your program' in an IDLE 'kill program?' message
33702 - bpo-24750: Improve the appearance of the IDLE editor window status bar.
33705 - bpo-25313: Change the handling of new built-in text color themes to better
33709 - bpo-24782: Extension configuration is now a tab in the IDLE Preferences
33713 - bpo-22726: Re-activate the config dialog help button with some content
33716 - bpo-24820: IDLE now has an 'IDLE Dark' built-in text color theme. It is
33723 - bpo-25224: README.txt is now an idlelib index for IDLE developers and
33727 - bpo-24820: Users can now set breakpoint colors in Settings -> Custom
33730 - bpo-24972: Inactive selection background now matches active selection
33734 - bpo-24570: Idle: make calltip and completion boxes appear on Macs affected
33737 - bpo-24988: Idle ScrolledList context menus (used in debugger) now work on
33740 - bpo-24801: Make right-click for context menu work on Mac Aqua. Patch by
33743 - bpo-25173: Associate tkinter messageboxes with a specific widget. For Mac
33746 - bpo-25198: Enhance the initial html viewer now used for Idle Help.
33747 Properly indent fixed-pitch text (patch by Mark Roseman). Give code
33748 snippet a very Sphinx-like light blueish-gray background. Re-use initial
33753 - bpo-25225: Condense and rewrite Idle doc section on text colors.
33755 - bpo-21995: Explain some differences between IDLE and console Python.
33757 - bpo-22820: Explain need for *print* when running file from Idle editor.
33759 - bpo-25224: Doc: augment Idle feature list and no-subprocess section.
33761 - bpo-25219: Update doc for Idle command line options. Some were missing and
33764 - bpo-24861: Most of idlelib is private and subject to change. Use
33767 - bpo-25199: Idle: add synchronization comments for future maintainers.
33769 - bpo-16893: Replace help.txt with help.html for Idle doc display. The new
33776 - bpo-24199: Deprecate unused idlelib.idlever with possible removal in 3.6.
33778 - bpo-24790: Remove extraneous code (which also create 2 & 3 conflicts).
33781 -------------
33783 - bpo-22558: Add remaining doc links to source code for Python-coded
33786 - bpo-12067: Rewrite Comparisons section in the Expressions chapter of the
33790 and default behaviour and consistency suggestions for user-defined
33793 - bpo-24952: Clarify the default size argument of stack_size() in the
33796 - bpo-23725: Overhaul tempfile docs. Note deprecated status of mktemp. Patch
33797 from Zbigniew Jędrzejewski-Szmek.
33799 - bpo-24808: Update the types of some PyTypeObject fields. Patch by Joseph
33802 - bpo-22812: Fix unittest discovery examples. Patch from Pam McA'Nulty.
33805 -----
33807 - bpo-25449: Added tests for OrderedDict subclasses.
33809 - bpo-25099: Make test_compileall not fail when an entry on sys.path cannot
33812 - bpo-23919: Prevents assert dialogs appearing in the test suite.
33814 - ``PCbuild\rt.bat`` now accepts an unlimited number of arguments to pass
33818 -----
33820 - bpo-24915: Add LLVM support for PGO builds and use the test suite to
33823 - bpo-24910: Windows MSIs now have unique display names.
33825 - bpo-24986: It is now possible to build Python on Windows without errors
33829 -------
33831 - bpo-25450: Updates shortcuts to start Python in installation directory.
33833 - bpo-25164: Changes default all-users install directory to match per-user
33836 - bpo-25143: Improves installer error messages for unsupported platforms.
33838 - bpo-25163: Display correct directory in installer when using non-default
33841 - bpo-25361: Disables use of SSE2 instructions in Windows 32-bit build
33843 - bpo-25089: Adds logging to installer for case where launcher is not
33846 - bpo-25165: Windows uninstallation should not remove launcher if other
33849 - bpo-25112: py.exe launcher is missing icons
33851 - bpo-25102: Windows installer does not precompile for -O or -OO.
33853 - bpo-25081: Makes Back button in installer go back to upgrade page when
33856 - bpo-25091: Increases font size of the installer.
33858 - bpo-25126: Clarifies that the non-web installer will download some
33861 - bpo-25213: Restores requestedExecutionLevel to manifest to disable UAC
33864 - bpo-25022: Removed very outdated PC/example_nt/ directory.
33867 -----------
33869 - bpo-25440: Fix output of python-config --extension-suffix.
33875 *Release date: 2015-09-13*
33878 -----
33880 - bpo-25071: Windows installer should not require TargetDir parameter when
33887 *Release date: 2015-09-09*
33890 -------
33892 - bpo-25029: Fixes MemoryError in test_strptime.
33895 -----
33897 - bpo-25027: Reverts partial-static build options and adds vcruntime140.dll
33904 *Release date: 2015-09-07*
33907 -----------------
33909 - bpo-24305: Prevent import subsystem stack frames from being counted by the
33912 - bpo-24912: Prevent __class__ assignment to immutable built-in objects.
33914 - bpo-24975: Fix AST compilation for :pep:`448` syntax.
33917 -------
33919 - bpo-24917: time_strftime() buffer over-read.
33921 - bpo-24748: To resolve a compatibility problem found with py2exe and
33926 - bpo-24635: Fixed a bug in typing.py where isinstance([], typing.Iterable)
33929 - bpo-24989: Fixed buffer overread in BytesIO.readline() if a position is
33932 - bpo-24913: Fix overrun error in deque.index(). Found by John Leitch and
33939 *Release date: 2015-08-25*
33942 -----------------
33944 - bpo-24769: Interpreter now starts properly when dynamic loading is
33947 - bpo-21167: NAN operations are now handled correctly when python is
33948 compiled with ICC even if -fp-model strict is not specified.
33950 - bpo-24492: A "package" lacking a __name__ attribute when trying to perform
33955 -------
33957 - bpo-24847: Removes vcruntime140.dll dependency from Tcl/Tk.
33959 - bpo-24839: platform._syscmd_ver raises DeprecationWarning
33961 - bpo-24867: Fix Task.get_stack() for 'async def' coroutines
33967 *Release date: 2015-08-09*
33970 -----------------
33972 - bpo-24667: Resize odict in all cases that the underlying dict resizes.
33975 -------
33977 - bpo-24824: Signatures of codecs.encode() and codecs.decode() now are
33980 - bpo-24634: Importing uuid should not try to load libc on Windows
33982 - bpo-24798: _msvccompiler.py doesn't properly support manifests
33984 - bpo-4395: Better testing and documentation of binary operators. Patch by
33987 - bpo-23973: Update typing.py from GitHub repo.
33989 - bpo-23004: mock_open() now reads binary data correctly when the type of
33992 - bpo-23888: Handle fractional time in cookie expiry. Patch by ssh.
33994 - bpo-23652: Make it possible to compile the select module against the libc
33998 - bpo-22932: Fix timezones in email.utils.formatdate. Patch from Dmitry
34001 - bpo-23779: imaplib raises TypeError if authenticator tries to abort. Patch
34004 - bpo-23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
34007 - bpo-23254: Document how to close the TCPServer listening socket. Patch
34010 - bpo-19450: Update Windows and OS X installer builds to use SQLite 3.8.11.
34012 - bpo-17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
34014 - bpo-24791: Fix grammar regression for call syntax: 'g(\*a or b)'.
34017 ----
34019 - bpo-23672: Allow Idle to edit and run files with astral chars in name.
34022 - bpo-24745: Idle editor default font. Switch from Courier to
34023 platform-sensitive TkFixedFont. This should not affect current customized
34025 $HOME/.idlerc/config-main.cfg and remove 'fontxxx' entries from [Editor
34028 - bpo-21192: Idle editor. When a file is run, put its name in the restart
34031 - bpo-13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy.
34034 -------------
34036 - bpo-24129: Clarify the reference documentation for name resolution. This
34041 - bpo-20769: Improve reload() docs. Patch by Dorian Pula.
34043 - bpo-23589: Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan.
34045 - bpo-24729: Correct IO tutorial to match implementation regarding encoding
34049 -----
34051 - bpo-24751: When running regrtest with the ``-w`` command line option, a
34053 re-run.
34059 *Release date: 2015-07-26*
34062 -----------------
34064 - bpo-23573: Restored optimization of bytes.rfind() and bytearray.rfind()
34065 for single-byte argument on Linux.
34067 - bpo-24569: Make :pep:`448` dictionary evaluation more consistent.
34069 - bpo-24583: Fix crash when set is mutated while being updated.
34071 - bpo-24407: Fix crash when dict is mutated while being updated.
34073 - bpo-24619: New approach for tokenizing async/await. As a consequence, it
34074 is now possible to have one-line 'async def foo(): await ..' functions.
34076 - bpo-24687: Plug refleak on SyntaxError in function parameters annotations.
34078 - bpo-15944: memoryview: Allow arbitrary formats when casting to bytes.
34082 -------
34084 - bpo-23441: rcompleter now prints a tab character instead of displaying
34087 - bpo-24683: Fixed crashes in _json functions called with arguments of
34090 - bpo-21697: shutil.copytree() now correctly handles symbolic links that
34093 - bpo-14373: Fixed segmentation fault when gc.collect() is called during
34096 - bpo-24695: Fix a regression in traceback.print_exception(). If
34100 - bpo-24620: Random.setstate() now validates the value of state last
34103 - bpo-22485: Fixed an issue that caused `inspect.getsource` to return
34106 - bpo-22153: Improve unittest docs. Patch from Martin Panter and evilzero.
34108 - bpo-24580: Symbolic group references to open group in re patterns now are
34111 - bpo-24206: Fixed __eq__ and __ne__ methods of inspect classes.
34113 - bpo-24631: Fixed regression in the timeit module with multiline setup.
34115 - bpo-18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
34118 - bpo-23661: unittest.mock side_effects can now be exceptions again. This
34121 - bpo-24608: chunk.Chunk.read() now always returns bytes, not str.
34123 - bpo-18684: Fixed reading out of the buffer in the re module.
34125 - bpo-24259: tarfile now raises a ReadError if an archive is truncated
34128 - bpo-15014: SMTP.auth() and SMTP.login() now support RFC 4954's optional
34129 initial-response argument to the SMTP AUTH command.
34131 - bpo-24669: Fix inspect.getsource() for 'async def' functions. Patch by Kai
34134 - bpo-24688: ast.get_docstring() for 'async def' functions.
34137 -----
34139 - bpo-24603: Update Windows builds and OS X 10.5 installer to use OpenSSL
34146 *Release date: 2015-07-05*
34149 -----------------
34151 - bpo-24467: Fixed possible buffer over-read in bytearray. The bytearray
34153 now is always null-terminated.
34155 - Upgrade to Unicode 8.0.0.
34157 - bpo-24345: Add Py_tp_finalize slot for the stable ABI.
34159 - bpo-24400: Introduce a distinct type for :pep:`492` coroutines; add
34167 collections.abc.Coroutine can no longer be used to detect generator-based
34168 coroutines--use inspect.isawaitable instead.
34170 - bpo-24450: Add gi_yieldfrom to generators and cr_await to coroutines.
34173 - bpo-19235: Add new RecursionError exception. Patch by Georg Brandl.
34176 -------
34178 - bpo-21750: mock_open.read_data can now be read from each instance, as it
34181 - bpo-24552: Fix use after free in an error case of the _pickle module.
34183 - bpo-24514: tarfile now tolerates number fields consisting of only
34186 - bpo-19176: Fixed doctype() related bugs in C implementation of
34192 - bpo-20387: Restore semantic round-trip correctness in tokenize/untokenize
34193 for tab-indented blocks.
34195 - bpo-24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
34198 - bpo-24336: The contextmanager decorator now works with functions with
34201 - bpo-24522: Fix possible integer overflow in json accelerator module.
34203 - bpo-24489: ensure a previously set C errno doesn't disturb cmath.polar().
34205 - bpo-24408: Fixed AttributeError in measure() and metrics() methods of
34208 - bpo-14373: C implementation of functools.lru_cache() now can be used with
34211 - bpo-24347: Set KeyError if PyDict_GetItemWithError returns NULL.
34213 - bpo-24348: Drop superfluous incref/decref.
34215 - bpo-24359: Check for changed OrderedDict size during iteration.
34217 - bpo-24368: Support keyword arguments in OrderedDict methods.
34219 - bpo-24362: Simplify the C OrderedDict fast nodes resize logic.
34221 - bpo-24377: Fix a ref leak in OrderedDict.__repr__.
34223 - bpo-24369: Defend against key-changes during iteration.
34226 -----
34228 - bpo-24373: _testmultiphase and xxlimited now use tp_traverse and
34233 -------------
34235 - bpo-24458: Update documentation to cover multi-phase initialization for
34238 - bpo-24351: Clarify what is meant by "identifier" in the context of
34242 -----
34244 - bpo-24432: Update Windows builds and OS X 10.5 installer to use OpenSSL
34251 *Release date: 2015-05-31*
34254 -----------------
34256 - bpo-24284: The startswith and endswith methods of the str class no longer
34260 - bpo-24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
34264 - bpo-24328: Fix importing one character extension modules.
34266 - bpo-11205: In dictionary displays, evaluate the key before the value.
34268 - bpo-24285: Fixed regression that prevented importing extension modules
34272 -------
34274 - bpo-23247: Fix a crash in the StreamWriter.reset() of CJK codecs.
34276 - bpo-24270: Add math.isclose() and cmath.isclose() functions as per
34279 - bpo-5633: Fixed timeit when the statement is a string and the setup is
34282 - bpo-24326: Fixed audioop.ratecv() with non-default weightB argument.
34285 - bpo-16991: Add a C implementation of OrderedDict.
34287 - bpo-23934: Fix inspect.signature to fail correctly for builtin types
34294 *Release date: 2015-05-24*
34297 -----------------
34299 - bpo-24276: Fixed optimization of property descriptor getter.
34301 - bpo-24268: PEP 489: Multi-phase extension module initialization. Patch by
34304 - bpo-23955: Add pyvenv.cfg option to suppress registry/environment lookup
34307 - bpo-24257: Fixed system error in the comparison of faked
34310 - bpo-22939: Fixed integer overflow in iterator object. Patch by Clement
34313 - bpo-23985: Fix a possible buffer overrun when deleting a slice from the
34316 - bpo-24102: Fixed exception type checking in standard error handlers.
34318 - bpo-15027: The UTF-32 encoder is now 3x to 7x faster.
34320 - bpo-23290: Optimize set_merge() for cases where the target is empty.
34323 - bpo-2292: PEP 448: Additional Unpacking Generalizations.
34325 - bpo-24096: Make warnings.warn_explicit more robust against mutation of the
34328 - bpo-23996: Avoid a crash when a delegated generator raises an unnormalized
34331 - bpo-23910: Optimize property() getter calls. Patch by Joe Jevnik.
34333 - bpo-23911: Move path-based importlib bootstrap code to a separate frozen
34336 - bpo-24192: Fix namespace package imports.
34338 - bpo-24022: Fix tokenizer crash when processing undecodable source code.
34340 - bpo-9951: Added a hex() method to bytes, bytearray, and memoryview.
34342 - bpo-22906: PEP 479: Change StopIteration handling inside generators.
34344 - bpo-24017: PEP 492: Coroutines with async and await syntax.
34347 -------
34349 - bpo-14373: Added C implementation of functools.lru_cache(). Based on
34352 - bpo-24230: The tempfile module now accepts bytes for prefix, suffix and
34356 - bpo-22189: collections.UserString now supports __getnewargs__(),
34360 - bpo-24244: Prevents termination when an invalid format string is
34363 - bpo-23973: PEP 484: Add the typing module.
34365 - bpo-23086: The collections.abc.Sequence() abstract base class added
34369 - bpo-20035: Replaced the ``tkinter._fix`` module used for setting up the
34373 - bpo-24257: Fixed segmentation fault in sqlite3.Row constructor with faked
34376 - bpo-15836: assertRaises(), assertRaisesRegex(), assertWarns() and
34378 prevent possible user error. Based on patch by Daniel Wagner-Hall.
34380 - bpo-9858: Add missing method stubs to _io.RawIOBase. Patch by Laura
34383 - bpo-22955: attrgetter, itemgetter and methodcaller objects in the operator
34387 - bpo-22107: tempfile.gettempdir() and tempfile.mkdtemp() now try again when
34392 - bpo-23780: Improved error message in os.path.join() with single argument.
34394 - bpo-6598: Increased time precision and random number range in
34397 - bpo-24091: Fixed various crashes in corner cases in C implementation of
34400 - bpo-21931: msilib.FCICreate() now raises TypeError in the case of a bad
34404 - bpo-13866: *quote_via* argument added to urllib.parse.urlencode.
34406 - bpo-20098: New mangle_from policy option for email, default True for
34409 - bpo-24211: The email library now supports RFC 6532: it can generate
34410 headers using utf-8 instead of encoded words.
34412 - bpo-16314: Added support for the LZMA compression in distutils.
34414 - bpo-21804: poplib now supports RFC 6856 (UTF8).
34416 - bpo-18682: Optimized pprint functions for builtin scalar types.
34418 - bpo-22027: smtplib now supports RFC 6531 (SMTPUTF8).
34420 - bpo-23488: Random generator objects now consume 2x less memory on 64-bit.
34422 - bpo-1322: platform.dist() and platform.linux_distribution() functions are
34425 - bpo-22486: Added the math.gcd() function. The fractions.gcd() function
34428 - bpo-24064: Property() docstrings are now writeable. (Patch by Berker
34431 - bpo-22681: Added support for the koi8_t encoding.
34433 - bpo-22682: Added support for the kz1048 encoding.
34435 - bpo-23796: peek and read1 methods of BufferedReader now raise ValueError
34438 - bpo-21795: smtpd now supports the 8BITMIME extension whenever the new
34441 - bpo-24155: optimize heapq.heapify() for better cache performance when
34444 - bpo-21800: imaplib now supports RFC 5161 (enable), RFC 6855
34445 (utf8/internationalized email) and automatically encodes non-ASCII
34448 - bpo-20274: When calling a _sqlite.Connection, it now complains if passed
34451 - bpo-20274: Remove ignored and erroneous "kwargs" parameters from three
34454 - bpo-24134: assertRaises(), assertRaisesRegex(), assertWarns() and
34459 - bpo-24018: Add a collections.abc.Generator abstract base class.
34462 - bpo-23880: Tkinter's getint() and getdouble() now support Tcl_Obj.
34465 - bpo-22619: Added negative limit support in the traceback module. Based on
34468 - bpo-24094: Fix possible crash in json.encode with poorly behaved dict
34471 - bpo-9246: On POSIX, os.getcwd() now supports paths longer than 1025 bytes.
34474 - bpo-17445: add difflib.diff_bytes() to support comparison of byte strings
34477 - bpo-23917: Fall back to sequential compilation when ProcessPoolExecutor
34480 - bpo-23008: Fixed resolving attributes with boolean value is False in
34483 - Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't increment
34487 - bpo-23908: os functions now reject paths with embedded null character on
34490 - bpo-23728: binascii.crc_hqx() could return an integer outside of the range
34491 0-0xffff for empty data.
34493 - bpo-23887: urllib.error.HTTPError now has a proper repr() representation.
34496 - asyncio: New event loop APIs: set_task_factory() and get_task_factory().
34498 - asyncio: async() function is deprecated in favour of ensure_future().
34500 - bpo-24178: asyncio.Lock, Condition, Semaphore, and BoundedSemaphore
34503 - bpo-24179: Support 'async for' for asyncio.StreamReader. Contributed by
34506 - bpo-24184: Add AsyncIterator and AsyncIterable ABCs to collections.abc.
34509 - bpo-22547: Implement informative __repr__ for inspect.BoundArguments.
34512 - bpo-24190: Implement inspect.BoundArgument.apply_defaults() method.
34515 - bpo-20691: Add 'follow_wrapped' argument to
34519 - bpo-24248: Deprecate inspect.Signature.from_function() and
34522 - bpo-23898: Fix inspect.classify_class_attrs() to support attributes with
34525 - bpo-24298: Fix inspect.signature() to correctly unwrap wrappers around
34529 ----
34531 - bpo-23184: remove unused names and imports in idlelib. Initial patch by Al
34535 -----
34537 - bpo-21520: test_zipfile no longer fails if the word 'bad' appears anywhere
34540 - bpo-9517: Move script_helper into the support package. Patch by Christie
34544 -------------
34546 - bpo-22155: Add File Handlers subsection with createfilehandler to tkinter
34549 - bpo-24029: Document the name binding behavior for submodule imports.
34551 - bpo-24077: Fix typo in man page for -I command option: -s, not -S
34554 -----------
34556 - bpo-24000: Improved Argument Clinic's mapping of converters to legacy
34559 - bpo-24001: Argument Clinic converters now use accept={type} instead of
34562 - bpo-23330: h2py now supports arbitrary filenames in #include.
34564 - bpo-24031: make patchcheck now supports git checkouts, too.
34570 *Release date: 2015-04-19*
34573 -----------------
34575 - bpo-22980: Under Linux, GNU/KFreeBSD and the Hurd, C extensions now
34578 extension name now includes :pep:`3149`-style information.
34580 - bpo-22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES. Patch
34583 - bpo-23731: Implement :pep:`488`: removal of .pyo files.
34585 - bpo-23726: Don't enable GC for user subclasses of non-GC types that don't
34588 - bpo-23309: Avoid a deadlock at shutdown if a daemon thread is aborted
34593 - bpo-22977: Fixed formatting Windows error messages on Wine. Patch by
34596 - bpo-23466: %c, %o, %x, and %X in bytes formatting now raise TypeError on
34597 non-integer input.
34599 - bpo-24044: Fix possible null pointer dereference in list.sort in out of
34602 - bpo-21354: PyCFunction_New function is exposed by python DLL again.
34605 -------
34607 - bpo-23840: tokenize.open() now closes the temporary binary file on error
34610 - bpo-16914: new debuglevel 2 in smtplib adds timestamps to debug output.
34612 - bpo-7159: urllib.request now supports sending auth credentials
34616 - bpo-23703: Fix a regression in urljoin() introduced in 901e4e52b20a. Patch
34619 - bpo-4254: Adds _curses.update_lines_cols(). Patch by Arnon Yaari
34621 - bpo-19933: Provide default argument for ndigits in round. Patch by
34624 - bpo-23193: Add a numeric_owner parameter to tarfile.TarFile.extract and
34627 - bpo-23342: Add a subprocess.run() function than returns a CalledProcess
34630 - bpo-21217: inspect.getsourcelines() now tries to compute the start and end
34634 - bpo-24521: Fix possible integer overflows in the pickle module.
34636 - bpo-22931: Allow '[' and ']' in cookie values.
34638 - The keywords attribute of functools.partial is now always a dictionary.
34640 - bpo-23811: Add missing newline to the PyCompileError error message. Patch
34643 - bpo-21116: Avoid blowing memory when allocating a multiprocessing shared
34647 - bpo-22982: Improve BOM handling when seeking to multiple positions of a
34650 - bpo-23464: Removed deprecated asyncio JoinableQueue.
34652 - bpo-23529: Limit the size of decompressed data when reading from GzipFile,
34657 - bpo-21859: Added Python implementation of io.FileIO.
34659 - bpo-23865: close() methods in multiple modules now are idempotent and more
34663 - bpo-23400: Raise same exception on both Python 2 and 3 if sem_open is not
34666 - bpo-10838: The subprocess now module includes SubprocessError and
34670 - bpo-23411: Added DefragResult, ParseResult, SplitResult,
34674 - bpo-23881: urllib.request.ftpwrapper constructor now closes the socket if
34677 - bpo-23853: :meth:`socket.socket.sendall` does no more reset the socket
34681 - bpo-22721: An order of multiline pprint output of set or dict containing
34682 orderable and non-orderable elements no longer depends on iteration order
34685 - bpo-15133: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always
34690 - bpo-10590: xml.sax.parseString() now supports string argument.
34692 - bpo-23338: Fixed formatting ctypes error messages on Cygwin. Patch by
34695 - bpo-15582: inspect.getdoc() now follows inheritance chains.
34697 - bpo-2175: SAX parsers now support a character stream of InputSource
34700 - bpo-16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and
34703 - bpo-23834: Fix socket.sendto(), use the C Py_ssize_t type to store the
34706 - bpo-23618: :meth:`socket.socket.connect` now waits until the connection
34710 raise :exc:`InterruptedError` for non-blocking sockets.
34712 - bpo-21526: Tkinter now supports new boolean type in Tcl 8.5.
34714 - bpo-23836: Fix the faulthandler module to handle reentrant calls to its
34717 - bpo-23838: linecache now clears the cache and returns an empty result on
34720 - bpo-10395: Added os.path.commonpath(). Implemented in posixpath and
34723 - bpo-23611: Serializing more "lookupable" objects (such as unbound methods
34726 - bpo-13583: sqlite3.Row now supports slice indexing.
34728 - bpo-18473: Fixed 2to3 and 3to2 compatible pickle mappings. Fixed
34732 - bpo-23485: select.select() is now retried automatically with the
34736 - bpo-23752: When built from an existing file descriptor, io.FileIO() now
34740 - bpo-23704: collections.deque() objects now support __add__, __mul__, and
34743 - bpo-23171: csv.Writer.writerow() now supports arbitrary iterables.
34745 - bpo-23745: The new email header parser now handles duplicate MIME
34748 - bpo-22117: Fix os.utime(), it now rounds the timestamp towards minus
34749 infinity (-inf) instead of rounding towards zero.
34751 - bpo-23310: Fix MagicMock's initializer to work with __methods__, just like
34755 -----
34757 - bpo-23817: FreeBSD now uses "1.0" in the SOVERSION as other operating
34760 - bpo-23501: Argument Clinic now generates code into separate files by
34764 -----
34766 - bpo-23799: Added test.support.start_threads() for running and cleaning up
34769 - bpo-22390: test.regrtest now emits a warning if temporary files or
34773 -----------
34775 - bpo-18128: pygettext now uses standard +NNNN format in the
34776 POT-Creation-Date header.
34778 - bpo-23935: Argument Clinic's understanding of format units accepting
34782 - bpo-23944: Argument Clinic now wraps long impl prototypes at column 78.
34784 - bpo-20586: Argument Clinic now ensures that functions without docstrings
34787 - bpo-23492: Argument Clinic now generates argument parsing code with
34790 - bpo-23500: Argument Clinic is now smarter about generating the "#ifndef"
34797 -----
34799 - bpo-23998: PyImport_ReInitLock() now checks for lock allocation error
34805 *Release date: 2015-03-28*
34808 -----------------
34810 - bpo-23573: Increased performance of string search operations (str.find,
34814 - bpo-23753: Python doesn't support anymore platforms without stat() or
34817 - bpo-23681: The -b option now affects comparisons of bytes with int.
34819 - bpo-23632: Memoryviews now allow tuple indexing (including for
34820 multi-dimensional memoryviews).
34822 - bpo-23192: Fixed generator lambdas. Patch by Bruno Cauet.
34824 - bpo-23629: Fix the default __sizeof__ implementation for variable-sized
34828 -------
34830 - bpo-14260: The groupindex attribute of regular expression pattern object
34831 now is non-modifiable mapping.
34833 - bpo-23792: Ignore KeyboardInterrupt when the pydoc pager is active. This
34837 - bpo-23775: pprint() of OrderedDict now outputs the same representation as
34840 - bpo-23765: Removed IsBadStringPtr calls in ctypes
34842 - bpo-22364: Improved some re error messages using regex for hints.
34844 - bpo-23742: ntpath.expandvars() no longer loses unbalanced single quotes.
34846 - bpo-21717: The zipfile.ZipFile.open function now supports 'x' (exclusive
34849 - bpo-21802: The reader in BufferedRWPair now is closed even when closing
34852 - bpo-23622: Unknown escapes in regular expressions that consist of ``'\'``
34856 - bpo-23671: string.Template now allows specifying the "self" parameter as a
34860 - bpo-23502: The pprint module now supports mapping proxies.
34862 - bpo-17530: pprint now wraps long bytes objects and bytearrays.
34864 - bpo-22687: Fixed some corner cases in breaking words in tetxtwrap. Got rid
34867 - bpo-4727: The copy module now uses pickle protocol 4 (PEP 3154) and
34869 keyword-only arguments.
34871 - bpo-23491: Added a zipapp module to support creating executable zip file
34875 - bpo-23657: Avoid explicit checks for str in zipapp, adding support for
34878 - bpo-23688: Added support of arbitrary bytes-like objects and avoided
34882 - bpo-23252: Added support for writing ZIP files to unseekable streams.
34884 - bpo-23647: Increase imaplib's MAXLINE to accommodate modern mailbox sizes.
34886 - bpo-23539: If body is None, http.client.HTTPConnection.request now sets
34887 Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors
34890 - bpo-22351: The nntplib.NNTP constructor no longer leaves the connection
34894 - bpo-23704: collections.deque() objects now support methods for index(),
34898 - bpo-23715: :func:`signal.sigwaitinfo` and :func:`signal.sigtimedwait` are
34903 - bpo-23001: Few functions in modules mmap, ossaudiodev, socket, ssl, and
34904 codecs, that accepted only read-only bytes-like object now accept writable
34905 bytes-like object too.
34907 - bpo-23646: If time.sleep() is interrupted by a signal, the sleep is now
34911 - bpo-23136: _strptime now uniformly handles all days in week 0, including
34914 - bpo-23700: Iterator of NamedTemporaryFile now keeps a reference to
34917 - bpo-22903: The fake test case created by unittest.loader when it fails
34920 - bpo-22181: On Linux, os.urandom() now uses the new getrandom() syscall if
34925 - bpo-2211: Updated the implementation of the http.cookies.Morsel class.
34933 - bpo-18983: Allow selection of output units in timeit. Patch by Julian
34936 - bpo-23631: Fix traceback.format_list when a traceback has been mutated.
34938 - bpo-23568: Add rdivmod support to MagicMock() objects. Patch by Håkan
34941 - bpo-2052: Add charset parameter to HtmlDiff.make_file().
34943 - bpo-23668: Support os.truncate and os.ftruncate on Windows.
34945 - bpo-23138: Fixed parsing cookies with absent keys or values in cookiejar.
34948 - bpo-23051: multiprocessing.Pool methods imap() and imap_unordered() now
34952 - bpo-23581: Add matmul support to MagicMock. Patch by Håkan Lövdahl.
34954 - bpo-23566: enable(), register(), dump_traceback() and
34958 - bpo-22928: Disabled HTTP header injections in http.client. Original patch
34961 - bpo-23615: Modules bz2, tarfile and tokenize now can be reloaded with
34964 - bpo-23605: os.walk() now calls os.scandir() instead of os.listdir(). The
34969 -----
34971 - bpo-23585: make patchcheck will ensure the interpreter is built.
34974 -----
34976 - bpo-23583: Added tests for standard IO streams in IDLE.
34978 - bpo-22289: Prevent test_urllib2net failures due to ftp connection timeout.
34981 -----------
34983 - bpo-22826: The result of open() in Tools/freeze/bkfile.py is now better
34991 *Release date: 2015-03-09*
34994 -----------------
34996 - bpo-23571: PyObject_Call() and PyCFunction_Call() now raise a SystemError
35001 -------
35003 - bpo-22524: New os.scandir() function, part of the :pep:`471`:
35004 "os.scandir() function -- a better and faster directory iterator". Patch
35007 - bpo-23103: Reduced the memory consumption of IPv4Address and IPv6Address.
35009 - bpo-21793: BaseHTTPRequestHandler again logs response code as numeric, not
35012 - bpo-23476: In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST
35015 - bpo-23576: Avoid stalling in SSL reads when EOF has been reached in the
35018 - bpo-23504: Added an __all__ to the types module.
35020 - bpo-23563: Optimized utility functions in urllib.parse.
35022 - bpo-7830: Flatten nested functools.partial.
35024 - bpo-20204: Added the __module__ attribute to _tkinter classes.
35026 - bpo-19980: Improved help() for non-recognized strings. help('') now shows
35030 - bpo-23521: Corrected pure python implementation of timedelta division.
35034 - bpo-21619: Popen objects no longer leave a zombie after exit in the with
35037 - bpo-22936: Make it possible to show local variables in tracebacks for both
35040 - bpo-15955: Add an option to limit the output size in bz2.decompress().
35043 - bpo-6639: Module-level turtle functions no longer raise TclError after
35046 - bpo-814253: Group references and conditional group references now work in
35047 lookbehind assertions in regular expressions. (See also: bpo-9179)
35049 - bpo-23215: Multibyte codecs with custom error handlers that ignores errors
35053 - bpo-5700: io.FileIO() called flush() after closing the file. flush() was
35056 - bpo-23374: Fixed pydoc failure with non-ASCII files when stdout encoding
35059 - bpo-23481: Remove RC4 from the SSL module's default cipher list.
35061 - bpo-21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty
35064 - bpo-22885: Fixed arbitrary code execution vulnerability in the dbm.dumb
35067 - bpo-23239: ssl.match_hostname() now supports matching of IP addresses.
35069 - bpo-23146: Fix mishandling of absolute Windows paths with forward slashes
35072 - bpo-23096: Pickle representation of floats with protocol 0 now is the same
35075 - bpo-19105: pprint now more efficiently uses free space at the right.
35077 - bpo-14910: Add allow_abbrev parameter to argparse.ArgumentParser. Patch by
35080 - bpo-21717: tarfile.open() now supports 'x' (exclusive creation) mode.
35082 - bpo-23344: marshal.dumps() is now 20-25% faster on average.
35084 - bpo-20416: marshal.dumps() with protocols 3 and 4 is now 40-50% faster on
35087 - bpo-23421: Fixed compression in tarfile CLI. Patch by wdv4758h.
35089 - bpo-23367: Fix possible overflows in the unicodedata module.
35091 - bpo-23361: Fix possible overflow in Windows subprocess creation code.
35093 - logging.handlers.QueueListener now takes a respect_handler_level keyword
35097 - bpo-19705: turtledemo now has a visual sorting algorithm demo. Original
35100 - bpo-23801: Fix issue where cgi.FieldStorage did not always ignore the
35104 -----
35106 - bpo-23445: pydebug builds now use "gcc -Og" where possible, to make the
35109 - bpo-23686: Update OS X 10.5 installer build to use OpenSSL 1.0.2a.
35112 -----
35114 - bpo-20204: Deprecation warning is now raised for builtin types without the
35118 -------
35120 - bpo-23465: Implement :pep:`486` - Make the Python Launcher aware of
35123 - bpo-23437: Make user scripts directory versioned on Windows. Patch by Paul
35130 *Release date: 2015-02-08*
35133 -----------------
35135 - bpo-23285: PEP 475 - EINTR handling.
35137 - bpo-22735: Fix many edge cases (including crashes) involving custom mro()
35140 - bpo-22896: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
35143 - bpo-21295: Revert some changes (issue #16795) to AST line numbers and
35146 - bpo-22986: Allow changing an object's __class__ between a dynamic type and
35149 - bpo-15859: PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and
35154 - bpo-21408: The default __ne__() now returns NotImplemented if __eq__()
35157 - bpo-23321: Fixed a crash in str.decode() when error handler returned
35160 - bpo-22286: The "backslashreplace" error handlers now works with decoding
35163 - bpo-23253: Delay-load ShellExecute[AW] in os.startfile for reduced startup
35166 - bpo-22038: pyatomic.h now uses stdatomic.h or GCC built-in functions for
35170 - bpo-20284: %-interpolation (aka printf) formatting added for bytes and
35173 - bpo-23048: Fix jumping out of an infinite while loop in the pdb.
35175 - bpo-20335: bytes constructor now raises TypeError when encoding or errors
35176 is specified with non-string argument. Based on patch by Renaud Blanch.
35178 - bpo-22834: If the current working directory ends up being set to a
35179 non-existent directory then import will no longer raise FileNotFoundError.
35181 - bpo-22869: Move the interpreter startup & shutdown code to a new dedicated
35184 - bpo-22847: Improve method cache efficiency.
35186 - bpo-22335: Fix crash when trying to enlarge a bytearray to 0x7fffffff
35187 bytes on a 32-bit platform.
35189 - bpo-22653: Fix an assertion failure in debug mode when doing a reentrant
35192 - bpo-22643: Fix integer overflow in Unicode case operations (upper, lower,
35195 - bpo-17636: Circular imports involving relative imports are now supported.
35197 - bpo-22604: Fix assertion error in debug mode when dividing a complex
35200 - bpo-21052: Do not raise ImportWarning when sys.path_hooks or sys.meta_path
35203 - bpo-16518: Use 'bytes-like object required' in error messages that
35207 - bpo-22470: Fixed integer overflow issues in "backslashreplace",
35210 - bpo-22540: speed up `PyObject_IsInstance` and `PyObject_IsSubclass` in the
35213 - bpo-18711: Add a new `PyErr_FormatV` function, similar to `PyErr_Format`
35216 - bpo-22520: Fix overflow checking when generating the repr of a unicode
35219 - bpo-22519: Fix overflow checking in PyBytes_Repr.
35221 - bpo-22518: Fix integer overflow issues in latin-1 encoding.
35223 - bpo-16324: _charset parameter of MIMEText now also accepts
35226 - bpo-1764286: Fix inspect.getsource() to support decorated functions. Patch
35229 - bpo-18554: os.__all__ includes posix functions.
35231 - bpo-21391: Use os.path.abspath in the shutil module.
35233 - bpo-11471: avoid generating a JUMP_FORWARD instruction at the end of an
35234 if-block if there is no else-clause. Original patch by Eugene Toder.
35236 - bpo-22215: Now ValueError is raised instead of TypeError when str or bytes
35239 - bpo-22258: Fix the internal function set_inheritable() on Illumos. This
35245 - bpo-21389: Displaying the __qualname__ of the underlying function in the
35248 - bpo-22206: Using pthread, PyThread_create_key() now sets errno to ENOMEM
35249 and returns -1 (error) on integer overflow.
35251 - bpo-20184: Argument Clinic based signature introspection added for 30 of
35254 - bpo-22116: C functions and methods (of the 'builtin_function_or_method'
35257 - bpo-22077: Improve index error messages for bytearrays, bytes, lists, and
35261 - bpo-20179: Apply Argument Clinic to bytes and bytearray. Patch by Tal
35264 - bpo-22082: Clear interned strings in slotdefs.
35266 - Upgrade Unicode database to Unicode 7.0.0.
35268 - bpo-21897: Fix a crash with the f_locals attribute with closure variables
35271 - bpo-21205: Add a new ``__qualname__`` attribute to generator, the
35277 - bpo-21669: With the aid of heuristics in SyntaxError.__init__, the parser
35281 - bpo-21642: In the conditional if-else expression, allow an integer written
35285 - bpo-21523: Fix over-pessimistic computation of the stack effect of some
35290 - bpo-21418: Fix a crash in the builtin function super() when called without
35293 - bpo-21425: Fix flushing of standard streams in the interactive
35296 - bpo-21435: In rare cases, when running finalizers on objects in cyclic
35300 - bpo-21377: PyBytes_Concat() now tries to concatenate in-place when the
35303 - bpo-20355: -W command line options now have higher priority than the
35306 - bpo-21274: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c.
35308 - bpo-20904: Support setting FPU precision on m68k.
35310 - bpo-21209: Fix sending tuples to custom generator objects with the yield
35313 - bpo-21193: pow(a, b, c) now raises ValueError rather than TypeError when b
35316 - bpo-21176: PEP 465: Add the '@' operator for matrix multiplication.
35318 - bpo-21134: Fix segfault when str is called on an uninitialized
35321 - bpo-19537: Fix PyUnicode_DATA() alignment under m68k. Patch by Andreas
35324 - bpo-20929: Add a type cast to avoid shifting a negative number.
35326 - bpo-20731: Properly position in source code files even if they are opened
35329 - bpo-20637: Key-sharing now also works for instance dictionaries of
35332 - bpo-8297: Attributes missing from modules now include the module name in
35335 - bpo-19995: %c, %o, %x, and %X now raise TypeError on non-integer input.
35337 - bpo-19655: The ASDL parser - used by the build process to generate code
35338 for managing the Python AST in C - was rewritten. The new parser is self
35339 contained and does not require to carry long the spark.py parser-generator
35342 - bpo-12546: Allow ``\x00`` to be used as a fill character when using str,
35345 - bpo-20480: Add ipaddress.reverse_pointer. Patch by Leon Weber.
35347 - bpo-13598: Modify string.Formatter to support auto-numbering of
35351 - bpo-8931: Make alternate formatting ('#') for type 'c' raise an exception.
35355 - bpo-23165: Perform overflow checks before allocating memory in the
35359 -------
35361 - bpo-23399: pyvenv creates relative symlinks where possible.
35363 - bpo-20289: cgi.FieldStorage() now supports the context management
35366 - bpo-13128: Print response headers for CONNECT requests when debuglevel >
35369 - bpo-15381: Optimized io.BytesIO to make less allocations and copyings.
35371 - bpo-22818: Splitting on a pattern that could match an empty string now
35375 - bpo-23099: Closing io.BytesIO with exported buffer is rejected now to
35378 - bpo-23326: Removed __ne__ implementations. Since fixing default __ne__
35381 - bpo-23363: Fix possible overflow in itertools.permutations.
35383 - bpo-23364: Fix possible overflow in itertools.product.
35385 - bpo-23366: Fixed possible integer overflow in itertools.combinations.
35387 - bpo-23369: Fixed possible integer overflow in
35390 - bpo-23353: Fix the exception handling of generators in
35394 WHY_RETURN. Patch co-written with Antoine Pitrou.
35396 - bpo-14099: Restored support of writing ZIP files to tellable but
35397 non-seekable streams.
35399 - bpo-14099: Writing to ZipFile and reading multiple ZipExtFiles is
35402 - bpo-19361: JSON decoder now raises JSONDecodeError instead of ValueError.
35404 - bpo-18518: timeit now rejects statements which can't be compiled outside a
35407 - bpo-23094: Fixed readline with frames in Python implementation of pickle.
35409 - bpo-23268: Fixed bugs in the comparison of ipaddress classes.
35411 - bpo-21408: Removed incorrect implementations of __ne__() which didn't
35415 - bpo-19996: :class:`email.feedparser.FeedParser` now handles (malformed)
35418 - bpo-20188: Support Application-Layer Protocol Negotiation (ALPN) in the
35421 - bpo-23133: Pickling of ipaddress objects now produces more compact and
35424 - bpo-23248: Update ssl error codes from latest OpenSSL git master.
35426 - bpo-23266: Much faster implementation of ipaddress.collapse_addresses()
35427 when there are many non-consecutive addresses.
35429 - bpo-23098: 64-bit dev_t is now supported in the os module.
35431 - bpo-21817: When an exception is raised in a task submitted to a
35435 - bpo-15955: Add an option to limit output size when decompressing LZMA
35438 - bpo-23250: In the http.cookies module, capitalize "HttpOnly" and "Secure"
35441 - bpo-23063: In the distutils' check command, fix parsing of reST with code
35442 or code-block directives.
35444 - bpo-23209: selectors.BaseSelector.get_key() now raises a RuntimeError if
35447 Initial patch written by Martin Richard. (See also: bpo-23225)
35449 - bpo-17911: Provide a way to seed the linecache for a PEP-302 module
35452 - bpo-17911: Provide a new object API for traceback, including the ability
35456 - bpo-19777: Provide a home() classmethod on Path objects. Contributed by
35459 - bpo-23206: Make ``json.dumps(..., ensure_ascii=False)`` as fast as the
35462 - bpo-23185: Add math.inf and math.nan constants.
35464 - bpo-23186: Add ssl.SSLObject.shared_ciphers() and
35468 - bpo-23143: Remove compatibility with OpenSSLs older than 0.9.8.
35470 - bpo-23132: Improve performance and introspection support of comparison
35473 - bpo-19776: Add an expanduser() method on Path objects.
35475 - bpo-23112: Fix SimpleHTTPServer to correctly carry the query string and
35478 - bpo-21793: Added http.HTTPStatus enums (i.e. HTTPStatus.OK,
35481 - bpo-23093: In the io, module allow more operations to work on detached
35484 - bpo-23111: In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol
35487 - bpo-22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
35488 instead of reading /dev/urandom, to get pseudo-random bytes.
35490 - bpo-19104: pprint now produces evaluable output for wrapped strings.
35492 - bpo-23071: Added missing names to codecs.__all__. Patch by Martin Panter.
35494 - bpo-22783: Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX
35497 - bpo-15513: Added a __sizeof__ implementation for pickle classes.
35499 - bpo-19858: pickletools.optimize() now aware of the MEMOIZE opcode, can
35503 - bpo-22095: Fixed HTTPConnection.set_tunnel with default port. The port
35506 - bpo-23016: A warning no longer produces an AttributeError when the program
35509 - bpo-21775: shutil.copytree(): fix crash when copying to VFAT. An exception
35512 AttributeError when run on Linux (and, presumably, any other non-Windows
35515 - bpo-1218234: Fix inspect.getsource() to load updated source of reloaded
35518 - bpo-21740: Support wrapped callables in doctest. Patch by Claudiu Popa.
35520 - bpo-23009: Make sure selectors.EpollSelector.select() works when no FD is
35523 - bpo-22959: In the constructor of http.client.HTTPSConnection, prefer the
35526 - bpo-22696: Add function :func:`sys.is_finalizing` to know about
35529 - bpo-16043: Add a default limit for the amount of data
35530 xmlrpclib.gzip_decode will return. This resolves CVE-2013-1753.
35532 - bpo-14099: ZipFile.open() no longer reopen the underlying file. Objects
35534 even if the ZipFile was created by passing in a file-like object as the
35537 - bpo-22966: Fix __pycache__ pyc file name clobber when pyc_compile is asked
35540 - bpo-21971: Update turtledemo doc and add module to the index.
35542 - bpo-21032: Fixed socket leak if HTTPConnection.getresponse() fails.
35545 - bpo-22407: Deprecated the use of re.LOCALE flag with str patterns or
35548 - bpo-22902: The "ip" command is now used on Linux to determine MAC address
35551 - bpo-22960: Add a context argument to xmlrpclib.ServerProxy constructor.
35553 - bpo-22389: Add contextlib.redirect_stderr().
35555 - bpo-21356: Make ssl.RAND_egd() optional to support LibreSSL. The
35559 - bpo-22915: SAX parser now supports files opened with file descriptor or
35562 - bpo-22609: Constructors and update methods of mapping classes in the
35565 - bpo-22940: Add readline.append_history_file.
35567 - bpo-19676: Added the "namereplace" error handler.
35569 - bpo-22788: Add *context* parameter to logging.handlers.HTTPHandler.
35571 - bpo-22921: Allow SSLContext to take the *hostname* parameter even if
35574 - bpo-22894: TestCase.subTest() would cause the test suite to be stopped
35577 - bpo-22796: HTTP cookie parsing is now stricter, in order to protect
35580 - bpo-22370: Windows detection in pathlib is now more robust.
35582 - bpo-22841: Reject coroutines in asyncio add_signal_handler(). Patch by
35585 - bpo-19494: Added urllib.request.HTTPBasicPriorAuthHandler. Patch by Matej
35588 - bpo-22578: Added attributes to the re.error class.
35590 - bpo-22849: Fix possible double free in the io.TextIOWrapper constructor.
35592 - bpo-12728: Different Unicode characters having the same uppercase but
35593 different lowercase are now matched in case-insensitive regular
35596 - bpo-22821: Fixed fcntl() with integer argument on 64-bit big-endian
35599 - bpo-21650: Add an `--sort-keys` option to json.tool CLI.
35601 - bpo-22824: Updated reprlib output format for sets to use set literals.
35604 - bpo-22824: Updated reprlib output format for arrays to display empty
35607 - bpo-22406: Fixed the uu_codec codec incorrectly ported to 3.x. Based on
35610 - bpo-17293: uuid.getnode() now determines MAC address on AIX using netstat.
35613 - bpo-22769: Fixed ttk.Treeview.tag_has() when called without arguments.
35615 - bpo-22417: Verify certificates by default in httplib (PEP 476).
35617 - bpo-22775: Fixed unpickling of http.cookies.SimpleCookie with protocol 2
35620 - bpo-22776: Brought excluded code into the scope of a try block in
35623 - bpo-22665: Add missing get_terminal_size and SameFileError to
35626 - bpo-6623: Remove deprecated Netrc class in the ftplib module. Patch by
35629 - bpo-17381: Fixed handling of case-insensitive ranges in regular
35632 - bpo-22410: Module level functions in the re module now cache compiled
35633 locale-dependent regular expressions taking into account the locale.
35635 - bpo-22759: Query methods on pathlib.Path() (exists(), is_dir(), etc.) now
35638 - bpo-8876: distutils now falls back to copying files when hard linking
35642 - bpo-22217: Implemented reprs of classes in the zipfile module.
35644 - bpo-22457: Honour load_tests in the start_dir of discovery.
35646 - bpo-18216: gettext now raises an error when a .mo file has an unsupported
35649 - bpo-13918: Provide a locale.delocalize() function which can remove
35650 locale-specific number formatting from a string representing a number,
35653 - bpo-22676: Make the pickling of global objects which don't have a
35656 - bpo-18853: Fixed ResourceWarning in shlex.__nain__.
35658 - bpo-9351: Defaults set with set_defaults on an argparse subparser are no
35661 - bpo-7559: unittest test loading ImportErrors are reported as import errors
35665 - bpo-19746: Make it possible to examine the errors from unittest discovery
35667 exposes these non-fatal errors encountered during discovery.
35669 - bpo-21991: Make email.headerregistry's header 'params' attributes be
35670 read-only (MappingProxyType). Previously the dictionary was modifiable
35673 - bpo-22638: SSLv3 is now disabled throughout the standard library. It can
35676 - bpo-22641: In asyncio, the default SSL context for client connections is
35679 - bpo-17401: Include closefd in io.FileIO repr.
35681 - bpo-21338: Add silent mode for compileall. quiet parameters of
35682 compile_{dir, file, path} functions now have a multilevel value. Also, -q
35685 - bpo-20152: Convert the array and cmath modules to Argument Clinic.
35687 - bpo-18643: Add socket.socketpair() on Windows.
35689 - bpo-22435: Fix a file descriptor leak when socketserver bind fails.
35691 - bpo-13096: Fixed segfault in CTypes POINTER handling of large values.
35693 - bpo-11694: Raise ConversionError in xdrlib as documented. Patch by Filip
35696 - bpo-19380: Optimized parsing of regular expressions.
35698 - bpo-1519638: Now unmatched groups are replaced with empty strings in
35701 - bpo-18615: sndhdr.what/whathdr now return a namedtuple.
35703 - bpo-22462: Fix pyexpat's creation of a dummy frame to make it appear in
35706 - bpo-21965: Add support for in-memory SSL to the ssl module. Patch by
35709 - bpo-21173: Fix len() on a WeakKeyDictionary when .clear() was called with
35712 - bpo-11866: Eliminated race condition in the computation of names for new
35715 - bpo-21905: Avoid RuntimeError in pickle.whichmodule() when sys.modules is
35718 - bpo-11271: concurrent.futures.Executor.map() now takes a *chunksize*
35722 - bpo-21883: os.path.join() and os.path.relpath() now raise a TypeError with
35726 - bpo-22219: The zipfile module CLI now adds entries for directories
35729 - bpo-22449: In the ssl.SSLContext.load_default_certs, consult the
35732 - bpo-22508: The email.__version__ variable has been removed; the email code
35736 - bpo-20076: Added non derived UTF-8 aliases to locale aliases table.
35738 - bpo-20079: Added locales supported in glibc 2.18 to locale alias table.
35740 - bpo-20218: Added convenience methods read_text/write_text and read_bytes/
35743 - bpo-22396: On 32-bit AIX platform, don't expose os.posix_fadvise() nor
35746 - bpo-22517: When an io.BufferedRWPair object is deallocated, clear its
35749 - bpo-22437: Number of capturing groups in regular expression is no longer
35752 - bpo-17442: InteractiveInterpreter now displays the full chained traceback
35756 - bpo-23392: Added tests for marshal C API that works with FILE*.
35758 - bpo-10510: distutils register and upload methods now use HTML standards
35761 - bpo-9850: Fixed macpath.join() for empty first component. Patch by Oleg
35764 - bpo-5309: distutils' build and build_ext commands now accept a ``-j``
35767 - bpo-22448: Improve canceled timer handles cleanup to prevent unbound
35768 memory usage. Patch by Joshua Moore-Oliva.
35770 - bpo-22427: TemporaryDirectory no longer attempts to clean up twice when
35773 - bpo-22362: Forbidden ambiguous octal escapes out of range 0-0o377 in
35776 - bpo-20912: Now directories added to ZIP file have correct Unix and MS-DOS
35779 - bpo-21866: ZipFile.close() no longer writes ZIP64 central directory
35782 - bpo-22278: Fix urljoin problem with relative urls, a regression observed
35785 - bpo-22415: Fixed debugging output of the GROUPREF_EXISTS opcode in the re
35788 - bpo-22423: Unhandled exception in thread no longer causes unhandled
35791 - bpo-21332: Ensure that ``bufsize=1`` in subprocess.Popen() selects line
35794 - bpo-21091: Fix API bug: email.message.EmailMessage.is_attachment is now a
35797 - bpo-21079: Fix email.message.EmailMessage.is_attachment to return the
35800 - bpo-22247: Add NNTPError to nntplib.__all__.
35802 - bpo-22366: urllib.request.urlopen will accept a context object
35806 - bpo-4180: The warnings registries are now reset when the filters are
35809 - bpo-22419: Limit the length of incoming HTTP request in wsgiref server to
35813 - Lax cookie parsing in http.cookies could be a security issue when combined
35814 with non-standard cookie handling in some web browsers. Reported by
35817 - bpo-20537: logging methods now accept an exception instance as well as a
35820 - bpo-22384: An exception in Tkinter callback no longer crashes the program
35823 - bpo-22168: Prevent turtle AttributeError with non-default Canvas on OS X.
35825 - bpo-21147: sqlite3 now raises an exception if the request contains a null
35828 - bpo-13968: The glob module now supports recursive search in subdirectories
35831 - bpo-21951: Fixed a crash in Tkinter on AIX when called Tcl command with
35834 - bpo-21951: Tkinter now most likely raises MemoryError instead of crash if
35837 - bpo-22338: Fix a crash in the json module on memory allocation failure.
35839 - bpo-12410: imaplib.IMAP4 now supports the context management protocol.
35842 - bpo-21270: We now override tuple methods in mock.call objects so that they
35845 - bpo-16662: load_tests() is now unconditionally run when it is present in a
35847 use_load_tests, but it is deprecated and ignored. A new keyword-only
35851 - bpo-22226: First letter no longer is stripped from the "status" key in the
35854 - bpo-19524: Fixed resource leak in the HTTP connection when an invalid
35857 - bpo-20421: Add a .version() method to SSL sockets exposing the actual
35860 - bpo-19546: configparser exceptions no longer expose implementation
35864 - bpo-22051: turtledemo no longer reloads examples to re-run them.
35868 - bpo-21933: Turtledemo users can change the code font size with a menu
35869 selection or control(command) '-' or '+' or control-mousewheel. Original
35872 - bpo-21597: The separator between the turtledemo text pane and the drawing
35878 - bpo-18132: Turtledemo buttons no longer disappear when the window is
35881 - bpo-22043: time.monotonic() is now always available.
35886 - bpo-21527: Add a default number of workers to ThreadPoolExecutor equal to
35889 - bpo-22216: smtplib now resets its state more completely after a quit. The
35893 - bpo-22098: ctypes' BigEndianStructure and LittleEndianStructure now define
35897 - bpo-22185: Fix an occasional RuntimeError in threading.Condition.wait()
35901 - bpo-22287: On UNIX, _PyTime_gettimeofday() now uses
35906 - bpo-22182: Use e.args to unpack exceptions correctly in
35909 - The webbrowser module now uses subprocess's start_new_session=True rather
35912 - bpo-22042: signal.set_wakeup_fd(fd) now raises an exception if the file
35915 - bpo-16808: inspect.stack() now returns a named tuple instead of a tuple.
35918 - bpo-22236: Fixed Tkinter images copying operations in NoDefaultRoot mode.
35920 - bpo-2527: Add a *globals* argument to timeit functions, in order to
35924 - bpo-22118: Switch urllib.parse to use RFC 3986 semantics for the
35928 - bpo-21549: Added the "members" parameter to TarFile.list().
35930 - bpo-19628: Allow compileall recursion depth to be specified with a -r
35933 - bpo-15696: Add a __sizeof__ implementation for mmap objects on Windows.
35935 - bpo-22068: Avoided reference loops with Variables and Fonts in Tkinter.
35937 - bpo-22165: SimpleHTTPRequestHandler now supports undecodable file names.
35939 - bpo-15381: Optimized line reading in io.BytesIO.
35941 - bpo-8797: Raise HTTPError on failed Basic Authentication immediately.
35944 - bpo-20729: Restored the use of lazy iterkeys()/itervalues()/iteritems() in
35947 - bpo-21448: Changed FeedParser feed() to avoid O(N\ :sup:`2`) behavior when
35950 - bpo-22184: The functools LRU Cache decorator factory now gives an earlier
35953 - bpo-17923: glob() patterns ending with a slash no longer match non-dirs on
35956 - bpo-21725: Added support for RFC 6531 (SMTPUTF8) in smtpd.
35958 - bpo-22176: Update the ctypes module's libffi to v3.1. This release adds
35962 - bpo-5411: Added support for the "xztar" format in the shutil module.
35964 - bpo-21121: Don't force 3rd party C extensions to be built with
35965 -Werror=declaration-after-statement.
35967 - bpo-21975: Fixed crash when using uninitialized sqlite3.Row (in particular
35971 - bpo-20170: Convert posixmodule to use Argument Clinic.
35973 - bpo-21539: Add an *exists_ok* argument to `Pathlib.mkdir()` to mimic
35974 `mkdir -p` and `os.makedirs()` functionality. When true, ignore
35977 - bpo-22127: Bypass IDNA for pure-ASCII host names in the socket module (in
35980 - bpo-21047: set the default value for the *convert_charrefs* argument of
35983 - Add an __all__ to html.entities.
35985 - bpo-15114: the strict mode and argument of HTMLParser, HTMLParser.error,
35988 - bpo-22085: Dropped support of Tk 8.3 in Tkinter.
35990 - bpo-21580: Now Tkinter correctly handles bytes arguments passed to Tk. In
35993 - bpo-22003: When initialized from a bytes object, io.BytesIO() now defers
35997 - bpo-22018: On Windows, signal.set_wakeup_fd() now also supports sockets. A
36000 - bpo-22054: Add os.get_blocking() and os.set_blocking() functions to get
36005 - bpo-17172: Make turtledemo start as active on OS X even when run with
36008 - bpo-21704: Fix build error for _multiprocessing when semaphores are not
36011 - bpo-20173: Convert sha1, sha256, sha512 and md5 to ArgumentClinic. Patch
36014 - Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError
36017 - bpo-22033: Reprs of most Python implemented classes now contain actual
36020 - bpo-21947: The dis module can now disassemble generator-iterator objects
36023 - bpo-16133: The asynchat.async_chat.handle_read() method now ignores
36026 - bpo-22044: Fixed premature DECREF in call_tzinfo_method. Patch by Tom
36029 - bpo-19884: readline: Disable the meta modifier key if stdout is not a
36031 sequence is used on some terminal (ex: TERM=xterm-256color") to enable
36034 - bpo-4350: Removed a number of out-of-dated and non-working for a long time
36037 - bpo-6167: Scrollbar.activate() now returns the name of active element if
36041 - bpo-15275: Clean up and speed up the ntpath module.
36043 - bpo-21888: plistlib's load() and loads() now work if the fmt parameter is
36046 - bpo-22032: __qualname__ instead of __name__ is now always used to format
36049 - bpo-22031: Reprs now always use hexadecimal format with the "0x" prefix
36052 - bpo-22018: signal.set_wakeup_fd() now raises an OSError instead of a
36055 - bpo-21044: tarfile.open() now handles fileobj with an integer 'name'
36058 - bpo-21966: Respect -q command-line option when code module is ran.
36060 - bpo-19076: Don't pass the redundant 'file' argument to self.error().
36062 - bpo-16382: Improve exception message of warnings.warn() for bad category.
36065 - bpo-21932: os.read() now uses a :c:func:`Py_ssize_t` type instead of
36070 - bpo-21942: Fixed source file viewing in pydoc's server mode on Windows.
36072 - bpo-11259: asynchat.async_chat().set_terminator() now raises a ValueError
36075 - bpo-12523: asynchat.async_chat.push() now raises a TypeError if it doesn't
36078 - bpo-21707: Add missing kwonlyargcount argument to
36081 - bpo-20639: calling Path.with_suffix('') allows removing the suffix again.
36084 - bpo-21714: Disallow the construction of invalid paths using
36087 - bpo-15014: Added 'auth' method to smtplib to make implementing auth
36090 - bpo-21151: Fixed a segfault in the winreg module when ``None`` is passed
36093 - bpo-21090: io.FileIO.readall() does not ignore I/O errors anymore. Before,
36096 - bpo-5800: headers parameter of wsgiref.headers.Headers is now optional.
36099 - bpo-21781: ssl.RAND_add() now supports strings longer than 2 GB.
36101 - bpo-21679: Prevent extraneous fstat() calls during open(). Patch by
36104 - bpo-21863: cProfile now displays the module name of C extension functions,
36107 - bpo-11453: asyncore: emit a ResourceWarning when an unclosed file_wrapper
36111 - bpo-21858: Better handling of Python exceptions in the sqlite3 module.
36113 - bpo-21476: Make sure the email.parser.BytesParser TextIOWrapper is
36116 - bpo-20295: imghdr now recognizes OpenEXR format images.
36118 - bpo-21729: Used the "with" statement in the dbm.dumb module to ensure
36121 - bpo-21491: socketserver: Fix a race condition in child processes reaping.
36123 - bpo-21719: Added the ``st_file_attributes`` field to os.stat_result on
36126 - bpo-21832: Require named tuple inputs to be exact strings.
36128 - bpo-21722: The distutils "upload" command now exits with a non-zero return
36131 - bpo-21723: asyncio.Queue: support any type of number (ex: float) for the
36134 - bpo-21711: support for "site-python" directories has now been removed from
36137 - bpo-17552: new socket.sendfile() method allowing a file to be sent over a
36138 socket by using high-performance os.sendfile() on UNIX. Patch by Giampaolo
36141 - bpo-18039: dbm.dump.open() now always creates a new database when the flag
36144 - bpo-21326: Add a new is_closed() method to asyncio.BaseEventLoop.
36148 - bpo-21766: Prevent a security hole in CGIHTTPServer by URL unquoting paths
36151 - bpo-21310: Fixed possible resource leak in failed open().
36153 - bpo-21256: Printout of keyword args should be in deterministic order in a
36156 - bpo-21677: Fixed chaining nonnormalized exceptions in io close() methods.
36158 - bpo-11709: Fix the pydoc.help function to not fail when sys.stdin is not a
36161 - bpo-21515: tempfile.TemporaryFile now uses os.O_TMPFILE flag is available.
36163 - bpo-13223: Fix pydoc.writedoc so that the HTML documentation for methods
36166 - bpo-21463: In urllib.request, fix pruning of the FTP cache.
36168 - bpo-21618: The subprocess module could fail to close open fds that were
36173 - bpo-20383: Introduce importlib.util.module_from_spec() as the preferred
36176 - bpo-21552: Fixed possible integer overflow of too long string lengths in
36177 the tkinter module on 64-bit platforms.
36179 - bpo-14315: The zipfile module now ignores extra fields in the central
36184 - bpo-13742: Added "key" and "reverse" parameters to heapq.merge(). (First
36187 - bpo-21402: tkinter.ttk now works when default root window is not set.
36189 - bpo-3015: _tkinter.create() now creates tkapp object with wantobject=1 by
36192 - bpo-10203: sqlite3.Row now truly supports sequence protocol. In
36196 - bpo-18807: If copying (no symlinks) specified for a venv, then the python
36200 - bpo-20197: Added support for the WebP image type in the imghdr module.
36203 - bpo-21513: Speedup some properties of IP addresses (IPv4Address,
36206 - bpo-21137: Improve the repr for threading.Lock() and its variants by
36209 - bpo-21538: The plistlib module now supports loading of binary plist files
36212 - bpo-21455: Add a default backlog to socket.listen().
36214 - bpo-21525: Most Tkinter methods which accepted tuples now accept lists
36217 - bpo-22166: With the assistance of a new internal _codecs._forget_codec
36221 - bpo-22236: Tkinter tests now don't reuse default root window. New root
36224 - bpo-10744: Fix :pep:`3118` format strings on ctypes objects with a
36227 - bpo-20826: Optimize ipaddress.collapse_addresses().
36229 - bpo-21487: Optimize ipaddress.summarize_address_range() and
36232 - bpo-21486: Optimize parsing of netmasks in ipaddress.IPv4Network and
36235 - bpo-13916: Disallowed the surrogatepass error handler for non UTF-\*
36238 - bpo-20998: Fixed re.fullmatch() of repeated single character pattern with
36241 - bpo-21075: fileinput.FileInput now reads bytes from standard stream if
36244 - bpo-19775: Add a samefile() method to pathlib Path objects. Initial patch
36247 - bpo-21226: Set up modules properly in PyImport_ExecCodeModuleObject (and
36250 - bpo-21398: Fix a unicode error in the pydoc pager when the documentation
36253 - bpo-16531: ipaddress.IPv4Network and ipaddress.IPv6Network now accept an
36257 - bpo-21156: importlib.abc.InspectLoader.source_to_code() is now a
36260 - bpo-21424: Simplified and optimized heaqp.nlargest() and nmsmallest() to
36263 - bpo-21396: Fix TextIOWrapper(..., write_through=True) to not force a
36266 - bpo-18314: Unlink now removes junctions on Windows. Patch by Kim Gräsman
36268 - bpo-21088: Bugfix for curses.window.addch() regression in 3.4.0. In
36271 - bpo-21407: _decimal: The module now supports function signatures.
36273 - bpo-10650: Remove the non-standard 'watchexp' parameter from the
36277 - bpo-21469: Reduced the risk of false positives in robotparser by checking
36281 - bpo-19414: Have the OrderedDict mark deleted links as unusable. This gives
36284 - bpo-21421: Add __slots__ to the MappingViews ABC. Patch by Josh Rosenberg.
36286 - bpo-21101: Eliminate double hashing in the C speed-up code for
36289 - bpo-21321: itertools.islice() now releases the reference to the source
36292 - bpo-21057: TextIOWrapper now allows the underlying binary stream's read()
36293 or read1() method to return an arbitrary bytes-like object (such as a
36296 - bpo-20951: SSLSocket.send() now raises either SSLWantReadError or
36297 SSLWantWriteError on a non-blocking socket if the operation would block.
36300 - bpo-13248: removed previously deprecated asyncore.dispatcher __getattr__
36303 - bpo-9815: assertRaises now tries to clear references to local variables in
36306 - bpo-19940: ssl.cert_time_to_seconds() now interprets the given time string
36309 - bpo-13204: Calling sys.flags.__new__ would crash the interpreter, now it
36312 - bpo-19385: Make operations on a closed dbm.dumb database always raise the
36315 - bpo-21207: Detect when the os.urandom cached fd has been closed or
36318 - bpo-21291: subprocess's Popen.wait() is now thread safe so that multiple
36322 - bpo-21127: Path objects can now be instantiated from str subclass
36325 - bpo-15002: urllib.response object to use _TemporaryFileWrapper (and
36329 - bpo-12220: mindom now raises a custom ValueError indicating it doesn't
36332 - bpo-21068: The ssl.PROTOCOL* constants are now enum members.
36334 - bpo-21276: posixmodule: Don't define USE_XATTRS on KFreeBSD and the Hurd.
36336 - bpo-21262: New method assert_not_called for Mock. It raises AssertionError
36339 - bpo-21238: New keyword argument `unsafe` to Mock. It raises
36342 - bpo-20896: ssl.get_server_certificate() now uses PROTOCOL_SSLv23, not
36345 - bpo-21239: patch.stopall() didn't work deterministically when the same
36348 - bpo-21203: Updated fileConfig and dictConfig to remove inconsistencies.
36351 - bpo-21222: Passing name keyword argument to mock.create_autospec now
36354 - bpo-21197: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX.
36356 - bpo-17498: Some SMTP servers disconnect after certain errors, violating
36361 - bpo-17826: setting an iterable side_effect on a mock function created by
36364 - bpo-7776: Fix ``Host:`` header and reconnection when using
36367 - bpo-20968: unittest.mock.MagicMock now supports division. Patch by
36370 - bpo-21529: Fix arbitrary memory access in JSONDecoder.raw_decode with a
36372 CVE-2014-4616)
36374 - bpo-21169: getpass now handles non-ascii characters that the input stream
36375 encoding cannot encode by re-encoding using the replace error handler.
36377 - bpo-21171: Fixed undocumented filter API of the rot13 codec. Patch by
36380 - bpo-20539: Improved math.factorial error message for large positive inputs
36381 and changed exception type (OverflowError -> ValueError) for large
36384 - bpo-21172: isinstance check relaxed from dict to collections.Mapping.
36386 - bpo-21155: asyncio.EventLoop.create_unix_server() now raises a ValueError
36389 - bpo-21136: Avoid unnecessary normalization of Fractions resulting from
36392 - bpo-17621: Introduce importlib.util.LazyLoader.
36394 - bpo-21076: signal module constants were turned into enums. Patch by
36397 - bpo-20636: Improved the repr of Tkinter widgets.
36399 - bpo-19505: The items, keys, and values views of OrderedDict now support
36402 - bpo-21149: Improved thread-safety in logging cleanup during interpreter
36405 - bpo-21058: Fix a leak of file descriptor in
36409 - bpo-21200: Return None from pkgutil.get_loader() when __spec__ is missing.
36411 - bpo-21013: Enhance ssl.create_default_context() when used for server side
36414 - bpo-20145: `assertRaisesRegex` and `assertWarnsRegex` now raise a
36417 - bpo-20633: Replace relative import by absolute import.
36419 - bpo-20980: Stop wrapping exception when using ThreadPool.
36421 - bpo-21082: In os.makedirs, do not set the process-wide umask. Note this
36424 - bpo-20990: Fix issues found by pyflakes for multiprocessing.
36426 - bpo-21015: SSL contexts will now automatically select an elliptic curve
36430 - bpo-21000: Improve the command-line interface of json.tool.
36432 - bpo-20995: Enhance default ciphers used by the ssl module to enable better
36435 - bpo-20884: Don't assume that __file__ is defined on importlib.__init__.
36437 - bpo-21499: Ignore __builtins__ in several test_importlib.test_api tests.
36439 - bpo-20627: xmlrpc.client.ServerProxy is now a context manager.
36441 - bpo-19165: The formatter module now raises DeprecationWarning instead of
36444 - bpo-13936: Remove the ability of datetime.time instances to be considered
36447 - bpo-18931: selectors module now supports /dev/poll on Solaris. Patch by
36450 - bpo-19977: When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale),
36455 - bpo-20574: Implement incremental decoder for cp65001 code (Windows code
36456 page 65001, Microsoft UTF-8).
36458 - bpo-20879: Delay the initialization of encoding and decoding tables for
36463 - bpo-19157: Include the broadcast address in the usuable hosts for IPv6 in
36466 - bpo-11599: When an external command (e.g. compiler) fails, distutils now
36470 - bpo-4931: distutils should not produce unhelpful "error: None" messages
36471 anymore. distutils.util.grok_environment_error is kept but doc-deprecated.
36473 - bpo-20875: Prevent possible gzip "'read' is not defined" NameError. Patch
36476 - bpo-11558: ``email.message.Message.attach`` now returns a more useful
36480 - bpo-20283: RE pattern methods now accept the string keyword parameters as
36484 - bpo-20778: Fix modulefinder to work with bytecode-only modules.
36486 - bpo-20791: copy.copy() now doesn't make a copy when the input is a bytes
36489 - bpo-19748: On AIX, time.mktime() now raises an OverflowError for year
36492 - bpo-19573: inspect.signature: Use enum for parameter kind constants.
36494 - bpo-20726: inspect.signature: Make Signature and Parameter picklable.
36496 - bpo-17373: Add inspect.Signature.from_callable method.
36498 - bpo-20378: Improve repr of inspect.Signature and inspect.Parameter.
36500 - bpo-20816: Fix inspect.getcallargs() to raise correct TypeError for
36501 missing keyword-only arguments. Patch by Jeremiah Lowin.
36503 - bpo-20817: Fix inspect.getcallargs() to fail correctly if more than 3
36506 - bpo-6676: Ensure a meaningful exception is raised when attempting to parse
36511 - bpo-21117: Fix inspect.signature to better support functools.partial. Due
36513 positional-or-keyword arguments passed as keyword arguments become
36514 keyword-only.
36516 - bpo-20334: inspect.Signature and inspect.Parameter are now hashable.
36519 - bpo-15916: doctest.DocTestSuite returns an empty unittest.TestSuite
36522 - bpo-21209: Fix asyncio.tasks.CoroWrapper to workaround a bug in yield-from
36525 - asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream
36528 - bpo-21311: Avoid exception in _osx_support with non-standard compiler
36531 - bpo-11571: Ensure that the turtle window becomes the topmost window when
36534 - bpo-21801: Validate that __signature__ is None or an instance of
36537 - bpo-21923: Prevent AttributeError in
36541 - bpo-21323: Fix http.server to again handle scripts in CGI subdirectories,
36544 - bpo-22733: Fix ffi_prep_args not zero-extending argument values correctly
36545 on 64-bit Windows.
36547 - bpo-23302: Default to TCP_NODELAY=1 upon establishing an HTTPConnection.
36548 Removed use of hard-coded MSS as it's an optimization that's no longer
36552 ----
36554 - bpo-20577: Configuration of the max line length for the FormatParagraph
36559 - bpo-16893: Update Idle doc chapter to match current Idle and add new
36562 - bpo-3068: Add Idle extension configuration dialog to Options menu. Changes
36563 are written to HOME/.idlerc/config-extensions.cfg. Original patch by Tal
36566 - bpo-16233: A module browser (File : Class Browser, Alt+C) requires an
36572 - bpo-4832: Save As to type Python files automatically adds .py to the name
36576 - bpo-21986: Code objects are not normally pickled by the pickle module. To
36579 - bpo-17390: Adjust Editor window title; remove 'Python', move version to
36582 - bpo-14105: Idle debugger breakpoints no longer disappear when inserting or
36585 - bpo-17172: Turtledemo can now be run from Idle. Currently, the entry is on
36589 - bpo-21765: Add support for non-ascii identifiers to HyperParser.
36591 - bpo-21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav
36594 - bpo-18592: Add unittest for SearchDialogBase. Patch by Phil Webster.
36596 - bpo-21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar.
36598 - bpo-21686: add unittest for HyperParser. Original patch by Saimadhav
36601 - bpo-12387: Add missing upper(lower)case versions of default Windows key
36605 - bpo-21695: Closing a Find-in-files output window while the search is still
36608 - bpo-18910: Add unittest for textView. Patch by Phil Webster.
36610 - bpo-18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar.
36612 - bpo-18409: Add unittest for AutoComplete. Patch by Phil Webster.
36614 - bpo-21477: htest.py - Improve framework, complete set of tests. Patches by
36617 - bpo-18104: Add idlelib/idle_test/htest.py with a few sample tests to begin
36618 consolidating and improving human-validated tests of Idle. Change other
36622 - bpo-21139: Change default paragraph width to 72, the :pep:`8`
36625 - bpo-21284: Paragraph reformat test passes after user changes reformat
36628 - bpo-17654: Ensure IDLE menus are customized properly on OS X for
36629 non-framework builds and for all variants of Tk.
36631 - bpo-23180: Rename IDLE "Windows" menu item to "Window". Patch by Al
36635 -----
36637 - bpo-15506: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the
36640 - bpo-22935: Allow the ssl module to be compiled if openssl doesn't support
36643 - bpo-22592: Drop support of the Borland C compiler to build Python. The
36646 - bpo-22591: Drop support of MS-DOS, especially of the DJGPP compiler
36647 (MS-DOS port of GCC).
36649 - bpo-16537: Check whether self.extensions is empty in setup.py. Patch by
36652 - bpo-22359: Remove incorrect uses of recursive make. Patch by Jonas
36655 - bpo-21958: Define HAVE_ROUND when building with Visual Studio 2013 and
36658 - bpo-18093: the programs that embed the CPython runtime are now in a
36662 - bpo-15759: "make suspicious", "make linkcheck" and "make doctest" in Doc/
36665 - bpo-21141: The Windows build process no longer attempts to find Perl,
36667 The ``PCbuild\build_ssl.py`` script has been re-written and re-named to
36670 svn.python.org will always be pre-configured and ready to build.
36672 - bpo-21037: Add a build option to enable AddressSanitizer support.
36674 - bpo-19962: The Windows build process now creates "python.bat" in the root
36678 - bpo-21285: Refactor and fix curses configure check to always search in a
36681 - bpo-15234: For BerkeleyDB and Sqlite, only add the found library and
36685 - bpo-17861: Tools/scripts/generate_opcode_h.py automatically regenerates
36688 - bpo-20644: OS X installer build support for documentation build changes in
36689 3.4.1: assume externally supplied sphinx-build is available in /usr/bin.
36691 - bpo-20022: Eliminate use of deprecated bundlebuilder in OS X builds.
36693 - bpo-15968: Incorporated Tcl, Tk, and Tix builds into the Windows build
36696 - bpo-17095: Fix Modules/Setup *shared* support.
36698 - bpo-21811: Anticipated fixes to support OS X versions > 10.9.
36700 - bpo-21166: Prevent possible segfaults and other random failures of python
36701 --generate-posix-vars in pybuilddir.txt build target.
36703 - bpo-18096: Fix library order returned by python-config.
36705 - bpo-17219: Add library build dir for Python extension cross-builds.
36707 - bpo-22919: Windows build updated to support VC 14.0 (Visual Studio 2015),
36710 - bpo-21236: Build _msi.pyd with cabinet.lib instead of fci.lib
36712 - bpo-17128: Use private version of OpenSSL for OS X 10.5+ installer.
36715 -----
36717 - bpo-14203: Remove obsolete support for view==NULL in PyBuffer_FillInfo(),
36721 - bpo-22445: PyBuffer_IsContiguous() now implements precise contiguity
36725 - bpo-22079: PyType_Ready() now checks that statically allocated type has no
36728 - bpo-22453: Removed non-documented macro PyObject_REPR().
36730 - bpo-18395: Rename ``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`,
36734 - bpo-21233: Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(),
36739 - bpo-20942: PyImport_ImportFrozenModuleObject() no longer sets __file__ to
36744 -------------
36746 - bpo-19548: Update the codecs module documentation to better cover the
36750 - bpo-22394: Doc/Makefile now supports ``make venv PYTHON=../python`` to
36754 - bpo-21514: The documentation of the json module now refers to new JSON RFC
36757 - bpo-21777: The binary sequence methods on bytes and bytearray are now
36762 - bpo-6916: undocument deprecated asynchat.fifo class.
36764 - bpo-17386: Expanded functionality of the ``Doc/make.bat`` script to make
36767 - bpo-21312: Update the thread_foobar.h template file to include newer
36770 - bpo-21043: Remove the recommendation for specific CA organizations and to
36773 - bpo-20765: Add missing documentation for PurePath.with_name() and
36776 - bpo-19407: New package installation and distribution guides based on the
36781 - bpo-19697: Document cases where __main__.__spec__ is None.
36784 -----
36786 - bpo-18982: Add tests for CLI of the calendar module.
36788 - bpo-19548: Added some additional checks to test_codecs to ensure that
36792 - bpo-22838: All test_re tests now work with unittest test discovery.
36794 - bpo-22173: Update lib2to3 tests to use unittest test discovery.
36796 - bpo-16000: Convert test_curses to use unittest.
36798 - bpo-21456: Skip two tests in test_urllib2net.py if _ssl module not
36801 - bpo-20746: Fix test_pdb to run in refleak mode (-R). Patch by Xavier de
36804 - bpo-22060: test_ctypes has been somewhat cleaned up and simplified; it now
36807 - bpo-22104: regrtest.py no longer holds a reference to the suite of tests
36810 - bpo-22111: Assorted cleanups in test_imaplib. Patch by Milan Oberkirch.
36812 - bpo-22002: Added ``load_package_tests`` function to test.support and used
36816 - bpo-21976: Fix test_ssl to accept LibreSSL version strings. Thanks to
36819 - bpo-21918: Converted test_tools from a module to a package containing
36822 - bpo-9554: Use modern unittest features in test_argparse. Initial patch by
36825 - bpo-20155: Changed HTTP method names in failing tests in test_httpservers
36830 - bpo-19493: Refactored the ctypes test package to skip tests explicitly
36833 - bpo-18492: All resources are now allowed when tests are not run by
36836 - bpo-21634: Fix pystone micro-benchmark: use floor division instead of true
36840 - bpo-21605: Added tests for Tkinter images.
36842 - bpo-21493: Added test for ntpath.expanduser(). Original patch by Claudiu
36845 - bpo-19925: Added tests for the spwd module. Original patch by Vajrasky
36848 - bpo-21522: Added Tkinter tests for Listbox.itemconfigure(),
36851 - bpo-17756: Fix test_code test when run from the installed location.
36853 - bpo-17752: Fix distutils tests when run from the installed location.
36855 - bpo-18604: Consolidated checks for GUI availability. All platforms now at
36859 - bpo-21275: Fix a socket test on KFreeBSD.
36861 - bpo-21223: Pass test_site/test_startup_imports when some of the extensions
36864 - bpo-20635: Added tests for Tk geometry managers.
36866 - Add test case for freeze.
36868 - bpo-20743: Fix a reference leak in test_tcl.
36870 - bpo-21097: Move test_namespace_pkgs into test_importlib.
36872 - bpo-21503: Use test_both() consistently in test_importlib.
36874 - bpo-20939: Avoid various network test failures due to new redirect of
36878 - bpo-20668: asyncio tests no longer rely on tests.txt file. (Patch by
36881 - bpo-21093: Prevent failures of ctypes test_macholib on OS X if a copy of
36884 - bpo-22770: Prevent some Tk segfaults on OS X when running gui tests.
36886 - bpo-23211: Workaround test_logging failure on some OS X 10.6 systems.
36888 - bpo-23345: Prevent test_ssl failures with large OpenSSL patch level values
36892 -----------
36894 - bpo-22314: pydoc now works when the LINES environment variable is set.
36896 - bpo-22615: Argument Clinic now supports the "type" argument for the int
36899 - bpo-20076: The makelocalealias.py script no longer ignores UTF-8 mapping.
36901 - bpo-20079: The makelocalealias.py script now can parse the SUPPORTED file
36904 - bpo-22201: Command-line interface of the zipfile module now correctly
36907 - bpo-22120: For functions using an unsigned integer return converter,
36908 Argument Clinic now generates a cast to that type for the comparison to -1
36911 - bpo-18974: Tools/scripts/diff.py now uses argparse instead of optparse.
36913 - bpo-21906: Make Tools/scripts/md5sum.py work in Python 3. Patch by Zachary
36916 - bpo-21629: Fix Argument Clinic's "--converters" feature.
36918 - Add support for ``yield from`` to 2to3.
36920 - Add support for the :pep:`465` matrix multiplication operator to 2to3.
36922 - bpo-16047: Fix module exception list and __file__ handling in freeze.
36925 - bpo-11824: Consider ABI tags in freeze. Patch by Meador Inge.
36927 - bpo-20535: PYTHONWARNING no longer affects the run_tests.py script. Patch
36931 -------
36933 - bpo-23260: Update Windows installer
36935 - The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible
36941 - bpo-17896: The Windows build scripts now expect external library sources
36944 - bpo-17717: The Windows build scripts now use a copy of NASM pulled from
36947 - bpo-21907: Improved the batch scripts provided for building Python.
36949 - bpo-22644: The bundled version of OpenSSL has been updated to 1.0.1j.
36951 - bpo-10747: Use versioned labels in the Windows start menu. Patch by Olive
36954 - bpo-22980: .pyd files with a version and platform tag (for example,
36955 ".cp35-win32.pyd") will now be loaded in preference to those without tags.