awesome-repositories.com
Blog
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↗
semantic-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.

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
23,332 stars·1,794 forks·JavaScript·mit·38 views
  • 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

    How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

    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.

    Which projects share features with semantic-release/semantic-release?

    Projects with overlapping indexed features 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…

    Projects sharing features with Semantic Release

    These projects share indexed features with Semantic Release. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
    • 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
    Compare all 30 related projects→