Imported Upstream version 3.1.2
Merge tag 'upstream/3.1.2'

Upstream version 3.1.2
reflect updated source and use upstream commit-rev