From 1c1598df578e2a0b969e5c702675bd9095a8015e Mon Sep 17 00:00:00 2001
From: oon arfiandwi <oon.arfiandwi@gmail.com>
Date: Mon, 16 Jun 2025 11:47:21 +0700
Subject: [PATCH 1/2] Memperbarui README untuk mengubah 3.14 <- 3.9 (#26)

---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index b266c4d..a233c63 100644
--- a/README.md
+++ b/README.md
@@ -30,11 +30,11 @@ Anda ke PSF untuk dimasukkan dalam dokumentasi.
 ---
 Situs dokumentasi Python Bahasa Indonesia: **https://docs.python.org/id/**
 
-Repositori ini berisi [berkas-berkas ".po"](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) dari [dokumentasi Python](https://docs.python.org/id/3.9/), yang akan dan sudah diterjemahkan dari Bahasa Inggris ke Bahasa Indonesia. Baca daftar pekerjaan yang **akan dan sedang dikerjakan** di [papan proyek](https://github.com/python/python-docs-id/projects/1).
+Repositori ini berisi [berkas-berkas ".po"](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) dari [dokumentasi Python](https://docs.python.org/id/3.14/), yang akan dan sudah diterjemahkan dari Bahasa Inggris ke Bahasa Indonesia. Baca daftar pekerjaan yang **akan dan sedang dikerjakan** di [papan proyek](https://github.com/python/python-docs-id/projects/1).
 
 Anda bisa berkontribusi dengan:
 
-* Membuat _Pull Requests_ di [repositori Github ini](https://github.com/python/python-docs-id/), saat ini yang aktif adalah [branch 3.9](https://github.com/python/python-docs-id/tree/3.9)
+* Membuat _Pull Requests_ di [repositori Github ini](https://github.com/python/python-docs-id/), saat ini yang aktif adalah [branch 3.14](https://github.com/python/python-docs-id/tree/3.14)
 * Menerjemahkan langsung di [situs Transifex](https://www.transifex.com/python-doc/python-newest/). Ikuti [Video (7 menit)](https://youtu.be/tg5kUJB2WLA) cara menggunakan Transifex.
 
 Jika Anda tidak menggunakan Transifex, untuk mengubah berkas ".po" dibutuhkan aplikasi editor, misalnya: [POEdit](https://poedit.net/) tersedia multiplatform, [KDE Lokalize](https://kde.org/applications/development/org.kde.lokalize) hanya untuk Linux dengan KDE, atau banyak lagi [pilihan lainnya](https://en.wikipedia.org/wiki/Comparison_of_computer-assisted_translation_tools).

From 425c128cb515ab3eb7567c5cb1060e316a49ce5d Mon Sep 17 00:00:00 2001
From: oon arfiandwi <oon.arfiandwi@gmail.com>
Date: Mon, 16 Jun 2025 12:02:45 +0700
Subject: [PATCH 2/2] 3.14 pembaruan 2025-06-16 (#27)

* Memperbarui README untuk mengubah 3.14 <- 3.9

* Sinkronisasi dengan Transifex 20250616.
---
 python-newest.c-api--stable/id.po             |   88 +-
 .../id.po                                     |   82 +-
 python-newest.whatsnew--3_11/id.po            |   44 +-
 python-newest.whatsnew--3_12/id.po            |  173 +--
 python-newest.whatsnew--3_13/id.po            | 1169 +++++++++--------
 5 files changed, 801 insertions(+), 755 deletions(-)

diff --git a/python-newest.c-api--stable/id.po b/python-newest.c-api--stable/id.po
index e971944..27aed26 100644
--- a/python-newest.c-api--stable/id.po
+++ b/python-newest.c-api--stable/id.po
@@ -3,13 +3,17 @@
 # This file is distributed under the same license as the Python package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
+# Translators:
+# oon arfiandwi <oon.arfiandwi@gmail.com>, 2025
+# 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Python 3.14\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-05-09 14:19+0000\n"
+"POT-Creation-Date: 2025-06-13 14:21+0000\n"
 "PO-Revision-Date: 2021-06-28 00:50+0000\n"
+"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2025\n"
 "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +23,7 @@ msgstr ""
 
 #: ../../c-api/stable.rst:7
 msgid "C API Stability"
-msgstr ""
+msgstr "Stabilitas API C"
 
 #: ../../c-api/stable.rst:9
 msgid ""
@@ -57,7 +61,7 @@ msgstr ""
 
 #: ../../c-api/stable.rst:29
 msgid "These are discussed in more detail below."
-msgstr ""
+msgstr "Hal ini dibahas secara lebih rinci di bawah ini."
 
 #: ../../c-api/stable.rst:31
 msgid ""
@@ -70,7 +74,7 @@ msgstr ""
 
 #: ../../c-api/stable.rst:40
 msgid "Unstable C API"
-msgstr ""
+msgstr "API C yang tidak stabil"
 
 #: ../../c-api/stable.rst:44
 msgid ""
@@ -91,22 +95,22 @@ msgid ""
 "spend extra effort adjusting to changes."
 msgstr ""
 
-#: ../../c-api/stable.rst:56
+#: ../../c-api/stable.rst:57
 msgid "Stable Application Binary Interface"
 msgstr ""
 
-#: ../../c-api/stable.rst:58
+#: ../../c-api/stable.rst:59
 msgid ""
 "For simplicity, this document talks about *extensions*, but the Limited API "
 "and Stable ABI work the same way for all uses of the API – for example, "
 "embedding Python."
 msgstr ""
 
-#: ../../c-api/stable.rst:65
+#: ../../c-api/stable.rst:66
 msgid "Limited C API"
-msgstr ""
+msgstr "API C terbatas"
 
-#: ../../c-api/stable.rst:67
+#: ../../c-api/stable.rst:68
 msgid ""
 "Python 3.2 introduced the *Limited API*, a subset of Python's C API. "
 "Extensions that only use the Limited API can be compiled once and be loaded "
@@ -114,13 +118,13 @@ msgid ""
 " below <limited-api-list>`."
 msgstr ""
 
-#: ../../c-api/stable.rst:74
+#: ../../c-api/stable.rst:75
 msgid ""
 "Define this macro before including ``Python.h`` to opt in to only use the "
 "Limited API, and to select the Limited API version."
 msgstr ""
 
-#: ../../c-api/stable.rst:77
+#: ../../c-api/stable.rst:78
 msgid ""
 "Define ``Py_LIMITED_API`` to the value of :c:macro:`PY_VERSION_HEX` "
 "corresponding to the lowest Python version your extension supports. The "
@@ -128,30 +132,30 @@ msgid ""
 "specified one onward, and can use Limited API introduced up to that version."
 msgstr ""
 
-#: ../../c-api/stable.rst:83
+#: ../../c-api/stable.rst:84
 msgid ""
 "Rather than using the ``PY_VERSION_HEX`` macro directly, hardcode a minimum "
 "minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when "
 "compiling with future Python versions."
 msgstr ""
 
-#: ../../c-api/stable.rst:87
+#: ../../c-api/stable.rst:88
 msgid ""
 "You can also define ``Py_LIMITED_API`` to ``3``. This works the same as "
 "``0x03020000`` (Python 3.2, the version that introduced Limited API)."
 msgstr ""
 
-#: ../../c-api/stable.rst:94
+#: ../../c-api/stable.rst:95
 msgid "Stable ABI"
 msgstr ""
 
-#: ../../c-api/stable.rst:96
+#: ../../c-api/stable.rst:97
 msgid ""
 "To enable this, Python provides a *Stable ABI*: a set of symbols that will "
 "remain ABI-compatible across Python 3.x versions."
 msgstr ""
 
-#: ../../c-api/stable.rst:101
+#: ../../c-api/stable.rst:102
 msgid ""
 "The Stable ABI prevents ABI issues, like linker errors due to missing "
 "symbols or data corruption due to changes in structure layouts or function "
@@ -160,21 +164,21 @@ msgid ""
 "details."
 msgstr ""
 
-#: ../../c-api/stable.rst:107
+#: ../../c-api/stable.rst:108
 msgid ""
 "The Stable ABI contains symbols exposed in the :ref:`Limited API <limited-c-"
 "api>`, but also other ones – for example, functions necessary to support "
 "older versions of the Limited API."
 msgstr ""
 
-#: ../../c-api/stable.rst:111
+#: ../../c-api/stable.rst:112
 msgid ""
 "On Windows, extensions that use the Stable ABI should be linked against "
 "``python3.dll`` rather than a version-specific library such as "
 "``python39.dll``."
 msgstr ""
 
-#: ../../c-api/stable.rst:115
+#: ../../c-api/stable.rst:116
 msgid ""
 "On some platforms, Python will look for and load shared library files named "
 "with the ``abi3`` tag (e.g. ``mymodule.abi3.so``). It does not check if such"
@@ -183,31 +187,31 @@ msgid ""
 "API are not installed for lower versions of Python."
 msgstr ""
 
-#: ../../c-api/stable.rst:122
+#: ../../c-api/stable.rst:123
 msgid ""
 "All functions in the Stable ABI are present as functions in Python's shared "
 "library, not solely as macros. This makes them usable from languages that "
 "don't use the C preprocessor."
 msgstr ""
 
-#: ../../c-api/stable.rst:128
+#: ../../c-api/stable.rst:129
 msgid "Limited API Scope and Performance"
-msgstr ""
+msgstr "Cakupan dan Kinerja API Terbatas"
 
-#: ../../c-api/stable.rst:130
+#: ../../c-api/stable.rst:131
 msgid ""
 "The goal for the Limited API is to allow everything that is possible with "
 "the full C API, but possibly with a performance penalty."
 msgstr ""
 
-#: ../../c-api/stable.rst:133
+#: ../../c-api/stable.rst:134
 msgid ""
 "For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro"
 " variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because "
 "it can rely on version-specific implementation details of the list object."
 msgstr ""
 
-#: ../../c-api/stable.rst:138
+#: ../../c-api/stable.rst:139
 msgid ""
 "Without ``Py_LIMITED_API`` defined, some C API functions are inlined or "
 "replaced by macros. Defining ``Py_LIMITED_API`` disables this inlining, "
@@ -215,7 +219,7 @@ msgid ""
 "reducing performance."
 msgstr ""
 
-#: ../../c-api/stable.rst:143
+#: ../../c-api/stable.rst:144
 msgid ""
 "By leaving out the ``Py_LIMITED_API`` definition, it is possible to compile "
 "a Limited API extension with a version-specific ABI. This can improve "
@@ -225,11 +229,11 @@ msgid ""
 " prereleases of an upcoming Python version."
 msgstr ""
 
-#: ../../c-api/stable.rst:152
+#: ../../c-api/stable.rst:153
 msgid "Limited API Caveats"
-msgstr ""
+msgstr "Peringatan API Terbatas"
 
-#: ../../c-api/stable.rst:154
+#: ../../c-api/stable.rst:155
 msgid ""
 "Note that compiling with ``Py_LIMITED_API`` is *not* a complete guarantee "
 "that code conforms to the :ref:`Limited API <limited-c-api>` or the "
@@ -237,7 +241,7 @@ msgid ""
 "but an API also includes other issues, such as expected semantics."
 msgstr ""
 
-#: ../../c-api/stable.rst:159
+#: ../../c-api/stable.rst:160
 msgid ""
 "One issue that ``Py_LIMITED_API`` does not guard against is calling a "
 "function with arguments that are invalid in a lower Python version. For "
@@ -247,20 +251,20 @@ msgid ""
 "crash. A similar argument works for fields of structs."
 msgstr ""
 
-#: ../../c-api/stable.rst:166
+#: ../../c-api/stable.rst:167
 msgid ""
 "Another issue is that some struct fields are currently not hidden when "
 "``Py_LIMITED_API`` is defined, even though they're part of the Limited API."
 msgstr ""
 
-#: ../../c-api/stable.rst:169
+#: ../../c-api/stable.rst:170
 msgid ""
 "For these reasons, we recommend testing an extension with *all* minor Python"
 " versions it supports, and preferably to build with the *lowest* such "
 "version."
 msgstr ""
 
-#: ../../c-api/stable.rst:172
+#: ../../c-api/stable.rst:173
 msgid ""
 "We also recommend reviewing documentation of all used API to check if it is "
 "explicitly part of the Limited API. Even with ``Py_LIMITED_API`` defined, a "
@@ -268,7 +272,7 @@ msgid ""
 "unintentionally, as bugs)."
 msgstr ""
 
-#: ../../c-api/stable.rst:177
+#: ../../c-api/stable.rst:178
 msgid ""
 "Also note that the Limited API is not necessarily stable: compiling with "
 "``Py_LIMITED_API`` with Python 3.8 means that the extension will run with "
@@ -277,11 +281,11 @@ msgid ""
 " that the Stable ABI stays stable."
 msgstr ""
 
-#: ../../c-api/stable.rst:187
+#: ../../c-api/stable.rst:188
 msgid "Platform Considerations"
-msgstr ""
+msgstr "Pertimbangan Platform"
 
-#: ../../c-api/stable.rst:189
+#: ../../c-api/stable.rst:190
 msgid ""
 "ABI stability depends not only on Python, but also on the compiler used, "
 "lower-level libraries and compiler options. For the purposes of the "
@@ -289,7 +293,7 @@ msgid ""
 "usually depend on the OS type and processor architecture"
 msgstr ""
 
-#: ../../c-api/stable.rst:194
+#: ../../c-api/stable.rst:195
 msgid ""
 "It is the responsibility of each particular distributor of Python to ensure "
 "that all Python versions on a particular platform are built in a way that "
@@ -297,11 +301,11 @@ msgid ""
 "releases from ``python.org`` and many third-party distributors."
 msgstr ""
 
-#: ../../c-api/stable.rst:204
+#: ../../c-api/stable.rst:205
 msgid "Contents of Limited API"
-msgstr ""
+msgstr "Konten dari API Terbatas"
 
-#: ../../c-api/stable.rst:207
+#: ../../c-api/stable.rst:208
 msgid ""
 "Currently, the :ref:`Limited API <limited-c-api>` includes the following "
 "items:"
@@ -309,4 +313,4 @@ msgstr ""
 
 #: ../../c-api/stable.rst:42
 msgid "PyUnstable"
-msgstr ""
+msgstr "PyUnstable"
diff --git a/python-newest.deprecations--pending-removal-in-3_13/id.po b/python-newest.deprecations--pending-removal-in-3_13/id.po
index cc8535d..5899430 100644
--- a/python-newest.deprecations--pending-removal-in-3_13/id.po
+++ b/python-newest.deprecations--pending-removal-in-3_13/id.po
@@ -3,13 +3,17 @@
 # This file is distributed under the same license as the Python package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
+# Translators:
+# oon arfiandwi <oon.arfiandwi@gmail.com>, 2025
+# 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Python 3.14\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-05-09 14:19+0000\n"
+"POT-Creation-Date: 2025-06-13 14:21+0000\n"
 "PO-Revision-Date: 2024-07-26 14:16+0000\n"
+"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2025\n"
 "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,91 +23,91 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.13.rst:2
 msgid "Pending removal in Python 3.13"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.13"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:4
 msgid "Modules (see :pep:`594`):"
-msgstr ""
+msgstr "Modul (lihat :pep:`594`):"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:6
 msgid ":mod:`!aifc`"
-msgstr ""
+msgstr ":mod:`!aifc`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:7
 msgid ":mod:`!audioop`"
-msgstr ""
+msgstr ":mod:`!audioop`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:8
 msgid ":mod:`!cgi`"
-msgstr ""
+msgstr ":mod:`!cgi`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:9
 msgid ":mod:`!cgitb`"
-msgstr ""
+msgstr ":mod:`!cgitb`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:10
 msgid ":mod:`!chunk`"
-msgstr ""
+msgstr ":mod:`!chunk`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:11
 msgid ":mod:`!crypt`"
-msgstr ""
+msgstr ":mod:`!crypt`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:12
 msgid ":mod:`!imghdr`"
-msgstr ""
+msgstr ":mod:`!imghdr`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:13
 msgid ":mod:`!mailcap`"
-msgstr ""
+msgstr ":mod:`!mailcap`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:14
 msgid ":mod:`!msilib`"
-msgstr ""
+msgstr ":mod:`!msilib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:15
 msgid ":mod:`!nis`"
-msgstr ""
+msgstr ":mod:`!nis`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:16
 msgid ":mod:`!nntplib`"
-msgstr ""
+msgstr ":mod:`!nntplib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:17
 msgid ":mod:`!ossaudiodev`"
-msgstr ""
+msgstr ":mod:`!ossaudiodev`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:18
 msgid ":mod:`!pipes`"
-msgstr ""
+msgstr ":mod:`!pipes`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:19
 msgid ":mod:`!sndhdr`"
-msgstr ""
+msgstr ":mod:`!sndhdr`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:20
 msgid ":mod:`!spwd`"
-msgstr ""
+msgstr ":mod:`!spwd`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:21
 msgid ":mod:`!sunau`"
-msgstr ""
+msgstr ":mod:`!sunau`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:22
 msgid ":mod:`!telnetlib`"
-msgstr ""
+msgstr ":mod:`!telnetlib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:23
 msgid ":mod:`!uu`"
-msgstr ""
+msgstr ":mod:`!uu`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:24
 msgid ":mod:`!xdrlib`"
-msgstr ""
+msgstr ":mod:`!xdrlib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:26
 msgid "Other modules:"
-msgstr ""
+msgstr "Modul lainnya:"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:28
 msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)"
@@ -111,39 +115,39 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.13.rst:30
 msgid "APIs:"
-msgstr ""
+msgstr "APIs:"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:32
 msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)"
-msgstr ""
+msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:33
 msgid "``locale.resetlocale()`` (:gh:`90817`)"
-msgstr ""
+msgstr "``locale.resetlocale()`` (:gh:`90817`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:34
 msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)"
-msgstr ""
+msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:35
 msgid ":func:`!unittest.findTestCases` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:36
 msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:37
 msgid ":func:`!unittest.makeSuite` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:38
 msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)"
-msgstr ""
+msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:39
 msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)"
-msgstr ""
+msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:40
 msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)"
@@ -155,31 +159,31 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.13.rst:43
 msgid "``contents()``"
-msgstr ""
+msgstr "``contents()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:44
 msgid "``is_resource()``"
-msgstr ""
+msgstr "``is_resource()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:45
 msgid "``open_binary()``"
-msgstr ""
+msgstr "``open_binary()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:46
 msgid "``open_text()``"
-msgstr ""
+msgstr "``open_text()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:47
 msgid "``path()``"
-msgstr ""
+msgstr "``path()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:48
 msgid "``read_binary()``"
-msgstr ""
+msgstr "``read_binary()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:49
 msgid "``read_text()``"
-msgstr ""
+msgstr "``read_text()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:51
 msgid ""
diff --git a/python-newest.whatsnew--3_11/id.po b/python-newest.whatsnew--3_11/id.po
index 3dcb8fc..4a98576 100644
--- a/python-newest.whatsnew--3_11/id.po
+++ b/python-newest.whatsnew--3_11/id.po
@@ -5,16 +5,16 @@
 # 
 # Translators:
 # Elmo <work.elmoallistair@gmail.com>, 2022
-# oon arfiandwi <oon.arfiandwi@gmail.com>, 2024
+# oon arfiandwi <oon.arfiandwi@gmail.com>, 2025
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Python 3.14\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-05-09 14:19+0000\n"
+"POT-Creation-Date: 2025-06-13 14:21+0000\n"
 "PO-Revision-Date: 2022-11-05 19:49+0000\n"
-"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2024\n"
+"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2025\n"
 "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -2572,79 +2572,79 @@ msgstr ""
 
 #: ../../whatsnew/3.11.rst:1752
 msgid ":mod:`!aifc`"
-msgstr ""
+msgstr ":mod:`!aifc`"
 
 #: ../../whatsnew/3.11.rst:1752
 msgid ":mod:`!chunk`"
-msgstr ""
+msgstr ":mod:`!chunk`"
 
 #: ../../whatsnew/3.11.rst:1752
 msgid ":mod:`!msilib`"
-msgstr ""
+msgstr ":mod:`!msilib`"
 
 #: ../../whatsnew/3.11.rst:1752
 msgid ":mod:`!pipes`"
-msgstr ""
+msgstr ":mod:`!pipes`"
 
 #: ../../whatsnew/3.11.rst:1752
 msgid ":mod:`!telnetlib`"
-msgstr ""
+msgstr ":mod:`!telnetlib`"
 
 #: ../../whatsnew/3.11.rst:1754
 msgid ":mod:`!audioop`"
-msgstr ""
+msgstr ":mod:`!audioop`"
 
 #: ../../whatsnew/3.11.rst:1754
 msgid ":mod:`!crypt`"
-msgstr ""
+msgstr ":mod:`!crypt`"
 
 #: ../../whatsnew/3.11.rst:1754
 msgid ":mod:`!nis`"
-msgstr ""
+msgstr ":mod:`!nis`"
 
 #: ../../whatsnew/3.11.rst:1754
 msgid ":mod:`!sndhdr`"
-msgstr ""
+msgstr ":mod:`!sndhdr`"
 
 #: ../../whatsnew/3.11.rst:1754
 msgid ":mod:`!uu`"
-msgstr ""
+msgstr ":mod:`!uu`"
 
 #: ../../whatsnew/3.11.rst:1756
 msgid ":mod:`!cgi`"
-msgstr ""
+msgstr ":mod:`!cgi`"
 
 #: ../../whatsnew/3.11.rst:1756
 msgid ":mod:`!imghdr`"
-msgstr ""
+msgstr ":mod:`!imghdr`"
 
 #: ../../whatsnew/3.11.rst:1756
 msgid ":mod:`!nntplib`"
-msgstr ""
+msgstr ":mod:`!nntplib`"
 
 #: ../../whatsnew/3.11.rst:1756
 msgid ":mod:`!spwd`"
-msgstr ""
+msgstr ":mod:`!spwd`"
 
 #: ../../whatsnew/3.11.rst:1756
 msgid ":mod:`!xdrlib`"
-msgstr ""
+msgstr ":mod:`!xdrlib`"
 
 #: ../../whatsnew/3.11.rst:1758
 msgid ":mod:`!cgitb`"
-msgstr ""
+msgstr ":mod:`!cgitb`"
 
 #: ../../whatsnew/3.11.rst:1758
 msgid ":mod:`!mailcap`"
-msgstr ""
+msgstr ":mod:`!mailcap`"
 
 #: ../../whatsnew/3.11.rst:1758
 msgid ":mod:`!ossaudiodev`"
-msgstr ""
+msgstr ":mod:`!ossaudiodev`"
 
 #: ../../whatsnew/3.11.rst:1758
 msgid ":mod:`!sunau`"
-msgstr ""
+msgstr ":mod:`!sunau`"
 
 #: ../../whatsnew/3.11.rst:1761
 msgid ""
diff --git a/python-newest.whatsnew--3_12/id.po b/python-newest.whatsnew--3_12/id.po
index 877409a..0941e68 100644
--- a/python-newest.whatsnew--3_12/id.po
+++ b/python-newest.whatsnew--3_12/id.po
@@ -7,16 +7,16 @@
 # Imaduddin A Majid <imaduddinamajid@gmail.com>, 2023
 # Elmo <work.elmoallistair@gmail.com>, 2023
 # Rafael Fontenelle <rffontenelle@gmail.com>, 2023
-# oon arfiandwi <oon.arfiandwi@gmail.com>, 2023
+# oon arfiandwi <oon.arfiandwi@gmail.com>, 2025
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Python 3.14\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-05-09 14:19+0000\n"
+"POT-Creation-Date: 2025-06-13 14:21+0000\n"
 "PO-Revision-Date: 2023-05-24 13:08+0000\n"
-"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2023\n"
+"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2025\n"
 "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1701,27 +1701,27 @@ msgstr ""
 #: ../../whatsnew/3.12.rst:1162
 #: ../../deprecations/pending-removal-in-3.14.rst:13
 msgid ":class:`!ast.Num`"
-msgstr ""
+msgstr ":class:`!ast.Num`"
 
 #: ../../whatsnew/3.12.rst:1163
 #: ../../deprecations/pending-removal-in-3.14.rst:14
 msgid ":class:`!ast.Str`"
-msgstr ""
+msgstr ":class:`!ast.Str`"
 
 #: ../../whatsnew/3.12.rst:1164
 #: ../../deprecations/pending-removal-in-3.14.rst:15
 msgid ":class:`!ast.Bytes`"
-msgstr ""
+msgstr ":class:`!ast.Bytes`"
 
 #: ../../whatsnew/3.12.rst:1165
 #: ../../deprecations/pending-removal-in-3.14.rst:16
 msgid ":class:`!ast.NameConstant`"
-msgstr ""
+msgstr ":class:`!ast.NameConstant`"
 
 #: ../../whatsnew/3.12.rst:1166
 #: ../../deprecations/pending-removal-in-3.14.rst:17
 msgid ":class:`!ast.Ellipsis`"
-msgstr ""
+msgstr ":class:`!ast.Ellipsis`"
 
 #: ../../whatsnew/3.12.rst:1168
 #: ../../deprecations/pending-removal-in-3.14.rst:19
@@ -1734,7 +1734,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.14.rst:22
 #: ../../deprecations/pending-removal-in-3.16.rst:19
 msgid ":mod:`asyncio`:"
-msgstr ""
+msgstr ":mod:`asyncio`:"
 
 #: ../../whatsnew/3.12.rst:1173
 #: ../../deprecations/pending-removal-in-3.14.rst:24
@@ -1809,17 +1809,17 @@ msgstr ""
 #: ../../whatsnew/3.12.rst:1213
 #: ../../deprecations/pending-removal-in-3.14.rst:52
 msgid ":class:`!importlib.abc.ResourceReader`"
-msgstr ""
+msgstr ":class:`!importlib.abc.ResourceReader`"
 
 #: ../../whatsnew/3.12.rst:1214
 #: ../../deprecations/pending-removal-in-3.14.rst:53
 msgid ":class:`!importlib.abc.Traversable`"
-msgstr ""
+msgstr ":class:`!importlib.abc.Traversable`"
 
 #: ../../whatsnew/3.12.rst:1215
 #: ../../deprecations/pending-removal-in-3.14.rst:54
 msgid ":class:`!importlib.abc.TraversableResources`"
-msgstr ""
+msgstr ":class:`!importlib.abc.TraversableResources`"
 
 #: ../../whatsnew/3.12.rst:1217
 #: ../../deprecations/pending-removal-in-3.14.rst:56
@@ -1829,12 +1829,12 @@ msgstr ""
 #: ../../whatsnew/3.12.rst:1219
 #: ../../deprecations/pending-removal-in-3.14.rst:58
 msgid ":class:`importlib.resources.abc.Traversable`"
-msgstr ""
+msgstr ":class:`importlib.resources.abc.Traversable`"
 
 #: ../../whatsnew/3.12.rst:1220
 #: ../../deprecations/pending-removal-in-3.14.rst:59
 msgid ":class:`importlib.resources.abc.TraversableResources`"
-msgstr ""
+msgstr ":class:`importlib.resources.abc.TraversableResources`"
 
 #: ../../whatsnew/3.12.rst:1222
 #: ../../deprecations/pending-removal-in-3.14.rst:61
@@ -1924,7 +1924,7 @@ msgstr ""
 #: ../../whatsnew/3.12.rst:1275
 #: ../../deprecations/pending-removal-in-3.14.rst:91
 msgid ":mod:`sqlite3`:"
-msgstr ""
+msgstr ":mod:`sqlite3`:"
 
 #: ../../whatsnew/3.12.rst:1277
 msgid ""
@@ -1963,7 +1963,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.15.rst:80
 #: ../../deprecations/pending-removal-in-3.17.rst:4
 msgid ":mod:`typing`:"
-msgstr ""
+msgstr ":mod:`typing`:"
 
 #: ../../whatsnew/3.12.rst:1300
 msgid ""
@@ -2031,91 +2031,91 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.13.rst:2
 msgid "Pending removal in Python 3.13"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.13"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:4
 msgid "Modules (see :pep:`594`):"
-msgstr ""
+msgstr "Modul (lihat :pep:`594`):"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:6
 msgid ":mod:`!aifc`"
-msgstr ""
+msgstr ":mod:`!aifc`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:7
 msgid ":mod:`!audioop`"
-msgstr ""
+msgstr ":mod:`!audioop`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:8
 msgid ":mod:`!cgi`"
-msgstr ""
+msgstr ":mod:`!cgi`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:9
 msgid ":mod:`!cgitb`"
-msgstr ""
+msgstr ":mod:`!cgitb`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:10
 msgid ":mod:`!chunk`"
-msgstr ""
+msgstr ":mod:`!chunk`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:11
 msgid ":mod:`!crypt`"
-msgstr ""
+msgstr ":mod:`!crypt`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:12
 msgid ":mod:`!imghdr`"
-msgstr ""
+msgstr ":mod:`!imghdr`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:13
 msgid ":mod:`!mailcap`"
-msgstr ""
+msgstr ":mod:`!mailcap`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:14
 msgid ":mod:`!msilib`"
-msgstr ""
+msgstr ":mod:`!msilib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:15
 msgid ":mod:`!nis`"
-msgstr ""
+msgstr ":mod:`!nis`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:16
 msgid ":mod:`!nntplib`"
-msgstr ""
+msgstr ":mod:`!nntplib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:17
 msgid ":mod:`!ossaudiodev`"
-msgstr ""
+msgstr ":mod:`!ossaudiodev`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:18
 msgid ":mod:`!pipes`"
-msgstr ""
+msgstr ":mod:`!pipes`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:19
 msgid ":mod:`!sndhdr`"
-msgstr ""
+msgstr ":mod:`!sndhdr`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:20
 msgid ":mod:`!spwd`"
-msgstr ""
+msgstr ":mod:`!spwd`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:21
 msgid ":mod:`!sunau`"
-msgstr ""
+msgstr ":mod:`!sunau`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:22
 msgid ":mod:`!telnetlib`"
-msgstr ""
+msgstr ":mod:`!telnetlib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:23
 msgid ":mod:`!uu`"
-msgstr ""
+msgstr ":mod:`!uu`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:24
 msgid ":mod:`!xdrlib`"
-msgstr ""
+msgstr ":mod:`!xdrlib`"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:26
 msgid "Other modules:"
-msgstr ""
+msgstr "Modul lainnya:"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:28
 msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)"
@@ -2123,39 +2123,39 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.13.rst:30
 msgid "APIs:"
-msgstr ""
+msgstr "APIs:"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:32
 msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)"
-msgstr ""
+msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:33
 msgid "``locale.resetlocale()`` (:gh:`90817`)"
-msgstr ""
+msgstr "``locale.resetlocale()`` (:gh:`90817`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:34
 msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)"
-msgstr ""
+msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:35
 msgid ":func:`!unittest.findTestCases` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:36
 msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:37
 msgid ":func:`!unittest.makeSuite` (:gh:`50096`)"
-msgstr ""
+msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:38
 msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)"
-msgstr ""
+msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:39
 msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)"
-msgstr ""
+msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:40
 msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)"
@@ -2167,31 +2167,31 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.13.rst:43
 msgid "``contents()``"
-msgstr ""
+msgstr "``contents()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:44
 msgid "``is_resource()``"
-msgstr ""
+msgstr "``is_resource()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:45
 msgid "``open_binary()``"
-msgstr ""
+msgstr "``open_binary()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:46
 msgid "``open_text()``"
-msgstr ""
+msgstr "``open_text()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:47
 msgid "``path()``"
-msgstr ""
+msgstr "``path()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:48
 msgid "``read_binary()``"
-msgstr ""
+msgstr "``read_binary()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:49
 msgid "``read_text()``"
-msgstr ""
+msgstr "``read_text()``"
 
 #: ../../deprecations/pending-removal-in-3.13.rst:51
 msgid ""
@@ -2204,7 +2204,7 @@ msgstr ""
 #: ../../deprecations/c-api-pending-removal-in-3.14.rst:2
 #: ../../deprecations/pending-removal-in-3.14.rst:2
 msgid "Pending removal in Python 3.14"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.14"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:9
 msgid ""
@@ -2268,19 +2268,19 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.14.rst:86
 msgid ":mod:`pty`:"
-msgstr ""
+msgstr ":mod:`pty`:"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:88
 msgid "``master_open()``: use :func:`pty.openpty`."
-msgstr ""
+msgstr "``master_open()``: gunakan :func:`pty.openpty`."
 
 #: ../../deprecations/pending-removal-in-3.14.rst:89
 msgid "``slave_open()``: use :func:`pty.openpty`."
-msgstr ""
+msgstr "``slave_open()``: gunakan :func:`pty.openpty`."
 
 #: ../../deprecations/pending-removal-in-3.14.rst:93
 msgid ":data:`!version` and :data:`!version_info`."
-msgstr ""
+msgstr ":data:`!version` dan :data:`!version_info`."
 
 #: ../../deprecations/pending-removal-in-3.14.rst:95
 msgid ""
@@ -2331,7 +2331,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.15.rst:16
 msgid ":mod:`ctypes`:"
-msgstr ""
+msgstr ":mod:`ctypes`:"
 
 #: ../../deprecations/pending-removal-in-3.15.rst:18
 msgid ""
@@ -2403,7 +2403,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.15.rst:58
 #: ../../deprecations/pending-removal-in-3.16.rst:96
 msgid ":mod:`sysconfig`:"
-msgstr ""
+msgstr ":mod:`sysconfig`:"
 
 #: ../../deprecations/pending-removal-in-3.15.rst:60
 msgid ""
@@ -2445,16 +2445,25 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.15.rst:88
 msgid ""
+"When using the functional syntax of :class:`~typing.TypedDict`\\s, failing "
+"to pass a value to the *fields* parameter (``TD = TypedDict(\"TD\")``) or "
+"passing ``None`` (``TD = TypedDict(\"TD\", None)``) has been deprecated "
+"since Python 3.13. Use ``class TD(TypedDict): pass`` or ``TD = "
+"TypedDict(\"TD\", {})`` to create a TypedDict with zero field."
+msgstr ""
+
+#: ../../deprecations/pending-removal-in-3.15.rst:95
+msgid ""
 "The :func:`typing.no_type_check_decorator` decorator function has been "
 "deprecated since Python 3.13. After eight years in the :mod:`typing` module,"
 " it has yet to be supported by any major type checker."
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:93
+#: ../../deprecations/pending-removal-in-3.15.rst:100
 msgid ":mod:`wave`:"
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:95
+#: ../../deprecations/pending-removal-in-3.15.rst:102
 msgid ""
 "The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and "
 ":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` "
@@ -2462,11 +2471,11 @@ msgid ""
 "3.13."
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:100
+#: ../../deprecations/pending-removal-in-3.15.rst:107
 msgid ":mod:`zipimport`:"
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:102
+#: ../../deprecations/pending-removal-in-3.15.rst:109
 msgid ""
 ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python "
 "3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed "
@@ -2475,7 +2484,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:2
 msgid "Pending removal in Python 3.16"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.16"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:6
 msgid ""
@@ -2487,7 +2496,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:11
 msgid ":mod:`array`:"
-msgstr ""
+msgstr ":mod:`array`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:13
 msgid ""
@@ -2511,27 +2520,27 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:29
 msgid ":class:`asyncio.AbstractEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.AbstractEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:30
 msgid ":class:`asyncio.DefaultEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.DefaultEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:31
 msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:32
 msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:33
 msgid ":func:`asyncio.get_event_loop_policy`"
-msgstr ""
+msgstr ":func:`asyncio.get_event_loop_policy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:34
 msgid ":func:`asyncio.set_event_loop_policy`"
-msgstr ""
+msgstr ":func:`asyncio.set_event_loop_policy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:36
 msgid ""
@@ -2560,7 +2569,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.16.rst:50
 #: ../../deprecations/pending-removal-in-future.rst:16
 msgid ":mod:`builtins`:"
-msgstr ""
+msgstr ":mod:`builtins`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:52
 msgid ""
@@ -2573,7 +2582,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:59
 msgid ":mod:`functools`:"
-msgstr ""
+msgstr ":mod:`functools`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:61
 msgid ""
@@ -2584,7 +2593,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:64
 msgid ":mod:`logging`:"
-msgstr ""
+msgstr ":mod:`logging`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:66
 msgid ""
@@ -2595,7 +2604,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:70
 msgid ":mod:`mimetypes`:"
-msgstr ""
+msgstr ":mod:`mimetypes`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:72
 msgid ""
@@ -2607,7 +2616,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:78
 msgid ":mod:`shutil`:"
-msgstr ""
+msgstr ":mod:`shutil`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:80
 msgid ""
@@ -2618,7 +2627,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:85
 msgid ":mod:`symtable`:"
-msgstr ""
+msgstr ":mod:`symtable`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:87
 msgid ""
@@ -2628,7 +2637,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:90
 msgid ":mod:`sys`:"
-msgstr ""
+msgstr ":mod:`sys`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:92
 msgid ""
@@ -2646,7 +2655,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:102
 msgid ":mod:`tarfile`:"
-msgstr ""
+msgstr ":mod:`tarfile`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:104
 msgid ""
@@ -2656,7 +2665,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.17.rst:2
 msgid "Pending removal in Python 3.17"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.17"
 
 #: ../../deprecations/pending-removal-in-3.17.rst:6
 msgid ""
diff --git a/python-newest.whatsnew--3_13/id.po b/python-newest.whatsnew--3_13/id.po
index 40e4609..ad5411e 100644
--- a/python-newest.whatsnew--3_13/id.po
+++ b/python-newest.whatsnew--3_13/id.po
@@ -7,16 +7,16 @@
 # Imaduddin A Majid <imaduddinamajid@gmail.com>, 2024
 # Elmo <work.elmoallistair@gmail.com>, 2024
 # Rafael Fontenelle <rffontenelle@gmail.com>, 2024
-# oon arfiandwi <oon.arfiandwi@gmail.com>, 2024
+# oon arfiandwi <oon.arfiandwi@gmail.com>, 2025
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Python 3.14\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-05-09 14:19+0000\n"
+"POT-Creation-Date: 2025-06-13 14:21+0000\n"
 "PO-Revision-Date: 2024-05-11 01:09+0000\n"
-"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2024\n"
+"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>, 2025\n"
 "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -348,7 +348,7 @@ msgid ""
 "years of security fixes."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:208 ../../whatsnew/3.13.rst:2030
+#: ../../whatsnew/3.13.rst:208 ../../whatsnew/3.13.rst:2046
 msgid "New Features"
 msgstr "Fitur-fitur Baru"
 
@@ -1116,38 +1116,58 @@ msgid ""
 "awaited). (Contributed by Arthur Tacca and Jason Zhang in :gh:`115957`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:735
+#: ../../whatsnew/3.13.rst:733
+msgid ""
+"The function and methods named ``create_task`` have received a new "
+"``**kwargs`` argument that is passed through to the task constructor. This "
+"change was accidentally added in 3.13.3, and broke the API contract for "
+"custom task factories. Several third-party task factories implemented "
+"workarounds for this. In 3.13.4 and later releases the old factory contract "
+"is honored once again (until 3.14). To keep the workarounds working, the "
+"extra ``**kwargs`` argument still allows passing additional keyword "
+"arguments to :class:`~asyncio.Task` and to custom task factories."
+msgstr ""
+
+#: ../../whatsnew/3.13.rst:744
+msgid ""
+"This affects the following function and methods: "
+":meth:`asyncio.create_task`, :meth:`asyncio.loop.create_task`, "
+":meth:`asyncio.TaskGroup.create_task`. (Contributed by Thomas Grainger in "
+":gh:`128307`.)"
+msgstr ""
+
+#: ../../whatsnew/3.13.rst:751
 msgid "base64"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:737
+#: ../../whatsnew/3.13.rst:753
 msgid ""
 "Add :func:`~base64.z85encode` and :func:`~base64.z85decode` functions for "
 "encoding :class:`bytes` as `Z85 data`_ and decoding Z85-encoded data to "
 ":class:`!bytes`. (Contributed by Matan Perelman in :gh:`75299`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:746
+#: ../../whatsnew/3.13.rst:762
 msgid "compileall"
 msgstr "compileall"
 
-#: ../../whatsnew/3.13.rst:748 ../../whatsnew/3.13.rst:756
-#: ../../whatsnew/3.13.rst:1015
+#: ../../whatsnew/3.13.rst:764 ../../whatsnew/3.13.rst:772
+#: ../../whatsnew/3.13.rst:1031
 msgid ""
 "The default number of worker threads and processes is now selected using "
 ":func:`os.process_cpu_count` instead of :func:`os.cpu_count`. (Contributed "
 "by Victor Stinner in :gh:`109649`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:754
+#: ../../whatsnew/3.13.rst:770
 msgid "concurrent.futures"
 msgstr "concurrent.futures"
 
-#: ../../whatsnew/3.13.rst:762 ../../whatsnew/3.13.rst:1664
+#: ../../whatsnew/3.13.rst:778 ../../whatsnew/3.13.rst:1680
 msgid "configparser"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:764
+#: ../../whatsnew/3.13.rst:780
 msgid ""
 ":class:`~configparser.ConfigParser` now has support for unnamed sections, "
 "which allows for top-level key-value pairs. This can be enabled with the new"
@@ -1155,11 +1175,11 @@ msgid ""
 ":gh:`66449`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:771
+#: ../../whatsnew/3.13.rst:787
 msgid "copy"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:773
+#: ../../whatsnew/3.13.rst:789
 msgid ""
 "The new :func:`~copy.replace` function and the :meth:`replace protocol "
 "<object.__replace__>` make creating modified copies of objects much simpler."
@@ -1168,43 +1188,43 @@ msgid ""
 " replace protocol:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:779
+#: ../../whatsnew/3.13.rst:795
 msgid ":func:`collections.namedtuple`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:780
+#: ../../whatsnew/3.13.rst:796
 msgid ":class:`dataclasses.dataclass`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:781
+#: ../../whatsnew/3.13.rst:797
 msgid ""
 ":class:`datetime.datetime`, :class:`datetime.date`, :class:`datetime.time`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:782
+#: ../../whatsnew/3.13.rst:798
 msgid ":class:`inspect.Signature`, :class:`inspect.Parameter`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:783
+#: ../../whatsnew/3.13.rst:799
 msgid ":class:`types.SimpleNamespace`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:784
+#: ../../whatsnew/3.13.rst:800
 msgid ":ref:`code objects <code-objects>`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:786
+#: ../../whatsnew/3.13.rst:802
 msgid ""
 "Any user-defined class can also support :func:`copy.replace` by defining the"
 " :meth:`~object.__replace__` method. (Contributed by Serhiy Storchaka in "
 ":gh:`108751`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:792
+#: ../../whatsnew/3.13.rst:808
 msgid "ctypes"
 msgstr "ctypes"
 
-#: ../../whatsnew/3.13.rst:794
+#: ../../whatsnew/3.13.rst:810
 msgid ""
 "As a consequence of necessary internal refactoring, initialization of "
 "internal metaclasses now happens in ``__init__`` rather than in ``__new__``."
@@ -1212,25 +1232,25 @@ msgid ""
 "custom initialization. Generally:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:800
+#: ../../whatsnew/3.13.rst:816
 msgid ""
 "Custom logic that was done in ``__new__`` after calling ``super().__new__`` "
 "should be moved to ``__init__``."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:802
+#: ../../whatsnew/3.13.rst:818
 msgid ""
 "To create a class, call the metaclass, not only the metaclass's ``__new__`` "
 "method."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:805
+#: ../../whatsnew/3.13.rst:821
 msgid ""
 "See :gh:`124520` for discussion and links to changes in some affected "
 "projects."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:808
+#: ../../whatsnew/3.13.rst:824
 msgid ""
 ":class:`ctypes.Structure` objects have a new "
 ":attr:`~ctypes.Structure._align_` attribute which allows the alignment of "
@@ -1238,29 +1258,29 @@ msgid ""
 "(Contributed by Matt Sanderson in :gh:`112433`)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:814
+#: ../../whatsnew/3.13.rst:830
 msgid "dbm"
 msgstr "dbm"
 
-#: ../../whatsnew/3.13.rst:816
+#: ../../whatsnew/3.13.rst:832
 msgid ""
 "Add :mod:`dbm.sqlite3`, a new module which implements an SQLite backend, and"
 " make it the default :mod:`!dbm` backend. (Contributed by Raymond Hettinger "
 "and Erlend E. Aasland in :gh:`100414`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:820
+#: ../../whatsnew/3.13.rst:836
 msgid ""
 "Allow removing all items from the database through the new "
 ":meth:`.gdbm.clear` and :meth:`.ndbm.clear` methods. (Contributed by Donghee"
 " Na in :gh:`107122`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:826
+#: ../../whatsnew/3.13.rst:842
 msgid "dis"
 msgstr "dis"
 
-#: ../../whatsnew/3.13.rst:828
+#: ../../whatsnew/3.13.rst:844
 msgid ""
 "Change the output of :mod:`dis` module functions to show logical labels for "
 "jump targets and exception handlers, rather than offsets. The offsets can be"
@@ -1268,7 +1288,7 @@ msgid ""
 " the *show_offsets* argument. (Contributed by Irit Katriel in :gh:`112137`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:835
+#: ../../whatsnew/3.13.rst:851
 msgid ""
 ":meth:`~dis.get_instructions` no longer represents cache entries as separate"
 " instructions. Instead, it returns them as part of the "
@@ -1277,11 +1297,11 @@ msgid ""
 "any effect. (Contributed by Irit Katriel in :gh:`112962`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:847
+#: ../../whatsnew/3.13.rst:863
 msgid "doctest"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:849
+#: ../../whatsnew/3.13.rst:865
 msgid ""
 ":mod:`doctest` output is now colored by default. This can be controlled via "
 "the new :envvar:`PYTHON_COLORS` environment variable as well as the "
@@ -1290,18 +1310,18 @@ msgid ""
 ":gh:`117225`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:856
+#: ../../whatsnew/3.13.rst:872
 msgid ""
 "The :meth:`.DocTestRunner.run` method now counts the number of skipped "
 "tests. Add the :attr:`.DocTestRunner.skips` and :attr:`.TestResults.skipped`"
 " attributes. (Contributed by Victor Stinner in :gh:`108794`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:862
+#: ../../whatsnew/3.13.rst:878
 msgid "email"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:864
+#: ../../whatsnew/3.13.rst:880
 msgid ""
 "Headers with embedded newlines are now quoted on output. The "
 ":mod:`~email.generator` will now refuse to serialize (write) headers that "
@@ -1312,7 +1332,7 @@ msgid ""
 "Bloemsaat and Petr Viktorin in :gh:`121650`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:872
+#: ../../whatsnew/3.13.rst:888
 msgid ""
 ":func:`~email.utils.getaddresses` and :func:`~email.utils.parseaddr` now "
 "return ``('', '')`` pairs in more situations where invalid email addresses "
@@ -1324,21 +1344,21 @@ msgid ""
 "and Victor Stinner for :gh:`102988` to improve the :cve:`2023-27043` fix.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:884
+#: ../../whatsnew/3.13.rst:900
 msgid "enum"
 msgstr "enum"
 
-#: ../../whatsnew/3.13.rst:886
+#: ../../whatsnew/3.13.rst:902
 msgid ""
 ":class:`~enum.EnumDict` has been made public to better support subclassing "
 ":class:`~enum.EnumType`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:891
+#: ../../whatsnew/3.13.rst:907
 msgid "fractions"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:893
+#: ../../whatsnew/3.13.rst:909
 msgid ""
 ":class:`~fractions.Fraction` objects now support the standard :ref:`format "
 "specification mini-language <formatspec>` rules for fill, alignment, sign "
@@ -1346,22 +1366,22 @@ msgid ""
 ":gh:`111320`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:900
+#: ../../whatsnew/3.13.rst:916
 msgid "glob"
 msgstr "glob"
 
-#: ../../whatsnew/3.13.rst:902
+#: ../../whatsnew/3.13.rst:918
 msgid ""
 "Add :func:`~glob.translate`, a function to convert a path specification with"
 " shell-style wildcards to a regular expression. (Contributed by Barney Gale "
 "in :gh:`72904`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:908
+#: ../../whatsnew/3.13.rst:924
 msgid "importlib"
 msgstr "importlib"
 
-#: ../../whatsnew/3.13.rst:910
+#: ../../whatsnew/3.13.rst:926
 msgid ""
 "The following functions in :mod:`importlib.resources` now allow accessing a "
 "directory (or tree) of resources, using multiple positional arguments (the "
@@ -1369,37 +1389,37 @@ msgid ""
 "keyword-only):"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:915
+#: ../../whatsnew/3.13.rst:931
 msgid ":func:`~importlib.resources.is_resource`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:916
+#: ../../whatsnew/3.13.rst:932
 msgid ":func:`~importlib.resources.open_binary`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:917
+#: ../../whatsnew/3.13.rst:933
 msgid ":func:`~importlib.resources.open_text`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:918
+#: ../../whatsnew/3.13.rst:934
 msgid ":func:`~importlib.resources.path`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:919
+#: ../../whatsnew/3.13.rst:935
 msgid ":func:`~importlib.resources.read_binary`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:920
+#: ../../whatsnew/3.13.rst:936
 msgid ":func:`~importlib.resources.read_text`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:922
+#: ../../whatsnew/3.13.rst:938
 msgid ""
 "These functions are no longer deprecated and are not scheduled for removal. "
 "(Contributed by Petr Viktorin in :gh:`116608`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:925
+#: ../../whatsnew/3.13.rst:941
 msgid ""
 ":func:`~importlib.resources.contents` remains deprecated in favor of the "
 "fully-featured :class:`~importlib.resources.abc.Traversable` API. However, "
@@ -1407,11 +1427,11 @@ msgid ""
 ":gh:`116608`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:932
+#: ../../whatsnew/3.13.rst:948
 msgid "io"
 msgstr "io"
 
-#: ../../whatsnew/3.13.rst:934
+#: ../../whatsnew/3.13.rst:950
 msgid ""
 "The :class:`~io.IOBase` finalizer now logs any errors raised by the "
 ":meth:`~io.IOBase.close` method with :data:`sys.unraisablehook`. Previously,"
@@ -1420,17 +1440,17 @@ msgid ""
 "build>`. (Contributed by Victor Stinner in :gh:`62948`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:943
+#: ../../whatsnew/3.13.rst:959
 msgid "ipaddress"
 msgstr "ipaddress"
 
-#: ../../whatsnew/3.13.rst:945
+#: ../../whatsnew/3.13.rst:961
 msgid ""
 "Add the :attr:`.IPv4Address.ipv6_mapped` property, which returns the "
 "IPv4-mapped IPv6 address. (Contributed by Charles Machalow in :gh:`109466`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:949
+#: ../../whatsnew/3.13.rst:965
 msgid ""
 "Fix ``is_global`` and ``is_private`` behavior in "
 ":class:`~ipaddress.IPv4Address`, :class:`~ipaddress.IPv6Address`, "
@@ -1438,22 +1458,22 @@ msgid ""
 "(Contributed by Jakub Stasiak in :gh:`113171`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:956
+#: ../../whatsnew/3.13.rst:972
 msgid "itertools"
 msgstr "itertools"
 
-#: ../../whatsnew/3.13.rst:958
+#: ../../whatsnew/3.13.rst:974
 msgid ""
 ":func:`~itertools.batched` has a new *strict* parameter, which raises a "
 ":exc:`ValueError` if the final batch is shorter than the specified batch "
 "size. (Contributed by Raymond Hettinger in :gh:`113202`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:965
+#: ../../whatsnew/3.13.rst:981
 msgid "marshal"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:967
+#: ../../whatsnew/3.13.rst:983
 msgid ""
 "Add the *allow_code* parameter in module functions. Passing "
 "``allow_code=False`` prevents serialization and de-serialization of code "
@@ -1461,11 +1481,11 @@ msgid ""
 "Serhiy Storchaka in :gh:`113626`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:974
+#: ../../whatsnew/3.13.rst:990
 msgid "math"
 msgstr "math"
 
-#: ../../whatsnew/3.13.rst:976
+#: ../../whatsnew/3.13.rst:992
 msgid ""
 "The new function :func:`~math.fma` performs fused multiply-add operations. "
 "This computes ``x * y + z`` with only a single round, and so avoids any "
@@ -1475,11 +1495,11 @@ msgid ""
 "Stinner in :gh:`73468`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:986
+#: ../../whatsnew/3.13.rst:1002
 msgid "mimetypes"
 msgstr "mimetypes"
 
-#: ../../whatsnew/3.13.rst:988
+#: ../../whatsnew/3.13.rst:1004
 msgid ""
 "Add the :func:`~mimetypes.guess_file_type` function to guess a MIME type "
 "from a filesystem path. Using paths with :func:`~mimetypes.guess_type` is "
@@ -1487,18 +1507,18 @@ msgid ""
 ":gh:`66543`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:995
+#: ../../whatsnew/3.13.rst:1011
 msgid "mmap"
 msgstr "mmap"
 
-#: ../../whatsnew/3.13.rst:997
+#: ../../whatsnew/3.13.rst:1013
 msgid ""
 ":class:`~mmap.mmap` is now protected from crashing on Windows when the "
 "mapped memory is inaccessible due to file system errors or access "
 "violations. (Contributed by Jannis Weigend in :gh:`118209`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1001
+#: ../../whatsnew/3.13.rst:1017
 msgid ""
 ":class:`~mmap.mmap` has a new :meth:`~mmap.mmap.seekable` method that can be"
 " used when a seekable file-like object is required. The "
@@ -1506,7 +1526,7 @@ msgid ""
 "(Contributed by Donghee Na and Sylvie Liberman in :gh:`111835`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1006
+#: ../../whatsnew/3.13.rst:1022
 msgid ""
 "The new UNIX-only *trackfd* parameter for :class:`~mmap.mmap` controls file "
 "descriptor duplication; if false, the file descriptor specified by *fileno* "
@@ -1514,22 +1534,22 @@ msgid ""
 ":gh:`78502`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1013
+#: ../../whatsnew/3.13.rst:1029
 msgid "multiprocessing"
 msgstr "multiprocessing"
 
-#: ../../whatsnew/3.13.rst:1021
+#: ../../whatsnew/3.13.rst:1037
 msgid "os"
 msgstr "os"
 
-#: ../../whatsnew/3.13.rst:1023
+#: ../../whatsnew/3.13.rst:1039
 msgid ""
 "Add :func:`~os.process_cpu_count` function to get the number of logical CPU "
 "cores usable by the calling thread of the current process. (Contributed by "
 "Victor Stinner in :gh:`109649`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1027
+#: ../../whatsnew/3.13.rst:1043
 msgid ""
 ":func:`~os.cpu_count` and :func:`~os.process_cpu_count` can be overridden "
 "through the new environment variable :envvar:`PYTHON_CPU_COUNT` or the new "
@@ -1539,7 +1559,7 @@ msgid ""
 "Na in :gh:`109595`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1035
+#: ../../whatsnew/3.13.rst:1051
 msgid ""
 "Add a :ref:`low level interface <os-timerfd>` to Linux's :manpage:`timer "
 "file descriptors <timerfd_create(2)>` via :func:`~os.timerfd_create`, "
@@ -1550,7 +1570,7 @@ msgid ""
 "(Contributed by Masaru Tsuchiyama in :gh:`108277`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1044
+#: ../../whatsnew/3.13.rst:1060
 msgid ""
 ":func:`~os.lchmod` and the *follow_symlinks* argument of :func:`~os.chmod` "
 "are both now available on Windows. Note that the default value of "
@@ -1558,14 +1578,14 @@ msgid ""
 "by Serhiy Storchaka in :gh:`59616`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1050
+#: ../../whatsnew/3.13.rst:1066
 msgid ""
 ":func:`~os.fchmod` and support for file descriptors in :func:`~os.chmod` are"
 " both now available on Windows. (Contributed by Serhiy Storchaka in "
 ":gh:`113191`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1054
+#: ../../whatsnew/3.13.rst:1070
 msgid ""
 "On Windows, :func:`~os.mkdir` and :func:`~os.makedirs` now support passing a"
 " *mode* value of ``0o700`` to apply access control to the new directory. "
@@ -1574,14 +1594,14 @@ msgid ""
 "(Contributed by Steve Dower in :gh:`118486`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1061
+#: ../../whatsnew/3.13.rst:1077
 msgid ""
 ":func:`~os.posix_spawn` now accepts ``None`` for the *env* argument, which "
 "makes the newly spawned process use the current process environment. "
 "(Contributed by Jakub Kulik in :gh:`113119`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1065
+#: ../../whatsnew/3.13.rst:1081
 msgid ""
 ":func:`~os.posix_spawn` can now use the :const:`~os.POSIX_SPAWN_CLOSEFROM` "
 "attribute in the *file_actions* parameter on platforms that support "
@@ -1589,76 +1609,76 @@ msgid ""
 "Kulik in :gh:`113117`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1072
+#: ../../whatsnew/3.13.rst:1088
 msgid "os.path"
 msgstr "os.path"
 
-#: ../../whatsnew/3.13.rst:1074
+#: ../../whatsnew/3.13.rst:1090
 msgid ""
 "Add :func:`~os.path.isreserved` to check if a path is reserved on the "
 "current system. This function is only available on Windows. (Contributed by "
 "Barney Gale in :gh:`88569`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1079
+#: ../../whatsnew/3.13.rst:1095
 msgid ""
 "On Windows, :func:`~os.path.isabs` no longer considers paths starting with "
 "exactly one slash (``\\`` or ``/``) to be absolute. (Contributed by Barney "
 "Gale and Jon Foster in :gh:`44626`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1083
+#: ../../whatsnew/3.13.rst:1099
 msgid ""
 ":func:`~os.path.realpath` now resolves MS-DOS style file names even if the "
 "file is not accessible. (Contributed by Moonsik Park in :gh:`82367`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1089 ../../whatsnew/3.13.rst:1720
+#: ../../whatsnew/3.13.rst:1105 ../../whatsnew/3.13.rst:1736
 msgid "pathlib"
 msgstr "pathlib"
 
-#: ../../whatsnew/3.13.rst:1091
+#: ../../whatsnew/3.13.rst:1107
 msgid ""
 "Add :exc:`~pathlib.UnsupportedOperation`, which is raised instead of "
 ":exc:`NotImplementedError` when a path operation isn't supported. "
 "(Contributed by Barney Gale in :gh:`89812`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1095
+#: ../../whatsnew/3.13.rst:1111
 msgid ""
 "Add a new constructor for creating :class:`~pathlib.Path` objects from "
 "'file' URIs (``file:///``), :meth:`.Path.from_uri`. (Contributed by Barney "
 "Gale in :gh:`107465`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1099
+#: ../../whatsnew/3.13.rst:1115
 msgid ""
 "Add :meth:`.PurePath.full_match` for matching paths with shell-style "
 "wildcards, including the recursive wildcard \"``**``\". (Contributed by "
 "Barney Gale in :gh:`73435`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1103
+#: ../../whatsnew/3.13.rst:1119
 msgid ""
 "Add the :attr:`.PurePath.parser` class attribute to store the implementation"
 " of :mod:`os.path` used for low-level path parsing and joining. This will be"
 " either :mod:`!posixpath` or :mod:`!ntpath`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1108
+#: ../../whatsnew/3.13.rst:1124
 msgid ""
 "Add *recurse_symlinks* keyword-only argument to :meth:`.Path.glob` and "
 ":meth:`~pathlib.Path.rglob`. (Contributed by Barney Gale in :gh:`77609`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1112
+#: ../../whatsnew/3.13.rst:1128
 msgid ""
 ":meth:`.Path.glob` and :meth:`~pathlib.Path.rglob` now return files and "
 "directories when given a pattern that ends with \"``**``\". Previously, only"
 " directories were returned. (Contributed by Barney Gale in :gh:`70303`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1117
+#: ../../whatsnew/3.13.rst:1133
 msgid ""
 "Add the *follow_symlinks* keyword-only argument to :meth:`Path.is_file "
 "<pathlib.Path.is_file>`, :meth:`Path.is_dir <pathlib.Path.is_dir>`, "
@@ -1666,11 +1686,11 @@ msgid ""
 " :gh:`105793` and Kamil Turek in :gh:`107962`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1125
+#: ../../whatsnew/3.13.rst:1141
 msgid "pdb"
 msgstr "pdb"
 
-#: ../../whatsnew/3.13.rst:1127
+#: ../../whatsnew/3.13.rst:1143
 msgid ""
 ":func:`breakpoint` and :func:`~pdb.set_trace` now enter the debugger "
 "immediately rather than on the next line of code to be executed. This change"
@@ -1679,20 +1699,20 @@ msgid ""
 " Tian Gao in :gh:`118579`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1133
+#: ../../whatsnew/3.13.rst:1149
 msgid ""
 "``sys.path[0]`` is no longer replaced by the directory of the script being "
 "debugged when :attr:`sys.flags.safe_path` is set. (Contributed by Tian Gao "
 "and Christian Walther in :gh:`111762`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1137
+#: ../../whatsnew/3.13.rst:1153
 msgid ""
 ":mod:`zipapp` is now supported as a debugging target. (Contributed by Tian "
 "Gao in :gh:`118501`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1140
+#: ../../whatsnew/3.13.rst:1156
 msgid ""
 "Add ability to move between chained exceptions during post-mortem debugging "
 "in :func:`~pdb.pm` using the new :pdbcmd:`exceptions [exc_number] "
@@ -1700,102 +1720,102 @@ msgid ""
 ":gh:`106676`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1145
+#: ../../whatsnew/3.13.rst:1161
 msgid ""
 "Expressions and statements whose prefix is a pdb command are now correctly "
 "identified and executed. (Contributed by Tian Gao in :gh:`108464`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1151
+#: ../../whatsnew/3.13.rst:1167
 msgid "queue"
 msgstr "queue"
 
-#: ../../whatsnew/3.13.rst:1153
+#: ../../whatsnew/3.13.rst:1169
 msgid ""
 "Add :meth:`Queue.shutdown <queue.Queue.shutdown>` and :exc:`~queue.ShutDown`"
 " to manage queue termination. (Contributed by Laurie Opperman and Yves "
 "Duprat in :gh:`104750`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1159
+#: ../../whatsnew/3.13.rst:1175
 msgid "random"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1161
+#: ../../whatsnew/3.13.rst:1177
 msgid ""
 "Add a :ref:`command-line interface <random-cli>`. (Contributed by Hugo van "
 "Kemenade in :gh:`118131`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1166 ../../whatsnew/3.13.rst:1728
+#: ../../whatsnew/3.13.rst:1182 ../../whatsnew/3.13.rst:1744
 msgid "re"
 msgstr "re"
 
-#: ../../whatsnew/3.13.rst:1168
+#: ../../whatsnew/3.13.rst:1184
 msgid ""
 "Rename :exc:`!re.error` to :exc:`~re.PatternError` for improved clarity. "
 ":exc:`!re.error` is kept for backward compatibility."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1173
+#: ../../whatsnew/3.13.rst:1189
 msgid "shutil"
 msgstr "shutil"
 
-#: ../../whatsnew/3.13.rst:1175
+#: ../../whatsnew/3.13.rst:1191
 msgid ""
 "Support the *dir_fd* and *follow_symlinks* keyword arguments in "
 ":func:`~shutil.chown`. (Contributed by Berker Peksag and Tahia K in "
 ":gh:`62308`)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1181
+#: ../../whatsnew/3.13.rst:1197
 msgid "site"
 msgstr "site"
 
-#: ../../whatsnew/3.13.rst:1183
+#: ../../whatsnew/3.13.rst:1199
 msgid ""
 ":file:`.pth` files are now decoded using UTF-8 first, and then with the "
 ":term:`locale encoding` if UTF-8 decoding fails. (Contributed by Inada Naoki"
 " in :gh:`117802`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1189
+#: ../../whatsnew/3.13.rst:1205
 msgid "sqlite3"
 msgstr "sqlite3"
 
-#: ../../whatsnew/3.13.rst:1191
+#: ../../whatsnew/3.13.rst:1207
 msgid ""
 "A :exc:`ResourceWarning` is now emitted if a :class:`~sqlite3.Connection` "
 "object is not :meth:`closed <sqlite3.Connection.close>` explicitly. "
 "(Contributed by Erlend E. Aasland in :gh:`105539`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1195
+#: ../../whatsnew/3.13.rst:1211
 msgid ""
 "Add the *filter* keyword-only parameter to :meth:`.Connection.iterdump` for "
 "filtering database objects to dump. (Contributed by Mariusz Felisiak in "
 ":gh:`91602`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1201
+#: ../../whatsnew/3.13.rst:1217
 msgid "ssl"
 msgstr "ssl"
 
-#: ../../whatsnew/3.13.rst:1203
+#: ../../whatsnew/3.13.rst:1219
 msgid ""
 "The :func:`~ssl.create_default_context` API now includes "
 ":data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` and :data:`~ssl.VERIFY_X509_STRICT` "
 "in its default flags."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1209
+#: ../../whatsnew/3.13.rst:1225
 msgid ""
 ":data:`~ssl.VERIFY_X509_STRICT` may reject pre-:rfc:`5280` or malformed "
 "certificates that the underlying OpenSSL implementation might otherwise "
 "accept. Whilst disabling this is not recommended, you can do so using:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1214
+#: ../../whatsnew/3.13.rst:1230
 msgid ""
 "import ssl\n"
 "\n"
@@ -1803,15 +1823,15 @@ msgid ""
 "ctx.verify_flags &= ~ssl.VERIFY_X509_STRICT"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1221
+#: ../../whatsnew/3.13.rst:1237
 msgid "(Contributed by William Woodruff in :gh:`112389`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1225
+#: ../../whatsnew/3.13.rst:1241
 msgid "statistics"
 msgstr "statistics"
 
-#: ../../whatsnew/3.13.rst:1227
+#: ../../whatsnew/3.13.rst:1243
 msgid ""
 "Add :func:`~statistics.kde` for kernel density estimation. This makes it "
 "possible to estimate a continuous probability density function from a fixed "
@@ -1819,24 +1839,24 @@ msgid ""
 ":gh:`115863`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1232
+#: ../../whatsnew/3.13.rst:1248
 msgid ""
 "Add :func:`~statistics.kde_random` for sampling from an estimated "
 "probability density function created by :func:`~statistics.kde`. "
 "(Contributed by Raymond Hettinger in :gh:`115863`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1240
+#: ../../whatsnew/3.13.rst:1256
 msgid "subprocess"
 msgstr "subprocess"
 
-#: ../../whatsnew/3.13.rst:1242
+#: ../../whatsnew/3.13.rst:1258
 msgid ""
 "The :mod:`subprocess` module now uses the :func:`~os.posix_spawn` function "
 "in more situations."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1245
+#: ../../whatsnew/3.13.rst:1261
 msgid ""
 "Notably, when *close_fds* is ``True`` (the default), :func:`~os.posix_spawn`"
 " will be used when the C library provides "
@@ -1845,7 +1865,7 @@ msgid ""
 "similarly to the existing Linux :c:func:`!vfork` based code."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1252
+#: ../../whatsnew/3.13.rst:1268
 msgid ""
 "A private control knob :attr:`!subprocess._USE_POSIX_SPAWN` can be set to "
 "``False`` if you need to force :mod:`subprocess` to never use "
@@ -1855,22 +1875,22 @@ msgid ""
 " :gh:`113117`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1262
+#: ../../whatsnew/3.13.rst:1278
 msgid "sys"
 msgstr "sys"
 
-#: ../../whatsnew/3.13.rst:1264
+#: ../../whatsnew/3.13.rst:1280
 msgid ""
 "Add the :func:`~sys._is_interned` function to test if a string was interned."
 " This function is not guaranteed to exist in all implementations of Python. "
 "(Contributed by Serhiy Storchaka in :gh:`78573`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1270
+#: ../../whatsnew/3.13.rst:1286
 msgid "tempfile"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1272
+#: ../../whatsnew/3.13.rst:1288
 msgid ""
 "On Windows, the default mode ``0o700`` used by :func:`tempfile.mkdtemp` now "
 "limits access to the new directory due to changes to :func:`os.mkdir`. This "
@@ -1878,11 +1898,11 @@ msgid ""
 ":gh:`118486`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1279
+#: ../../whatsnew/3.13.rst:1295
 msgid "time"
 msgstr "time"
 
-#: ../../whatsnew/3.13.rst:1281
+#: ../../whatsnew/3.13.rst:1297
 msgid ""
 "On Windows, :func:`~time.monotonic` now uses the "
 "``QueryPerformanceCounter()`` clock for a resolution of 1 microsecond, "
@@ -1890,7 +1910,7 @@ msgid ""
 "milliseconds. (Contributed by Victor Stinner in :gh:`88494`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1287
+#: ../../whatsnew/3.13.rst:1303
 msgid ""
 "On Windows, :func:`~time.time` now uses the "
 "``GetSystemTimePreciseAsFileTime()`` clock for a resolution of 1 "
@@ -1899,11 +1919,11 @@ msgid ""
 ":gh:`63207`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1295
+#: ../../whatsnew/3.13.rst:1311
 msgid "tkinter"
 msgstr "tkinter"
 
-#: ../../whatsnew/3.13.rst:1297
+#: ../../whatsnew/3.13.rst:1313
 msgid ""
 "Add :mod:`tkinter` widget methods: :meth:`!tk_busy_hold`, "
 ":meth:`!tk_busy_configure`, :meth:`!tk_busy_cget`, :meth:`!tk_busy_forget`, "
@@ -1911,7 +1931,7 @@ msgid ""
 "Miguel, klappnase and Serhiy Storchaka in :gh:`72684`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1303
+#: ../../whatsnew/3.13.rst:1319
 msgid ""
 "The :mod:`tkinter` widget method :meth:`!wm_attributes` now accepts the "
 "attribute name without the minus prefix to get window attributes, for "
@@ -1921,14 +1941,14 @@ msgid ""
 ":gh:`43457`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1310
+#: ../../whatsnew/3.13.rst:1326
 msgid ""
 ":meth:`!wm_attributes` can now return attributes as a :class:`dict`, by "
 "using the new optional keyword-only parameter *return_python_dict*. "
 "(Contributed by Serhiy Storchaka in :gh:`43457`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1314
+#: ../../whatsnew/3.13.rst:1330
 msgid ""
 ":meth:`!Text.count` can now return a simple :class:`int` when the new "
 "optional keyword-only parameter *return_ints* is used. Otherwise, the single"
@@ -1936,7 +1956,7 @@ msgid ""
 "Storchaka in :gh:`97928`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1319
+#: ../../whatsnew/3.13.rst:1335
 msgid ""
 "Support the \"vsapi\" element type in the "
 ":meth:`~tkinter.ttk.Style.element_create` method of "
@@ -1944,20 +1964,20 @@ msgid ""
 ":gh:`68166`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1324
+#: ../../whatsnew/3.13.rst:1340
 msgid ""
 "Add the :meth:`!after_info` method for Tkinter widgets. (Contributed by "
 "Cheryl Sabella in :gh:`77020`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1327
+#: ../../whatsnew/3.13.rst:1343
 msgid ""
 "Add a new :meth:`!copy_replace` method to :class:`!PhotoImage` to copy a "
 "region from one image to another, possibly with pixel zooming, subsampling, "
 "or both. (Contributed by Serhiy Storchaka in :gh:`118225`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1332
+#: ../../whatsnew/3.13.rst:1348
 msgid ""
 "Add *from_coords* parameter to the :class:`!PhotoImage` methods "
 ":meth:`!copy`, :meth:`!zoom` and :meth:`!subsample`. Add *zoom* and "
@@ -1965,7 +1985,7 @@ msgid ""
 "(Contributed by Serhiy Storchaka in :gh:`118225`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1338
+#: ../../whatsnew/3.13.rst:1354
 msgid ""
 "Add the :class:`!PhotoImage` methods :meth:`!read` to read an image from a "
 "file and :meth:`!data` to get the image data. Add *background* and "
@@ -1973,11 +1993,11 @@ msgid ""
 "Storchaka in :gh:`118271`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1346
+#: ../../whatsnew/3.13.rst:1362
 msgid "traceback"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1348
+#: ../../whatsnew/3.13.rst:1364
 msgid ""
 "Add the :attr:`~traceback.TracebackException.exc_type_str` attribute to "
 ":class:`~traceback.TracebackException`, which holds a string display of the "
@@ -1987,7 +2007,7 @@ msgid ""
 "(Contributed by Irit Katriel in :gh:`112332`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1357
+#: ../../whatsnew/3.13.rst:1373
 msgid ""
 "Add a new *show_group* keyword-only parameter to "
 ":meth:`.TracebackException.format_exception_only` to (recursively) format "
@@ -1995,11 +2015,11 @@ msgid ""
 "by Irit Katriel in :gh:`105292`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1364
+#: ../../whatsnew/3.13.rst:1380
 msgid "types"
 msgstr "types"
 
-#: ../../whatsnew/3.13.rst:1366
+#: ../../whatsnew/3.13.rst:1382
 msgid ""
 ":class:`~types.SimpleNamespace` can now take a single positional argument to"
 " initialise the namespace's arguments. This argument must either be a "
@@ -2007,63 +2027,63 @@ msgid ""
 "in :gh:`108191`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1373 ../../whatsnew/3.13.rst:1753
+#: ../../whatsnew/3.13.rst:1389 ../../whatsnew/3.13.rst:1769
 msgid "typing"
 msgstr "typing"
 
-#: ../../whatsnew/3.13.rst:1375
+#: ../../whatsnew/3.13.rst:1391
 msgid ""
 ":pep:`705`: Add :data:`~typing.ReadOnly`, a special typing construct to mark"
 " a :class:`~typing.TypedDict` item as read-only for type checkers."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1378
+#: ../../whatsnew/3.13.rst:1394
 msgid ""
 ":pep:`742`: Add :data:`~typing.TypeIs`, a typing construct that can be used "
 "to instruct a type checker how to narrow a type."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1381
+#: ../../whatsnew/3.13.rst:1397
 msgid ""
 "Add :data:`~typing.NoDefault`, a sentinel object used to represent the "
 "defaults of some parameters in the :mod:`typing` module. (Contributed by "
 "Jelle Zijlstra in :gh:`116126`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1385
+#: ../../whatsnew/3.13.rst:1401
 msgid ""
 "Add :func:`~typing.get_protocol_members` to return the set of members "
 "defining a :class:`typing.Protocol`. (Contributed by Jelle Zijlstra in "
 ":gh:`104873`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1389
+#: ../../whatsnew/3.13.rst:1405
 msgid ""
 "Add :func:`~typing.is_protocol` to check whether a class is a "
 ":class:`~typing.Protocol`. (Contributed by Jelle Zijlstra in :gh:`104873`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1393
+#: ../../whatsnew/3.13.rst:1409
 msgid ""
 ":data:`~typing.ClassVar` can now be nested in :data:`~typing.Final`, and "
 "vice versa. (Contributed by Mehdi Drissi in :gh:`89547`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1399
+#: ../../whatsnew/3.13.rst:1415
 msgid "unicodedata"
 msgstr "unicodedata"
 
-#: ../../whatsnew/3.13.rst:1401
+#: ../../whatsnew/3.13.rst:1417
 msgid ""
 "Update the Unicode database to `version 15.1.0`__. (Contributed by James "
 "Gerity in :gh:`109559`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1408
+#: ../../whatsnew/3.13.rst:1424
 msgid "venv"
 msgstr "venv"
 
-#: ../../whatsnew/3.13.rst:1410
+#: ../../whatsnew/3.13.rst:1426
 msgid ""
 "Add support for creating source control management (SCM) ignore files in a "
 "virtual environment's directory. By default, Git is supported. This is "
@@ -2073,11 +2093,11 @@ msgid ""
 "Cannon in :gh:`108125`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1421
+#: ../../whatsnew/3.13.rst:1437
 msgid "warnings"
 msgstr "warnings"
 
-#: ../../whatsnew/3.13.rst:1423
+#: ../../whatsnew/3.13.rst:1439
 msgid ""
 ":pep:`702`: The new :func:`warnings.deprecated` decorator provides a way to "
 "communicate deprecations to a :term:`static type checker` and to warn on "
@@ -2086,62 +2106,62 @@ msgid ""
 "(Contributed by Jelle Zijlstra in :gh:`104003`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1432
+#: ../../whatsnew/3.13.rst:1448
 msgid "xml"
 msgstr "xml"
 
-#: ../../whatsnew/3.13.rst:1434
+#: ../../whatsnew/3.13.rst:1450
 msgid ""
 "Allow controlling Expat >=2.6.0 reparse deferral (:cve:`2023-52425`) by "
 "adding five new methods:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1437
+#: ../../whatsnew/3.13.rst:1453
 msgid ":meth:`xml.etree.ElementTree.XMLParser.flush`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1438
+#: ../../whatsnew/3.13.rst:1454
 msgid ":meth:`xml.etree.ElementTree.XMLPullParser.flush`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1439
+#: ../../whatsnew/3.13.rst:1455
 msgid ":meth:`xml.parsers.expat.xmlparser.GetReparseDeferralEnabled`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1440
+#: ../../whatsnew/3.13.rst:1456
 msgid ":meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1441
+#: ../../whatsnew/3.13.rst:1457
 msgid ":meth:`!xml.sax.expatreader.ExpatParser.flush`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1443
+#: ../../whatsnew/3.13.rst:1459
 msgid "(Contributed by Sebastian Pipping in :gh:`115623`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1445
+#: ../../whatsnew/3.13.rst:1461
 msgid ""
 "Add the :meth:`!close` method for the iterator returned by "
 ":func:`~xml.etree.ElementTree.iterparse` for explicit cleanup. (Contributed "
 "by Serhiy Storchaka in :gh:`69893`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1451
+#: ../../whatsnew/3.13.rst:1467
 msgid "zipimport"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1453
+#: ../../whatsnew/3.13.rst:1469
 msgid ""
 "Add support for ZIP64_ format files. Everybody loves huge data, right? "
 "(Contributed by Tim Hatch in :gh:`94146`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1461
+#: ../../whatsnew/3.13.rst:1477
 msgid "Optimizations"
 msgstr "Optimalisasi"
 
-#: ../../whatsnew/3.13.rst:1463
+#: ../../whatsnew/3.13.rst:1479
 msgid ""
 "Several standard library modules have had their import times significantly "
 "improved. For example, the import time of the :mod:`typing` module has been "
@@ -2153,13 +2173,13 @@ msgid ""
 ":gh:`109653`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1474
+#: ../../whatsnew/3.13.rst:1490
 msgid ""
 ":func:`textwrap.indent` is now around 30% faster than before for large "
 "input. (Contributed by Inada Naoki in :gh:`107369`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1477
+#: ../../whatsnew/3.13.rst:1493
 msgid ""
 "The :mod:`subprocess` module now uses the :func:`~os.posix_spawn` function "
 "in more situations, including when *close_fds* is ``True`` (the default) on "
@@ -2169,15 +2189,15 @@ msgid ""
 "Kulik in :gh:`113117`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1487
+#: ../../whatsnew/3.13.rst:1503
 msgid "Removed Modules And APIs"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1493
+#: ../../whatsnew/3.13.rst:1509
 msgid "PEP 594: Remove \"dead batteries\" from the standard library"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1495
+#: ../../whatsnew/3.13.rst:1511
 msgid ""
 ":pep:`594` proposed removing 19 modules from the standard library, "
 "colloquially referred to as 'dead batteries' due to their historic, "
@@ -2185,38 +2205,38 @@ msgid ""
 "in Python 3.11, and are now removed:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1501
+#: ../../whatsnew/3.13.rst:1517
 msgid ":mod:`!aifc`"
-msgstr ""
+msgstr ":mod:`!aifc`"
 
-#: ../../whatsnew/3.13.rst:1503
+#: ../../whatsnew/3.13.rst:1519
 msgid ""
 ":pypi:`standard-aifc`: Use the redistribution of ``aifc`` library from PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1506
+#: ../../whatsnew/3.13.rst:1522
 msgid ":mod:`!audioop`"
-msgstr ""
+msgstr ":mod:`!audioop`"
 
-#: ../../whatsnew/3.13.rst:1508
+#: ../../whatsnew/3.13.rst:1524
 msgid ":pypi:`audioop-lts`: Use ``audioop-lts`` library from PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1511
+#: ../../whatsnew/3.13.rst:1527
 msgid ":mod:`!chunk`"
-msgstr ""
+msgstr ":mod:`!chunk`"
 
-#: ../../whatsnew/3.13.rst:1513
+#: ../../whatsnew/3.13.rst:1529
 msgid ""
 ":pypi:`standard-chunk`: Use the redistribution of ``chunk`` library from "
 "PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1516
+#: ../../whatsnew/3.13.rst:1532
 msgid ":mod:`!cgi` and :mod:`!cgitb`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1518
+#: ../../whatsnew/3.13.rst:1534
 msgid ""
 ":class:`!cgi.FieldStorage` can typically be replaced with "
 ":func:`urllib.parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and the "
@@ -2224,7 +2244,7 @@ msgid ""
 "and ``PUT`` requests."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1523
+#: ../../whatsnew/3.13.rst:1539
 msgid ""
 ":func:`!cgi.parse` can be replaced by calling :func:`urllib.parse.parse_qs` "
 "directly on the desired query string, unless the input is ``multipart/form-"
@@ -2232,14 +2252,14 @@ msgid ""
 ":func:`!cgi.parse_multipart`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1528
+#: ../../whatsnew/3.13.rst:1544
 msgid ""
 ":func:`!cgi.parse_header` can be replaced with the functionality in the "
 ":mod:`email` package, which implements the same MIME RFCs. For example, with"
 " :class:`email.message.EmailMessage`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1532
+#: ../../whatsnew/3.13.rst:1548
 msgid ""
 "from email.message import EmailMessage\n"
 "\n"
@@ -2248,7 +2268,7 @@ msgid ""
 "main, params = msg.get_content_type(), msg['content-type'].params"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1540
+#: ../../whatsnew/3.13.rst:1556
 msgid ""
 ":func:`!cgi.parse_multipart` can be replaced with the functionality in the "
 ":mod:`email` package, which implements the same MIME RFCs, or with the "
@@ -2257,54 +2277,54 @@ msgid ""
 "classes."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1546
+#: ../../whatsnew/3.13.rst:1562
 msgid ""
 ":pypi:`standard-cgi`: and :pypi:`standard-cgitb`: Use the redistribution of "
 "``cgi`` and ``cgitb`` library from PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1549
+#: ../../whatsnew/3.13.rst:1565
 msgid ""
 ":mod:`!crypt` and the private :mod:`!_crypt` extension. The :mod:`hashlib` "
 "module may be an appropriate replacement when simply hashing a value is "
 "required. Otherwise, various third-party libraries on PyPI are available:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1554
+#: ../../whatsnew/3.13.rst:1570
 msgid ""
 ":pypi:`bcrypt`: Modern password hashing for your software and your servers."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1556
+#: ../../whatsnew/3.13.rst:1572
 msgid ""
 ":pypi:`passlib`: Comprehensive password hashing framework supporting over 30"
 " schemes."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1558
+#: ../../whatsnew/3.13.rst:1574
 msgid ":pypi:`argon2-cffi`: The secure Argon2 password hashing algorithm."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1560
+#: ../../whatsnew/3.13.rst:1576
 msgid ""
 ":pypi:`legacycrypt`: :mod:`ctypes` wrapper to the POSIX crypt library call "
 "and associated functionality."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1563
+#: ../../whatsnew/3.13.rst:1579
 msgid ""
 ":pypi:`crypt_r`: Fork of the :mod:`!crypt` module, wrapper to the "
 ":manpage:`crypt_r(3)` library call and associated functionality."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1567
+#: ../../whatsnew/3.13.rst:1583
 msgid ""
 ":pypi:`standard-crypt` and :pypi:`deprecated-crypt-alternative`: Use the "
 "redistribution of ``crypt`` and reimplementation of ``_crypt`` libraries "
 "from PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1570
+#: ../../whatsnew/3.13.rst:1586
 msgid ""
 ":mod:`!imghdr`: The :pypi:`filetype`, :pypi:`puremagic`, or :pypi:`python-"
 "magic` libraries should be used as replacements. For example, the "
@@ -2313,138 +2333,138 @@ msgid ""
 ":mod:`!imghdr`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1577
+#: ../../whatsnew/3.13.rst:1593
 msgid ""
 ":pypi:`standard-imghdr`: Use the redistribution of ``imghdr`` library from "
 "PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1580
+#: ../../whatsnew/3.13.rst:1596
 msgid ":mod:`!mailcap`: Use the :mod:`mimetypes` module instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1583
+#: ../../whatsnew/3.13.rst:1599
 msgid ""
 ":pypi:`standard-mailcap`: Use the redistribution of ``mailcap`` library from"
 " PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1586
+#: ../../whatsnew/3.13.rst:1602
 msgid ":mod:`!msilib`"
-msgstr ""
+msgstr ":mod:`!msilib`"
 
-#: ../../whatsnew/3.13.rst:1587
+#: ../../whatsnew/3.13.rst:1603
 msgid ":mod:`!nis`"
-msgstr ""
+msgstr ":mod:`!nis`"
 
-#: ../../whatsnew/3.13.rst:1588
+#: ../../whatsnew/3.13.rst:1604
 msgid ":mod:`!nntplib`: Use the :pypi:`pynntp` library from PyPI instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1591
+#: ../../whatsnew/3.13.rst:1607
 msgid ""
 ":pypi:`standard-nntplib`: Use the redistribution of ``nntplib`` library from"
 " PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1594
+#: ../../whatsnew/3.13.rst:1610
 msgid ""
 ":mod:`!ossaudiodev`: For audio playback, use the :pypi:`pygame` library from"
 " PyPI instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1596
+#: ../../whatsnew/3.13.rst:1612
 msgid ""
 ":mod:`!pipes`: Use the :mod:`subprocess` module instead. Use "
 ":func:`shlex.quote` to replace the undocumented ``pipes.quote`` function."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1601
+#: ../../whatsnew/3.13.rst:1617
 msgid ""
 ":pypi:`standard-pipes`: Use the redistribution of ``pipes`` library from "
 "PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1604
+#: ../../whatsnew/3.13.rst:1620
 msgid ""
 ":mod:`!sndhdr`: The :pypi:`filetype`, :pypi:`puremagic`, or :pypi:`python-"
 "magic` libraries should be used as replacements."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1608
+#: ../../whatsnew/3.13.rst:1624
 msgid ""
 ":pypi:`standard-sndhdr`: Use the redistribution of ``sndhdr`` library from "
 "PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1611
+#: ../../whatsnew/3.13.rst:1627
 msgid ":mod:`!spwd`: Use the :pypi:`python-pam` library from PyPI instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1613
+#: ../../whatsnew/3.13.rst:1629
 msgid ":mod:`!sunau`"
-msgstr ""
+msgstr ":mod:`!sunau`"
 
-#: ../../whatsnew/3.13.rst:1615
+#: ../../whatsnew/3.13.rst:1631
 msgid ""
 ":pypi:`standard-sunau`: Use the redistribution of ``sunau`` library from "
 "PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1618
+#: ../../whatsnew/3.13.rst:1634
 msgid ""
 ":mod:`!telnetlib`, Use the :pypi:`telnetlib3` or :pypi:`Exscript` libraries "
 "from PyPI instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1621
+#: ../../whatsnew/3.13.rst:1637
 msgid ""
 ":pypi:`standard-telnetlib`: Use the redistribution of ``telnetlib`` library "
 "from PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1624
+#: ../../whatsnew/3.13.rst:1640
 msgid ""
 ":mod:`!uu`: Use the :mod:`base64` module instead, as a modern alternative."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1627
+#: ../../whatsnew/3.13.rst:1643
 msgid ""
 ":pypi:`standard-uu`: Use the redistribution of ``uu`` library from PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1630
+#: ../../whatsnew/3.13.rst:1646
 msgid ":mod:`!xdrlib`"
-msgstr ""
+msgstr ":mod:`!xdrlib`"
 
-#: ../../whatsnew/3.13.rst:1632
+#: ../../whatsnew/3.13.rst:1648
 msgid ""
 ":pypi:`standard-xdrlib`: Use the redistribution of ``xdrlib`` library from "
 "PyPI."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1635
+#: ../../whatsnew/3.13.rst:1651
 msgid ""
 "(Contributed by Victor Stinner and Zachary Ware in :gh:`104773` and "
 ":gh:`104780`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1639
+#: ../../whatsnew/3.13.rst:1655
 msgid "2to3"
 msgstr "2ke3"
 
-#: ../../whatsnew/3.13.rst:1641
+#: ../../whatsnew/3.13.rst:1657
 msgid ""
 "Remove the :program:`2to3` program and the :mod:`!lib2to3` module, "
 "previously deprecated in Python 3.11. (Contributed by Victor Stinner in "
 ":gh:`104780`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1647
+#: ../../whatsnew/3.13.rst:1663
 msgid "builtins"
 msgstr "builtins"
 
-#: ../../whatsnew/3.13.rst:1649
+#: ../../whatsnew/3.13.rst:1665
 msgid ""
 "Remove support for chained :class:`classmethod` descriptors (introduced in "
 ":gh:`63272`). These can no longer be used to wrap other descriptors, such as"
@@ -2454,47 +2474,47 @@ msgid ""
 "(Contributed by Raymond Hettinger in :gh:`89519`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1658
+#: ../../whatsnew/3.13.rst:1674
 msgid ""
 "Raise a :exc:`RuntimeError` when calling :meth:`frame.clear` on a suspended "
 "frame (as has always been the case for an executing frame). (Contributed by "
 "Irit Katriel in :gh:`79932`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1666
+#: ../../whatsnew/3.13.rst:1682
 msgid ""
 "Remove the undocumented :class:`!LegacyInterpolation` class, deprecated in "
 "the docstring since Python 3.2, and at runtime since Python 3.11. "
 "(Contributed by Hugo van Kemenade in :gh:`104886`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1673
+#: ../../whatsnew/3.13.rst:1689
 msgid "importlib.metadata"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1675
+#: ../../whatsnew/3.13.rst:1691
 msgid ""
 "Remove deprecated subscript (:meth:`~object.__getitem__`) access for "
 ":ref:`EntryPoint <entry-points>` objects. (Contributed by Jason R. Coombs in"
 " :gh:`113175`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1681
+#: ../../whatsnew/3.13.rst:1697
 msgid "locale"
 msgstr "locale"
 
-#: ../../whatsnew/3.13.rst:1683
+#: ../../whatsnew/3.13.rst:1699
 msgid ""
 "Remove the :func:`!locale.resetlocale` function, deprecated in Python 3.11. "
 "Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. (Contributed by "
 "Victor Stinner in :gh:`104783`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1689
+#: ../../whatsnew/3.13.rst:1705
 msgid "opcode"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1691
+#: ../../whatsnew/3.13.rst:1707
 msgid ""
 "Move :attr:`!opcode.ENABLE_SPECIALIZATION` to "
 ":attr:`!_opcode.ENABLE_SPECIALIZATION`. This field was added in 3.12, it was"
@@ -2502,7 +2522,7 @@ msgid ""
 "Irit Katriel in :gh:`105481`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1696
+#: ../../whatsnew/3.13.rst:1712
 msgid ""
 "Remove :func:`!opcode.is_pseudo`, :attr:`!opcode.MIN_PSEUDO_OPCODE`, and "
 ":attr:`!opcode.MAX_PSEUDO_OPCODE`, which were added in Python 3.12, but were"
@@ -2510,11 +2530,11 @@ msgid ""
 " be used externally. (Contributed by Irit Katriel in :gh:`105481`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1704
+#: ../../whatsnew/3.13.rst:1720
 msgid "optparse"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1706
+#: ../../whatsnew/3.13.rst:1722
 msgid ""
 "This module is no longer considered :term:`soft deprecated`. While "
 ":mod:`argparse` remains preferred for new projects that aren't using a third"
@@ -2527,43 +2547,43 @@ msgid ""
 "(Contributed by Alyssa Coghlan and Serhiy Storchaka in :gh:`126180`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1722
+#: ../../whatsnew/3.13.rst:1738
 msgid ""
 "Remove the ability to use :class:`~pathlib.Path` objects as context "
 "managers. This functionality was deprecated and has had no effect since "
 "Python 3.9. (Contributed by Barney Gale in :gh:`83863`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1730
+#: ../../whatsnew/3.13.rst:1746
 msgid ""
 "Remove the undocumented, deprecated, and broken :func:`!re.template` "
 "function and :attr:`!re.TEMPLATE` / :attr:`!re.T` flag. (Contributed by "
 "Serhiy Storchaka and Nikita Sobolev in :gh:`105687`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1736
+#: ../../whatsnew/3.13.rst:1752
 msgid "tkinter.tix"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1738
+#: ../../whatsnew/3.13.rst:1754
 msgid ""
 "Remove the :mod:`!tkinter.tix` module, deprecated in Python 3.6. The third-"
 "party Tix library which the module wrapped is unmaintained. (Contributed by "
 "Zachary Ware in :gh:`75552`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1744
+#: ../../whatsnew/3.13.rst:1760
 msgid "turtle"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1746
+#: ../../whatsnew/3.13.rst:1762
 msgid ""
 "Remove the :meth:`!RawTurtle.settiltangle` method, deprecated in the "
 "documentation since Python 3.1 and at runtime since Python 3.11. "
 "(Contributed by Hugo van Kemenade in :gh:`104876`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1755
+#: ../../whatsnew/3.13.rst:1771
 msgid ""
 "Remove the :mod:`!typing.io` and :mod:`!typing.re` namespaces, deprecated "
 "since Python 3.8. The items in those namespaces can be imported directly "
@@ -2571,66 +2591,66 @@ msgid ""
 ":gh:`92871`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1761
+#: ../../whatsnew/3.13.rst:1777
 msgid ""
 "Remove the keyword-argument method of creating :class:`~typing.TypedDict` "
 "types, deprecated in Python 3.11. (Contributed by Tomas Roun in "
 ":gh:`104786`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1767
+#: ../../whatsnew/3.13.rst:1783
 msgid "unittest"
 msgstr "unittest"
 
-#: ../../whatsnew/3.13.rst:1769
+#: ../../whatsnew/3.13.rst:1785
 msgid ""
 "Remove the following :mod:`unittest` functions, deprecated in Python 3.11:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1771
+#: ../../whatsnew/3.13.rst:1787
 msgid ":func:`!unittest.findTestCases`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1772
+#: ../../whatsnew/3.13.rst:1788
 msgid ":func:`!unittest.makeSuite`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1773
+#: ../../whatsnew/3.13.rst:1789
 msgid ":func:`!unittest.getTestCaseNames`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1775
+#: ../../whatsnew/3.13.rst:1791
 msgid "Use :class:`~unittest.TestLoader` methods instead:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1777
+#: ../../whatsnew/3.13.rst:1793
 msgid ":meth:`~unittest.TestLoader.loadTestsFromModule`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1778
+#: ../../whatsnew/3.13.rst:1794
 msgid ":meth:`~unittest.TestLoader.loadTestsFromTestCase`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1779
+#: ../../whatsnew/3.13.rst:1795
 msgid ":meth:`~unittest.TestLoader.getTestCaseNames`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1781
+#: ../../whatsnew/3.13.rst:1797
 msgid "(Contributed by Hugo van Kemenade in :gh:`104835`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1783
+#: ../../whatsnew/3.13.rst:1799
 msgid ""
 "Remove the untested and undocumented :meth:`!TestProgram.usageExit` method, "
 "deprecated in Python 3.11. (Contributed by Hugo van Kemenade in "
 ":gh:`104992`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1789
+#: ../../whatsnew/3.13.rst:1805
 msgid "urllib"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1791
+#: ../../whatsnew/3.13.rst:1807
 msgid ""
 "Remove the *cafile*, *capath*, and *cadefault* parameters of the "
 ":func:`urllib.request.urlopen` function, deprecated in Python 3.6. Use the "
@@ -2641,33 +2661,33 @@ msgid ""
 "(Contributed by Victor Stinner in :gh:`105382`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1802
+#: ../../whatsnew/3.13.rst:1818
 msgid "webbrowser"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1804
+#: ../../whatsnew/3.13.rst:1820
 msgid ""
 "Remove the untested and undocumented :class:`!MacOSX` class, deprecated in "
 "Python 3.11. Use the :class:`!MacOSXOSAScript` class (introduced in Python "
 "3.2) instead. (Contributed by Hugo van Kemenade in :gh:`104804`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1809
+#: ../../whatsnew/3.13.rst:1825
 msgid ""
 "Remove the deprecated :attr:`!MacOSXOSAScript._name` attribute. Use the "
 ":attr:`MacOSXOSAScript.name <webbrowser.controller.name>` attribute instead."
 " (Contributed by Nikita Sobolev in :gh:`105546`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1816
+#: ../../whatsnew/3.13.rst:1832
 msgid "New Deprecations"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1818
+#: ../../whatsnew/3.13.rst:1834
 msgid ":ref:`User-defined functions <user-defined-funcs>`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1820
+#: ../../whatsnew/3.13.rst:1836
 msgid ""
 "Deprecate assignment to a function's :attr:`~function.__code__` attribute, "
 "where the new code object's type does not match the function's type. The "
@@ -2675,12 +2695,12 @@ msgid ""
 "coroutine. (Contributed by Irit Katriel in :gh:`81137`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1826
+#: ../../whatsnew/3.13.rst:1842
 #: ../../deprecations/pending-removal-in-3.16.rst:11
 msgid ":mod:`array`:"
-msgstr ""
+msgstr ":mod:`array`:"
 
-#: ../../whatsnew/3.13.rst:1828
+#: ../../whatsnew/3.13.rst:1844
 msgid ""
 "Deprecate the ``'u'`` format code (:c:type:`wchar_t`) at runtime. This "
 "format code has been deprecated in documentation since Python 3.3, and will "
@@ -2689,61 +2709,61 @@ msgid ""
 ":gh:`80480`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1835
+#: ../../whatsnew/3.13.rst:1851
 #: ../../deprecations/pending-removal-in-3.15.rst:16
 msgid ":mod:`ctypes`:"
-msgstr ""
+msgstr ":mod:`ctypes`:"
 
-#: ../../whatsnew/3.13.rst:1837
+#: ../../whatsnew/3.13.rst:1853
 msgid ""
 "Deprecate the undocumented :func:`!SetPointerType` function, to be removed "
 "in Python 3.15. (Contributed by Victor Stinner in :gh:`105733`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1841
+#: ../../whatsnew/3.13.rst:1857
 msgid ""
 ":term:`Soft-deprecate <soft deprecated>` the :func:`~ctypes.ARRAY` function "
 "in favour of ``type * length`` multiplication. (Contributed by Victor "
 "Stinner in :gh:`105733`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1845
+#: ../../whatsnew/3.13.rst:1861
 msgid ":mod:`decimal`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1847
+#: ../../whatsnew/3.13.rst:1863
 msgid ""
 "Deprecate the non-standard and undocumented :class:`~decimal.Decimal` format"
 " specifier ``'N'``, which is only supported in the :mod:`!decimal` module's "
 "C implementation. (Contributed by Serhiy Storchaka in :gh:`89902`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1852
+#: ../../whatsnew/3.13.rst:1868
 msgid ":mod:`dis`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1854
+#: ../../whatsnew/3.13.rst:1870
 msgid ""
 "Deprecate the :attr:`!HAVE_ARGUMENT` separator. Check membership in "
 ":data:`~dis.hasarg` instead. (Contributed by Irit Katriel in :gh:`109319`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1858
+#: ../../whatsnew/3.13.rst:1874
 msgid ":mod:`gettext`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1860
+#: ../../whatsnew/3.13.rst:1876
 msgid ""
 "Deprecate non-integer numbers as arguments to functions and methods that "
 "consider plural forms in the :mod:`!gettext` module, even if no translation "
 "was found. (Contributed by Serhiy Storchaka in :gh:`88434`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1865
+#: ../../whatsnew/3.13.rst:1881
 msgid ":mod:`glob`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1867
+#: ../../whatsnew/3.13.rst:1883
 msgid ""
 "Deprecate the undocumented :func:`!glob0` and :func:`!glob1` functions. Use "
 ":func:`~glob.glob` and pass a :term:`path-like object` specifying the root "
@@ -2751,12 +2771,12 @@ msgid ""
 "in :gh:`117337`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1872
+#: ../../whatsnew/3.13.rst:1888
 #: ../../deprecations/pending-removal-in-3.15.rst:21
 msgid ":mod:`http.server`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1874
+#: ../../whatsnew/3.13.rst:1890
 msgid ""
 "Deprecate :class:`~http.server.CGIHTTPRequestHandler`, to be removed in "
 "Python 3.15. Process-based CGI HTTP servers have been out of favor for a "
@@ -2765,30 +2785,30 @@ msgid ""
 "by Gregory P. Smith in :gh:`109096`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1881
+#: ../../whatsnew/3.13.rst:1897
 msgid ""
 "Deprecate the :option:`!--cgi` flag to the :program:`python -m http.server` "
 "command-line interface, to be removed in Python 3.15. (Contributed by "
 "Gregory P. Smith in :gh:`109096`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1886
+#: ../../whatsnew/3.13.rst:1902
 #: ../../deprecations/pending-removal-in-3.16.rst:70
 msgid ":mod:`mimetypes`:"
-msgstr ""
+msgstr ":mod:`mimetypes`:"
 
-#: ../../whatsnew/3.13.rst:1888
+#: ../../whatsnew/3.13.rst:1904
 msgid ""
 ":term:`Soft-deprecate <soft deprecated>` file path arguments to "
 ":func:`~mimetypes.guess_type`, use :func:`~mimetypes.guess_file_type` "
 "instead. (Contributed by Serhiy Storchaka in :gh:`66543`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1893
+#: ../../whatsnew/3.13.rst:1909
 msgid ":mod:`re`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1895
+#: ../../whatsnew/3.13.rst:1911
 msgid ""
 "Deprecate passing the optional *maxsplit*, *count*, or *flags* arguments as "
 "positional arguments to the module-level :func:`~re.split`, :func:`~re.sub`,"
@@ -2797,46 +2817,46 @@ msgid ""
 "by Serhiy Storchaka in :gh:`56166`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1902
+#: ../../whatsnew/3.13.rst:1918
 #: ../../deprecations/pending-removal-in-3.15.rst:46
 msgid ":mod:`pathlib`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1904
+#: ../../whatsnew/3.13.rst:1920
 msgid ""
 "Deprecate :meth:`.PurePath.is_reserved`, to be removed in Python 3.15. Use "
 ":func:`os.path.isreserved` to detect reserved paths on Windows. (Contributed"
 " by Barney Gale in :gh:`88569`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1909
+#: ../../whatsnew/3.13.rst:1925
 #: ../../deprecations/pending-removal-in-3.15.rst:52
 msgid ":mod:`platform`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1911
+#: ../../whatsnew/3.13.rst:1927
 msgid ""
 "Deprecate :func:`~platform.java_ver`, to be removed in Python 3.15. This "
 "function is only useful for Jython support, has a confusing API, and is "
 "largely untested. (Contributed by Nikita Sobolev in :gh:`116349`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1917
+#: ../../whatsnew/3.13.rst:1933
 msgid ":mod:`pydoc`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1919
+#: ../../whatsnew/3.13.rst:1935
 msgid ""
 "Deprecate the undocumented :func:`!ispackage` function. (Contributed by "
 "Zackery Spytz in :gh:`64020`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1922
+#: ../../whatsnew/3.13.rst:1938
 #: ../../deprecations/pending-removal-in-3.14.rst:91
 msgid ":mod:`sqlite3`:"
-msgstr ""
+msgstr ":mod:`sqlite3`:"
 
-#: ../../whatsnew/3.13.rst:1924
+#: ../../whatsnew/3.13.rst:1940
 msgid ""
 "Deprecate passing more than one positional argument to the "
 ":func:`~sqlite3.connect` function and the :class:`~sqlite3.Connection` "
@@ -2844,7 +2864,7 @@ msgid ""
 "3.15. (Contributed by Erlend E. Aasland in :gh:`107948`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1930
+#: ../../whatsnew/3.13.rst:1946
 msgid ""
 "Deprecate passing name, number of arguments, and the callable as keyword "
 "arguments for :meth:`.Connection.create_function` and "
@@ -2853,7 +2873,7 @@ msgid ""
 ":gh:`108278`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1936
+#: ../../whatsnew/3.13.rst:1952
 msgid ""
 "Deprecate passing the callback callable by keyword for the "
 ":meth:`~sqlite3.Connection.set_authorizer`, "
@@ -2863,47 +2883,47 @@ msgid ""
 "(Contributed by Erlend E. Aasland in :gh:`108278`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1944
+#: ../../whatsnew/3.13.rst:1960
 #: ../../deprecations/pending-removal-in-3.16.rst:90
 msgid ":mod:`sys`:"
-msgstr ""
+msgstr ":mod:`sys`:"
 
-#: ../../whatsnew/3.13.rst:1946
+#: ../../whatsnew/3.13.rst:1962
 msgid ""
 "Deprecate the :func:`~sys._enablelegacywindowsfsencoding` function, to be "
 "removed in Python 3.16. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` "
 "environment variable instead. (Contributed by Inada Naoki in :gh:`73427`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1951
+#: ../../whatsnew/3.13.rst:1967
 #: ../../deprecations/pending-removal-in-3.16.rst:102
 msgid ":mod:`tarfile`:"
-msgstr ""
+msgstr ":mod:`tarfile`:"
 
-#: ../../whatsnew/3.13.rst:1953
+#: ../../whatsnew/3.13.rst:1969
 msgid ""
 "Deprecate the undocumented and unused :attr:`!TarFile.tarfile` attribute, to"
 " be removed in Python 3.16. (Contributed in :gh:`115256`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1957
+#: ../../whatsnew/3.13.rst:1973
 msgid ":mod:`traceback`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1959
+#: ../../whatsnew/3.13.rst:1975
 msgid ""
 "Deprecate the :attr:`.TracebackException.exc_type` attribute. Use "
 ":attr:`.TracebackException.exc_type_str` instead. (Contributed by Irit "
 "Katriel in :gh:`112332`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1963
+#: ../../whatsnew/3.13.rst:1979
 #: ../../deprecations/pending-removal-in-3.15.rst:80
 #: ../../deprecations/pending-removal-in-3.17.rst:4
 msgid ":mod:`typing`:"
-msgstr ""
+msgstr ":mod:`typing`:"
 
-#: ../../whatsnew/3.13.rst:1965
+#: ../../whatsnew/3.13.rst:1981
 msgid ""
 "Deprecate the undocumented keyword argument syntax for creating "
 ":class:`~typing.NamedTuple` classes (e.g. ``Point = NamedTuple(\"Point\", "
@@ -2912,7 +2932,7 @@ msgid ""
 ":gh:`105566`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1972
+#: ../../whatsnew/3.13.rst:1988
 msgid ""
 "Deprecate omitting the *fields* parameter when creating a "
 ":class:`~typing.NamedTuple` or :class:`typing.TypedDict` class, and "
@@ -2924,7 +2944,7 @@ msgid ""
 " (Contributed by Alex Waygood in :gh:`105566` and :gh:`105570`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1982
+#: ../../whatsnew/3.13.rst:1998
 msgid ""
 "Deprecate the :func:`typing.no_type_check_decorator` decorator function, to "
 "be removed in in Python 3.15. After eight years in the :mod:`typing` module,"
@@ -2932,7 +2952,7 @@ msgid ""
 "Waygood in :gh:`106309`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1988
+#: ../../whatsnew/3.13.rst:2004
 msgid ""
 "Deprecate :data:`typing.AnyStr`. In Python 3.16, it will be removed from "
 "``typing.__all__``, and a :exc:`DeprecationWarning` will be emitted at "
@@ -2941,12 +2961,12 @@ msgid ""
 " (Contributed by Michael The in :gh:`107116`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1996
-#: ../../deprecations/pending-removal-in-3.15.rst:93
+#: ../../whatsnew/3.13.rst:2012
+#: ../../deprecations/pending-removal-in-3.15.rst:100
 msgid ":mod:`wave`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:1998
+#: ../../whatsnew/3.13.rst:2014
 msgid ""
 "Deprecate the :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and "
 ":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` "
@@ -2957,7 +2977,7 @@ msgstr ""
 #: ../../deprecations/c-api-pending-removal-in-3.14.rst:2
 #: ../../deprecations/pending-removal-in-3.14.rst:2
 msgid "Pending removal in Python 3.14"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.14"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:4
 msgid ""
@@ -2975,23 +2995,23 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.14.rst:13
 msgid ":class:`!ast.Num`"
-msgstr ""
+msgstr ":class:`!ast.Num`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:14
 msgid ":class:`!ast.Str`"
-msgstr ""
+msgstr ":class:`!ast.Str`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:15
 msgid ":class:`!ast.Bytes`"
-msgstr ""
+msgstr ":class:`!ast.Bytes`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:16
 msgid ":class:`!ast.NameConstant`"
-msgstr ""
+msgstr ":class:`!ast.NameConstant`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:17
 msgid ":class:`!ast.Ellipsis`"
-msgstr ""
+msgstr ":class:`!ast.Ellipsis`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:19
 msgid ""
@@ -3002,7 +3022,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.14.rst:22
 #: ../../deprecations/pending-removal-in-3.16.rst:19
 msgid ":mod:`asyncio`:"
-msgstr ""
+msgstr ":mod:`asyncio`:"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:24
 msgid ""
@@ -3051,15 +3071,15 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.14.rst:52
 msgid ":class:`!importlib.abc.ResourceReader`"
-msgstr ""
+msgstr ":class:`!importlib.abc.ResourceReader`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:53
 msgid ":class:`!importlib.abc.Traversable`"
-msgstr ""
+msgstr ":class:`!importlib.abc.Traversable`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:54
 msgid ":class:`!importlib.abc.TraversableResources`"
-msgstr ""
+msgstr ":class:`!importlib.abc.TraversableResources`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:56
 msgid "Use :mod:`importlib.resources.abc` classes instead:"
@@ -3067,11 +3087,11 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.14.rst:58
 msgid ":class:`importlib.resources.abc.Traversable`"
-msgstr ""
+msgstr ":class:`importlib.resources.abc.Traversable`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:59
 msgid ":class:`importlib.resources.abc.TraversableResources`"
-msgstr ""
+msgstr ":class:`importlib.resources.abc.TraversableResources`"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:61
 msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)"
@@ -3112,19 +3132,19 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.14.rst:86
 msgid ":mod:`pty`:"
-msgstr ""
+msgstr ":mod:`pty`:"
 
 #: ../../deprecations/pending-removal-in-3.14.rst:88
 msgid "``master_open()``: use :func:`pty.openpty`."
-msgstr ""
+msgstr "``master_open()``: gunakan :func:`pty.openpty`."
 
 #: ../../deprecations/pending-removal-in-3.14.rst:89
 msgid "``slave_open()``: use :func:`pty.openpty`."
-msgstr ""
+msgstr "``slave_open()``: gunakan :func:`pty.openpty`."
 
 #: ../../deprecations/pending-removal-in-3.14.rst:93
 msgid ":data:`!version` and :data:`!version_info`."
-msgstr ""
+msgstr ":data:`!version` dan :data:`!version_info`."
 
 #: ../../deprecations/pending-removal-in-3.14.rst:95
 msgid ""
@@ -3231,7 +3251,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.15.rst:58
 #: ../../deprecations/pending-removal-in-3.16.rst:96
 msgid ":mod:`sysconfig`:"
-msgstr ""
+msgstr ":mod:`sysconfig`:"
 
 #: ../../deprecations/pending-removal-in-3.15.rst:60
 msgid ""
@@ -3273,12 +3293,21 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.15.rst:88
 msgid ""
+"When using the functional syntax of :class:`~typing.TypedDict`\\s, failing "
+"to pass a value to the *fields* parameter (``TD = TypedDict(\"TD\")``) or "
+"passing ``None`` (``TD = TypedDict(\"TD\", None)``) has been deprecated "
+"since Python 3.13. Use ``class TD(TypedDict): pass`` or ``TD = "
+"TypedDict(\"TD\", {})`` to create a TypedDict with zero field."
+msgstr ""
+
+#: ../../deprecations/pending-removal-in-3.15.rst:95
+msgid ""
 "The :func:`typing.no_type_check_decorator` decorator function has been "
 "deprecated since Python 3.13. After eight years in the :mod:`typing` module,"
 " it has yet to be supported by any major type checker."
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:95
+#: ../../deprecations/pending-removal-in-3.15.rst:102
 msgid ""
 "The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and "
 ":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` "
@@ -3286,11 +3315,11 @@ msgid ""
 "3.13."
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:100
+#: ../../deprecations/pending-removal-in-3.15.rst:107
 msgid ":mod:`zipimport`:"
 msgstr ""
 
-#: ../../deprecations/pending-removal-in-3.15.rst:102
+#: ../../deprecations/pending-removal-in-3.15.rst:109
 msgid ""
 ":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python "
 "3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed "
@@ -3299,7 +3328,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:2
 msgid "Pending removal in Python 3.16"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.16"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:6
 msgid ""
@@ -3331,27 +3360,27 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:29
 msgid ":class:`asyncio.AbstractEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.AbstractEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:30
 msgid ":class:`asyncio.DefaultEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.DefaultEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:31
 msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:32
 msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`"
-msgstr ""
+msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:33
 msgid ":func:`asyncio.get_event_loop_policy`"
-msgstr ""
+msgstr ":func:`asyncio.get_event_loop_policy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:34
 msgid ":func:`asyncio.set_event_loop_policy`"
-msgstr ""
+msgstr ":func:`asyncio.set_event_loop_policy`"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:36
 msgid ""
@@ -3380,7 +3409,7 @@ msgstr ""
 #: ../../deprecations/pending-removal-in-3.16.rst:50
 #: ../../deprecations/pending-removal-in-future.rst:16
 msgid ":mod:`builtins`:"
-msgstr ""
+msgstr ":mod:`builtins`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:52
 msgid ""
@@ -3393,7 +3422,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:59
 msgid ":mod:`functools`:"
-msgstr ""
+msgstr ":mod:`functools`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:61
 msgid ""
@@ -3404,7 +3433,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:64
 msgid ":mod:`logging`:"
-msgstr ""
+msgstr ":mod:`logging`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:66
 msgid ""
@@ -3423,7 +3452,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:78
 msgid ":mod:`shutil`:"
-msgstr ""
+msgstr ":mod:`shutil`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:80
 msgid ""
@@ -3434,7 +3463,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.16.rst:85
 msgid ":mod:`symtable`:"
-msgstr ""
+msgstr ":mod:`symtable`:"
 
 #: ../../deprecations/pending-removal-in-3.16.rst:87
 msgid ""
@@ -3464,7 +3493,7 @@ msgstr ""
 
 #: ../../deprecations/pending-removal-in-3.17.rst:2
 msgid "Pending removal in Python 3.17"
-msgstr ""
+msgstr "Penghapusan yang tertunda di Python 3.17"
 
 #: ../../deprecations/pending-removal-in-3.17.rst:6
 msgid ""
@@ -3840,11 +3869,11 @@ msgid ""
 ":func:`sys._clear_internal_caches` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2017
+#: ../../whatsnew/3.13.rst:2033
 msgid "CPython Bytecode Changes"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2019
+#: ../../whatsnew/3.13.rst:2035
 msgid ""
 "The oparg of :opcode:`YIELD_VALUE` is now ``1`` if the yield is part of a "
 "yield-from or await, and ``0`` otherwise. The oparg of :opcode:`RESUME` was "
@@ -3853,97 +3882,97 @@ msgid ""
 ":gh:`111354`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2027
+#: ../../whatsnew/3.13.rst:2043
 msgid "C API Changes"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2032
+#: ../../whatsnew/3.13.rst:2048
 msgid ""
 "Add the :ref:`PyMonitoring C API <c-api-monitoring>` for generating "
 ":pep:`669` monitoring events:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2035
+#: ../../whatsnew/3.13.rst:2051
 msgid ":c:type:`PyMonitoringState`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2036
+#: ../../whatsnew/3.13.rst:2052
 msgid ":c:func:`PyMonitoring_FirePyStartEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2037
+#: ../../whatsnew/3.13.rst:2053
 msgid ":c:func:`PyMonitoring_FirePyResumeEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2038
+#: ../../whatsnew/3.13.rst:2054
 msgid ":c:func:`PyMonitoring_FirePyReturnEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2039
+#: ../../whatsnew/3.13.rst:2055
 msgid ":c:func:`PyMonitoring_FirePyYieldEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2040
+#: ../../whatsnew/3.13.rst:2056
 msgid ":c:func:`PyMonitoring_FireCallEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2041
+#: ../../whatsnew/3.13.rst:2057
 msgid ":c:func:`PyMonitoring_FireLineEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2042
+#: ../../whatsnew/3.13.rst:2058
 msgid ":c:func:`PyMonitoring_FireJumpEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2043
+#: ../../whatsnew/3.13.rst:2059
 msgid "``PyMonitoring_FireBranchEvent``"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2044
+#: ../../whatsnew/3.13.rst:2060
 msgid ":c:func:`PyMonitoring_FireCReturnEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2045
+#: ../../whatsnew/3.13.rst:2061
 msgid ":c:func:`PyMonitoring_FirePyThrowEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2046
+#: ../../whatsnew/3.13.rst:2062
 msgid ":c:func:`PyMonitoring_FireRaiseEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2047
+#: ../../whatsnew/3.13.rst:2063
 msgid ":c:func:`PyMonitoring_FireCRaiseEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2048
+#: ../../whatsnew/3.13.rst:2064
 msgid ":c:func:`PyMonitoring_FireReraiseEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2049
+#: ../../whatsnew/3.13.rst:2065
 msgid ":c:func:`PyMonitoring_FireExceptionHandledEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2050
+#: ../../whatsnew/3.13.rst:2066
 msgid ":c:func:`PyMonitoring_FirePyUnwindEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2051
+#: ../../whatsnew/3.13.rst:2067
 msgid ":c:func:`PyMonitoring_FireStopIterationEvent`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2052
+#: ../../whatsnew/3.13.rst:2068
 msgid ":c:func:`PyMonitoring_EnterScope`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2053
+#: ../../whatsnew/3.13.rst:2069
 msgid ":c:func:`PyMonitoring_ExitScope`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2055
+#: ../../whatsnew/3.13.rst:2071
 msgid "(Contributed by Irit Katriel in :gh:`111997`)."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2057
+#: ../../whatsnew/3.13.rst:2073
 msgid ""
 "Add :c:type:`PyMutex`, a lightweight mutex that occupies a single byte, and "
 "the new :c:func:`PyMutex_Lock` and :c:func:`PyMutex_Unlock` functions. "
@@ -3951,52 +3980,52 @@ msgid ""
 "the operation needs to block. (Contributed by Sam Gross in :gh:`108724`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2063
+#: ../../whatsnew/3.13.rst:2079
 msgid ""
 "Add the :ref:`PyTime C API <c-api-time>` to provide access to system clocks:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2065
+#: ../../whatsnew/3.13.rst:2081
 msgid ":c:type:`PyTime_t`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2066
+#: ../../whatsnew/3.13.rst:2082
 msgid ":c:var:`PyTime_MIN` and :c:var:`PyTime_MAX`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2067
+#: ../../whatsnew/3.13.rst:2083
 msgid ":c:func:`PyTime_AsSecondsDouble`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2068
+#: ../../whatsnew/3.13.rst:2084
 msgid ":c:func:`PyTime_Monotonic`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2069
+#: ../../whatsnew/3.13.rst:2085
 msgid ":c:func:`PyTime_MonotonicRaw`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2070
+#: ../../whatsnew/3.13.rst:2086
 msgid ":c:func:`PyTime_PerfCounter`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2071
+#: ../../whatsnew/3.13.rst:2087
 msgid ":c:func:`PyTime_PerfCounterRaw`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2072
+#: ../../whatsnew/3.13.rst:2088
 msgid ":c:func:`PyTime_Time`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2073
+#: ../../whatsnew/3.13.rst:2089
 msgid ":c:func:`PyTime_TimeRaw`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2075
+#: ../../whatsnew/3.13.rst:2091
 msgid "(Contributed by Victor Stinner and Petr Viktorin in :gh:`110850`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2077
+#: ../../whatsnew/3.13.rst:2093
 msgid ""
 "Add the :c:func:`PyDict_ContainsString` function with the same behavior as "
 ":c:func:`PyDict_Contains`, but *key* is specified as a :c:expr:`const char*`"
@@ -4004,7 +4033,7 @@ msgid ""
 " by Victor Stinner in :gh:`108314`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2083
+#: ../../whatsnew/3.13.rst:2099
 msgid ""
 "Add the :c:func:`PyDict_GetItemRef` and :c:func:`PyDict_GetItemStringRef` "
 "functions, which behave similarly to :c:func:`PyDict_GetItemWithError`, but "
@@ -4013,7 +4042,7 @@ msgid ""
 " :c:func:`!PyErr_Occurred`. (Contributed by Victor Stinner in :gh:`106004`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2091
+#: ../../whatsnew/3.13.rst:2107
 msgid ""
 "Add the :c:func:`PyDict_SetDefaultRef` function, which behaves similarly to "
 ":c:func:`PyDict_SetDefault`, but returns a :term:`strong reference` instead "
@@ -4022,7 +4051,7 @@ msgid ""
 "dictionary. (Contributed by Sam Gross in :gh:`112066`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2099
+#: ../../whatsnew/3.13.rst:2115
 msgid ""
 "Add the :c:func:`PyDict_Pop` and :c:func:`PyDict_PopString` functions to "
 "remove a key from a dictionary and optionally return the removed value. This"
@@ -4031,7 +4060,7 @@ msgid ""
 "Behnel and Victor Stinner in :gh:`111262`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2106
+#: ../../whatsnew/3.13.rst:2122
 msgid ""
 "Add the :c:func:`PyMapping_GetOptionalItem` and "
 ":c:func:`PyMapping_GetOptionalItemString` functions as alternatives to "
@@ -4042,7 +4071,7 @@ msgid ""
 "(Contributed by Serhiy Storchaka in :gh:`106307`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2116
+#: ../../whatsnew/3.13.rst:2132
 msgid ""
 "Add the :c:func:`PyObject_GetOptionalAttr` and "
 ":c:func:`PyObject_GetOptionalAttrString` functions as alternatives to  "
@@ -4053,38 +4082,38 @@ msgid ""
 "failure. (Contributed by Serhiy Storchaka in :gh:`106521`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2126
+#: ../../whatsnew/3.13.rst:2142
 msgid ""
 "Add the :c:func:`PyErr_FormatUnraisable` function as an extension to "
 ":c:func:`PyErr_WriteUnraisable` that allows customizing the warning message."
 " (Contributed by Serhiy Storchaka in :gh:`108082`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2131
+#: ../../whatsnew/3.13.rst:2147
 msgid ""
 "Add new functions that return a :term:`strong reference` instead of a "
 ":term:`borrowed reference` for frame locals, globals, and builtins, as part "
 "of :ref:`PEP 667 <whatsnew313-locals-semantics>`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2135
+#: ../../whatsnew/3.13.rst:2151
 msgid ""
 ":c:func:`PyEval_GetFrameBuiltins` replaces :c:func:`PyEval_GetBuiltins`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2136
+#: ../../whatsnew/3.13.rst:2152
 msgid ":c:func:`PyEval_GetFrameGlobals` replaces :c:func:`PyEval_GetGlobals`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2137
+#: ../../whatsnew/3.13.rst:2153
 msgid ":c:func:`PyEval_GetFrameLocals` replaces :c:func:`PyEval_GetLocals`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2139
+#: ../../whatsnew/3.13.rst:2155
 msgid "(Contributed by Mark Shannon and Tian Gao in :gh:`74929`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2141
+#: ../../whatsnew/3.13.rst:2157
 msgid ""
 "Add the :c:func:`Py_GetConstant` and :c:func:`Py_GetConstantBorrowed` "
 "functions to get :term:`strong <strong reference>` or :term:`borrowed "
@@ -4093,7 +4122,7 @@ msgid ""
 "constant zero. (Contributed by Victor  Stinner in :gh:`115754`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2148
+#: ../../whatsnew/3.13.rst:2164
 msgid ""
 "Add the :c:func:`PyImport_AddModuleRef` function as a replacement for "
 ":c:func:`PyImport_AddModule` that returns a :term:`strong reference` instead"
@@ -4101,35 +4130,35 @@ msgid ""
 ":gh:`105922`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2153
+#: ../../whatsnew/3.13.rst:2169
 msgid ""
 "Add the :c:func:`Py_IsFinalizing` function to check whether the main Python "
 "interpreter is :term:`shutting down <interpreter shutdown>`. (Contributed by"
 " Victor Stinner in :gh:`108014`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2158
+#: ../../whatsnew/3.13.rst:2174
 msgid ""
 "Add the :c:func:`PyList_GetItemRef` function as a replacement for "
 ":c:func:`PyList_GetItem` that returns a :term:`strong reference` instead of "
 "a :term:`borrowed reference`. (Contributed by Sam Gross in :gh:`114329`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2163
+#: ../../whatsnew/3.13.rst:2179
 msgid ""
 "Add the :c:func:`PyList_Extend` and :c:func:`PyList_Clear` functions, "
 "mirroring the Python :meth:`!list.extend` and :meth:`!list.clear` methods. "
 "(Contributed by Victor Stinner in :gh:`111138`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2167
+#: ../../whatsnew/3.13.rst:2183
 msgid ""
 "Add the :c:func:`PyLong_AsInt` function. It behaves similarly to "
 ":c:func:`PyLong_AsLong`, but stores the result in a C :c:expr:`int` instead "
 "of a C :c:expr:`long`. (Contributed by Victor Stinner in :gh:`108014`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2172
+#: ../../whatsnew/3.13.rst:2188
 msgid ""
 "Add the :c:func:`PyLong_AsNativeBytes`, :c:func:`PyLong_FromNativeBytes`, "
 "and :c:func:`PyLong_FromUnsignedNativeBytes` functions to simplify "
@@ -4137,7 +4166,7 @@ msgid ""
 "(Contributed by Steve Dower in :gh:`111140`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2178
+#: ../../whatsnew/3.13.rst:2194
 msgid ""
 "Add :c:func:`PyModule_Add` function, which is similar to "
 ":c:func:`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but always"
@@ -4145,20 +4174,20 @@ msgid ""
 ":gh:`86493`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2183
+#: ../../whatsnew/3.13.rst:2199
 msgid ""
 "Add the :c:func:`PyObject_GenericHash` function that implements the default "
 "hashing function of a Python object. (Contributed by Serhiy Storchaka in "
 ":gh:`113024`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2187
+#: ../../whatsnew/3.13.rst:2203
 msgid ""
 "Add the :c:func:`Py_HashPointer` function to hash a raw pointer. "
 "(Contributed by Victor Stinner in :gh:`111545`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2190
+#: ../../whatsnew/3.13.rst:2206
 msgid ""
 "Add the :c:func:`PyObject_VisitManagedDict` and "
 ":c:func:`PyObject_ClearManagedDict` functions. which must be called by the "
@@ -4168,7 +4197,7 @@ msgid ""
 "by Victor Stinner in :gh:`107073`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2198
+#: ../../whatsnew/3.13.rst:2214
 msgid ""
 "Add the :c:func:`PyRefTracer_SetTracer` and :c:func:`PyRefTracer_GetTracer` "
 "functions, which enable tracking object creation and destruction in the same"
@@ -4176,14 +4205,14 @@ msgid ""
 "in :gh:`93502`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2204
+#: ../../whatsnew/3.13.rst:2220
 msgid ""
 "Add the :c:func:`PySys_AuditTuple` function as an alternative to "
 ":c:func:`PySys_Audit` that takes event arguments as a Python :class:`tuple` "
 "object. (Contributed by Victor Stinner in :gh:`85283`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2209
+#: ../../whatsnew/3.13.rst:2225
 msgid ""
 "Add the :c:func:`PyThreadState_GetUnchecked()` function as an alternative to"
 " :c:func:`PyThreadState_Get()` that doesn't kill the process with a fatal "
@@ -4191,7 +4220,7 @@ msgid ""
 "result is ``NULL``. (Contributed by Victor Stinner in :gh:`108867`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2215
+#: ../../whatsnew/3.13.rst:2231
 msgid ""
 "Add the :c:func:`PyType_GetFullyQualifiedName` function to get the type's "
 "fully qualified name. The module name is prepended if "
@@ -4200,14 +4229,14 @@ msgid ""
 ":gh:`111696`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2221
+#: ../../whatsnew/3.13.rst:2237
 msgid ""
 "Add the :c:func:`PyType_GetModuleName` function to get the type's module "
 "name. This is equivalent to getting the :attr:`type.__module__` attribute. "
 "(Contributed by Eric Snow and Victor Stinner in :gh:`111696`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2226
+#: ../../whatsnew/3.13.rst:2242
 msgid ""
 "Add the :c:func:`PyUnicode_EqualToUTF8AndSize` and "
 ":c:func:`PyUnicode_EqualToUTF8` functions to compare a Unicode object with a"
@@ -4216,7 +4245,7 @@ msgid ""
 "Serhiy Storchaka in :gh:`110289`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2233
+#: ../../whatsnew/3.13.rst:2249
 msgid ""
 "Add the :c:func:`PyWeakref_GetRef` function as an alternative to  "
 ":c:func:`PyWeakref_GetObject` that returns a :term:`strong reference` or "
@@ -4224,47 +4253,47 @@ msgid ""
 "in :gh:`105927`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2239
+#: ../../whatsnew/3.13.rst:2255
 msgid "Add fixed variants of functions which silently ignore errors:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2241
+#: ../../whatsnew/3.13.rst:2257
 msgid ""
 ":c:func:`PyObject_HasAttrWithError` replaces :c:func:`PyObject_HasAttr`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2242
+#: ../../whatsnew/3.13.rst:2258
 msgid ""
 ":c:func:`PyObject_HasAttrStringWithError` replaces "
 ":c:func:`PyObject_HasAttrString`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2244
+#: ../../whatsnew/3.13.rst:2260
 msgid ""
 ":c:func:`PyMapping_HasKeyWithError` replaces :c:func:`PyMapping_HasKey`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2245
+#: ../../whatsnew/3.13.rst:2261
 msgid ""
 ":c:func:`PyMapping_HasKeyStringWithError` replaces "
 ":c:func:`PyMapping_HasKeyString`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2248
+#: ../../whatsnew/3.13.rst:2264
 msgid ""
 "The new functions return ``-1`` for errors and the standard ``1`` for true "
 "and ``0`` for false."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2251
+#: ../../whatsnew/3.13.rst:2267
 msgid "(Contributed by Serhiy Storchaka in :gh:`108511`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2255
+#: ../../whatsnew/3.13.rst:2271
 msgid "Changed C APIs"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2257
+#: ../../whatsnew/3.13.rst:2273
 msgid ""
 "The *keywords* parameter of :c:func:`PyArg_ParseTupleAndKeywords` and "
 ":c:func:`PyArg_VaParseTupleAndKeywords` now has type :c:expr:`char * const "
@@ -4277,20 +4306,20 @@ msgid ""
 ":gh:`65210`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2269
+#: ../../whatsnew/3.13.rst:2285
 msgid ""
 ":c:func:`PyArg_ParseTupleAndKeywords` now supports non-ASCII keyword "
 "parameter names. (Contributed by Serhiy Storchaka in :gh:`110815`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2273
+#: ../../whatsnew/3.13.rst:2289
 msgid ""
 "The :c:func:`!PyCode_GetFirstFree` function is now unstable API and is now "
 "named :c:func:`PyUnstable_Code_GetFirstFree`. (Contributed by Bogdan "
 "Romanyuk in :gh:`115781`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2277
+#: ../../whatsnew/3.13.rst:2293
 msgid ""
 "The :c:func:`PyDict_GetItem`, :c:func:`PyDict_GetItemString`, "
 ":c:func:`PyMapping_HasKey`, :c:func:`PyMapping_HasKeyString`, "
@@ -4302,35 +4331,35 @@ msgid ""
 ":gh:`106672`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2286
+#: ../../whatsnew/3.13.rst:2302
 msgid ""
 "Add support for the ``%T``, ``%#T``, ``%N`` and ``%#N`` formats to "
 ":c:func:`PyUnicode_FromFormat`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2289
+#: ../../whatsnew/3.13.rst:2305
 msgid "``%T``: Get the fully qualified name of an object type"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2290
+#: ../../whatsnew/3.13.rst:2306
 msgid "``%#T``: As above, but use a colon as the separator"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2291
+#: ../../whatsnew/3.13.rst:2307
 msgid "``%N``: Get the fully qualified name of a type"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2292
+#: ../../whatsnew/3.13.rst:2308
 msgid "``%#N``: As above, but use a colon as the separator"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2294
+#: ../../whatsnew/3.13.rst:2310
 msgid ""
 "See :pep:`737` for more information. (Contributed by Victor Stinner in "
 ":gh:`111696`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2297
+#: ../../whatsnew/3.13.rst:2313
 msgid ""
 "You no longer have to define the ``PY_SSIZE_T_CLEAN`` macro before including"
 " :file:`Python.h` when using ``#`` formats in :ref:`format codes <arg-"
@@ -4339,7 +4368,7 @@ msgid ""
 ":gh:`104922`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2303
+#: ../../whatsnew/3.13.rst:2319
 msgid ""
 "If Python is built in :ref:`debug mode <debug-build>` or :option:`with "
 "assertions <--with-assertions>`, :c:func:`PyTuple_SET_ITEM` and "
@@ -4347,60 +4376,60 @@ msgid ""
 "(Contributed by Victor Stinner in :gh:`106168`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2311
+#: ../../whatsnew/3.13.rst:2327
 msgid "Limited C API Changes"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2313
+#: ../../whatsnew/3.13.rst:2329
 msgid "The following functions are now included in the Limited C API:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2315
+#: ../../whatsnew/3.13.rst:2331
 msgid ":c:func:`PyMem_RawMalloc`"
 msgstr ":c:func:`PyMem_RawMalloc`"
 
-#: ../../whatsnew/3.13.rst:2316
+#: ../../whatsnew/3.13.rst:2332
 msgid ":c:func:`PyMem_RawCalloc`"
 msgstr ":c:func:`PyMem_RawCalloc`"
 
-#: ../../whatsnew/3.13.rst:2317
+#: ../../whatsnew/3.13.rst:2333
 msgid ":c:func:`PyMem_RawRealloc`"
 msgstr ":c:func:`PyMem_RawRealloc`"
 
-#: ../../whatsnew/3.13.rst:2318
+#: ../../whatsnew/3.13.rst:2334
 msgid ":c:func:`PyMem_RawFree`"
 msgstr ":c:func:`PyMem_RawFree`"
 
-#: ../../whatsnew/3.13.rst:2319
+#: ../../whatsnew/3.13.rst:2335
 msgid ":c:func:`PySys_Audit`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2320
+#: ../../whatsnew/3.13.rst:2336
 msgid ":c:func:`PySys_AuditTuple`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2321
+#: ../../whatsnew/3.13.rst:2337
 msgid ":c:func:`PyType_GetModuleByDef`"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2323
+#: ../../whatsnew/3.13.rst:2339
 msgid ""
 "(Contributed by Victor Stinner in :gh:`85283`, :gh:`85283`, and "
 ":gh:`116936`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2325
+#: ../../whatsnew/3.13.rst:2341
 msgid ""
 "Python built with :option:`--with-trace-refs` (tracing references) now "
 "supports the :ref:`Limited API <limited-c-api>`. (Contributed by Victor "
 "Stinner in :gh:`108634`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2331
+#: ../../whatsnew/3.13.rst:2347
 msgid "Removed C APIs"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2333
+#: ../../whatsnew/3.13.rst:2349
 msgid ""
 "Remove several functions, macros, variables, etc with names prefixed by "
 "``_Py`` or ``_PY`` (which are considered private). If your project is "
@@ -4410,13 +4439,13 @@ msgid ""
 "Victor Stinner. (Contributed by Victor Stinner in :gh:`106320`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2341
+#: ../../whatsnew/3.13.rst:2357
 msgid ""
 "Remove old buffer protocols deprecated in Python 3.0. Use "
 ":ref:`bufferobjects` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2344
+#: ../../whatsnew/3.13.rst:2360
 msgid ""
 ":c:func:`!PyObject_CheckReadBuffer`: Use :c:func:`PyObject_CheckBuffer` to "
 "test whether the object supports the buffer protocol. Note that "
@@ -4425,13 +4454,13 @@ msgid ""
 " readable, see the next example of :c:func:`PyObject_GetBuffer`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2352
+#: ../../whatsnew/3.13.rst:2368
 msgid ""
 ":c:func:`!PyObject_AsCharBuffer`, :c:func:`!PyObject_AsReadBuffer`: Use "
 ":c:func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release` instead:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2355
+#: ../../whatsnew/3.13.rst:2371
 msgid ""
 "Py_buffer view;\n"
 "if (PyObject_GetBuffer(obj, &view, PyBUF_SIMPLE) < 0) {\n"
@@ -4442,13 +4471,13 @@ msgid ""
 "PyBuffer_Release(&view);"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2365
+#: ../../whatsnew/3.13.rst:2381
 msgid ""
 ":c:func:`!PyObject_AsWriteBuffer`: Use :c:func:`PyObject_GetBuffer` and "
 ":c:func:`PyBuffer_Release` instead:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2368
+#: ../../whatsnew/3.13.rst:2384
 msgid ""
 "Py_buffer view;\n"
 "if (PyObject_GetBuffer(obj, &view, PyBUF_WRITABLE) < 0) {\n"
@@ -4458,21 +4487,21 @@ msgid ""
 "PyBuffer_Release(&view);"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2377
+#: ../../whatsnew/3.13.rst:2393
 msgid "(Contributed by Inada Naoki in :gh:`85275`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2379
+#: ../../whatsnew/3.13.rst:2395
 msgid "Remove various functions deprecated in Python 3.9:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2381
+#: ../../whatsnew/3.13.rst:2397
 msgid ""
 ":c:func:`!PyEval_CallObject`, :c:func:`!PyEval_CallObjectWithKeywords`: Use "
 ":c:func:`PyObject_CallNoArgs` or :c:func:`PyObject_Call` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2386
+#: ../../whatsnew/3.13.rst:2402
 msgid ""
 "In :c:func:`PyObject_Call`, positional arguments must be a :class:`tuple` "
 "and must not be ``NULL``, and keyword arguments must be a :class:`dict` or "
@@ -4483,108 +4512,108 @@ msgid ""
 ":c:func:`PyTuple_New(0) <PyTuple_New>`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2396
+#: ../../whatsnew/3.13.rst:2412
 msgid ""
 ":c:func:`!PyEval_CallFunction`: Use :c:func:`PyObject_CallFunction` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2398
+#: ../../whatsnew/3.13.rst:2414
 msgid ""
 ":c:func:`!PyEval_CallMethod`: Use :c:func:`PyObject_CallMethod` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2400
+#: ../../whatsnew/3.13.rst:2416
 msgid ":c:func:`!PyCFunction_Call`: Use :c:func:`PyObject_Call` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2403
+#: ../../whatsnew/3.13.rst:2419
 msgid "(Contributed by Victor Stinner in :gh:`105107`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2405
+#: ../../whatsnew/3.13.rst:2421
 msgid ""
 "Remove the following old functions to configure the Python initialization, "
 "deprecated in Python 3.11:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2408
+#: ../../whatsnew/3.13.rst:2424
 msgid ""
 ":c:func:`!PySys_AddWarnOptionUnicode`: Use :c:member:`PyConfig.warnoptions` "
 "instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2410
+#: ../../whatsnew/3.13.rst:2426
 msgid ""
 ":c:func:`!PySys_AddWarnOption`: Use :c:member:`PyConfig.warnoptions` "
 "instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2412
+#: ../../whatsnew/3.13.rst:2428
 msgid ""
 ":c:func:`!PySys_AddXOption`: Use :c:member:`PyConfig.xoptions` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2414
+#: ../../whatsnew/3.13.rst:2430
 msgid ""
 ":c:func:`!PySys_HasWarnOptions`: Use :c:member:`PyConfig.xoptions` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2416
+#: ../../whatsnew/3.13.rst:2432
 msgid ""
 ":c:func:`!PySys_SetPath`: Set :c:member:`PyConfig.module_search_paths` "
 "instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2418
+#: ../../whatsnew/3.13.rst:2434
 msgid ""
 ":c:func:`!Py_SetPath`: Set :c:member:`PyConfig.module_search_paths` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2420
+#: ../../whatsnew/3.13.rst:2436
 msgid ""
 ":c:func:`!Py_SetStandardStreamEncoding`: Set "
 ":c:member:`PyConfig.stdio_encoding` instead, and set also maybe "
 ":c:member:`PyConfig.legacy_windows_stdio` (on Windows)."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2423
+#: ../../whatsnew/3.13.rst:2439
 msgid ""
 ":c:func:`!_Py_SetProgramFullPath`: Set :c:member:`PyConfig.executable` "
 "instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2426
+#: ../../whatsnew/3.13.rst:2442
 msgid ""
 "Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization "
 "Configuration <init-config>` instead (:pep:`587`), added to Python 3.8. "
 "(Contributed by Victor Stinner in :gh:`105145`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2430
+#: ../../whatsnew/3.13.rst:2446
 msgid ""
 "Remove :c:func:`!PyEval_AcquireLock` and :c:func:`!PyEval_ReleaseLock` "
 "functions, deprecated in Python 3.2. They didn't update the current thread "
 "state. They can be replaced with:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2435
+#: ../../whatsnew/3.13.rst:2451
 msgid ":c:func:`PyEval_SaveThread` and :c:func:`PyEval_RestoreThread`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2436
+#: ../../whatsnew/3.13.rst:2452
 msgid ""
 "low-level :c:func:`PyEval_AcquireThread` and :c:func:`PyEval_RestoreThread`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2437
+#: ../../whatsnew/3.13.rst:2453
 msgid "or :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2439
+#: ../../whatsnew/3.13.rst:2455
 msgid "(Contributed by Victor Stinner in :gh:`105182`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2441
+#: ../../whatsnew/3.13.rst:2457
 msgid ""
 "Remove the :c:func:`!PyEval_ThreadsInitialized` function, deprecated in "
 "Python 3.9. Since Python 3.7, :c:func:`!Py_Initialize` always creates the "
@@ -4593,7 +4622,7 @@ msgid ""
 "by Victor Stinner in :gh:`105182`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2448
+#: ../../whatsnew/3.13.rst:2464
 msgid ""
 "Remove the :c:func:`!_PyInterpreterState_Get` alias to "
 ":c:func:`PyInterpreterState_Get()` which was kept for backward compatibility"
@@ -4602,26 +4631,26 @@ msgid ""
 "Victor Stinner in :gh:`106320`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2455
+#: ../../whatsnew/3.13.rst:2471
 msgid ""
 "Remove the private :c:func:`!_PyObject_FastCall` function: use "
 ":c:func:`!PyObject_Vectorcall` which is available since Python 3.8 "
 "(:pep:`590`). (Contributed by Victor Stinner in :gh:`106023`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2460
+#: ../../whatsnew/3.13.rst:2476
 msgid ""
 "Remove the ``cpython/pytime.h`` header file, which only contained private "
 "functions. (Contributed by Victor Stinner in :gh:`106316`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2464
+#: ../../whatsnew/3.13.rst:2480
 msgid ""
 "Remove the undocumented ``PY_TIMEOUT_MAX`` constant from the limited C API. "
 "(Contributed by Victor Stinner in :gh:`110014`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2467
+#: ../../whatsnew/3.13.rst:2483
 msgid ""
 "Remove the old trashcan macros ``Py_TRASHCAN_SAFE_BEGIN`` and "
 "``Py_TRASHCAN_SAFE_END``. Replace both with the new macros "
@@ -4629,52 +4658,52 @@ msgid ""
 "in :gh:`105111`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2474
+#: ../../whatsnew/3.13.rst:2490
 msgid "Deprecated C APIs"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2476
+#: ../../whatsnew/3.13.rst:2492
 msgid "Deprecate old Python initialization functions:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2478
+#: ../../whatsnew/3.13.rst:2494
 #: ../../deprecations/c-api-pending-removal-in-3.15.rst:63
 msgid ""
 ":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and "
 ":data:`!warnings.filters` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2480
+#: ../../whatsnew/3.13.rst:2496
 msgid ":c:func:`Py_GetExecPrefix`: Get :data:`sys.exec_prefix` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2482
+#: ../../whatsnew/3.13.rst:2498
 msgid ":c:func:`Py_GetPath`: Get :data:`sys.path` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2484
+#: ../../whatsnew/3.13.rst:2500
 msgid ":c:func:`Py_GetPrefix`: Get :data:`sys.prefix` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2486
+#: ../../whatsnew/3.13.rst:2502
 msgid ":c:func:`Py_GetProgramFullPath`: Get :data:`sys.executable` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2488
+#: ../../whatsnew/3.13.rst:2504
 msgid ":c:func:`Py_GetProgramName`: Get :data:`sys.executable` instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2490
+#: ../../whatsnew/3.13.rst:2506
 msgid ""
 ":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the "
 ":envvar:`PYTHONHOME` environment variable instead."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2494
+#: ../../whatsnew/3.13.rst:2510
 msgid "(Contributed by Victor Stinner in :gh:`105145`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2496
+#: ../../whatsnew/3.13.rst:2512
 msgid ""
 ":term:`Soft deprecate <soft deprecated>` the :c:func:`PyEval_GetBuiltins`, "
 ":c:func:`PyEval_GetGlobals`, and :c:func:`PyEval_GetLocals` functions, which"
@@ -4682,14 +4711,14 @@ msgid ""
 ":pep:`667`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2502
+#: ../../whatsnew/3.13.rst:2518
 msgid ""
 "Deprecate the :c:func:`PyImport_ImportModuleNoBlock` function, which is just"
 " an alias to :c:func:`PyImport_ImportModule` since Python 3.3. (Contributed "
 "by Victor Stinner in :gh:`105396`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2506
+#: ../../whatsnew/3.13.rst:2522
 msgid ""
 ":term:`Soft deprecate <soft deprecated>` the :c:func:`PyModule_AddObject` "
 "function. It should be replaced with :c:func:`PyModule_Add` or "
@@ -4697,7 +4726,7 @@ msgid ""
 ":gh:`86493`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2512
+#: ../../whatsnew/3.13.rst:2528
 msgid ""
 "Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types and the "
 ":c:macro:`!Py_UNICODE_WIDE` define. Use the :c:type:`wchar_t` type directly "
@@ -4706,7 +4735,7 @@ msgid ""
 ":gh:`105156`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2519
+#: ../../whatsnew/3.13.rst:2535
 msgid ""
 "Deprecate the :c:func:`PyWeakref_GetObject` and "
 ":c:func:`PyWeakref_GET_OBJECT` functions, which return a :term:`borrowed "
@@ -5216,56 +5245,56 @@ msgstr ""
 msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2541
+#: ../../whatsnew/3.13.rst:2557
 msgid "Build Changes"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2543
+#: ../../whatsnew/3.13.rst:2559
 msgid ""
 "``arm64-apple-ios`` and ``arm64-apple-ios-simulator`` are both now :pep:`11`"
 " tier 3 platforms. (:ref:`PEP 730 <whatsnew313-platform-support>` written "
 "and implementation contributed by Russell Keith-Magee in :gh:`114099`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2548
+#: ../../whatsnew/3.13.rst:2564
 msgid ""
 "``aarch64-linux-android`` and ``x86_64-linux-android`` are both now "
 ":pep:`11` tier 3 platforms. (:ref:`PEP 738 <whatsnew313-platform-support>` "
 "written and implementation contributed by Malcolm Smith in :gh:`116622`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2553
+#: ../../whatsnew/3.13.rst:2569
 msgid ""
 "``wasm32-wasi`` is now a :pep:`11` tier 2 platform. (Contributed by Brett "
 "Cannon in :gh:`115192`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2556
+#: ../../whatsnew/3.13.rst:2572
 msgid ""
 "``wasm32-emscripten`` is no longer a :pep:`11` supported platform. "
 "(Contributed by Brett Cannon in :gh:`115192`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2559
+#: ../../whatsnew/3.13.rst:2575
 msgid ""
 "Building CPython now requires a compiler with support for the C11 atomic "
 "library, GCC built-in atomic functions, or MSVC interlocked intrinsics."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2562
+#: ../../whatsnew/3.13.rst:2578
 msgid ""
 "Autoconf 2.71 and aclocal 1.16.5 are now required to regenerate the "
 ":file:`configure` script. (Contributed by Christian Heimes in :gh:`89886` "
 "and by Victor Stinner in :gh:`112090`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2566
+#: ../../whatsnew/3.13.rst:2582
 msgid ""
 "SQLite 3.15.2 or newer is required to build the :mod:`sqlite3` extension "
 "module. (Contributed by Erlend Aasland in :gh:`105875`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2570
+#: ../../whatsnew/3.13.rst:2586
 msgid ""
 "CPython now bundles the `mimalloc library`_ by default. It is licensed under"
 " the MIT license; see :ref:`mimalloc license <mimalloc-license>`. The "
@@ -5273,14 +5302,14 @@ msgid ""
 "(Contributed by Dino Viehland in :gh:`109914`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2578
+#: ../../whatsnew/3.13.rst:2594
 msgid ""
 "The :file:`configure` option :option:`--with-system-libmpdec` now defaults "
 "to ``yes``. The bundled copy of ``libmpdecimal`` will be removed in Python "
 "3.15."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2582
+#: ../../whatsnew/3.13.rst:2598
 msgid ""
 "Python built with :file:`configure` :option:`--with-trace-refs` (tracing "
 "references) is now ABI compatible with the Python release build and "
@@ -5288,14 +5317,14 @@ msgid ""
 ":gh:`108634`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2587
+#: ../../whatsnew/3.13.rst:2603
 msgid ""
 "On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI "
 "flags.  For example, the free-threaded build generates ``python-3.13t.pc`` "
 "and the debug build generates ``python-3.13d.pc``."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2591
+#: ../../whatsnew/3.13.rst:2607
 msgid ""
 "The ``errno``, ``fcntl``, ``grp``, ``md5``, ``pwd``, ``resource``, "
 "``termios``, ``winsound``, ``_ctypes_test``, "
@@ -5305,27 +5334,27 @@ msgid ""
 " Stinner in :gh:`85283`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2600
+#: ../../whatsnew/3.13.rst:2616
 msgid "Porting to Python 3.13"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2602
+#: ../../whatsnew/3.13.rst:2618
 msgid ""
 "This section lists previously described changes and other bugfixes that may "
 "require changes to your code."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2606
+#: ../../whatsnew/3.13.rst:2622
 msgid "Changes in the Python API"
 msgstr "Perubahan pada API Python"
 
-#: ../../whatsnew/3.13.rst:2610
+#: ../../whatsnew/3.13.rst:2626
 msgid ""
 ":ref:`PEP 667 <whatsnew313-locals-semantics>` introduces several changes to "
 "the semantics of :func:`locals` and :attr:`f_locals <frame.f_locals>`:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2613
+#: ../../whatsnew/3.13.rst:2629
 msgid ""
 "Calling :func:`locals` in an :term:`optimized scope` now produces an "
 "independent snapshot on each call, and hence no longer implicitly updates "
@@ -5337,7 +5366,7 @@ msgid ""
 "scope. (Changed as part of :pep:`667`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2622
+#: ../../whatsnew/3.13.rst:2638
 msgid ""
 "Calling :func:`locals` from a comprehension at module or class scope "
 "(including via ``exec`` or ``eval``) once more behaves as if the "
@@ -5347,7 +5376,7 @@ msgid ""
 "implementing :pep:`709`. (Changed as part of :pep:`667`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2629
+#: ../../whatsnew/3.13.rst:2645
 msgid ""
 "Accessing :attr:`FrameType.f_locals <frame.f_locals>` in an :term:`optimized"
 " scope` now returns a write-through proxy rather than a snapshot that gets "
@@ -5356,7 +5385,7 @@ msgid ""
 "part of :pep:`667`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2635
+#: ../../whatsnew/3.13.rst:2651
 msgid ""
 ":class:`functools.partial` now emits a :exc:`FutureWarning` when used as a "
 "method. The behavior will change in future Python versions. Wrap it in "
@@ -5364,14 +5393,14 @@ msgid ""
 "by Serhiy Storchaka in :gh:`121027`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2641
+#: ../../whatsnew/3.13.rst:2657
 msgid ""
 "An :exc:`OSError` is now raised by :func:`getpass.getuser` for any failure "
 "to retrieve a username, instead of :exc:`ImportError` on non-Unix platforms "
 "or :exc:`KeyError` on Unix platforms where the password database is empty."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2646
+#: ../../whatsnew/3.13.rst:2662
 msgid ""
 "The value of the :attr:`!mode` attribute of :class:`gzip.GzipFile` is now a "
 "string (``'rb'`` or ``'wb'``) instead of an integer (``1`` or ``2``). The "
@@ -5380,13 +5409,13 @@ msgid ""
 " (Contributed by Serhiy Storchaka in :gh:`115961`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2652
+#: ../../whatsnew/3.13.rst:2668
 msgid ""
 ":class:`mailbox.Maildir` now ignores files with a leading dot (``.``). "
 "(Contributed by Zackery Spytz in :gh:`65559`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2655
+#: ../../whatsnew/3.13.rst:2671
 msgid ""
 ":meth:`pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` now return both "
 "files and directories if a pattern that ends with \"``**``\" is given, "
@@ -5394,25 +5423,25 @@ msgid ""
 "behavior and only match directories."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2660
+#: ../../whatsnew/3.13.rst:2676
 msgid ""
 "The :mod:`threading` module now expects the :mod:`!_thread` module to have "
 "an :func:`!_is_main_interpreter` function. This function takes no arguments "
 "and returns ``True`` if the current interpreter is the main interpreter."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2665
+#: ../../whatsnew/3.13.rst:2681
 msgid ""
 "Any library or application that provides a custom :mod:`!_thread` module "
 "must provide :func:`!_is_main_interpreter`, just like the module's other "
 "\"private\" attributes. (:gh:`112826`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2672
+#: ../../whatsnew/3.13.rst:2688
 msgid "Changes in the C API"
 msgstr "Perubahan dalam API C"
 
-#: ../../whatsnew/3.13.rst:2674
+#: ../../whatsnew/3.13.rst:2690
 msgid ""
 "``Python.h`` no longer includes the ``<ieeefp.h>`` standard header. It was "
 "included for the :c:func:`!finite` function which is now provided by the "
@@ -5421,7 +5450,7 @@ msgid ""
 ":gh:`108765`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2680
+#: ../../whatsnew/3.13.rst:2696
 msgid ""
 "``Python.h`` no longer includes these standard header files: ``<time.h>``, "
 "``<sys/select.h>`` and ``<sys/time.h>``. If needed, they should now be "
@@ -5432,7 +5461,7 @@ msgid ""
 "functions. (Contributed by Victor Stinner in :gh:`108765`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2688
+#: ../../whatsnew/3.13.rst:2704
 msgid ""
 "On Windows, ``Python.h`` no longer includes the ``<stddef.h>`` standard "
 "header file. If needed, it should now be included explicitly. For example, "
@@ -5442,7 +5471,7 @@ msgid ""
 "(Contributed by Victor Stinner in :gh:`108765`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2695
+#: ../../whatsnew/3.13.rst:2711
 msgid ""
 "If the :c:macro:`Py_LIMITED_API` macro is defined, "
 ":c:macro:`!Py_BUILD_CORE`, :c:macro:`!Py_BUILD_CORE_BUILTIN` and "
@@ -5450,18 +5479,18 @@ msgid ""
 " (Contributed by Victor Stinner in :gh:`85283`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2700
+#: ../../whatsnew/3.13.rst:2716
 msgid ""
 "The old trashcan macros ``Py_TRASHCAN_SAFE_BEGIN`` and "
 "``Py_TRASHCAN_SAFE_END`` were removed. They should be replaced by the new "
 "macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2704
+#: ../../whatsnew/3.13.rst:2720
 msgid "A ``tp_dealloc`` function that has the old macros, such as::"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2706
+#: ../../whatsnew/3.13.rst:2722
 msgid ""
 "static void\n"
 "mytype_dealloc(mytype *p)\n"
@@ -5473,11 +5502,11 @@ msgid ""
 "}"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2715
+#: ../../whatsnew/3.13.rst:2731
 msgid "should migrate to the new macros as follows::"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2717
+#: ../../whatsnew/3.13.rst:2733
 msgid ""
 "static void\n"
 "mytype_dealloc(mytype *p)\n"
@@ -5489,7 +5518,7 @@ msgid ""
 "}"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2726
+#: ../../whatsnew/3.13.rst:2742
 msgid ""
 "Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the "
 "deallocation function it is in. The new macros were added in Python 3.8 and "
@@ -5497,13 +5526,13 @@ msgid ""
 "in :gh:`105111`.)"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2733
+#: ../../whatsnew/3.13.rst:2749
 msgid ""
 ":ref:`PEP 667 <whatsnew313-locals-semantics>` introduces several changes to "
 "frame-related functions:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2736
+#: ../../whatsnew/3.13.rst:2752
 msgid ""
 "The effects of mutating the dictionary returned from "
 ":c:func:`PyEval_GetLocals` in an :term:`optimized scope` have changed. New "
@@ -5518,7 +5547,7 @@ msgid ""
 "notice on the function for details."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2749
+#: ../../whatsnew/3.13.rst:2765
 msgid ""
 "Calling :c:func:`PyFrame_GetLocals` in an :term:`optimized scope` now "
 "returns a write-through proxy rather than a snapshot that gets updated at "
@@ -5527,126 +5556,126 @@ msgid ""
 ":c:func:`PyEval_GetFrameLocals` API."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2756
+#: ../../whatsnew/3.13.rst:2772
 msgid ""
 ":c:func:`!PyFrame_FastToLocals` and :c:func:`!PyFrame_FastToLocalsWithError`"
 " no longer have any effect. Calling these functions has been redundant since"
 " Python 3.11, when :c:func:`PyFrame_GetLocals` was first introduced."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2761
+#: ../../whatsnew/3.13.rst:2777
 msgid ""
 ":c:func:`!PyFrame_LocalsToFast` no longer has any effect. Calling this "
 "function is redundant now that :c:func:`PyFrame_GetLocals` returns a write-"
 "through proxy for :term:`optimized scopes <optimized scope>`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2765
+#: ../../whatsnew/3.13.rst:2781
 msgid ""
 "Python 3.13 removed many private functions. Some of them can be replaced "
 "using these alternatives:"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2768
+#: ../../whatsnew/3.13.rst:2784
 msgid "``_PyDict_Pop()``: :c:func:`PyDict_Pop` or :c:func:`PyDict_PopString`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2769
+#: ../../whatsnew/3.13.rst:2785
 msgid "``_PyDict_GetItemWithError()``: :c:func:`PyDict_GetItemRef`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2770
+#: ../../whatsnew/3.13.rst:2786
 msgid "``_PyErr_WriteUnraisableMsg()``:  :c:func:`PyErr_FormatUnraisable`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2771
+#: ../../whatsnew/3.13.rst:2787
 msgid ""
 "``_PyEval_SetTrace()``: :c:func:`PyEval_SetTrace` or "
 ":c:func:`PyEval_SetTraceAllThreads`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2772
+#: ../../whatsnew/3.13.rst:2788
 msgid "``_PyList_Extend()``: :c:func:`PyList_Extend`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2773
+#: ../../whatsnew/3.13.rst:2789
 msgid "``_PyLong_AsInt()``: :c:func:`PyLong_AsInt`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2774
+#: ../../whatsnew/3.13.rst:2790
 msgid "``_PyMem_RawStrdup()``: ``strdup()``;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2775
+#: ../../whatsnew/3.13.rst:2791
 msgid "``_PyMem_Strdup()``: ``strdup()``;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2776
+#: ../../whatsnew/3.13.rst:2792
 msgid "``_PyObject_ClearManagedDict()``: :c:func:`PyObject_ClearManagedDict`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2777
+#: ../../whatsnew/3.13.rst:2793
 msgid "``_PyObject_VisitManagedDict()``: :c:func:`PyObject_VisitManagedDict`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2778
+#: ../../whatsnew/3.13.rst:2794
 msgid ""
 "``_PyThreadState_UncheckedGet()``: :c:func:`PyThreadState_GetUnchecked()`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2779
+#: ../../whatsnew/3.13.rst:2795
 msgid "``_PyTime_AsSecondsDouble()``: :c:func:`PyTime_AsSecondsDouble`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2780
+#: ../../whatsnew/3.13.rst:2796
 msgid ""
 "``_PyTime_GetMonotonicClock()``: :c:func:`PyTime_Monotonic` or "
 ":c:func:`PyTime_MonotonicRaw`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2781
+#: ../../whatsnew/3.13.rst:2797
 msgid ""
 "``_PyTime_GetPerfCounter()``: :c:func:`PyTime_PerfCounter` or "
 ":c:func:`PyTime_PerfCounterRaw`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2782
+#: ../../whatsnew/3.13.rst:2798
 msgid ""
 "``_PyTime_GetSystemClock()``: :c:func:`PyTime_Time` or "
 ":c:func:`PyTime_TimeRaw`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2783
+#: ../../whatsnew/3.13.rst:2799
 msgid "``_PyTime_MAX``: :c:var:`PyTime_MAX`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2784
+#: ../../whatsnew/3.13.rst:2800
 msgid "``_PyTime_MIN``: :c:var:`PyTime_MIN`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2785
+#: ../../whatsnew/3.13.rst:2801
 msgid "``_PyTime_t``: :c:type:`PyTime_t`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2786
+#: ../../whatsnew/3.13.rst:2802
 msgid "``_Py_HashPointer()``: :c:func:`Py_HashPointer`;"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2787
+#: ../../whatsnew/3.13.rst:2803
 msgid "``_Py_IsFinalizing()``: :c:func:`Py_IsFinalizing`."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2789
+#: ../../whatsnew/3.13.rst:2805
 msgid ""
 "The `pythoncapi-compat project`_ can be used to get most of these new "
 "functions on Python 3.12 and older."
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2793
+#: ../../whatsnew/3.13.rst:2809
 msgid "Regression Test Changes"
 msgstr ""
 
-#: ../../whatsnew/3.13.rst:2795
+#: ../../whatsnew/3.13.rst:2811
 msgid ""
 "Python built with :file:`configure` :option:`--with-pydebug` now supports a "
 ":option:`-X presite=package.module <-X>` command-line option. If used, it "