awesome-repositories.comCategoriesBlog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
semantic-release avatar

semantic-release/semantic-release

0
View on GitHub↗
23,332 stars·1,794 forks·JavaScript·mit·24 viewssemantic-release.gitbook.io↗

Semantic Release

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 the scope of changes. It supports complex release strategies, including multi-branch mapping for parallel release streams, maintenance patches for legacy versions, and the publication of pre-release versions to specific distribution channels.

Beyond core versioning, the system provides a highly extensible lifecycle that allows for custom automation through hooks and third-party plugins. It includes robust support for supply chain security, enabling the generation of verifiable provenance attestations and secure credential management via environment-aware secret injection and identity provider authentication.

The tool is designed for integration into automated build environments, though it also supports local execution for manual overrides and process simulation. Configuration is handled through external files, allowing teams to standardize release workflows and share settings across multiple projects.

Features

  • Release Automation - Automates the entire release lifecycle by analyzing commit history to determine version increments and publish packages.
  • Commit-Based Versioning Engines - Determines semantic version increments automatically by parsing commit message types and history.
  • Package Publishing Pipelines - Automates the entire package publishing pipeline including versioning and artifact distribution.
  • Semantic Versioning Systems - Automatically applies semantic versioning rules to ensure consistent and predictable version increments.
  • Commit Standards - Enforces structured commit message conventions to categorize changes and drive automated release logic.
  • Release Changelog Generators - Generates release notes and updates documentation by parsing commit history since the last release.
  • CI/CD Orchestration - Orchestrates complex release workflows by integrating with version control to manage branches and artifact distribution.
  • Package Publishing - Provides secure credentials to external registries through environment variables to authorize the publication of software artifacts.
  • Package Provenance Metadata - Creates verifiable metadata for published packages to enhance supply-chain security by confirming the build origin.
  • Plugin Orchestration - Orchestrates the release process by invoking modular plugins in a defined sequence.
  • Release Management - Provides a plugin-based lifecycle that allows hooking into specific stages of the release process.
  • Release Channel Managers - Publishes software versions to specific distribution channels based on branch-based logic.
  • Continuous Integration Pipelines - Integrates automated versioning, changelog generation, and package publishing directly into continuous integration pipelines.
  • CI Pipeline Integrators - Integrates release automation directly into continuous integration pipelines.
  • Channel Publishers - Supports publishing to specific distribution channels to manage access for different user groups.
  • Release Behavior Configurators - Configures release behavior, branch mapping, and plugin sequences through external files to standardize automation.
  • Identity Federation Providers - Uses OpenID Connect to establish a trust relationship with package registries, eliminating the need for long-lived tokens.
  • Software Supply Chain Security - Secures the release process through credential management, provenance attestation, and enforcement of commit standards.
  • Release Branching Strategies - Automates versioning and publishing across multiple concurrent release branches by mapping branches to distinct distribution tags.
  • Branch Mappings - Enables mapping of specific git branches to distinct distribution channels for controlled release tracks.
  • Hook Resolution Lifecycles - Provides standardized hooks for plugins to intercept and modify the release flow.
  • Release Management - Manages concurrent release streams by associating specific git branches with distinct version tracks.
  • Release Automation - Automated version management and publishing.
  • Automation and Linting Tools - Automated versioning and publishing based on commits.
  • Publishing Tools - Fully automated package versioning and publishing workflow.
  • Version Control - Automates versioning and publishing.
  • Pre-release Build Channels - Creates incremental pre-release versions from dedicated branches for testing future features.
  • Git Release Automators - Updates version numbers in manifests and prepares source code for distribution.
  • Plugin Extensibility - Provides a highly extensible plugin architecture to support diverse registries and notification channels.
  • Access Authentication - Configures secure access to remote repositories using personal access tokens or SSH keys to enable version tagging.
  • Remote Repository Authentication - Configures Git access via personal access tokens or SSH keys to allow the creation of version tags.
  • Credential Security - Uses protected environment variables within pipelines to securely authenticate release processes without exposing secrets.
  • Environment-Scoped Secret Management - Retrieves sensitive authentication tokens from the host environment to authorize secure registry interactions.
  • Workflow Extenders - Integrates custom logic into the release process by defining a sequence of plugins that execute specific tasks.
  • Versioning Sequence Validators - Ensures logical version progression and prevents conflicts by validating sequences across branches.
  • Authentication Plugins - Provides secure access tokens to plugins through environment variables to enable automated publishing to external registries.
  • Release & Versioning - Enables patching of older project versions by isolating releases to specific maintenance branches.
  • Branch-Restricted Releases - Restricts automated release processes to execute only when commits are pushed to specific protected branches.
  • Pre-release Command Executors - Validates environment conditions, including authentication tokens and configuration, before initiating a release.
  • Release Lifecycle Management - Extends the release process through a plugin-based architecture for custom tasks and workflow integrations.
  • Authentication Security - Provides secure injection of authentication tokens into build environments to authorize package publishing.
  • SSH Key Management - Configures secure access to remote repositories using SSH keys for automated tagging.

Star history

Star history chart for semantic-release/semantic-releaseStar history chart for semantic-release/semantic-release

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Semantic Release

Similar open-source projects, ranked by how many features they share with Semantic Release.
  • webpro/release-itwebpro avatar

    webpro/release-it

    8,977View on GitHub↗

    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

    JavaScript
    View on GitHub↗8,977
  • release-it/release-itrelease-it avatar

    release-it/release-it

    8,975View on GitHub↗

    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

    JavaScriptautomationbumpchangelog
    View on GitHub↗8,975
  • nrwl/nxnrwl avatar

    nrwl/nx

    28,939View on GitHub↗

    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

    TypeScriptangularbuildbuild-system
    View on GitHub↗28,939
  • orhun/git-clifforhun avatar

    orhun/git-cliff

    11,952View on GitHub↗

    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.

    Rustchangelogchangelog-generatorcommit
    View on GitHub↗11,952
See all 30 alternatives to Semantic Release→

Frequently asked questions

What does semantic-release/semantic-release do?

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.

What are the main features of semantic-release/semantic-release?

The main features of semantic-release/semantic-release are: Release Automation, Commit-Based Versioning Engines, Package Publishing Pipelines, Semantic Versioning Systems, Commit Standards, Release Changelog Generators, CI/CD Orchestration, Package Publishing.

What are some open-source alternatives to semantic-release/semantic-release?

Open-source alternatives to semantic-release/semantic-release include: webpro/release-it — release-it is an automated software release tool used for version bumping, Git tagging, and publishing software… release-it/release-it — release-it is a Git release automation tool designed to coordinate software versioning, changelog generation, and… nrwl/nx — This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It… orhun/git-cliff — This project is a version control documentation tool designed to automate the generation of release notes and… sindresorhus/np — np is a command line tool for managing the versioning and publication of packages to the npm registry. It serves as a… conventional-commits/conventionalcommits.org — This project provides a specification for a structured commit message convention that enables automated semantic…