3.12 branch back open for (bugfixing) business

Following the release of Python 3.12, the 3.12 branch is now back open for all committers – under the usual rules for released Python versions, of course. I went through and merged most of the pending PRs; a few PRs are still waiting for CI after updating the branches, and a few have merge conflicts. If you have any PRs pending in 3.12 feel free to update/resolve and merge as usual.