diff options
-rw-r--r-- | Doc/whatsnew/3.8.rst | 24 |
1 files changed, 24 insertions, 0 deletions
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 ====================== |