Merge some important changes from upstream