From Surf Wiki (app.surf) — the open knowledge base
Changelog
List of changes
List of changes
A changelog is a list of changes made to software that has been revised over time such as a codebase or a product.
A changelog can be a curated record. The author of the changelog can present the information to make it easy to understand and consume. For a software project and a software release, a changelog often is organized as bug fixes and new features.
A changelog can also be a generated report that includes all changes without regard to the ease of consuming or understanding. Typically, a version control system such as git can generate a list of code changes, but some view this as unhelpful and prefer a curated list of notable changes. Another example of generated changelog is that of the typical wiki that lists changes made to each article. In particular, Wikipedia provides this feature via the "View history" link on each article page.
The name of a changelog file varies. Commonly-used names include "CHANGELOG", "CHANGES" and "HISTORY". The GNU Automake naming convention is "ChangeLog". Sometimes that file name includes a file name extension to indicate file format, such as ".txt" for text, ".md" for Markdown, or ".rst" for reStructuredText. Often a codebase, especially a open-source software project, includes a changelog file in the top level of a distribution directory tree.
Sometimes, information limited to recent changes is included in a product release. This might be exposed as a feature or a file named something like "news", "recent changes" or "release notes".
Format
In general, the format of a changelog varies dramatically, but the GNU coding standards specify that a changelog is organized as blocks that each identify when a change was made and by whom (name and email address) and describes each change within a function or file. Between the date and the name, and between the name and the email address, there are two spaces. It is common to enclose the email address in . The Emacs editor creates such entries when creating additional changelog entries.
For example:
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.
Notes
References
- (1 January 2008). "New Innovations for Program Management … Challenges and Successes". Proceedings of the Water Environment Federation.
- (2021). "Developer Relations: How to Build and Grow a Successful Developer Program". Apress L. P.
- Atlassian. "What is version control {{!}} Atlassian Git Tutorial".
- "Keep a Changelog".
- [[Help:Page history]]
- [https://www.gnu.org/software/automake/manual/html_node/Gnits.html#Gnits The GNU automake manual].
- "GNU Coding Standards: Style of Change Logs".
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Changelog — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report