Patch all the things

I've collected commits from `git log 3-0-stable...3-0-square` and did batch forward port. :sparkles: