Skip to content

[3.13] GH-109975: Copyedit 3.13 What's New: Build Changes (GH-124343) #124360

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 33 additions & 24 deletions Doc/whatsnew/3.13.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2502,24 +2502,48 @@ Deprecated C APIs
Build Changes
=============

* The :file:`configure` option :option:`--with-system-libmpdec` now defaults
to ``yes``. The bundled copy of ``libmpdecimal`` will be removed in Python
3.15.
* ``arm64-apple-ios`` and ``arm64-apple-ios-simulator`` are both
now :pep:`11` tier 3 platforms.
(:ref:`PEP 730 <whatsnew313-platform-support>` written
and implementation contributed by Russell Keith-Magee in :gh:`114099`.)

* ``wasm32-wasi`` is now a :pep:`11` tier 2 platform.
(Contributed by Brett Cannon in :gh:`115192`.)

* ``wasm32-emscripten`` is no longer a :pep:`11` supported platform.
(Contributed by Brett Cannon in :gh:`115192`.)

* Building CPython now requires a compiler with support for the C11 atomic
library, GCC built-in atomic functions, or MSVC interlocked intrinsics.

* Autoconf 2.71 and aclocal 1.16.4 are now required to regenerate
the :file:`configure` script.
(Contributed by Christian Heimes in :gh:`89886`.)

* SQLite 3.15.2 or newer is required to build the :mod:`sqlite3` extension module.
* SQLite 3.15.2 or newer is required to build
the :mod:`sqlite3` extension module.
(Contributed by Erlend Aasland in :gh:`105875`.)

* Python built with :file:`configure` :option:`--with-trace-refs` (tracing
references) is now ABI compatible with the Python release build and
:ref:`debug build <debug-build>`.
* CPython now bundles the `mimalloc library`_ by default.
It is licensed under the MIT license;
see :ref:`mimalloc license <mimalloc-license>`.
The bundled mimalloc has custom changes, see :gh:`113141` for details.
(Contributed by Dino Viehland in :gh:`109914`.)

.. _mimalloc library: https://github.com/microsoft/mimalloc/

* The :file:`configure` option :option:`--with-system-libmpdec`
now defaults to ``yes``.
The bundled copy of ``libmpdecimal`` will be removed in Python 3.15.

* Python built with :file:`configure` :option:`--with-trace-refs`
(tracing references) is now ABI compatible with the Python release build
and :ref:`debug build <debug-build>`.
(Contributed by Victor Stinner in :gh:`108634`.)

* Building CPython now requires a compiler with support for the C11 atomic
library, GCC built-in atomic functions, or MSVC interlocked intrinsics.
* On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI
flags. For example, the free-threaded build generates ``python-3.13t.pc``
and the debug build generates ``python-3.13d.pc``.

* The ``errno``, ``fcntl``, ``grp``, ``md5``, ``pwd``, ``resource``,
``termios``, ``winsound``,
Expand All @@ -2528,21 +2552,6 @@ Build Changes
C extensions are now built with the :ref:`limited C API <limited-c-api>`.
(Contributed by Victor Stinner in :gh:`85283`.)

* ``wasm32-wasi`` is now a :pep:`11` tier 2 platform.
(Contributed by Brett Cannon in :gh:`115192`.)

* ``wasm32-emscripten`` is no longer a :pep:`11` supported platform.
(Contributed by Brett Cannon in :gh:`115192`.)

* Python now bundles the `mimalloc library <https://github.com/microsoft/mimalloc>`__.
It is licensed under the MIT license; see :ref:`mimalloc license <mimalloc-license>`.
The bundled mimalloc has custom changes, see :gh:`113141` for details.
(Contributed by Dino Viehland in :gh:`109914`.)

* On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI
flags. For example, the free-threaded build generates ``python-3.13t.pc``
and the debug build generates ``python-3.13d.pc``.


Porting to Python 3.13
======================
Expand Down
Loading