From e63c8850337967f72cb844f75074597e666ee71a Mon Sep 17 00:00:00 2001 From: Patrick Linnane Date: Fri, 12 Sep 2025 10:40:19 -0700 Subject: [PATCH] Support Tahoe, drop Mojave and older Signed-off-by: Patrick Linnane --- .github/workflows/pkg-installer.yml | 2 +- Library/Homebrew/brew.sh | 9 ++-- Library/Homebrew/os/mac.rb | 2 +- Library/Homebrew/os/mac/xcode.rb | 2 + Library/Homebrew/test/cask/cask_spec.rb | 52 ------------------- .../cask/Casks/with-depends-on-everything.rb | 2 +- .../Casks/with-depends-on-macos-comparison.rb | 2 +- .../cask/everything-with-variations.json | 2 +- .../support/fixtures/cask/everything.json | 2 +- docs/Installation.md | 6 +-- docs/Support-Tiers.md | 7 +-- package/Distribution.xml | 4 +- 12 files changed, 19 insertions(+), 73 deletions(-) diff --git a/.github/workflows/pkg-installer.yml b/.github/workflows/pkg-installer.yml index 7733439b15..dcea80f0e4 100644 --- a/.github/workflows/pkg-installer.yml +++ b/.github/workflows/pkg-installer.yml @@ -32,7 +32,7 @@ jobs: TEMPORARY_CERTIFICATE_FILE: 'homebrew_developer_id_installer_certificate.p12' TEMPORARY_KEYCHAIN_FILE: 'homebrew_installer_signing.keychain-db' # Set to the oldest supported version of macOS - HOMEBREW_MACOS_OLDEST_SUPPORTED: '13.0' + HOMEBREW_MACOS_OLDEST_SUPPORTED: '14.0' permissions: contents: read # for code access attestations: write # for actions/attest-build-provenance diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index 04b76013a1..c17ed358e0 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -576,18 +576,19 @@ esac # - docs/Installation.md # - https://github.com/Homebrew/install/blob/HEAD/install.sh # - Library/Homebrew/os/mac.rb (latest_sdk_version) +# - Library/Homebrew/os/mac/xcode.rb (latest_version), (minimum_version) # and, if needed: # - MacOSVersion::SYMBOLS -HOMEBREW_MACOS_NEWEST_UNSUPPORTED="16" +HOMEBREW_MACOS_NEWEST_UNSUPPORTED="27" # TODO: bump version when new macOS is released -HOMEBREW_MACOS_NEWEST_SUPPORTED="15" +HOMEBREW_MACOS_NEWEST_SUPPORTED="26" # TODO: bump version when new macOS is released and update references in: # - docs/Installation.md # - HOMEBREW_MACOS_OLDEST_SUPPORTED in .github/workflows/pkg-installer.yml # - `os-version min` in package/Distribution.xml # - https://github.com/Homebrew/install/blob/HEAD/install.sh -HOMEBREW_MACOS_OLDEST_SUPPORTED="13" -HOMEBREW_MACOS_OLDEST_ALLOWED="10.11" +HOMEBREW_MACOS_OLDEST_SUPPORTED="14" +HOMEBREW_MACOS_OLDEST_ALLOWED="10.15" if [[ -n "${HOMEBREW_MACOS}" ]] then diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index a0fd08b6f7..cf0058fbea 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -56,7 +56,7 @@ module OS def self.latest_sdk_version # TODO: bump version when new Xcode macOS SDK is released # NOTE: We only track the major version of the SDK. - ::Version.new("15") + ::Version.new("26") end sig { returns(String) } diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 4ec04e7d2d..e0edb1fe21 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -17,6 +17,7 @@ module OS def self.latest_version(macos: MacOS.version) macos = macos.strip_patch case macos + when "26" then "26.0" when "15" then "16.4" when "14" then "16.2" when "13" then "15.2" @@ -43,6 +44,7 @@ module OS def self.minimum_version macos = MacOS.version case macos + when "26" then "26.0" when "15" then "16.0" when "14" then "15.0" when "13" then "14.1" diff --git a/Library/Homebrew/test/cask/cask_spec.rb b/Library/Homebrew/test/cask/cask_spec.rb index ea41dd144b..e5d2e4499c 100644 --- a/Library/Homebrew/test/cask/cask_spec.rb +++ b/Library/Homebrew/test/cask/cask_spec.rb @@ -364,26 +364,6 @@ RSpec.describe Cask::Cask, :cask do "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/darwin/1.0.0/intel.zip", "version": "1.0.0", "sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216" - }, - "mojave": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/darwin/1.0.0/intel.zip", - "version": "1.0.0", - "sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216" - }, - "high_sierra": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/darwin/1.0.0/intel.zip", - "version": "1.0.0", - "sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216" - }, - "sierra": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/darwin/1.0.0/intel.zip", - "version": "1.0.0", - "sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216" - }, - "el_capitan": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine/darwin/1.0.0/intel.zip", - "version": "1.0.0", - "sha256": "1866dfa833b123bb8fe7fa7185ebf24d28d300d0643d75798bc23730af734216" } } JSON @@ -418,22 +398,6 @@ RSpec.describe Cask::Cask, :cask do "catalina": { "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel.zip", "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "mojave": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "high_sierra": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "sierra": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "el_capitan": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" } } JSON @@ -469,22 +433,6 @@ RSpec.describe Cask::Cask, :cask do "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel-darwin.zip", "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" }, - "mojave": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel-darwin.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "high_sierra": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel-darwin.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "sierra": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel-darwin.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, - "el_capitan": { - "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel-darwin.zip", - "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" - }, "x86_64_linux": { "url": "file://#{TEST_FIXTURE_DIR}/cask/caffeine-intel-linux.zip", "sha256": "8c62a2b791cf5f0da6066a0a4b6e85f62949cd60975da062df44adf887f4370b" diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-everything.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-everything.rb index fef3374ef7..f4e661df0f 100644 --- a/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-everything.rb +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-everything.rb @@ -9,7 +9,7 @@ cask "with-depends-on-everything" do depends_on cask: "local-caffeine" depends_on cask: "with-depends-on-cask" depends_on formula: "unar" - depends_on macos: ">= :el_capitan" + depends_on macos: ">= :catalina" app "Caffeine.app" end diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-macos-comparison.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-macos-comparison.rb index df2688eb0b..1d1112a987 100644 --- a/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-macos-comparison.rb +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/with-depends-on-macos-comparison.rb @@ -7,7 +7,7 @@ cask "with-depends-on-macos-comparison" do url "file://#{TEST_FIXTURE_DIR}/cask/caffeine.zip" homepage "https://brew.sh/with-depends-on-macos-comparison" - depends_on macos: ">= :el_capitan" + depends_on macos: ">= :catalina" app "Caffeine.app" end diff --git a/Library/Homebrew/test/support/fixtures/cask/everything-with-variations.json b/Library/Homebrew/test/support/fixtures/cask/everything-with-variations.json index 9f37f30fb5..72eda10923 100644 --- a/Library/Homebrew/test/support/fixtures/cask/everything-with-variations.json +++ b/Library/Homebrew/test/support/fixtures/cask/everything-with-variations.json @@ -82,7 +82,7 @@ ], "macos": { ">=": [ - "10.11" + "10.15" ] } }, diff --git a/Library/Homebrew/test/support/fixtures/cask/everything.json b/Library/Homebrew/test/support/fixtures/cask/everything.json index a467581068..38d85c9f73 100644 --- a/Library/Homebrew/test/support/fixtures/cask/everything.json +++ b/Library/Homebrew/test/support/fixtures/cask/everything.json @@ -82,7 +82,7 @@ ], "macos": { ">=": [ - "10.11" + "10.15" ] } }, diff --git a/docs/Installation.md b/docs/Installation.md index dbad1bebfa..92201e8b85 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -1,5 +1,5 @@ --- -last_review_date: "2025-04-12" +last_review_date: "2025-09-12" --- # Installation @@ -13,7 +13,7 @@ The macOS `.pkg` installer also installs Homebrew to its default prefix (`/opt/h ## macOS Requirements * An Apple Silicon CPU or 64-bit Intel CPU [1](#1) -* macOS Ventura (13) (or higher) installed on officially supported hardware[2](#2) +* macOS Sonoma (14) (or higher) installed on officially supported hardware[2](#2) * Command Line Tools (CLT) for Xcode (from `xcode-select --install` or [https://developer.apple.com/download/all/](https://developer.apple.com/download/all/)) or [Xcode](https://itunes.apple.com/us/app/xcode/id497799835) [3](#3) @@ -116,7 +116,7 @@ Uninstallation is documented in the [FAQ](FAQ.md#how-do-i-uninstall-homebrew). 1 For 32-bit or PPC support see [Tigerbrew](https://github.com/mistydemeo/tigerbrew). -2 macOS 13 (Ventura) or higher is best and supported, 10.11 (El Capitan) – 12 (Monterey) are unsupported but may work and 10.10 (Yosemite) and older will not run Homebrew at all. For 10.4 (Tiger) – 10.6 (Snow Leopard) see [Tigerbrew](https://github.com/mistydemeo/tigerbrew). Using OpenCore Legacy Patcher is a [Tier 2](Support-Tiers.md#tier-2) or [Tier 3](Support-Tiers.md#tier-3) configuration depending on CPU generation. +2 macOS 14 (Sonoma) or higher is best and supported, 10.15 (Catalina) – 13 (Ventura) are unsupported but may work and 10.14 (Mojave) and older will not run Homebrew at all. Using OpenCore Legacy Patcher is a [Tier 2](Support-Tiers.md#tier-2) or [Tier 3](Support-Tiers.md#tier-3) configuration depending on CPU generation. 3 You may need to install Xcode, the CLT, or both depending on the formula, to install a bottle (binary package) which is the only supported configuration. Downloading Xcode may require an Apple Developer account on older versions of Mac OS X. Sign up for free at [Apple's website](https://developer.apple.com/account/). diff --git a/docs/Support-Tiers.md b/docs/Support-Tiers.md index 5732995694..3801e52c17 100644 --- a/docs/Support-Tiers.md +++ b/docs/Support-Tiers.md @@ -120,12 +120,7 @@ As a result, Homebrew will also drop macOS Intel x86_64 support in a future rele Here's the timescale for planned future Tier support: -- Today (August 2025): - - Tier 1: macOS Sequoia 15, Sonoma 14, Ventura 13 on Apple Silicon and Intel x86_64 - - Tier 2: macOS Tahoe 26 - - Tier 3: macOS El Capitan 10.11 - Monterey 12 - - Unsupported: OS X Yosemite 10.10 and earlier -- September (or later) 2025: +- Today (September 2025): - Tier 1: macOS Tahoe 26, Sequoia 15, Sonoma 14 on Apple Silicon and Intel x86_64 - Tier 3: macOS Catalina 10.15 - Ventura 13 - Unsupported: macOS Mojave 10.14 and earlier diff --git a/package/Distribution.xml b/package/Distribution.xml index df0b22fcce..5aafa06ae8 100644 --- a/package/Distribution.xml +++ b/package/Distribution.xml @@ -4,7 +4,7 @@ - + @@ -27,7 +27,7 @@ - +