integrate latest upstream changes from origin/4.6