Garry's Mod Logo


  • Implemented a basic "Hold key to continue scrolling" feature to all ListPanel vgui elements, such as old server browser and Hammer's model browser
  • Added lua_dumptimers concommands (each realm has its own suffix) for debugging
  • Added lua_dumpfonts(_menu) for debugging


  • Try to avoid reloading the language multiple times on startup, and add some safeguards when trying to set the language to an invalid one
  • Other minor error handling improvements for Steam Workshop subscriptions
  • Use the new undo.AddFunction return value for "Make Statue" property
  • Made the message "CTextureAllocator::GetTextureRect has invalid texture handle! Expect crashes!" not as spammy
  • Improved handling of invalid texture handles when shadow rendering
  • Added infinite loop prevention for a rare case in shadow rendering
  • Do not try to load filesystem_steam.dll/so/dylib since we do not ship it or use it, should avoid a certain startup crash
  • Minor optimization in Base gamemode's CalcView hook (Community Contribution)
  • Updated CPackedStoreReadCache to its TF2 version, to hopefully fix an uncommon crash
  • Better error handling for getting subscriptions to hopefully prevent "Fetching subscriptions" rarely getting stuck forever for some people
  • Reduced spaminess of "Couldn't find/load font" warnings
  • Added some debug info to "%s overflowed reliable buffer" disconnect message
  • Added "total" count to mat_dump(textures/materials)
  • Saving tool presets now only resaves the changed preset group, not all of the preset groups
  • The default server browser now uses the connection address to connect, not the query address
  • Minor optimization with the PlayerColor material proxy (Community Contribution)
  • Minor optimization with the PlayerWeaponColor material proxy


  • Fixed the game refreshing gamemode and map lists for menus multiple times while loading onto a map or disconnecting, remounting addons or changing gamemode
  • Fixed subscribing to addons while in game remounting addons more than once
  • Fixed memory sizes being displayed incorrectly in certain places with large values
  • Prevent spawnicons with sizes 33-63 from saving "_64" versions of the spawnicons, now uses the default 64x64 image without any suffix like it should
  • Properly remove unmounted (.gma) addon files from internal map so when something tries to access them we don't crash
  • Fixed models loaded by ClientsideModel() or similar methods losing their modelbounds data on map disconnect due to them being reloaded (for now, we don't reload such models)
  • Fixed gui.EnableScreenClicker()'s internal panel showing up after a screen resolution change while it is active
  • Fixes for potential crash issues when handling Lua entities in C++
  • Fixes for potential crashes with MOVECOLLIDE_FLY_CUSTOM, FLY_BOUNCE, FLY_SLIDE, DEFAULT
  • Fixed server browser blacklist being case sensitive
  • Missing the weapons/scripted_ents.Get function at entity creation no longer exits the game (For example when it's only missing clientside)
  • Let people know that -authkey is no longer needed in the srcds console if it is still in the srcds launch options
  • Fixed GameContentChanged hook running 3 times in a row in menu state
  • Fixed first file embedded in the BSP not being decompressed when needed
  • Fixed the default screen resolution selection so it should now select the desktop resolution
  • Added a nullptr check when generating the error texture to prevent crashes
  • Fixed PlayerWeaponColor material proxy hack for Super Grav Gun for cases where people override the default gravity gun (Community Contribution)
  • SteamAPI errors on non first page of Dupes/Saves/Addons/Demos will not hide the pagination so you can go back to the cached pages
  • Fixed a potential issue with Workshop Subscriptions not properly marking files as downloaded
  • Fixed deleting npc_manhack's sprites causing a crash when its deleted sprites are accessed by the NPC code
  • Fixed ErrorNoHalt not being considered a menu state error when it was called in the menu state
  • Fixed a bug with VPK file searching that would result in garbage data in file.Find
  • Fixed potential clientside crashes with ragdolls
  • Potential workaround for "SV_CreatePacketEntities: GetEntServerClass failed for ent 1." error message and crash when disconnecting from a listen server as a host while it is not empty


  • Removed files that are automatically sent from lua/send.txt
  • Deleted the Panel.IsModal existence check from DMenu now that the update is released and that check is no longer necessary
  • Removed unnecessary arguments in C++ => Lua workshop download callbacks in menu state