whatsnew: LOAD_CLASSDEREF, -X showrefcount
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index b2aa98b..597e04e 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1647,6 +1647,8 @@
that criterion, then the class definition will fail with ``TypeError``.
+.. _prepare:
+
Preparing the class namespace
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
index dd7ec26..17d2e9e 100644
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -1455,6 +1455,10 @@
now works correctly (previously it silently returned the first python
module in the file). (Contributed by Václav Šmilauer in :issue:`16421`.)
+* A new opcode, :opcode:`LOAD_CLASSDEREF`, has been added to fix a bug in the
+ loading of free variables in class bodies that could be triggered by certain
+ uses of :ref:`__prepare__ <prepare>`. (Contributed by Benjamin Peterson in
+ :issue:`17853`.)
Significant Optimizations
@@ -1650,6 +1654,10 @@
how :envvar:`PATH` works. The behavior now conforms to the posix convention
for :envvar:`PATH`.
+* The [X refs, Y blocks] output of a debug (``--with-pydebug``) build of the
+ CPython interpreter is now off by default. It can be re-enabled using the
+ ``-X showrefcount`` option. (Contributed by Ezio Melotti in :issue:`17323`.)
+
Changes in the Python API
-------------------------