|
| 1 | +--- |
| 2 | +title: 4.6.0 |
| 3 | +author: MikeMcQuaid |
| 4 | +redirect_from: /blog/4.6.0/ |
| 5 | +--- |
| 6 | + |
| 7 | +Today, I'd like to announce Homebrew 4.6.0. |
| 8 | +The most significant changes since 4.5.0 are opt-in concurrent downloads with `HOMEBREW_DOWNLOAD_CONCURRENCY`, preliminary macOS 26 (Tahoe) support and a built-in `brew mcp-server`. |
| 9 | + |
| 10 | +Major changes and deprecations since 4.5.0: |
| 11 | + |
| 12 | +- [`HOMEBREW_DOWNLOAD_CONCURRENCY` is a new environment variable that allows opt-in to Homebrew's new download concurrency support](https://github.com/Homebrew/brew/pull/20342). |
| 13 | + [We recommend using `HOMEBREW_DOWNLOAD_CONCURRENCY=auto` as a starting point](https://github.com/Homebrew/brew/pull/20329). |
| 14 | + This will become the default behaviour in a later version of Homebrew (with an opt-out). |
| 15 | +- [Homebrew provides preliminary macOS 26 (Tahoe) support.](https://github.com/Homebrew/brew/pull/20062) |
| 16 | + It will be officially supported after Apple’s public release. |
| 17 | +- [`brew mcp-server` is an MCP server for Homebrew and is available in Homebrew by default.](https://github.com/Homebrew/brew/pull/20041) |
| 18 | +- [Miscellaneous additional code deprecations, disables and removals scheduled for Homebrew 4.6.](https://github.com/Homebrew/brew/pull/20331) |
| 19 | + |
| 20 | +Other changes since 4.5.0 I'd like to highlight are the following: |
| 21 | + |
| 22 | +- All repositories in the Homebrew organisation, including e.g. [Homebrew/brew](https://github.com/Homebrew/brew/pull/20164), |
| 23 | + [Homebrew/homebrew-cask](https://github.com/Homebrew/brew/pull/20172) and |
| 24 | + [Homebrew/homebrew-core](https://github.com/Homebrew/brew/pull/20171), now use `main` as their default branch. |
| 25 | +- [Homebrew prohibits non-ASCII characters in URLs.](https://github.com/Homebrew/brew/pull/19977) |
| 26 | +- [Homebrew now allows users in Tier 2/3 to file some types of issues.](https://github.com/Homebrew/brew/pull/20185) |
| 27 | +- [Homebrew's `.pkg` and official/shell installers will now add Homebrew to the default `PATH` if possible.](https://github.com/Homebrew/brew/pull/20159) |
| 28 | +- [Third-party Homebrew GitHub Packages mirrors that do not require authentication now work as expected.](https://github.com/Homebrew/brew/pull/19885) |
| 29 | +- [`HOMEBREW_FORBID_CASKS` is a new environment variable that forbids all casks.](https://github.com/Homebrew/brew/pull/19865) |
| 30 | +- [`HOMEBREW_VERIFY_ATTESTATIONS` must be explicitly set again, even for `HOMEBREW_DEVELOPER`s.](https://github.com/Homebrew/brew/pull/20229) |
| 31 | +- [`brew` no longer copies across zeroed environment-variable values.](https://github.com/Homebrew/brew/pull/20053) |
| 32 | +- [`brew` resets the `sudo` timestamp later so it’s not done by e.g. `brew --prefix` or `brew shellenv` but remains done by e.g. `brew install`.](https://github.com/Homebrew/brew/pull/20037) |
| 33 | +- [`brew --debug` output is a bit quieter by default.](https://github.com/Homebrew/brew/pull/20311) |
| 34 | +- [`brew bundle` no longer uses the `brew tap --force-auto-update` option as it was removed.](https://github.com/Homebrew/brew/pull/20090) |
| 35 | +- [`brew bundle` better handles cask renames for `brew bundle` and `brew bundle dump`.](https://github.com/Homebrew/brew/pull/20224) |
| 36 | +- [`brew bundle` refers to "formulae" rather than "brews" for consistency with other parts of Homebrew.](https://github.com/Homebrew/brew/pull/20209) |
| 37 | +- [`brew bundle add` will create a `Brewfile` if it doesn't exist.](https://github.com/Homebrew/brew/pull/19922) |
| 38 | +- [`brew cleanup` doesn't warn when loading a renamed cask.](https://github.com/Homebrew/brew/pull/20256) |
| 39 | +- [`brew install` outputs a better error message when there are tap conflicts.](https://github.com/Homebrew/brew/pull/20304) |
| 40 | +- [`brew install --ask` will also prompt before installing casks.](https://github.com/Homebrew/brew/pull/19892) |
| 41 | +- [`brew uninstall` won't suggest deleting configuration files that belong to other formulae.](https://github.com/Homebrew/brew/pull/19959) |
| 42 | +- [`brew update` displays descriptions for new formulae and casks.](https://github.com/Homebrew/brew/pull/20167) |
| 43 | +- [`brew update` will migrate taps from `master` to `main` when necessary.](https://github.com/Homebrew/brew/pull/20073) |
| 44 | +- [`brew pin` returns a non-zero exit code if pinning formulae that are not installed.](https://github.com/Homebrew/brew/pull/20213) |
| 45 | +- [`brew sh` and `brew bundle sh` use more of the user's configuration but provide a custom prompt.](https://github.com/Homebrew/brew/pull/20047) |
| 46 | +- [`brew audit` ensures that official formula and cask names don't conflict.](https://github.com/Homebrew/brew/pull/20134) |
| 47 | +- [`brew deps` outputs a warning when runtime dependencies are not used (so results may be inconsistent or confusing).](https://github.com/Homebrew/brew/pull/20071) |
| 48 | +- [`env_script_all_files` in formulae won't overwrite existing files.](https://github.com/Homebrew/brew/pull/20281) |
| 49 | + |
| 50 | +Finally: |
| 51 | + |
| 52 | +- Homebrew is now [on Bluesky](https://bsky.app/profile/brew.sh). |
| 53 | +- [Homebrew accepts donations through GitHub Sponsors](https://github.com/sponsors/Homebrew) and [still accepts donations through Patreon](https://www.patreon.com/homebrew). |
| 54 | + If you can afford it, please consider donating. |
| 55 | + If you'd rather not use GitHub Sponsors or Patreon (our preferred donation methods), [check out the other ways to donate in our README](https://github.com/Homebrew/brew/#donations). |
| 56 | + |
| 57 | +Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far. |
0 commit comments