Changelog Generator from Semantic-Versioned Releases
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Changelog Generator from Semantic-Versioned Releases helps you maintain a clean, professional changelog for your smart contract versions. You provide a list of releases—each with a semantic version (e.g., 1.0.0, 2.1.3), a release date, and a list of changes—and the tool formats them into a structured, human-readable changelog. It automatically detects the type of each release (major, minor, or patch) and applies appropriate visual tags. Changes are categorized with emoji icons to indicate breaking changes, new features, bug fixes, updates, removals, security improvements, and performance enhancements. The tool also highlights breaking changes and pre-release versions. This is ideal for protocol teams documenting upgradeable contract histories, developers tracking version changes for internal use, or any project following semantic versioning that wants to present their release history clearly.
HOW TO USE
Enter your project name. In the releases textarea, enter each release on a separate line using the format: "version | date | change1 | change2 | change3". For example: "1.0.0 | 2024-01-15 | Initial deployment". Optionally check "Highlight breaking changes" to visually flag releases with breaking changes. Click "Generate Changelog." The tool parses your input, validates semantic version format, sorts releases from newest to oldest, and displays a formatted changelog with version tags, dates, change categories with emoji icons, and breaking change indicators. You can copy the entire changelog as Markdown using the "Copy Changelog (Markdown)" button for use in your README, GitHub Releases, or documentation site.
THE REAL MECHANISM
The tool uses a pure JavaScript parser that operates entirely client-side. It splits the input into lines, then splits each line on the pipe character to separate version, date, and changes. Each version is validated against the semantic versioning pattern (major.minor.patch with optional pre-release suffix). The tool parses the version numbers to determine release type—major if the major version changed, minor if only the minor version changed, and patch if only the patch version changed—and sorts releases by version number in descending order. Changes are scanned for keywords like "breaking", "deprecate", "add", "new", "fix", "bug", "update", "improve", "remove", "delete", "security", and "perf" to assign emoji icons. The formatted output is rendered with CSS styling, and the Markdown export produces a clean document with headings and bullet lists. No external libraries or API calls are required—all processing is done in the browser.
WHAT IT CANNOT SEE
This tool cannot automatically detect semantic version changes from contract bytecode—it requires you to provide the release data manually. It cannot generate changelogs without user-provided input. It cannot verify that releases were actually deployed on-chain. It cannot detect on-chain changes automatically or compare bytecode between versions. It cannot generate release notes from Git history without user input. It cannot produce changelogs for non-EVM contracts or for contracts that do not follow semantic versioning. The tool does not fetch data from the blockchain or from Git repositories.
PLEASE NOTE
Changelog Generator works for any project following semantic versioning and does not require a blockchain connection to function, though the network selector is provided for context. It is a documentation tool for developers, not an on-chain analysis tool. It reads data only and does not send any information to external servers. The tool is free to use and does not require authentication. For best results, follow semantic versioning best practices and keep your release data up to date.