Russia shelled a block of flats in the eastern Ukrainian city of Sloviansk on Friday, killing eight people, including a toddler who was pulled out of the rubble but died in an ambulance on the way to hospital, authorities said.
The strike on the quiet neighbourhood came as Russian President Vladimir Putin signed a bill that will make it easier to mobilise citizens into the army, and block them from fleeing the country if drafted.
Russia also said it was pushing further into the hotspot of Bakhmut, 45 kilometres (27 miles) southeast of Sloviansk, which is one of the cities that will be at risk if Kyiv loses the longest and bloodiest battle of the war.
Sloviansk lies in a part of the Donetsk region that is under Ukrainian control.
"21 people were wounded and eight people died," Pavlo Kyrylenko, the governor of the Donetsk region, said on Ukrainian television after the strike devastated an apartment building.
He said the child who died was a boy.
AFP journalists saw rescue workers digging for survivors on the top floor of the typical Soviet-era housing bloc, and black smoke billowing from homes on fire across the street.
"A child died in an ambulance after being pulled out from the rubble," Ukrainian police said on Twitter.
Ukraine's First Lady Olena Zelenska sent her condolences to the child's family during this "indescribable grief".
President Volodymyr Zelensky earlier denounced Russia for "brutally shelling" residential buildings and "killing people in broad daylight".
The street below -- including a playground -- was covered in concrete dust and debris, including torn pages from school books and children's drawings.
"I live on the opposite side of the street and I was sleeping a little when I heard this huge boom and I ran out from my flat," 59-year-old resident Larisa told AFP.
"I was really scared and in a state of shock," she said, adding that the impact of the shelling had broken her windows and sent shards of glass flying throughout her home.
"I heard a woman screaming, 'there's a child here, there's a child here' -- She was screaming so much."
A resident nearby, who declined to give her name, told AFP that the strikes had blown out her windows and dislodged her front door from its frame.
"No one from our side of the building was injured but maybe someone here was," she added, pointing to a pool of blood next to another entrance of her building.
More than a year after Moscow launched its offensive in Ukraine, fears are high in Russia that the government is planning a fresh mobilisation drive after a bill was rushed through parliament this week to create a digital draft system.
Under the legislation, which Putin signed Friday, a draftee would be banned from travelling abroad and would have to report to an enlistment office once electronic call-up papers are received.
Tens of thousands of men fled Russia last autumn after Putin announced a mobilisation to prop up the forces in Ukraine.
The strike on Sloviansk, which many residents have fled since Russia invaded, came as Moscow said it was pushing to take more districts of ravaged Bakhmut.
Despite having little strategic value, the town has become a fixation of military commanders, leading to a brutal nine-month war of attrition.
"Wagner assault units are conducting high-intensity combat operations to conquer the western districts of the city," the Russian army said in a statement, referring to the private paramilitary group.
Russian airborne troops were "providing support to assault squads and halting the enemy's attempts to deliver ammunition to the city and bring in reserves", it added.
On Thursday, Moscow claimed to have cut off Ukrainian forces in Bakhmut. Kyiv denied the claim, saying it had access to its troops and was able to send in munitions.
Ukraine has vowed to continue defending Bakhmut. But on the ground, Ukrainian sources near Bakhmut told AFP on Friday that Kyiv's forces were in a "difficult" position.
"I know that many of our soldiers are missing, that positions were lost and it was impossible to evacuate or withdraw the troops," an army source said, while adding that Ukraine was still "bringing in fresh people" into Bakhmut.
Separately, an intelligence source said any pullout from Bakhmut would be slow and gradual, as there was only a narrow escape path left.