summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew/3.8.rst
diff options
context:
space:
mode:
authorAntoine Pitrou <antoine@python.org>2019-05-29 20:12:38 (GMT)
committerGitHub <noreply@github.com>2019-05-29 20:12:38 (GMT)
commitada319bb6d0ebcc68d3e0ef2b4279ea061877ac8 (patch)
treee908340371be04bce6b7676fd5f034aff3591a4a /Doc/whatsnew/3.8.rst
parent43fdbd2729cb7cdbb5afb5d16352f6604859e564 (diff)
downloadcpython-ada319bb6d0ebcc68d3e0ef2b4279ea061877ac8.zip
cpython-ada319bb6d0ebcc68d3e0ef2b4279ea061877ac8.tar.gz
cpython-ada319bb6d0ebcc68d3e0ef2b4279ea061877ac8.tar.bz2
bpo-32388: Remove cross-version binary compatibility requirement in tp_flags (GH-4944)
It is now allowed to add new fields at the end of the PyTypeObject struct without having to allocate a dedicated compatibility flag in tp_flags. This will reduce the risk of running out of bits in the 32-bit tp_flags value.
Diffstat (limited to 'Doc/whatsnew/3.8.rst')
-rw-r--r--Doc/whatsnew/3.8.rst9
1 files changed, 9 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index b4a8030..5cd9a8e 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -1265,6 +1265,15 @@ Changes in the C API
(Contributed by Zackery Spytz in :issue:`33407`.)
+* The interpreter does not pretend to support binary compatibility of
+ extension types accross feature releases, anymore. A :c:type:`PyTypeObject`
+ exported by a third-party extension module is supposed to have all the
+ slots expected in the current Python version, including
+ :c:member:`~PyTypeObject.tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE`
+ is not checked anymore before reading :c:member:`~PyTypeObject.tp_finalize`).
+
+ (Contributed by Antoine Pitrou in :issue:`32388`.)
+
CPython bytecode changes
------------------------