Poland's last Communist leader General Wojciech Jaruzelski has died aged 90 after a long illness, Polish media say.
Gen Jaruzelski led Poland from 1981, when he declared martial law and ordered the arrest of the pro-democracy Solidarity leader Lech Walesa.
But he lifted martial law two years later and after growing unrest was forced to negotiate with Solidarity in 1989.
He had been in ill health for some time.
Mr Walesa said that a "great man from a generation of betrayers has gone".
Gen Jaruzelski fought in a Polish unit of the Russian army during World War Two and rose up the military ranks after the war to become chief "political officer" of Poland's armed forces.
He was defence minister at the time of the 1968 Soviet invasion of Czechoslovakia, in which Polish soldiers took part.
He denied ordering the fatal shooting of dozens of shipyard workers in the northern cities of Gdansk and Gdynia in 1971, for which he was later put on trial.
Gen Jaruzelski was also tried in 2008 by Poland's post-Communist authorities for his December 1981 decision to impose martial law. Tanks rolled on to the streets and thousands of opposition activists were arrested overnight.
Dozens of people died in the military crackdown, which the general insisted he ordered to avert invasion by Moscow.
"Martial law was evil but it was a far lesser evil than what would have happened without it," he told his trial.
The Solidarity movement was outlawed and thousands of its members were arrested, as the Soviet-backed government moved to quash protests and strikes.
Eventually, he agreed that talks with the movement should go ahead. Solidarity was legalised and far-reaching reforms agreed.
His trial was suspended in 2011 after he was diagnosed with cancer.
To many Poles he was a traitor but others gave him the benefit of the doubt, BBC Warsaw correspondent Adam Easton reports.
Gen Jaruzelski resigned as president in 1990 and was succeeded by Mr Walesa.