AB de Villiers and Dale Steyn have returned to South Africa's Test squad for the inaugural four-day, day-night Test against Zimbabwe, which starts on Boxing Day in Port Elizabeth. De Villiers last played a Test in January 2016, while Steyn has not played international cricket after suffering a shoulder injury in Perth last year.

The duo were joined in the squad by Morne Morkel, who has recovered from a side strain that has sidelined him since late October, and Vernon Philander, who is fully fit after a back problem sustained in England. Captain Faf du Plessis, who is in the final stages of recovery from a shoulder operation, has also been named.

Chris Morris, who bowled Titans to victory in the Ram Slam T20 Challenge final, has not been included. Morris suffered a slight groin strain in that match and has also been withdrawn from the South African Invitation XI to play Zimbabwe in a three-day warm-up match in Paarl from Wednesday. De Villiers was initially due to participate in that match but will no longer play because of a lower back strain. De Villiers remains available for selection for the Test but there is no confirmation that du Plessis is guaranteed a start. ESPNcricinfo understands the Test captain may be granted an extra week's rest to ensure he is ready for matches against India, which begin in early 2018.

"It is a very exciting moment not just for South Africa but for world cricket to have Dale and AB, two icons of the game, back in the multi-day format," Linda Zondi, CSA's convener of selectors said. "AB and Dale bring loads of experience to the side apart from being two of the South African all-time greats. It is also good to have Vernon back and it is very encouraging that our four premium fast bowlers - Steyn, Philander, Kagiso Rabada and Morne Morkel - are all back in the selection mix."

South Africa's pace pack will use the Zimbabwe match to find rhythm ahead of a summer which includes seven more Tests - three against India and four against Australia.

With all the premier quicks available, there was only room for one more seam bowler - allrounder Andile Phehlukwayo - as neither Duanne Olivier nor Wayne Parnell were included.

The squad is also heavily stocked with batting options. Dean Elgar and Aiden Markram will open the batting, with Hashim Amla to follow. But, if South Africa stick with the same team balance they employed against Bangladesh, there may only be space for two out of Faf du Plessis, AB de Villiers, Temba Bavuma and Theunis de Bruyn, with Quinton de Kock at No.6, followed by the bowlers. Against Bangladesh, South Africa used six batsmen, two allrounders, two seamers and a spinner.

They may, however, revert to a seven-batsmen strategy, which would likely see Phehlukwayo miss out completely and leave the selectors with a choice between three of the four seamers and Maharaj. The possibility of an all-pace attack, especially on green Highveld pitches, against India, cannot be ruled out.