Patch release

Last updated
Point releases are the off-white boxes in the diagram. VersionNumbers.svg
Point releases are the off-white boxes in the diagram.

A patch release (often colloquially also known as a point release, dot release, or bugfix release) is a software release of a product or other project, especially one intended to fix bugs or do small cleanups rather than add significant features. Often, there are too many bugs to be fixed in a single major or minor release, creating a need for a point release.

Contents

Definition

The term "point release" refers to a common method of software versioning 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. [1] 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. [2] 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. 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. [3]

Frequency

Point releases are often made available fairly frequently, unlike major releases, which may occur once every few months or years. [1] Point releases can be planned to go out a certain time after a major release or can be released as needed. [4] [5] 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. [6] This runs the risk of introducing new bugs with the point release. Regressions can be somewhat mitigated by regression testing, 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. [7] The risks involved with many software changes being released at once has led some groups to release software following a rolling release method as opposed to doing point releases. [8]

Availability

With retail software, 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. [1] The delivery model of the software also affects who may be able to use it. If an organization follows a software as a service model or the software is hosted in the cloud, 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.

Notes

  1. 1 2 3 "What is point release?" . Retrieved 28 October 2014.
  2. "Adobe - Support : Release Terminology Guidelines" . Retrieved 28 October 2014.
  3. Team, Commons Documentation. "Apache Commons – Versioning Guidelines" . Retrieved 28 October 2014.
  4. "What is point release? - Definition from WhatIs.com" . Retrieved 28 October 2014.
  5. https://wiki.documentfoundation.org/ReleasePlan (accessed 28 October 2014)
  6. quality (11 November 2011). "Cloud Difference #3: Point releases concentrate risk unnecessarily (Flemming T Christensen on Quality Collaboration)".
  7. "StableReleaseUpdates - Ubuntu Wiki".
  8. Humble, Jez (February 16, 2012). Four Principles of Low-Risk Software Releases via informIT database.

See also

Related Research Articles

A software bug is an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs is termed "debugging" and often uses formal techniques or tools to pinpoint bugs. Since the 1950s, some computer systems have been designed to detect or auto-correct various software errors during operations.

<span class="mw-page-title-main">HCL Domino</span> Collaborative software platform

HCL Notes is a proprietary collaborative software platform for Unix, Windows, Linux and macOS, sold by HCLTech. The client application is called Notes while the server component is branded HCL Domino.

<span class="mw-page-title-main">Software release life cycle</span> Sum of the phases of development and maturity for computer software

The software release life cycle is the process of developing, testing, and distributing a software product. It typically consists of several stages, such as pre-alpha, alpha, beta, and release candidate, before the final version, or "gold", is released to the public.

An end-of-life product is a product at the end of the product lifecycle which prevents users from receiving updates, indicating that the product is at the end of its useful life. At this stage, a vendor stops the marketing, selling, or provisioning of parts, services, or software updates for the product. The vendor may simply intend to limit or end support for the product. In the specific case of product sales, a vendor may employ the more specific term "end-of-sale" ("EOS"). All users can continue to access discontinued products, but cannot receive security updates and technical support. The time-frame after the last production date depends on the product and relates to the expected product lifetime from a customer's point of view. Different lifetime examples include toys from fast food chains, mobile phones and cars.

Delta encoding is a way of storing or transmitting data in the form of differences (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta compression, particularly where archival histories of changes are required.

<span class="mw-page-title-main">Wget</span> Computer command line program for downloading

GNU Wget is a computer program that retrieves content from web servers. It is part of the GNU Project. Its name derives from "World Wide Web" and "get". It supports downloading via HTTP, HTTPS, and FTP.

<span class="mw-page-title-main">Service pack</span> Single installable package of software updates

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 given program reaches a certain (arbitrary) limit, or the software release has shown to be stabilized with a limited number of remaining issues based on users' feedback and bug reports. In large software applications such as office suites, operating systems, database software, or network management, it is not uncommon to have a service pack issued within the first year or two of a product's release. Installing a service pack is easier and less error-prone than installing many individual patches, even more so when updating multiple computers over a network, where service packs are common.

A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patches are often written to improve the functionality, usability, or performance of a program. The majority of patches are provided by software vendors for operating system and application updates.

Upgrading is the process of replacing a product with a newer version of the same product. In computing and consumer electronics an upgrade is generally a replacement of hardware, software or firmware with a newer or better version, in order to bring the system up to date or to improve its characteristics.

A bug tracking system or defect tracking system is a software application that keeps track of reported software bugs in software development projects. It may be regarded as a type of issue tracking system.

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, these numbers are generally assigned in increasing order and correspond to new developments in the software. At a fine-grained level, revision control is used for keeping track of incrementally-different versions of information, whether or not this information is computer software, in order to be able to roll any changes back.

Vulnerabilities are flaws in a computer system that weaken the overall security of the device/system. Vulnerabilities can be weaknesses in either the hardware itself, or the software that runs on the hardware. Vulnerabilities can be exploited by a threat actor, such as an attacker, to cross privilege boundaries within a computer system. To exploit a vulnerability, an attacker must have at least one applicable tool or technique that can connect to a system weakness. In this frame, vulnerabilities are also known as the attack surface.

A hotfix or quick-fix engineering update is a single, cumulative package that includes information that is used to address a problem in a software product. Typically, hotfixes are made to address a specific customer situation.

A software regression is a type of software bug where a feature that has worked before stops working. This may happen after changes are applied to the software's source code, including the addition of new features and bug fixes. They may also be introduced by changes to the environment in which the software is running, such as system upgrades, system patching or a change to daylight saving time. A software performance regression is a situation where the software still functions correctly, but performs more slowly or uses more memory or resources than before. Various types of software regressions have been identified in practice, including the following:

A maintenance release is a release of a product that does not add new features or content. For instance, in computer software, maintenance releases are typically intended to solve minor problems, typically "bugs" or security issues.

GetDeb was an Ubuntu software portal providing legacy versions of software included in Old LTS Ubuntu versions, and software that is omitted from the official repositories. PlayDeb was a sister project with an explicit focus on games. The names come from the .deb package format used by Ubuntu. GetDeb and PlayDeb services can also be used by Ubuntu derivatives starting with 16.04 as the 14.04 packages were removed once when Ubuntu 14.04 reached EOL. Both websites have been redirected to a spam site, and should no longer be trusted.

In computer programming and software development, debugging is the process of finding and resolving bugs within computer programs, software, or systems.

An unofficial patch is a patch for a piece of software, created by a third party such as a user community without the involvement of the original developer. Similar to an ordinary patch, it alleviates bugs or shortcomings. Unofficial patches do not usually change the intended usage of the software, in contrast to other third-party software adaptions such as mods or cracks.

Long-term support (LTS) is a product lifecycle management policy in which a stable release of computer software is maintained for a longer period of time than the standard edition. The term is typically reserved for open-source software, where it describes a software edition that is supported for months or years longer than the software's standard edition.

Macrium Reflect is a backup utility for Microsoft Windows developed by Paramount Software UK Ltd in 2006. It creates disk images and file backup archives using Microsoft Volume Shadow Copy Service to ensure 'point in time' data accuracy. Macrium Reflect can back up whole partitions or individual files and folders into a single compressed, mountable archive file, which can be used to restore exact images of the partitions on the same hard disk for disaster recovery, or a new hard disk for data migration.