Backport "Port to Python 3.12" into 1.22
Backport of !1300 (merged) and !1302 (merged).
Also includes !1287 (merged) which was dropped from the git repo during the gitlab outage last month.
Edited by Nirbheek Chauhan
Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Backport of !1300 (merged) and !1302 (merged).
Also includes !1287 (merged) which was dropped from the git repo during the gitlab outage last month.