Back to Cpython

3.10.0a6

Misc/NEWS.d/3.10.0a6.rst

3.15.0a812.1 KB
Original Source

.. bpo: 42967 .. date: 2021-02-14-15-59-16 .. nonce: YApqDS .. release date: 2021-03-01 .. section: Security

Fix web cache poisoning vulnerability by defaulting the query args separator to &, and allowing the user to choose a custom separator.

..

.. bpo: 43321 .. date: 2021-02-26-13-17-52 .. nonce: TCS3ph .. section: Core and Builtins

Fix SystemError raised when PyArg_Parse*() is used with # but without PY_SSIZE_T_CLEAN defined.

..

.. bpo: 36346 .. date: 2021-02-22-19-00-00 .. nonce: uAoni0 .. section: Core and Builtins

PyArg_Parse*() functions now emits DeprecationWarning when u or Z format is used. See :pep:623 for detail.

..

.. bpo: 43277 .. date: 2021-02-20-16-50-22 .. nonce: FXkRXk .. section: Core and Builtins

Add a new :c:func:PySet_CheckExact function to the C-API to check if an object is an instance of :class:set but not an instance of a subtype. Patch by Pablo Galindo.

..

.. bpo: 42990 .. date: 2021-02-18-15-12-30 .. nonce: toAqBH .. section: Core and Builtins

The :data:types.FunctionType constructor now inherits the current builtins if the globals dictionary has no "__builtins__" key, rather than using {"None": None} as builtins: same behavior as :func:eval and :func:exec functions. Defining a function with def function(...): ... in Python is not affected, globals cannot be overridden with this syntax: it also inherits the current builtins. Patch by Victor Stinner.

..

.. bpo: 42990 .. date: 2021-02-17-19-02-21 .. nonce: SKXHiI .. section: Core and Builtins

Functions have a new __builtins__ attribute which is used to look for builtin symbols when a function is executed, instead of looking into __globals__['__builtins__']. Patch by Mark Shannon and Victor Stinner.

..

.. bpo: 43149 .. date: 2021-02-07-03-27-14 .. nonce: 0umPKD .. section: Core and Builtins

Improve the error message in the parser for exception groups without parentheses. Patch by Pablo Galindo.

..

.. bpo: 43121 .. date: 2021-02-03-22-33-05 .. nonce: jqcViq .. section: Core and Builtins

Fixed an incorrect :exc:SyntaxError message for missing comma in literals. Patch by Pablo Galindo.

..

.. bpo: 42819 .. date: 2021-01-04-23-54-34 .. nonce: 4KO6wU .. section: Library

: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: 42808 .. date: 2021-01-02-05-10-58 .. nonce: AOxgxl .. section: Core and Builtins

Simple calls to type(object) are now faster due to the vectorcall calling convention. Patch by Dennis Sweeney.

..

.. bpo: 42217 .. date: 2020-10-31-16-54-00 .. nonce: GdcHe5 .. section: Core and Builtins

Make the compiler merges same co_code and co_linetable objects in a module like already did for co_consts.

..

.. bpo: 41972 .. date: 2020-10-23-23-17-23 .. nonce: kbAwg4 .. section: Core and Builtins

Substring search functions such as str1 in str2 and str2.find(str1) now sometimes use the "Two-Way" string comparison algorithm to avoid quadratic behavior on long strings.

..

.. bpo: 42128 .. date: 2020-10-23-08-54-04 .. nonce: SWmVEm .. section: Core and Builtins

Implement :pep:634 (structural pattern matching). Patch by Brandt Bucher.

..

.. bpo: 40692 .. date: 2020-05-19-22-10-05 .. nonce: ajEhrR .. section: Library

In the :class:concurrent.futures.ProcessPoolExecutor, validate that :func:multiprocess.synchronize is available on a given platform and rely on that check in the :mod:concurrent.futures test suite so we can run tests that are unrelated to :class:ProcessPoolExecutor on those platforms.

..

.. bpo: 38302 .. date: 2019-09-28-12-23-23 .. nonce: hsCNgX .. section: Core and Builtins

If :func:object.__ipow__ returns :data:NotImplemented, the operator will correctly fall back to :func:object.__pow__ and :func:object.__rpow__ as expected.

..

.. bpo: 43316 .. date: 2021-02-25-09-44-36 .. nonce: k9Gyqn .. section: Library

The python -m gzip command line application now properly fails when detecting an unsupported extension. It exits with a non-zero exit code and prints an error message to stderr.

..

.. bpo: 43317 .. date: 2021-02-25-09-08-55 .. nonce: qrOOpB .. section: Library

Set the chunk size for the gzip module main function to io.DEFAULT_BUFFER_SIZE. This is slightly faster than the 1024 bytes constant that was used previously.

..

.. bpo: 43146 .. date: 2021-02-23-17-20-16 .. nonce: JAFplg .. section: Library

Handle None in single-arg versions of :func:~traceback.print_exception and :func:~traceback.format_exception.

..

.. bpo: 43260 .. date: 2021-02-20-12-15-29 .. nonce: 6znAas .. section: Library

Fix TextIOWrapper can not flush internal buffer forever after very large text is written.

..

.. bpo: 43258 .. date: 2021-02-18-23-30-52 .. nonce: LeU-q8 .. section: Library

Prevent needless allocation of :mod:sqlite3 aggregate function context when no rows match an aggregate query. Patch by Erlend E. Aasland.

..

.. bpo: 43251 .. date: 2021-02-18-14-24-42 .. nonce: n6WZDw .. section: Library

Improve :mod:sqlite3 error handling: sqlite3_column_name() failures now result in :exc:MemoryError. Patch by Erlend E. Aasland.

..

.. bpo: 40956 .. date: 2021-02-10-23-29-50 .. nonce: LcAbwG .. section: Library

Fix segfault in :meth:sqlite3.Connection.backup if no argument was provided. The regression was introduced by PR 23838. Patch by Erlend E. Aasland.

..

.. bpo: 43172 .. date: 2021-02-10-06-00-53 .. nonce: ZMCJni .. section: Library

The readline module now passes its tests when built directly against libedit. Existing irreconcilable API differences remain in :func:readline.get_begidx and :func:readline.get_endidx behavior based on libreadline vs libedit use.

..

.. bpo: 43163 .. date: 2021-02-08-21-13-51 .. nonce: E2MgzH .. section: Library

Fix a bug in :mod:codeop that was causing it to not ask for more input when multi-line snippets have unclosed parentheses. Patch by Pablo Galindo

..

.. bpo: 43162 .. date: 2021-02-08-16-27-00 .. nonce: t-W7h3 .. section: Library

deprecate unsupported ability to access enum members as attributes of other enum members

..

.. bpo: 43146 .. date: 2021-02-06-21-21-35 .. nonce: MHtb2v .. section: Library

Fix recent regression in None argument handling in :mod:~traceback module functions.

..

.. 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: 43106 .. date: 2021-02-03-17-06-38 .. nonce: SwcSuU .. section: Library

Added :const:~os.O_EVTONLY, :const:~os.O_FSYNC, :const:~os.O_SYMLINK and :const:~os.O_NOFOLLOW_ANY for macOS. Patch by Donghee Na.

..

.. bpo: 42960 .. date: 2021-01-18-21-07-20 .. nonce: a7Dote .. section: Library

Adds :const:resource.RLIMIT_KQUEUES constant from FreeBSD to the :mod:resource module.

..

.. bpo: 42151 .. date: 2020-10-26-18-01-09 .. nonce: et5f7s .. section: Library

Make the pure Python implementation of :mod:xml.etree.ElementTree behave the same as the C implementation (:mod:!_elementree) regarding default attribute values (by not setting specified_attributes=1).

..

.. bpo: 29753 .. date: 2020-05-02-01-01-30 .. nonce: n2M-AF .. section: Library

In ctypes, now packed bitfields are calculated properly and the first item of packed bitfields is now shrank correctly.

..

.. bpo: 27646 .. date: 2021-02-20-00-09-13 .. nonce: HRsmo- .. section: Documentation

Clarify that 'yield from <expr>' works with any iterable, not just iterators.

..

.. bpo: 36346 .. date: 2020-06-15-10-45-45 .. nonce: H0sS_i .. section: Documentation

Update some deprecated unicode APIs which are documented as "will be removed in 4.0" to "3.12". See :pep:623 for detail.

..

.. bpo: 43288 .. date: 2021-02-21-11-11-53 .. nonce: LfTvL- .. section: Tests

Fix test_importlib to correctly skip Unicode file tests if the filesystem does not support them.

..

.. bpo: 43174 .. date: 2021-02-10-14-11-53 .. nonce: F9zwXQ .. section: Build

Windows build now uses /utf-8 compiler option.

..

.. bpo: 43103 .. date: 2021-02-02-16-26-44 .. nonce: VWeyP_ .. section: Build

Add a new configure --without-static-libpython option to not build the libpythonMAJOR.MINOR.a static library and not install the python.o object file.

..

.. bpo: 13501 .. date: 2021-01-10-22-25-23 .. nonce: g4L-6R .. section: Build

The configure script can now use libedit instead of readline with the command line option --with-readline=editline.

..

.. bpo: 42603 .. date: 2020-12-08-19-25-20 .. nonce: mXs2dB .. section: Build

Make configure script use pkg-config to detect the location of Tcl/Tk headers and libraries, used to build tkinter.

On macOS, a Tcl/Tk configuration provided by pkg-config will be preferred over Tcl/Tk frameworks installed in /{System/,}Library/Frameworks. If both exist and the latter is preferred, the appropriate --with-tcltk-* configuration options need to be explicitly set.

..

.. bpo: 39448 .. date: 2020-01-24-12-54-22 .. nonce: k4pv14 .. section: Build

Add the "regen-frozen" makefile target that regenerates the code for the frozen __hello__ module.

..

.. bpo: 43155 .. date: 2021-02-10-04-16-51 .. nonce: O1tURk .. section: Windows

:c:func:PyCMethod_New is now present in python3.lib.

..

.. bpo: 41837 .. date: 2021-02-28-22-49-46 .. nonce: 9fqyXC .. section: macOS

Update macOS installer build to use OpenSSL 1.1.1j.

..

.. bpo: 43283 .. date: 2021-02-21-16-30-10 .. nonce: DLBwYn .. section: IDLE

Document why printing to IDLE's Shell is often slower than printing to a system terminal and that it can be made faster by pre-formatting a single string before printing.

..

.. bpo: 43278 .. date: 2021-02-21-15-30-38 .. nonce: DMPaWH .. section: C API

Always put compiler and system information on the first line of the REPL welcome message.

..

.. bpo: 43270 .. date: 2021-02-19-14-28-26 .. nonce: UKx4XN .. section: C API

Remove the private _PyErr_OCCURRED() macro: use the public :c:func:PyErr_Occurred function instead.

..

.. bpo: 35134 .. date: 2021-02-18-18-46-42 .. nonce: dFpEDT .. section: C API

Move odictobject.h, parser_interface.h, picklebufobject.h, pydebug.h, and pyfpe.h into the cpython/ directory. They must not be included directly, as they are already included by Python.h: :ref:Include Files <api-includes>.

..

.. bpo: 35134 .. date: 2021-02-17-18-51-26 .. nonce: YoQdk8 .. section: C API

Move pyarena.h, pyctype.h, and pytime.h into the cpython/ directory. They must not be included directly, as they are already included by Python.h: :ref:Include Files <api-includes>.

..

.. bpo: 40170 .. date: 2021-02-16-22-29-39 .. nonce: ahHmOo .. section: C API

:c:func:PyExceptionClass_Name is now always declared as a function, in order to hide implementation details. The macro accessed :c:member:PyTypeObject.tp_name directly. Patch by Erlend E. Aasland.

..

.. bpo: 43239 .. date: 2021-02-16-17-30-16 .. nonce: FQqOGz .. section: C API

The :c:func:PyCFunction_New function is now exported in the ABI when compiled with -fvisibility=hidden.

..

.. bpo: 40170 .. date: 2021-02-15-15-06-43 .. nonce: ZYeSii .. section: C API

:c:func:PyIter_Check is now always declared as a function, in order to hide implementation details. The macro accessed :c:member:PyTypeObject.tp_iternext directly. Patch by Erlend E. Aasland.

..

.. bpo: 40170 .. date: 2021-02-15-13-41-14 .. nonce: r2FAtl .. section: C API

Convert :c:func:PyDescr_IsData macro to a function to hide implementation details: The macro accessed :c:member:PyTypeObject.tp_descr_set directly. Patch by Erlend E. Aasland.

..

.. bpo: 43181 .. date: 2021-02-11-11-37-14 .. nonce: ydv33S .. section: C API

Convert :c:func:PyObject_TypeCheck macro to a static inline function. Patch by Erlend E. Aasland.