Merge from upstream (master branch)