Categories

Changelog Extractor

Parse and extract structured data from changelogs and release notes in multiple formats

Features

Extract and parse version information from various changelog formats:

  • Keep a Changelog: Standard format with version headers and categorized changes
  • Conventional Commits: Git commit message style with type and scope
  • GitHub Releases: Release notes with feature lists and bug fixes
  • Auto-detection: Automatically identifies the format used

Extraction

Extracts comprehensive release data:

  • Version numbers: Semantic versioning (e.g., 1.0.0, 2.1.3-beta)
  • Release dates: When each version was released
  • Change categories: Added, Changed, Deprecated, Removed, Fixed, Security
  • Change descriptions: Full text of each change entry
  • Scope and breaking changes: Additional metadata from conventional commits

Analysis

Provides detailed statistics:

  • Total number of releases
  • First and latest version
  • Changes per category per release
  • Unreleased changes detection
  • Total change count across all versions

Export

Export structured JSON data suitable for:

  • API documentation
  • Release notes generation
  • Version comparison tools
  • Migration guides

Include complete text for each change entry

Key Facts

Category
Development
Input Types
textarea, select, checkbox
Output Type
json
Sample Coverage
4
API Ready
Yes

Overview

The Changelog Extractor parses changelogs and release notes from formats like Keep a Changelog, Conventional Commits, and GitHub Releases. It extracts structured data including version numbers, release dates, change categories, and descriptions, outputting JSON for documentation, analysis, or automation.

When to Use

  • When you need to extract version history from changelogs for documentation or analysis.
  • When preparing release notes or migration guides by comparing software versions.
  • When automating the parsing of changelogs in CI/CD pipelines or development workflows.

How It Works

  • Input your changelog content by pasting text into the provided textarea.
  • Select the changelog format or use auto-detection to identify it automatically.
  • Configure options like including full descriptions, then extract to receive structured JSON data.

Use Cases

Generating API documentation by extracting version changes and features.
Creating comparison tools to show differences between software releases.
Automating the generation of release notes for open-source projects.

Examples

1. Extracting Keep a Changelog Data

Background
A developer maintains a project with a changelog in Keep a Changelog format and needs to automate data extraction for a website.
Problem
Manually updating the website with version information is tedious and prone to errors.
How to Use
Paste the changelog content into the input field, select 'Keep a Changelog' format, and extract the data.
Outcome
The tool outputs JSON with all versions, dates, and categorized changes, which can be integrated into the website's build process.

2. Analyzing GitHub Releases for Statistics

Background
A project manager wants to track the number of features and bug fixes over time from GitHub release notes.
Problem
GitHub's interface doesn't provide easy statistics on change categories across releases.
How to Use
Input the GitHub release notes, set format to 'GitHub Releases', and extract to get structured data.
Outcome
JSON data is generated with detailed statistics, such as changes per category per release, enabling trend analysis.

Try with Samples

text

Related Hubs

FAQ

What changelog formats are supported?

The tool supports Keep a Changelog, Conventional Commits, GitHub Releases, and can auto-detect the format.

Can I extract release dates from changelogs?

Yes, it extracts release dates for each version if available in the changelog.

What data is included in the JSON output?

The output includes version numbers, release dates, change categories (e.g., Added, Fixed), change descriptions, and statistics like total releases.

Is there a way to include full change descriptions?

Yes, you can enable the 'Include Full Change Descriptions' option to get complete text for each change entry.

Does the tool detect unreleased changes?

Yes, it can detect and include unreleased changes if they are present in the changelog.

API Documentation

Request Endpoint

POST /en/api/tools/changelog-extractor

Request Parameters

Parameter Name Type Required Description
changelogInput textarea Yes -
formatHint select No -
includeDescriptions checkbox No Include complete text for each change entry

Response Format

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON Data: JSON Data

AI MCP Documentation

Add this tool to your MCP server configuration:

{
  "mcpServers": {
    "elysiatools-changelog-extractor": {
      "name": "changelog-extractor",
      "description": "Parse and extract structured data from changelogs and release notes in multiple formats",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=changelog-extractor",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

You can chain multiple tools, e.g.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 tools.

If you encounter any issues, please contact us at [email protected]