merge upstream master into feature/ignore-file-fn