Skip to Content

Russia & Ukraine

Ukraine

Russian Offensive Campaign Assessment

Russian Offensive Campaign Assessment, July 20, 2026

July 20, 2026

Russian Offensive Campaign Assessment, July 20, 2026

Note: Today’s update includes static maps only of areas in which noteworthy changes or events occurred.

Toplines

Russian milbloggers rebutted Russian official statements that Russian forces have secured the M-14 Rostov-Crimea highway — the primary land route connecting mainland Russia to occupied Crimea against Ukrainian mid-range drone strikes. Russian President Vladimir Putin met Zaporizhia Oblast occupation governor Yevgeny Balitsky on July 20, and Balitsky claimed that Russian forces had established “complete control,” likely referring to security against Ukrainian drone strikes, over the M-14 Rostov Oblast-Crimea highway (which Russian occupation officials denote as the R-280 highway) in occupied Zaporizhia Oblast and significantly degraded Ukrainian drone operations against the highway.[1] Balitsky also claimed that authorities have secured all energy facilities against Ukrainian strikes. Balitsky’s claims provoked backlash from the Russian ultranationalist information space. A Russian milblogger directly refuted Balitsky’s statements as “incorrect” because Ukrainian forces regularly strike the M-14 highway, driving up insurance premiums for Russian vehicles delivering fuel to occupied Crimea.[2] The milblogger noted that Ukrainian drones also often fly over the M-14 highway as part of Ukraine’s intensified intermediate-range strike campaign against Russian naval targets in the Sea of Azov. A Kremlin-affiliated milblogger claimed that Ukrainian forces have conducted fewer strikes against Russian vehicles along the M-14 highway recently but only because there is significantly less traffic due to the threat of Ukrainian drones, not because Russian air defenses are becoming more effective.[3] ISW has observed evidence of at least four Ukrainian strikes along the M-14 highway between July 1 and July 20 following weeks of significant interdiction efforts against the highway in May and June 2026.[4] The Ukrainian intermediate-range interdiction campaign against occupied southern Ukraine has forced Russian forces to dedicate manpower and weapons, including drone crews and interceptor drones, to defending against Ukrainian strikes and now has appeared to have at least partially deprived Russian forces of a significant ground line of communication (GLOC) connecting Russia to occupied Crimea from the north. It is notable that the strike campaign has prompted continued responses from Putin and other Kremlin officials, and that Russian ultranationalists are challenging the official fictitious narrative about the success of Russian efforts to defend against Ukrainian strikes.

Russia’s continued long-range strike campaign against cities across Ukraine reportedly contributed to record high civilian casualties in the war in June 2026. The United Nations Human Rights Monitoring Mission in Ukraine (UN HRMMU) reported on July 14 that conflict-related violence in Ukraine killed at least 293 civilians and injured at least 1,990 in June 2026 — the highest number of civilian casualties in Ukraine since April 2022.[5] The UN HRMMU noted that the June 2026 civilian casualty rate is about a 10 percent increase from the previous record of at least 282 killed and 1,794 injured in May 2026 and that the vast majority of civilian casualties are in Ukrainian-controlled areas.[6] The UN HRMMU reported that missile and long-range drone strikes, particularly strikes against large population centers in Ukraine, remain the leading cause of the high number of civilian casualties, accounting for 126 civilian deaths and 907 civilian injuries, about 45 percent of the total civilian casualties in June 2026. The UN HRMMU reported that long-range strikes have killed 1,396 civilians and injured 7,978 since January 1, 2026, and civilian casualty rates have increased by 37 percent since June 2025. The UN HRMMU reported that Russia’s short-range drones caused the highest number of civilian casualties near the front thus far in the war in June 2026.

Key Takeaways

Map Thumbnail

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 a Wildberries (the closest Russian equivalent of Amazon) warehouse and an oil depot in Moscow Oblast overnight on July 19 to 20. Geolocated footage published on July 20 shows Ukrainian drones striking a Wildberries warehouse in Domodedovo, Moscow Oblast.[7] Russian opposition source Astra reported that Ukrainian forces also struck an oil depot in Podolsk, Moscow Oblast overnight on July 19 to 20, and NASA Fire Information for Resource Management System (FIRMS) data shows heat anomalies in the area.[8] Ukrainian President Volodymyr Zelensky acknowledged on July 20 that Ukrainian forces struck an oil depot and logistics facilities in Moscow Oblast.[9] Moscow City Mayor Sergey Sobyanin and Moscow Oblast Governor Andrey Vorobyov acknowledged Ukrainian strikes on Moscow City and Oblast on the night of July 19 to 20.[10]

Ukrainian forces continue to degrade Russia’s air defense umbrella. Ukrainian Unmanned Systems Forces (USF) Commander Major Robert “Magyar” Brovdi reported on July 20 that Ukrainian forces overnight struck six Russian air defense systems, including a Tor-M2 air defense system and Kasta-2E2, Gamma-C1M, and two Nebo-SV radar stations, in Krasnodar Krai.[11]

Satellite imagery published on July 19 confirms that Ukrainian forces destroyed a Russian Tu-95 strategic bomber in strikes against the Engels-2 Airbase in Saratov Oblast on July 15 to 16.[12]

Belgorod Oblast Acting Governor Alexander Shuvaev claimed on July 20 that Ukrainian forces struck a passenger bus in Shebekino, Belgorod Oblast (northeast of Kharkiv City).[13] Shuvaev claimed the Ukrainian strike killed five Russian civilians, including a child, and injured 23.

Russian Supporting Effort: Northern Axis

Russian objective: Create defensible buffer zones in Sumy Oblast along the international border

Russian forces conducted limited offensive operations in northern Sumy Oblast on July 19 and 20 but did not advance.[14] Geolocated footage published on July 18 shows Russian forces striking Ukrainian positions in Sumy Oblast southeast of Oleksandriya and along the international border west of Kucherov, Kursk Oblast (both northwest of Sumy City), indicating that Ukrainian forces maintain positions in the area contrary to Russian claims.[15] A source reporting on the Russian Northern Grouping of Forces claimed on July 20 that Russian forces are consolidating positions in eastern Taratutyne (southeast of Sumy City), indicating that Russian forces have likely infiltrated in eastern Taratutyne.[16]

Order of Battle: Elements of the 1st Motorized Rifle Battalion of the Russian 2nd Motorized Rifle Regiment (Russian Aerospace Forces [VKS]) are reportedly operating near Marine (east of Sumy City).[17] This is the first time ISW has observed reports of elements of the 2nd Motorized Rifle Regiment (VKS) operating on the battlefield.

Map Thumbnail

Map Thumbnail

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 north and northeast of Kharkiv City on July 19 and 20 but did not advance as Ukrainian forces counterattacked.[18]

Geolocated footage published on July 19 shows Ukrainian forces conducting intermediate-range drone strikes against fuel infrastructure and gas stations in northern Belgorod City and along the E-105 Kharkiv-Belgorod City highway near Novaya Derevnya and Mayskiy (both about 21 kilometers from the international border and on the southwestern outskirts of Belgorod City).[19]

Neither Russian nor Ukrainian sources reported ground activity in the Velykyi Burluk direction on July 20.

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 continued limited offensive operations in the Kupyansk and Borova directions on July 19 and 20 but did not advance.[20]

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 continued offensive operations in the Slovyansk direction on July 19 and 20 but did not make confirmed advances.[21] A Russian milblogger claimed that Russian forces advanced in northern and southeastern Lyman, Donetsk Oblast (northeast of Slovyansk).[22]

Russian forces continued offensive operations within and near Kostyantynivka on July 19 and 20 but did not make confirmed advances.[23] A Russian milblogger implied that some Russian forces may have entered Oleksiyevo-Druzhkivka (northwest of Kostyantynivka), the first instance of a Russian milblogger corroborating Russian Chief of the General Staff Army General Valery Gerasimov’s aggrandized July 18 claim that Russian forces reached Oleksiyevo-Druzhkivka.[24] ISW has observed evidence to assess that Russian forces have infiltrated as close as five kilometers from Oleksiyevo-Druzhkivka as of July 20. Another milblogger claimed that Russian forces entered Osykove (northwest of Kostyantynivka).[25]

Footage from the Russian 4th Separate Motorized Rifle Brigade (3rd Combined Arms Army [CAA], formerly 2nd Luhansk People’s Republic Army Corps [LNR AC], Southern Military District [SMD]) published on July 19 shows Russian forces raising a flag in the House of Culture in western Kostyantynivka and taking two Ukrainian soldiers prisoner.[26] The Russian brigade claimed that the footage depicts two Ukrainian servicemembers who had filmed themselves holding Ukrainian flags in the House of Culture on July 18 and that Russian forces seized Kostyantynivka. ISW has reason to assess that the Russian footage is artificial intelligence (AI) altered. The Russian footage does not constitute a change in ISW’s control of terrain, as Russian sources have previously claimed to have seized the House of Culture. The Ukrainian 425th Skala Regiment, which had published the July 18 footage of Ukrainian soldiers in the House of Culture, acknowledged that Russian forces had taken the two filmed servicemembers as prisoners but rejected Russian claims of seizing all of Kostyantynivka.[27] ISW has not observed sufficient evidence to assess that Ukrainian forces exercise control within the entire administrative boundaries of Kostyantynivka. ISW continues to assess that Russian forces have infiltrated throughout much of Kostyantynivka but that these individual infiltrators do not control many of the areas of Kostyantynivka into which they have infiltrated.[28]

Order of Battle: Elements of the 2nd Motorized Rifle Battalion of the Russian 78th Motorized Rifle Regiment, 42nd Motorized Rifle Division, 58th Combined Arms Army [CAA], Southern Military District [SMD]) are reportedly operating in Kostyantynivka.[29] This is the first time ISW has observed elements of the 78th Motorized Rifle Regiment’s 2nd Motorized Rifle Battalion operating on the battlefield, though elements of the 78th Motorized Rifle Regiment have been operating in the Kostyantynivka direction for several months.[30]

Russian forces continued offensive operations in the Dobropillya tactical area and Pokrovsk direction on July 19 and 20 but did not advance.[31]

Ukrainian forces recently maintained positions or advanced in the Novopavlivka direction. Geolocated footage published on July 16 shows Russian forces shelling Ukrainian forces in central Muravka (northeast of Novopavlivka) in areas where Russian forces had previously advanced.[32] A Russian milblogger claimed on July 20 that Russian forces withdrew from positions in northern and south of Bilyakivka (northeast of Novopavlivka), both areas where Russian forces had previously infiltrated.[33] The geolocated footage and milblogger report suggest that Ukrainian forces hold more forward positions northeast of Novopavlivka than ISW has previously assessed. The milblogger claimed that Russian forces advanced north of Filiya (southwest of Novopavlivka).[34]

Map Thumbnail

Russian sources claimed that Russian forces continued limited ground operations in the Oleksandrivka direction on July 20, but Russian forces did not advance.[35]

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

Ukrainian forces recently maintained positions or advanced in the Hulyaipole direction. A Ukrainian assault regiment operating in the Hulyaipole direction reported on July 20 that Ukrainian forces cleared the areas of Kosivtseve, Vozdvyzhivka, Rizdvyanka (all northwest of Hulyaipole) and Verkhnya Tersa (west of Hulyaipole) of Russian infiltration groups, capturing 64 Russian servicemembers.[36]

Map Thumbnail

Russian forces continued limited offensive operations in western Zaporizhia Oblast on July 20 but did not advance.[37]

Ukrainian forces continued intermediate and frontline strikes against Russian military assets in occupied Zaporizhia Oblast. Geolocated footage published on July 19 shows Ukrainian drones striking Russian military vehicles near Myrne (roughly six kilometers from the frontline) and a Ukrainian MiG-29 striking a Russian drone launch point near Mayachka (roughly 24 kilometers from the frontline).[38] Additional geolocated footage published on July 20 shows Ukrainian forces conducting a drone strike against a Russian Buk M-1 surface-to-air missile (SAM) system near occupied Zelenopil (roughly 40 kilometers from the frontline) and a Russian radar station near occupied Danylo-Ivanivka (roughly 88 kilometers from the frontline).[39]

Neither Russian nor Ukrainian sources reported ground activity in the Kherson direction on July 20.

The Ukrainian Security Service (SBU) conducted a drone strike against a Russian Federal Security Service (FSB) coordination and deployment hub in occupied Kherson Oblast. The SBU reported on July 20 that the SBU’s Alpha Special Operations Center conducted a strike with 13 drones against the Russian FSB coordination and deployment hub in occupied Kherson Oblast, causing a large fire.[40] SBU estimated that approximately 100 Russian servicemembers and 70 Russian vehicles were present at the FSB hub at the time of the strike. Geolocated footage published on July 20 shows Ukrainian forces conducting a first-person view (FPV) FP-2 drone strike against an FSB deployment point in occupied Shchaslyvtseve, Kherson Oblast (roughly 133 kilometers from the west [right] bank of the Dnipro River).[41]

Ukrainian forces continued long-range strikes against energy infrastructure in occupied Crimea overnight on July 19 to 20. Ukrainian Unmanned Systems Forces Commander Major Robert “Magyar” Brovdi reported on July 20 that Ukrainian forces struck seven electrical substations in occupied Yalta (about 260 kilometers from the frontline), Morske (about 248 kilometers from the frontline), Pryvitne (one of multiple settlements between 145 and 250 kilometers of the frontline), Luchyste (about 248 kilometers from the frontline), and other unspecified areas of occupied Crimea overnight.[42] Brovdi reported that Ukrainian forces have struck 103 pieces of energy infrastructure in occupied Crimea from July 1 to 20.

Ukrainian forces continued striking Russian naval vessels in the Black and Azov seas on the night of July 19 to 20. Brovdi reported that Ukrainian forces struck three Russian oil tankers and four dry cargo ships in the Black and Azov seas overnight.[43] Brovdi reported that Ukrainian forces have struck 119 tankers in the Sea of Azov and 64 tankers in the Black Sea from July 1 to 20.

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 missile and drone strikes against Ukraine on the night of July 19 to 20. The Ukrainian Air Force reported that Russian forces launched two Kh-59/69 cruise missiles from occupied Crimea and 94 Shahed-, Gerbera-, and Italmas-type strike drones, Banderol loitering munitions, and Parodiya-type decoy drones from the directions of Kursk and Oryol cities; Millerovo, Rostov Oblast; occupied Donetsk City; and occupied Hvardiiske, Crimea.[44] The Ukrainian Air Force reported that Ukrainian forces downed 81 drones, that one Kh-59/69 cruise missile and nine drones struck nine locations, and that one missile failed to reach its target. Ukrainian officials reported that Russian forces struck residential, industrial, energy, transportation, and commercial infrastructure in Chernihiv, Dnipropetrovsk, Kharkiv, Mykolaiv, Odesa, Poltava, and Zaporizhia oblasts.[45] The Ukrainian Energy Ministry reported that Russian strikes caused temporary power outages in Dnipropetrovsk, Sumy, Kharkiv, and Kherson oblasts.[46] The Ukrainian State Emergency Service reported on July 20 that Russian forces conducted a double-tap strike against first responders in Bilopilska Hromada, Sumy Oblast but did not inflict casualties.[47]

Russian forces are likely modernizing their guided bombs and improving their range, allowing them to reach targets deeper into Ukraine. Dnipropetrovsk Oblast Council Chairman Mykola Lukashuk reported on July 20 that Russian forces struck Pavlohrad, Dnipropetrovsk Oblast (roughly 80 kilometers from the frontline) with a guided glide bomb for the first time.[48]

Russian forces are escalating their strike campaign against Ukrainian and foreign-flagged civilian merchant vessels near Odesa Oblast ports. The Ukrainian Navy and Odesa Oblast authorities reported on July 19 that Russian forces struck the Turkish-owned and Guinea Bissau-flagged merchant vessel Golden Leo with three Kh-59/69 cruise missiles, killing at least 10 sailors.[49] A prominent aviation-focused Russian milblogger claimed on July 20 that Russian forces have begun employing heavy anti-ship missiles against Ukrainian and foreign vessels in the Black Sea to inflict greater damage, marking a significant escalation from the use of drones or even Kh-31A or Kh-35 cruise missiles to conduct maritime strikes.[50] The milblogger claimed that only strikes using multiple cruise missiles or heavy anti-ship missiles launched from Tu-22 aircraft, coastal missile systems, or warships are capable of effectively penetrating large dry cargo ships and bulk carriers.

Significant Activity in Belarus 

Russian efforts to increase its military presence in Belarus and further integrate Belarus into Russian-favorable frameworks

Nothing significant to report.

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.

Powered by Babel Street logo

[1] http://kremlin dot ru/events/president/news/80309
[2] https://t.me/arx_spn/30383
[3] https://t.me/rybar/81875
[4] https://x.com/99Dominik_/status/2075491309431689453?s=20; https://t.me/supernova_plus/55444 ; https://x.com/neonhandrail/status/2078159532304560434 ; https://x.com/GirkinGirkin/status/2078134839996305656 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-20-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-27-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-30-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-1-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-24-2026/; https://understandingwar.org/research/russia-ukraine/ukraines-intermediate-range-strike-campaign-and-new-mechanized-attacks-herald-the-start-of-a-new-phase-of-the-war/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-22-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-29-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-may-11-2026/;
[5] https://ukraine.ohchr.org/en/Protection-of-Civilians-in-Armed-Conflict-June-2026
[6] https://ukraine.ohchr.org/en/Protection-of-Civilians-in-Armed-Conflict-June-2026 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-january-13-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-13-2026/
[7] https://x.com/Osinttechnical/status/2079054245496488399 ; https://t.me/supernova_plus/56013
[8] https://t.me/astrapress/119219 ; https://militarnyi dot com/en/news/drone-strike-oil-depot-4-warehouses-moscow/ ; https://firms.modaps.eosdis.nasa.gov/map/#d:24hrs;@37.522,55.342,16.000z
[9] https://x.com/ZelenskyyUa/status/2079114207983735259
[10] https://t.me/tass_agency/386018 ; https://t.me/mos_sobyanin/20878; https://t.me/sotaproject/116131; https://t.me/tass_agency/386024 ; https://t.me/vorobiev_live/12113 ; https://t.me/tass_agency/386037 ; https://t.me/tass_agency/386038
[11] https://t.me/robert_magyar/2632 ; https://t.me/usf_army/2223
[12] https://x.com/Osinttechnical/status/2078905843056034062 ; https://x.com/avivector/status/2078777721098826122 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-16-2026/
[13] https://meduza.io/news/2026/07/20/v-belgorodskoy-oblasti-bespilotnik-udaril-po-passazhirskomu-avtobusu-pogibli-pyat-chelovek-bolee-20-raneny; https://t.me/belgorodvesti/21982
[14] https://t.me/GeneralStaffZSU/41320 ; https://t.me/GeneralStaffZSU/41298 ; https://t.me/GeneralStaffZSU/41296 ; https://t.me/dva_majors/96356 ; https://t.me/wargonzo/35650 ; https://t.me/severnnyi/8745
[15] https://t.me/creamy_caprice/12514 ; https://t.me/AptiAlaudinovAKHMAT/22603 ; https://t.me/AptiAlaudinovAKHMAT/22579
[16] https://t.me/severnnyi/8740
[17] https://t.me/severnnyi/8745
[18] https://t.me/GeneralStaffZSU/41320 ; https://t.me/GeneralStaffZSU/41298 ; https://t.me/GeneralStaffZSU/41296 ; https://t.me/dva_majors/96356 ; https://t.me/severnnyi/8740 ; https://t.me/DnevnikDesantnika/45552 ; https://t.me/wargonzo/35650
[19] https://x.com/neonhandrail/status/2078936728778453230?s=20 ; ; https://x.com/Vijesti11111/status/2078918952466727242?s=20 ; https://x.com/NOELreports/status/2078795339557998746?s=20 ;
[20] https://t.me/GeneralStaffZSU/41320 ; https://t.me/wargonzo/35650 ; https://t.me/grvZapad/19190 ; https://t.me/DnevnikDesantnika/45538 ; https://t.me/wargonzo/35650 ; https://t.me/grvZapad/19190
[21] https://t.me/GeneralStaffZSU/41320; https://t.me/GeneralStaffZSU/41298; https://t.me/GeneralStaffZSU/41296; https://t.me/DnevnikDesantnika/45538; https://t.me/dva_majors/96356; https://t.me/wargonzo/35650; https://t.me/grvZapad/19190
[22] https://t.me/divgen/82456
[23] https://t.me/GeneralStaffZSU/41320; https://t.me/GeneralStaffZSU/41298; https://t.me/GeneralStaffZSU/41296
[24] https://t.me/dva_majors/96356 https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-18-2026/
[25] https://t.me/divgen/82476
[26] https://t.me/z4lpr/1844; https://t.me/z4lpr/1845
[27] https://www.facebook.com/61566203138156/posts/pfbid02pgtrVt2UxehoZkp1Pm5yzUtmYidHSpJtSqYB5JUaub9xqXNPRktk7SeZrXkFHebRl/
[28] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-18-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-12-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-16-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-18-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-7-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-12-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-1-2026/
[52] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-15-2026/
[29] https://t.me/mod_russia/65754
[30] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-april-29-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-april-16-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-april-6-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-12-2026/
[31] https://t.me/GeneralStaffZSU/41320; https://t.me/GeneralStaffZSU/41298; https://t.me/GeneralStaffZSU/41296; https://t.me/RVvoenkor/119498; https://t.me/dva_majors/96356; https://t.me/wargonzo/35650;
[32] https://t.me/creamy caprice/12512; https://t.me/Sib_army/11024
[33] https://t.me/divgen/82473
[34] https://t.me/divgen/82473
[35] https://t.me/voenkorKotenok/73626; https://t.me/voin_dv/20287;
[36] https://t.me/OSHP_225/5490; https://militarnyi dot com/uk/news/225-j-oshp-uzyav-u-polon-64-okupantiv/
[37] https://t.me/GeneralStaffZSU/41320; https://t.me/GeneralStaffZSU/41298; https://t.me/GeneralStaffZSU/41296; https://t.me/voenkorKotenok/73626; https://t.me/wargonzo/35650; https://t.me/motopatriot78/54275
[38] https://x.com/NOELreports/status/2078936157203607806?s=20 ; https://x.com/neonhandrail/status/2079001451578417210?s=20; https://x.com/LloydUkrYT/status/2078903232886104310?s=20; https://t.me/WarArchive_ua/37180; https://t.me/soniah_hub/17102; https://x.com/LloydUkrYT/status/2078903307603505638?s=20;
[39] https://x.com/RALee85/status/2079183502109478966?s=20 ; https://t.me/robert_magyar/2632 ; https://x.com/neonhandrail/status/2079188043395998070?s=20 ; https://x.com/neonhandrail/status/2079190642186670474?s=20
[40] https://t.me/SBUkr/18138; https://suspilne dot media/kherson/1359518-sbu-urazila-koordinacijnij-centr-fsb-rf-na-timcasovo-okupovanomu-livoberezzi-hersonsini-aki-naslidki/
[41] https://t.me/SBUkr/18138; https://x.com/99Dominik_/status/2079153305180058011 ; https://x.com/ServiceSsu/status/2079148057371836910
[42] https://t.me/robert_magyar/2631
[43] https://t.me/robert_magyar/2631 https://t.me/robert_magyar/2631
[44] https://t.me/kpszsu/69330
[45] https://t.me/chernigivskaODA/30583; https://www.facebook.com/permalink.php?story_fbid=pfbid0hgdiVwfw27DPbH3HGg2eMTSh1utEv6FQXbNJd1SrbgPcDZaEBqyrFFxRyZA8LDgpl&id=61579137283645&locale=uk_UA; https://t.me/mykola_lukashuk/27664; https://t.me/synegubov/23993; https://www.facebook.com/mykoda/posts/pfbid02XU4Mw3aeFnXkCcMoEzDLbp5fa8Kc7LnovkwExjdjScMhXsYoQVvgfHFCWyXM5V7il; https://t.me/dsns_telegram/69346; https://t.me/poltavskaOVA/33968; https://t.me/ivan_fedorov_zp/44499 ; https://t.me/bbcrussian/97447; https://t.me/odeskaODA/17805; https://t.me/dsns_telegram/69346; https://t.me/odeskaODA/17804; https://t.me/odesaMVA/2832
[46] https://t.me/energyofukraine/7458
[47] https://t.me/dsns_telegram/69308 ; https://armyinform dot com.ua/2026/07/20/rosiyany-vdruge-vdaryly-po-ryatuvalnykah-na-sumshhyni-poshkodzheno-pozhezhnyj-avtomobil/
[48] https://t.me/mykola_lukashuk/27666; https://t.me/bbcrussian/97451
[49] https://www.facebook.com/story.php?story_fbid=1468767531957491&id=100064727737034&rdid=Ws6AJyDahxSUCZ4Z# ; https://x.com/UA_NAVY/status/2078899593312362806;https://t.me/odeskaODA/17784; https://t.me/astrapress/119170; https://t.me/odesacityofficial/60395; https://t.me/Mykola_Kalashnyk/10948 ; https://militarnyi dot com/uk/news/rosiya-vdaryla-raketamy-h-59-h-69-po-sudnu/; https://t.me/Mykola_Kalashnyk/10948; https://t.me/bbcrussian/97435; https://t.me/ampu_uspa/581; https://t.me/bbcrussian/97444; https://t.me/astrapress/119271; https://t.me/ukrainian_navy/21506 ; https://meduza dot io/news/2026/07/19/v-ukraine-zayavili-chto-rossiyskie-voennye-nanesli-udar-po-suhogruzu-s-zernom-pyat-chelovek-pogibli ; https://armyinform dot com.ua/2026/07/19/akt-teroryzmu-na-mori-rosiya-vdaryla-krylatymy-raketamy-po-czyvilnomu-sudnu/; https://t.me/sotaproject/116129; https://t.me/astrapress/119182
[50] https://t.me/bomber_fighter/25953

Related

Research

Update

Update

Update

Update