Everything about changelog in github|gitlab example


In a software application development, code is stored in code repositories like git,bitbucket, Every feature in application is committed with change log and version number.

During application release process, application version is increased

For example, windows is released to the end users with versions 10,11 with each versions contains features.

What is changelog?

Changelog is a text file with log summary of all your change made for each version of project. It is also called release notes

The project is either software or application or opensource products.

It contains date and version number and contains log of changes, can be grouped by module or feature. There is no standard format for this files but you can follow certain rules

How do you write a changelog?

There are different changes that you can add to changelog for each release.

  • Added: This section contains new features released.
  • Changed: It contains changes made to existing feature.
  • Deprecated: changes removed in future.
  • Removed : removed features.
  • Fixed: any bugs fixed.
  • Security: security issues are declared here

Changelog principles and features

  • Used by Users and contributers and not for machine
  • It contains Release date
  • summary logs are grouped by feature
  • Version number displayed and latest version shows first
  • This files can be created as .txt or .md or .rst extension

git Changelog  generator

There are lot of generator to generate changelog

Changelog format example file

Changelog file can be created with markdown editor in gitlab or github extension is .md

Usually semantic version is followed for software release process,Highest version comes first.

Here is format and summary of changelog

All summary of changes are written here

Highest version comes first

[2.0.0] - 2021-10-02
Here we write upgrading notes for brands. It's a team effort to make them as straightforward as possible.

Changelog for 2.0.0 version with summary of log changes

Added
PROJECT-XXXX MINOR story details goes here.
PROJECT-YYYY PATCH story details goes here.
Changed
Fixed
[1.2.4] - 2020-03-12
Changelog for 1.2.4 version
Added
Changed
PROJECT-ZZZZ MAJOR Angular version change.
Fixed
PROJECT-AAA PATCH Add styles for mat-table.
[1.2.3] - 2019-02-11
Added
Changed
Fixed
PROJECT-123 MINOR Fix core module tests
PROJECT-5454 MAJOR Module cdk version upgrade

How do you define guidelines for changelog in Git

You can check git log command to get history of revisions and changes

Git log with more detailed information

git log --stat --pretty=short --graph

Here are some of the frequent command to get

How do you get all commits changes up to specific tag?

git log --oneline --decorate v1.0.0

This shows commits logs for upto v1.0.0

We can use shortlog which groupes the commits by author and generate summary of changes

git shortlog v1.0.0

How do you get changelog between two releases?

The below command show commit change log between two releases v1.0.0 and v2.0.0

git log v1.0.0...v2.0.0

How to generate changelogin in Jenkins?

Jenkins provides changelog plugin to create summary of notes between two revisions.

You can check more about git changelog plugin

This plugin can be used with

  • pipeline plugin
  • post-build action

Difference between Changelog vs release notes

Both are technically same but different in descriptions

Release notes is a notes documents about the changes of each release of an software or project. This contains addtional information about the changes and these changes has any impact to end users. This is more useful for end customers

Change logs are note of changes which contains additons,delettion and changes to released product version. THis is more useful for developers and contributors.

THE BEST NEWSLETTER ANYWHERE
Join 6,000 subscribers and get a daily digest of full stack tutorials delivered to your inbox directly.No spam ever. Unsubscribe any time.

Similar Posts
Subscribe
You'll get a notification every time a post gets published here.