Ukraine and pro-Russian separatist rebels had the largest exchange of prisoners on Wednesday since the start of the conflict in 2014.
The exchange allowed hundreds of former prisoners to return home ahead of the New Year and Orthodox Christmas.
More than 10,000 people have died in the war. Reports of deaths and injuries continued daily this year despite a ceasefire in 2015.
The mother of a Ukrainian prisoner received a call from her son Oleksandr Oliynyk. He said, "Mum, I'm already here."
She told a Ukrainian news channel, "You cannot imagine what it means for a mother, to not see your child for three-and-a-half years, since August 2014."
The Ukrainian government in Kiev agreed to hand over 306 prisoners to the pro-Russian rebels and to receive 74 prisoners in return.
Ukrainian President Petro Poroshenko confirmed on social media "All 74 Ukrainian hostages are already at home, on the territory controlled by our army."
Poroshenko added that among the prisoners handed to Ukraine were a historian and a "cyborg" - the nickname Ukrainians gave to soldiers who defended Donetsk airport in one of the conflict's most intense battles in 2014.
The exact number of prisoners returned to rebel-held territory is unclear. Viktor Medvedchuk is Ukraine's representative to ongoing peace talks. He told the Russian news agency TASS that some captives refused to return.
TASS reported that Medvedchuk also expected more exchanges in 2018. The Ukrainian state security service said 103 prisoners remained in separatist hands.
The exchange came as U.S. Secretary of State Rex Tillerson asked Russia to "lower the level of violence" in eastern Ukraine.
Russian officials in Moscow did not comment on the exchange. Ukraine and its Western allies say the Russian government supports the pro-Russian separatists with troops, cash, and heavy weapons. Moscow denies the claim.
German Chancellor Angela Merkel and French President Emmanuel Macron welcomed the exchange in a joint statement. They said both sides should release the remaining captives.
Germany's foreign ministry said it was an important step in acting on the ceasefire agreement agreed in the Belarus capital Minsk. The agreement was signed by Ukraine, Russia, Germany, and France in early 2015.
"Above all, it is also an important humanitarian gesture before the New Year and Orthodox Christmas," a foreign ministry statement said.