whatisgithub

What is release-please?

googleapis/release-please — explained in plain English

Analysis updated 2026-06-24

6,871TypeScriptAudience · developerComplexity · 2/5Setup · easy

In one sentence

A Google tool that automates versioning and changelog updates for GitHub projects by reading Conventional Commit prefixes and opening a release pull request for you to merge when ready.

Mindmap

mindmap
  root((release-please))
    What it does
      Automates versioning
      Updates changelog
      Opens release PR
      Tags commits
    Commit format
      fix prefix patch bump
      feat prefix minor bump
      Breaking change major bump
    Supported ecosystems
      Node.js Python Java
      Go Ruby Rust PHP
    How to use
      GitHub Actions workflow
      GitHub App option
      Merge PR to release
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically bump your npm package version and update CHANGELOG.md every time you merge a feature or fix commit.

USE CASE 2

Queue up multiple commits into a single release PR and decide exactly when to cut the new version by merging it.

USE CASE 3

Add automated versioning to a Python, Go, Java, or Ruby project without manually editing version files.

USE CASE 4

Trigger a separate publish step such as npm publish off the GitHub Release that release-please creates.

What is it built with?

TypeScriptGitHub ActionsConventional Commits

How does it compare?

googleapis/release-pleasezsviczian/obsidian-excalidraw-pluginopenai/openai-realtime-agents
Stars6,8716,8726,866
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasymoderate
Complexity2/51/53/5
Audiencedeveloperwriterdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Commits must follow the Conventional Commits format, does not publish packages to registries, a separate publish step is needed.

No license information was mentioned in the explanation.

So what is it?

Release Please is a tool from Google that automates the repetitive parts of releasing new software versions on GitHub. Instead of manually updating changelogs, deciding version numbers, and tagging releases, the tool does this automatically by reading your commit history and following a standard message format called Conventional Commits. The core idea is that commits use short prefixes to signal what kind of change they contain. A commit starting with "fix:" means a bug was fixed. One starting with "feat:" means a new feature was added. Adding an exclamation mark to either ("feat!:" or "fix!:") signals that something broke backwards compatibility. Release Please reads those prefixes to decide what kind of version bump is needed according to semantic versioning rules: patches for fixes, minor bumps for new features, and major bumps for breaking changes. Rather than releasing immediately when code lands, Release Please opens a draft release pull request on GitHub and keeps updating it as more commits come in. When you are satisfied with what is queued up, you merge that pull request. The merge triggers the tool to update your changelog file, tag the commit in git, and create a formal GitHub Release. The tool deliberately does not publish packages to npm, PyPI, or any other registry, so a separate step or tool handles that part. Release Please supports many language ecosystems, including Node.js, Python, Java, Go, Ruby, Rust, PHP, and several others. Each ecosystem has a strategy for which files to update at release time. For Node.js projects this means bumping the version in package.json, for Go modules it means updating module files. The recommended way to use it is as a GitHub Actions workflow that runs automatically on merges to the main branch. A GitHub App option also exists for organizations that prefer not to manage workflow files manually.

Copy-paste prompts

Prompt 1
Set up a GitHub Actions workflow that uses release-please to automatically manage versions and changelogs for my Node.js package. Show me the full YAML file.
Prompt 2
I use release-please and my changelog is not picking up my commits. Walk me through the Conventional Commits format I need to follow and give me examples for feat, fix, and breaking changes.
Prompt 3
How do I configure release-please to manage a monorepo with multiple packages, each with its own version?
Prompt 4
release-please opened a release PR but I want to add a manual entry to the changelog before merging. What is the safe way to do that?

Frequently asked questions

What is release-please?

A Google tool that automates versioning and changelog updates for GitHub projects by reading Conventional Commit prefixes and opening a release pull request for you to merge when ready.

What language is release-please written in?

Mainly TypeScript. The stack also includes TypeScript, GitHub Actions, Conventional Commits.

What license does release-please use?

No license information was mentioned in the explanation.

How hard is release-please to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is release-please for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.