30 open-source projects similar to googleapis/release-please, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Release Please alternative.
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
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 provides a specification for a structured commit message convention that enables automated semantic versioning and changelog generation. It defines a standard grammar for commit messages to ensure project history is readable by both humans and machines. The specification maps specific commit types and breaking change indicators to version increment logic, allowing tools to automatically determine whether a patch, minor, or major release is required. This standardized format also facilitates the automatic production of human-readable release notes by parsing commit history. The c
Conventional Changelog is a set of tools for automatically generating formatted release notes by parsing Git commit messages that follow a structured specification. It includes a commit message parser to transform raw strings into structured data, a changelog generator for producing release notes, and a commit linter to ensure messages adhere to specific conventions before they are merged. The project provides a system for semantic versioning automation, analyzing commit history to recommend the next version bump based on the types of changes recorded. It supports extensibility through config
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
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
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
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
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 project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It provides a unified workspace environment that maps project relationships and dependencies, enabling the system to perform intelligent impact analysis and execute only the tasks affected by specific code changes. The system distinguishes itself through a persistent daemon that monitors file changes for near-instant feedback and a content-addressable caching mechanism that stores task outputs to prevent redundant computation across local and remote environments. It further suppor
Release is an Android APK distribution system and build pipeline designed to compile and publish versioned application packages. It functions as a specialized compiler for Android media player applications targeting both mobile and TV devices. The system uses a multi-architecture build tool to generate separate binaries for various CPU instruction sets, such as arm64-v8a and armeabi-v7a, ensuring compatibility across different hardware types. This is achieved through a GitHub Actions pipeline that employs a matrix-based build strategy to execute concurrent compilation jobs. The workflow auto
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.
Commitlint is a command-line utility designed to lint and validate Git commit messages against established conventions. By parsing commit messages into structured components, it ensures that project history remains consistent, which facilitates automated changelog generation and semantic versioning. The tool distinguishes itself through a schema-driven validation engine that supports custom rule definitions and plugin-based extensions. It enables standardized project governance by allowing teams to distribute and inherit shared configuration rule sets across multiple repositories, ensuring un
Commitizen is a command-line utility designed to enforce consistent commit message formatting within version control systems. By guiding developers through interactive prompts, the tool ensures that every commit adheres to predefined standards, resulting in a predictable and searchable project history. The system utilizes a plugin-based adapter pattern that allows for the dynamic loading of custom commit formats and validation logic. This configuration-driven approach enables teams to define specific templates for message construction, which are then populated via user input to maintain stric
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
Fern is a toolset for managing API specifications, generating type-safe client libraries, and producing hosted developer documentation. It provides a utility for validating, transforming, and exporting API definitions into standardized OpenAPI formats, serving as a system to maintain a consistent source of truth for API designs. The project differentiates itself through an automated SDK distribution pipeline that publishes generated libraries to package managers such as npm, PyPI, Maven, and NuGet. It also includes an AI-powered search assistant trained on API and SDK specifications to answer
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 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 project is a comprehensive guide to Git version control standards and best practices. It provides a set of instructions for writing professional commit messages and managing repository history to ensure project maintainability. The documentation covers the standardization of commit messages through specific rules for mood, capitalization, and structural separation of subjects and bodies. It also includes guidelines for composing pull request summaries and cover letters to provide maintainers with necessary technical context and logic. The guide extends to repository security and history
Flux is a Kubernetes GitOps delivery tool used to automate application deployments by synchronizing cluster state with configurations stored in Git, OCI, or Helm repositories. It functions as a set of controllers that monitor desired state in external sources and continuously reconcile the live cluster to match those definitions. The system distinguishes itself through a multi-cluster management plane that coordinates application delivery across fleets of remote clusters from a central hub. It provides a dedicated mechanism for automated image updates, which scans container registries for new
This project is a version control style guide providing standardized rules for commit messages, branch naming, and history management. It serves as a comprehensive framework for maintaining a consistent and readable project history through a set of defined guidelines and workflow documentation. The guide emphasizes a linear history branching model, utilizing rebasing and squashing techniques to maintain a straight timeline of commits. It specifies a structured commit layout using imperative language and a kebab-case naming convention for branches to ensure organizational clarity across teams.
Opencommit is a command-line tool and automation suite that uses large language models to analyze staged changes and generate descriptive git commit messages. It functions as an AI-driven commit generator that can be integrated directly into the version control lifecycle. The project distinguishes itself through support for both cloud-based AI providers and locally hosted models to ensure data privacy. It provides specialized automation via git hooks for real-time suggestions and GitHub Actions for refining commit messages during continuous integration workflows. The tool includes capabiliti
gitmoji-cli is a command line interface and Git extension used to generate structured commit messages with standardized emojis. It functions as a commit message generator that allows users to visually categorize code changes and track modifications through a predefined library of visual icons. The tool provides an interactive workflow that replaces raw text entry with guided prompts for selecting categories, scopes, and descriptions. It includes a searchable emoji library with keyword-based indexing and local caching to facilitate the selection of accurate visual markers. The project support
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 project is a Git commit standardization tool and semantic commit generator. It serves as an assistant to align code changes with semantic versioning by enforcing a consistent commit structure and formatting rules. The utility uses interactive prompts to gather user input, which it then validates against semantic categories and interpolates into predefined templates. This process automates the generation of standardized messages, ensuring that each commit follows a specific format to improve project history and traceability. The system also handles commit metadata structuring, including
node-semver is a tool for parsing, comparing, and validating version strings according to the Semantic Versioning specification. It functions as a version range evaluator, a comparison library, and a utility for incrementing release identifiers. The project includes a version coercion utility that extracts numeric sequences from non-compliant strings to approximate a semantic version. It also provides logic to calculate the next release string by incrementing major, minor, or patch segments. The library covers a broad range of version management capabilities, including range analysis to dete
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
Helmfile is a declarative tool for managing Kubernetes Helm releases across multiple environments. It defines the desired state of releases in version-controlled YAML files and synchronizes the cluster to match that state, acting as both a release manager and a state sync orchestrator. The tool layers environment-specific values, secrets, and lifecycle hooks onto shared release definitions, enabling consistent multi-environment deployments. Helmfile distinguishes itself through several integrated capabilities: it generates separate dependency lockfiles per environment for staged rollout of ch
Hub is a terminal-based GitHub API client and command-line wrapper that extends standard git version control with remote project management functionality. It serves as an interface to programmatically execute GitHub operations and simplify the interaction between local repositories and remote resources. The tool provides specialized capabilities for synchronizing forks with upstream repositories and managing GitHub-specific assets including pull requests, issues, and releases. It also enables the creation of code gists and allows users to open specific repository files in a web browser direct