Release notes

Last updated

Release notes are documents that are distributed with software products or hardware products, sometimes when the product is still in the development or test state (e.g., a beta release). [1] [2] For products that have already been in use by clients, the release note is delivered to the customer when an update is released. Another abbreviation for Release notes is Changelog or Release logs or Software changes or Revision historyUpdates or README file. [3] However, in some cases, the release notes and changelog are published separately. This split is for clarity and differentiation of feature-highlights from bugs, change requests (CRs) or improvements on the other side. [4] [5]

Contents

Purpose

Release Notes are documents that are shared with end users, customers and clients of an organization. The definition of the terms 'End Users', 'Clients' and 'Customers' are very relative in nature and might have various interpretations based on the specific context. For instance, the Quality Assurance group within a software development organization can be interpreted as an internal customer. [6]

Content

Release notes detail the corrections, changes or enhancements (functional or non-functional) made to the service or product the company provides. [7] [8] [9]

They might also be provided as an artifact accompanying the deliverables for System Testing and System Integration Testing and other managed environments especially with reference to an information technology organization.

Release notes can also contain test results and information about the test procedure. This kind of information gives readers of the release note more confidence in the fix/change done; this information also enables implementer of the change to conduct rudimentary acceptance tests.

They differ from End-user license agreement, since they do not (should not) contain any legal terms of the software product or service. The focus should be on the software release itself, not for example legal conditions. [10]

Release notes can also be interpreted as describing how to install or build the software, instead of highlighting new features or resolved bugs. [11] Another term often used in this context is System Requirements, meaning the required hardware and software for installing or building the software.

Format style

There is no standard format for release notes that is followed throughout different organizations. Organizations normally adopt their own formatting styles based on the requirement and type of the information to be circulated. The content of release notes also vary according to the release type. For products that are at testing stage and that are newly released, the content is usually more descriptive compared to release notes for bug fixes and feature enhancements, which are usually brief.

Release notes may include the following sections:

A release note is usually a terse summary of recent changes, enhancements and bug fixes in a particular software release. It is not a substitute for user guides. Release notes are frequently written in the present tense and provide information that is clear, correct, and complete.

A proposal for an open-specification exists and is called Release Notes Schema Specification. [12]

Prominent examples (mainly software)

The following list is a selection of major software from different branches, such as software games, operating systems, automotive, CAD design, etc.

See also

Further reading

Related Research Articles

<span class="mw-page-title-main">Free software</span> Software licensed to be freely used, modified and distributed

Free software, libre software, or libreware is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

<span class="mw-page-title-main">GNU Debugger</span> Source-level debugger

The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust, and partially others.

<span class="mw-page-title-main">GNU Hurd</span> Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

<span class="mw-page-title-main">Linux distribution</span> Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

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

A changelog is a log or record of all notable changes made to a project. The project is often a website or software project, and the changelog usually includes records of changes such as bug fixes, new features, etc. Some open-source projects include a changelog as one of the top-level files in their distribution.

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.

<span class="mw-page-title-main">Red Hat Enterprise Linux</span> Linux distribution developed by Red Hat

Red Hat Enterprise Linux (RHEL) is a commercial open-source Linux distribution developed by Red Hat for the commercial market. Red Hat Enterprise Linux is released in server versions for x86-64, Power ISA, ARM64, and IBM Z and a desktop version for x86-64. Fedora Linux and CentOS Stream serve as its upstream sources. All of Red Hat's official support and training, together with the Red Hat Certification Program, focuses on the Red Hat Enterprise Linux platform.

<span class="mw-page-title-main">MontaVista</span> Software company

MontaVista Software is a company that develops embedded Linux system software, development tools, and related software. Its products are made for other corporations developing embedded systems such as automotive electronics, communications equipment, mobile phones, and other electronic devices and infrastructure.

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.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

<span class="mw-page-title-main">QGIS</span> Open-source desktop GIS software

QGIS, also known as Quantum GIS, is a geographic information system (GIS) software that is free and open-source. QGIS supports Windows, macOS, and Linux. It supports viewing, editing, printing, and analysis of geospatial data.

<span class="mw-page-title-main">Linux</span> Unix-like kernel

Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses and recommends the name "GNU/Linux" to emphasize the use and importance of GNU software in many distributions, causing some controversy.

<span class="mw-page-title-main">Embeddable Linux Kernel Subset</span>

The Embeddable Linux Kernel Subset (ELKS), formerly known as Linux-8086, is a Linux-like operating system kernel. It is a subset of the Linux kernel, intended for 16-bit computers with limited processor and memory resources such as machines powered by Intel 8086 and compatible microprocessors not supported by 32-bit Linux.

This is a technical feature comparison of different disk encryption software.

<span class="mw-page-title-main">History of free and open-source software</span> Aspect of history

In the 1950s and 1960s, computer operating software and compilers were delivered as a part of hardware purchases without separate fees. At the time, source code, the human-readable form of software, was generally distributed with the software providing the ability to fix bugs or add new functions. Universities were early adopters of computing technology. Many of the modifications developed by universities were openly shared, in keeping with the academic principles of sharing knowledge, and organizations sprung up to facilitate sharing. As large-scale operating systems matured, fewer organizations allowed modifications to the operating software, and eventually such operating systems were closed to modification. However, utilities and other added-function applications are still shared and new organizations have been formed to promote the sharing of software.

<span class="mw-page-title-main">Linux kernel</span> Operating system kernel

The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally written in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU operating system, which was written to be a free (libre) replacement for Unix.

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.

<span class="mw-page-title-main">Kernel page-table isolation</span>

Kernel page-table isolation is a Linux kernel feature that mitigates the Meltdown security vulnerability and improves kernel hardening against attempts to bypass kernel address space layout randomization (KASLR). It works by better isolating user space and kernel space memory. KPTI was merged into Linux kernel version 4.15, and backported to Linux kernels 4.14.11, 4.9.75, and 4.4.110. Windows and macOS released similar updates. KPTI does not address the related Spectre vulnerability.

References

  1. "Change Log Concepts (GNU Coding Standards)". www.gnu.org. Retrieved 2021-04-05.
  2. Scott, James (2020-04-24). "The art of writing great release notes". Medium. Retrieved 2021-04-05.
  3. "Releases (GNU Coding Standards)". www.gnu.org. Retrieved 2021-04-05.
  4. "Version History - English - Knowledge Base". kb.i-doit.com. Retrieved 2021-10-10.
  5. "56508 - Zynq-7000 SoC, 14.6 FSBL - Is there a changelog?". Xilinx Support Keyword Search.
  6. Hobbs, Brian; Besner, Claude (2016-05-01). "Projects with internal vs. external customers: An empirical investigation of variation in practice". International Journal of Project Management. 34 (4): 675–687. doi: 10.1016/j.ijproman.2016.02.010 . ISSN   0263-7863.
  7. "Change Logs (GNU Coding Standards)". www.gnu.org. Retrieved 2021-04-05.
  8. Wang, C.; Li, J.; Liang, P.; Daneva, M.; Sinderen, M. (September 2019). "Developers' Eyes on the Changes of Apps: An Exploratory Study on App Changelogs". 2019 IEEE 27th International Requirements Engineering Conference Workshops (REW). pp. 207–212. doi:10.1109/REW.2019.00042. ISBN   978-1-7281-5165-6. S2CID   209460408.
  9. Bourne, Kelly C. (2014-01-01), Bourne, Kelly C. (ed.), "Chapter 10 - Updates and Patches", Application Administrators Handbook, Boston: Morgan Kaufmann, pp. 150–165, doi:10.1016/b978-0-12-398545-3.00010-8, ISBN   978-0-12-398545-3 , retrieved 2021-03-25
  10. release-notes/release-notes-spec, Release Notes, 2021-03-25, retrieved 2021-03-25
  11. "Linux kernel release 5.x — The Linux Kernel documentation". www.kernel.org. Retrieved 2021-03-25.
  12. release-notes/release-notes-spec, Release Notes, 2021-03-25, retrieved 2021-03-25
  13. "Releases · GitLab.org / GitLab". GitLab. Retrieved 2021-02-13.
  14. Moreno, L.; Bavota, G.; Penta, M. D.; Oliveto, R.; Marcus, A.; Canfora, G. (February 2017). "ARENA: An Approach for the Automated Generation of Release Notes". IEEE Transactions on Software Engineering. 43 (2): 106–127. doi: 10.1109/TSE.2016.2591536 . ISSN   1939-3520.
  15. Newton, Casey (2016-02-10). "I drank beer and wrote release notes with the Medium release notes team". The Verge. Retrieved 2021-04-05.