President Jacob Zuma has led celebrations on the 20th anniversary of South Africa's post-apartheid democracy, insisting it is closer to its multi-racial dream despite inequality, poverty and corruption.
"Our country has done well," Zuma said at a ceremony held on Sunday two decades after the first all-race election that saw Nelson Mandela become the country's first black president.
"We all have a good story to tell.
"We have moved closer to our cherished dream of a united non-racial, non-sexist and democratic South Africa," he said at the Freedom Day ceremony held in Pretoria.
South Africa is now the most developed country on the continent and boasts among other things, a strong constitution and an independent judiciary.
But its successes have been sullied by mismanagement and high-level corruption blamed largely on the ANC-led government, as well as a legacy of racial inequality, poverty, rampant crime and lack of services.
The government failings have become a rallying point for the opposition ahead of next month's general election, the fifth since the end of sanctioned racial oppression.
But Zuma - who himself has been tarnished by corruption allegations - used his speech to warn rivals not to dismiss the "tremendous" gains in the country of 51 million people.
"I am sure you all agree with me that ... we have made South Africa a much better place to live in," Zuma said.
"We must not deny or downplay these achievements, regardless of our political differences ... at any given time, including the election period."
However, Nobel peace laureate Desmond Tutu, while conceding that two decades of freedom have seen a "heck of an achievement", said he was pleased Mandela was not alive today to witness the slow pace of transformation.
"I'm glad that Madiba is dead," Tutu was quoted as telling South Africa's Sunday Times. "I'm glad that most of these people are no longer alive to see this."
"I didn't think there would be a disillusionment soon."
Zuma, who is seeking re-election, urged South Africans to turn out in their millions on May 7 to vote.
"Our freedom was not free. It came about through blood, sweat and tears. That is why we must defend it at all cost," he said.
Freedom Day was marked by a full military parade including a 21-gun salute and fly-pasts as well as prayers, music and dance.
A colourful cultural parade entered the Union Buildings gardens to the tune of the South African 2010 World Cup's official anthem Waka Waka (This Time for Africa).
The Union Buildings complex is where generations of apartheid leaders penned many of the racial laws that Mandela and others fought against for most of their lives.
For many South Africans, Freedom Day brings back sweet memories of the euphoria of the election on April 27, 1994, when black, Indian and mixed race voters stood in long lines alongside whites to cast their first ever ballots.