HOME

TheInfoList



OR:

A changelog is a log or record of all notable changes made to a project. The project is often a
website A website (also written as a web site) is a collection of web pages and related content that is identified by a common domain name and published on at least one web server. Examples of notable websites are Google, Facebook, Amazon, and W ...
or software project, and the changelog usually includes records of changes such as bug fixes, new features, etc. Some
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
projects include a changelog as one of the top-level files in their distribution. A changelog has historically included all changes made to a project. The "Keep a Changelog" site instead advocates that a changelog ''not'' include ''all'' changes, but that it should instead contain "a curated, chronologically ordered list of notable changes for each version of a project" and should not be a "dump" of a git log "because this helps nobody". Although the canonical naming convention for the file is ''ChangeLog'', it is sometimes alternatively named as ''CHANGES'' or ''HISTORY'' (''NEWS'' is usually a different file reflecting changes between releases, not between the commits). Another convention is to call it a ''CHANGELOG''. Some project maintainers will append a ''.txt'' suffix to the file name if the changelog is
plain text In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects (floating-point numbers, images, etc.). It may also include a limit ...
, a ''.md'' suffix if it is in
Markdown Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is appealing to human readers in its source code form. Markdown i ...
, or a ''.rst'' suffix if it is in
reStructuredText reStructuredText (RST, ReST, or reST) is a file format for textual data used primarily in the Python programming language community for technical documentation. It is part of the Docutils project of the Python Doc-SIG (Documentation Special Inte ...
. Some
revision control In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
systems are able to generate the relevant information for a changelog, if the goal is to include all changes. A golang Change Log is synonymous with a set of code changes and the associated code review.


Format

Changelog files are organized by paragraphs, which define a unique change within a function or file. The GNU Coding standards recommend the following format:
YYYY-MM-DD␣␣John Doe␣␣

    * myfile.ext (myfunction): my changes made
    additional changes

    * myfile.ext (unrelated_change): my changes made
    to myfile.ext but completely unrelated to the above

    * anotherfile.ext (somefunction): more changes made by me
Note that between the date and the name, and again between the name and the email address, there are two spaces each. It is common to enclose the email address in < and >. The Emacs editor creates such entries when creating additional changelog entries.


Changelogs in wikis

Most
wiki A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pub ...
software includes ''changelogs'' as a fundamental feature (often called ''history'' in this context). For example, the "View history" link at the top Help:Page_history. of a
Wikipedia Wikipedia is a multilingual free online encyclopedia written and maintained by a community of volunteers, known as Wikipedians, through open collaboration and using a wiki-based editing system. Wikipedia is the largest and most-read refer ...
entry links to that page's changelog. This feature is vital for complying with the attribution requirements of some copyright licenses.


Product changelogs

A product changelog can keep customers in the loop about what's new. It helps to announce new features, latest releases, and relevant news directly in-app.


See also


Notes

{{reflist


External links


GNU Coding Standards: Change Logs

Keep a CHANGELOG

Checklist for creating a changelog
Computer files Free software culture and documents Technical communication