.. bpo: 42967 .. date: 2021-02-14-15-59-16 .. nonce: YApqDS .. release date: 2021-02-16 .. section: Security Fix web cache poisoning vulnerability by defaulting the query args separator to ``&``, and allowing the user to choose a custom separator. .. .. bpo: 42938 .. date: 2021-01-18-09-27-31 .. nonce: 4Zn4Mp .. section: Security Avoid static buffers when computing the repr of :class:`ctypes.c_double` and :class:`ctypes.c_longdouble` values. .. .. bpo: 42819 .. date: 2021-01-04-23-54-34 .. nonce: 4KO6wU .. section: Core and Builtins :mod:`readline`: Explicitly disable bracketed paste in the interactive interpreter, even if it's set in the inputrc, is enabled by default (eg GNU Readline 8.1), or a user calls ``readline.read_init_file()``. The Python REPL has not implemented bracketed paste support. Also, bracketed mode writes the ``"\x1b[?2004h"`` escape sequence into stdout which causes test failures in applications that don't support it. It can still be explicitly enabled by calling ``readline.parse_and_bind("set enable-bracketed-paste on")``. Patch by Dustin Rodrigues. .. .. bpo: 42806 .. date: 2021-01-03-00-20-38 .. nonce: mLAobJ .. section: Core and Builtins Fix the column offsets for f-strings :mod:`ast` nodes surrounded by parentheses and for nodes that spawn multiple lines. Patch by Pablo Galindo. .. .. bpo: 40631 .. date: 2020-12-31-20-58-22 .. nonce: deRMCx .. section: Core and Builtins Fix regression where a single parenthesized starred expression was a valid assignment target. .. .. bpo: 32381 .. date: 2020-12-04-17-17-44 .. nonce: NY5t2S .. section: Core and Builtins Fix encoding name when running a ``.pyc`` file on Windows: :c:func:`PyRun_SimpleFileExFlags()` now uses the correct encoding to decode the filename. .. .. bpo: 42536 .. date: 2020-12-02-20-23-31 .. nonce: Kx3ZOu .. section: Core and Builtins Several built-in and standard library types now ensure that their internal result tuples are always tracked by the :term:`garbage collector `: - :meth:`collections.OrderedDict.items() ` - :meth:`dict.items` - :func:`enumerate` - :func:`functools.reduce` - :func:`itertools.combinations` - :func:`itertools.combinations_with_replacement` - :func:`itertools.permutations` - :func:`itertools.product` - :func:`itertools.zip_longest` - :func:`zip` Previously, they could have become untracked by a prior garbage collection. Patch by Brandt Bucher. .. .. bpo: 42195 .. date: 2020-11-20-00-57-47 .. nonce: HeqcpS .. section: Core and Builtins The ``__args__`` of the parameterized generics for :data:`typing.Callable` and :class:`collections.abc.Callable` are now consistent. The ``__args__`` for :class:`collections.abc.Callable` are now flattened while :data:`typing.Callable`'s have not changed. To allow this change, :class:`types.GenericAlias` can now be subclassed and ``collections.abc.Callable``'s ``__class_getitem__`` will now return a subclass of ``types.GenericAlias``. Tests for typing were also updated to not subclass things like ``Callable[..., T]`` as that is not a valid base class. Finally, both types no longer validate their ``argtypes``, in ``Callable[[argtypes], resulttype]`` to prepare for :pep:`612`. Patch by Ken Jin. .. .. bpo: 43102 .. date: 2021-02-03-22-55-27 .. nonce: TSlZ6J .. section: Library The namedtuple __new__ method had its __builtins__ set to None instead of an actual dictionary. This created problems for introspection tools. .. .. bpo: 43108 .. date: 2021-02-02-20-23-31 .. nonce: lqcCZ6 .. section: Library Fixed a reference leak in the :mod:`curses` module. Patch by Pablo Galindo .. .. bpo: 42944 .. date: 2021-01-18-10-41-44 .. nonce: RrONvy .. section: Library Fix ``random.Random.sample`` when ``counts`` argument is not ``None``. .. .. bpo: 42931 .. date: 2021-01-15-00-23-50 .. nonce: QD6U2B .. section: Library Add :func:`randbytes` to ``random.__all__``. .. .. bpo: 42780 .. date: 2021-01-08-15-49-20 .. nonce: rtqi6B .. section: Library Fix os.set_inheritable() for O_PATH file descriptors on Linux. .. .. bpo: 42851 .. date: 2021-01-07-11-44-22 .. nonce: uyQFyd .. section: Library remove __init_subclass__ support for Enum members .. .. bpo: 41748 .. date: 2021-01-05-21-26-29 .. nonce: KdC0w3 .. section: Library Fix HTMLParser parsing rules for element attributes containing commas with spaces. Patch by Karl Dubost. .. .. bpo: 42759 .. date: 2020-12-27-22-19-26 .. nonce: lGi_03 .. section: Library Fixed equality comparison of :class:`tkinter.Variable` and :class:`tkinter.font.Font`. Objects which belong to different Tcl interpreters are now always different, even if they have the same name. .. .. bpo: 42756 .. date: 2020-12-27-21-22-01 .. nonce: dHMPJ9 .. section: Library Configure LMTP Unix-domain socket to use socket global default timeout when a timeout is not explicitly provided. .. .. bpo: 23328 .. date: 2020-12-27-18-47-01 .. nonce: _xqepZ .. section: Library Allow / character in username, password fields on _PROXY envars. .. .. bpo: 42655 .. date: 2020-12-25-12-32-47 .. nonce: W5ytpV .. section: Library :mod:`subprocess` *extra_groups* is now correctly passed into setgroups() system call. .. .. bpo: 42727 .. date: 2020-12-23-19-43-06 .. nonce: WH3ODh .. section: Library ``EnumMeta.__prepare__`` now accepts ``**kwds`` to properly support ``__init_subclass__`` .. .. bpo: 42681 .. date: 2020-12-20-22-50-15 .. nonce: lDO6jb .. section: Library Fixed range checks for color and pair numbers in :mod:`curses`. .. .. bpo: 37961 .. date: 2020-12-16-16-16-33 .. nonce: jrESEq .. section: Library Fix crash in :func:`tracemalloc.Traceback.__repr__` (regressed in Python 3.9). .. .. bpo: 42630 .. date: 2020-12-15-17-51-27 .. nonce: jf4jBl .. section: Library :mod:`tkinter` functions and constructors which need a default root window raise now :exc:`RuntimeError` with descriptive message instead of obscure :exc:`AttributeError` or :exc:`NameError` if it is not created yet or cannot be created automatically. .. .. bpo: 42644 .. date: 2020-12-15-10-00-04 .. nonce: XgLCNx .. section: Library `logging.disable` will now validate the types and value of its parameter. It also now accepts strings representing the levels (as does `loging.setLevel`) instead of only the numerical values. .. .. bpo: 36541 .. date: 2020-12-14-08-23-57 .. nonce: qdEtZv .. section: Library Fixed lib2to3.pgen2 to be able to parse PEP-570 positional only argument syntax. .. .. bpo: 42517 .. date: 2020-12-09-10-59-16 .. nonce: FKEVcZ .. section: Library Enum: private names will raise a DeprecationWarning; in 3.10 they will become normal attributes .. .. bpo: 42678 .. date: 2020-12-08-22-43-35 .. nonce: ba9ktU .. section: Library `Enum`: call `__init_subclass__` after members have been added .. .. bpo: 42532 .. date: 2020-12-02-07-37-59 .. nonce: ObNep_ .. section: Library Remove unexpected call of ``__bool__`` when passing a ``spec_arg`` argument to a Mock. .. .. bpo: 42388 .. date: 2020-11-22-11-22-28 .. nonce: LMgM6B .. section: Library Fix subprocess.check_output(..., input=None) behavior when text=True to be consistent with that of the documentation and universal_newlines=True. .. .. bpo: 34463 .. date: 2020-11-20-19-00-27 .. nonce: aJcm56 .. section: Library Fixed discrepancy between :mod:`traceback` and the interpreter in formatting of SyntaxError with lineno not set (:mod:`traceback` was changed to match interpreter). .. .. bpo: 42375 .. date: 2020-11-19-04-13-53 .. nonce: U8bp4s .. section: Library subprocess module update for DragonFlyBSD support. .. .. bpo: 42384 .. date: 2020-11-17-14-32-39 .. nonce: 1ZnQSn .. section: Library Make pdb populate sys.path[0] exactly the same as regular python execution. .. .. bpo: 42383 .. date: 2020-11-17-14-30-12 .. nonce: ubl0Y_ .. section: Library Fix pdb: previously pdb would fail to restart the debugging target if it was specified using a relative path and the current directory changed. .. .. bpo: 42318 .. date: 2020-11-14-13-46-27 .. nonce: wYAcBD .. section: Library Fixed support of non-BMP characters in :mod:`tkinter` on macOS. .. .. bpo: 42163 .. date: 2020-10-29-09-22-56 .. nonce: O4VcCY .. section: Library Restore compatibility for ``uname_result`` around deepcopy and _replace. .. .. bpo: 39825 .. date: 2020-10-20-08-28-26 .. nonce: n6KnG0 .. section: Library Windows: Change ``sysconfig.get_config_var('EXT_SUFFIX')`` to the expected full ``platform_tag.extension`` format. Previously it was hard-coded to ``.pyd``, now it is compatible with ``distutils.sysconfig`` and will result in something like ``.cp38-win_amd64.pyd``. This brings windows into conformance with the other platforms. .. .. bpo: 42059 .. date: 2020-10-17-12-42-08 .. nonce: ZGMZ3D .. section: Library :class:`typing.TypedDict` types created using the alternative call-style syntax now correctly respect the ``total`` keyword argument when setting their ``__required_keys__`` and ``__optional_keys__`` class attributes. .. .. bpo: 39101 .. date: 2020-10-11-21-43-03 .. nonce: -I49Pm .. section: Library Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions. .. .. bpo: 42005 .. date: 2020-10-11-13-48-03 .. nonce: Jq6Az- .. section: Library Fix CLI of :mod:`cProfile` and :mod:`profile` to catch :exc:`BrokenPipeError`. .. .. bpo: 41907 .. date: 2020-10-02-10-19-49 .. nonce: wiIEsz .. section: Library fix `format()` behavior for `IntFlag` .. .. bpo: 41889 .. date: 2020-10-01-16-17-11 .. nonce: qLkNh8 .. section: Library Enum: fix regression involving inheriting a multiply-inherited enum .. .. bpo: 41891 .. date: 2020-09-30-13-35-29 .. nonce: pNAeYI .. section: Library Ensure asyncio.wait_for waits for task completion .. .. bpo: 41604 .. date: 2020-08-21-15-24-14 .. nonce: rTXleO .. section: Library Don't decrement the reference count of the previous user_ptr when set_panel_userptr fails. .. .. bpo: 40219 .. date: 2020-07-13-19-43-11 .. nonce: MUoJEP .. section: Library Lowered :class:`tkinter.ttk.LabeledScale` dummy widget to prevent hiding part of the content label. .. .. bpo: 40084 .. date: 2020-03-29-21-32-00 .. nonce: MCYwcv .. section: Library Fix ``Enum.__dir__``: dir(Enum.member) now includes attributes as well as methods. .. .. bpo: 39068 .. date: 2019-12-16-17-55-31 .. nonce: Ti3f9P .. section: Library Fix initialization race condition in :func:`a85encode` and :func:`b85encode` in :mod:`base64`. Patch by Brandon Stansbury. .. .. bpo: 33289 .. date: 2018-04-23-13-44-10 .. nonce: anBnUr .. section: Library Correct call to :mod:`tkinter.colorchooser` to return RGB triplet of ints instead of floats. Patch by Cheryl Sabella. .. .. bpo: 40304 .. date: 2021-01-20-23-03-49 .. nonce: -LK7Ps .. section: Documentation Fix doc for type(name, bases, dict). Patch by Boris Verkhovskiy and Éric Araujo. .. .. bpo: 42811 .. date: 2021-01-07-12-08-59 .. nonce: ePF7EC .. section: Documentation Updated importlib.utils.resolve_name() doc to use __spec__.parent instead of __package__. (Thanks Yair Frid.) .. .. bpo: 17140 .. date: 2020-12-16-21-06-16 .. nonce: 1leSEg .. section: Documentation Add documentation for the :class:`multiprocessing.pool.ThreadPool` class. .. .. bpo: 42794 .. date: 2021-01-01-08-52-36 .. nonce: -7-XGz .. section: Tests Update test_nntplib to use offical group name of news.aioe.org for testing. Patch by Dong-hee Na. .. .. bpo: 40810 .. date: 2020-05-30-10-56-38 .. nonce: LPqDLQ .. section: Tests In :mod:`sqlite3`, fix ``CheckTraceCallbackContent`` for SQLite pre 3.7.15. .. .. bpo: 43174 .. date: 2021-02-10-14-11-53 .. nonce: F9zwXQ .. section: Build Windows build now uses ``/utf-8`` compiler option. .. .. bpo: 42692 .. date: 2021-01-04-05-07-30 .. nonce: OO11SN .. section: Build Fix __builtin_available check on older compilers. Patch by Joshua Root. .. .. bpo: 42604 .. date: 2020-12-20-02-35-28 .. nonce: gRd89w .. section: Build Now all platforms use a value for the "EXT_SUFFIX" build variable derived from SOABI (for instance in freeBSD, "EXT_SUFFIX" is now ".cpython-310d.so" instead of ".so"). Previosuly only Linux, Mac and VxWorks were using a value for "EXT_SUFFIX" that included "SOABI". .. .. bpo: 42598 .. date: 2020-12-13-14-43-10 .. nonce: 7ipr5H .. section: Build Fix implicit function declarations in configure which could have resulted in incorrect configuration checks. Patch contributed by Joshua Root. .. .. bpo: 29076 .. date: 2020-02-28-14-33-15 .. nonce: Gtixi5 .. section: Build Add fish shell support to macOS installer. .. .. bpo: 41837 .. date: 2021-01-05-20-36-40 .. nonce: bmS7vB .. section: Windows Updated Windows installer to include OpenSSL 1.1.1i .. .. bpo: 42584 .. date: 2020-12-07-11-40-52 .. nonce: AsYnVX .. section: Windows Upgrade Windows installer to use SQLite 3.34.0. .. .. bpo: 42504 .. date: 2021-01-26-14-36-11 .. nonce: ZxWt71 .. section: macOS Ensure that the value of sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') is always a string, even in when the value is parsable as an integer. .. .. bpo: 42361 .. date: 2021-01-04-01-17-17 .. nonce: eolZAi .. section: macOS Update macOS installer build to use Tcl/Tk 8.6.11 (rc2, expected to be final release). .. .. bpo: 41837 .. date: 2021-01-04-00-48-08 .. nonce: dX-unJ .. section: macOS Update macOS installer build to use OpenSSL 1.1.1i. .. .. bpo: 42584 .. date: 2020-12-07-11-37-35 .. nonce: LygmqQ .. section: macOS Update macOS installer to use SQLite 3.34.0. .. .. bpo: 43008 .. date: 2021-01-26-18-12-17 .. nonce: mbQUc7 .. section: IDLE Make IDLE invoke :func:`sys.excepthook` in normal, 2-process mode. Patch by Ken Hilton. .. .. bpo: 33065 .. date: 2021-01-10-01-25-43 .. nonce: zmyHYJ .. section: IDLE Fix problem debugging user classes with __repr__ method. .. .. bpo: 23544 .. date: 2019-11-14-23-41-07 .. nonce: 3etemb .. section: IDLE Disable Debug=>Stack Viewer when user code is running or Debugger is active, to prevent hang or crash. Patch by Zackery Spytz. .. .. bpo: 32631 .. date: 2019-06-30-20-31-09 .. nonce: e7_4BG .. section: IDLE Finish zzdummy example extension module: make menu entries work; add docstrings and tests with 100% coverage. .. .. bpo: 42726 .. date: 2020-12-23-19-42-11 .. nonce: a5EkTv .. section: Tools/Demos Fixed Python 3 compatibility issue with gdb/libpython.py handling of attribute dictionaries. .. .. bpo: 42613 .. date: 2020-12-16-09-10-32 .. nonce: J-jnm5 .. section: Tools/Demos Fix ``freeze.py`` tool to use the prope config and library directories. Patch by Victor Stinner. .. .. bpo: 43030 .. date: 2021-01-27-10-27-47 .. nonce: loDcD_ .. section: C API Fixed a compiler warning in :c:func:`Py_UNICODE_ISSPACE()` on platforms with signed ``wchar_t``. .. .. bpo: 42591 .. date: 2020-12-10-10-43-03 .. nonce: CXNY8G .. section: C API Export the :c:func:`Py_FrozenMain` function: fix a Python 3.9.0 regression. Python 3.9 uses ``-fvisibility=hidden`` and the function was not exported explicitly and so not exported. .. .. bpo: 40052 .. date: 2020-03-24-09-27-10 .. nonce: 27P2KG .. section: C API Fix an alignment build warning/error in function ``PyVectorcall_Function()``. Patch by Andreas Schneider, Antoine Pitrou and Petr Viktorin.