merge series of updates from upstream

The pull request is created to trigger CI.