Merge changes from 3.3.x into main

We've been cherry picking from main into 3.3.x and 3.2.x but there were some
changes we've been making on those branches only so we're bringing them into
main.
5 files changed