For release history, the first results are conventional-changelog/standard-version (Standard-version is a dedicated release automation tool that handles semantic versioning, automated changelog generation, and Git tag management by parsing conventional commits, making it a comprehensive solution for the software release lifecycle), webpro/release-it (This tool is a comprehensive release automation suite that natively handles semantic versioning, automated changelog generation, Git tagging, and CI/CD integration, making it a perfect fit for managing the software release lifecycle) and semantic-release/semantic-release (This tool is a comprehensive orchestrator for the entire release lifecycle, providing automated semantic versioning, changelog generation, and CI/CD integration based on commit history). changesets/changesets and release-it/release-it round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Compare the top release management tools for GitHub. We ranked these open-source projects by activity and features to help you find the best fit.
Standard-version is a semantic versioning release automation tool and Git versioning manager. It calculates the next semantic version by parsing commit messages that follow the Conventional Commits specification and automates the process of updating project files and creating signed Git tags. The tool distinguishes itself by generating formatted changelogs automatically from commit history and providing a release process simulation to preview version bumps without modifying files or Git history. It supports pre-release version management for experimental builds and allows for manual version o
Standard-version is a dedicated release automation tool that handles semantic versioning, automated changelog generation, and Git tag management by parsing conventional commits, making it a comprehensive solution for the software release lifecycle.
release-it is an automated software release tool used for version bumping, Git tagging, and publishing software packages to registries. It functions as a Git versioning manager and changelog generator, facilitating the transition from code changes to official releases. The tool provides a non-interactive mode for executing release pipelines within continuous integration environments, as well as an interactive command-line workflow for manual configuration. It utilizes a plugin architecture to allow for custom versioning schemes and changelog generators. The system handles semantic versioning
This tool is a comprehensive release automation suite that natively handles semantic versioning, automated changelog generation, Git tagging, and CI/CD integration, making it a perfect fit for managing the software release lifecycle.
Semantic-release is an automated release management tool that determines version increments, generates changelogs, and publishes software packages by analyzing commit history against standardized conventions. It functions as a plugin-based orchestrator that integrates directly into continuous integration pipelines to manage the entire release lifecycle, from verifying environment conditions to distributing artifacts. The project distinguishes itself through its commit-message-driven approach, which enforces consistent versioning standards and automates the creation of release notes based on t
This tool is a comprehensive orchestrator for the entire release lifecycle, providing automated semantic versioning, changelog generation, and CI/CD integration based on commit history.
Changesets is a workflow tool designed for managing semantic versioning and automated changelog generation within monorepos. It functions as a release management system that coordinates the versioning and publishing of multiple interdependent software packages, ensuring that updates remain consistent across a modular project. The tool distinguishes itself by using a change-file-based state tracking system, which captures granular developer intent by storing individual modification descriptions as small files. These files are aggregated during the release process to calculate version increment
Changesets is a dedicated release management tool that automates semantic versioning, changelog generation, and the publishing workflow, making it a comprehensive solution for managing software releases in monorepo environments.
release-it is a Git release automation tool designed to coordinate software versioning, changelog generation, and package publishing. It functions as a semantic versioning manager that increments project versions and updates configuration files based on semantic standards or custom schemes. The project distinguishes itself through a plugin-based extension system that allows for custom versioning and publishing logic. It supports complex project structures via monorepo versioning automation to synchronize internal dependencies across multiple workspaces. The tool covers a broad range of capab
This tool automates the entire release lifecycle by handling semantic versioning, changelog generation, and Git tag management, with built-in support for CI/CD integration and custom automation workflows.
Release-drafter is a GitHub Action workflow and automation engine designed to manage the software release lifecycle. It functions as a release notes automator, an automated changelog generator, and a semantic versioning calculator that aggregates merged pull requests into structured draft releases. The project distinguishes itself through event-driven execution that triggers updates based on repository activity. It features a semantic versioning calculator to determine the next version number based on merged change categories, and provides specialized management for both stable and prerelease
This tool is a dedicated GitHub Action that automates the entire release lifecycle, including changelog generation, semantic versioning, and draft release management, directly fulfilling all the requirements for release automation.
np is a command line tool for managing the versioning and publication of packages to the npm registry. It serves as a release automator and semantic versioning tool that handles version bumps, git tagging, and the upload of packages to public or private registries. The tool distinguishes itself by providing an interactive workflow that guides users through sequential publishing steps, including a preview of all scheduled tasks before remote changes are performed. It includes automated release drafting to generate summary notes and audit capabilities to identify extraneous files or unpublished
This tool automates the versioning, tagging, and publishing workflow for npm packages, making it a highly effective utility for managing software releases despite its specific focus on the JavaScript ecosystem.
This tool automates the entire release lifecycle by parsing conventional commits to generate changelogs, calculate semantic versions, and create automated GitHub releases, making it a comprehensive solution for your requirements.
This project is a version control documentation tool designed to automate the generation of release notes and changelogs. It functions as a pipeline-based engine that parses repository history, categorizes commits, and transforms them into structured documentation. By leveraging conventional commit patterns or custom regular expressions, it provides a consistent method for tracking project evolution and managing semantic versioning. What distinguishes this tool is its highly flexible template-driven architecture, which allows for deep customization of output formatting, grouping, and sorting.
This tool automates changelog generation and supports semantic versioning by parsing commit history, serving as a specialized engine that integrates well into release pipelines and CI workflows.
This project is an automated release note tool and markdown history generator that transforms repository activity into structured documentation. It functions as a GitHub API client and CI/CD pipeline component, aggregating tags, issues, and pull requests to produce categorized summaries of project changes. The tool distinguishes itself through native GitHub Enterprise integration, supporting custom API endpoints for self-hosted server instances. It employs a label-based categorization system to group changes into specific sections and utilizes personal access tokens or OAuth to manage API rat
This tool automates the generation of structured changelogs from GitHub activity, serving as a core component for release documentation and version tracking within a CI/CD pipeline.
GoReleaser is a release automation tool for building, packaging, and distributing Go binaries across multiple platforms and architectures. It functions as a cross-compilation build pipeline and binary distribution orchestrator that manages the end-to-end lifecycle of versioned software releases. The tool utilizes a declarative configuration pipeline based on a YAML definition file to automate the Go toolchain. It links Git tags to the compilation process, allowing for automated version tagging and the injection of build metadata and version strings into binaries via linker flags. Its capabil
GoReleaser is a powerful release automation tool that handles versioning, Git tag management, and distribution for Go projects, though it focuses more on binary packaging and pipeline orchestration than on generating human-readable changelogs.
Lerna is a monorepo management tool, build orchestrator, and package publisher for JavaScript and TypeScript projects. It enables the management of multiple packages within a single shared repository, providing utilities for workspace organization and the coordinated publishing of packages to a registry. The tool distinguishes itself through dependency-aware task orchestration and automated version management. It uses topological sorting to sequence tasks and utilizes content-hash caching to skip redundant executions when input files remain unchanged. Versioning is automated by parsing standa
Lerna is a monorepo management tool that includes robust features for automated versioning and package publishing, making it a highly effective solution for managing release lifecycles in JavaScript and TypeScript projects.
This project is a GitHub Actions workflow component designed to automate the software release lifecycle. It functions as a release manager that programmatically interacts with the GitHub API to create releases, generate release notes, and link commit tags to maintain project history. The tool distinguishes itself by integrating artifact management with community engagement features. It identifies local build outputs using glob-pattern matching to upload distribution packages directly to release pages. Upon publication, it can automatically initiate discussion threads in designated categories
This GitHub Action automates the creation and management of releases, including tag creation and changelog generation, making it a direct tool for automating the software release lifecycle.
Git-chglog is a command-line tool designed to automate the generation of project changelogs by parsing Git commit history. It functions as a documentation utility that transforms raw repository logs into structured, human-readable release notes based on user-defined templates and configuration rules. The tool distinguishes itself through a configuration-driven pipeline that allows for granular control over how commit history is filtered, sorted, and categorized. By utilizing regular expressions and support for conventional commit standards, it organizes commit messages into logical sections.
This tool automates changelog generation based on Git history and supports custom templates, though it is now deprecated in favor of a more actively maintained alternative.
Publish Rust crates from CI with a Release PR.
This tool automates the release process for Rust crates by managing semantic versioning, generating changelogs, and creating release pull requests directly within CI workflows.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| conventional-changelog/standard-version | 8K | JavaScript | ISC | |
| webpro/release-it | 9K | JavaScript | MIT | |
| 23.3K |
| JavaScript |
| mit |
| changesets/changesets | 12K | TypeScript | MIT |
| release-it/release-it | 9K | JavaScript | MIT |
| release-drafter/release-drafter | 3.9K | TypeScript | ISC |
| sindresorhus/np | 7.7K | JavaScript | MIT |
| googleapis/release-please | 6.4K | TypeScript | apache-2.0 |
| orhun/git-cliff | 12K | Rust | Apache-2.0 |
| github-changelog-generator/github-changelog-generator | 7.5K | Ruby | MIT |