From 05c5549224fba2906c5e33e2aee5dec6bb0b825b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Langa?= <lukasz@langa.pl>
Date: Tue, 8 Apr 2025 17:21:55 +0200
Subject: Python 3.9.22

---
 Include/patchlevel.h                               |  4 +-
 Misc/NEWS.d/3.9.22.rst                             | 70 ++++++++++++++++++++++
 .../2024-07-19-12-22-48.gh-issue-121277.wF_zKd.rst |  2 -
 .../2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst |  7 ---
 .../2024-08-06-12-27-34.gh-issue-121284.8rwPxe.rst |  7 ---
 .../2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst |  4 --
 .../2025-03-14-23-28-39.gh-issue-131261.0aB6nM.rst |  1 -
 .../2025-04-07-04-11-08.gh-issue-131809.4MBDuy.rst |  1 -
 README.rst                                         |  4 +-
 9 files changed, 74 insertions(+), 26 deletions(-)
 create mode 100644 Misc/NEWS.d/3.9.22.rst
 delete mode 100644 Misc/NEWS.d/next/Documentation/2024-07-19-12-22-48.gh-issue-121277.wF_zKd.rst
 delete mode 100644 Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst
 delete mode 100644 Misc/NEWS.d/next/Security/2024-08-06-12-27-34.gh-issue-121284.8rwPxe.rst
 delete mode 100644 Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst
 delete mode 100644 Misc/NEWS.d/next/Security/2025-03-14-23-28-39.gh-issue-131261.0aB6nM.rst
 delete mode 100644 Misc/NEWS.d/next/Security/2025-04-07-04-11-08.gh-issue-131809.4MBDuy.rst

diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index 601b951..cab5ea0 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -18,12 +18,12 @@
 /*--start constants--*/
 #define PY_MAJOR_VERSION        3
 #define PY_MINOR_VERSION        9
-#define PY_MICRO_VERSION        21
+#define PY_MICRO_VERSION        22
 #define PY_RELEASE_LEVEL        PY_RELEASE_LEVEL_FINAL
 #define PY_RELEASE_SERIAL       0
 
 /* Version as a string */
-#define PY_VERSION              "3.9.21+"
+#define PY_VERSION              "3.9.22"
 /*--end constants--*/
 
 /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
diff --git a/Misc/NEWS.d/3.9.22.rst b/Misc/NEWS.d/3.9.22.rst
new file mode 100644
index 0000000..5a2a026
--- /dev/null
+++ b/Misc/NEWS.d/3.9.22.rst
@@ -0,0 +1,70 @@
+.. date: 2025-04-07-04-11-08
+.. gh-issue: 131809
+.. nonce: 4MBDuy
+.. release date: 2025-04-08
+.. section: Security
+
+Update bundled libexpat to 2.7.1
+
+..
+
+.. date: 2025-03-14-23-28-39
+.. gh-issue: 131261
+.. nonce: 0aB6nM
+.. section: Security
+
+Upgrade to libexpat 2.7.0
+
+..
+
+.. date: 2025-01-28-14-08-03
+.. gh-issue: 105704
+.. nonce: EnhHxu
+.. section: Security
+
+When using :func:`urllib.parse.urlsplit` and :func:`urllib.parse.urlparse`
+host parsing would not reject domain names containing square brackets (``[``
+and ``]``). Square brackets are only valid for IPv6 and IPvFuture hosts
+according to `RFC 3986 Section 3.2.2
+<https://www.rfc-editor.org/rfc/rfc3986#section-3.2.2>`__.
+
+..
+
+.. date: 2024-08-06-12-27-34
+.. gh-issue: 121284
+.. nonce: 8rwPxe
+.. section: Security
+
+Fix bug in the folding of rfc2047 encoded-words when flattening an email
+message using a modern email policy. Previously when an encoded-word was too
+long for a line, it would be decoded, split across lines, and re-encoded.
+But commas and other special characters in the original text could be left
+unencoded and unquoted. This could theoretically be used to spoof header
+lines using a carefully constructed encoded-word if the resulting rendered
+email was transmitted or re-parsed.
+
+..
+
+.. date: 2024-05-24-21-00-52
+.. gh-issue: 119511
+.. nonce: jKrXQ8
+.. section: Security
+
+Fix a potential denial of service in the :mod:`imaplib` module. When
+connecting to a malicious server, it could cause an arbitrary amount of
+memory to be allocated. On many systems this is harmless as unused virtual
+memory is only a mapping, but if this hit a virtual address size limit it
+could lead to a :exc:`MemoryError` or other process crash. On unusual
+systems or builds where all allocated memory is touched and backed by actual
+ram or storage it could've consumed resources doing so until similarly
+crashing.
+
+..
+
+.. date: 2024-07-19-12-22-48
+.. gh-issue: 121277
+.. nonce: wF_zKd
+.. section: Documentation
+
+Writers of CPython's documentation can now use ``next`` as the version for
+the ``versionchanged``, ``versionadded``, ``deprecated`` directives.
diff --git a/Misc/NEWS.d/next/Documentation/2024-07-19-12-22-48.gh-issue-121277.wF_zKd.rst b/Misc/NEWS.d/next/Documentation/2024-07-19-12-22-48.gh-issue-121277.wF_zKd.rst
deleted file mode 100644
index 60f75ae..0000000
--- a/Misc/NEWS.d/next/Documentation/2024-07-19-12-22-48.gh-issue-121277.wF_zKd.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Writers of CPython's documentation can now use ``next`` as the version for
-the ``versionchanged``, ``versionadded``, ``deprecated`` directives.
diff --git a/Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst b/Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst
deleted file mode 100644
index f7b4031..0000000
--- a/Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Fix a potential denial of service in the :mod:`imaplib` module. When connecting
-to a malicious server, it could cause an arbitrary amount of memory to be
-allocated. On many systems this is harmless as unused virtual memory is only a
-mapping, but if this hit a virtual address size limit it could lead to a
-:exc:`MemoryError` or other process crash. On unusual systems or builds where
-all allocated memory is touched and backed by actual ram or storage it could've
-consumed resources doing so until similarly crashing.
diff --git a/Misc/NEWS.d/next/Security/2024-08-06-12-27-34.gh-issue-121284.8rwPxe.rst b/Misc/NEWS.d/next/Security/2024-08-06-12-27-34.gh-issue-121284.8rwPxe.rst
deleted file mode 100644
index 923e911..0000000
--- a/Misc/NEWS.d/next/Security/2024-08-06-12-27-34.gh-issue-121284.8rwPxe.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-Fix bug in the folding of rfc2047 encoded-words when flattening an email message
-using a modern email policy. Previously when an encoded-word was too long
-for a line, it would be decoded, split across lines, and re-encoded. But commas
-and other special characters in the original text could be left unencoded and
-unquoted. This could theoretically be used to spoof header lines using
-a carefully constructed encoded-word if the resulting rendered email was
-transmitted or re-parsed.
diff --git a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst
deleted file mode 100644
index bff1bc6..0000000
--- a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-When using :func:`urllib.parse.urlsplit` and :func:`urllib.parse.urlparse` host
-parsing would not reject domain names containing square brackets (``[`` and
-``]``). Square brackets are only valid for IPv6 and IPvFuture hosts according to
-`RFC 3986 Section 3.2.2 <https://www.rfc-editor.org/rfc/rfc3986#section-3.2.2>`__.
diff --git a/Misc/NEWS.d/next/Security/2025-03-14-23-28-39.gh-issue-131261.0aB6nM.rst b/Misc/NEWS.d/next/Security/2025-03-14-23-28-39.gh-issue-131261.0aB6nM.rst
deleted file mode 100644
index fa56e7a..0000000
--- a/Misc/NEWS.d/next/Security/2025-03-14-23-28-39.gh-issue-131261.0aB6nM.rst
+++ /dev/null
@@ -1 +0,0 @@
-Upgrade to libexpat 2.7.0
diff --git a/Misc/NEWS.d/next/Security/2025-04-07-04-11-08.gh-issue-131809.4MBDuy.rst b/Misc/NEWS.d/next/Security/2025-04-07-04-11-08.gh-issue-131809.4MBDuy.rst
deleted file mode 100644
index 1421b4d..0000000
--- a/Misc/NEWS.d/next/Security/2025-04-07-04-11-08.gh-issue-131809.4MBDuy.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update bundled libexpat to 2.7.1
diff --git a/README.rst b/README.rst
index 8a8ec2c..9f27c5f 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-This is Python version 3.9.21
+This is Python version 3.9.22
 =============================
 
 .. image:: https://travis-ci.org/python/cpython.svg?branch=3.9
@@ -267,4 +267,4 @@ This Python distribution contains *no* GNU General Public License (GPL) code,
 so it may be used in proprietary projects.  There are interfaces to some GNU
 code but these are entirely optional.
 
-All trademarks referenced herein are property of their respective holders.
+All trademarks referenced herein are property of their respective holders.
\ No newline at end of file
-- 
cgit v0.12

