Parse changelog

Extract versions, release dates, and change categories from a Markdown changelog.

freeworks offlinenothing uploaded
ToolChangelog Parser
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

Markdown headings are scanned for version sections and bullets are grouped under Added, Changed, Deprecated, Removed, Fixed, or Security. Unknown headings remain visible instead of being silently discarded.

  • Keep a Changelog categories provide predictable grouping.
  • Custom sections remain available for existing projects.

Worked example

Multi-release Keep a Changelog
Parse a CHANGELOG.md with two releases containing Added, Fixed, and Changed sections
Input
											## [2.1.0] - 2024-03-15

### Added
- Dark mode support
- Export to PDF

### Fixed
- Login timeout issue

## [2.0.0] - 2024-01-10

### Changed
- Redesigned dashboard
										
Output
												Version  Date        Changes
-------  ----------  -------------------------------------------------------------------------------
2.1.0    2024-03-15  {"Added":["Dark mode support","Export to PDF"],"Fixed":["Login timeout issue"]}
2.0.0    2024-01-10  {"Changed":["Redesigned dashboard"]}
											

When to use this

Release sites, package publishing, and dependency reviews parse changelogs.

Edge cases

  • Unreleased has no semantic version and remains pending.
  • A date in a heading is not automatically a version.
  • Bullets before a category need a fallback group.

References