Garry's Mod Logo
Changes Header

Changes

What’s changed in Garry's Mod in each patch.

handyman

Fixed

  • Fixed crash when rendering models with invalid flex rules
  • Fixed RCE exploit discovered by One Up Security
arrow_circle_up

Improvements

  • gui.OpenURL now asks users for confirmation before opening a website
handyman

Fixed

  • Linux clients no longer crash on startup when a joypad is connected to the computer
arrow_circle_up

Improvements

  • Improved performance of 2D/3D views
  • 2D views are now rendered during scroll operations, rather than after
  • Increased max render distance from 10,000 to 32,000
  • Vertices no longer need to be in the exact same location to be merged
handyman

Fixed

  • Blended textures are now rendered correctly - it should be identical to in-game
  • Model browser no longer freezes after being opened multiple times
  • Overlays no longer flicker when rendered in 3D shaded mode
  • Scrollbars on 2D views are now correctly sized when zoomed in
add_circle

Features

  • Preset support for Utilities menus
  • 'Quick Preset' button - allows for easier access to the preset system
  • Addons menu can now manage multiple addons at once (e.g. bulk unsubscribing)
  • Demos, saves, and duplications menus now list items that the user is subscribed to
  • Addons menu now has a search bar to quickly search through subscriptions
  • The '-notty' startup parameter on Linux servers will send console output directly to stdout
arrow_circle_up

Improvements

  • Weapons no longer turn upside-down when zooming in too far
  • Improved support for CS:GO/Portal 2/TF2 maps
  • Game returns to DirectX 9 mode if '-dxlevel' is not specified in the command-line
  • Improved relationships between Half-Life and Half-Life 2 NPCs
  • Improved behaviour of collisions between players and 'no collided' entities created by tools
  • Added more information to crash dumps (.mdmp files)
  • r_eyes_* console variables are no longer saved
  • The emitter tool's explosion effect no longer creates sounds
  • Bots can no longer be created before the InitPostEntity hook has fired
  • Improved how serverside ragdolls are handled on the client - hull traces can hit them now
  • Updated the Half-Life Model Viewer to have newest features from Team Fortress 2 version
handyman

Fixed

  • Odessa no longer has female voices
  • Fixed errors caused by the spawn menu's search feature not having access to certain directories
  • Fixed many crashes related to NPCs trying to use non-existent entities
  • Checkboxes and radio buttons in HTML panels are now displayed properly on Linux/macOS
  • Half-Life Ichthyosaur can now cause damage
  • Half-Life Tentacle NPC no longer continues playing sounds after being removed
  • Fixed massive FPS drops when missing sounds are playing on servers
  • Fixed crash that occurs when console variables created by Lua are removed too early on level change
  • Fixed late loading of memory allocator on Linux causing the game to crash for some people
  • Impulse 200 command no longer crashes when the player has no active weapon
  • Fixed prediction errors when firing weapon_357
  • weapon_357 now has the 'revolver' holdtype
add_circle

Features

  • Entity:PhysicsInitStatic( ... )
  • Entity:RemoveCallback( ... )
  • Entity:GetCallbacks( ... )
  • CLuaEmitter:IsValid( ... )
arrow_circle_up

Improvements

  • Entity:PhysicsInit* methods now return either true or false based on success
  • Entity:Remove() can no longer remove the world
  • Weapon:IsScripted() will now return false instead of no value when ran on non-scripted weapons
  • Player:Give( ... ) no longer fills a player's gun with ammo when asked to not give ammo to players
  • Entity:GetBoneCount() and Entity:GetBoneParent( ... ) will now return -1 on failure
  • Entity:TranslateBoneToPhysBone( ... ) will now return -1 on failure
  • Entity:SetSaveValue( ... ) now returns false on failure
  • Entity:DispatchTraceAttack( ... ) will now trigger an error when passed invalid parameters
  • Entity:HasBoneManipulations() and Entity:HasFlexManipulatior() return false on failure
  • Entity:GetBrushPlaneCount() will now return false on failure
  • Entity:GetFlexScale( ... ) now always returns 1 on failure, rather than just sometimes
handyman

Fixed

  • Entity:GetBrushPlaneCount() and Entity:GetBrushPlane( ... ) now work on brush entities
  • PathFollower:Compute() no longer leaks Lua references