Four bodies lie sprawled on the grass. His hands and face smeared in blood, Yuri sobs as he cradles his wife's lifeless body in his arms. Behind him, smoke billows from the family's still half-standing home, smashed glass litters the ground, and water fills the hallway. Shell-shocked neighbors point to a giant crater in the vegetable patch outside their house.

The July 12 grad rocket attack on the Petrovskiy district of Donetsk was the first serious assault by Ukrainian government forces on this sprawling industrial city in the country's east, seized by armed pro-Russia rebels in mid-April.

Two bodies lie on the grass outside a family home hit by grad rockets in Petrovskiy district, Donetsk, on July 12. All photos by Harriet Salem.

Smoke rises from the ruins of a family home hit by grad rockets in Petrovskiy district, Donetsk, on July 12. All photos by Harriet Salem.

It marked another significant step up in the eastern Ukraine conflict that had already killed hundreds and displaced thousands more.

Less than two weeks earlier, the first ceasefire of the war, agreed by the rebel leaders and Petro Poroshenko, Ukraine's newly elected president, had crumbled amid mutual finger pointing as both sides accused the other of violating the fragile truce.

As hostilities resumed, a convoy of 50 plus Ukrainian military vehicles and hundreds of troops — as well as artillery pieces and heavy weaponry including multi-rocket launch systems — moved to within nine miles and easy firing range of Donetsk.

The army's summer push towards the city, with a pre-war population of nearly 1 million people, was part of several months' long campaign to dislodge pro-Russia forces controlling large swathes of land in Ukraine's east. Although at first faltering, in June the Kiev-backed "anti-terror operation" finally scored its first major success — retaking Sloviansk, a city of more than 150,000 people and the former heartland of the armed rebel uprising.

Ukraine's victory, however, came at a heavy price.

Starved of investment for more than a decade, the country's ill-equipped army was woefully unprepared to be called into sudden action and untrained young conscripts and quasi-legal "volunteer battalions" of patriots quickly came to form the bulk of Ukraine's hastily constructed fighting force.

In Sloviansk the clumsy handiwork of the unskilled fighting forces on both sides was clear to see. A month-long siege and a bombardment of mortars, grad rockets, and other heavy weaponry had eventually routed the rebels who fired from the rooftops of apartment blocks. However, the offensive also reduced large parts of the city to rubble, killing several hundred civilians in the process.

It was a disaster that the authorities in Kiev said would not be repeated in the region's administrative capital. "We will not bombard Donetsk. We will use only ground forces there, which will, street after street, quarter after quarter, free the city," Andriy Lysenko, spokesman for Ukraine's Security Council, pledged on July 26.

But despite the assurances, Pandora's box had been opened and politicians' words and supposed "peace deals" made in distant Minsk could no longer change the tempo or halt the march of war. In the months that followed, eastern Ukraine descended into a chaotic and violent battleground. Ceasefire after ceasefire disintegrated into a trail of broken promises as both sides accused the other of violations as political leaders struggled to control the multiple militia groups fighting in the resource-rich region.

Luhansk, the neighboring city to Donetsk, was the biggest humanitarian catastrophe of the conflict. Besieged by Ukrainian forces, at least 250,000 people were trapped inside the city for more than a month under a near-constant barrage of artillery fire, without basic necessities such as electricity, food, and drinking water. Hospitals struggled under the weight of the casualties. The morgue, operating without refrigerators, quickly became a foul magnet for swarms of black flies as the body count mounted, tipping the conflict's total death toll past 3,000 by early September.

A woman injured by shrapnel in Luhansk hospital. Her two sons and husband were killed in the attack and the family's house was destroyed. All photos by Harriet Salem.

Bodies lie on the grass outside Luhansk morgue, which was left without refrigeration facilities during the siege of the city. All photos by Harriet Salem.

Even the tragic downing of MH17 — a passenger flight from Amsterdam to Kuala Lumpur believed to have been shot down by a rebel-operated BUK missile — on July 17 failed to stop the onslaught.

A Poroshenko-ordered ceasefire for a 40-kilometer (25-mile) radius around the crash site crumbled almost immediately as fierce fighting broke out in nearby villages. This prevented international workers from reaching the site and left the remains of the 298 victims, including 80 children, decomposing in the fields.

Yet another ceasefire, agreed in Minsk on September 5, in the wake of a Russian military push against Ukrainian forces in late August, seemed at first to hold some promise. In practice, however, it did little more than harden the frontlines of the conflict as both sides took advantage of a de-escalation in the fighting to dig in their positions ahead of a long, cold winter. And while international commentators increasingly describe the conflict as entering a "frozen" stage, little has changed for those still trapped in basements and caught in an impasse of rocket and mortar fire, as the conflict's death toll nudged past 4,300 by November 20.

Locals work to clear the rubble after an airstrike in Snizhne in July. All photos by Harriet Salem.

Luhansk's central market was partially destroyed by heavy shelling during a month-long siege of the city. All photos by Harriet Salem.

Among the latest tragedies of supposed ceasefires are two teenage boys playing football in a school sports field, a nine-year-old girl cycling with her mother in Gorlovka, and a humanitarian worker killed outside the office of the International Committee of the Red Cross in Donetsk.

Marina Petrov, a 78-year-old from Marinka, spent much of the last seven weeks of 2014 living below the ground in a makeshift bomb shelter, before finally fleeing to Zaporozhye to join her eldest son's family.

"It's was like hell, we barely saw sunlight, food was running out, whole families were living in a single dark corner, people were forced to live worse than rats down there," Petrov told VICE News. Responding to Poroshenko's recent declaration of a "real ceasefire" after a 24-hour period without a single casualty the pensioner just laughed: "It's not over until the last gun is fired. Politicians can promise all the ceasefires and peace they want, but these idiots won't stop until they run out of bullets, or bodies."