diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 34fd4b0845f..12b4dac4c22 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -124,11 +124,11 @@ Significantly Improved Library Modules: CPython implementation improvements: * :pep:`442`: :ref:`Safe object finalization ` +* Leveraging :pep:`442`, :ref:`module globals are no longer set to None + during finalization `, in most cases (:issue:`18214`). * :pep:`445`: :ref:`Configurable memory allocators ` * :pep:`456`: :ref:`Secure and interchangeable hash algorithm ` * :pep:`436`: :ref:`Argument Clinic `. -* Improve finalization of Python modules to avoid setting their globals - to None, in most cases (:issue:`18214`). * A more efficient :mod:`marshal` format (:issue:`16475`). Please read on for a comprehensive list of user-facing changes. @@ -933,7 +933,10 @@ part of a reference cycle. As part of this change, module globals are no longer forcibly set to :const:`None` during interpreter shutdown in most cases, instead relying -on the normal operation of the cyclic garbage collector. +on the normal operation of the cyclic garbage collector. This avoids a +whole class of interpreter-shutdown-time errors, usually involving +``__del__`` methods, that have plagued Python since the cyclic GC +was first introduced. .. seealso::