How do you distinguish between a "patch" and an "upgrade"? Where do you draw the line?
A certain specification says I need to do "X" whenever I release an upgrade to the product. I need to draw the line somewhere. I don't want to violate this spec, but I've never really explicitly defined it before.
Patches minimize your attack surface and protect your system against attackers. “While general software updates can include lots of different features, patches are updates that address specific vulnerabilities.”
Historically, software suppliers distributed patches on paper tape or on punched cards, expecting the recipient to cut out the indicated part of the original tape (or deck), and patch in (hence the name) the replacement segment.
Patching is a process to repair a vulnerability or a flaw that is identified after the release of an application or a software. Newly released patches can fix a bug or a security flaw, can help to enhance applications with new features, fix security vulnerability.
Patch Release means a Software release that provides fixes to Errors, indicated by a change to the hundredths decimal number of the release (e.g., 1.5. 2 to 1.5. 3).
With respect to software versioning (especially semantic versioning), patching will upgrade a software's patch version number, and updates upgrade their minor version number. For applications that follow semantic versioning (in MAJOR.MINOR.PATCH
format), a patch is defined as:
increment the [...] PATCH version when you make backwards-compatible bug fixes.
In most cases, patches update the third number, the maintenance version. Updates update the minor version number. Furthermore, patches usually fix problems while maintaining compatibility, whereas updates can both fix problems as well as add new features which may not be compatible with previous versions. One may additionally append a build or revision number past the patch number:
MAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH.BUILD
So a version number 2.1.3.089 is the second major version, first minor revision (so there has been one major update), third maintenance build (so three patches since version 2.1.0.X was released), and build 089 (no significance to builds/patches, can be thought of as additional metadata specifying a unique version ID/number).
The Wikipedia article on software versioning is an interesting read. The reason I specify the M.M.M.B style is that it is commonly used in Visual Studio during application development.
In some cases, however, the last number (build) is omitted - for end users, rarely is this ever needed. It's mostly for development purposes only.
A patch is generally something that is pushed out to fix a critical error or issue or security issue. Updates or releases are probably more along the lines of additional functionality and features to the software.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With