docs/Releases.md
Homebrew users receive new versions of Homebrew/brew from GitHub release tags. Only maintainers with write access to Homebrew/brew can create a release.
release blocker, or before the next major or minor release with major/minor release blocker.
While any open Homebrew/brew issue or pull request has a relevant label, brew release and the release workflow will refuse to create a release.main branch are passing and that at least one recent Homebrew/homebrew-core pull request has completed CI successfully.main branch is suitable for release.Do not create a release from an older commit on main.
If unreleased changes must be excluded from an urgent patch release, revert those changes, complete the release process and then reapply them.
Preview the release notes and version number:
brew release
Pass --major or --minor to preview a major or minor release instead of the default patch release.
Homebrew will refuse to create a major or minor release if the previous major or minor release was less than one month ago.
After reviewing the preview, create the draft release and trigger the release workflow:
brew release --force
Include --major or --minor when required.
Review the resulting draft release, confirm the version and notes, then publish it.
Before creating a major or minor release:
odisabled.odeprecated to odisabled.# odeprecated when it should enter the deprecation cycle.odeprecations.replacement:.See Deprecating, Disabling and Removing for the complete lifecycle.
Use the output from brew release [--major|--minor] as the basis for a release notes post on the Homebrew website.
Edit the generated notes to explain the purpose and user impact of the changes, not only what changed.
After the release and post are published, announce them through the project communication channels currently maintained by Homebrew. Consider broader announcement channels only when their expected reach and moderation cost are appropriate for the release.