Commit Graph
51681 Commits
Author SHA1 Message Date
Mike McQuaidandGitHub 9e0022780b Merge pull request #23444 from Homebrew/revert-23414-dmg-diskutil-image
Revert "unpack_strategy/dmg: use `diskutil image` on macOS 14+"
2026-08-05 08:35:44 +00:00
Mike McQuaidandGitHub 8ea50ea2f4 Revert "unpack_strategy/dmg: use diskutil image on macOS 14+" 2026-08-05 09:19:00 +01:00
Andrew NesbittandGitHub fcec8a10f1 Merge pull request #23152 from kmarekspartz/vulns-fix-available-flag
vulns: add --fix-available and --no-fix-available flags
2026-08-05 07:52:19 +00:00
Andrew NesbittandGitHub fd73448209 Merge branch 'main' into vulns-fix-available-flag 2026-08-05 08:33:53 +01:00
Mike McQuaidandGitHub 6927f001e0 Merge pull request #23438 from gromgit/shared_audits/print_repo_age
shared_audits: print repo age if too new
2026-08-05 07:09:33 +00:00
Ruoyu ZhongandGitHub df3496c800 Merge pull request #23442 from Homebrew/dependabot/bundler/Library/Homebrew/bundler-ac19691048
build(deps): bump the bundler group across 2 directories with 11 updates
2026-08-05 06:40:42 +00:00
Ruoyu ZhongandGitHub 8653c3ca63 Merge pull request #23443 from Homebrew/dependabot/github_actions/github-actions-1e3b78b41c
build(deps): bump the github-actions group across 1 directory with 7 updates
2026-08-05 06:40:37 +00:00
dependabot[bot]andGitHub 05001457d4 build(deps): bump the github-actions group across 1 directory with 7 updates
Bumps the github-actions group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |
| [Homebrew/actions/git-user-config](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |
| [Homebrew/actions/setup-commit-signing](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |
| [Homebrew/actions/git-try-push](https://github.com/homebrew/actions) | `2026.07.29.1` | `2026.08.03.2` |



Updates `Homebrew/actions/setup-homebrew` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/2026.07.29.1...fd832223f9f99ebf0244dd20658680e5d4aca049)

Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/2026.07.29.1...fd832223f9f99ebf0244dd20658680e5d4aca049)

Updates `Homebrew/actions/setup-ruby` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac...fd832223f9f99ebf0244dd20658680e5d4aca049)

Updates `Homebrew/actions/create-or-update-issue` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac...fd832223f9f99ebf0244dd20658680e5d4aca049)

Updates `Homebrew/actions/git-user-config` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac...fd832223f9f99ebf0244dd20658680e5d4aca049)

Updates `Homebrew/actions/setup-commit-signing` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac...fd832223f9f99ebf0244dd20658680e5d4aca049)

Updates `Homebrew/actions/git-try-push` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac...fd832223f9f99ebf0244dd20658680e5d4aca049)

---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/git-user-config
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-commit-signing
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/git-try-push
  dependency-version: 2026.08.03.2
  dependency-type: direct:production
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 04:36:31 +00:00
github-actions[bot] d608d5d282 Update RBI files for bundler.
Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow.
2026-08-05 04:35:48 +00:00
github-actions[bot] 10fba8f5a5 brew vendor-gems: commit updates. 2026-08-05 04:35:34 +00:00
dependabot[bot]andGitHub 9eccee92ef build(deps): bump the bundler group across 2 directories with 11 updates
Bumps the bundler group with 5 updates in the /Library/Homebrew directory:

| Package | From | To |
| --- | --- | --- |
| [simplecov](https://github.com/simplecov-ruby/simplecov) | `1.0.2` | `1.0.3` |
| [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) | `0.6.13359` | `0.6.13365` |
| [csv](https://github.com/ruby/csv) | `3.3.5` | `3.3.6` |
| [patchelf](https://github.com/Homebrew/patchelf.rb) | `1.5.2` | `1.6.2` |
| [rbs](https://github.com/ruby/rbs) | `4.0.3` | `4.1.2` |

Bumps the bundler group with 4 updates in the /docs directory: [csv](https://github.com/ruby/csv), [sorbet-runtime](https://github.com/sorbet/sorbet), [rbs](https://github.com/ruby/rbs) and [html-proofer](https://github.com/gjtorikian/html-proofer).


Updates `simplecov` from 1.0.2 to 1.0.3
- [Release notes](https://github.com/simplecov-ruby/simplecov/releases)
- [Changelog](https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md)
- [Commits](https://github.com/simplecov-ruby/simplecov/compare/v1.0.2...v1.0.3)

Updates `sorbet-static-and-runtime` from 0.6.13359 to 0.6.13365
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `csv` from 3.3.5 to 3.3.6
- [Release notes](https://github.com/ruby/csv/releases)
- [Changelog](https://github.com/ruby/csv/blob/main/NEWS.md)
- [Commits](https://github.com/ruby/csv/compare/v3.3.5...v3.3.6)

Updates `patchelf` from 1.5.2 to 1.6.2
- [Release notes](https://github.com/Homebrew/patchelf.rb/releases)
- [Commits](https://github.com/Homebrew/patchelf.rb/compare/v1.5.2...v1.6.2)

Updates `sorbet-runtime` from 0.6.13359 to 0.6.13365
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `rbs` from 4.0.3 to 4.1.2
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/rbs/compare/v4.0.3...v4.1.2)

Updates `sorbet` from 0.6.13359 to 0.6.13365
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `sorbet-static` from 0.6.13359 to 0.6.13365
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `csv` from 3.3.5 to 3.3.6
- [Release notes](https://github.com/ruby/csv/releases)
- [Changelog](https://github.com/ruby/csv/blob/main/NEWS.md)
- [Commits](https://github.com/ruby/csv/compare/v3.3.5...v3.3.6)

Updates `sorbet-runtime` from 0.6.13359 to 0.6.13403
- [Release notes](https://github.com/sorbet/sorbet/releases)
- [Commits](https://github.com/sorbet/sorbet/commits)

Updates `rbs` from 4.0.3 to 4.1.2
- [Release notes](https://github.com/ruby/rbs/releases)
- [Changelog](https://github.com/ruby/rbs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ruby/rbs/compare/v4.0.3...v4.1.2)

Updates `html-proofer` from 5.2.1 to 5.2.2
- [Release notes](https://github.com/gjtorikian/html-proofer/releases)
- [Changelog](https://github.com/gjtorikian/html-proofer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/html-proofer/compare/v5.2.1...v5.2.2)

Updates `async` from 2.44.0 to 2.44.1
- [Release notes](https://github.com/socketry/async/releases)
- [Changelog](https://github.com/socketry/async/blob/main/releases.md)
- [Commits](https://github.com/socketry/async/compare/v2.44.0...v2.44.1)

Updates `zeitwerk` from 2.8.2 to 2.8.3
- [Changelog](https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fxn/zeitwerk/compare/v2.8.2...v2.8.3)

---
updated-dependencies:
- dependency-name: simplecov
  dependency-version: 1.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: sorbet-static-and-runtime
  dependency-version: 0.6.13365
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: csv
  dependency-version: 3.3.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: patchelf
  dependency-version: 1.6.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: bundler
- dependency-name: sorbet-runtime
  dependency-version: 0.6.13365
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: rbs
  dependency-version: 4.1.2
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: bundler
- dependency-name: sorbet
  dependency-version: 0.6.13365
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: sorbet-static
  dependency-version: 0.6.13365
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: csv
  dependency-version: 3.3.6
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: sorbet-runtime
  dependency-version: 0.6.13403
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: rbs
  dependency-version: 4.1.2
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: bundler
- dependency-name: html-proofer
  dependency-version: 5.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: async
  dependency-version: 2.44.1
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: bundler
- dependency-name: zeitwerk
  dependency-version: 2.8.3
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: bundler
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 04:34:27 +00:00
Patrick LinnaneandGitHub d0b51c6790 Merge pull request #23441 from Homebrew/sync-shared-config
Synchronize shared configuration
2026-08-05 04:11:24 +00:00
BrewTestBot da76f8018e licenses.yml: update to match main configuration 2026-08-05 03:53:02 +00:00
BrewTestBot 37203d245f actionlint.yml: update to match main configuration 2026-08-05 03:53:02 +00:00
BrewTestBot 61fb27fd91 dependabot.yml: update to match main configuration 2026-08-05 03:53:02 +00:00
Ruoyu ZhongandGitHub 31b858ec89 Merge pull request #23440 from Homebrew/dependabot/github_actions/github-actions-106f7d97aa
build(deps): bump the github-actions group across 1 directory with 10 updates
2026-08-05 02:02:14 +00:00
Ruoyu ZhongandGitHub 4f12fbba0a Merge pull request #23439 from Homebrew/sync-shared-config
Synchronize shared configuration
2026-08-05 01:52:46 +00:00
dependabot[bot]andGitHub 0e52cfa244 build(deps): bump the github-actions group across 1 directory with 10 updates
Bumps the github-actions group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [docker/login-action](https://github.com/docker/login-action) | `4.5.1` | `4.6.0` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [actions/attest](https://github.com/actions/attest) | `4.2.0` | `4.2.1` |
| [Homebrew/actions/git-user-config](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/setup-commit-signing](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/git-try-push](https://github.com/homebrew/actions) | `2026.07.20.1` | `2026.07.29.1` |
| [actions/stale](https://github.com/actions/stale) | `10.4.0` | `11.0.0` |



Updates `Homebrew/actions/setup-homebrew` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/2026.07.20.1...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `docker/login-action` from 4.5.1 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/abd2ef45e78c5afb21d64d4ca52ee8550d9572c7...dbcb813823bdd20940b903addbd779551569679f)

Updates `Homebrew/actions/setup-ruby` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `Homebrew/actions/create-or-update-issue` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `actions/attest` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/actions/attest/releases)
- [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest/compare/f7c74d28b9d84cb8768d0b8ca14a4bac6ef463e6...508db95dd578ae2727ebd6217d5ba78e4fbda05d)

Updates `Homebrew/actions/git-user-config` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `Homebrew/actions/setup-commit-signing` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `Homebrew/actions/git-try-push` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases)
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts)
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac)

Updates `actions/stale` from 10.4.0 to 11.0.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/1e223db275d687790206a7acac4d1a11bd6fe629...4391f3da665fdf50b6810c1a66712fb9ba21aa93)

---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: actions/attest
  dependency-version: 4.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: Homebrew/actions/git-user-config
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-commit-signing
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: Homebrew/actions/git-try-push
  dependency-version: 2026.07.29.1
  dependency-type: direct:production
  dependency-group: github-actions
- dependency-name: actions/stale
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 01:43:28 +00:00
BrewTestBot 08e1a05b30 bootstrap: update to match main configuration 2026-08-05 01:33:32 +00:00
BrewTestBot 4a1a9f04dd jekyll: update to match main configuration 2026-08-05 01:33:32 +00:00
BrewTestBot 1b2818eee1 check-prs.yml: update to match main configuration 2026-08-05 01:33:32 +00:00
Adrian Ho b4db588b80 shared_audits: print repo age if too new
Repo creation date is usually not visible to end users, and the repo age is being calculated anyway.

Before:
```
% brew audit --new --fix usbtree
usbtree
  * GitHub repository too new (<30 days old)
Error: 1 problem in 1 formula detected.
```

After:
```
% brew audit --new --fix usbtree
usbtree
  * GitHub repository too new (29 days old, 30 days required)
Error: 1 problem in 1 formula detected.
```

Also fixes the incorrect age test for Bitbucket.
2026-08-05 09:19:14 +08:00
Mike McQuaidandGitHub 7d75aaa9d2 Merge pull request #23431 from Homebrew/cask-os-stanza-fix
Fix cask Linux installs without `os` stanza
2026-08-04 19:01:20 +00:00
Mike McQuaid e678490656 Fix cask Linux installs without os stanza
- `Cask#to_hash_with_variations` skipped all Linux variations for
  casks declaring Linux support only inside `on_linux`/`on_system`
  blocks, e.g. `zen`, as the API JSON is generated on macOS where
  those blocks are invisible; the published JSON then fell back to
  macOS artifacts on Linux and installs failed with a misleading
  "This cask requires macOS." error. Track `on_linux`/`on_system`
  blocks and emit Linux variations for casks that have them.
- `sha256` raised for an architecture missing a checksum for the
  running OS, e.g. `unity-hub` on `arm64_linux`, so its variation
  was silently dropped and ARM64 Linux fell back to macOS data too.
  Raise only on the real system: under `SimulateSystem` simulation
  `sha256` is now nil so variations for missing architectures carry
  their `on_linux` `depends_on arch:` and artifacts and Linux users
  get the correct unsupported-architecture error instead.
- `depends_on macos:` inside an `on_arm`/`on_intel` block did not
  mark a cask macOS-only, but arch blocks are evaluated on every OS
  so the dependency applies there too. Casks like `qlc+` that only
  declare macOS inside arch blocks claimed to support Linux while
  carrying a macOS requirement. Only OS blocks now scope a
  dependency to one OS; the checks for combining macOS `depends_on`
  forms still treat every `on_system` block alike.
- `Readall.valid_casks?` skipped casks whose files textually matched
  `depends_on macos:` anywhere, including inside `on_macos` blocks,
  so cross-OS casks like `unity-hub` were never validated for Linux.
  Rely on `supports_linux?` instead and let `depends_on arch:` excuse
  architectures a cask deliberately omits Linux checksums for.
- Add `appimagedir` to the test cask config so `app_image` artifacts
  can be serialised in tests.

Fixes https://github.com/Homebrew/brew/issues/23427.
2026-08-04 19:28:30 +01:00
Mike McQuaidandGitHub 422189990e Merge pull request #23424 from Homebrew/fix-rspec-mocks-lifecycle
Reset default download queue between specs
2026-08-04 18:06:57 +00:00
Patrick LinnaneandGitHub 232082f650 Merge pull request #23437 from Homebrew/sorbet-files-update
sorbet files update
2026-08-04 17:54:17 +00:00
BrewTestBot 3b9b53cb90 sorbet: Autobump sigils via Spoom
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2026-08-04 17:35:32 +00:00
BrewTestBot b51d0a5b9b sorbet: Update RBI files.
Autogenerated by the [sorbet](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sorbet.yml) workflow.
2026-08-04 17:35:32 +00:00
Mike McQuaidandGitHub d61746c912 Merge pull request #23436 from AlternateRT/config-show-cask-info-on-linux
system_config: show core cask tap output on Linux
2026-08-04 16:27:17 +00:00
Mike McQuaidandGitHub a1c4ddbb6f Merge pull request #23435 from Homebrew/speedup-style-readall
Speed up `brew style` and `brew readall`
2026-08-04 15:52:35 +00:00
Patrick LinnaneandGitHub 83ae06dd4d Merge pull request #23414 from Homebrew/dmg-diskutil-image
unpack_strategy/dmg: use `diskutil image` on macOS 14+
2026-08-04 15:44:57 +00:00
Mike McQuaidandGitHub b36a62447a Merge pull request #23410 from Homebrew/base64-unpack-migration
Remove `base64` gem and add `Homebrew/NoBase64` cop
2026-08-04 15:42:51 +00:00
Mike McQuaidandGitHub d6de8555ad Merge pull request #23429 from Homebrew/ruby-macho-x86-signing
Use codesign to sign patched binaries on Intel
2026-08-04 15:42:40 +00:00
AltCode b36f3269ee system_config: show core cask tap output on Linux 2026-08-04 17:25:11 +02:00
Mike McQuaidandGitHub 64356cb673 Merge pull request #23405 from Homebrew/enforce-cask-stanza-ordering
Complete Cask stanza ordering coverage
2026-08-04 15:16:48 +00:00
Mike McQuaidandGitHub c04a10fa8a Merge pull request #23428 from Homebrew/symlink-target-check
Skip cask link when symlink already correct
2026-08-04 15:16:44 +00:00
Patrick Linnane 373dfd1545 unpack_strategy/dmg: split diskutil and hdiutil backends
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-08-04 07:58:09 -07:00
Sean MolenaarandGitHub c98dece05a Merge pull request #23432 from Homebrew/SMillerDev-patch-1
Fix random time in tap-new
2026-08-04 14:35:20 +00:00
Mike McQuaid d413e1630e Speed up brew style and brew readall
- `brew readall`: validate tap formulae and casks across forked
  workers (combination loop inside each worker so the `on_system`
  cache keeps its per-file locality) and syntax-check Ruby files
  in-process with `RubyVM::InstructionSequence.compile_file` and a
  `Warning` buffer instead of spawning `ruby -c -w` per file.
- `brew style`: run shellcheck+shfmt and actionlint on background
  threads with buffered output while RuboCop runs on the main
  thread, chunk shellcheck across CPU cores and pass `--parallel`
  to RuboCop with `--fix` (supported since RuboCop 1.41).
- Resolve linter executables before spawning threads so they
  cannot race to install formulae.
- `Readall.valid_aliases?`: use a single glob and `Set` lookup
  rather than one glob per alias.
- Fix an `end` indentation warning in `cask/cask.rb` that made
  `brew readall --syntax` fail.
- Hyperfine benchmarks (18-core Mac, mean of 2 runs, warm RuboCop
  cache for style runs, all exit codes 0):
  - `brew readall homebrew/core`: 34.36s -> 4.71s (7.3x faster)
  - `brew readall homebrew/cask`: 40.69s -> 5.17s (7.9x faster)
  - `brew style homebrew/core` (warm): 2.93s -> 2.20s
  - `brew style homebrew/cask` (warm): 2.37s -> 2.18s
  - `brew style` on Homebrew/brew itself: 13.2s -> 7.8s
  - `brew readall --syntax`: 18.2s -> 0.5s
- Tap style runs are RuboCop-bound so barely change; the larger
  style win is on Homebrew/brew where all four linters run. CI
  runners with fewer cores should expect roughly 3-4x on readall.
2026-08-04 15:13:59 +01:00
Sean MolenaarandGitHub eaa89b7014 Fix random time in tap-new 2026-08-04 16:00:06 +02:00
Mike McQuaidandGitHub a760fa0b1d Merge pull request #23425 from Homebrew/landlock-default
Remove Bubblewrap, use Landlock for Linux sandbox
2026-08-04 13:49:30 +00:00
Mike McQuaidandGitHub 76fc2ffe4f Merge pull request #23430 from hyuraku/tab-kwargs
Convert Tab attributes to keyword arguments
2026-08-04 13:45:51 +00:00
hyuraku 76dd511f0f Fix type annotation for _unknown parameter in AbstractTab initialization 2026-08-04 22:20:32 +09:00
hyuraku d43ab0083d Refactor Tab initialization to use keyword arguments for better clarity and flexibility 2026-08-04 21:22:22 +09:00
hyuraku 9fd3d8e001 Refactor Tab initialization and update key formatting to symbols 2026-08-04 21:22:08 +09:00
Mike McQuaid 0a88a9467d Use codesign to sign patched binaries on Intel
- Since the switch to `MachO.codesign!` in ruby-macho 6.0, Intel macOS
  rejects the ad-hoc signatures on larger relocated binaries (e.g.
  `libruby`, the Python framework) and kills hardened-runtime programs
  such as MacVim's `vim` at launch with `CODESIGNING, Invalid Page`:
  https://github.com/Homebrew/brew/issues/23418
- The signatures have correct page hashes and pass `codesign --verify`
  on newer macOS, so this looks like an Intel macOS verifier quirk
  rather than simple corruption.
- Restore the pre-6.0 behaviour on Intel: leave unsigned binaries
  unsigned and use `codesign` to re-sign only the binaries whose
  existing signature our modifications have just broken, e.g. MacVim's
  Xcode-ad-hoc-signed hardened-runtime `vim`.
- Restore the fatal preinstall developer tools check, now skipped on
  Apple Silicon rather than gated to it, as `codesign` requires the
  Command Line Tools while ruby-macho does not.
- Keep `MachO.codesign!` on Apple Silicon, where it is required,
  proven and avoids a `codesign` subprocess per relocated file.
2026-08-04 13:12:07 +01:00
Mike McQuaid 0376eda65e Skip cask link when symlink already correct
- A plain `brew upgrade` raised "It seems there is already a
  Binary at ..." even when the existing symlink resolved to the
  exact source about to be linked, because the realpath check sat
  behind `force`/`adopt`. The revert left the symlink in place so
  every retry failed identically until manual intervention.
- Treat an already-correct symlink as a no-op: log and skip the
  link. Genuine conflicts, such as a real file at the target or a
  symlink elsewhere, still require `--force` or `--adopt`.
- Rescue errors resolving the target, like `conflicting_formula`
  does, so unreadable symlinks fall back to the existing conflict
  and error handling instead of raising `Errno` exceptions.
- Fixes Homebrew/brew#23426.
2026-08-04 13:04:55 +01:00
Mike McQuaid 6decfd55f2 Enforce complete Cask stanza ordering
Once homebrew/cask is migrated, the style cops can enforce the intended
order for platform blocks and generated artifact DSLs.

- register platform blocks, system variables and generated artifacts
- keep system variables after versions so interpolation remains valid
- remove the temporary completion-grouping migration allowance
- update affected fixtures, documentation and regression coverage
2026-08-04 12:11:22 +01:00
Mike McQuaid 2f8502f720 Reset default download queue between specs
- `Homebrew.default_download_queue` memoizes its queue on the `Homebrew`
  module, so an example stubbing `Homebrew::DownloadQueue.new` at first
  use leaked an RSpec double into later examples and the `at_exit`
  shutdown hook, randomly crashing test runs with
  `RSpec::Mocks::OutsideOfExampleError` after every example passed.
- Shut down and drop the memoized queue after every example instead.
  A leaked double is only dropped as it cannot receive `shutdown`
  outside the per-example rspec-mocks lifecycle.
- Add ordered regression specs covering the leak and the reset.
2026-08-04 12:10:49 +01:00
Mike McQuaid 377e4f740b Remove Bubblewrap, use Landlock for Linux sandbox
- Landlock needs no separate executable, installation or `sysctl`
  configuration, so use it as the only Linux sandbox implementation
  rather than an opt-in behind `$HOMEBREW_SANDBOX_LINUX_LANDLOCK`.
- Delete `Sandbox::Bubblewrap`, the `brew setup-sandbox` command and
  the implicit `bubblewrap` dependency, none of which Landlock needs.
- Remove the Bubblewrap-era `Sandbox` API (`ensure_sandbox_installed!`,
  `configure!`, `configuration_commands`, `sandbox_install_command`)
  and its call sites now that no backend needs installing or
  configuring.
- Simplify `brew doctor`'s `check_linux_sandbox` to report the
  Landlock failure reason with the `$HOMEBREW_NO_SANDBOX_LINUX`
  workaround.
2026-08-04 11:55:32 +01:00