Misc/NEWS.d/3.10.0a6.rst
.. 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.