Note: Today’s update includes static maps only of areas in which noteworthy changes or events occurred.
Toplines
The Kremlin continues to reiterate Russia’s commitment to its maximalist war aims of complete Ukrainian capitulation while Russian forces fail to achieve operationally significant gains. Kremlin Spokesperson Dmitry Peskov claimed on July 22 that Russian President Vladimir Putin’s June 2024 speech emphasizing Russia’s maximalist war aims, including Ukraine’s complete withdrawal from Ukrainian-controlled territory in Luhansk, Donetsk, Zaporizhia, and Kherson oblasts and the abandonment of Ukraine’s NATO accession aspirations before any peace negotiations, are still the basis of the Kremlin’s conditions for ending the war in Ukraine.[1] Bloomberg reported on July 22, citing three people close to the Kremlin, that Russia is unwilling to return any Russian-occupied territories in Ukraine as part of any peace proposal and that Putin is committed to the military seizure of the remainder of Donetsk Oblast and the establishment of a “buffer zone” along the border areas of northern Sumy and Kharkiv oblasts.[2] Bloomberg noted, citing two sources close to the Kremlin, that Russia will return to peace negotiations only after seizing all of Donetsk Oblast, an objective that one source close to the Kremlin claimed that the Russian Ministry of Defense (MoD) has assured Putin that Russian forces can achieve by the end of 2026. Russian forces are extremely unlikely to achieve this objective before the end of 2026, however, and the Russian rate of advance in Ukraine has slowed such that ISW is not prepared to assess that Russian forces can seize all of Donetsk Oblast on any timeline.[3] The Kremlin appears to be rejecting any territorial concessions as part of a peace proposal and is reasserting Russia’s maximalist demands, which Putin presented in 2024 at a time when Russian forces were achieving notable battlefield advances, even as Russian forces struggle to achieve meaningful territorial advances across the frontline. The Russian MoD amplified a Russian propaganda Telegram channel on July 22 claiming that Russian forces seized 2,226 square kilometers of territory in the first six months of 2026.[4] ISW has observed evidence to assess that Russian forces seized a net total of only 81.1 square kilometers thus far in 2026, due in part to a significant Ukrainian Spring-Summer 2026 counteroffensive and seized or infiltrated 626.85 square kilometers thus far in 2026. Russian forces do not control territory into which they have only infiltrated. Russian officials continue exaggerating Russian battlefield successes to construct a false reality that appears to be shaping Putin’s understanding of the situation and encouraging him to persist in refusing compromise on his demands.[5]
Russian Foreign Minister Sergei Lavrov claimed on July 22 that “American colleagues” have not yet rejected their “proposals” to which Russia agreed in Anchorage and that US President Donald Trump and Russian President Vladimir Putin reached unspecified agreements during the August 2025 Alaska Summit.[6] Lavrov appears to have started accepting the reality that the United States and Russia did not sign any formal or legally binding agreements in Anchorage but is persisting in Kremlin claims that agreements were reached. US Secretary of State Marco Rubio recently confirmed on June 25 that Russia and the United States did not reach any agreement to end Russia’s war in Ukraine during the Alaska Summit.[7] Lavrov is likely trying to set conditions to persuade the United States to officially commit to their Anchorage proposals ahead of or during his meeting with Rubio on July 23.
The Kremlin appears to be setting conditions for potential mobilization and is preparing for possible civil unrest in Russia resulting from mobilization. The Russian State Duma passed a bill on July 22 that allows citizens with unexpunged and active criminal records, including for crimes related to drug smuggling and organized crime, to sign contracts with the Russian Ministry of Defense (MoD) during formal mobilization periods.[8] Russian Deputy Defense Minister and Russian MoD Main Military-Political Directorate Head Army General Viktor Goremykin stated on July 22 that the July 22 bill will expand the number of Russians eligible for military service and facilitate Russian recruitment efforts for the war in Ukraine in 2026.[9] Russia’s militarized internal security force, Rosgvardia, published proposed amendments on July 21 to expand its civil defense regulations to protect Russian society from unspecified “dangers” during mobilization, martial law, and in wartime.[10] Russian President Vladimir Putin signed a bill in November 2025 that allows him to deploy reservists to combat areas without declaring mobilization, and ISW assessed at the time that the Kremlin would likely leverage this bill to conduct rolling partial reserve call-ups.[11] The Kremlin appears to be setting conditions to announce formal mobilization and potentially declare martial law in Russia in anticipation of civil unrest as mobilization remains highly unpopular within Russian society. Mobilization remains a very personal decision for Putin and is ultimately contingent on Putin’s personal perception of the battlefield situation and the Kremlin’s stability, and it remains unclear whether Putin will make such a decision in the near future or what his mobilization announcement would look like.
Russian President Vladimir Putin is attempting to downplay Russia’s economic problems despite the ongoing fuel shortage crisis and broader Russian economic decline. Putin held a meeting on July 22 on the current Russia’s economic situation and claimed that Russia’s economy is stable despite “external attempts to destabilize the fuel and energy sector,” referring to Ukraine’s long-range strike campaign against Russian energy infrastructure.[12] Putin dismissed Russian fuel market issues as temporary and claimed that they will not affect Russia’s economic dynamics. Putin claimed that Russian Ministry of Economic Development data indicates that Russia’s Gross Domestic Product (GDP) grew by 0.3 percent in May 2026 and by 0.2 percent in the first five months of 2026. Putin claimed that the Russian government ran a 196-billion-ruble (about $2.51 billion) surplus in June 2026 and that the Russian money supply grew by 13 percent year on year as of July 1, 2026. Putin’s July 22 statements follow a recent string of Russian officials attempting to portray Russia’s economy as stable despite the ongoing fuel shortages and other economic issues. Russian Deputy Prime Minister and Economy Minister Alexander Novak and Russian State Duma Speaker Vyacheslav Volodin both claimed on July 21 that Russian economic policies are stabilizing the fuel market, and Zaporizhia Oblast occupation governor Yevgeny Balitsky claimed on July 20 during a meeting with Putin that Russian authorities secured energy facilities in occupied Zaporizhia against Ukrainian drone strikes.[13]
Putin himself admitted during the July 22 meeting that Russia’s economy has shown “modest” GDP growth, and the data Putin presented suggests that Russia’s economy will likely continue struggling with inflation as the money supply increases.[14] Russian food supplier and manufacturer association Rusprodsoyuz told Kremlin newswire TASS on July 21 that the cost of Russia’s monthly minimum food basket grew by 7.9 percent since the start of 2026, signaling that Russia’s economy is struggling with inflation.[15] ISW has observed a number of indicators of Russia’s economic decline, including the fact that the Moscow Exchange Composite Stock Index (IMOEX) on July 16 experienced the largest single-day decline since September 2022, Russia’s reduction of agricultural exports amidst Ukrainian strikes against energy infrastructure and vessels in the Azov and Black seas, and reports of Russian capital flight.[16] Russian business newspaper Kommersant reported on July 20, citing a report by analytics agency Platts, that Russian refineries have yet to fulfill over 81 percent of the gasoline purchase requests despite some oil refineries resuming fuel sales.[17] Russian authorities continue to struggle to mitigate fuel shortages and energy disruptions in Russia and occupied Ukraine including in occupied Crimea, with little indication that these shortages are temporary as Putin and other Russian officials claim.[18] ISW continues to assess that the Russian government has adopted suboptimal economic policies to sustain its war in Ukraine, leading to many of Russia’s current economic issues, including increased and unsustainable war spending, growing inflation, significant labor shortages within the construction and services industries, and reductions in Russia’s sovereign wealth fund.[19]
Ukrainian President Volodymyr Zelensky appointed Ukrainian General Staff Deputy Chief Major General Ihor Skybyuk as the chief of the Ukrainian General Staff on July 22 to replace Major General Andriy Hnatov.[20] Skybyuk has served as the deputy chief of the Ukrainian General Staff since June 3, 2025 and was the Ukrainian Airborne Assault Forces commander from February 11, 2024 to June 3, 2025.[21]
Key Takeaways
- The Kremlin continues to reiterate Russia’s commitment to its maximalist war aims of complete Ukrainian capitulation while Russian forces fail to achieve operationally significant gains.
- The Kremlin appears to be setting conditions for potential mobilization and is preparing for possible civil unrest in Russia resulting from mobilization.
- Russian President Vladimir Putin is attempting to downplay Russia’s economic problems despite the ongoing fuel shortage crisis and broader Russian economic decline.
- Ukrainian President Volodymyr Zelensky appointed Ukrainian General Staff Deputy Chief Major General Ihor Skybyuk as the chief of the Ukrainian General Staff on July 22 to replace Major General Andriy Hnatov.
- Ukrainian forces struck two additional logistics facilities of Russia’s largest online retailer Wildberries (roughly equivalent to Russia’s version of Amazon) overnight on July 21 to 22. Russia launched one Iskander-M ballistic missile, three Kh-59/69 cruise missiles, and 216 drones against Ukraine overnight.
- Russian forces recently advanced in the Kostyantynivka direction.
We do not report in detail on Russian war crimes because these activities are well-covered in Western media and do not directly affect the military operations we are assessing and forecasting. We will continue to evaluate and report on the effects of these criminal activities on the Ukrainian military and the Ukrainian population and specifically on combat in Ukrainian urban areas. We utterly condemn Russian violations of the laws of armed conflict and the Geneva Conventions and crimes against humanity even though we do not describe them in these reports.
Ukrainian Operations in the Russian Federation
Ukrainian forces struck oil infrastructure and Wildberries (the closest Russian equivalent of Amazon) warehouses in Krasnodar and Stavropol krais overnight on July 21 to 22. Ukrainian President Volodymyr Zelensky reported on July 22 that Ukrainian forces struck logistics centers involved in providing Russian forces with drone components and navigation equipment and an oil depot in Krasnodar Krai and Stavropol Krai.[22] Krasnodar Krai authorities acknowledged on July 21 that over 16 Ukrainian drones targeted Armavir, Krasnodar Krai (about 475 kilometers from the frontline) and that an unspecified number struck an oil depot, causing a large fire.[23] Geolocated footage published on July 21 shows fires burning at Wildberries logistics hubs in Krasnodar City (roughly 360 kilometers from the frontline) and Nevinnomyssk, Stavropol Krai (roughly 550 kilometers from the frontline).[24] Wildberries CEO Tatyana Kim acknowledged on July 21 that Ukrainian forces struck two Wildberries logistics centers in Krasnodar City and Nevinnomyssk.[25] Ukrainian forces previously struck several Wildberries warehouses in Moscow Oblast and Tambov Oblast on the nights of July 18 to 19 and 20 to 21.[26]
Ukraine’s long-range strike campaign continues to force Russian authorities to restrict airspace in Moscow City. Russian outlet Kommersant reported on July 22 that Russian state aviation regulator Rosaviatsia issued a notice to airmen (NOTAM) lowering flight altitudes near Moscow City to 4,900 meters and banned transit flights over the city.[27] Kommersant noted that the ban on transit flights will reduce the volume of flights but increase fuel consumption and flight time. Rosaviatsia previously restricted civilian flight altitudes to 5,200 in the airspace above Moscow City, most of Moscow Oblast, and parts of Ryazan, Tula, Kaluga, Tver, Yaroslavl, and Vladimir oblasts on June 17, 2026, but Ukrainian strikes against Russian territory have only intensified since then.[28] ISW continues to assess that Russia has largely failed to defend its rear against Ukrainian strikes and that growing airspace restrictions are part of the Kremlin’s effort to mitigate the threat of Ukrainian drones.[29]
Russian Supporting Effort: Northern Axis
Russian objective: Create defensible buffer zones in Sumy Oblast along the international border
Russian forces continued offensive operations in northern Sumy Oblast on July 21 and 22 but did not advance as Ukrainian forces counterattacked in the area.[30] A Russian milblogger claimed on July 21 that Ukrainian forces counterattacked near Yunakivka (northeast of Sumy City).[31] Geolocated footage published on July 22 shows Ukrainian forces striking a Russian fuel and lubricants depot in Brovnichi, Bryansk Oblast (on the international border with Chernihiv Oblast).[32]
Russian Main Effort: Eastern Ukraine
Russian Subordinate Main Effort #1 – Kharkiv Oblast
Russian objective: Push Ukrainian forces back from the international border to create a defensible buffer zone with Belgorod Oblast and approach to within tube artillery range of Kharkiv City
Russian forces continued offensive operations in northern Kharkiv Oblast and in the Velykyi Burluk direction on July 21 and 22 but did make confirmed advances.[33] The Russian Ministry of Defense (MoD) claimed on July 22 that elements of the Russian 34th Separate Motorized Rifle Brigade (49th Combined Arms Army [CAA], Southern Military District [SMD]) and of the 11th Tank Regiment (18th Motorized Rifle Division, 11th Army Corps [AC], Leningrad Military District [LMD]) seized Artilne (northeast of Velykyi Burluk).[34] A Russian milblogger claimed on July 22 that Russian forces seized Hrafske (northeast of Kharkiv City).[35]
Russian sources continue to post likely artificial intelligence (AI)-altered footage of flag-raising events as part of a cognitive warfare effort aimed at exaggerating Russian advances. Geolocated footage published on July 20 shows Russian forces raising flags in Hrafske (northeast of Kharkiv City).[36] ISW has reason to suspect that this footage is AI-altered. Russian forces have increasingly published suspicious footage to propagate claims of expansive Russian advances for informational effects.[37]
Order of Battle: Russian sources claimed that elements of the Russian 34th Separate Motorized Rifle Brigade (49th Combined Arms Army [CAA], Southern Military District [SMD]) seized Artilne, the first evidence ISW has observed of this brigade in the Velykyi Burluk direction.[38] ISW has recently observed elements of the Russian 34th Separate Motorized Rifle Brigade operating in both the Dnipro and Zaporizhia directions.[39] Evidence of the Russian 34th Separate Motorized Rifle Brigade operating in the Velyky Burluk direction on July 22 indicates that the Russian military command likely redeployed elements of the brigade to the Velykyi Burluk direction and split the brigade between the Velykyi Burluk axis and the Dnipro and Zaporizhia directions.
Russian Subordinate Main Effort #2 – Oskil River
Russian objective: Cross the Oskil River in Kharkiv Oblast and push westward into eastern Kharkiv Oblast and northern Donetsk Oblast
Russian forces conducted limited offensive operations in the Kupyansk direction on July 21 and 22 but did not advance.[40]
Geolocated footage published on July 18 shows a Ukrainian MiG-29 Fulcrum striking a Russian drone control point east of Kurylivka with two GBU-39 guided glide bombs.[41]
Russian forces are reportedly struggling to advance in the Kupyansk direction reportedly due to Ukrainian forces’ drone density and Russian forces’ shortage of trained personnel and gasoline. A spokesperson for a Ukrainian brigade operating in the Kupyansk direction reported on July 22 that a high density of Ukrainian drone activity in the Kupyansk direction is preventing Russian forces from operating significant amounts of drones, including Lancet and Molniya-type strike drones.[42] The Ukrainian spokesperson reported that elements of Russian 347th Motorized Rifle Regiment (47th Tank Division, 68th Army Corps [AC], Eastern Military District [EMD]) operating in the Kupyansk direction are facing an acute fuel shortage, restricting their use of motorcycles, all-terrain vehicles (ATVs), and passenger vehicles. The spokesperson reported that Russian forces are unable to conduct active offensive operations because of a shortage of trained personnel.
A Russian milblogger claimed that Russian forces continued limited offensive operations in the Borova direction on July 22, but Russian forces did not advance.[43]
Ukrainian forces continued their intermediate-range strike campaign against energy infrastructure in occupied Luhansk Oblast. Ukrainian Luhansk Oblast Military Administration Head Oleksiy Kharchenko reported on July 22 that Ukrainian forces struck two power substations in occupied Bila Hora (roughly 10 kilometers from the frontline) and Bezhynove (roughly 80 kilometers from the frontline).[44]
Russian Subordinate Main Effort #3 – Donetsk Oblast
Russian objective: Capture the entirety of Donetsk Oblast, the claimed territory of Russia’s proxies in Donbas, and advance into Dnipropetrovsk Oblast
Russian forces continue intensifying ground operations in the Slovyansk direction. A spokesperson for a Ukrainian brigade operating in the Slovyansk direction reported on July 22 that Russian forces are intensifying small infantry group assaults in the Slovyansk direction despite taking high losses.[45] The Ukrainian spokesperson reported that Russia still has a “reserve” of personnel in the Slovyansk direction and large numbers of reconnaissance and strike drones, noting that these factors are the main drivers of the recent intensification.
A Russian milblogger claimed on July 21 that Russian forces advanced north and west of Rai-Oleksandrivka (southeast of Slovyansk).[46]
Russian forces conducted FAB aerial bomb strikes against civilian infrastructure and a Ukrainian position in the Slovyansk direction. Slovyansk Military Administration Head Vadym Lyakh reported on July 22 that Russian forces dropped four FAB-250s glide bombs on Slovyansk, damaging six homes and an educational institution, and injuring two people.[47] Geolocated footage published on July 22 shows Russian forces striking a Ukrainian position near Mykolaivka (east of Slovyansk) with FAB-500 glide bombs.[48]
Control over Kostyantynivka remains contested as of July 22. ISW has clarified its control-of-terrain based on recent geolocations of footage as old as July 7 and collected on July 21, which indicates that Russian forces continue to infiltrate throughout much of Kostyantynivka but that Ukrainian forces likely hold positions in many of the areas in which Russian forces infiltrated or have claimed to have seized. Geolocated footage published from July 11 to 21 indicates that Russian forces continue to infiltrate in northwestern, central, eastern, and southwestern Kostyantynivka.[49] Additional geolocated footage published on July 16 to 20 indicates that Ukrainian forces still maintain positions in northwestern, northeastern, and central Kostyantynivka, contrary to Russian claims and often in areas where Russian forces have infiltrated.[50] ISW’s Russian claims and infiltration layers definitionally can include Ukrainian positions. Additional geolocated footage published on July 11 and 17 shows both Ukrainian and Russian forces at positions in an industrial area in southern Kostyantynivka, also indicating that Russian forces exercise less control over this area of southern Kostyantynivka than ISW previously assessed.[51] All the geolocated footage indicates that Russian forces still do not control all of Kostyantynivka as senior Russian commanders have recently claimed, and that Ukrainian forces still hold positions in many contested areas of the city.
Additional geolocated footage published on July 18 indicates that Ukrainian forces hold positions in Molocharka (northeast of Kostyantynivka), contrary to Russian claims. Geolocated footage published on July 19 and 20 shows Ukrainian forces striking Russian positions in western Illinivka (west of Kostyantynivka) and in central Dovha Balka (southwest of Kostyantynivka) after what were likely infiltration missions.[52]
Russian forces recently advanced toward Dobropillya. Ukrainian military observer Kostyantyn Mashovets reported on July 22 that Russian forces advanced up to the line Rodynske- Novooleksandrivka (south of Dobropillya) in areas where ISW previously assessed that Russian forces infiltrated and Ukrainian forces maintained positions, indicating that Russian forces likely seized Novooleksandrivka.[53] Mashovets further indicated that Russian forces recently infiltrated south of Novomykolaivka; into Kucheriv Yar (both northeast of Dobropillya), Vilne (east of Dobropillya), Toretske, Novyi Donbas (both southeast of Dobropillya), and Vodyansk (south of Dobropillya); and through Vasylivka (southwest of Dobropillya).[54]
The Russian Ministry of Defense (MoD) claimed that Russian forces dropped four FAB-500 glide bombs near Dobropillya.[55]
Russian forces may become stuck in protracted fighting in the Dobropillya area, however, which would undermine their ability to reinforce the Russian effort against the fortress belt. Mashovets reported that elements of the Russian 2nd Combined Arms Army (CAA, Central Military District [CMD]) and 51st CAA (Southern Military District [SMD]), with support from units of the 41st CAA (CMD), are attempting to advance to the outskirts of Dobropillya along the Pokrovsk-Dobropillya and the Novotoretske-Novyi Donbas (southeast of Dobropillya) lines, respectively.[56] Mashovets reported that both the 2nd and 51st CAAs made tactical gains, advancing the main body of their forward elements to the lines Vasilyivka – Rodynske (south to southeast of Dobropillya) and Dorozhnye-Shakhove (southeast of Dobropillya), respectively, and conducting several small group infiltration missions beyond these lines. Mashovets noted that the Russian military command has been actively reinforcing these CAAs, which are bringing artillery, mortars, and small groups of armored vehicles closer to the frontline, likely in preparation for further efforts toward Dobropillya.[57] Mashovets assessed that Russian forces likely aim to seize Dobropillya quickly in order to set the starting conditions for an offensive against Druzhkivka and free forces to support the Central Grouping of Forces as part of a potential Summer-Fall 2026 offensive against the Fortress Belt. Mashovets noted, however, that Russian forces may become stuck fighting toward and for Dobropillya, undermining the entire Russian effort against the Fortress Belt. Mashovets assessed that the Russian military command is assuming it will be able to use forces currently operating toward Dobropillya to support the Southern Grouping of Force’s effort against the Fortress Belt, but noted that if this assumption fails Russian forces advancing on the Fortress Belt from the south are likely to become even more bogged down than they already are in their current effort against Kostyantynivka.[58]
Order of Battle: Mashovets reported that the Russian military command attached the 91st Separate Rifle Regiment (previously under the operational control of the 29th CAA, Eastern Military District [EMD]) to the 51st CAA.[59] Ukrainian forces previously struck the headquarters of the 91st Separate Rifle Regiment in occupied Mykilske (in southern Donetsk Oblast and in the Russian rear, roughly 50 kilometers from the frontline) on June 10.[60] Mashovets reported that the Russian military command also attached the 99th, 107th, and 111th separate rifle regiments to the 51st CAA – the first evidence ISW has observed of these units operating on the battlefield.[61] Mashovets also reported that elements of the Russian 92nd Missile Brigade (2nd CAA, CMD) are operating in the Dobropillya direction. ISW has observed evidence of the Russian 92nd Missile Brigade (2nd CAA, CMD) operating in the Toretsk and Pokrovsk directions as of September 2024.[62]
Russian forces continued offensive operations in the Pokrovsk direction on July 21 and 22 but did not advance.[63]
Ukrainian forces struck military targets near the frontline in the Pokrovsk direction. Geolocated footage published on July 21 shows Ukrainian forces striking a Russian ammunition depot in occupied Novotroitske (roughly seven kilometers from the frontline) with a guided bomb unit (GBU) and a BM-21 Grad multiple launch rocket system (MLRS) near occupied Shevchenko Pershe (roughly 12 kilometers from the frontline) with a drone.[64]
Russian forces continued limited offensive operations in the Novopavlivka direction on July 22 but did not advance.[65]
The Russian Ministry of Defense (MoD) continues to use suspect footage and expansive claims of Russian advances to achieve informational effects in the Oleksandrivka direction. The Russian Ministry of Defense (MoD) claimed on July 22 that Russian forces seized Blahodatne (southwest of Oleksandrivka) and published footage claiming to show a Russian servicemember waiving a flag in Blahodatne.[66] ISW assesses that Russian forces filmed the footage of the Russian servicemember at a different location and edited the footage to include overhead drone footage of Blahodatne, all to reinforce the Russian MoD’s claim. ISW has observed evidence to assess that Russian forces have infiltrated to within 11 kilometers of Blahodatne. It is therefore unlikely that Russian forces have seized or even recently entered Blahodatne given the settlement’s distance from the closest observed Russian infiltration mission. The footage and the Russian MoD’s claim are part of a wider pattern of the Russian MoD and other Russian sources publishing suspect footage to propagate claims of expansive Russian gains for informational effects.[67]
Russian Supporting Effort: Southern Axis
Russian objective: Maintain frontline positions, secure rear areas against Ukrainian strikes, and advance within tube artillery range of Zaporizhzhia City
Russian forces continued offensive operations in the Hulyaipole direction on July 21 and 22 but did not advance.[68]
Russian forces continued limited offensive operations in western Zaporizhia Oblast on July 21 and 22 but did not make confirmed advances.[69] A Russian milblogger claimed on July 22 that Russian forces advanced south of Mala Tokmachka (southeast of Orikhiv).[70]
Ukrainian forces continued intermediate-range and frontline strikes against Russian military assets in occupied Zaporizhia Oblast.[71] Geolocated footage published on July 22 shows Ukrainian forces targeting a Russian military logistics convoy of several vehicles along the M-18 Melitopol-Chonhar highway near occupied Danylo-Ivanivka (roughly 74 kilometers from the frontline).[72] Ukrainian Unmanned Systems Forces (USF) Commander Major Robert “Magyar” Brovdi reported on July 22 that Ukrainian forces struck two electrical substations in occupied Berdyansk (roughly 74 kilometers from the frontline) and Bilmak (roughly 36 kilometers from the frontline).[73] The Zaporizhia Oblast Military Administration reported on July 20 that the Ukrainian Security Service (SBU) struck a Russian 35N6 Kasta radar system in an unspecified area of Zaporizhia Oblast.[74]
Neither Russian nor Ukrainian sources reported ground activity in the Kherson direction on July 22. Geolocated footage published on July 21 shows a Ukrainian drone striking a Russian high-speed boat south of Veletenske (roughly three and a half kilometers from the frontline) in the Dnipro River delta.[75]
Russian forces continued to strike civilian targets in Kherson Oblast on July 21 and 22 as part of their “human safari” strike campaign. The Kherson Oblast Military Administration reported on July 22 that Russian drones struck a minibus in central Kherson City, killing one.[76] Geolocated footage published on July 21 shows the aftermath of a Russian first-person view (FPV) drone strike against the civilian minibus.[77] ISW continues to assess that Russian drone operators deliberately search for and strike civilian targets on the right bank of Kherson Oblast as part of their human safari strikes that use civilian harm as a tool of war.[78]
Ukrainian forces continued their intermediate-range strike campaign against Russian military assets in occupied Kherson Oblast. Brovdi reported on July 22 that Ukrainian forces struck an electrical substation in occupied Olhyne (roughly 22 kilometers from the frontline).[79] The Kherson Oblast occupation administration claimed on July 22 that “technical disruptions” caused power outages in every district of occupied Kherson Oblast.[80]
Ukrainian strikes against energy infrastructure in occupied Crimea continue to cause power outages on the peninsula. Brovdi reported on July 22 that Ukrainian forces struck the 110 kV Alushta electrical substation in occupied Alushta (roughly 250 kilometers from the frontline); the 110 kV Massandra and Yalta electrical substations in occupied Yalta (roughly 260 kilometers from the frontline); the 110 kV Luchyste electrical substation in occupied Luchyste (roughly 240 kilometers from the frontline); the 110 kV Alupka and Darsan electrical substations in occupied Alupka (roughly 270 kilometers from the frontline); the 110 kV Zymyne electrical substation in occupied Zymyne (roughly 140 kilometers from the frontline); the 110kV Zorya electrical substation near Ponizivka (about 260 kilometers from the frontline); and an electrical substation in occupied Shyroke (roughly 180 kilometers form the frontline) overnight on July 21 to 22.[81] Crimean occupation energy operator Krymenergo reported that Ukrainian strikes caused power outages in occupied Crimea.[82]
Russian Air, Missile, and Drone Campaign
Russian Objective: Target Ukrainian military and civilian infrastructure in the rear and on the front line
Russian forces conducted a series of drone and missile strikes against Ukraine on the night of July 21 to 22. The Ukrainian Air Force reported that Russian forces launched one Iskander-M ballistic missile and three Kh-59/69 guided missiles from occupied Crimea and 216 Shahed-type strike drones and Gerbera-, Italmas-, and Parodiya-type decoy drones from Bryansk and Oryol cities; Millerovo, Rostov Oblast; Primorsk-Akhtarsk, Krasnodar Krai; occupied Donetsk City; and occupied Hvardiiske, Crimea.[83] The Ukrainian Air Force reported that Ukrainian forces downed three Kh-59/69 guided missiles and 204 drones, that one Iskander-M ballistic missile and 12 drones struck 12 locations, and that downed aerial object fragments struck seven locations. Ukrainian officials reported that Russian forces struck residential, industrial, and fuel infrastructure in Chernihiv, Dnipropetrovsk, Donetsk, Kharkiv, Kherson, Kyiv, Mykolaiv, Odesa, Sumy, and Zaporizhia oblasts.[84] Ukrainian state energy operator Ukrenergo reported on July 22 that Russian strikes against Ukrainian energy infrastructure caused power outages in Donetsk, Dnipropetrovsk, Kharkiv, Kherson, Kyiv, Odesa, Mykolaiv, and Sumy oblasts.[85]
The United Nations Children’s Fund (UNICEF) reported on July 20 that Russian forces struck a UNICEF warehouse in Bilohorodka, Kyiv Oblast on July 19 to 20, and destroyed 106,000 items of humanitarian supplies.[86]
Significant Activity in Belarus
Russian efforts to increase its military presence in Belarus and further integrate Belarus into Russian-favorable frameworks
The Belarusian Ministry of Defense (MoD) reassured Belarusian President Alexander Lukashenko that there is no imminent military threat from NATO or Ukraine. Belarusian Defense Minister Lieutenant General Viktor Khrenin reported to Lukashenko on July 22 that the military and political situation in Belarusian-NATO relations is stable and that there are no signs of preparations for a surprise attack on Belarus.[87] Khrenin claimed that NATO states are conducting minimal military exercises in neighboring states, and that Ukrainian forces along the Belarusian border are not preparing any aggressive actions against Belarus. Khrenin refuted media reports that Belarus is building defensive fortifications along its southern border with Ukraine and claimed that the reports intend to create tensions between Belarus and Ukraine.
Note: ISW does not receive any classified material from any source, uses only publicly available information, and draws extensively on Russian, Ukrainian, and Western reporting and social media as well as commercially available satellite imagery and other geospatial data as the basis for these reports. References to all sources used are provided in the endnotes of each update.

[1] https://t.me/tass_agency/386481 ; https://tass dot com/politics/2163601; ttps://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_7-6/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-14-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_30-5/; https://www.mid dot ru/ru/foreign_policy/news/1957107/
[2] https://www.bloomberg.com/news/articles/2026-07-22/kremlin-hardens-demands-on-occupied-land-in-ukraine-blaming-us?srnd=homepage-europe
[3] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-30-2026/
[4] https://t.me/warfakes/34957; https://t.me/mod_russia/65824
[5] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-may-12-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-12-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-30-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-29-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-31-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-24-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-26-2026/;
[6] https://mid dot ru/ru/foreign_policy/news/2128432/
[7] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-25-2026/
[8] https://sozd dot duma.gov.ru/bill/1293209-8 ; https://www.rbc dot ru/politics/22/07/2026/6a60a7f09a7947be033bf0d2?from=main_lines_3&utm_referrer=https%3A%2F%2Ft.me%2F
[9] https://www dot interfax.ru/russia/1104817
[10] https://regulation dot gov.ru/projects/169492/ ; https://meduza dot io/news/2026/07/21/rosgvardiya-budet-zaranee-gotovitsya-k-mobilizatsii-i-voennomu-polozheniyu
[11] https://understandingwar.org/research/russia-ukraine/warning-the-kremlin-is-preparing-to-mobilize-reservists-on-a-rolling-basis-to-fight-in-ukraine-for-the-first-time/
[12] http://kremlin dot ru/events/president/news/80323
[13] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-21-2026/; https://t.me/vv_volodin/1701; https://meduza dot io/news/2026/07/21/gosduma-odobrila-mehanizm-sderzhivaniya-rosta-tsen-na-dizelnoe-toplivo-radi-etogo-vlasti-budut-subsidirovat-importerov; https://t.me/tass_agency/386292; https://t.me/tass_agency/386285; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-20-2026/; http://kremlin dot ru/events/president/news/80309
[14] http://kremlin dot ru/events/president/news/80323
[15] https://tass dot ru/ekonomika/27939329
[16] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-17-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-18-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-16-2026/
[17] https://www.kommersant dot ru/doc/8830760?from=top_main_3
[18] https://understandingwar.org/research/russia-ukraine/ukraines-strike-campaigns-will-likely-continue-to-hurt-russias-economy-and-military-operations-in-ukraine/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-27-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-21-2026/; https://t.me/idelrealii/45678; https://vk.com/borismelkoedov?w=wall587737584_15733
[19] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-13-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-may-3-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-13-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-january-12-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-20-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-17-2026/
[20] https://x.com/ZelenskyyUa/status/2079864149241139457
[21] https://www.zsu dot gov.ua/en/modern-armed-forces-of-ukraine/leadership/deputy-chief-of-the-general-staff-of-the-armed-forces-of-ukraine-2; https://kyivindependent.com/zelensky-appoints-new-combined-forces-airborne-territorial-defense-commanders/ and https://www.president.gov dot ua/documents/3822025-55249
[22] https://t.me/V_Zelenskiy_official/20102
[23] https://t.me/armawir_adm/21789 ; https://t.me/kondratyevvi/10808
[24] https://x.com/neonhandrail/status/2079762482261115166 ; https://x.com/GirkinGirkin/status/2079756172425359855 ; https://x.com/Exilenova_plus/status/2079757292350869790 ; https://x.com/nexta_tv/status/2079795961321214427 ; https://x.com/ayzin_illya/status/2079801998447178054?s=20 ; https://x.com/Exilenova_plus/status/2079754470473490788?s=20
[25] https://t.me/kimtatyana2024/782
[26] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-18-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-20-2026/
[27] https://www.kommersant dot ru/doc/8831661
[28] https://t.me/favt_ru/6510 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-1-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-22-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-26-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-22-2026/ ; e/russian-offensive-campaign-assessment-june-30-2026/https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-30-2026/
[29] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-17-2026/
[30] https://t.me/GeneralStaffZSU/41384; https://t.me/GeneralStaffZSU/41367; https://t.me/GeneralStaffZSU/41363; https://t.me/dva_majors/96424; https://t.me/wargonzo/35691; https://t.me/severnnyi/8765;
[31] https://t.me/DnevnikDesantnika/45597
[32] https://x.com/99Dominik_/status/2079896325684953287 ; https://www.facebook.com/reel/1403522951681543
[33] https://t.me/GeneralStaffZSU/41384; https://t.me/GeneralStaffZSU/41367; https://t.me/GeneralStaffZSU/41363; https://t.me/voenkorKotenok/73654; https://t.me/RVvoenkor/119637; https://t.me/tass_agency/386375; https://t.me/dva_majors/96424; https://t.me/wargonzo/35691; https://t.me/rybar/81916; https://t.me/voenkorKotenok/73654; https://t.me/rybar/81916
[34] https://t.me/mod_russia/65817; https://t.me/mod_russia/65813
[35] https://t.me/rybar/81916
[36] https://t.me/warriorofnorth/20432; https://t.me/Osintpen/3185; https://x.com/richardzai38580/status/2079597058076643475; https://x.com/richardzai38580/status/2079600770262171695; https://x.com/richardzai38580/status/2079603081378222351;
[37] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-20-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-17-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-13-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-7-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-5-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-2-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-28-2026/
[38] https://t.me/DnevnikDesantnika/45619; https://t.me/epoddubny/28318; https://t.me/sashakots/63272
[39] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-8-2026/
[40] https://t.me/GeneralStaffZSU/41384; https://t.me/wargonzo/35691; https://t.me/grvZapad/19214
[41] https://x.com/Osinttechnical/status/2079619509938163916 ; https://t.me/soniah_hub/17080
[42] https://www.youtube.com/watch?v=1IACnPXaSPo&t=1504s; https://armyinform dot com.ua/2026/07/22/bez-bronetehniky-j-palnogo-pislya-velykyh-vtrat-rosiyany-perejshly-do-oborony-na-kup%e2%80%99yanskomu-napryamku/
[43] https://t.me/wargonzo/35691
[44] https://t.me/luhanskaVTSA/36656
[45] https://suspilne dot media/donbas/1361066-armia-rf-posilue-nastup-na-slovanskomu-napramku-recnik-81-oaebr/
[46] https://t.me/divgen/82497
[47] https://www.facebook.com/Vadymlyakh/posts/pfbid0RxHzrZXzwRTap37yL8jn9Q9Tu7ap38gxARAEsyBvDGXjGfjv1m2V4M6wGrH1M522l
[48] https://t.me/Osintpen/3191; https://t.me/The_Wrong_Side/30121
[49] https://www.youtube.com/watch?v=ypIRn-uzgs4; https://x.com/AudaxonX/status/2079547225013723328?s=20; https://x.com/AudaxonX/status/2079547276846924079?s=20; https://x.com/AudaxonX/status/2079522345140490443; https://www.youtube.com/watch?v=x_xw0cWrSBo; https://t.me/skala425/936; https://x.com/AudaxonX/status/2079545241653190890; https://x.com/AudaxonX/status/2079545256291262742?s=20; https://x.com/AudaxonX/status/2079545317398114502?s=20; https://x.com/AudaxonX/status/2079545256291262742?s=20; https://x.com/AudaxonX/status/2079545196497289391?s=20; https://x.com/AudaxonX/status/2079545256291262742?s=20; https://www.instagram.com/bat_kruk.npu/reel/Da5LjhnsPP2/; https://x.com/AudaxonX/status/2079532365668352194?s=20; https://x.com/AudaxonX/status/2079532352628228517?s=20; https://x.com/AudaxonX/status/2079532340003422458?s=20; https://www.youtube.com/watch?v=Gfgzkg1tPGY; https://x.com/AudaxonX/status/2079476574261293361?s=20; https://x.com/AudaxonX/status/2079476574261293361?s=20; https://x.com/AudaxonX/status/2079476584411496749?s=20; https://x.com/AudaxonX/status/2079476596340088907?s=20; https://www.instagram.com/fenix.team.17csp/reel/Da2nc3RqMu/; https://x.com/AudaxonX/status/2079495272174960840; https://www.youtube.com/watch?v=w067n5XP6SM;
[50] https://x.com/AudaxonX/status/2079499339722883263 ; https://t.me/mod_russia/65627 ; https://x.com/AudaxonX/status/2079501732762026345?s=20; https://t [dot] me/ombr_28/3110; https://x.com/AudaxonX/status/2078488607854141602; https://t.me/rusich13sho/1942 ; https://x.com/AudaxonX/status/2079564240877166977?s=20; https://x.com/AudaxonX/status/2079564281771643280?s=20; https://x.com/AudaxonX/status/2079557081841988061?s=20; https://x.com/AudaxonX/status/2079557091648278929?s=20; https://t.me/donbassr/110933 W_Bat1/1124; https://x.com/AudaxonX/status/2079557101441929651; https://x.com/AudaxonX/status/2079557101441929651?s=20; https://x.com/AudaxonX/status/2079564260334526583?s=20; https://x.com/AudaxonX/status/2079564250754805935?s=20; https://x.com/AudaxonX/status/2079564300742447242?s=20; https://x.com/AudaxonX/status/2079564311198875982?s=20
[51] https://x.com/AudaxonX/status/2079497144482890165 ; https://t.me/SouthernRepublic/34628; https://x.com/AudaxonX/status/2079545241653190890; https://www.instagram.com/bat_kruk.npu/reel/Da5LjhnsPP2/
[52] https://x.com/AudaxonX/status/2079522264869978346?s=20; https://x.com/AudaxonX/status/2079522275083084257?s=20; https://x.com/AudaxonX/status/2079522284918739382?s=20; https://x.com/AudaxonX/status/2079522294620193090?s=20; https://x.com/AudaxonX/status/2079522304120242218?s=20; https://x.com/AudaxonX/status/2079522314828251472?s=20; https://t.me/skala425/936; https://www.youtube.com/watch?v=x_xw0cWrSBo
[53] https://t.me/zvizdecmanhustu/3518
[54] https://t.me/zvizdecmanhustu/3519
[55] https://t.me/mod_russia/65789
[56] https://t.me/zvizdecmanhustu/3518
[57] https://t.me/zvizdecmanhustu/3519; https://t.me/zvizdecmanhustu/3520
[58] https://t.me/zvizdecmanhustu/3521
[59] https://t.me/zvizdecmanhustu/3518
[60] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-10-2026/; https://t.me/raid_413/1432 ; https://armyinform dot com.ua/2026/06/10/rejd-feyerychno-rozvalyv-shtab-na-vidstani-ponad-50-kilometriv-urazheno-ligvo-okupantiv-na-donechchyni/
[61] https://t.me/zvizdecmanhustu/3518
[62] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_23-2/
[63] https://t.me/GeneralStaffZSU/41384; https://t.me/GeneralStaffZSU/41367; https://t.me/GeneralStaffZSU/41363; https://t.me/RVvoenkor/119658;
[64] https://t.me/WarArchive_ua/37199; https://t.me/soniah_hub/17151; https://t.me/WarArchive_ua/37199; https://x.com/99Dominik_/status/2079641464573747456 ; https://www.youtube.com/watch?v=QefH7BhcWLY
[65]https://t.me/GeneralStaffZSU/41367
[66] https://t.me/mod_russia/65815; https://t.me/mod_russia/65821
[67] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-20-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-17-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-13-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-7-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-5-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-2-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-28-2026/
[68]https://t.me/GeneralStaffZSU/41384 ; https://t.me/GeneralStaffZSU/41367 ; https://t.me/GeneralStaffZSU/41363 ; https://t.me/voin_dv/20314 ; https://t.me/wargonzo/35691
[69] https://t.me/GeneralStaffZSU/41384; https://t.me/GeneralStaffZSU/41367; https://t.me/wargonzo/35691;
[70] https://t.me/DnevnikDesantnika/45622
[71] https://suspilne dot media/zaporizhzhia/1360172-na-zaporizkomu-napramku-bijci-sbu-znisili-rosijsku-rls-kasta-vartistu-blizko-60-miljoniv-dolariv/; https://www.zoda.gov dot ua/news/79816/spivrobitniki-sbu-znishili-rosiysku-rls-kasta-vartistju-blizko-60-mln-dolariv.html; https://x.com/neonhandrail/status/2079908190318456864 ; https://x.com/414magyarbirds/status/2079613723413549195; https://t.me/andriyshTime/63761; https://suspilne dot media/1360872-drapatij-stane-novim-golovkomom-zsu-fedorovu-zaproponuvali-novu-posadu-u-vladi-1610-den-vijni/?anchor=live_1784705974&utm_source=copylink&utm_medium=ps; https://t.me/robert_magyar/2642
[72] https://x.com/neonhandrail/status/2079908190318456864 ; https://x.com/414magyarbirds/status/2079613723413549195
[73] https://t.me/robert_magyar/2642
[74] https://www.zoda.gov dot ua/news/79816/spivrobitniki-sbu-znishili-rosiysku-rls-kasta-vartistju-blizko-60-mln-dolariv.html ; https://suspilne dot media/zaporizhzhia/1360172-na-zaporizkomu-napramku-bijci-sbu-znisili-rosijsku-rls-kasta-vartistu-blizko-60-miljoniv-dolariv/
[75] https://x.com/jimmhelloman555/status/2079564472935432196; https://x.com/thefourthlawai/status/2078067532141879639
[76] https://www.facebook.com/khoda.gov.ua/posts/1449828000512358?ref=embed_post
[77] https://x.com/99Dominik_/status/2079826092949450997 ; https://t.me/kherson_non_fake/32253 ; https://t.me/mostks/65074
[78] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-april-7-2026/
[79] https://t.me/robert_magyar/2642
[80] https://t.me/VGA_Kherson/39697
[81] https://t.me/robert_magyar/2642
[82] https://t.me/crimeainform/46230
[83] https://t.me/kpszsu/69602
[84] https://t.me/chernigivskaODA/30647; https://t.me/chernihivrada/4106; https://t.me/chernihivrada/4108; https://t.me/dnipropetrovskaODA/30949 ; https://t.me/synegubov/24048 ; https://t.me/synegubov/24063; https://t.me/synegubov/24067 ;https://www.facebook.com/OliinykRuslanDRKF/posts/pfbid0oagVBe4U2qEm7QjA1x5VtkwHcXEd7iDqV5Gp91Po9BdkfHFUWwazcX8KxnNTCEygl?cft[0]=AZZYoF0RjtVkviBoHZWt45ICTWznF9E2644RRMK2BiNdxHxoqZlGlM0NIopl59sXX37Zc8lXv82ilkleO-TwCSIZsk7NryqVoRKqDnn6rTqWHZQpTkDmP_d3DaGdipiwD1ix3kKPKvfSWrPamCRmHO3P8_PPQa0bS4o9GxBlHsg-NQ&tn=%2CO%2CPR ; https://t.me/kyivoda/52644; https://www.facebook.com/mykoda/posts/pfbid021GmRama2SNUtgxQRyQdJXLYyLpsMbsHFytmBySw3rkzUYzZCSqeoEKcb3XqswTBul ; https://t.me/odeskaODA/17850 ; https://t.me/odeskaODA/17867 ; https://t.me/odeskaODA/17883 ; https://t.me/odeskaODA/17888 ; https://npu.gov dot ua/news/sim-liudei-sered-iakykh-dvoie-ditei-postrazhdaly-vnaslidok-vorozhykh-atak-na-sumshchyni-politseiski-dookumentuiut-naslidky-rosiiskykh-obstriliv ; https://t.me/ivan_fedorov_zp/44606; https://t.me/ivan_fedorov_zp/44607 ; https://t.me/ivan_fedorov_zp/44618 ; https://t.me/ivan_fedorov_zp/44642
[85] https://t.me/Ukrenergo/5242
[86] https://www.unicef.org/press-releases/children-continue-be-killed-and-injured-attacks-across-ukraine-unicef-warehouse
[87] https://t.me/modmilby/57547




