From: Victor Stinner Date: Fri, 26 Apr 2019 15:56:44 +0000 (+0200) Subject: bpo-36722: Add What's New entry for debug ABI (GH-12957) X-Git-Tag: v3.8.0a4~86 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=404606974051c5ec093312aa57cf1bcbc52e1d85;p=python bpo-36722: Add What's New entry for debug ABI (GH-12957) --- diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 4cb9c4f0f2..444625040a 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -98,6 +98,30 @@ subdirectories). (Contributed by Carl Meyer in :issue:`33499`.) +Debug build uses the same ABI as release build +----------------------------------------------- + +Python now uses the same ABI when built in release and in debug mode. On Unix, +when Python is build in debug mode, it is now possible to load C extensions +built in release mode and C extensions built using the stable ABI. + +Release build and debug build are now ABI compatible: the ``Py_DEBUG`` define +no longer implies the ``Py_TRACE_REFS`` define which introduces the only ABI +incompatibility. A new ``./configure --with-trace-refs`` build option is now +required to get ``Py_TRACE_REFS`` define which adds :func:`sys.getobjects` +function and :envvar:`PYTHONDUMPREFS` environment variable. +(Contributed by Victor Stinner in :issue:`36465`.) + +On Unix, C extensions are no longer linked to libpython. It is now possible to +load a C extension built using a shared library Python +with a statically linked Python. +(Contributed by Victor Stinner in :issue:`21536`.) + +On Unix, when Python is built in debug mode, import now also looks for C +extensions compiled in release mode and for C extensions compiled with the +stable ABI. +(Contributed by Victor Stinner in :issue:`36722`.) + Other Language Changes ======================