DEV Community

Cover image for Semantic Versioning and Changelog
Walter Nascimento
Walter Nascimento

Posted on • Updated on

Semantic Versioning and Changelog

[Clique aqui para ler em português]

All projects should have a semantic versioning, so it would facilitate the use of specific versions as dependencies and old versions for specific platforms or even avoid that bug that appeared in the X.Y.Z version of the project.

Semantic Versioning

Simple set of rules and requirements that determine how version numbers are assigned and in turn incremented.

  • MAJOR: when you make incompatible API changes;
  • MINOR: when you add backward-compatible functionality;
  • PATCH: when you fix backward compatible bugs.

You can read more about the specification at:


When you are going to update a project and want to know what has changed, you go after all the previous releases and the changelog is a file that makes this easier for you and your users.

How to make a good changelog?

Fundamental principles

  • Changelogs are for humans, not machines.
  • There must be an entry for each version.
  • Changes of the same type must be grouped together.
  • Versions and sections must be linked (with links).
  • The latest version comes first.
  • The release date of each version is displayed.
  • Mention whether you follow semantic versioning.

Types of changes

Create your tags to help view the changelog, if you need help here are some patterns:

You can read more about it at:

Thanks for reading!

If you have any questions, complaints or tips, you can leave them here in the comments. I will be happy to answer!

😊😊 See you! 😊😊

Support Me

Youtube - WalterNascimentoBarroso
Github - WalterNascimentoBarroso
Codepen - WalterNascimentoBarroso

Top comments (0)