
This patch backports all of the recent changes to the release branch. This will get the CI functioning again. This backport also includes a couple refactorings, but those will probably end up being necessary for backporting future patches. They are relatively safe because they have already been extensively tested on main and only impact the CI.