chore: add new Python toolchains from indygreg (#1461)

Updates versions:
* 3.8.15  -> 3.8.18
* 3.11.4  -> 3.11.6

Adds versions: 3.8.18, 3.11.6, 3.12.0

Fixes #1396
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c421a9..512d820 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,10 +22,10 @@
 ### Changed
 
 * Python version patch level bumps:
-  * 3.8.15  -> 3.8.17
+  * 3.8.15  -> 3.8.18
   * 3.9.17  -> 3.9.18
   * 3.10.12 -> 3.10.13
-  * 3.11.4  -> 3.11.5
+  * 3.11.4  -> 3.11.6
 
 * (deps) Upgrade rules_go 0.39.1 -> 0.41.0; this is so gazelle integration works with upcoming Bazel versions
 
@@ -47,12 +47,16 @@
   [`py_console_script_binary`](./docs/py_console_script_binary.md), which
   allows adding custom dependencies to a package's entry points and customizing
   the `py_binary` rule used to build it.
-* New Python versions available: `3.8.17`, `3.9.18`, `3.10.13`, `3.11.5` using
+
+* New Python versions available: `3.8.17`, `3.11.5` using
   https://github.com/indygreg/python-build-standalone/releases/tag/20230826.
+
 * (gazelle) New `# gazelle:python_generation_mode file` directive to support
   generating one `py_library` per file.
+
 * (python_repository) Support `netrc` and `auth_patterns` attributes to enable
   authentication against private HTTP hosts serving Python toolchain binaries.
+
 * `//python:packaging_bzl` added, a `bzl_library` for the Starlark
   files `//python:packaging.bzl` requires.
 * (py_wheel) Added the `incompatible_normalize_name` feature flag to
@@ -64,6 +68,10 @@
   in them), in accordance with PEP440. Defaults to `False` for the
   time being.
 
+* New Python versions available: `3.8.18`, `3.9.18`, `3.10.13`, `3.11.6`, `3.12.0` using
+  https://github.com/indygreg/python-build-standalone/releases/tag/20231002.
+  `3.12.0` support is considered beta and may have issues.
+
 ### Removed
 
 * (bzlmod) The `entry_point` macro is no longer supported and has been removed
diff --git a/WORKSPACE b/WORKSPACE
index 6e1e5fc..ad32013 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -30,7 +30,7 @@
 
 python_register_multi_toolchains(
     name = "python",
-    default_version = MINOR_MAPPING.values()[-1],
+    default_version = MINOR_MAPPING.values()[-2],
     python_versions = MINOR_MAPPING.values(),
 )
 
@@ -72,7 +72,7 @@
 # Install twine for our own runfiles wheel publishing.
 # Eventually we might want to install twine automatically for users too, see:
 # https://github.com/bazelbuild/rules_python/issues/1016.
-load("@python//3.11.5:defs.bzl", "interpreter")
+load("@python//3.11.6:defs.bzl", "interpreter")
 load("@rules_python//python:pip.bzl", "pip_parse")
 
 pip_parse(
diff --git a/python/versions.bzl b/python/versions.bzl
index a79ba91..6c9bf25 100644
--- a/python/versions.bzl
+++ b/python/versions.bzl
@@ -108,6 +108,17 @@
         },
         "strip_prefix": "python",
     },
+    "3.8.18": {
+        "url": "20231002/cpython-{python_version}+20231002-{platform}-{build}.tar.gz",
+        "sha256": {
+            "aarch64-apple-darwin": "1825b1f7220bc93ff143f2e70b5c6a79c6469e0eeb40824e07a7277f59aabfda",
+            "aarch64-unknown-linux-gnu": "236a300f386ead02ca98dbddbc026ff4ef4de6701a394106e291ff8b75445ee1",
+            "x86_64-apple-darwin": "fcf04532e644644213977242cd724fe5e84c0a5ac92ae038e07f1b01b474fca3",
+            "x86_64-pc-windows-msvc": "a9d203e78caed94de368d154e841610cef6f6b484738573f4ae9059d37e898a5",
+            "x86_64-unknown-linux-gnu": "1e8a3babd1500111359b0f5675d770984bcbcb2cc8890b117394f0ed342fb9ec",
+        },
+        "strip_prefix": "python",
+    },
     "3.9.10": {
         "url": "20220227/cpython-{python_version}+20220227-{platform}-{build}.tar.gz",
         "sha256": {
@@ -178,15 +189,15 @@
         "strip_prefix": "python",
     },
     "3.9.18": {
-        "url": "20230826/cpython-{python_version}+20230826-{platform}-{build}.tar.gz",
+        "url": "20231002/cpython-{python_version}+20231002-{platform}-{build}.tar.gz",
         "sha256": {
-            "aarch64-apple-darwin": "44000d3bd79a6c689f3b6cae846d302d9a4e974c46d078b1bc79cc0c706a0718",
-            "aarch64-unknown-linux-gnu": "2161e834aa4334cc8bb55335767a073aafff3338cf37392d2a9123b4972276f9",
-            "ppc64le-unknown-linux-gnu": "1e95c15627cea707156b41d653af994283876162f14ac9280cc1fb8023cf56b3",
-            "s390x-unknown-linux-gnu": "476d1ba8f85ae8a0e0b5ae7f0e204dd9376fe55afd9c6a7ae7b18bd84a223bf6",
-            "x86_64-apple-darwin": "ce03b97a41be6d548698baaf5804fff2ce96bf49237fb73f8692aca3f5798454",
-            "x86_64-pc-windows-msvc": "709c1aabf712aa4553c53c4879a459ebe8575a996d68ccbce492af03db8a6ee0",
-            "x86_64-unknown-linux-gnu": "377da2aebc3b58c5af901899e8efeb2c91b35b0ea92c8b447036767e529fc5b2",
+            "aarch64-apple-darwin": "fdc4054837e37b69798c2ef796222a480bc1f80e8ad3a01a95d0168d8282a007",
+            "aarch64-unknown-linux-gnu": "1e0a3e8ce8e58901a259748c0ab640d2b8294713782d14229e882c6898b2fb36",
+            "ppc64le-unknown-linux-gnu": "101c38b22fb2f5a0945156da4259c8e9efa0c08de9d7f59afa51e7ce6e22a1cc",
+            "s390x-unknown-linux-gnu": "eee31e55ffbc1f460d7b17f05dd89e45a2636f374a6f8dc29ea13d0497f7f586",
+            "x86_64-apple-darwin": "82231cb77d4a5c8081a1a1d5b8ae440abe6993514eb77a926c826e9a69a94fb1",
+            "x86_64-pc-windows-msvc": "02ea7bb64524886bd2b05d6b6be4401035e4ba4319146f274f0bcd992822cd75",
+            "x86_64-unknown-linux-gnu": "f3ff38b1ccae7dcebd8bbf2e533c9a984fac881de0ffd1636fbb61842bd924de",
         },
         "strip_prefix": "python",
     },
@@ -271,15 +282,15 @@
         "strip_prefix": "python",
     },
     "3.10.13": {
-        "url": "20230826/cpython-{python_version}+20230826-{platform}-{build}.tar.gz",
+        "url": "20231002/cpython-{python_version}+20231002-{platform}-{build}.tar.gz",
         "sha256": {
-            "aarch64-apple-darwin": "142332021441ee1ab04eb126baa6c6690dc41699d4af608b72b399a786f6ee71",
-            "aarch64-unknown-linux-gnu": "0479cf10254adbf7a554453874e91bb526ba62cbac8a758f6865cdcdbef20f2d",
-            "ppc64le-unknown-linux-gnu": "355ec3d0983e1e454d7175c9c8581221472d4597f6a93d676b60ed4e1655c299",
-            "s390x-unknown-linux-gnu": "a61ff760d39e2b06794cdcf8b2f62c39d58b97f5a1ddd0e112741f60d6fe712f",
-            "x86_64-apple-darwin": "3a5d50b98e4981af4fc23cf3fc53a38ef3f9a8f32453849e295e747aa9936b2b",
-            "x86_64-pc-windows-msvc": "2ae0ee39450d428ce2aa4bea9ad41c96916d4f92fe641a3bf6d6f80d360677c3",
-            "x86_64-unknown-linux-gnu": "ba512bcca3ac6cb6d834f496cd0a66416f0a53ff20b05c4794fa82ece185b85a",
+            "aarch64-apple-darwin": "fd027b1dedf1ea034cdaa272e91771bdf75ddef4c8653b05d224a0645aa2ca3c",
+            "aarch64-unknown-linux-gnu": "8675915ff454ed2f1597e27794bc7df44f5933c26b94aa06af510fe91b58bb97",
+            "ppc64le-unknown-linux-gnu": "f3f9c43eec1a0c3f72845d0b705da17a336d3906b7df212d2640b8f47e8ff375",
+            "s390x-unknown-linux-gnu": "859f6cfe9aedb6e8858892fdc124037e83ab05f28d42a7acd314c6a16d6bd66c",
+            "x86_64-apple-darwin": "be0b19b6af1f7d8c667e5abef5505ad06cf72e5a11bb5844970c395a7e5b1275",
+            "x86_64-pc-windows-msvc": "b8d930ce0d04bda83037ad3653d7450f8907c88e24bb8255a29b8dab8930d6f1",
+            "x86_64-unknown-linux-gnu": "5d0429c67c992da19ba3eb58b3acd0b35ec5e915b8cae9a4aa8ca565c423847a",
         },
         "strip_prefix": "python",
     },
@@ -332,14 +343,41 @@
         },
         "strip_prefix": "python",
     },
+    "3.11.6": {
+        "url": "20231002/cpython-{python_version}+20231002-{platform}-{build}.tar.gz",
+        "sha256": {
+            "aarch64-apple-darwin": "916c35125b5d8323a21526d7a9154ca626453f63d0878e95b9f613a95006c990",
+            "aarch64-unknown-linux-gnu": "3e26a672df17708c4dc928475a5974c3fb3a34a9b45c65fb4bd1e50504cc84ec",
+            "ppc64le-unknown-linux-gnu": "7937035f690a624dba4d014ffd20c342e843dd46f89b0b0a1e5726b85deb8eaf",
+            "s390x-unknown-linux-gnu": "f9f19823dba3209cedc4647b00f46ed0177242917db20fb7fb539970e384531c",
+            "x86_64-apple-darwin": "178cb1716c2abc25cb56ae915096c1a083e60abeba57af001996e8bc6ce1a371",
+            "x86_64-pc-windows-msvc": "3933545e6d41462dd6a47e44133ea40995bc6efeed8c2e4cbdf1a699303e95ea",
+            "x86_64-unknown-linux-gnu": "ee37a7eae6e80148c7e3abc56e48a397c1664f044920463ad0df0fc706eacea8",
+        },
+        "strip_prefix": "python",
+    },
+    "3.12.0": {
+        "url": "20231002/cpython-{python_version}+20231002-{platform}-{build}.tar.gz",
+        "sha256": {
+            "aarch64-apple-darwin": "4734a2be2becb813830112c780c9879ac3aff111a0b0cd590e65ec7465774d02",
+            "aarch64-unknown-linux-gnu": "bccfe67cf5465a3dfb0336f053966e2613a9bc85a6588c2fcf1366ef930c4f88",
+            "ppc64le-unknown-linux-gnu": "b5dae075467ace32c594c7877fe6ebe0837681f814601d5d90ba4c0dfd87a1f2",
+            "s390x-unknown-linux-gnu": "5681621349dd85d9726d1b67c84a9686ce78f72e73a6f9e4cc4119911655759e",
+            "x86_64-apple-darwin": "5a9e88c8aa52b609d556777b52ebde464ae4b4f77e4aac4eb693af57395c9abf",
+            "x86_64-pc-windows-msvc": "facfaa1fbc8653f95057f3c4a0f8aa833dab0e0b316e24ee8686bc761d4b4f8d",
+            "x86_64-unknown-linux-gnu": "e51a5293f214053ddb4645b2c9f84542e2ef86870b8655704367bd4b29d39fe9",
+        },
+        "strip_prefix": "python",
+    },
 }
 
 # buildifier: disable=unsorted-dict-items
 MINOR_MAPPING = {
-    "3.8": "3.8.17",
+    "3.8": "3.8.18",
     "3.9": "3.9.18",
     "3.10": "3.10.13",
-    "3.11": "3.11.5",
+    "3.11": "3.11.6",
+    "3.12": "3.12.0",
 }
 
 PLATFORMS = {