South Africa's AB de Villiers reclaimed the top spot in the ICC rankings for ODI batsmen for the 14th time in his career. And, for the first time in his career, Pakistan's Hasan Ali has become the No. 1 bowler in the world. There was also movement in the allrounders list with Mohammad Hafeez, a day after he was reported for a suspect action, taking over the lead from Bangladesh's Shakib Al Hasan.

Among other major developments, South Africa have gone up to the top of the team rankings in ODIs. To keep their No. 1 ranking, they will have to secure a 3-0 victory over Bangladesh, and hope India do not do the same against New Zealand in the coming weeks.

De Villiers had not played for South Africa in four months, but struck a career-best 176 off 104 balls in his comeback innings to leapfrog his rivals. Virat Kohli and David Warner were bumped down a place each to Nos. 2 and 3. And Babar Azam, who struck consecutive hundreds against Sri Lanka, rose to a career-best ranking of No. 4.

De Villiers has now spent 2124 days at the top of the batsmen's rankings since achieving the feat for the first time in May 2010. Only West Indies' Viv Richards has been No. 1 for longer - 2306 days.

Hasan's rise up the bowling rankings has been a stunning story as well. He is the highest wicket-taker in 2017, he was Player of the Series in the Champions Trophy and he became the fastest Pakistan bowler to 50 ODI wickets - beating the legendary Waqar Younis. The No. 1 spot - he climbed six places - comes as icing on a very large cake.

Meanwhile, Hafeez, among the world's most economical bowlers since 2010, claimed the top spot on the allrounder's rankings for the ninth time.

Click here to see the comprehensive list of player rankings. And here to see the team rankings.