Former India off-spinner Harbhajan Singh has announced his retirement from all forms of cricket.
The 41-year-old last played for India in 2016, with his final game being for Kolkata Knight Riders in the Indian Premier League (IPL) in April 2021.
He took 417 Test wickets, 269 in one-day internationals and 25 in Twenty20 matches in 367 games for India.
"All good things come to an end and today I bid adieu to the game that has given me everything in life," he said.
Announcing his retirement on Twitter, he added: "I would like to thank everyone who made this 23-year-long journey beautiful and memorable.
"My heartfelt thank you. Grateful."
In a video posted on YouTube, he went on to say: "There comes a time in your life when you must take some tough decisions and move ahead.
"I have been meaning to make this announcement for the last few years, but I was waiting for the right moment to share it with all of you.
"In many ways, I had already retired as a cricketer, but hadn't been able to make a formal announcement.
"I haven't been an active cricketer for a while. But I had a commitment to Kolkata Knight Riders, and wanted to spend the [2021] IPL season with them. But during the season itself, I had made up my mind to retire."
Harbhajan played three games for Kolkata in April - failing to take a wicket - but those were his first games since May 2019.
He made his India debut in 1998, dismissing Australia's Greg Blewett for his first international wicket.
His total of 417 Test wickets puts him 14th on the all-time leading wicket-takers list, and he is the fourth most successful Indian, behind Anil Kumble, Kapil Dev and Ravichandran Ashwin.
The off-spinner was part of the India team who won the 2011 50-over World Cup, taking nine wickets in the tournament, and he also contributed seven wickets in their 2007 T20 World Cup win.
He is also the fifth most successful bowler in IPL history, taking 150 wickets in 163 games. He won four titles - three with Mumbai Indians and one with Chennai Super Kings in 2018.