Donald Trump says he has agreed with Vladimir Putin to buy Russian diesel, prompting an angry response from Ukrainian President Volodymyr Zelenskyy.

Trump announced the agreement on Truth Social on Friday, saying Russia would deliver millions of tonnes of diesel over the next few months. He said the purchase was needed to bring down US fuel prices.

Zelenskyy criticised the announcement and warned that back-room deals with Putin would give the Russian leader more opportunities on the battlefield. The move could also strain relations with Nato allies after years of Western pressure on Moscow over its war against Ukraine.

US fuel costs have risen amid the war with Iran and the closure of the Strait of Hormuz. On Saturday, Ukrainian officials reported that a Russian attack in the south-east had killed 12 people, including three children. Moscow claimed its troops were advancing in the east.