Releases: Homebrew/brew
Releases · Homebrew/brew
4.6.0
Release notes for this release can be found on the Homebrew blog.
What's Changed
- workflows/tests: update homebrew/core in audit tests. by @MikeMcQuaid in #20321
- Fix type error in Readall.valid_tap? by @dduugg in #20319
- workflows/vendor-gems: push to PRs from dependabot. by @MikeMcQuaid in #20322
- Reduce shape variations in Homebrew::Service by @dduugg in #20324
- workflows/tests: set HOMEBREW_DOWNLOAD_CONCURRENCY for test-bot tests. by @MikeMcQuaid in #20297
- env_config: add
auto
option fordownload_concurrency
by @MikeMcQuaid in #20329 - formula*: add source download support for download queue. by @MikeMcQuaid in #20327
- cmd/info: don't print empty caveats. by @MikeMcQuaid in #20330
- Add Cask install/upgrade/reinstall support for download queue by @MikeMcQuaid in #20328
- Enable strict typing in Cask::Audit by @dduugg in #20325
brew upgrade --help
missing HOMEBREW_UPGRADE_GREEDY by @agowa in #20333- utils/gems: use Homebrew-specific gem spec cache by @Bo98 in #20340
- api: fix handling of source downloads by @Bo98 in #20341
- Deprecate/disable/remove code for Homebrew 4.6 by @MikeMcQuaid in #20331
- Document
HOMEBREW_DOWNLOAD_CONCURRENCY
environment variable by @MikeMcQuaid in #20342 - Fix URI parser warning by @MikeMcQuaid in #20343
- Cleanup some
extend/*
types/locations by @MikeMcQuaid in #20344 - formula_assertions: fix typechecking error in
{shell,pipe}_output
by @carlocab in #20345 - extend/kernel: fix odisabled call. by @MikeMcQuaid in #20349
- extend/pathname: fix type signature for write_env_script. by @MikeMcQuaid in #20351
- observer_pathname_extension: add strict Sorbet types. by @MikeMcQuaid in #20354
- download_queue: fix patch handling. by @MikeMcQuaid in #20353
- utils/curl.rb: Skip https audit for curl dependencies by @osalbahr in #20348
- dev-cmd/cat: add
require "formula"
by @carlocab in #20355 - extend/kernel: tighten up some type signatures by @carlocab in #20356
- extend/kernel: tighten type sig for
ensure_formula_installed!
by @carlocab in #20357 - Ensure we
require "formula"
before doingensure_formula_installed!
by @carlocab in #20358 - Replace
ensure_formula_installed!
withFormula#ensure_installed!
by @carlocab in #20359 - Manpage: source wording & formatting fixes by @EricFromCanada in #20361
- Formula-Cookbook: Recommend the in-use
write_exec_script
syntax by @issyl0 in #20363 - pathname: add type to
write_exec_script
by @daeho-ro in #20365 - extend/kernel: allow exec_editor to open multiple files at once by @bayandin in #20367
- SkipConditions: special case unsigned deprecations by @samford in #20366
- output: express environment variables consistently by @EricFromCanada in #20364
- cmd/update: use short option in update.sh by @chirsz-ever in #20368
- Improve Download Queue output by @MikeMcQuaid in #20370
- extend/kernel: remove ensure_formula_installed! by @MikeMcQuaid in #20371
- Enable strict typing in Tap by @dduugg in #20369
New Contributors
- @agowa made their first contribution in #20333
- @chirsz-ever made their first contribution in #20368
Full Changelog: 4.5.13...4.6.0
4.5.13
What's Changed
- cask/audit: refine codesign audits by @bevanjkay in #20300
- tap: continue to autobump deprecated unsigned casks by @bevanjkay in #20299
- Add Copilot instructions and setup steps by @MikeMcQuaid in #20301
- Optionally use DownloadQueue for reinstall, upgrade. by @MikeMcQuaid in #20296
- cask/audit: use
gktool
for signing audit by @bevanjkay in #20303 - cmd/search:
--desc
depends on--eval-all
, not the other way around by @issyl0 in #20305 - Fix forbidding special license refs by @Bo98 in #20306
- Improve error message for tap conflicts in brew install by @Copilot in #20304
- cask/audit: skip signing audit without gktool by @bevanjkay in #20307
- attestation: improve debug message. by @MikeMcQuaid in #20310
- Make
--debug
output a bit quieter by default by @MikeMcQuaid in #20311 - linux/development_tools: add undocumented environment variables. by @MikeMcQuaid in #20312
- download_queue: improve non-TTY output. by @MikeMcQuaid in #20313
- Bump the "all" group with 3 updates across multiple ecosystems by @dependabot[bot] in #20309
New Contributors
- @Copilot made their first contribution in #20304
Full Changelog: 4.5.12...4.5.13
4.5.12
What's Changed
- retryable_download: retry on bottle manifest errors. by @MikeMcQuaid in #20288
- cask/audit: always enable codesign audit by @bevanjkay in #20286
- Add JSON API download strategy for download queue by @MikeMcQuaid in #20289
- cask/audit: skip signing audit for shell scripts by @bevanjkay in #20292
- Bump thor from 1.3.2 to 1.4.0 to resolve dependabot alert by @dduugg in #20293
- Fix handling of formula install blocking by @Bo98 in #20298
Full Changelog: 4.5.11...4.5.12
4.5.11
What's Changed
- Move more logic from
cmd/fetch
todownload_queue
by @MikeMcQuaid in #20241 - build(deps): bump the dependabot group across 1 directory with 25 updates by @dependabot[bot] in #20244
- feat: add
update-perl-resources
dev-cmd by @daeho-ro in #20218 - Bump the "all" group with 1 updates across multiple ecosystems by @dependabot[bot] in #20253
- cleanup: don't warn when loading a renamed cask. by @MikeMcQuaid in #20256
- Add docs for
brew alias
command by @EricFromCanada in #20260 - Ignore IP allow list errors in
too_many_open_prs
by @MTCoster in #20263 - utils/pypi: ensure pure Python wheels support py3 by @dtrodrigues in #19984
- Portable Ruby 3.4.5 by @p-linnane in #20265
- github_runner_matrix: note about adding OS tags. by @MikeMcQuaid in #20266
- test/fixtures: add minimal mp4 by @bevanjkay in #20262
- Audit
no_autobump!
reason for new packages by @botantony in #20267 - ask option refactoring by @tyuwags in #20274
- Refactor DownloadQueue handling by @MikeMcQuaid in #20272
- formulary: make
no_autobump!
reason a symbol when needed by @botantony in #20270 - bundle: --file and --global should conflict by @gromgit in #20276
- Optionally use
download_queue
forbrew install
by @MikeMcQuaid in #20245 - Optionally parallelise API file downloads by @MikeMcQuaid in #20273
- docs: add Homebrew's MCP server documentation. by @MikeMcQuaid in #20277
- Bump the "all" group with 3 updates across multiple ecosystems by @dependabot[bot] in #20275
- formula_installer: ignore bottle_tab_runtime_dependencies errors by @Bo98 in #20282
- dispatch-build-bottle: use
main
branch by @carlocab in #20284 - env_script_all_files: don't overwrite existing stuff by @gromgit in #20281
- Fix some stdout issues with concurrence by @Rylan12 in #20283
- Improve Download Queue behaviour by @MikeMcQuaid in #20285
New Contributors
Full Changelog: 4.5.10...4.5.11
4.5.10
What's Changed
- Rename the
brew_{dumper,installer}_spec.rb
files by @issyl0 in #20225 - attestation: require explicit opt-in. by @MikeMcQuaid in #20229
- Replace
github.token
bysecrets.GITHUB_TOKEN
by @Paulchen5 in #20228 - formulary: prevent formulae from printing to stdout while being loaded by @carlocab in #20226
- Support Cask renames when installing/dumping by @MikeMcQuaid in #20224
- Improve some
Pathname
instance variable handling by @MikeMcQuaid in #20232 - Add ZeroZeroZeroZero cop by @MikeMcQuaid in #20233
- rubocops/text: Prefer
lib/"string"
overlib+"string"
by @issyl0 in #20235 - style: fix skipping actionlint checks on Homebrew/brew. by @MikeMcQuaid in #20237
fixtures/rubocop@x.x.x.rbi
: fix style. by @MikeMcQuaid in #20238- build(deps): bump setuptools from 80.8.0 to 80.9.0 in /Library/Homebrew/formula-analytics by @dependabot[bot] in #20243
- build(deps): bump the dependabot group across 1 directory with 3 updates by @dependabot[bot] in #20242
- aliases/aliases: fix naming of symlinks by @EricFromCanada in #20246
New Contributors
- @Paulchen5 made their first contribution in #20228
Full Changelog: 4.5.9...4.5.10
4.5.9
What's Changed
- audit: ensure that official formula and cask names don't conflict. by @MikeMcQuaid in #20134
- mcp_server: fix EOF handling. by @MikeMcQuaid in #20160
- Remove redundant
xattr
doctor check on systems without quarantine support by @Rylan12 in #20163 - Switch to using
main
as the default branch by @MikeMcQuaid in #20164 - workflows/sync-default-branches: force push instead of force-with-lease. by @MikeMcQuaid in #20166
- package/scripts/postinstall: add Homebrew to PATH. by @MikeMcQuaid in #20159
- tab, cask/tab: add more Sorbet types and signatures. by @MikeMcQuaid in #20165
- cmd/update-report: display descriptions for new formulae and casks. by @MikeMcQuaid in #20167
- download_strategy: Add logging when a cached download is being ignored by @boblail in #20169
- updating json with
cask/migrator
by @tyuwags in #20168 - docs: add autobump related documentation by @botantony in #20117
- cli/named_args: don't warn about old tokens overlapping. by @MikeMcQuaid in #20173
- docs: homebrew-cask's default branch is now
main
by @MikeMcQuaid in #20172 - Refine ask‐option dependency resolution and strengthen tests by @tyuwags in #20033
- create: detect URL from latest release if it isn't archive by @abitrolly in #20156
- cmd/update: improve Homebrew/brew and homebrew-cask
main
migration. by @MikeMcQuaid in #20175 - cask/installer: remove migration symlinks on uninstall by @EricFromCanada in #20174
- upgrade pin nil value by @tyuwags in #20178
- docs: fix HTML Proofer in CI by @MikeMcQuaid in #20184
- Correcting refine ask option dependency by @tyuwags in #20183
- docs: homebrew-core's default branch is now
main
by @MikeMcQuaid in #20171 - cmd/update: improve homebrew-core
main
migration. by @MikeMcQuaid in #20176 - Provide more leeway to file Tier 2/3 issues. by @MikeMcQuaid in #20185
- cmd/update: ensure we update remote main ref by @Bo98 in #20186
- Reapply "Make some of the
bundle
commands Sorbettyped: true
" by @issyl0 in #20182 - cmd/update: ensure local branch moves to main by @Bo98 in #20190
- dev-cmd/bump-formula-pr: release notes as proper html link by @stefanb in #20187
- extend/ENV/super: set
MATURIN_NO_INSTALL_RUST
by @branchvincent in #20191 - Refactor exec.rb type fixes by @dduugg in #20192
- Make the remaining
bundle
filestyped: true
by @issyl0 in #20128 - github_runner_matrix: fix skipped runner creation by @EricFromCanada in #20198
- Fix "undefined method 'name' for an instance of FormulaInstaller" by @issyl0 in #20201
- Ask option refactoring by @tyuwags in #20195
- download_strategy: preserve cache upon text response by @EricFromCanada in #20200
- cmd/dev-cmd: fetch
HOMEBREW_EVAL_ALL
for--eval-all
by @EricFromCanada in #20204 - cmd/info: fix
brew info <formula>
by @EricFromCanada in #20211 - docs/Homebrew-on-Linux: update dnf5 syntax, centos/rhel section by @osalbahr in #20206
- Formula-Cookbook: improve download strategy info by @EricFromCanada in #20210
- bundle: Rename "brews" to "formulae" for consistency by @issyl0 in #20209
- Retain the old
brew bundle --brews
flag for compatibility by @issyl0 in #20214 - Exit non-zero when pinning uninstalled formula by @dduugg in #20213
- Keep only the parts of
rubocop.rbi
that we actually use by @issyl0 in #20193 - style: run shfmt on real brew by @Bo98 in #20221
- download_strategy: only require content-disposition header by @EricFromCanada in #20220
New Contributors
Full Changelog: 4.5.8...4.5.9
4.5.8
What's Changed
- Add HOMEBREW_MACOS_NEWEST_SUPPORTED env var by @samford in #20112
- Replace hardlinks with symlinks for
brew tests
by @abitrolly in #20115 - MacOSVersion: enable strong typing, expand tests by @samford in #20108
- Remove
alias generic_*
definitions in favour of usingsuper
by @MikeMcQuaid in #20120 - Remove
vale
FIXME by @abitrolly in #20123 - a*.rb: move to strict Sorbet sigil. by @MikeMcQuaid in #20121
- Add Cask::Config RBI compiler by @samford in #20124
- cask/audit: also check binary for minimum OS by @EricFromCanada in #20119
- cask: move some files to strict Sorbet sigil. by @MikeMcQuaid in #20125
- utils/github/api: fix Sorbet types. by @MikeMcQuaid in #20129
- Refactor
FormulaCreator
args and callparse_url
automatically by @abitrolly in #20116 - cmd: set
typed: strict
by @MikeMcQuaid in #20130 - debrew: set
typed: strict
by @MikeMcQuaid in #20131 - dev-cmd: set
typed: strict
by @MikeMcQuaid in #20132 - requirements: set
typed: strict
by @MikeMcQuaid in #20133 - Fix type mismatch in
brew info
by @Rylan12 in #20139 - cask/installer: remove confusing
zap
messaging by @p-linnane in #20138 - download_strategy: fix caching of
:latest
downloads by @EricFromCanada in #20137 - formula_creator: test GitHub repo call for archive|releases URLs by @abitrolly in #20136
- rubocops: add
no_autobump!
rubocop by @botantony in #20126 - tap: rely on new autobump list by @botantony in #20141
- formula_creator: detect GitHub version from latest release by @abitrolly in #20025
- rubocops/caveats: check for dynamic caveats. by @MikeMcQuaid in #20135
- Make some of the
bundle
commands Sorbettyped: true
by @issyl0 in #20145 - Fix handling of class methods in
extend/os
by @Rylan12 in #20152 - Fix
brew doctor
cask handling on Linux by @Rylan12 in #20151 - download_strategy: fossil now outputs
hash:
by @EricFromCanada in #20150 - create: strip 'v' prefix from version by @abitrolly in #20154
- Improve
brew doctor
warnings aboutxattr
and cask quarantine by @Rylan12 in #20153 - rubocops/caveats: only apply dynamic logic check to core. by @MikeMcQuaid in #20155
- language/*: fix
*_SHEBANG_REGEX
anchors by @carlocab in #20157 - Revert "Make some of the
bundle
commands Sorbettyped: true
" by @MikeMcQuaid in #20158
Full Changelog: 4.5.7...4.5.8
4.5.7
What's Changed
- tests: default to API mode enabled. by @MikeMcQuaid in #20070
- cmd/deps: add warning when not using runtime dependencies. by @MikeMcQuaid in #20071
- dev-cmd/contributions: improve CSV output. by @MikeMcQuaid in #20074
- rubocops/cask/no_overrides: avoid nested
depends_on macos:
by @EricFromCanada in #20075 - cmd/update: attempt migration from
master
tomain
branch. by @MikeMcQuaid in #20073 - Tweak GitHub Actions workflows by @MikeMcQuaid in #20077
- Filter
brew tests
spec files appropriately for each OS by @Rylan12 in #20079 - cask/audit: skip caveats check for Intel-only casks by @EricFromCanada in #20081
- dev-cmd/bump-formula-pr: handle null body by @Bo98 in #20087
- Only generate cask variations for supported macOS configurations by @Rylan12 in #20080
- Add strict parameter to
GitHub::check_for_duplicate_pull_requests
by @alex in #20082 - Remove unused --force-auto-update option by @Lekensteyn in #20090
- Revert "Filter
brew tests
spec files appropriately for each OS" by @MikeMcQuaid in #20089 - Generate template API samples for
formulae.brew.sh
docs workflow by @Rylan12 in #20091 - Revert "Only generate cask variations for supported macOS configurations" by @Rylan12 in #20092
- Add MCP server VS Code config by @p-linnane in #20093
- Remove deprecated vscode sorbet option by @Rylan12 in #20094
- Fix vscode ruby-lsp setup for GitHub codespaces by @Rylan12 in #20095
- Cask: Initialize yet more instance variables by @samford in #20100
- Use Homebrew/actions/*@main in Actions workflows by @MikeMcQuaid in #20101
- Add
sync-default-branches
workflow by @MikeMcQuaid in #20103 - Hide
main
branches frombrew tap-info
andbrew info
by @MikeMcQuaid in #20098 - cmd/update*: more fixes to allow migration from
master
tomain
. by @MikeMcQuaid in #20099 - Open issues for failed scheduled workflows by @MikeMcQuaid in #20107
- api_hashable: retain access to global gitconfig by @Bo98 in #20110
New Contributors
Full Changelog: 4.5.6...4.5.7
4.5.6
This release contains preliminary macOS 26 Tahoe support. When using macOS 26 betas, remember that:
- You must also update Xcode and the CLT to 26.0 beta
brew install
will default to Sequoia bottles until closer to release, so formulae likepkg-config
,gcc
andllvm
will use the macOS 15 SDK when installed from a bottle and may not work correctly- Formulae built from source may or may not work depending on whether upstreams support macOS/Xcode 26 yet
What's Changed
- Preliminary macOS 26 (Tahoe) support by @Bo98 in #20062
- cmd/vendor-install: fix exit code handling for curl by @Bo98 in #20063
- Reduce Homebrew/brew CI warnings by @MikeMcQuaid in #20054
- workflows/tests.yml: more CI tweaks. by @MikeMcQuaid in #20060
- Cleanup
extend/
directory usage. by @MikeMcQuaid in #20061
Full Changelog: 4.5.5...4.5.6
4.5.5
What's Changed
- audits: quote and reword problem description text by @EricFromCanada in #20030
- brew.sh: move sudo reset timestamp. by @MikeMcQuaid in #20037
- Shard JSON API by OS/Arch combination by @Rylan12 in #20038
- test/cmd: add more shell tests. by @MikeMcQuaid in #20040
- Refactor
OnSystem
andSimulateSystem
bottle tag handling by @Rylan12 in #20042 - parser: show related environment variable in switch description by @EricFromCanada in #20044
- Add
brew mcp-server
: a MCP server for Homebrew. by @MikeMcQuaid in #20041 - Fix sharded API structure to match existing API by @Rylan12 in #20045
- os/mac/pkgconfig/15: update
expat
version to 2.7.1 by @Rylan12 in #20048 - Add undocumented
HOMEBREW_USE_INTERNAL_API
switch by @Rylan12 in #20046 - bin/brew: don't copy across zeroed env values. by @MikeMcQuaid in #20053
brew (bundle|) sh
: use user's configuration but override prompts. by @MikeMcQuaid in #20047- rubocops/cask/url: put keyword parameters on a new line by @EricFromCanada in #20055
- cask_loader: improve error handling. by @MikeMcQuaid in #20057
- Reduce the internal formula API to contain the bare minimum data by @Rylan12 in #20051
- Improve completions (and elisp) output in caveats by @MikeMcQuaid in #20059
Full Changelog: 4.5.4...4.5.5