Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Patch vs. Upgrade

Tags:

patch

upgrade

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.

like image 809
Macho Matt Avatar asked Aug 19 '09 19:08

Macho Matt


People also ask

What is the difference between patching and upgrade?

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.”

Why are updates called patches?

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.

What does patching mean when updating?

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.

What does patched version mean?

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).


2 Answers

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.

like image 87
Breakthrough Avatar answered Oct 26 '22 02:10

Breakthrough


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.

like image 23
user105033 Avatar answered Oct 26 '22 02:10

user105033