What is a changelog?
A changelog lists the changes of a product, for example an app. But a well maintained changelog tells you far more about the product, that just the last changes.
Nearly every software product comes with a changelog. Sometimes it's called "release notes", too. It's often shown on update notifications and gives you an overview about the changes that the update includes.
What does a Changelog contain?
A changelog documents the changes of the product. It shows, which new functionalities there are, if things changed and if the user has to react in any way. It shows which bugs where fixed and if functionality has been removed or limited.
When looking at changelogs of open source projects, you will often also see who made the changes and why.
A changelog tells us even more
The best case is, when the changelog is maintained since the first version of the product, so we can go back in time until then. The chronological list works with version numbers or release dates.
Especially changelogs reaching far back in time, offer a good view in what direction the product goes. At first you will see how active the developers are. You can also see their main focus. Are they working on new features or are they fixing bugs most of the time?
A view back in time will tell you in which direction the development of the products goes and looking at new features will give you a spot on what the product might look like in the future.
How is a changelog created?
There are mainly two possibilities to create a changelog.
Every change will be collected and a team member will write those changes into the file. Or the changelog will be generated automatically. That is easily possible by using a versioning system like git, which forces you to write a comment to every change you make.
There are some voices against automatic creation of a changelog, because those kinds of logs aren't that readable.
Which format has a changelog?
To be able to open the changelog without any additional software, it is delivered as a plain textfile. To make it a bit more readable, some developers use markdown to structure it.
Get more detailed information on the topic on keepachangelog.com