CPython implementation improvements:
* :pep:`442`: :ref:`Safe object finalization <whatsnew-pep-442>`
+* Leveraging :pep:`442`, :ref:`module globals are no longer set to None
+ during finalization <whatsnew-pep-442>`, in most cases (:issue:`18214`).
* :pep:`445`: :ref:`Configurable memory allocators <whatsnew-pep-445>`
* :pep:`456`: :ref:`Secure and interchangeable hash algorithm <whatsnew-pep-456>`
* :pep:`436`: :ref:`Argument Clinic <whatsnew-pep-436>`.
-* 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.
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::