|
| 1 | +--- |
| 2 | +title: 4.5.0 |
| 3 | +author: MikeMcQuaid |
| 4 | +redirect_from: /blog/4.5.0/ |
| 5 | +--- |
| 6 | + |
| 7 | +Today, I'd like to announce Homebrew 4.5.0. |
| 8 | +The most significant changes since 4.4.0 are major improvements to `brew bundle`/`services`, preliminary Linux support for casks, official Support Tiers, Tier 2 ARM64 Linux support, Ruby 3.4 and several deprecations. |
| 9 | + |
| 10 | +Major changes and deprecations since 4.4.0: |
| 11 | + |
| 12 | +#### `brew bundle` and `brew services` |
| 13 | + |
| 14 | +- [The documentation for Homebrew Bundle, `brew bundle` and `Brewfile`](https://docs.brew.sh/Brew-Bundle-and-Brewfile) |
| 15 | + has been [hugely improved](https://github.com/Homebrew/brew/pull/19802). |
| 16 | + It also documents the many new `brew bundle` features and changes in this release. |
| 17 | +- [`brew bundle`](https://github.com/Homebrew/brew/pull/19487) |
| 18 | + and |
| 19 | + [`brew services`](https://github.com/Homebrew/brew/pull/19385) |
| 20 | + are built-in commands instead of being provided by an external tap. |
| 21 | +- [`brew bundle (exec|env|sh)` no longer filter the user's environment](https://github.com/Homebrew/brew/pull/19575) (like other `brew` commands do) |
| 22 | +- [`brew services` supports passing multiple formulae](https://github.com/Homebrew/brew/pull/19565) |
| 23 | +- [`Brewfile`s have a `version_file:` DSL that allows `brew bundle` to write to e.g. a `.ruby-version` file based on the installed version](https://github.com/Homebrew/brew/pull/19579) |
| 24 | +- `brew bundle` no longer includes `${HOMEBREW_PREFIX}/bin` in the `$PATH` by default. |
| 25 | + You can do this in your `Brewfile` with `ENV["PATH"] = "#{HOMEBREW_PREFIX}/bin:#{ENV["PATH"]}"`. |
| 26 | + |
| 27 | +#### Linux casks |
| 28 | + |
| 29 | +- Some Homebrew casks are supported on Linux. |
| 30 | + Right now these are mostly |
| 31 | + [fonts](https://github.com/Homebrew/brew/pull/18874) |
| 32 | + and those with |
| 33 | + [Linux binaries](https://github.com/Homebrew/brew/pull/19121). |
| 34 | + Some casks will never be available on Linux, such as those for macOS-specific software. |
| 35 | + [The Homebrew Linux fonts cask tap has been deprecated as a result](https://github.com/Homebrew/brew/pull/19834). |
| 36 | +- [`brew bump-cask-pr` allows bumping multi-platform casks on Linux](https://github.com/Homebrew/brew/pull/19510) |
| 37 | + |
| 38 | +#### Support Tiers |
| 39 | + |
| 40 | +- [Homebrew has three documented Support Tiers plus Unsupported](https://docs.brew.sh/Support-Tiers). |
| 41 | + Tier 1, previously called "supported", is where you'll get bottles/binary packages and we have CI coverage. |
| 42 | +- [`brew doctor` links to Support Tiers](https://github.com/Homebrew/brew/pull/19657) |
| 43 | +- [`brew doctor` checks for OpenCore Legacy Patcher](https://github.com/Homebrew/brew/pull/18762) |
| 44 | +- [Clarify that the OpenCore Legacy Patcher is Tier 2 or 3](https://github.com/Homebrew/brew/pull/19751) |
| 45 | + |
| 46 | +#### ARM64 Linux |
| 47 | + |
| 48 | +- [Homebrew provides a Portable Ruby for ARM64 Linux](https://github.com/Homebrew/brew/pull/19224). |
| 49 | + This is the first step towards hopefully being able to provide Tier 1 support for ARM64 Linux in the future. |
| 50 | +- [Homebrew refers to ARM64 Linux, not AArch64 Linux](https://github.com/Homebrew/brew/pull/19188) (for consistency with macOS) |
| 51 | +- [Homebrew publishes some ARM64 Docker images](https://github.com/Homebrew/brew/pull/19275) |
| 52 | + |
| 53 | +#### Ruby |
| 54 | + |
| 55 | +- [Homebrew provides Portable Ruby 3.4.3](https://github.com/Homebrew/brew/pull/19779). |
| 56 | + It also requires Ruby >=3.4 to run. |
| 57 | +- [Homebrew has enabled Bootsnap by default](https://github.com/Homebrew/brew/pull/19658). This should make repeated invocations of `brew` much faster. |
| 58 | + |
| 59 | +#### Deprecations |
| 60 | + |
| 61 | +- [Homebrew 4.5's various deprecations/disables/removals](https://github.com/Homebrew/brew/pull/19801) |
| 62 | +- [The Ubuntu 18 Docker image has been removed](https://github.com/Homebrew/brew/pull/19190) |
| 63 | + |
| 64 | +Other changes since 4.4.0 I'd like to highlight are the following: |
| 65 | + |
| 66 | +- [`brew install --ask` and `HOMEBREW_ASK` allow viewing the packages, dependencies and sizes in a prompt before installation](https://github.com/Homebrew/brew/pull/19254) |
| 67 | +- [`brew install --skip-link` allows installation without running `brew link`](https://github.com/Homebrew/brew/pull/19136) |
| 68 | +- [`brew update-if-needed` provides a much faster possible replacement for `brew update` that does nothing if no auto-update is required](https://github.com/Homebrew/brew/pull/19626) |
| 69 | +- [`brew install --as-dependency` allows installation of formulae as dependencies rather than "on request"](https://github.com/Homebrew/brew/pull/19570) |
| 70 | +- [`brew` allows being run by `root` in `podman` containers](https://github.com/Homebrew/brew/pull/18574) |
| 71 | +- [`HOMEBREW_TEMP` defaults to `/var/tmp` on Linux, assuming it exists, is readable and is writable](https://github.com/Homebrew/brew/pull/19824) |
| 72 | +- [`brew install --cask` produces fewer GitHub Actions warnings](https://github.com/Homebrew/brew/pull/19009) |
| 73 | +- [Homebrew supports GCC 15](https://github.com/Homebrew/brew/pull/19811) |
| 74 | +- [`brew pyenv-sync` creates major version symlinks to fix `pyenv` support](https://github.com/Homebrew/brew/pull/18978) |
| 75 | +- [The Homebrew macOS `.pkg` installer will upgrade existing installations](https://github.com/Homebrew/brew/pull/19406) |
| 76 | +- [`HOMEBREW_UPGRADE_GREEDY_CASKS` allows specifying a list of casks that should always be upgraded with `--greedy`](https://github.com/Homebrew/brew/pull/19375) |
| 77 | +- Formulae can include |
| 78 | + [PowerShell (`pwsh`)](https://github.com/Homebrew/brew/pull/19407) |
| 79 | + or |
| 80 | + [`clap`](https://github.com/Homebrew/brew/pull/18945) |
| 81 | + completions. |
| 82 | +- [`@@HOMEBREW_PREFIX@@` can be replaced with the value of `HOMEBREW_PREFIX` in external patches](https://github.com/Homebrew/brew/pull/18613) |
| 83 | +- [`brew alias` and `brew unalias` commands are part of Homebrew/brew rather than an external tap](https://github.com/Homebrew/brew/pull/19258) |
| 84 | +- [`brew edit` and `brew bundle edit` look for VSCode variants, e.g. Cursor](https://github.com/Homebrew/brew/pull/19545) |
| 85 | +- [`brew bump*` can bump synced formulae together](https://github.com/Homebrew/brew/pull/19798) |
| 86 | +- [`brew *env-sync` has a `HOMEBREW_ENV_SYNC_STRICT` mode for stricter version handling](https://github.com/Homebrew/brew/pull/19577) |
| 87 | +- In formulae and casks, |
| 88 | + [`deprecate!`/`disable!` support specifying replacement software](https://github.com/Homebrew/brew/pull/18733) |
| 89 | + and |
| 90 | + [can specify replacement type](https://github.com/Homebrew/brew/pull/19578) |
| 91 | +- [`brew bump-*` only warns, rather than errors, on duplicate PRs for non-official taps](https://github.com/Homebrew/brew/pull/19670) |
| 92 | +- [`brew verify` allows verifying package attributions](https://github.com/Homebrew/brew/pull/19217) |
| 93 | +- [`brew audit` flags `pkg-config` dependencies in core tap](https://github.com/Homebrew/brew/pull/18843). |
| 94 | + We have fully moved to using `pkgconf` in Homebrew/homebrew-core instead. |
| 95 | +- [Formulae allow using Sequoia's `jq` instead of Homebrew's](https://github.com/Homebrew/brew/pull/18826) |
| 96 | +- [`brew config` prints the current Homebrew/brew branch](https://github.com/Homebrew/brew/pull/18811) |
| 97 | +- [Homebrew's Tabs/`INSTALL_RECEIPT.json` include the `bottle_rebuild` in `runtime_dependencies`](https://github.com/Homebrew/brew/pull/19576) |
| 98 | +- [Homebrew will use macOS's new `lockf` where available](https://github.com/Homebrew/brew/pull/18516) |
| 99 | +- [Homebrew's CI is no longer running `brew tests` on macOS 13](https://github.com/Homebrew/brew/pull/19736). |
| 100 | + It was too slow and we're dropping macOS 13 support later this year. |
| 101 | + |
| 102 | +Finally: |
| 103 | + |
| 104 | +- [Homebrew has switched to SSH-based Git commit signing](https://brew.sh/2025/02/03/Homebrew-git-signing/) |
| 105 | +- [Homebrew has provided FAQs about their relationship with Workbrew](https://brew.sh/2024/11/19/homebrew-and-workbrew/) |
| 106 | +- [Homebrew accepts donations through GitHub Sponsors](https://github.com/sponsors/Homebrew) and [still accepts donations through Patreon](https://www.patreon.com/homebrew). |
| 107 | + If you can afford it, please consider donating. |
| 108 | + 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). |
| 109 | + |
| 110 | +Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far. |
0 commit comments