July 28, 2015 Patch

{{Patch layout
 * source = http://www.dota2.com/reborn/updates
 * source-title = Dota 2 Reborn Updates
 * before = July 24, 2015 Patch
 * after =
 * notes =
 * changes =

General

 * Added support for recycling.
 * Fixed a case where framerate could hitch while loading resources.
 * Fixed a bug with  not hitting disrupted units properly.
 * Fixed El Gato flying courier
 * Ward Dispensers now clone state onto illusions correctly.
 * Changed the default fps_max to 120 to match source1 dota.
 * Fixed a rendering issue with 's Remnant.
 * Fixed a bug where on closing the join chat channel popup, focus went back to the page rather than to chat.
 * Fixed console spew with 's Immortal item.
 * Mac: Improved frame rate on HD 5000 cards.
 * Mac/Linux: Fixed performance problems in the settings menu.

Custom Games

 * UI Example: Added a display of buffs to the example HUD.
 * Panorama: Added new 'Buffs' global panorama API that refers to buffs using entity index + buff serial number.
 * Panorama: Added APIs Entities.GetNumBuffs, Entities.GetBuff, Players.BuffClicked.
 * Panorama: Added new tooltip type: DOTATooltipBuff, and events to show a buff tooltip: DOTAShowBuffTooltip/DOTAHideBuffTooltip.

Tools
}}
 * Hammer: Fixed bug where editing a tile set and then switching to a map using it got progressively slower with each update.
 * Particle Editor: Fix for hitboxes when setting, clearing the setting a new model.
 * SFM: Added a context menu in the viewport to control map layer visibility.