cpython/Misc/NEWS.d/3.12.0a4.rst

.. date: 2023-01-06-02-02-11
.. gh-issue: 100776
.. nonce: pP8xux
.. release date: 2023-01-10
.. section: Core and Builtins

Fix misleading default value in :func:`input`'s ``__text_signature__``.

..

.. date: 2023-01-05-17-54-29
.. gh-issue: 99005
.. nonce: cmGwxv
.. section: Core and Builtins

Remove :opcode:`!UNARY_POSITIVE`, :opcode:`!ASYNC_GEN_WRAP` and
:opcode:`!LIST_TO_TUPLE`, replacing them with intrinsics.

..

.. date: 2023-01-05-13-54-00
.. gh-issue: 99005
.. nonce: D7H6j4
.. section: Core and Builtins

Add new :opcode:`CALL_INTRINSIC_1` instruction. Remove
:opcode:`IMPORT_STAR`, :opcode:`PRINT_EXPR` and
:opcode:`STOPITERATION_ERROR`, replacing them with the
:opcode:`CALL_INTRINSIC_1` instruction.

..

.. date: 2023-01-04-16-40-55
.. gh-issue: 100288
.. nonce: hRSRaT
.. section: Core and Builtins

Remove the LOAD_ATTR_METHOD_WITH_DICT specialized instruction. Stats show it
is not useful.

..

.. date: 2023-01-03-16-50-42
.. gh-issue: 100720
.. nonce: UhE7P-
.. section: Core and Builtins

Added ``_PyFrame_NumSlotsForCodeObject``, which returns the number of slots
needed in a frame for a given code object.

..

.. date: 2023-01-03-16-38-18
.. gh-issue: 100719
.. nonce: 2C--ko
.. section: Core and Builtins

Removed the co_nplaincellvars field from the code object, as it is
redundant.

..

.. date: 2023-01-01-15-59-48
.. gh-issue: 100637
.. nonce: M2n6Kg
.. section: Core and Builtins

Fix :func:`int.__sizeof__` calculation to include the 1-element ``ob_digit``
array for ``0`` and ``False``.

..

.. date: 2022-12-31-23-32-09
.. gh-issue: 100649
.. nonce: C0fY4S
.. section: Core and Builtins

Update the native_thread_id field of PyThreadState after fork.

..

.. date: 2022-12-29-04-39-38
.. gh-issue: 100126
.. nonce: pfFJd-
.. section: Core and Builtins

Fix an issue where "incomplete" frames could be briefly visible to C code
while other frames are being torn down, possibly resulting in corruption or
hard crashes of the interpreter while running finalizers.

..

.. date: 2022-12-28-15-02-53
.. gh-issue: 87447
.. nonce: 7-aekA
.. section: Core and Builtins

Fix :exc:`SyntaxError` on comprehension rebind checking with names that are
not actually redefined.

Now reassigning ``b`` in ``[(b := 1) for a, b.prop in some_iter]`` is
allowed. Reassigning ``a`` is still disallowed as per :pep:`572`.

..

.. date: 2022-12-22-21-56-08
.. gh-issue: 100268
.. nonce: xw_phB
.. section: Core and Builtins

Add :meth:`int.is_integer` to improve duck type compatibility between
:class:`int` and :class:`float`.

..

.. date: 2022-12-21-22-48-41
.. gh-issue: 100425
.. nonce: U64yLu
.. section: Core and Builtins

Improve the accuracy of ``sum()`` with compensated summation.

..

.. date: 2022-12-20-16-14-19
.. gh-issue: 100374
.. nonce: YRrVHT
.. section: Core and Builtins

Fix incorrect result and delay in :func:`socket.getfqdn`. Patch by Dominic
Socular.

..

.. date: 2022-12-20-09-56-56
.. gh-issue: 100357
.. nonce: hPyTwY
.. section: Core and Builtins

Convert ``vars``, ``dir``, ``next``, ``getattr``, and ``iter`` to argument
clinic.

..

.. date: 2022-12-17-19-44-57
.. gh-issue: 100117
.. nonce: yRWQ1y
.. section: Core and Builtins

Improve the output of :meth:`codeobject.co_lines` by emitting only one entry
for each line range.

..

.. date: 2022-12-15-00-50-25
.. gh-issue: 90043
.. nonce: gyoKdx
.. section: Core and Builtins

Handle NaNs when specializing :opcode:`COMPARE_OP` for :class:`float`
values.

..

.. date: 2022-12-13-16-05-18
.. gh-issue: 100222
.. nonce: OVVvYe
.. section: Core and Builtins

Redefine the ``_Py_CODEUNIT`` typedef as a union to describe its layout to
the C compiler, avoiding type punning and improving clarity.

..

.. date: 2022-12-12-11-27-54
.. gh-issue: 99955
.. nonce: Ix5Rrg
.. section: Core and Builtins

Internal compiler functions (in compile.c) now consistently return -1 on
error and 0 on success.

..

.. date: 2022-12-12-05-30-12
.. gh-issue: 100188
.. nonce: sGCSMR
.. section: Core and Builtins

The ``BINARY_SUBSCR_LIST_INT`` and ``BINARY_SUBSCR_TUPLE_INT`` instructions
are no longer used for negative integers because those instructions always
miss when encountering negative integers.

..

.. date: 2022-12-12-01-05-16
.. gh-issue: 99110
.. nonce: 1JqtIg
.. section: Core and Builtins

Initialize frame->previous in frameobject.c to fix a segmentation fault when
accessing frames created by :c:func:`PyFrame_New`.

..

.. date: 2022-12-12-00-59-11
.. gh-issue: 94155
.. nonce: LWE9y_
.. section: Core and Builtins

Improved the hashing algorithm for code objects, mitigating some hash
collisions.

..

.. date: 2022-12-10-20-00-13
.. gh-issue: 99540
.. nonce: ZZZHeP
.. section: Core and Builtins

``None`` now hashes to a constant value. This is not a requirements change.

..

.. date: 2022-12-09-14-27-36
.. gh-issue: 100143
.. nonce: 5g9rb4
.. section: Core and Builtins

When built with ``--enable-pystats``, stats collection is now off by
default. To enable it early at startup, pass the ``-Xpystats`` flag.  Stats
are now always dumped, even if switched off.

..

.. date: 2022-12-09-13-18-42
.. gh-issue: 100146
.. nonce: xLVKg0
.. section: Core and Builtins

Improve ``BUILD_LIST`` opcode so that it works similarly to the
``BUILD_TUPLE`` opcode, by stealing references from the stack rather than
repeatedly using stack operations to set list elements.  Implementation
details are in a new private API :c:func:`!_PyList_FromArraySteal`.

..

.. date: 2022-12-08-12-26-34
.. gh-issue: 100110
.. nonce: ertac-
.. section: Core and Builtins

Specialize ``FOR_ITER`` for tuples.

..

.. date: 2022-12-06-22-24-01
.. gh-issue: 100050
.. nonce: lcrPqQ
.. section: Core and Builtins

Honor existing errors obtained when searching for mismatching parentheses in
the tokenizer. Patch by Pablo Galindo

..

.. date: 2022-12-04-00-38-33
.. gh-issue: 92216
.. nonce: CJXuWB
.. section: Core and Builtins

Improve the performance of :func:`hasattr` for type objects with a missing
attribute.

..

.. date: 2022-11-19-01-11-06
.. gh-issue: 99582
.. nonce: wvOBVy
.. section: Core and Builtins

Freeze :mod:`zipimport` module into ``_bootstrap_python``.

..

.. date: 2022-11-16-05-57-24
.. gh-issue: 99554
.. nonce: A_Ywd2
.. section: Core and Builtins

Pack debugging location tables more efficiently during bytecode compilation.

..

.. date: 2022-10-21-16-10-39
.. gh-issue: 98522
.. nonce: s_SixG
.. section: Core and Builtins

Add an internal version number to code objects, to give better versioning of
inner functions and comprehensions, and thus better specialization of those
functions. This change is invisible to both Python and C extensions.

..

.. date: 2022-07-06-18-44-00
.. gh-issue: 94603
.. nonce: Q_03xV
.. section: Core and Builtins

Improve performance of ``list.pop`` for small lists.

..

.. date: 2022-06-17-08-00-34
.. gh-issue: 89051
.. nonce: yP4Na0
.. section: Core and Builtins

Add :const:`ssl.OP_LEGACY_SERVER_CONNECT`

..

.. bpo: 32782
.. date: 2018-02-06-23-21-13
.. nonce: EJVSfR
.. section: Core and Builtins

``ctypes`` arrays of length 0 now report a correct itemsize when a
``memoryview`` is constructed from them, rather than always giving a value
of 0.

..

.. date: 2023-01-08-12-10-17
.. gh-issue: 100833
.. nonce: f6cT7E
.. section: Library

Speed up :func:`math.fsum` by removing defensive ``volatile`` qualifiers.

..

.. date: 2023-01-07-15-13-47
.. gh-issue: 100805
.. nonce: 05rBz9
.. section: Library

Modify :func:`random.choice` implementation to once again work with NumPy
arrays.

..

.. date: 2023-01-06-22-36-27
.. gh-issue: 100813
.. nonce: mHRdQn
.. section: Library

Add :const:`socket.IP_PKTINFO` constant.

..

.. date: 2023-01-06-14-05-15
.. gh-issue: 100792
.. nonce: CEOJth
.. section: Library

Make :meth:`email.message.Message.__contains__` twice as fast.

..

.. date: 2023-01-05-23-04-15
.. gh-issue: 91851
.. nonce: AuCzU5
.. section: Library

Microoptimizations for :meth:`fractions.Fraction.__round__`,
:meth:`fractions.Fraction.__ceil__` and
:meth:`fractions.Fraction.__floor__`.

..

.. date: 2023-01-04-22-10-31
.. gh-issue: 90104
.. nonce: yZk5EX
.. section: Library

Avoid RecursionError on ``repr`` if a dataclass field definition has a
cyclic reference.

..

.. date: 2023-01-04-12-58-59
.. gh-issue: 100689
.. nonce: Ce0ITG
.. section: Library

Fix crash in :mod:`pyexpat` by statically allocating ``PyExpat_CAPI``
capsule.

..

.. date: 2023-01-04-09-53-38
.. gh-issue: 100740
.. nonce: -j5UjI
.. section: Library

Fix ``unittest.mock.Mock`` not respecting the spec for attribute names
prefixed with ``assert``.

..

.. date: 2023-01-03-11-06-28
.. gh-issue: 91219
.. nonce: s5IFCw
.. section: Library

Change ``SimpleHTTPRequestHandler`` to support subclassing to provide a
different set of index file names instead of using ``__init__`` parameters.

..

.. date: 2023-01-02-16-59-49
.. gh-issue: 100690
.. nonce: 2EgWPS
.. section: Library

``Mock`` objects which are not unsafe will now raise an ``AttributeError``
when accessing an attribute that matches the name of an assertion but
without the prefix ``assert_``, e.g. accessing ``called_once`` instead of
``assert_called_once``. This is in addition to this already happening for
accessing attributes with prefixes ``assert``, ``assret``, ``asert``,
``aseert``, and ``assrt``.

..

.. date: 2023-01-01-23-57-00
.. gh-issue: 89727
.. nonce: ojedHN
.. section: Library

Simplify and optimize :func:`os.walk` by using :func:`isinstance` checks to
check the top of the stack.

..

.. date: 2023-01-01-21-54-46
.. gh-issue: 100485
.. nonce: geNrHS
.. section: Library

Add math.sumprod() to compute the sum of products.

..

.. date: 2022-12-30-07-49-08
.. gh-issue: 86508
.. nonce: nGZDzC
.. section: Library

Fix :func:`asyncio.open_connection` to skip binding to local addresses of
different family. Patch by Kumar Aditya.

..

.. date: 2022-12-29-11-45-22
.. gh-issue: 97930
.. nonce: hrtmJe
.. section: Library

``importlib.resources.files`` now accepts a module as an anchor instead of
only accepting packages. If a module is passed, resources are resolved
adjacent to that module (in the same package or at the package root). The
parameter was renamed from ``package`` to ``anchor`` with a compatibility
shim for those passing by keyword. Additionally, the new ``anchor``
parameter is now optional and will default to the caller's module.

..

.. date: 2022-12-28-17-38-39
.. gh-issue: 100585
.. nonce: BiiTlG
.. section: Library

Fixed a bug where importlib.resources.as_file was leaving file pointers open

..

.. date: 2022-12-28-00-28-43
.. gh-issue: 100562
.. nonce: Hic0Z0
.. section: Library

Improve performance of :meth:`pathlib.Path.absolute` by nearly 2x. This
comes at the cost of a performance regression in :meth:`pathlib.Path.cwd`,
which is generally used less frequently in user code.

..

.. date: 2022-12-24-16-39-53
.. gh-issue: 100519
.. nonce: G_dZLP
.. section: Library

Small simplification of :func:`http.cookiejar.eff_request_host` that
improves readability and better matches the RFC wording.

..

.. date: 2022-12-24-08-42-05
.. gh-issue: 100287
.. nonce: n0oEuG
.. section: Library

Fix the interaction of :func:`unittest.mock.seal` with
:class:`unittest.mock.AsyncMock`.

..

.. date: 2022-12-24-04-13-54
.. gh-issue: 100488
.. nonce: Ut8HbE
.. section: Library

Add :meth:`Fraction.is_integer` to check whether a
:class:`fractions.Fraction` is an integer. This improves duck type
compatibility with :class:`float` and :class:`int`.

..

.. date: 2022-12-23-21-02-43
.. gh-issue: 100474
.. nonce: gppA4U
.. section: Library

:mod:`http.server` now checks that an index page is actually a regular file
before trying to serve it.  This avoids issues with directories named
``index.html``.

..

.. date: 2022-12-20-11-07-30
.. gh-issue: 100363
.. nonce: Wo_Beg
.. section: Library

Speed up :func:`asyncio.get_running_loop` by removing redundant ``getpid``
checks. Patch by Kumar Aditya.

..

.. date: 2022-12-19-20-54-04
.. gh-issue: 78878
.. nonce: JrkYqJ
.. section: Library

Fix crash when creating an instance of :class:`!_ctypes.CField`.

..

.. date: 2022-12-19-19-30-06
.. gh-issue: 100348
.. nonce: o7IAHh
.. section: Library

Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by removing
``_read_ready_cb`` in ``close``.

..

.. date: 2022-12-19-12-18-28
.. gh-issue: 100344
.. nonce: lfCqpE
.. section: Library

Provide C implementation for :func:`asyncio.current_task` for a 4x-6x
speedup.

..

.. date: 2022-12-15-18-28-13
.. gh-issue: 100272
.. nonce: D1O9Ey
.. section: Library

Fix JSON serialization of OrderedDict.  It now preserves the order of keys.

..

.. date: 2022-12-14-17-37-01
.. gh-issue: 83076
.. nonce: NaYzWT
.. section: Library

Instantiation of ``Mock()`` and ``AsyncMock()`` is now 3.8x faster.

..

.. date: 2022-12-14-11-45-38
.. gh-issue: 100234
.. nonce: kn6yWV
.. section: Library

Set a default value of 1.0 for the ``lambd`` parameter in
random.expovariate().

..

.. date: 2022-12-13-17-29-09
.. gh-issue: 100228
.. nonce: bgtzMV
.. section: Library

A :exc:`DeprecationWarning` may be raised when :func:`os.fork` or
:func:`os.forkpty` is called from multi-threaded processes.  Forking with
threads is unsafe and can cause deadlocks, crashes and subtle problems. Lack
of a warning does not indicate that the fork call was actually safe, as
Python may not be aware of all threads.

..

.. date: 2022-12-10-20-52-28
.. gh-issue: 100039
.. nonce: zDqjT4
.. section: Library

Improve signatures for enums and flags.

..

.. date: 2022-12-10-08-36-07
.. gh-issue: 100133
.. nonce: g-zQlp
.. section: Library

Fix regression in :mod:`asyncio` where a subprocess would sometimes lose
data received from pipe.

..

.. bpo: 44592
.. date: 2022-12-09-10-35-36
.. nonce: z-P3oe
.. section: Library

Fixes inconsistent handling of case sensitivity of *extrasaction* arg in
:class:`csv.DictWriter`.

..

.. date: 2022-12-08-06-18-06
.. gh-issue: 100098
.. nonce: uBvPlp
.. section: Library

Fix ``tuple`` subclasses being cast to ``tuple`` when used as enum values.

..

.. date: 2022-12-04-16-12-04
.. gh-issue: 85432
.. nonce: l_ehmI
.. section: Library

Rename the *fmt* parameter of the pure-Python implementation of
:meth:`datetime.time.strftime` to *format*. Rename the *t* parameter of
:meth:`datetime.datetime.fromtimestamp` to *timestamp*. These changes mean
the parameter names in the pure-Python implementation now match the
parameter names in the C implementation. Patch by Alex Waygood.

..

.. date: 2022-12-03-20-06-16
.. gh-issue: 98778
.. nonce: t5U9uc
.. section: Library

Update :exc:`~urllib.error.HTTPError` to be initialized properly, even if
the ``fp`` is ``None``. Patch by Donghee Na.

..

.. date: 2022-12-01-15-44-58
.. gh-issue: 99925
.. nonce: x4y6pF
.. section: Library

Unify error messages in JSON serialization between
``json.dumps(float('nan'), allow_nan=False)`` and ``json.dumps(float('nan'),
allow_nan=False, indent=<SOMETHING>)``. Now both include the representation
of the value that could not be serialized.

..

.. date: 2022-11-29-20-44-54
.. gh-issue: 89727
.. nonce: UJZjkk
.. section: Library

Fix issue with :func:`os.walk` where a :exc:`RecursionError` would occur on
deep directory structures by adjusting the implementation of :func:`os.walk`
to be iterative instead of recursive.

..

.. date: 2022-11-23-23-58-45
.. gh-issue: 94943
.. nonce: Oog0Zo
.. section: Library

Add :ref:`enum-dataclass-support` to the :class:`~enum.Enum`
:meth:`~enum.Enum.__repr__`. When inheriting from a
:class:`~dataclasses.dataclass`, only show the field names in the value
section of the member :func:`repr`, and not the dataclass' class name.

..

.. date: 2022-11-21-16-24-01
.. gh-issue: 83035
.. nonce: qZIujU
.. section: Library

Fix :func:`inspect.getsource` handling of decorator calls with nested
parentheses.

..

.. date: 2022-11-20-11-59-54
.. gh-issue: 99576
.. nonce: ZD7jU6
.. section: Library

Fix ``.save()`` method for ``LWPCookieJar`` and ``MozillaCookieJar``: saved
file was not truncated on repeated save.

..

.. date: 2022-11-17-10-02-18
.. gh-issue: 94912
.. nonce: G2aa-E
.. section: Library

Add :func:`inspect.markcoroutinefunction` decorator which manually marks a
function as a coroutine for the benefit of :func:`iscoroutinefunction`.

..

.. date: 2022-11-15-18-45-01
.. gh-issue: 99509
.. nonce: FLK0xU
.. section: Library

Add :pep:`585` support for :class:`multiprocessing.queues.Queue`.

..

.. date: 2022-11-14-19-58-36
.. gh-issue: 99482
.. nonce: XmZyUr
.. section: Library

Remove ``Jython`` partial compatibility code from several stdlib modules.

..

.. date: 2022-11-13-15-32-19
.. gh-issue: 99433
.. nonce: Ys6y0A
.. section: Library

Fix :mod:`doctest` failure on :class:`types.MethodWrapperType` in modules.

..

.. date: 2022-10-28-07-24-34
.. gh-issue: 85267
.. nonce: xUy_Wm
.. section: Library

Several improvements to :func:`inspect.signature`'s handling of
``__text_signature``. - Fixes a case where :func:`inspect.signature` dropped
parameters - Fixes a case where :func:`inspect.signature` raised
:exc:`tokenize.TokenError` - Allows :func:`inspect.signature` to understand
defaults involving binary operations of constants -
:func:`inspect.signature` is documented as only raising :exc:`TypeError` or
:exc:`ValueError`, but sometimes raised :exc:`RuntimeError`. These cases now
raise :exc:`ValueError` - Removed a dead code path

..

.. date: 2022-10-24-07-31-11
.. gh-issue: 91166
.. nonce: -IG06R
.. section: Library

:mod:`asyncio` is optimized to avoid excessive copying when writing to
socket and use :meth:`~socket.socket.sendmsg` if the platform supports it.
Patch by Kumar Aditya.

..

.. date: 2022-10-07-18-16-00
.. gh-issue: 98030
.. nonce: 2oQCZy
.. section: Library

Add missing TCP socket options from Linux: ``TCP_MD5SIG``,
``TCP_THIN_LINEAR_TIMEOUTS``, ``TCP_THIN_DUPACK``, ``TCP_REPAIR``,
``TCP_REPAIR_QUEUE``, ``TCP_QUEUE_SEQ``, ``TCP_REPAIR_OPTIONS``,
``TCP_TIMESTAMP``, ``TCP_CC_INFO``, ``TCP_SAVE_SYN``, ``TCP_SAVED_SYN``,
``TCP_REPAIR_WINDOW``, ``TCP_FASTOPEN_CONNECT``, ``TCP_ULP``,
``TCP_MD5SIG_EXT``, ``TCP_FASTOPEN_KEY``, ``TCP_FASTOPEN_NO_COOKIE``,
``TCP_ZEROCOPY_RECEIVE``, ``TCP_INQ``, ``TCP_TX_DELAY``.

..

.. date: 2022-09-16-08-21-46
.. gh-issue: 88500
.. nonce: jQ0pCc
.. section: Library

Reduced the memory usage of :func:`urllib.parse.unquote` and
:func:`urllib.parse.unquote_to_bytes` on large values.

..

.. date: 2022-08-27-10-35-50
.. gh-issue: 96127
.. nonce: 8RdLre
.. section: Library

``inspect.signature`` was raising ``TypeError`` on call with mock objects.
Now it correctly returns ``(*args, **kwargs)`` as inferred signature.

..

.. date: 2022-08-11-10-02-19
.. gh-issue: 95882
.. nonce: FsUr72
.. section: Library

Fix a 3.11 regression in :func:`~contextlib.asynccontextmanager`, which
caused it to propagate exceptions with incorrect tracebacks and fix a 3.11
regression in  :func:`~contextlib.contextmanager`, which caused it to
propagate exceptions with incorrect tracebacks for :exc:`StopIteration`.

..

.. date: 2022-07-01-00-01-22
.. gh-issue: 78707
.. nonce: fHGSuM
.. section: Library

Deprecate passing more than one positional argument to
:meth:`pathlib.PurePath.relative_to` and
:meth:`~pathlib.PurePath.is_relative_to`.

..

.. date: 2022-05-06-01-53-34
.. gh-issue: 92122
.. nonce: 96Lf2p
.. section: Library

Fix reStructuredText syntax errors in docstrings in the :mod:`enum` module.

..

.. date: 2022-04-23-08-12-14
.. gh-issue: 91851
.. nonce: Jd47V6
.. section: Library

Optimize the :class:`~fractions.Fraction` arithmetics for small components.

..

.. bpo: 24132
.. date: 2022-03-05-02-14-09
.. nonce: W6iORO
.. section: Library

Make :class:`pathlib.PurePath` and :class:`~pathlib.Path` subclassable
(private to start). Previously, attempting to instantiate a subclass
resulted in an :exc:`AttributeError` being raised. Patch by Barney Gale.

..

.. bpo: 40447
.. date: 2020-05-03-12-55-55
.. nonce: oKR0Lj
.. section: Library

Accept :class:`os.PathLike` (such as :class:`pathlib.Path`) in the
``stripdir`` arguments of :meth:`compileall.compile_file` and
:meth:`compileall.compile_dir`.

..

.. bpo: 36880
.. date: 2019-05-13-11-37-30
.. nonce: ZgBgH0
.. section: Library

Fix a reference counting issue when a :mod:`ctypes` callback with return
type :class:`~ctypes.py_object` returns ``None``, which could cause crashes.

..

.. date: 2022-12-30-00-42-23
.. gh-issue: 100616
.. nonce: eu80ij
.. section: Documentation

Document existing ``attr`` parameter to :func:`curses.window.vline` function
in :mod:`curses`.

..

.. date: 2022-12-23-21-42-26
.. gh-issue: 100472
.. nonce: NNixfO
.. section: Documentation

Remove claim in documentation that the ``stripdir``, ``prependdir`` and
``limit_sl_dest`` parameters of :func:`compileall.compile_dir` and
:func:`compileall.compile_file` could be :class:`bytes`.

..

.. bpo: 25377
.. date: 2020-06-17-14-47-48
.. nonce: CTxC6o
.. section: Documentation

Clarify use of octal format of mode argument in help(os.chmod) as well as
help(os.fchmod)

..

.. date: 2022-12-23-13-29-55
.. gh-issue: 100454
.. nonce: 3no0cW
.. section: Tests

Start running SSL tests with OpenSSL 3.1.0-beta1.

..

.. date: 2022-12-08-00-03-37
.. gh-issue: 100086
.. nonce: 1zYpto
.. section: Tests

The Python test runner (libregrtest) now logs Python build information like
"debug" vs "release" build, or LTO and PGO optimizations. Patch by Victor
Stinner.

..

.. date: 2022-06-16-13-26-31
.. gh-issue: 93018
.. nonce: wvNx76
.. section: Tests

Make two tests forgiving towards host system libexpat with backported
security fixes applied.

..

.. date: 2022-12-26-15-07-48
.. gh-issue: 100540
.. nonce: l6ToSY
.. section: Build

Removed the ``--with-system-ffi`` ``configure`` option; ``libffi`` must now
always be supplied by the system on all non-Windows platforms.  The option
has had no effect on non-Darwin platforms for several releases, and in 3.11
only had the non-obvious effect of invoking ``pkg-config`` to find
``libffi`` and never setting ``-DUSING_APPLE_OS_LIBFFI``.  Now on Darwin
platforms ``configure`` will first check for the OS ``libffi`` and then fall
back to the same processing as other platforms if it is not found.

..

.. date: 2022-12-08-14-00-04
.. gh-issue: 88267
.. nonce: MqtRbm
.. section: Build

Avoid exporting Python symbols in linked Windows applications when the core
is built as static.

..

.. bpo: 41916
.. date: 2022-03-04-10-47-23
.. nonce: 1d2GLU
.. section: Build

Allow override of ac_cv_cxx_thread so that cross compiled python can set
-pthread for CXX.

..

.. date: 2023-01-09-23-03-57
.. gh-issue: 100180
.. nonce: b5phrg
.. section: Windows

Update Windows installer to OpenSSL 1.1.1s

..

.. date: 2022-12-20-18-36-17
.. gh-issue: 99191
.. nonce: 0cfRja
.. section: Windows

Use ``_MSVC_LANG >= 202002L`` instead of less-precise ``_MSC_VER >=1929`` to
more accurately test for C++20 support in :file:`PC/_wmimodule.cpp`.

..

.. date: 2022-12-09-22-47-42
.. gh-issue: 79218
.. nonce: Yiot2e
.. section: Windows

Define ``MS_WIN64`` for Mingw-w64 64bit, fix cython compilation failure.

..

.. date: 2022-12-06-11-16-46
.. gh-issue: 99941
.. nonce: GmUQ6o
.. section: Windows

Ensure that :func:`asyncio.Protocol.data_received` receives an immutable
:class:`bytes` object (as documented), instead of :class:`bytearray`.

..

.. bpo: 43984
.. date: 2021-05-02-15-29-33
.. nonce: U92jiv
.. section: Windows

:meth:`winreg.SetValueEx` now leaves the target value untouched in the case
of conversion errors. Previously, ``-1`` would be written in case of such
errors.

..

.. bpo: 34816
.. date: 2021-04-08-00-36-37
.. nonce: 4Xe0id
.. section: Windows

``hasattr(ctypes.windll, 'nonexistant')`` now returns ``False`` instead of
raising :exc:`OSError`.

..

.. date: 2023-01-09-22-04-21
.. gh-issue: 100180
.. nonce: WVhCny
.. section: macOS

Update macOS installer to OpenSSL 1.1.1s

..

.. date: 2022-12-26-14-52-37
.. gh-issue: 100540
.. nonce: kYZLtX
.. section: macOS

Removed obsolete ``dlfcn.h`` shim from the ``_ctypes`` extension module,
which has not been necessary since Mac OS X 10.2.

..

.. bpo: 45256
.. date: 2022-12-29-19-22-11
.. nonce: a0ee_H
.. section: Tools/Demos

Fix a bug that caused an :exc:`AttributeError` to be raised in
``python-gdb.py`` when ``py-locals`` is used without a frame.

..

.. date: 2022-12-19-10-08-53
.. gh-issue: 100342
.. nonce: qDFlQG
.. section: Tools/Demos

Add missing ``NULL`` check for possible allocation failure in ``*args``
parsing in Argument Clinic.

..

.. date: 2022-12-02-09-31-19
.. gh-issue: 99947
.. nonce: Ski7OC
.. section: C API

Raising SystemError on import will now have its cause be set to the original
unexpected exception.

..

.. date: 2022-11-30-16-39-22
.. gh-issue: 99240
.. nonce: 67nAX-
.. section: C API

In argument parsing, after deallocating newly allocated memory, reset its
pointer to NULL.

..

.. date: 2022-11-04-16-13-35
.. gh-issue: 98724
.. nonce: p0urWO
.. section: C API

The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and :c:macro:`Py_XSETREF`
macros now only evaluate their arguments once. If an argument has side
effects, these side effects are no longer duplicated. Patch by Victor
Stinner.