A
changelog is a log or record of changes made to a project, such as a website or software project, usually including such records as bug fixes, new features, etc. Most open source projects include a changelog as one of the top level files in their distribution.
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). Some project maintainers will append a
.txt suffix to the file name.
Some revision control systems are able to generate the relevant information that is suited as a changelog.
Format
Changelog files are organized by paragraphs, which define a unique change within a function or file. Most changelog files follow the following format, note that there are 2 spaces between date and name and again between the name and the email address:
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


