bpo-40241: What's New in Python 3.9: opaque PyGC_Head
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index ccc84cced1090b..b20cd14565ae12 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -1098,6 +1098,10 @@ Porting to Python 3.9
   and refers to a constant string.
   (Contributed by Serhiy Storchaka in :issue:`38650`.)
 
+* The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the
+  internal C API (``pycore_gc.h``).
+  (Contributed by Victor Stinner in :issue:`40241`.)
+
 
 Removed
 -------

<!--
Thanks for your contribution!
Please read this comment in its entirety. It's quite important.

# Pull Request title

It should be in the following format:

```
bpo-NNNN: Summary of the changes made
```

Where: bpo-NNNN refers to the issue number in the https://bugs.python.org.

Most PRs will require an issue number. Trivial changes, like fixing a typo, do not need an issue.

# Backport Pull Request title

If this is a backport PR (PR made against branches other than `master`),
please ensure that the PR title is in the following format:

```
[X.Y] <title from the original PR> (GH-NNNN)
```

Where: [X.Y] is the branch name, e.g. [3.6].

GH-NNNN refers to the PR number from `master`.

-->


<!-- issue-number: [bpo-40241](https://bugs.python.org/issue40241) -->
https://bugs.python.org/issue40241
<!-- /issue-number -->
