Last updated
Why Changelogs Matter
A changelog is a curated, human-readable record of notable changes in each version of a project. It's different from a raw git log — it's written for users and developers who need to understand what changed, not for machines. The Keep a Changelog project defines a widely-adopted format that makes changelogs consistent and easy to parse.
Keep a Changelog Format
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.2.0] - 2026-03-22
### Added
- New user authentication flow with OAuth2 support
- Dark mode toggle in settings panel
### Changed
- Improved performance of search indexing by 40%
- Updated dependency: axios 1.6.0 → 1.7.2
### Fixed
- Fixed crash when uploading files larger than 100MB
- Corrected timezone handling in date picker
### Deprecated
- `getUserById()` is deprecated; use `findUser({ id })` instead
### Removed
- Removed legacy IE11 polyfills
### Security
- Patched XSS vulnerability in markdown renderer (CVE-2026-1234)
Automating Changelogs with Conventional Commits
Conventional Commits
is a commit message specification that enables automated changelog generation.
Commit messages follow the format type(scope): description:
feat: add dark mode→ Added sectionfix: correct timezone bug→ Fixed sectionfeat!: redesign API(breaking change) → triggers major version bumpchore: update dependencies→ not included in changelog
Tools like standard-version, release-please, and semantic-release
read these commit messages and automatically generate changelogs and bump version numbers.