A patch is data for modifying an existing software resource such as a program or a file, often to fix bugs and security vulnerabilities.12 To patch is also the process of applying the data to the existing resource. Patching a system involves applying a patch. A patch may be created to improve functionality, usability, or performance. A patch may be created manually, but commonly it is created via a tool that compares two versions of the resource and generates data that can be used to transform one to the other.
This article is about modifying software based on a file that encodes the changes. For other software updates called patch or patching, see Software update.
For other uses of "Patch", see Patch (disambiguation).
Typically, a patch needs to be applied to the specific version of the resource it is intended to modify, although there are exceptions. Some patching tools can detect the version of the existing resource and apply the appropriate patch, even if it supports multiple versions. As more patches are released, their cumulative size can grow significantly, sometimes exceeding the size of the resource itself. To manage this, the number of supported versions may be limited, or a complete copy of the resource might be provided instead.
Patching allows for modifying a . Although this can be technically challenging (requires a thorough understanding of the workings of the executable), it may be feasible when the is unavailable to a full executable, and it allows for a smaller distribution which can be more economical than distributing full files.
