Went in June. No visa required (visa on arrival), however, they gave me a lot of grief at immigration. The officer initially refused even though I had everything on hand, and I had to speak the Captain on duty. But the Captain was very friendly and got me processed after that. I think the main issue was the language barrier with the immigration officer, but the Captain had a good command of the English language. Be sure to have your return ticket on hand, and if you're staying the night, have a hotel booked with confirmation.
Also check if they're still doing COVID requirements, cause that was also a headache. Even though I did the pre-approval certificate issued from their government, they didn't want to accept it. I then had to prove I got vaccinated but wouldn't accept the SA government certificate. They eventually accepted it once I showed them the SMS I got when I got vaccinated, which matched the dates on the certificate. If I didn't have that, not sure what would've happened.
Finally, watch out for taxi's where they say they accept card, and then suddenly their machine isn't working. Guy tried it with me and I didn't have cash, so I suggested he figure it out cause I was not withdrawing money (he wanted to take me to an ATM). Suddenly the machine worked again.
Overall, I'd say unless you have a few days, it ain't worth leaving the airport. But saying that, with the World Cup coming up, I'd imagine things have improved in this regard, and maybe my experience was just a uniquely poor one due to the timing.