For release automation, the strongest matches are semantic-release/semantic-release (Semantic-release is a release automation tool that automates version), sindresorhus/np (This interactive command-line utility automates version bumping, git tagging) and webpro/release-it (This command-line tool automates git versioning, changelog generation, and). conventional-changelog/standard-version and release-drafter/release-drafter round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked release automation tools ranked by GitHub stars and activity. Compare top alternatives and find the best fit for your workflow.
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
Semantic-release is a release automation tool that automates version increments, changelog generation, and package publishing by analyzing commit history within continuous integration pipelines.
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 interactive command-line utility automates version bumping, git tagging, and package publishing specifically for the npm ecosystem, missing broader multi-platform and CI/CD pipeline integration features but fitting the release automation category well.
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 command-line tool automates git versioning, changelog generation, and package publishing to registries, fitting the release automation category well despite lacking an integrated deployment pipeline runner.
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
This project is a release automation tool that calculates semantic versions from conventional commits, generates changelogs, and manages Git tags, though it does not handle deployment tasks or artifact publishing.
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 GitHub Action automation engine handles automated changelog generation and semantic versioning drafts, though it operates specifically within the GitHub platform rather than serving as a standalone multi-platform release pipeline.
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 software versioning, changelog generation, and package publishing for release pipelines, though it functions as a CLI utility rather than a full CI/CD deployment platform.
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 release management tool focused on semantic versioning and changelog generation within monorepos, fitting the core release automation workflow even though it is specialised for package dependency management rather than general CI/CD deployment pipelines.
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 semantic versioning by parsing git history, but it focuses specifically on release documentation rather than full deployment pipelines.
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 declarative release automation tool that handles cross-compilation, semantic versioning, git tag management, changelog generation, and multi-platform artifact distribution for Go projects.
This tool automates conventional commit-based release pipelines, semantic versioning, changelog generation, and GitHub release creation across both single packages and monorepos.
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 automates package publishing and commit-based versioning within JavaScript monorepos, making it a fitting tool for release pipelines even though its scope is focused on packages rather than general CI/CD deployment.
Commitizen is a command-line tool and software release utility that automates version calculation, conventional commit enforcement, and changelog generation from git history. The system parses commit messages against conventional specification rules, calculates version increments based on recent commits, and synchronizes version numbers across package manifest files and project metadata without storing state. The application provides interactive prompts to build structured commit messages and includes git hook integration to validate local commit operations before completion. It compiles comm
This tool automates semantic versioning and changelog generation based on conventional commits, fitting the core release automation workflow even though it focuses less on full deployment orchestration.
Publish Rust crates from CI with a Release PR.
Release-plz automates semantic versioning, changelogs, and publishing for Rust crates via pull requests from CI pipelines, fitting the release automation category well despite being tailored to the Rust ecosystem.
Cargo subcommand release: everything about releasing a rust crate.
This cargo subcommand automates Rust crate releases with semantic versioning, changelog generation, git tagging, and publishing, making it a fitting choice for Rust-centric release pipelines.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| semantic-release/semantic-release | 23.3K | JavaScript | mit | |
| sindresorhus/np | 7.7K | JavaScript | MIT | |
| webpro/release-it | 9K | JavaScript | MIT | |
| conventional-changelog/standard-version | 8K | JavaScript | ISC | |
| release-drafter/release-drafter | 3.9K | TypeScript | ISC | |
| release-it/release-it | 9K | JavaScript | MIT | |
| changesets/changesets | 12K | TypeScript | MIT | |
| orhun/git-cliff | 12K | Rust | Apache-2.0 | |
| goreleaser/goreleaser | 15.9K | Go | MIT | |
| googleapis/release-please | 6.4K | TypeScript | apache-2.0 |