sync with upstream, #stable v17