by AI Changelog (LX AI)

Last updated: 2026-09-16

AI Changelog vs conventional-changelog vs GitHub Releases

Three common ways to produce release communication. All are real; pick by whether you need a portable file, CI automation, or a host UI.

AI Changelog vs conventional-changelog vs GitHub Releases

Three common ways to produce release communication. All are real; pick by whether you need a portable file, CI automation, or a host UI.

ApproachPrimary artifactStrengthWatch-out
AI ChangelogHuman-oriented draft from commits/PRsFast first pass for Keep a Changelog style notesStill requires human review before publish
conventional-changelogGenerated sections from commit metadataFits Conventional Commits + CICommit ≠ user-facing note; noise remains
GitHub ReleasesHost release pageAssets, notifications, compare viewTied to the host; Keep a Changelog prefers a file in-repo

Rule of thumb: keep a portable changelog as source of truth, use generators as drafts, and treat hosted Releases as the announcement channel.

How AI Changelog creates a first draft

I start by feeding the tool the raw git history since the last tag. The tool scans each commit message and each pull request description. It looks for patterns that signal a user‑visible change: words like “add”, “fix”, “remove”, “update”, and it also checks for conventional‑commit prefixes such as feat:, fix:, perf:. When it finds a match it builds a sentence in the style of Keep a Changelog, placing the sentence under the appropriate version header.

Input sources

Transformation steps

  1. Collect all commits since the last released tag
  2. Group commits by conventional‑commit type (feat, fix, docs, refactor, test, chore)
  3. For each group, generate a short phrase that summarizes the change
  4. Place each phrase under a section header like “Added”, “Fixed”, “Removed”
  5. Emit a markdown file that follows the Keep a Changelog 1.1.0 format

Example output

## [1.2.0] - 2026-09-10
### Added
- Add OAuth2 login flow for GitHub and GitLab providers
### Fixed
- Fix validation error when email field contains trailing spaces
### Changed
- Update dependency on node-fetch to version 3.3.0

The draft is meant to be opened in an editor, reviewed, and then copied into the changelog file that lives in the repository. I never publish the draft directly; it is always a starting point for a human editor.

How conventional-changelog generates sections

This tool works directly with commit metadata. It expects each commit to follow the Conventional Commits specification. When it sees a commit with type feat it creates an “Added” section, with type fix it creates a “Fixed” section, and so on. The output is a series of markdown sections that can be concatenated into a changelog file.

Required commit format