From 0fb18b02c8ad56299d6a2910be0bab8ad601ef24 Mon Sep 17 00:00:00 2001
From: Thomas Wouters <thomas@python.org>
Date: Mon, 2 Oct 2023 13:44:36 +0200
Subject: Python 3.12.0

---
 Include/patchlevel.h                               |   6 +-
 Lib/pydoc_data/topics.py                           | 110 ++++++++++-----------
 Misc/NEWS.d/3.12.0.rst                             |  74 ++++++++++++++
 .../2023-09-20-23-04-15.gh-issue-109627.xxe7De.rst |   2 -
 .../2023-09-22-13-38-17.gh-issue-109719.fx5OTz.rst |   1 -
 .../2023-09-25-14-28-14.gh-issue-109823.kbVTKF.rst |   2 -
 .../2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst |   1 -
 .../2023-09-28-18-08-02.gh-issue-110045.0YIGKv.rst |   2 -
 .../2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst |   2 -
 .../2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst |   1 -
 .../2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst |   1 -
 README.rst                                         |   4 +-
 12 files changed, 134 insertions(+), 72 deletions(-)
 create mode 100644 Misc/NEWS.d/3.12.0.rst
 delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2023-09-20-23-04-15.gh-issue-109627.xxe7De.rst
 delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2023-09-22-13-38-17.gh-issue-109719.fx5OTz.rst
 delete mode 100644 Misc/NEWS.d/next/Core and Builtins/2023-09-25-14-28-14.gh-issue-109823.kbVTKF.rst
 delete mode 100644 Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst
 delete mode 100644 Misc/NEWS.d/next/Library/2023-09-28-18-08-02.gh-issue-110045.0YIGKv.rst
 delete mode 100644 Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst
 delete mode 100644 Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst
 delete mode 100644 Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst

diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index d962d24..bb45986 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -19,11 +19,11 @@
 #define PY_MAJOR_VERSION        3
 #define PY_MINOR_VERSION        12
 #define PY_MICRO_VERSION        0
-#define PY_RELEASE_LEVEL        PY_RELEASE_LEVEL_GAMMA
-#define PY_RELEASE_SERIAL       3
+#define PY_RELEASE_LEVEL        PY_RELEASE_LEVEL_FINAL
+#define PY_RELEASE_SERIAL       0
 
 /* Version as a string */
-#define PY_VERSION              "3.12.0rc3+"
+#define PY_VERSION              "3.12.0"
 /*--end constants--*/
 
 /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index ca92aed..28a5e06 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Sep 18 21:47:37 2023
+# Autogenerated by Sphinx on Mon Oct  2 13:45:14 2023
 # as part of the release process.
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
@@ -13016,71 +13016,71 @@ topics = {'assert': 'The "assert" statement\n'
             'those\n'
             'used by Standard C.  The recognized escape sequences are:\n'
             '\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| Escape Sequence   | Meaning                           | Notes   '
-            '|\n'
-            '|===================|===================================|=========|\n'
-            '| "\\"<newline>      | Backslash and newline ignored     | '
-            '(1)     |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\\\"              | Backslash ("\\")                   '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| Escape Sequence           | Meaning                           | '
+            'Notes   |\n'
+            '|===========================|===================================|=========|\n'
+            '| "\\"<newline>              | Backslash and newline ignored     '
+            '| (1)     |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\\\"                      | Backslash '
+            '("\\")                   |         |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\\'"                      | Single quote '
+            '("\'")                |         |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\""                      | Double quote (""")                '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\\'"              | Single quote ("\'")                '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\a"                      | ASCII Bell (BEL)                  '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\""              | Double quote (""")                '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\b"                      | ASCII Backspace (BS)              '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\a"              | ASCII Bell (BEL)                  '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\f"                      | ASCII Formfeed (FF)               '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\b"              | ASCII Backspace (BS)              '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\n"                      | ASCII Linefeed (LF)               '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\f"              | ASCII Formfeed (FF)               '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\r"                      | ASCII Carriage Return (CR)        '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\n"              | ASCII Linefeed (LF)               '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\t"                      | ASCII Horizontal Tab (TAB)        '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\r"              | ASCII Carriage Return (CR)        '
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\v"                      | ASCII Vertical Tab (VT)           '
             '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\t"              | ASCII Horizontal Tab (TAB)        '
-            '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\v"              | ASCII Vertical Tab (VT)           '
-            '|         |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\ooo"            | Character with octal value *ooo*  | '
-            '(2,4)   |\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\xhh"            | Character with hex value *hh*     | '
-            '(3,4)   |\n'
-            '+-------------------+-----------------------------------+---------+\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\*ooo*"                  | Character with octal value *ooo*  '
+            '| (2,4)   |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\x*hh*"                  | Character with hex value *hh*     '
+            '| (3,4)   |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
             '\n'
             'Escape sequences only recognized in string literals are:\n'
             '\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| Escape Sequence   | Meaning                           | Notes   '
-            '|\n'
-            '|===================|===================================|=========|\n'
-            '| "\\N{name}"        | Character named *name* in the     | '
-            '(5)     |\n'
-            '|                   | Unicode database                  |         '
-            '|\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\uxxxx"          | Character with 16-bit hex value   | '
-            '(6)     |\n'
-            '|                   | *xxxx*                            |         '
-            '|\n'
-            '+-------------------+-----------------------------------+---------+\n'
-            '| "\\Uxxxxxxxx"      | Character with 32-bit hex value   | '
-            '(7)     |\n'
-            '|                   | *xxxxxxxx*                        |         '
-            '|\n'
-            '+-------------------+-----------------------------------+---------+\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| Escape Sequence           | Meaning                           | '
+            'Notes   |\n'
+            '|===========================|===================================|=========|\n'
+            '| "\\N{*name*}"              | Character named *name* in the     '
+            '| (5)     |\n'
+            '|                           | Unicode database                  '
+            '|         |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\u*xxxx*"                | Character with 16-bit hex value   '
+            '| (6)     |\n'
+            '|                           | *xxxx*                            '
+            '|         |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
+            '| "\\U*xxxxxxxx*"            | Character with 32-bit hex value   '
+            '| (7)     |\n'
+            '|                           | *xxxxxxxx*                        '
+            '|         |\n'
+            '+---------------------------+-----------------------------------+---------+\n'
             '\n'
             'Notes:\n'
             '\n'
diff --git a/Misc/NEWS.d/3.12.0.rst b/Misc/NEWS.d/3.12.0.rst
new file mode 100644
index 0000000..70af590
--- /dev/null
+++ b/Misc/NEWS.d/3.12.0.rst
@@ -0,0 +1,74 @@
+.. date: 2023-09-25-14-28-14
+.. gh-issue: 109823
+.. nonce: kbVTKF
+.. release date: 2023-10-02
+.. section: Core and Builtins
+
+Fix bug where compiler does not adjust labels when removing an empty basic
+block which is a jump target.
+
+..
+
+.. date: 2023-09-22-13-38-17
+.. gh-issue: 109719
+.. nonce: fx5OTz
+.. section: Core and Builtins
+
+Fix missing jump target labels when compiler reorders cold/warm blocks.
+
+..
+
+.. date: 2023-09-20-23-04-15
+.. gh-issue: 109627
+.. nonce: xxe7De
+.. section: Core and Builtins
+
+Fix bug where the compiler does not assign a new jump target label to a
+duplicated small exit block.
+
+..
+
+.. date: 2023-09-28-18-08-02
+.. gh-issue: 110045
+.. nonce: 0YIGKv
+.. section: Library
+
+Update the :mod:`symtable` module to support the new scopes introduced by
+:pep:`695`.
+
+..
+
+.. date: 2023-09-10-02-39-06
+.. gh-issue: 109209
+.. nonce: 0LBewo
+.. section: Documentation
+
+The minimum Sphinx version required for the documentation is now 4.2.
+
+..
+
+.. date: 2023-09-28-17-09-23
+.. gh-issue: 109991
+.. nonce: CIMftz
+.. section: Windows
+
+Update Windows build to use OpenSSL 3.0.11.
+
+..
+
+.. date: 2023-09-27-22-35-22
+.. gh-issue: 109991
+.. nonce: -xJzaF
+.. section: macOS
+
+Update macOS installer to use OpenSSL 3.0.11.
+
+..
+
+.. date: 2023-09-27-23-31-54
+.. gh-issue: 109991
+.. nonce: sUUYY8
+.. section: Tools/Demos
+
+Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use
+1.1.1w, 3.0.11, and 3.1.3.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-20-23-04-15.gh-issue-109627.xxe7De.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-20-23-04-15.gh-issue-109627.xxe7De.rst
deleted file mode 100644
index 397d76e..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-20-23-04-15.gh-issue-109627.xxe7De.rst	
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix bug where the compiler does not assign a new jump target label to a
-duplicated small exit block.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-22-13-38-17.gh-issue-109719.fx5OTz.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-22-13-38-17.gh-issue-109719.fx5OTz.rst
deleted file mode 100644
index 83be54c..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-22-13-38-17.gh-issue-109719.fx5OTz.rst	
+++ /dev/null
@@ -1 +0,0 @@
-Fix missing jump target labels when compiler reorders cold/warm blocks.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-09-25-14-28-14.gh-issue-109823.kbVTKF.rst b/Misc/NEWS.d/next/Core and Builtins/2023-09-25-14-28-14.gh-issue-109823.kbVTKF.rst
deleted file mode 100644
index 793c89f..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2023-09-25-14-28-14.gh-issue-109823.kbVTKF.rst	
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix bug where compiler does not adjust labels when removing an empty basic
-block which is a jump target.
diff --git a/Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst b/Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst
deleted file mode 100644
index 79cc0b7..0000000
--- a/Misc/NEWS.d/next/Documentation/2023-09-10-02-39-06.gh-issue-109209.0LBewo.rst
+++ /dev/null
@@ -1 +0,0 @@
-The minimum Sphinx version required for the documentation is now 4.2.
diff --git a/Misc/NEWS.d/next/Library/2023-09-28-18-08-02.gh-issue-110045.0YIGKv.rst b/Misc/NEWS.d/next/Library/2023-09-28-18-08-02.gh-issue-110045.0YIGKv.rst
deleted file mode 100644
index 44a6df1..0000000
--- a/Misc/NEWS.d/next/Library/2023-09-28-18-08-02.gh-issue-110045.0YIGKv.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Update the :mod:`symtable` module to support the new scopes introduced by
-:pep:`695`.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst b/Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst
deleted file mode 100644
index 13c1163..0000000
--- a/Misc/NEWS.d/next/Tools-Demos/2023-09-27-23-31-54.gh-issue-109991.sUUYY8.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use
-1.1.1w, 3.0.11, and 3.1.3.
diff --git a/Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst b/Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst
deleted file mode 100644
index ee988f9..0000000
--- a/Misc/NEWS.d/next/Windows/2023-09-28-17-09-23.gh-issue-109991.CIMftz.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update Windows build to use OpenSSL 3.0.11.
diff --git a/Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst b/Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst
deleted file mode 100644
index 8d36998..0000000
--- a/Misc/NEWS.d/next/macOS/2023-09-27-22-35-22.gh-issue-109991.-xJzaF.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer to use OpenSSL 3.0.11.
diff --git a/README.rst b/README.rst
index 5390d2a..979ca01 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-This is Python version 3.12.0 release candidate 3
-=================================================
+This is Python version 3.12.0
+=============================
 
 .. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
    :alt: CPython build status on GitHub Actions
-- 
cgit v0.12

