/github-for-non-tech

How to write a changelog on GitHub?

Learn how to create a clear GitHub changelog. This guide covers formatting, versioning, committing, and tagging best practices for your CHANGELOG.md file.

Matt Graham, CEO of Rapid Developers

Book a call with an Expert

Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.

Book a free No-Code consultation

How to write a changelog on GitHub?

 

Step 1: Understand the Purpose of a Changelog

 

A changelog is a human-readable record of all notable changes made to a project. It helps users and contributors see what’s new, what’s fixed, and what’s been removed or deprecated in each version.

  • Define clear versioning (e.g., semantic versioning: MAJOR.MINOR.PATCH).
  • Group changes by category (Added, Changed, Deprecated, Removed, Fixed, Security).
  • Follow a consistent format so readers can quickly scan for updates.

 

Step 2: Choose a Changelog Format

 

One widely adopted standard is “Keep a Changelog”. It recommends:

  • Top‐level file named CHANGELOG.md.
  • Headings for each version with release dates.
  • Subheadings for categories like Added, Changed, Fixed.

 

Step 3: Create the CHANGELOG.md File in Your Repository

 

At the root of your project, create a new file named CHANGELOG.md:

# Navigate to your repository
cd path/to/your/repo

# Create the changelog file
touch CHANGELOG.md

# Open it in your editor (example using VS Code)
code CHANGELOG.md

 

Step 4: Add the Header and Initial Unreleased Section

 

Start with a header and an “Unreleased” section placeholder. This makes it easy to add upcoming changes before each release.

# Changelog

All notable changes to this project will be documented in this file.

## [Unreleased]

### Added
- 

### Changed
- 

### Deprecated
- 

### Removed
- 

### Fixed
- 

### Security
- 

 

Step 5: Document Changes Under Appropriate Categories

 

For each change you make, update the “Unreleased” section. Use clear, concise descriptions and group each change:

  • Added: for new features
  • Changed: for modifications in existing functionality
  • Deprecated: for soon-to-be removed features
  • Removed: for deprecated features removed in this release
  • Fixed: for any bug fixes
  • Security: in case of vulnerability fixes
## [Unreleased]

### Added
- User login via OAuth2 (#45)
- Export data as CSV option

### Fixed
- Crash on profile update (issue #12)
- Typo in dashboard title

 

Step 6: Version and Release Your Changes

 

When you’re ready to publish a new version:

  • Replace the [Unreleased] heading with the new version and date.
  • Add a fresh [Unreleased] section below it for the next cycle.
## [1.2.0] - 2024-07-15

### Added
- User login via OAuth2 (#45)
- Export data as CSV option

### Fixed
- Crash on profile update (issue #12)
- Typo in dashboard title

## [Unreleased]

### Added
- 

 

Step 7: Commit, Push, and Publish on GitHub

 

Stage and commit your CHANGELOG.md, then push to GitHub so everyone sees your new release notes.

# Stage the changelog
git add CHANGELOG.md

# Commit with a descriptive message
git commit -m "docs: update changelog for v1.2.0"

# Push to the default branch
git push origin main

 

Step 8: Tag the Release on GitHub

 

Create a Git tag matching your version and push it. This helps GitHub link to your changelog entry in the Releases page.

# Create a version tag
git tag v1.2.0

# Push tags
git push origin --tags

 

Step 9: Maintain and Automate Going Forward

 

To keep your changelog healthy:

 

By following these steps, you’ll have a clear, organized changelog in your GitHub repository that’s easy for others to read and for you to maintain.

Want to explore opportunities to work with us?

Connect with our team to unlock the full potential of no-code solutions with a no-commitment consultation!

Book a Free Consultation

Client trust and success are our top priorities

When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.

Rapid Dev was an exceptional project management organization and the best development collaborators I've had the pleasure of working with. They do complex work on extremely fast timelines and effectively manage the testing and pre-launch process to deliver the best possible product. I'm extremely impressed with their execution ability.

CPO, Praction - Arkady Sokolov

May 2, 2023

Working with Matt was comparable to having another co-founder on the team, but without the commitment or cost. He has a strategic mindset and willing to change the scope of the project in real time based on the needs of the client. A true strategic thought partner!

Co-Founder, Arc - Donald Muir

Dec 27, 2022

Rapid Dev are 10/10, excellent communicators - the best I've ever encountered in the tech dev space. They always go the extra mile, they genuinely care, they respond quickly, they're flexible, adaptable and their enthusiasm is amazing.

Co-CEO, Grantify - Mat Westergreen-Thorne

Oct 15, 2022

Rapid Dev is an excellent developer for no-code and low-code solutions.
We’ve had great success since launching the platform in November 2023. In a few months, we’ve gained over 1,000 new active users. We’ve also secured several dozen bookings on the platform and seen about 70% new user month-over-month growth since the launch.

Co-Founder, Church Real Estate Marketplace - Emmanuel Brown

May 1, 2024 

Matt’s dedication to executing our vision and his commitment to the project deadline were impressive. 
This was such a specific project, and Matt really delivered. We worked with a really fast turnaround, and he always delivered. The site was a perfect prop for us!

Production Manager, Media Production Company - Samantha Fekete

Sep 23, 2022