https://github.com/python/cpython/commit/7c3cc0f3ef2fdc43a86e3d1734dd0795eaf065bb commit: 7c3cc0f3ef2fdc43a86e3d1734dd0795eaf065bb branch: 3.14 author: Hugo van Kemenade <[email protected]> committer: hugovk <[email protected]> date: 2026-05-01T19:08:33Z summary:
[3.14] gh-148726: Document the GC change in What's New in Python 3.14 (GH-149209) (#149249) files: M Doc/whatsnew/3.14.rst diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst index e5bd9498b1fa97..868a5275b3c462 100644 --- a/Doc/whatsnew/3.14.rst +++ b/Doc/whatsnew/3.14.rst @@ -954,10 +954,24 @@ when a module is imported) will still emit the syntax warning. (Contributed by Irit Katriel in :gh:`130080`.) +.. _incremental-garbage-collection: .. _whatsnew314-incremental-gc: -Incremental garbage collection ------------------------------- +Garbage collection +------------------ + +**From Python 3.14.5 onwards:** + +The garbage collector (GC) has changed in Python 3.14.5. + +Python 3.14.0-3.14.4 shipped with a new incremental GC. +However, due to a number of `reports +<https://github.com/python/cpython/issues/142516>`__ +of significant memory pressure in production environments, +it has been reverted back to the generational GC from 3.13. +This is the GC now used in Python 3.14.5 and later. + +**Previously in Python 3.14.0-3.14.4:** The cycle garbage collector is now incremental. This means that maximum pause times are reduced @@ -2204,7 +2218,18 @@ difflib gc -- -* The new :ref:`incremental garbage collector <whatsnew314-incremental-gc>` +* **From Python 3.14.5 onwards:** + + Python 3.14.0-3.14.4 shipped with a new incremental garbage collector. + However, due to a number of `reports + <https://github.com/python/cpython/issues/142516>`__ + of significant memory pressure in production environments, + it has been reverted back to the generational GC from 3.13. + This is the GC now used in Python 3.14.5 and later. + +* **Previously in Python 3.14.0-3.14.4:** + + The new :ref:`incremental garbage collector <whatsnew314-incremental-gc>` means that maximum pause times are reduced by an order of magnitude or more for larger heaps. @@ -3456,3 +3481,17 @@ Notable changes in 3.14.1 the stack protection base address and stack protection size of a Python thread state. (Contributed by Victor Stinner in :gh:`139653`.) + + +Notable changes in 3.14.5 +========================= + +gc +-- + +* The incremental garbage collector shipped in Python 3.14.0-3.14.4 has been + reverted back to the generational garbage collector from 3.13, + due to a number of `reports + <https://github.com/python/cpython/issues/142516>`__ + of significant memory pressure in production environments. + See :ref:`whatsnew314-incremental-gc` for details. _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
