RFC: Should we backport #8734 to release-0.3 ?

As far as I can tell this fixed #4923, and aside from a couple of Mac build issues (I've squashed the fixes for those into the 4th backport commit, I can squash even further if anyone would prefer that) this seems to be working fairly well on master.

Ref #9045