Merge remote-tracking branch 'upstream/1.7' into 1.7-for-1.8
Merge pull request #495 from 314eter/1.7-for-1.8

1.7 for 1.8
Merge remote-tracking branch 'upstream/1.8' into checksum
Fix merge with 1.8
Updated design document