The highest temperature in Shanghai yesterday reached only 21.2 degrees Celsius, making it the coldest July day recorded in the past 112 years, thanks to the impact of a cold air mass and heavy rains.