chore: bump toolchain versions (#2102)

Bump toolchain versions to use the latest available releases.

* `3.12 -> 3.12.4`
* Use release `20240726` to pick up dependency updates
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ec0682a..47c6d76 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -49,6 +49,10 @@
 * (pip) Correctly use the `sdist` downloaded by the bazel downloader when using
   `experimental_index_url` feature. Fixes
   [#2091](https://github.com/bazelbuild/rules_python/issues/2090).
+* (toolchains): Change some old toochain versions to use [20240726] release to
+  include dependency updates `3.8.19`, `3.9.19`, `3.10.14`, `3.11.9`
+* (toolchains): Bump default toolchain versions to:
+    * `3.12 -> 3.12.4`
 
 ### Added
 * (rules) `PYTHONSAFEPATH` is inherited from the calling environment to allow
@@ -60,10 +64,12 @@
   [py_test_main] in order to integrate with `pytest`. Currently the default
   flag value is set to `true` for backwards compatible behaviour, but in the
   future the flag will be flipped be `false` by default.
+* (toolchains) New Python versions available: `3.12.4` using the [20240726] release.
 
 [rules_python_pytest]: https://github.com/caseyduquettesc/rules_python_pytest
 [py_test_main]: https://docs.aspect.build/rulesets/aspect_rules_py/docs/rules/#py_pytest_main
 [pytest_bazel]: https://pypi.org/project/pytest-bazel
+[20240726]: https://github.com/indygreg/python-build-standalone/releases/tag/20240726
 
 ### Removed
 * Nothing yet
@@ -116,7 +122,7 @@
 ### Added
 * (toolchains) {obj}`//python/runtime_env_toolchains:all`, which is a drop-in
   replacement for the "autodetecting" toolchain.
-* (gazelle) Added new `python_label_convention` and `python_label_normalization` directives. These directive 
+* (gazelle) Added new `python_label_convention` and `python_label_normalization` directives. These directive
   allows altering default Gazelle label format to third-party dependencies useful for re-using Gazelle plugin
   with other rules, including `rules_pycross`. See [#1939](https://github.com/bazelbuild/rules_python/issues/1939).
 
diff --git a/python/versions.bzl b/python/versions.bzl
index fd385cd..2cf9b39 100644
--- a/python/versions.bzl
+++ b/python/versions.bzl
@@ -120,13 +120,13 @@
         "strip_prefix": "python",
     },
     "3.8.19": {
-        "url": "20240415/cpython-{python_version}+20240415-{platform}-{build}.tar.gz",
+        "url": "20240726/cpython-{python_version}+20240726-{platform}-{build}.tar.gz",
         "sha256": {
-            "aarch64-apple-darwin": "eae09ed83ee66353c0cee435ea2d3e4868bd0537214803fb256a1a2928710bc0",
-            "aarch64-unknown-linux-gnu": "5bde36c53a9a511a1618f159abed77264392eb054edeb57bb5740f6335db34a3",
-            "x86_64-apple-darwin": "05f0c488d84f7590afb6f5d192f071df80584339dda581b6186effc6cd690f6b",
-            "x86_64-pc-windows-msvc": "ee95c27e5d9de165e77c280ad4d7b51b0dab9567e7e233fc3acf72363870a168",
-            "x86_64-unknown-linux-gnu": "b33feb5ce0d7f9c4aca8621a9d231dfd9d2f6e26eccb56b63f07041ff573d5a5",
+            "aarch64-apple-darwin": "fe4af1b6bc59478d027ede43f6249cf7b9143558e171bdf8711247337623af57",
+            "aarch64-unknown-linux-gnu": "8dc598aca7ad43ea20119324af98862d198d8990151c734a69f0fc9d16384b46",
+            "x86_64-apple-darwin": "4bc990b35384c83b5b0b3071e91455ec203517e569f29f691b159f1a6b2a19b2",
+            "x86_64-pc-windows-msvc": "4e8e9ddda82062d6e111108ab72f439acac4ba41b77d694548ef5dbf6b2b3319",
+            "x86_64-unknown-linux-gnu": "e81ea4dd16e6057c8121bdbcb7b64e2956068ca019f244c814bc3ad907cb2765",
         },
         "strip_prefix": "python",
     },
@@ -213,15 +213,15 @@
         "strip_prefix": "python",
     },
     "3.9.19": {
-        "url": "20240415/cpython-{python_version}+20240415-{platform}-{build}.tar.gz",
+        "url": "20240726/cpython-{python_version}+20240726-{platform}-{build}.tar.gz",
         "sha256": {
-            "aarch64-apple-darwin": "2671bb4ffd036f03076c8aa41e3828c4c16a602e93e2249a8e7b28fd83fdde51",
-            "aarch64-unknown-linux-gnu": "b18ad819f04c5b2cff6ffa95dd59263d00dcd6f5633d11e43685b4017469cb1c",
-            "ppc64le-unknown-linux-gnu": "2521ebe9eef273ab718670ed6c6c11760214cdc2e34b7609674179629659a6cd",
-            "s390x-unknown-linux-gnu": "8f83b8f357031cd6788ca253b1ac29020b73c8b41d0e5fb09a554d0d6c04ae83",
-            "x86_64-apple-darwin": "627d903588c0e69ed8b941ba9f91e070e38105a627c5b8c730267744760dca84",
-            "x86_64-pc-windows-msvc": "9b46faee13e37d8bfa4c02de3775ca3d5dec9378697d755b750fd37788179286",
-            "x86_64-unknown-linux-gnu": "00f698873804863dedc0e2b2c2cc4303b49ab0703af2e5883e11340cb8079d0f",
+            "aarch64-apple-darwin": "0e5a7aae57c53d7a849bc7f67764a947b626e3fe8d4d41a8eed11d9e4be0b1c6",
+            "aarch64-unknown-linux-gnu": "05ec896db9a9d4fe8004b4e4b6a6fdc588a015fedbddb475490885b0d9c7d9b3",
+            "ppc64le-unknown-linux-gnu": "bfff0e3d536b2f0c315e85926cc317b7b756701b6de781a8972cefbdbc991ca2",
+            "s390x-unknown-linux-gnu": "059ec97080b205ea5f1ddf71c18e22b691e8d68192bd37d13ad8f4359915299d",
+            "x86_64-apple-darwin": "f2ae9fcac044a329739b8c1676245e8cb6b3094416220e71823d2673bdea0bdb",
+            "x86_64-pc-windows-msvc": "a8df6a00140055c9accb0be632e7add951d587bbe3d63c40827bbd5145d8f557",
+            "x86_64-unknown-linux-gnu": "cbf94cb1c9d4b5501d9b3652f6e8400c2cab7c41dfea48d344d9e7f29692b91b",
         },
         "strip_prefix": "python",
     },
@@ -319,15 +319,15 @@
         "strip_prefix": "python",
     },
     "3.10.14": {
-        "url": "20240415/cpython-{python_version}+20240415-{platform}-{build}.tar.gz",
+        "url": "20240726/cpython-{python_version}+20240726-{platform}-{build}.tar.gz",
         "sha256": {
-            "aarch64-apple-darwin": "389da793b7666e9310908b4fe3ddcf0a20b55727fcb384c7c49b01bb21716f89",
-            "aarch64-unknown-linux-gnu": "2f9f26c430df19d6d2a25ac3f2a8e74106d32b9951b85f95218ceeb13d52e952",
-            "ppc64le-unknown-linux-gnu": "9f178c19850567391188c2f9de87ce3c9fce698a23f5f3470be03745a03d1daa",
-            "s390x-unknown-linux-gnu": "648aa520de74ee426231e4a5349598990abe42a97c347ce6240b166f23ee5903",
-            "x86_64-apple-darwin": "8e27ec6f27b3a27be892c7a9db1e278c858acd9d90c1114013fe5587cd6fc5e6",
-            "x86_64-pc-windows-msvc": "186b5632fb2fa5b5e6eee4110ce9bbb0349f52bb2163d2a1f5188b1d8eb1b5f3",
-            "x86_64-unknown-linux-gnu": "c83c5485659250ef4e4fedb8e7f7b97bc99cc8cf5a1b11d0d1a98d347a43411d",
+            "aarch64-apple-darwin": "164d89f0df2feb689981864ecc1dffb19e6aa3696c8880166de555494fe92607",
+            "aarch64-unknown-linux-gnu": "39bcd46b4d70e40da177c55259be16d5c2be7a3f7f93f1e3bde47e71b4833f29",
+            "ppc64le-unknown-linux-gnu": "549d38b9ef59cba9ab2990025255231bfa1cb32b4bc5eac321667640fdee19d1",
+            "s390x-unknown-linux-gnu": "de4bc878a8666c734f983db971610980870148f333bda8b0c34abfaeae88d7ec",
+            "x86_64-apple-darwin": "1a1455838cd1e8ed0da14a152a2d559a2fd3a6047ba7013e841db4a35a228c1d",
+            "x86_64-pc-windows-msvc": "7f68821a8b5445267eca480660364ebd06ec84632b336770c6e39de07ac0f6c3",
+            "x86_64-unknown-linux-gnu": "32b34cd13d9d745b3db3f3b8398ab2c07de74544829915dbebd8dce39bdc405e",
         },
         "strip_prefix": "python",
     },
@@ -420,15 +420,15 @@
         "strip_prefix": "python",
     },
     "3.11.9": {
-        "url": "20240415/cpython-{python_version}+20240415-{platform}-{build}.tar.gz",
+        "url": "20240726/cpython-{python_version}+20240726-{platform}-{build}.tar.gz",
         "sha256": {
-            "aarch64-apple-darwin": "7af7058f7c268b4d87ed7e08c2c7844ef8460863b3e679db3afdce8bb1eedfae",
-            "aarch64-unknown-linux-gnu": "b3a7199ac2615d75fb906e5ba556432efcf24baf8651fc70370d9f052d4069ee",
-            "ppc64le-unknown-linux-gnu": "03f62d1e2d400c9662cdd12ae33a6f328c34ae8e2b872f8563a144834742bd6a",
-            "s390x-unknown-linux-gnu": "3f7a0dd64fa292977c4da09e865ee504a48e55dbc2dbfd9ff4b991af891e4446",
-            "x86_64-apple-darwin": "9afd734f63a23783cf0257bef25c9231ffc80e7747486dc54cf72f325213fd15",
-            "x86_64-pc-windows-msvc": "368474c69f476e7de4adaf50b61d9fcf6ec8b4db88cc43c5f71c860b3cd29c69",
-            "x86_64-unknown-linux-gnu": "78b1c16a9fd032997ba92a60f46a64f795cd18ff335659dfdf6096df277b24d5",
+            "aarch64-apple-darwin": "cbdac9462bab9671c8e84650e425d3f43b775752a930a2ef954a0d457d5c00c3",
+            "aarch64-unknown-linux-gnu": "4d17cf988abe24449d649aad3ef974091ab76807904d41839907061925b4c9e3",
+            "ppc64le-unknown-linux-gnu": "fc4f3c9ef9bfac2ed0282126ff376e544697ad04a5408d6429d46899d7d3bf21",
+            "s390x-unknown-linux-gnu": "e69b66e53e926460df044f44846eef3fea642f630e829719e1a4112fc370dc56",
+            "x86_64-apple-darwin": "dc3174666a30f4c38d04e79a80c3159b4b3aa69597c4676701c8386696811611",
+            "x86_64-pc-windows-msvc": "f694be48bdfec1dace6d69a19906b6083f4dd7c7c61f1138ba520e433e5598f8",
+            "x86_64-unknown-linux-gnu": "f6e955dc9ddfcad74e77abe6f439dac48ebca14b101ed7c85a5bf3206ed2c53d",
         },
         "strip_prefix": "python",
     },
@@ -484,6 +484,19 @@
         },
         "strip_prefix": "python",
     },
+    "3.12.4": {
+        "url": "20240726/cpython-{python_version}+20240726-{platform}-{build}.tar.gz",
+        "sha256": {
+            "aarch64-apple-darwin": "1801025e825c04b3907e4ef6220a13607bc0397628c9485897073110ef7fde15",
+            "aarch64-unknown-linux-gnu": "a098b18b7e9fea0c66867b76c0124fce9465765017572b2e7b522154c87c78d7",
+            "ppc64le-unknown-linux-gnu": "04011c4c5b7fe34b0b895edf4ad8748e410686c1d69aaee11d6688d481023bcb",
+            "s390x-unknown-linux-gnu": "8f8f3e29cf0c2facdbcfee70660939fda7667ac24fee8656d3388fc72f3acc7c",
+            "x86_64-apple-darwin": "4c325838c1b0ed13698506fcd515be25c73dcbe195f8522cf98f9148a97601ed",
+            "x86_64-pc-windows-msvc": "74309b0f322716409883d38c621743ea7fa0376eb00927b8ee1e1671d3aff450",
+            "x86_64-unknown-linux-gnu": "e133dd6fc6a2d0033e2658637cc22e9c95f9d7073b80115037ee1f16417a54ac",
+        },
+        "strip_prefix": "python",
+    },
 }
 
 # buildifier: disable=unsorted-dict-items
@@ -492,7 +505,7 @@
     "3.9": "3.9.19",
     "3.10": "3.10.14",
     "3.11": "3.11.9",
-    "3.12": "3.12.3",
+    "3.12": "3.12.4",
 }
 
 PLATFORMS = {