backport 1.4.0
we would typically cherrypick all changes from master
--> release
branches as part of the test process and then wouldn't need this MR, but this time we're backporting 1.4.0 changes into master (breaking typical process because of how some issues in the release process. live and learn!
Edited by joshwolf