performUpdate should return false if no update is performed
Merge branch '4.1' into 4.2
Merge branch '4.2'