Merge branch 'upstream' into 'timelapse'.

Fixes #415.