Commit Graph
51222 Commits
Author SHA1 Message Date
BrewTestBot 56dfdc06db Update maintainers.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2026-07-21 10:37:27 +00:00
BrewTestBot 642e312bcf Update maintainers.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2026-07-21 10:16:59 +00:00
Mike McQuaidandGitHub 4492b16dc0 Merge pull request #23245 from aholland/list-bash-warning-sync
list: warn about broken Caskroom symlinks from the Bash fast path
2026-07-21 09:56:34 +00:00
Anthony HollandandClaude Fable 5 8114bb85d3 list: warn about broken Caskroom symlinks from the Bash fast path
94392d0307 added this warning to the Ruby command, but bare listings are
normally served by the Bash fast path, which returns before the Ruby
command loads - so the warning never fired for the plain brew list
--cask invocations it was written for. Emit the same warning from
list.sh, and point the Bash list test's HOMEBREW_LIBRARY at the
production-shaped Library directory so the fast path can source utils.sh
for opoo the way a real brew does.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 21:34:04 +12:00
Mike McQuaidandGitHub 5d9bd4afd7 Merge pull request #23240 from Homebrew/install-step-05-scoped-guard-validation
Validate serialised install steps (6/25)
2026-07-21 08:21:04 +00:00
Mike McQuaid e05c08f986 Validate serialised install steps
The runtime DSL already supports scoped guards, template identifiers and
`move_contents`, but the validator rejects them. This blocks incremental
tap migrations which use those existing APIs.

- validate nested platform and path guard blocks recursively
- allow formula and cask identifiers in serialised step strings
- accept `move_contents` in formula and cask step blocks
- continue rejecting arbitrary Ruby inside nested scopes
2026-07-21 08:32:32 +01:00
Mike McQuaidandGitHub a11234a9e6 Merge pull request #23233 from Homebrew/docs-style-guardrails
docs: enforce sentence-case headings and codify prose conventions
2026-07-21 07:06:42 +00:00
Mike McQuaidandGitHub ab13df7453 Merge pull request #23234 from Homebrew/cask-appimage-stanza-order
Add `appimage` to cask stanza order
2026-07-21 07:05:51 +00:00
Mike McQuaidandGitHub 5d370555d3 Merge pull request #23235 from aholland/cask-uninstall-broken-symlinks
Remove Caskroom symlinks broken by cask uninstall, and warn when they exist
2026-07-21 07:05:38 +00:00
Anthony HollandandClaude Fable 5 94392d0307 list: warn about broken Caskroom symlinks
The bare cask listing is ls(1) of the Caskroom directory, so a broken
symlink there (e.g. a dangling cask rename alias) lists exactly like an
installed cask while loading and uninstalling it fail. brew cleanup has
removed such symlinks since 3ddc196f11, but until it runs the listing
misleads with no hint of the problem, and when broken symlinks are the
only Caskroom entries the listing prints nothing at all while brew
uninstall of the listed name errors. Warn on stderr, naming the broken
symlinks and pointing at brew cleanup, without changing stdout output.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 13:08:19 +12:00
Anthony HollandandClaude Fable 5 3cd4b81833 cask/installer: remove Caskroom symlinks broken by uninstall
Cask renames leave an alias symlink in the Caskroom (today old token ->
new directory; an earlier migration era created the inverse
arrangement). Uninstall removed only broken symlinks named after the
cask's declared old_tokens, so any other arrangement - uninstalling by
the old token, or an alias left by the earlier era - left a dangling
symlink behind: brew list --cask still showed the name while
brew uninstall of it failed with "Cask ... is not installed". Scan the
Caskroom for broken symlinks pointing at the removed directory instead,
whichever of the linked names was uninstalled, and clean up on the
purge_caskroom_path force path too.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 13:08:19 +12:00
Patrick Linnane d4700a3469 Add appimage to cask stanza order
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 14:06:34 -07:00
Patrick Linnane 785e181fc6 docs: enforce sentence-case headings and codify prose conventions
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 13:29:18 -07:00
Mike McQuaidandGitHub fb33e11256 Merge pull request #23232 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2026-07-20 20:02:01 +00:00
Patrick LinnaneandGitHub 5da1ef2f50 Merge pull request #23231 from Homebrew/docs-maintainer-operations
docs: update maintainer operations guides
2026-07-20 20:01:52 +00:00
Patrick Linnane 263f39e8a8 docs/Typechecking: note that some RBI files are handwritten
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 12:40:19 -07:00
BrewTestBot d0474f486c Update manpage and completions.
Autogenerated by the [sponsors-maintainers-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/sponsors-maintainers-man-completions.yml) workflow.
2026-07-20 19:29:19 +00:00
Mike McQuaidandGitHub a1ec99aa9e Merge pull request #23216 from Homebrew/profile-phase-timings
Add phase timings to `brew prof`
2026-07-20 19:04:21 +00:00
Patrick Linnane d81691b615 docs: update maintainer operations guides
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 11:47:25 -07:00
Patrick LinnaneandGitHub bf968eebc6 Merge pull request #23229 from Homebrew/skip-unavailable-xattr-audits
Skip unavailable xattrs in cask audits
2026-07-20 18:41:08 +00:00
Mike McQuaidandGitHub 7a737d26fc Merge pull request #23228 from Homebrew/services-cleanup-systemd-labels
Normalise systemd service labels
2026-07-20 18:33:42 +00:00
Andrew NesbittandGitHub 77835e7501 Merge pull request #23223 from andrew/git-end-of-options
Use --end-of-options for Git arguments
2026-07-20 18:32:49 +00:00
Patrick LinnaneandGitHub d30c9956a9 Merge pull request #23224 from Homebrew/docs-adding-software-router
docs: convert Adding Software to Homebrew into a package-type router
2026-07-20 18:29:18 +00:00
Mike McQuaidandGitHub e608992ad6 Merge pull request #23222 from Homebrew/cask-tap-syntax-job-name
Generate stable cask syntax jobs
2026-07-20 18:22:17 +00:00
Patrick LinnaneandGitHub 840e56a3e9 Merge pull request #23212 from Homebrew/bundle-cleanup-dry-run
Don't print the `--force` hint when `brew bundle cleanup` prompts
2026-07-20 18:21:30 +00:00
Mike McQuaid 7bea28af87 Skip unavailable xattrs in cask audits
- Avoid probing quarantine metadata when support is unavailable.
- Keep quarantine propagation unchanged on supported systems.
- Cover unsupported artifact extraction with a regression test.

Fixes #23226
2026-07-20 19:18:40 +01:00
Andrew Nesbitt c08eda3aff Force brewed Git on Catalina 2026-07-20 19:10:05 +01:00
Mike McQuaid f836845467 Normalise systemd service labels
- Prevent active systemd units from being removed during cleanup.

Fixes #23217
2026-07-20 19:07:19 +01:00
Patrick Linnane 35446c6f48 docs/How-To-Open-a-Homebrew-Pull-Request: avoid core for brew changes
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 11:07:08 -07:00
Patrick LinnaneandGitHub 3a15db395a Merge pull request #23225 from Homebrew/docs-formula-and-toolchain-references
docs: update formula authoring and toolchain references
2026-07-20 18:04:56 +00:00
Patrick Linnane 35e90cd49c Don't print the --force hint when brew bundle cleanup prompts
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 11:03:41 -07:00
Mike McQuaid 07e55593db Generate stable cask syntax jobs
Cask syntax needs the same current and stable Homebrew coverage as core
without duplicating matrix construction in the tap workflow.

- rename generated syntax jobs to `tap_syntax`
- add a stable row using the same selected runner
- retain both rows for `ci-syntax-only` pull requests
- enforce GitHub's job limit on the complete generated matrix
- skip redundant tap audit work in the stable row
2026-07-20 19:01:00 +01:00
Andrew Nesbitt 806fb27fe7 Use --end-of-options for Git arguments 2026-07-20 18:52:35 +01:00
Patrick Linnane 4c3d0982d9 docs/Adding-Software-to-Homebrew: pass the package type to brew style
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 10:01:34 -07:00
Patrick Linnane 431a90a115 docs: convert Adding Software to Homebrew into a package-type router
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 09:51:54 -07:00
Patrick Linnane 3f38736620 docs: update formula authoring and toolchain references
Signed-off-by: Patrick Linnane <patrick@linnane.io>
2026-07-20 09:50:52 -07:00
Mike McQuaidandGitHub b48c7994b5 Merge pull request #23182 from Homebrew/install-step-05-inreplace
Add install step inreplace (5/24)
6.0.12
2026-07-20 14:44:11 +00:00
Mike McQuaid 390c74bd49 Add install step inreplace
Several tap hooks only substitute install-time paths in generated files
and do not need arbitrary Ruby execution.

- expose the familiar `inreplace` name and option defaults
- serialise literal substitutions, regular expressions and their flags
- accept regexp literals in formula and cask step validators
- expand only fixed install-time template tokens
- share validation and execution between formulae and casks
2026-07-20 15:22:20 +01:00
Mike McQuaidandGitHub 63379d98f4 Merge pull request #23219 from Homebrew/exclude-arches-in-fetch
fetch: exclude arches without downloads
2026-07-20 14:15:05 +00:00
Mike McQuaidandGitHub ba3504ac0a Merge pull request #23220 from Homebrew/generate-zap-change
dev-cmd/generate-zap: glob sfl files
2026-07-20 14:07:05 +00:00
8caef6b7fb Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-20 20:14:43 +08:00
Bevan Kay 94a6202ade dev-cmd/generate-zap: glob sfl files 2026-07-20 21:55:23 +10:00
Justin Krehel 5f1ef87396 fetch: exclude arches without downloads
`brew fetch sonarqube-cli --arch=intel` fails with a confusing
`curl: (22) ... 403` because the cask builds its URL from the `arch`
stanza and has a single `sha256` inside `on_macos`, so under an arch
the cask doesn't support both still resolve and it attempts to fetch a
URL that doesn't exist upstream.

This will skip an os/arch combination when the loaded cask's
`depends_on.arch` excludes that architecture, reusing the existing
"not supported" warning:

    $ brew fetch --cask sonarqube-cli --arch=intel
    Warning: Cask sonarqube-cli is not supported on os golden_gate and arch intel

Adds a `depends-on-arch-arm64` test cask replicating the behavior
and a `#cask_downloads` spec covering the skip.
2026-07-20 07:53:46 -04:00
Mike McQuaidandGitHub d4832f0f38 Merge pull request #23208 from Homebrew/docs-language-consolidation
docs: consolidate language documentation
2026-07-20 07:35:32 +00:00
Mike McQuaidandGitHub fbc77d70b1 Merge pull request #23206 from Homebrew/maintainer-contributions-report
Add quarterly maintainer activity reports
2026-07-20 07:34:09 +00:00
Mike McQuaid 1076471c6c Add phase timings to brew prof
- Record install and fetch work as machine-readable phase events.
- Keep instrumentation opt-in and isolated from child `brew` calls.
2026-07-20 08:27:12 +01:00
Mike McQuaidandGitHub bda55f4cbe Merge pull request #23207 from Homebrew/docs-cask-cookbook-accuracy
docs: correct the Cask Cookbook and cask terminology
2026-07-20 07:22:03 +00:00
Mike McQuaidandGitHub d89712d4c8 Merge pull request #23214 from Homebrew/remove-services-triggers-constants
Remove unused services subcommand TRIGGERS constants
2026-07-20 07:21:58 +00:00
Mike McQuaidandGitHub 949e23d189 Merge pull request #23205 from ragtimelab/agent/fix-cask-migration-artifact-order
Allow reordered Cask migration artifacts
2026-07-20 07:20:12 +00:00
Mike McQuaidandGitHub a85567a0aa Merge pull request #23209 from Homebrew/analytics-update-armbian
formula-analytics: compress Armbian versions
2026-07-20 07:18:41 +00:00