
A patch release (often colloquially also known as a point release, dot release, or bugfix release) is a
software release
The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the fi ...
of a product or other project, especially one intended to fix
bugs or do small cleanups rather than add significant
feature
Feature may refer to:
Computing
* Feature recognition, could be a hole, pocket, or notch
* Feature (computer vision), could be an edge, corner or blob
* Feature (machine learning), in statistics: individual measurable properties of the phenome ...
s. Often, there are too many bugs to be fixed in a single major or minor release, creating a need for a point release.
Definition
The term "point release" refers to a common method of
software versioning
Software versioning is the process of assigning either unique ''version names'' or unique ''version numbers'' to unique states of computer software. Within a given version number category (e.g., major or minor), these numbers are generally assig ...
in which a major version is followed by a decimal point and a minor version. When a new minor version is released, the number after the decimal point is incremented, e.g. from 7.0 to 7.1, or from 2.4.9 to 2.4.10.
The incrementing of the number after the "point" led to this phenomenon being called a "point release".
Scope
In a point release, the changes to the software project are typically minor. Such releases are usually reserved for bug fixes, optimizations, security patches, and minor new features. Typically, bugs that affect the broad user population are picked for a point release. Depending on the organization, the size and breadth of a point release can range anywhere from a fix targeted release for a single customer to a general
maintenance release or even a
service pack
In computing, a service pack comprises a collection of updates, fixes, or enhancements to a software program delivered in the form of a single installable package. Companies often release a service pack when the number of individual patches to a ...
. Point releases typically try to be interface-compatible with the previous major release of the software. Also, a point release tends to be compatible with all other point releases under the current minor or major version.
Frequency
Point releases are often made available fairly frequently, unlike major releases, which may occur once every few months or years.
Point releases can be planned to go out a certain time after a major release or can be released as needed. The frequency of deploying point releases varies greatly, depending on the needs of an organization. However, if a critical issue with the current version of the software has been found, an
emergency point release may go out very soon after the issue has been discovered.
Risk
All releases inherently concentrate risk, as thousands of code changes can make it into a single release. This runs the risk of introducing
new bugs with the point release. Regressions can be somewhat mitigated by
regression testing
Regression testing (rarely, ''non-regression testing'') is re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a '' regr ...
, but regression testing is not enough to ensure a stable, bug free environment. Generally, one of the goals of a point release is to minimize risk by making changes based on balancing the user need for a fix, the size of the fix, and the risk of regressions. The risks involved with many software changes being released at once has led some groups to release software following a
rolling release
Rolling release, also known as rolling update or continuous delivery, is a concept in software development of frequently delivering updates to applications. This is in contrast to a ''standard'' or '' point release'' development model which uses ...
method as opposed to doing point releases.
Availability
With
retail software
Retail software is computer software, typically installed on PC-type computers post 2005, delivered via the Internet (also known as cloud-based). Traditionally this software was delivered via physical data storage media sold to end consumer but ve ...
, point releases are often, but not necessarily, free updates for users of the latest full version, as opposed to
major releases that frequently come at some cost even for previous users.
The delivery model of the software also affects who may be able to use it. If an organization follows a
software as a service
Software as a service (SaaS ) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources. SaaS is usually accessed via a web application. Unlike o ...
model or the software is hosted in the
cloud
In meteorology, a cloud is an aerosol consisting of a visible mass of miniature liquid droplets, frozen crystals, or other particles, suspended in the atmosphere of a planetary body or similar space. Water or various other chemicals may ...
, then a point release may be immediately available to users, with no effort required on the users' part to obtain it. If the software must be downloaded, the user may be required to install the point release on his or her own.
See also
*
Patch (computing)
A patch is data that is intended to be used to modify an existing software resource such as a computer program, program or a computer file, file, often to fix software bug, bugs and security vulnerability, security vulnerabilities. A patch may b ...
*
Software versioning
Software versioning is the process of assigning either unique ''version names'' or unique ''version numbers'' to unique states of computer software. Within a given version number category (e.g., major or minor), these numbers are generally assig ...
*
Software release life cycle
The software release life cycle is the process of developing, testing, and distributing a software product (e.g., an operating system). It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the fi ...
*
Maintenance release
*
Service pack
In computing, a service pack comprises a collection of updates, fixes, or enhancements to a software program delivered in the form of a single installable package. Companies often release a service pack when the number of individual patches to a ...
Notes
{{DEFAULTSORT:Point Release
Software release