1.3 backport

Cherry-picked all commits made to 1.4 branch (which is not the correct branch for the fixes) into the 1.3 branch.  Once the pull request is merged and tested, we can delete the 1.4 branch.