Ukrainian pilot Nadia Savchenko has been freed after nearly two years in Russian captivity.
Savchenko, whose defiance in Russian detention made her a national hero, arrived in Kyiv on May 25 aboard Ukrainian President Petro Poroshenko's plane.
She was reportedly exchanged for two Russians convicted of fighting alongside pro-Moscow separatists in eastern Ukraine, in a swap whose details were shrouded in secrecy and confusion.
Russian President Vladimir Putin portrayed her release as a humanitarian gesture just a few weeks before the European Union decides whether to extend sanctions against Russia imposed over Moscow's actions in Crimea and eastern Ukraine.
Savchenko's custody and trial have been condemned by Kyiv and Western governments critical of Russia's role in the two-year-old conflict in eastern Ukraine, where Russia occupied and seized Crimea and Moscow has been accused of supplying troops, heavy weapons, and other support in fighting that has killed more than 9,300 people.
"I'm once again ready to offer my life for Ukraine on the battlefield," the 35-year-old Savchenko told a crowd that included her mother and sister as well as journalists gathered for her arrival at Kyiv’s Boryspil International Airport.
At a later ceremony to honor Savchenko, Poroshenko said Ukraine would regain control of territory in eastern Ukraine that is controlled by Russia-backed separatists along with the Russia-occupied Crimea "just as we have got back Savchenko."
WATCH: Speaking next to Ukrainian President Petro Poroshenko, Nadia Savchenko thanks her family and others who fought for her release. (RFE/RL's Ukrainian Service)
Savchenko says she was abducted by Russia-backed separatists in eastern Ukraine in June 2014 and smuggled across the border into Russia.
She was sentenced by a Russian court in March to 22 years in prison for her alleged role in the deaths of two Russian journalists in the conflict zone.
Savchenko has denied any involvement in their deaths.
The Kremlin said on May 25 that Savchenko had been pardoned before confirming that the two Russians held by Kyiv -- Aleksandr Aleksandrov and Yevgeny Yerofeyev -- had arrived in Moscow.
Putin said in televised remarks on May 25 that he had decided to release Savchenko after the relatives of the killed journalists petitioned him to show her mercy.
U.S. Secretary of State John Kerry tied her release to the Minsk accords that aimed to set up a political process to end the conflict in eastern Ukraine.
"Her release, after a long ordeal that included solitary confinement, is an important part of fulfilling Russia's commitments under the Minsk agreements and should now provide impetus for their complete implementation," he said in a statement.
EU foreign-affairs chief Federica Mogherini hailed the move as "long-awaited good news." German Foreign Minister Frank-Walter Steinmeier said he was "happy and relieved."
While in prison, Savchenko launched a number of hunger strikes to protest her detention, for stretches refusing both food and water.
TIMELINE: Key Developments In Savchenko's Case (click to expand)
Western leaders called the charges trumped up, with the United States and the European Union repeatedly calling for her release.
The Belarusian Nobel Prize winning writer Svetlana Alexievich described her as the "Ukrainian Joan of Arc" after the 15th-century French heroine.
Aleksandrov and Yerofeyev were captured last year. They acknowledged being Russian officers, but the Russian Defense Ministry claimed they had resigned from active duty. They were tried in a Kyiv court, which sentenced them each to 14 years in prison after finding them guilty of terrorism and waging war in eastern Ukraine.
One day after the two Russians were sentenced, Poroshenko announced on April 19 that Kyiv and Moscow had agreed on a possible framework to free Savchenko, who was elected in absentia to Ukraine's parliament in October 2014.
Savchenko's release came a day after Putin, Poroshenko, and the leaders of France and Germany spoke by telephone about ways to settle the conflict in eastern Ukraine.
Western officials welcomed the news of Savchenko's release.
"Finally!" Lithuanian President Dalia Grybauskaite said on Twitter. "Glory to Ukraine!"
EU foreign-affairs chief Federica Mogherini hailed the release as "long-awaited good news."
German Foreign Minister Frank-Walter Steinmeier said he was "happy and relieved" at her release.
Details of the swap emerged through sources and lawyers for Savchenko and the two Russians with little official confirmation, making the story far from clear.
Early on May 25, Aleksandrov’s lawyer Valetin Rybin was quoted by the TASS news agency as saying both the Russians submitted petitions to Poroshenko for pardons.
There was confusion as well.
Early reports said Poroshenko's plane was on its way to Rostov-on-Don to pick up Savchenko, only to be contradicted a bit later by a report by the Ukrainian news agency UNIAN, which said the plane was already in Rostov, arriving overnight.
Hours later, however, all was clear. Savchenko was back in Ukraine and the two Russians were on home soil as well.
Russia's relations with neighboring Ukraine have been hostile since so-called EuroMaidan unrest in 2014 forced out Moscow-backed Ukrainian President Viktor Yanukovych and installed a pro-Western administration.
Russia occupied then annexed Ukraine's Crimean Peninsula in March 2014. Moscow said it was protecting the local Russian-speaking population from persecution by the new authorities in Kyiv, but Western governments called it an illegal land-grab and imposed sanctions on Moscow.
Soon after, Moscow-backed separatists began an armed rebellion in the Donbas region of eastern Ukraine, an area with a large Russian-speaking community.
A fragile cease-fire has been in place since last year, but there is no permanent settlement to the conflict.
Analysts predict that Savchenko's return will be seen in Ukraine as a rare political victory for Poroshenko, who has been struggling with economic troubles and corruption, squabbles among his allies, and simmering violence in the east of the country.