Dale Steyn will play his first ODI in almost two years, after he was named in South Africa's ODI squad to play Zimbabwe later this month. Steyn last played an ODI in October 2016, but has made public his intention to push for a World-Cup place.

Imran Tahir, who was rested from the recent ODI series in Sri Lanka, returns to the fold, with both Keshav Maharaj and Tabraiz Shamsi included, giving South Africa four spin options, including JP Duminy. The surprise omissions are David Miller, who quit red-ball cricket earlier this week to concentrate on shorter formats, and Quinton de Kock, who stood in as captain in Faf du Plessis' injury-enforced absence in Sri Lanka. Both have been listed as rested.

Du Plessis, who suffered a shoulder injury, has been named in both the ODI and T20 squads, subject to passing a fitness test. Should du Plessis need further recovery time, a replacement captain will be named.

A series against Zimbabwe would appear to be an ideal one to experiment, but there is only one new cap included. Christiaan Jonker, the Warriors middle-order batsman who was considered for the Sri Lanka tour but could not travel because of injury, has been picked ahead of Miller. Jonker was also preferred ahead of several other batsmen who outscored him in the domestic one-day cup, such as Pieter Malan and Sarel Erwee. Jonker was 27th on last season's domestic one-day cup run-charts, with 213 runs at 35.50 but has impressed at a higher level. He scored 49 in a T20 against India in February.

Also included in the middle order is Khaya Zondo, who recently captained South Africa A in a quadrangular series in India. Zondo was South Africa A's top-scorer on the tour with 132 runs from four matches, the bulk of which was scored in one innings. He made 117 runs against Australia A. Jonker and Zondo's selections have left no room for Farhaan Behardien, who last played in an ODI series against India in February.

"The selection of Christiaan Jonker is part of the ongoing process of our Vision 2019. He had an outstanding debut in the T20 format against India, and we want to see whether he can convert that finishing form into the longer white-ball format as well," Linda Zondi, South Africa's convener of selectors, said. "We have also recalled Khaya Zondo to the ODI squad as another part of the pool-broadening process. He had an outstanding quadrangular series for South Africa A in India, against high quality opposition, scoring our only century and having a strike rate of 95."

Matthew Breetzke, the 19-year old from Grey High School, who recently toured with the Emerging squad to Sri Lanka, will be a non-playing member of the squad. The selectors hope that Breeztke will use the experience as a learning opportunity, in the same way Wiaan Mulder did when he was included in South Africa's Test squad to play Bangladesh last September. "Our national captain, Faf du Plessis, will be personally taking Breetzke under his wing," Zondi said.

Other batting options include Reeza Hendricks, who scored a century on debut against Sri Lanka, Heinrich Klaasen and Aiden Markram, with South Africa including two allrounders in Andile Phehlukwayo and Wiaan Mulder. Chris Morris, the other two-in-one player who may be considered for the 2019 World Cup, was not named in the squad at all. Morris is recovering from a back injury and was expected to be fit by late September, but continues to be sidelined. The attack will be led by Kagiso Rabada, with Steyn, Lungi Ngidi, Phehlukwayo and Mulder providing fast-bowling options.

Rabada, Mulder and Hashim Amla will sit out the T20s, where more new names have been included. Opening batsmen Gihahn Cloete and Rassie van der Dussen are both in line for international debuts, while Robbie Frylinck and Junior Dala will also be part of the shortest formats. De Kock and Miller will be back for the T20s.

ODI squad: Faf du Plessis, Hashim Amla, JP Duminy, Reeza Hendricks, Imran Tahir, Christiaan Jonker, Heinrich Klaasen, Keshav Maharaj, Aiden Markram, Wiaan Mulder, Lungi Ngidi, Andile Phehlukwayo, Kagiso Rabada, Tabraiz Shamsi , Dale Steyn, Khaya Zondo

T20 squad: Faf du Plessis, Gihahn Cloete, Junior Dala, Quinton de Kock, JP Duminy, Robbie Frylinck, Imran Tahir, Christiaan Jonker, Heinrich Klaasen, David Miller, Lungi Ngidi, Dane Paterson, Andile Phehlukwayo, Tabraiz Shamsi, Rassie van der Dussen