Problems & Background

Have you ever been frustrated by reading an app’s changelog that’s full of unhelpful information? It’s like they don’t care about their product or their users. You might have seen changelogs like this:


  • Some bugs fixed


  • Fix bugs and improve UI/UX

These changelogs are confusing and don’t provide any meaningful insights for users. Changelogs are meant for people, not machines. They serve as a way for us to communicate with our users. Whether you’re working on a big or small software project, it’s essential to create a useful changelog.

In the early stages, our commit messages were similar, not designed for humans, product teams, or even fellow engineers. They looked something like this:

🐞 Bugs

  • Correct releaserc cfg (4337ccb)
  • Disable webpage preview in tip message (1fe0fae)
  • Remove extra @ in tip message (e6ac302)
  • Sentry check ticker command (#64) (f81c9ca)

Initially, we didn’t see anything wrong with these messages; in fact, we considered them good. However, as time passed, we realized that we were missing essential context, such as which features, platforms, or affected areas these commits related to.

So, we decided to change the way we write commit messages and put in a bit more effort to enhance our notification platform. Now, with each release, we have clear and informative messages like this:


We’ve adopted a specific syntax when creating a new commit:

level(scope): message