Skip to Content

Russia & Ukraine

Ukraine

Russian Offensive Campaign Assessment

Russian Offensive Campaign Assessment, July 29, 2026

July 29, 2026

Russian Offensive Campaign Assessment, July 29, 2026

Toplines

Russia’s superior aviation capabilities are allowing Russia to use glide bomb strikes to enable infantry advances in and near Kostyantynivka. Russian forces are widely using glide bomb strikes against Kostyantynivka and other cities in Ukraine’s Fortress Belt in Donetsk Oblast to turn the cities into rubble, physically destroy Ukrainian strongpoints and ground control stations, and allow Russian infiltrators to enter and eventually seize and consolidate positions.[1] The commander of a Ukrainian drone unit reported that Russian guided glide bomb strikes against Kostyantynivka are the main form of Russian successes in the area and are imposing major challenges for Ukrainian forces.[2] Russian forces debuted the tactic of using glide bomb strikes at scale to destroy Ukrainian positions to enable ground force advances with the February 2024 seizure of Avdiivka and subsequently used such strikes to support offensives against other settlements, such as Vuhledar in October 2024, Kurakhove in December 2024, and Toretsk in August 2025.[3] Russian forces continue to rely on their aviation overmatch into 2026, even as Russian infantry tactics have switched from larger-scale infantry attacks and mechanized assaults to mostly small group infiltrations. Russian forces have also been leveraging glide bomb strikes in their battlefield air interdiction (BAI) campaign in 2025 and 2026, particularly against Ukrainian ground lines of communication (GLOCs) in the tactical and operational rear.[4] (BAI refers to the use of airpower to strike targets in the near rear behind the frontline to impact battlefield operations in the near term.)

Efforts to degrade Russian aviation capabilities likely will deprive Russian forces of an important tactical advantage and help further reduce the tempo of Russian advances. Russia’s reliance on glide bomb strikes to facilitate ground advances is a vulnerability Ukraine and its Western partners can exploit. Ukraine has already significantly degraded Russia’s ground-based air defense network in sectors of the theater through a sustained suppression and destruction of enemy air defenses campaign (SEAD / DEAD) since late 2025.[5] Ukraine continues working to degrade Russian combat aviation, including with F-16 and Gripen fighter jets and other anti-air means, and continued Western support for these Ukrainian efforts can significantly reduce Russia’s aviation advantage.[6] A degradation of Russia’s aviation capabilities will deprive Russian forces of key means that the Russian military relies on for brute force tactical advances, and thus likely slow Russian advances on the ground, hindering Russia’s ability to destroy Ukrainian key fortified positions, leverage rubble to conceal infantry, and interdict Ukrainian logistics.

The situation in and near Kostyantynivka is deteriorating, but Russian forces have not seized the city despite Russian claims. Fighting will likely continue for several weeks as Russian forces try to consolidate the positions they have gained through infiltrations. Urban combat continues throughout large portions of Kostyantynivka, with Ukrainian and Russian positions intermixed and Russian forces conducting infiltration missions within the city. Geolocated footage published on July 25 indicates that Ukrainian forces recently advanced or maintained positions that Russian infiltrators bypassed in southwestern Kostyantynivka, and geolocated footage published on July 29 shows Russian forces striking Ukrainian forces in southwestern Kostyantynivka — an area in which Russian sources previously claimed that Russian forces maintained positions.[7] Geolocated footage published on July 28 shows Ukrainian forces striking Russian positions in central Kostyantynivka after what ISW assesses was a Russian infiltration mission.[8] Ukrainian online media outlet Hromadske reported on July 29 that Ukrainian servicemembers stated that there are Russian soldiers continuing to infiltrate the city and that Russian forces are complicating Ukrainian defense, though Ukrainian units are still rotating infantry through positions in the city, and Ukrainian forces’ rear is not at risk of encirclement for at least several more weeks.[9]

Russian forces are also infiltrating beyond Kostyantynivka’s northern outskirts. Hromadske reported that a Ukrainian commander stated that Russian forces have essentially seized Molocharka (just north of Kostyantynivka) and are moving into Izhevka (northwest of Molocharka).[10] The press service of the Russian Southern Grouping of Forces claimed on July 29 that elements of its 1008th Motorized Rifle Regiment (6th Motorized Rifle Division, 3rd Army Corps) are operating within Druzhkivka and posted footage of Russian forces near the city’s stele.[11] Geolocations of the footage near the stele indicate that Russian infiltrators are operating on the southern outskirts of Oleksiievo-Druzhkivka, however — in line with other Russian milblogger claims that Russian forces have advanced to Oleksiievo-Druzhkivka.[12] These positions are likely limited and not consolidated at this time, however.

Map Thumbnail

The Kremlin denied that Russia is preparing for mobilization, likely to assuage growing public concerns and possibly signal Russian President Vladimir Putin’s desire to continue volunteer recruitment over compulsory reserve call-ups for as long as possible. Russian Security Council Deputy Chairperson Dmitry Medvedev claimed on July 28 that recent reports that Russia is preparing for mobilization are false provocations and Ukrainian propaganda aimed at destabilizing Russia ahead of the September 2026 State Duma elections.[13] Medvedev also claimed that social media platforms are spreading false recruitment advertisements calling on Russians to sign up for military service to avoid mobilization in the future.[14] Medvedev claimed that Russia has no need for mobilization and that Russia had fully met its recruitment needs, reportedly recruiting about 200,000 people for contract military service and 16,000 volunteers during the first half of 2026.[15] Medvedev also claimed that Russia recruited around 40,000 service members to serve within the Russian Unmanned Systems Forces over the same period.[16] Russian State Duma Defense Committee Chairperson Andrei Kartopolov and propagandist Vladimir Solovyov similarly recently rejected the prospects for mobilization.[17]

Such Kremlin denials are likely in response to numerous emerging reports and laws that suggest that Russia is undergoing preparations to conduct mobilization. Ukrainian President Volodymyr Zelensky recently stated, citing Ukrainian intelligence, that Russian forces are preparing to launch a new, “significant” mobilization wave in Fall 2026 and that Putin is actively taking low-profile preparation measures to potentially mobilize 500,000 troops.[18] Kremlin state media also notably presented Medvedev’s July 29 denials as a response to Zelensky’s July 27 interview with SkyNews, in which Zelensky had similarly highlighted Putin’s preparations for mobilization.[19] A prominent Russian milblogger, whose war coverage frequently appears on Russian state media, also recently called on Russians to sign up for military service on their own terms before the Kremlin announces mobilization — notably contradicting Medvedev’s claims that such recruitment advertisements are false.[20] A Russian insider source also claimed that the Russian state-owned United Shipbuilding Corporation has recently increased its eligibility criteria for specialists who would be exempt from a compulsory reserve call-up, effectively freeing up more of the labor force for a potential mobilization.[21] A source from the United Shipbuilding Corporation reportedly stated that the corporation’s new management is simultaneously trying to find ways to shorten payrolls by relieving employees who could face mobilization or sign up to fight in Ukraine. The Russian government passed numerous laws in July 2026, possibly in preparation for mobilization, including laws allowing people with criminal records to sign military service contracts with the Russian Ministry of Defense (MoD) during formal mobilization periods.[22] The Russian government is also reportedly considering new restrictions on the Russian population to quell resistance to mobilization.[23]

The Kremlin’s continued emphasis on volunteer recruitment suggests that Putin is continuing Russia’s same inefficient and expensive volunteer recruitment as he weighs his options about force generation in the meantime. The Ukrainian Center for Countering Disinformation observed that Russian federal subjects have been steadily increasing volunteer enlistment bonuses, with the Khanty-Mansi Autonomous Okrug and Republic of Dagestan offering recruits sign-up bonuses up to 4.1 million rubles (about $5,250).[24] The Russian volunteer recruitment campaign, however, has been increasingly failing to achieve its 2026 recruitment goals amidst increasing casualties on the battlefield.

Russia is not on track to meet its annual recruitment target for 2026. Former Ukrainian Commander-in-Chief General Oleksandr Syrskyi reported in March 2026 that the Kremlin planned to recruit 409,000 troops in 2026, and Zelensky stated that Russia had only recruited 221,000 troops by late July 2026 while suffering 225,500 casualties.[25] Medvedev’s statement that Russia recruited about 200,000 soldiers in the first half of 2026 further indicates that Russian recruitment will fall short of the 409,000 target by year’s end, assuming a constant recruitment rate. This recruitment challenge will likely impose Putin with a difficult decision point on whether to conduct some form of mobilization to augment volunteer recruitment by the end of the year. ISW continues to assess that any form of compulsory military mobilization is a personal decision for Putin that is contingent on his personal perception of the battlefield situation and his perception of the stability and integrity of the Kremlin. It remains unclear whether or how Putin will decide to implement mobilization.[26]

The Kremlin continues setting conditions to block Telegram and deny the open internet in Russia, possibly in preparation for compulsory military mobilization. The Russian Federal Security Service (FSB) charged Telegram co-founder and CEO Pavel Durov on July 29 with aiding terrorism and placed him on an international wanted list because Telegram allegedly failed to remove channels and bots that Ukrainian intelligence services, unspecified terrorists, and other extremist organizations allegedly used to coordinate “acts of sabotage and terrorism, mass murder, and cyber fraud.”[27] A Russian lawyer claimed on July 29 that FSB’s charges against Durov do not mean that Russia is banning Telegram or that using Telegram is illegal, but noted that Telegram users may face criminal liability if they use Telegram to engage in criminal terrorist activities.[28] A prominent, Kremlin-affiliated Russian milblogger attempted to justify the Kremlin’s criminal charges against Durov, claiming that Russian security services have a right to demand Telegram’s cooperation and deflected assertions that the Kremlin is intensifying its censorship campaign against Telegram as a platform for open discourse in Russia.[29] The Kremlin is likely attempting to quell fears about a potential Telegram ban as it has significantly intensified its campaign to crack down on the open internet in Russia, including access to Telegram, since 2025.[30] Russian State Duma Defense Committee member Andrei Kolesnik claimed on July 29, however, that Russian intelligence agencies may declare Telegram a terrorist resource due to Durov’s reluctance to remove channels that the Russian government deems unfavorable.[31] The Kremlin has repeatedly taken measures to censor Telegram and its administrators and users under the pretext of combatting terrorism, extremism, and discreditation of the Russian Armed Forces.[32] The FSB’s charges against Durov are likely a continuation of the Kremlin’s efforts to set conditions to block Telegram in the future, which may also support Russian President Vladimir Putin’s preparations to control societal backlash in the event of military mobilization.

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 continued their long-range strike campaign against Russian oil and military-industrial infrastructure on the night of July 28 and 29. Ukrainian officials reported on July 29 that Ukrainian forces struck the Ryazan Oil Refinery in Ryazan City (roughly 465 kilometers from the international border), and that the facility is one of the largest oil refineries in Russia with a processing capacity of approximately 17 million tons of oil per year.[33] Footage shows a fire at a Wildberries (the Russian equivalent to Amazon) warehouse in Ryazan City after a Ukrainian strike.[34] The Wildberries press service stated on July 29 that Wildberries evacuated a logistical facility in Ryazan City.[35] Ryazan Oblast Governor Pavel Malkov acknowledged that a fire broke out at an enterprise in Ryazan City following a series of Ukrainian drone strikes.[36] Ukrainian officials reported on July 29 that Ukrainian forces struck the Lukoil-Permnaftoorgsintez, in Perm City (roughly 1,465 kilometers from the international border), setting fire to the primary processing unit, and noted that the facility has a processing capacity of almost 13 million tons of oil per year.[37] Geolocated footage shows damage to the Lukoil-Permnaftoorgsintez Oil Refinery in Perm City (roughly 1,465 kilometers from the international border) following a reported Ukrainian strike against the refinery’s AVT-5 processing unit.[38] Perm Krai Governor Dmitry Makhonin acknowledged that Ukrainian drones damaged an industrial facility in Perm Krai.[39] Ukrainian President Volodymyr Zelensky reported that Ukrainian forces struck an export terminal and a military enterprise in Rostov Oblast.[40]

Ukrainian strikes against Wildberries facilities in Russia are forcing the company to consider moving warehouse space out of Russia as the Kremlin considers support for Wildberries. Russian outlet Kommersant reported on July 29 that Wildberries is looking to acquire warehouse space in Kazakhstan following Ukrainian drone strikes against the company’s facilities in Russia.[41] Kommersant added that Wildberries is unwilling to lease further warehouse space in Russia due to the high risk of drone strikes. Reuters reported on July 29 that the Kremlin is exploring means to support Wildberries, potentially through tax breaks and loans from state-owned banks including VTB, which obtained a five percent stake in Wildberries’ financial arm WB Bank in June 2026.[42]

Ukrainian forces are reportedly targeting hard-to-replace components in Russian oil facilities. The Financial Times (FT) reported on July 29, citing Ukrainian military planners, drone operators, and energy specialists, that Ukraine has shifted its long-range strike campaign against Russian energy infrastructure from broad strikes against oil refineries to targeted strikes on critical components that are hard to replace in an attempt to keep Russian oil refineries closed for longer and cause larger damages to Russian oil revenues.[43] Ukrainian drone operators told FT that energy engineers and industry experts brief Ukrainian drone units on which facility components are indispensable and would take the longest to replace. FT also reported, citing drone operators and satellite imagery, that Ukrainian forces have begun repeatedly striking the same critical equipment before Russian authorities complete repairs in order to prevent facilities from resuming operations.

Russian Supporting Effort: Northern Axis

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

Russian forces continued offensive operations in Sumy Oblast on July 28 and 29 but did not make confirmed advances, as Ukrainian forces counterattacked.[44] A source in the Russian security forces claimed to Kremlin newswire TASS, and a Russian milblogger also claimed on July 29 that Ukrainian forces counterattacked south of Ivolzhanske (north of Sumy City).[45] The Russian MoD claimed on July 29 that Russian forces seized Nova Sich (northeast of Sumy City), but a source reporting on the Russian Northern Grouping of Forces claimed on July 29 that Russian forces do not control Nova Sich and further do not control Ivolzhanske, Korchakivka, and Mala Korchakivka (north of Sumy City).[46]

Map Thumbnail

Geolocated footage posted on JUL 28 shows a Ukrainian unmanned systems battalion dropping munitions on Russian drone operators in Yablunivka (northeast of Sumy City) as Ukrainian forces continue their effort to hinder Russian drone activity in northern Sumy Oblast.[47]

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 recently conducted an infiltration mission in northern Kharkiv Oblast. Geolocated footage posted on July 28 shows Ukrainian forces striking a Russian position west of Bilyi Kolodyaz (southeast of Vovchansk) after what ISW assesses was a Russian infiltration mission.[48] A Russian milblogger claimed on July 29 that Russian forces advanced in Kozacha Lopan (north of Kharkiv City) but suggested that the Russian military command may order Russian forces to retreat on the approaches to Kharkiv City, likely in reference to previous failed Russian efforts in northern Kharkiv Oblast.[49]

Russian forces recently advanced in the Velykyi Burluk direction. A source reporting on the Russian Western Grouping of Forces claimed on July 29 that Russian forces seized Ivashkyne (northeast of Velykyi Burluk), and the Ukrainian State Border Service reported on July 29 that Russian forces conducted a mechanized assault near Artilne (northeast of Velykyi Burluk), indicating that Russian forces recently advanced near Artilne and Ivashkyne.[50] Geolocated footage published on July 29 shows Ukrainian forces striking a Russian position in the fields west of Ivashkyne after what ISW assesses was a Russian infiltration mission.[51] A Kremlin-affiliated Russian milblogger claimed on July 28 that Russian forces seized Odradne (east of Velyki Burluk) and advanced in the fields west of Odradne.[52]

Russian forces are reportedly attempting to encircle Ukrainian forces in northern Kharkiv Oblast from the Vovchansk and Velykyi Burluk directions. A Kremlin-affiliated Russian milblogger claimed on July 29 that Russian forces are engaged in intensified fighting in the Velykyi Burluk direction and claimed that the Russian Northern Grouping of Forces is attempting to envelop Ukrainian forces around northeast Kharkiv Oblast by attacking in the Velykyi Burluk direction as Russian forces advance in the Vovchansk direction.[53] The milblogger claimed that Russian forces will struggle to conduct such a complex envelopment despite purported recent Russian advances near Bily Kolodyaz. ISW assesses that Russian forces are extremely unlikely to be able to successfully conduct such a maneuver.

Map Thumbnail

The Ukrainian State Border Service reported on July 29 that Russian forces conducted a reduced platoon-sized mechanized assault with one armored vehicle and 10 infantry near Artilne.[54]

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 offensive operations in the Kupyansk direction on July 28 and 29 but did not advance.[55]

A Russian milblogger claimed on July 29 that both Russian and Ukrainian forces in the Kupyansk direction are emphasizing drone efforts on the frontline and that Russian drone operators are attempting to interdict Ukrainian ground lines of communication (GLOCs).[56] A source reporting on the Russian Western Grouping of Forces claimed on July 29 that Ukrainian forces are conducting first-person view (FPV) drone strikes against contested positions in the Kupyansk direction as Russian and Ukrainian forces engage in heavy fighting over individual positions.[57] The source claimed to have observed reports of possible Ukrainian advances near Myrove (north of Kupyansk), Kutkivka (northwest of Kupyansk), and Sobolivka (west of Kupyansk).

Russian forces continued offensive operations in the Borova direction on July 28 and 29 but did not advance, as Ukrainian forces previously advanced southeast of Borova.[58] A source reporting on the Russian Western Grouping of Forces claimed on July 29 to have observed reports that Ukrainian forces previously advanced near Hrekivka, Druzhelyubivka, and Ridkodub (all southeast of Borova).[59] The source reported that Russian forces have made only limited advances near Borova and that Ukrainian forces are striking Russian GLOCs near Terny and Yampolivka (both southeast of Borova and between roughly 4 and 6 kilometers from the frontline).

Ukrainian forces continued their intermediate strike campaign against Russian electrical infrastructure in occupied Luhansk Oblast on the night of July 28 to 29. Ukrainian Unmanned Systems Forces Commander Robert “Magyar” Brovdi reported that Ukrainian forces struck an electrical substation in occupied Zaporizhzhia, Luhansk Oblast (roughly 70 kilometers from the frontline) on the night of July 28 to 29.[60]

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 28 and 29 but did not make confirmed advances. A Russian milblogger claimed on July 28 that Russian forces seized Ozerne (northeast of Slovyansk).[61] Slovyansk Military Administration Head Vadym Lyakh reported on July 29 that Russian forces conducted a FAB-500 glide bomb strike against warehouses and civilian infrastructure in Myrne (just west of Slovyansk).[62]

Russian forces have reportedly intensified offensive operations in the Slovyansk direction as fuel shortages, terrain, and Ukrainian defenses continue to slow Russian forces’ rate of advance. A source reporting on the Russian Northern Grouping of Forces claimed on July 29 that Russian forces are highly active around Lyman but have struggled to penetrate Ukrainian defenses on the eastern outskirts of the settlement.[63] The commander of the Russian 37th Motorized Rifle Regiment (67th Motorized Rifle Division, 25th Combined Arms Army [CAA], Central Military District [CMD]) claimed on July 29 that his unit is clearing Lyman with little Ukrainian resistance, although most available evidence suggests that Ukrainian forces control the vast majority, if not all, of Lyman.[64] A Russian milblogger similarly claimed on July 29 that Russian forces continue clearing the urban area of Lyman.[65] A source reporting on the Russian Western Grouping of Forces claimed on July 29 that Russian forces are clearing Ukrainian positions on the southern outskirts of Dibrova (south of Slovyansk) and may subsequently concentrate their activity toward Brusivka and Staryi Karavan (both south of Lyman) and toward the Mykolaivka–Raihorodok line.[66] The source claimed that elements of the Russian 37th Motorized Rifle Regiment (67th Motorized Rifle Division, 25th CAA, CMD) are experiencing critical fuel shortages which force them to abandon their vehicles and request evacuation.[67] A Kremlin-affiliated milblogger claimed on July 29 that fighting has intensified in Kryva Luka (east of Slovyansk) during the first half of the summer of 2026 and that difficult terrain continues to complicate Russian offensives in the area.[68]

Order of Battle: Elements of the 752nd Motorized Rifle Regiment (3rd Motorized Rifle Division, 20th CAA, CMD) are reportedly operating in the Lyman direction.[69] ISW previously observed evidence of the 752nd Motorized Rifle Regiment attacking toward Borova on June 30.[70] The commander reportedly transferred several dozen people from the drone unit to the assault unit.

See topline text for more reporting on the situation in the Kostyantynivka-Druzhkivka tactical area.

Ukrainian forces recently advanced or maintained positions and counterattacked in the Kostyantynivka direction amidst continued Russian infiltration missions. A Kremlin-affiliated Russian milblogger claimed on July 29 that Ukrainian forces counterattacked and are fighting in Tykhonivka and Vsiutynske (north of Kostyantynivka).[71] The milblogger claimed that Russian forces seek to establish a bridgehead on the west bank of the Siverskyi Donets-Donbas Canal to support their effort toward Kostyantynivka.

Russian forces are continuing their effort in the Kramatorsk direction despite heavy losses and are attempting to adapt their drone technology to overcome Ukrainian drone interception. The commander of a Ukrainian unmanned systems battalion operating in the Kramatorsk direction reported on July 29 that Russian forces continue their efforts toward Kramatorsk and Slovyansk but are losing more servicemembers than they are receiving through reinforcements.[72] The commander reported that the Russian 17th Tank Regiment (70th Motorized Rifle Division, 18th CAA, Southern Military District [SMD]) is operating in the Kramatorsk direction, indicating that Russian forces may attempt to conduct a mechanized assault in this direction. The commander reported that the Russian military command understands that Ukrainian first-person view (FPV) drone and strike drone activity threatens Russian forces’ ability to conduct large scale assaults. The commander reported that Russian forces have been attempting to innovate Molniya fixed-wing FPV drones by equipping them with machine vision and AI-enabled targeting to independently find targets, and that Russian forces are also testing jet-propelled Shahed drones as Ukrainian forces are becoming increasingly effective at intercepting propeller-driven Russian strike drones. Russian forces are likely continuing their attempts to suppress Ukrainian drone activity in Kostyantynivka. A Russian milblogger claimed on July 28 that Russian forces struck Ukrainian drone ground control stations in Mykolaivka (northeast of Kostyantynivka), Oleksiievo-Druzhkiva, Kindratkivka, and Druzhkivka (all northwest of Kostyantynivka and along the H-20 Kostyantynivka-Druzhkivka highway).[73]

Russian milbloggers claimed that Russian forces are attempting to advance along the flanks of Kostyantynivka and along ground lines of communication to Druzhkivka. The Kremlin-affiliated Russian milblogger claimed on July 28 that Russian forces have shifted their efforts in the Kostyantynivka direction to the flanks of the city as Russian drone activity supports Russian infantry clearing operations in Kostyantynivka.[74] The milblogger referenced reports that Russian forces entered Stinky and Mykolaipillya (north and northwest of Kostyantynivka, respectively, and on opposite flanks of the city) and claimed that Russian forces will not be able to control Torske (northwest of Kostyantynivka) and Mykolaipillya until Russian forces establish positions west of Kostyantynivka. Another Russian milblogger claimed on July 28 that the Russian Central Grouping Forces have been increasing pressure on Novohryhorivka and Raiske (both northwest of Druzhkivka and along the Sofiivka-Druzhkivka road) in recent days.[75]

Ukrainian forces recently advanced or maintained positions in the Dobropillya direction. Geolocated footage posted on July 29 shows Russian forces striking a Ukrainian position southeast of Novyi Donbas (southeast of Dobropillya), indicating that Ukrainian forces maintain positions in the area contrary to Russian claims.[76] The Russian MoD claimed on July 29 that elements of the Russian 5th Separate Motorized Rifle Brigade (51st Combined Arms Army [CAA], formerly 1st Donetsk People’s Republic Army Corps [DNR AC], Southern Military District [SMD]) seized Svitle (south of Dobropillya).[77] A Kremlin-affiliated blogger claimed on July 29 that Ukrainian forces continue to counterattack near Svitle and Vodyanske (both south of Dobropillya), despite Russian MoD claims.[78] The milblogger claimed that the situation is difficult for Russian forces operating on the northern flank of Dobropillya and that Ukrainian forces recently destroyed 15 Russian armored vehicles during a Russian mechanized attack toward Hannivka (northeast of Dobropillya) on a prior date, possibly referring to a reported attempted Russian mechanized assault from the Ocheretyne direction (in the Russian near-rear southeast of Dobropillya) on July 22.[79]

Map Thumbnail

A Russian milblogger claimed on July 28 that the Russian Storm Special Purpose Detachment of the 9th Motorized Rifle Brigade (51st Combined Arms Army [CAA], formerly 1st Donetsk People’s Republic Army Corps, Southern Military District [SMD]) is repurposing its vehicles to aid the operations of mobile fire teams that intercept Ukrainian drones in the Dobropillya direction.[80] The detachment claimed that dense summer vegetation provides the mobile fire teams with concealment from Ukrainian drones.

Ukrainian forces recently advanced or maintained positions in the Pokrovsk direction. Geolocated footage published on July 29 shows Russian forces striking a Ukrainian position in eastern Shevchenko (northwest of Pokrovsk), indicating that Ukrainian forces recently advanced or maintained positions in the area.[81]

Satellite imagery published on July 29 indicates that a Ukrainian MiG-29 fighter jet Armement Air-Sol Modulaire (AASM) Hammer strike damaged a rail bridge in Pokrovsk.[82]

Russian forces continue to use small group infiltration tactics in the Pokrovsk direction and are intensifying their drone strikes. The spokesperson of a Ukrainian unmanned systems battalion operating in the Pokrovsk direction reported on July 29 that Russian forces have not changed their tactics in the Pokrovsk direction and continue their attempts to advance in small infantry groups.[83] The spokesperson reported that Ukrainian forces are striking Russian repeaters, communications antennas, fortifications, and other military infrastructure. The spokesperson noted that Russian forces have deployed relatively trained drone operators, including from the Rubikon Center for Advanced Unmanned Technologies, in this direction and use first-person view (FPV), Molniya, Gerbera, and Lancet drones and repeater FPV drones to conduct drone activity at greater depth.

Russian forces continued limited offensive operations in the Novopavlivka direction on July 28 and 29 but did not advance.[84]

Russian forces continued limited offensive operations in the Oleksandrivka direction on July 29 but did not advance.[85] Russian milbloggers claimed on July 28 and 29 that Ukrainian forces have intensified small-group activity in the Dnipropetrovsk direction and are using drones to disrupt Russian logistics in the area.[86] One of the milbloggers claimed that Ukrainian infantry conducted dispersed small-group raids along the frontline, forcing Russian forces to divert personnel for repeated clearing operations and complicating drone and artillery operations in areas where Russian and Ukrainian forces are interspersed.[87] The milblogger claimed that the windbreaks near Malomykhailivka (northeast of Oleksandrivka) are a contested zone where Russian and Ukrainian forces periodically retake control of individual windbreaks and field shelters.

Ukrainian forces continued their intermediate-range strike campaign against Russian military assets and logistics and gas infrastructure in occupied Donetsk Oblast. The Ukrainian General Staff reported on July 29 that Ukrainian forces struck a Russian military equipment warehouse in occupied Portivske (roughly 115 kilometers from the frontline), a road bridge near occupied Vyselky (roughly 115 kilometers from the frontline), and a Russian drone storage point in occupied Donetsk City (roughly 50 kilometers from the frontline).[88] Geolocated footage published on July 28 shows Ukrainian forces striking an ammunition depot belonging to the Russian 57th Motorized Rifle Brigade (20th Motorized Rifle Division, 8th Combined Arms Army [CAA], Southern Military District [SMD]) in occupied Mariupol (roughly 110 kilometers from the frontline).[89] Geolocated footage published on July 29 shows damage to a gas station in occupied Mariupol following a reported Ukrainian drone strike.[90] Ukrainian Mariupol Mayoral Advisor Petro Andryushchenko reported on July 29 that Ukrainian strikes against occupied Mariupol on the night of July 28 to 29 completely cut off power in neighboring Manhush and partially in occupied Mariupol.[91]

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 recently conducted an infiltration mission northwest of Hulyaipole. Geolocated footage published on July 28 shows Ukrainian forces striking a Russian-occupied building in northeastern Vozdvyzhivka (northwest of Hulyaipole) after what ISW assesses was an infiltration mission.[92]

Map Thumbnail

Ukrainian forces continue counterattacking in unspecified areas of the southern axis. A Russian milblogger claimed on July 29 that Ukrainian forces counterattacked 17 times between July 28 and 29 at undisclosed locations in the area of responsibility of the Russian Eastern Grouping of Forces (GoF).[93]

Ukrainian forces advanced in western Zaporizhia Oblast on a prior date. Archival geolocated footage published on July 20 and dated to June 2026 shows Ukrainian forces clearing Russian-occupied buildings in northeastern Stepnohirsk (west of Orikhiv), indicating that Ukrainian forces previously advanced in the area.[94]

Map Thumbnail

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

Ukrainian forces continued their intermediate-range strike campaign against Russian energy infrastructure in occupied Kherson Oblast. Ukrainian Unmanned Systems Forces Commander Robert “Magyar” Brovdi reported on July 29 that Ukrainian forces struck the 330 kV “Aquilon” substation in occupied Kairka, the 220 kV “Kairka” substation in occupied Kairka, and the 330 kV “Pershokostyantynivka” substation in an unspecified area of occupied Kherson Oblast on the night of July 28 to 29.[95]

Ukrainian forces continued their intermediate and long-range strike campaigns against electrical substations in occupied southern Ukraine on the night of July 28 to 29. Ukrainian Unmanned Systems Forces (USF) Commander Major Robert “Magyar” Brovdi reported that Ukrainian forces struck three substations in occupied Kherson Oblast — including one near Pershokostyantynivka and two near Kairy (both about 62 kilometers from the frontline near the Kherson-Crimea administrative border) — and 10 substations in occupied Crimea — including one each near occupied Maryanivka and Yevpatoria, two near occupied Feodosia, and three near occupied Kerch (all about 163 to 282 kilometers from the frontline) — overnight on July 28 to 29.[96] Brovdi stated that Ukrainian forces struck 164 energy infrastructure targets across the theater since July 1. NASA Fire Information for Resource Management System (FIRMS) data shows heat anomalies near occupied Kerch overnight.[97]

Ukrainian forces continue to strike Russian naval infrastructure and degrade air defenses in occupied Crimea. The Ukrainian General Staff reported that Ukrainian forces hit a Russian Black Sea Fleet (BSF) fast attack craft base near occupied Mizhvodne (about 112 kilometers from the frontline) overnight on July 28 to 29.[98] Ukrainian USF Spokesperson Major Olha Melyoshyna stated on July 29 that Ukrainian strikes against Russian vessels aim to interdict Russian naval logistics to occupied Crimea through the Black and Azov seas and that these strikes continue to compel Russian forces to redirect forces and recruit manpower for air defense efforts.[99] NASA FIRMS data also shows a heat anomaly in southern Sevastopol overnight, and an open source intelligence aggregator reported that the anomaly is at a deployment location of a S-300/S-400 air defense battery.[100]

Ukraine’s long-range strike campaign is constraining Russian naval vessel movement, both for strikes against Ukraine and the export of grain. Ukrainian Navy Spokesperson Captain Third Rank Dmytro Pletenchuk reported that Russian cruise missile carriers are not leaving their harbors to launch missiles at Ukraine because of the threat of Ukrainian drone strikes and that the Russian cruise missile carriers recently conducted missile launches from harbors for the first time.[101] Pletenchuk stated that only Federal Security Service (FSB) coast guard vessels leave port and enter the Black and Azov seas. Reuters reported on July 28, citing five industry sources, that Russia redirected grain exports from ports on the Sea of Azov to the Black Sea and that export terminals at the Black Sea ports of Novorossiysk and Taman restricted truck grain deliveries due to Ukrainian strikes.[102]

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 strikes against Ukraine on the night of July 28 to 29. The Ukrainian Air Force reported that Russian forces launched 80 Shahed-, Gerbera-, and Italmas-type strike drones, Banderol-type loitering munitions, and Parodiya-type decoy drones from the directions of Kursk, Oryol, and Bryansk cities; Primorsk-Akhtarsk, Krasnodar Krai; occupied Donetsk City; and occupied Hvardiiske, Crimea.[103] The Ukrainian Air Force reported that Ukrainian forces downed 65 drones, that 14 drones hit 10 locations, and that drone debris fell on two locations. Ukrainian officials reported that Russian forces struck residential, civilian, industrial, port, and energy infrastructure in Dnipropetrovsk, Kharkiv, Kherson, Mykolaiv, Odesa, Sumy, and Zaporizhia oblasts.[104] Ukrainian state energy operator Ukrenergo reported on July 29 that Russian strikes on Ukrainian energy infrastructure caused power outages in Donetsk, Kharkiv, Zaporizhia, and Mykolaiv oblasts.[105]

The Ukrainian State Emergency Service reported on July 28 that Russian forces conducted a double-tap strike against Ukrainian rescue workers extinguishing a fire after a previous Russian strike in Maksymivka, Dnipropetrovsk Oblast.[106]

A Russian milblogger claimed on July 29 that Russian forces struck a gas station in Izyum, Kharkiv Oblast, causing a fire.[107]

Russian forces continue to target Ukrainian port and fuel infrastructure in the Black Sea. Odesa Oblast Military Administration Head Oleg Kiper stated on July 28 that Russian forces again struck a Liberian-flagged vessel in the Black Sea after previously striking it on July 21 and 24.[108] Ukrainian Presidential Commissioner for Sanctions Policy Vladyslav Vlasuk stated on July 29 that Russian forces carried out sixteen strikes on port infrastructure in Odesa Oblast during June and July, and that Russian forces used Banderol loitering munitions in eighty percent of the strikes.[109] A Russian milblogger claimed on July 29 that two Ukrainian mining and processing facilities temporarily suspended production due to continued Russian strikes on port infrastructure.[110]

Significant Activity in Belarus 

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

Belarus continues efforts to destabilize NATO and EU states through attempts to smuggle migrants across the Belarusian border. Lithuanian outlet LRT reported on July 28 that Lithuanian border guards discovered an incomplete tunnel running from Belarus into Varena district, southeastern Lithuania, after detecting ground vibrations from possible digging.[111] Lithuanian border guards stated that Belarus has previously used similar tunnels to smuggle migrants and goods into Lithuania. Belarus has engaged in acts of aggression against NATO states since 2021 by forcing thousands of migrants into NATO and EU states, including Poland, Lithuania, and Latvia.[112]

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] https://t.me/DeepStateUA/23689; https://suspilne dot media/1366962-strimuvati-rosian-u-kostantinivci-mi-budemo-dovgo-ale-na-vijni-dovgo-buvae-i-odin-den-so-vidbuvaetsa-na-napramku/

[2] https://suspilne dot media/1366962-strimuvati-rosian-u-kostantinivci-mi-budemo-dovgo-ale-na-vijni-dovgo-buvae-i-odin-den-so-vidbuvaetsa-na-napramku/

[3] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-december-26-2024/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-august-7-2025/ ; https://www.reuters.com/world/europe/russian-forces-storming-ukrainian-town-vuhledar-bloggers-media-say-2024-09-24/; https://apnews.com/article/russia-ukraine-war-vovchansk-zelenskyy-vuhledar-ca17e5fdea72bb6e428d7e067bb93c75; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-december-13-2024/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-november-22-2024/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-november-26-2024/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-august-7-2025/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-17-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_17-9/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_13-8/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_14-8/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_17-8/

[4] https://understandingwar.org/research/russia-ukraine/russias-quest-to-intensify-the-theater-wide-battlefield-air-interdiction-campaign-against-ukraines-logistics/ ; https://understandingwar.org/research/russia-ukraine/russian-partial-battlefield-air-interdiction-enabled-recent-russian-advances-in-pokrovsk/

[5] 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/

[6] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-may-28-2026/

[7] https://t.me/Legion_W_Bat1/1127; https://x.com/AudaxonX/status/2082488936346083509 ; https://x.com/AudaxonX/status/2082488945464529075 ; https://x.com/AudaxonX/status/2082488952162857100 ; https://x.com/AudaxonX/status/2082488958311694742 ; https://x.com/AudaxonX/status/2082488964905111946 ; https://x.com/AudaxonX/status/2082488978217828611?s=20; https://x.com/AudaxonX/status/2082488985192972334 ; https://x.com/AudaxonX/status/2082488992436494748 ; https://x.com/AudaxonX/status/2082488999189360771 ; https://x.com/AudaxonX/status/2082489006151885048 ; https://x.com/AudaxonX/status/2082513857424040177; https://t.me/TRO_DPR/17668; https://x.com/AudaxonX/status/2082513864806072664 ; https://x.com/AudaxonX/status/2082513864806072664; https://x.com/AudaxonX/status/2082513857424040177; https://t.me/TRO_DPR/17668

[8] https://x.com/AudaxonX/status/2082498328558731342; https://t.me/ombr_28/3193; https://x.com/AudaxonX/status/2082492695193215197; https://www.instagram.com/fenix.team.17csp/reel/DbVa7jYsGHS/

[9] https://hromadske dot ua/en/war/268462-sytuatsiia-v-kostiantynivtsi-pohirshuyetsia-rosiian-fiksuiut-v-oleksiyevo-druzkivtsi

[10] https://hromadske dot ua/en/war/268462-sytuatsiia-v-kostiantynivtsi-pohirshuyetsia-rosiian-fiksuiut-v-oleksiyevo-druzkivtsi

[11] https://tass dot ru/armiya-i-opk/27963733

[12] https://t.me/DnevnikDesantnika/45875; https://t.me/wargonzo/35843; https://t.me/voenkorKotenok/73825; https://t.me/milinfolive/176844; https://t.me/Osintpen/3241; https://t.me/creamy_caprice/12562; https://t.me/verumreactor/39865; https://x.com/richardzai38580/status/2082367696805749211?s=20; https://t.me/Osintpen/3243; https://t.me/DobroKor/3514

[13] https://tass dot ru/politika/27962145; https://t.me/tass_agency/387578; https://t.me/tass_agency/387579; https://t.me/tass_agency/387580 ; https://t.me/tass_agency/387581; https://t.me/tass_agency/387582; https://t.me/tass_agency/387583; https://t.me/tass_agency/38758484 ; https://meduza dot io/news/2026/07/28/medvedev-oproverg-sluhi-o-gryaduschey-mobilizatsii-v-rossii-nazvav-ih-purgoy-i-lzhivoy-provokatsiey84 ; https://t.me/SolovievLive/378956 ; https://t.me/SolovievLive/378958

[14] https://tass dot ru/politika/27962153

[15] https://tass dot ru/armiya-i-opk/27962171

[16] https://tass dot ru/armiya-i-opk/27962143

[17] https://t.me/SolovievLive/379032; https://t.me/SolovievLive/379066 ; https://dzen dot ru/a/amoNAPMxCkdEyj8B; https://ru.themoscowtimes dot com/2026/07/27/vgosdume-vtoroi-raz-zanedelyu-prizvali-neverit-vsluhi-omobilizatsii-a201904

[18] https://t.me/V_Zelenskiy_official/20148; https://www.axios.com/2026/07/29/zelensky-axios-interview-putin-iran-war ; https://suspilne dot media/1366648-zelenskij-zaaviv-so-poprosiv-trampa-nadati-ukraini-zimovij-paket-raket-do-sistem-ppo-patriot/; https://suspilne dot media/1366986-vizit-vitkoffa-i-kusnera-do-kieva-mozlivij-uprodovz-dvoh-nastupnih-tizniv-zelenskij/ https://t.me/bbcrussian/97789

[19] https://news.sky.com/story/sackings-drone-deal-and-a-long-war-volodymyr-zelenskyy-speaks-to-sky-news-13567240; https://www.rbc dot ru/politics/28/07/2026/6a68fc4f9a794753d1b63cb1

[20] https://www.themoscowtimes dot com/2026/07/21/should-russia-brace-for-a-new-mobilization-a93256; https://t.me/milinfolive/176107

[21] https://t.me/rucriminalinfo_2/2014

[22] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-28-2026/

[23] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-22-2026/; https://newsukraine dot rbc.ua/news/russia-prepares-for-possible-protests-as-1785151731.html

[24] https://t.me/CenterCounteringDisinformation/18710

[25] https://www.pravda dot com.ua/eng/news/2026/03/19/8026207/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-10-2026/; https://kyivindependent dot com/putin-preparing-to-send-more-russians-to-war/

[26] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-28-2026/

[27] https://t.me/tass_agency/387652; https://meduza dot io/news/2026/07/29/fsb-obvinila-pavla-durova-v-sodeystvii-terrorizmu-ego-ob-yavyat-v-mezhdunarodnyy-rozysk ; https://ria dot ru/20260729/durov-2107653146.html; https://www.interfax dot ru/russia/1106228

[28] https://tass dot ru/obschestvo/27964055

[29] https://t.me/rybar/82059

[30] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-31-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-18-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-april-17-2026/; https://understandingwar.org/research/cognitive-warfare/putins-internet-crackdown-is-rooted-in-weakness-and-a-need-to-demand-greater-war-sacrifices/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-17-2026/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-24-2026/ ; https://www.reuters.com/sustainability/society-equity/russia-restricts-telegram-whatsapp-calls-citing-law-breaches-2025-08-13/ ; https://t.me/svobodnieslova/7345

[31] https://news dot ru/vlast/v-gosdume-otvetili-na-vopros-o-sudbe-telegram ; https://t.me/deputatdumy/10714

[32] https://understandingwar.org/research/cognitive-warfare/putins-internet-crackdown-is-rooted-in-weakness-and-a-need-to-demand-greater-war-sacrifices/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-11-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_14-23/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_31-9/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-june-18-2025/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_12-4/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-10-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-10-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-march-17-2026/

[33] https://t.me/V_Zelenskiy_official/20220 ; https://t.me/GeneralStaffZSU/41597

[34] https://x.com/StratcomCentre/status/2082329789965181014 ; https://t.me/exilenova_plus/27405 ; https://t.me/exilenova_plus/27406

[35] https://t.me/rwb_press_service/1659

[36] https://t.me/pavelmalkov_official/6794

[37] https://t.me/V_Zelenskiy_official/20220 ; https://t.me/SBUkr/18221

[38] https://t.me/DniproOfficial/7951

[39] https://t.me/mahonin59/12762

[40] https://t.me/V_Zelenskiy_official/20220

[41] https://www.kommersant dot ru/doc/8846772?from=glavnoe_1

[42] https://www.reuters.com/business/finance/russia-explores-support-wildberries-after-ukrainian-drone-attacks-sources-say-2026-07-28/

[43] https://www.ft.com/content/5ca782bd-5c4a-45f8-9a7a-5793d800321d?syn-25a6b1a6=1

[44] https://t.me/GeneralStaffZSU/41581 ; https://t.me/GeneralStaffZSU/41579 ; https://t.me/tass_agency/387641; https://t.me/wargonzo/35843 ; https://t.me/severnnyi/8852 ; https://t.me/severnnyi/8857

[45] https://tass dot ru/armiya-i-opk/27962903; https://t.me/dva_majors/96699

[46] https://t.me/mod_russia/66076; https://t.me/severnnyi/8859

[47] https://t.me/pegasus_1815/183

[48] https://t.me/creamy_caprice/12561

[49] https://t.me/voenkorKotenok/73827

[50] https://t.me/DPSUkr/34283; https://t.me/grvZapad/19279

[51] https://t.me/creamy_caprice/12564; https://t.me/DPSUkr/34283

[52] https://t.me/rybar/82045

[53] https://t.me/rybar/82045

[54] https://armyinform dot com.ua/2026/07/29/10-shturmovykiv-i-bronemobil-ne-dopomogly-prykordonnyky-zupynyly-nastup-voroga-na-pivdenno-slobozhanskomu-napryamku/; https://t.me/DPSUkr/34283

[55] https://t.me/GeneralStaffZSU/41581 ; https://t.me/GeneralStaffZSU/41579 ; https://t.me/GeneralStaffZSU/41605 ; https://t.me/wargonzo/35843 ; https://t.me/dva_majors/96699 ; https://t.me/severnnyi/8852

[56] https://t.me/DnevnikDesantnika/45887

[57] https://t.me/grvZapad/19279

[58]https://t.me/GeneralStaffZSU/41581 ; https://t.me/GeneralStaffZSU/41579 ; https://t.me/GeneralStaffZSU/41605

[59] https://t.me/grvZapad/19279

[60] https://t.me/robert_magyar/2672

[61] https://t.me/divgen/82674

[62] https://www.facebook.com/Vadymlyakh/posts/pfbid0AQzBV4TufKrFj4JY5Sya2SeWqx5LeWSpnYhZ5fD6gW5DkcNKoDoDr1vUWsNk6L5ml

[63] https://t.me/severnnyi/8852

[64] https://t.me/mod_russia/66081 ; https://t.me/tass_agency/387722

[65] https://t.me/wargonzo/35843

[66] https://t.me/grvZapad/19279

[67] https://t.me/grvZapad/19274

[68] https://t.me/rybar/82053

[69] https://t.me/dva_majors/96706

[70] https://t.me/grvZapad/19011

[71] https://t.me/rybar/82053

[72] https://armyinform dot com.ua/2026/07/29/%c2%abpovzuchi-shturmy%c2%bb-ta-drony-z-shi-yak-vorog-namagayetsya-prorvatysya-do-kramatorska-i-slov%e2%80%99yanska/; https://youtu.be/PIRC-06Rkwk?t=2814

[73] https://t.me/RVvoenkor/120141

[74] https://t.me/rybar/82042

[75] https://t.me/voenkorKotenok/73825

[76] https://x.com/Bielitzling/status/2082433049531130123 ; https://t.me/Don_Guards_51st/1398

[77] https://t.me/mod_russia/66079

[78] https://t.me/rybar/82066

[79] https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-23-2026/

[80] https://t.me/wargonzo/35842

[81] https://t.me/creamy_caprice/12565; https://smotrim dot ru/brand/16545#playing_video=6052626

[82] https://x.com/HpwWJVafCv83954/status/2082266508764529142; https://militarnyi dot com/en/news/ukrainian-mig-29mu1-destroys-bridge-near-pokrovsk-with-high-precision-bomb-strike/

[83] https://armyinform dot com.ua/2026/07/29/%c2%abprosochuyutsya-i-perevazhno-vmyrayut%c2%bb-morpihy-rozpovily-yak-rosiyany-shturmuyut-pokrovskyj-napryamok/

[84] https://t.me/GeneralStaffZSU/41581; https://t.me/GeneralStaffZSU/41579

[85] https://t.me/GeneralStaffZSU/41581

[86] https://t.me/rybar/82043 ; https://t.me/dva_majors/96699

[87] https://t.me/rybar/82043

[88] https://t.me/GeneralStaffZSU/41597

[89] https://x.com/NOELreports/status/2082209361451978829?s=20 ; https://x.com/blinzka/status/2082247001748467725?s=20

[90] https://x.com/MikiValbuena/status/2082460314075791784?s=20 ; https://x.com/hochu_dodomu/status/2082347996302188978?s=20

[91] https://t.me/andriyshTime/64310

[92] https://www.facebook.com/reel/1755931228976309 ; https://t.me/creamy_caprice/12560

[93] https://t.me/voin_dv/20427

[94] https://x.com/Danspiun/status/2082445777377378353?s=20 ; https://t.me/DIUkraine/8946

[95] https://t.me/robert_magyar/2672

[96] https://t.me/robert_magyar/2672

[97] https://firms.modaps.eosdis.nasa.gov/map/#d:2026-07-29;@36.62,45.37,10.63z

[98] https://t.me/GeneralStaffZSU/41597

[99] https://armyinform dot com.ua/2026/07/29/sbs-vidrizayut-krym-rosiya-strimko-vtrachaye-morsku-logistyku-v-azovi/

[100] https://x.com/Osinttechnical/status/2082157842266501470; https://x.com/Osinttechnical/status/2082158721296224536

[101] https://armyinform dot com.ua/2026/07/29/rosijskyj-flot-zagnaly-v-gavani-%c2%abkalibry%c2%bb-okupanty-zapuskayut-ne-vyhodyachy-v-more/

[102] https://www.reuters.com/world/three-russian-black-sea-terminals-restrict-grain-intake-by-truck-amid-shipping-2026-07-28/;

[103] https://t.me/kpszsu/70584

[104]https://t.me/GeneralStaffZSU/41605 ; https://t.me/mykola_lukashuk/27804 ; https://t.me/synegubov/24300 ; https://t.me/ihor_terekhov/4393 ; https://t.me/olexandrprokudin/14160 ; https://www.facebook.com/mykoda/posts/pfbid06udvhh9Z36LY6gULCrA4noqJaZPUnSiNzuk2sJSSN5WutVUaSPPaTzcJvZ3gS1Njl ; https://t.me/odeskaODA/18122 ; https://t.me/ivan_fedorov_zp/45117 ; https://t.me/ivan_fedorov_zp/45120

[105] https://t.me/Ukrenergo/5258

[106] https://t.me/dsns_telegram/70024

[107] https://t.me/DnevnikDesantnika/45873

[108] https://t.me/odeskaODA/18088 ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-24-2026/ ; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-july-21-2026/

[109] https://suspilne dot media/odesa/1366892-za-dva-misaci-80-udariv-po-prodovolcij-infrastrukturi-odesi-rosia-zavdala-raketami-banderol-vlasuk/

[110] https://t.me/wargonzo/35862

[111] https://www.lrt dot lt/ru/novosti/17/3004266/v-litve-obnaruzhili-tunnel-iz-belarusi

[112] https://understandingwar.org/research/russia-ukraine/russia-undermines-key-component-of-1995/; https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-february-26-2026/ https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment-september-12-2025/ https://understandingwar.org/research/russia-ukraine/russian-offensive-campaign-assessment_22-6/

Related

Research

Update

Update

Update

Update