merge conflict, and 0.4-only syntax below. also please `git cherry-pick -x` for cross-reference, here 69cb24a532ffc7157a4801673abb26b63afdaa7a