Skip to content

Commit 919c7e8

Browse files
authored
GH-123299: Copyedit 3.14 What's New: Build Changes (#138488)
1 parent b0420b5 commit 919c7e8

File tree

1 file changed

+67
-24
lines changed

1 file changed

+67
-24
lines changed

Doc/whatsnew/3.14.rst

Lines changed: 67 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ and improvements in user-friendliness and correctness.
8888
* :ref:`PEP 741: Python configuration C API <whatsnew314-pep741>`
8989
* :ref:`PEP 750: Template strings <whatsnew314-pep750>`
9090
* :ref:`PEP 758: Allow except and except* expressions without parentheses <whatsnew314-pep758>`
91-
* :ref:`PEP 761: Discontinuation of PGP signatures <whatsnew314-pep761>`
91+
* :ref:`PEP 761: Discontinuation of PGP signatures <whatsnew314-no-more-pgp>`
9292
* :ref:`PEP 765: Disallow return/break/continue that exit a finally block <whatsnew314-pep765>`
9393
* :ref:`Free-threaded mode improvements <whatsnew314-free-threaded-cpython>`
9494
* :ref:`PEP 768: Safe external debugger interface for CPython <whatsnew314-pep768>`
@@ -2820,29 +2820,6 @@ CPython bytecode changes
28202820
(Contributed by Irit Katriel in :gh:`100239`.)
28212821

28222822

2823-
Build changes
2824-
=============
2825-
2826-
* GNU Autoconf 2.72 is now required to generate :file:`configure`.
2827-
(Contributed by Erlend Aasland in :gh:`115765`.)
2828-
2829-
* ``#pragma``-based linking with ``python3*.lib`` can now be switched off
2830-
with :c:expr:`Py_NO_LINK_LIB`. (Contributed by Jean-Christophe
2831-
Fillion-Robin in :gh:`82909`.)
2832-
2833-
.. _whatsnew314-pep761:
2834-
2835-
PEP 761: Discontinuation of PGP signatures
2836-
------------------------------------------
2837-
2838-
PGP signatures will not be available for CPython 3.14 and onwards.
2839-
Users verifying artifacts must use `Sigstore verification materials`_ for
2840-
verifying CPython artifacts. This change in release process is specified
2841-
in :pep:`761`.
2842-
2843-
.. _Sigstore verification materials: https://www.python.org/downloads/metadata/sigstore/
2844-
2845-
28462823
C API changes
28472824
=============
28482825

@@ -3120,6 +3097,72 @@ Removed
31203097
(Removed in :gh:`133079`, see also :gh:`130396`.)
31213098

31223099

3100+
Build Changes
3101+
=============
3102+
3103+
* GNU Autoconf 2.72 is now required to generate :file:`configure`.
3104+
(Contributed by Erlend Aasland in :gh:`115765`.)
3105+
3106+
* ``wasm32-unknown-emscripten`` is now a :pep:`11` tier 3 platform.
3107+
(Contributed by R. Hood Chatham in :gh:`127146`, :gh:`127683`, and :gh:`136931`.)
3108+
3109+
* ``#pragma``-based linking with ``python3*.lib`` can now be switched off
3110+
with :c:expr:`Py_NO_LINK_LIB`.
3111+
(Contributed by Jean-Christophe Fillion-Robin in :gh:`82909`.)
3112+
3113+
* CPython now enables a set of recommended compiler options by default
3114+
for improved security.
3115+
Use the :option:`--disable-safety` :file:`configure` option to disable them,
3116+
or the :option:`--enable-slower-safety` option for a larger set
3117+
of compiler options, albeit with a performance cost.
3118+
3119+
* The ``WITH_FREELISTS`` macro and ``--without-freelists`` :file:`configure`
3120+
option have been removed.
3121+
3122+
* The new :file:`configure` option :option:`--with-tail-call-interp`
3123+
may be used to enable the experimental tail call interpreter.
3124+
See :ref:`whatsnew314-tail-call` for further details.
3125+
3126+
* To disable the new remote debugging support, use the
3127+
:option:`--without-remote-debug` :file:`configure` option.
3128+
This may be useful for security reasons.
3129+
3130+
.. _whatsnew314-build_details:
3131+
3132+
:file:`build-details.json`
3133+
--------------------------
3134+
3135+
Installations of Python now contain a new file, :file:`build-details.json`.
3136+
This is a static JSON document containing build details for CPython,
3137+
to allow for introspection without needing to run code.
3138+
This is helpful for use-cases such as Python launchers, cross-compilation,
3139+
and so on.
3140+
3141+
:file:`build-details.json` must be installed in the platform-independent
3142+
standard library directory. This corresponds to the :ref:`'stdlib'
3143+
<installation_paths>` :mod:`sysconfig` installation path,
3144+
which can be found by running ``sysconfig.get_path('stdlib')``.
3145+
3146+
.. seealso::
3147+
:pep:`739` -- ``build-details.json`` 1.0 -- a static description file
3148+
for Python build details
3149+
3150+
.. _whatsnew314-no-more-pgp:
3151+
3152+
Discontinuation of PGP signatures
3153+
---------------------------------
3154+
3155+
PGP (Pretty Good Privacy) signatures will not be provided
3156+
for releases of Python 3.14 or future versions.
3157+
To verify CPython artifacts, users must use `Sigstore verification materials
3158+
<https://www.python.org/downloads/metadata/sigstore/>`__.
3159+
Releases have been signed using Sigstore_ since Python 3.11.
3160+
3161+
This change in release process was specified in :pep:`761`.
3162+
3163+
.. _Sigstore: https://www.sigstore.dev/
3164+
3165+
31233166
Porting to Python 3.14
31243167
======================
31253168

0 commit comments

Comments
 (0)