summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Doc/whatsnew/3.8.rst24
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
======================