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 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, The GNU automake manual 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, or a .md suffix if it is in Markdown.
Some revision control systems are able to generate the relevant information that is suited as a changelog if the goal is to include all changes.
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
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 creates such entries when creating additional changelog entries.