Commit Graph
100 Commits
Author SHA1 Message Date
Mike McQuaid af3538d54d Add as-console-user command
- Support MDM/Munki/Jamf runs where the parent process is root but
  Homebrew must execute as the logged-in macOS console user.
- Keep the nested operation constrained to `HOMEBREW_BREW_FILE` so this
  helper cannot become a general-purpose root command launcher.
- Share `macos_user.sh` with installer scripts so no-user and package
  plist fallback behaviour cannot drift between install paths.
- Stage `macos_user.sh` for `pkgbuild` because `preinstall` needs the
  resolver before the Homebrew payload has been installed.
2026-05-20 19:35:06 +01:00
Mike McQuaidandGitHub 6c8be83af8 Merge pull request #22355 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2026-05-20 15:42:09 +00:00
Mike McQuaidandGitHub c788485a22 Merge pull request #22353 from Homebrew/ask-dry-run-prompts
Align ask dry-run prompts
2026-05-20 15:08:13 +00:00
Mike McQuaidandGitHub 7cc1b162cd Merge pull request #22352 from Homebrew/omit-alias-completions
Omit aliases from completions
2026-05-20 14:49:29 +00:00
Mike McQuaid 49a29117ed Align ask dry-run prompts
- Use dry-run-style `--ask` plans for install and reinstall commands.
- Make single-package operations proceed without a prompt e.g. if you
  `brew install foo` and there's no dependencies or dependents to install:
  just install without the prompt.
- Keep prompting when dependencies or dependents change the plan.
2026-05-20 15:28:12 +01:00
Mike McQuaidandGitHub 9531a0c591 Merge pull request #22351 from dariaguy/install-renamed-src-realpath
Resolve src through realpath in install_renamed
2026-05-20 14:17:00 +00:00
Mike McQuaidandGitHub 53f3a89525 Merge pull request #22348 from Homebrew/bundle-upgrade-shorthand
Make bundle upgrade an alias
2026-05-20 13:18:51 +00:00
Mike McQuaid 25bfa00af9 Omit aliases from completions
- Avoid suggesting internal aliases because they duplicate canonical commands.
- Keep alias expansion for option completion after users type an alias.
- Regenerate bash, fish, zsh and internal command completion data.
2026-05-20 13:36:58 +01:00
Mike McQuaidandGitHub ad42b17bc3 Merge pull request #22309 from lstn/move_wsl_up
Move the 'wsl?' bool from the OS::Linux module up to the OS module
2026-05-20 07:42:54 +00:00
Mike McQuaid adaee6ee8c Make bundle upgrade an alias
- Treat `brew bundle upgrade` as an `install` alias so install-only
  switches like `--force` remain valid.
- Use `alias_options` to imply `--upgrade` without keeping a separate
  `UpgradeSubcommand` path.
- Regenerate completions and manpages so docs match parser behaviour.
2026-05-20 07:50:37 +01:00
Mike McQuaidandGitHub 637bc60a16 Merge pull request #22347 from Homebrew/sponsors-maintainers-man-completions
Update sponsors.
2026-05-19 13:37:54 +00:00
Mike McQuaidandGitHub 8638b9bbee Merge pull request #22343 from Homebrew/add-gem-license-checks
Check RubyGems licences
2026-05-19 12:38:30 +00:00
Mike McQuaid 59818f180e Check RubyGems licences
- Ensure we do not accidentally include gems with licences we do not
  agree with.
- Run the Homebrew `licensed` formula in the vendor-gems workflow so
  CI fails when a Bundler gem has an unapproved licence or stale cache
  record.
- Keep `licensed` outside `Library/Homebrew/Gemfile` so all-groups
  Bundler installs do not need its native dependencies.
- Use an isolated Homebrew formula cache key and allow cleanup of any
  existing formulae before installing `licensed` for CI.
- Vendor the current `.licenses` cache so future dependency updates
  have an explicit review baseline.
- Mark generated licence, Sorbet RBI and Bundler files as generated.
2026-05-19 11:47:11 +01:00
Mike McQuaidandGitHub e0cac3e152 Merge pull request #22340 from rexmhall09/main
Remove obsolete --skip-update from command-not-found handlers
2026-05-19 08:14:50 +00:00
Mike McQuaidandGitHub 5224c65321 Merge pull request #22342 from HaraldNordgren/tap-info-uninstalled-no-mark
info, tap-info: skip uninstalled marker and bold when not a problem (align with search)
2026-05-19 07:46:41 +00:00
Mike McQuaidandGitHub a7f3847d5f Merge pull request #22334 from HaraldNordgren/info-deprecated-kegs
info: mark deprecated/disabled pkg in install status
2026-05-18 16:03:16 +00:00
Mike McQuaidandGitHub c3542bb62f Merge pull request #22329 from Homebrew/rspec-expect-takes-one-arg-or-a-block
Sorbet now understands RSpec's `expect` block form
2026-05-18 15:16:41 +00:00
Mike McQuaidandGitHub 3d3b57e7db Merge pull request #22335 from Homebrew/fix-pkg-api-cache-installer
Fix package API cache install
2026-05-18 15:14:26 +00:00
Mike McQuaid a8203e9428 Fix package API cache install
- Restore regular API cache files during package builds until
  `internal` API installs are the default.
- Merge packaged API cache contents so existing `api/internal`
  directories do not break package reinstalls.
2026-05-18 15:39:37 +01:00
Mike McQuaidandGitHub 24605f61b5 Merge pull request #22333 from Homebrew/fix-upgrade-ask-noop
Skip empty upgrade ask prompt
2026-05-18 08:07:59 +00:00
Mike McQuaidandGitHub 54ab415d14 Merge pull request #22332 from Homebrew/fix-bundle-npm-node-path
Fix npm bundle dump PATH
2026-05-18 08:07:30 +00:00
Mike McQuaid 29e9681dce Skip empty upgrade ask prompt
- Avoid prompting for `brew upgrade --ask` when the dry-run plan
  has no version changes.
- Keep the ask-flow regression explicit so the prompt still appears
  when there are upgrades.
2026-05-18 08:26:11 +01:00
Mike McQuaid a79272c892 Fix npm bundle dump PATH
- Ensure `npm list` runs with npm's directory on `PATH`.
- This lets `/usr/bin/env node` resolve Homebrew's `node`.
- Add a regression for absolute npm shims.
2026-05-18 08:26:01 +01:00
Mike McQuaidandGitHub 392ac44247 Merge pull request #22326 from Homebrew/fix-subcommand-help-usage-errors
Scope subcommand usage help
2026-05-18 07:04:32 +00:00
Mike McQuaidandGitHub 81ce3a158f Merge pull request #22322 from Homebrew/system-executables-ensure-installed
Share system executable fallback
2026-05-18 07:02:48 +00:00
Mike McQuaidandGitHub 0379f4eb81 Merge pull request #22328 from branchv/krew
bundle/krew: use kubectl-krew directly
2026-05-18 06:49:49 +00:00
Mike McQuaid 7b199a7204 Scope subcommand usage help
- Avoid overwhelming `UsageError` output for commands with subcommands.
- Keep root command help to subcommand summaries and root flags.
- Reuse parser metadata so matched subcommands show valid flags only.
- Group generated manpage options with their matching subcommands.
- Scope generated shell completions to root and subcommand flags.
- Use operation-specific flag text in help, manpages and completions.
2026-05-18 07:43:19 +01:00
Mike McQuaidandGitHub 57a1eff3d7 Merge pull request #22325 from Homebrew/fix-bundle-zap-depends-on
Scope subcommand option constraints
2026-05-17 19:03:08 +00:00
Mike McQuaid 11d9238329 Scope option constraints
- Keep subcommand-specific `depends_on:` rules from affecting sibling
  subcommands.
- Allow `brew bundle cleanup --zap` while requiring `--cleanup` for
  default `brew bundle --zap`.
2026-05-17 19:33:27 +01:00
Mike McQuaidandGitHub 31b599ba8c Merge pull request #22321 from HaraldNordgren/info-installed-kegs-aliases
info: indicate upgrade target for outdated @-versioned formulae
2026-05-17 18:16:18 +00:00
Mike McQuaidandGitHub 1f69ff7930 Merge pull request #22315 from Homebrew/improve-linux-sandbox-checks
Improve Linux sandbox behaviour
2026-05-17 18:14:12 +00:00
Mike McQuaid a0982d23e5 Share system executable fallback
- Let `ensure_installed!` reuse matching system executables for tools.
- Keep `latest: true` as the only path that validates executable versions.
- Avoid installing brewed `git`, `bat` and style tools when PATH is enough.
2026-05-17 18:51:58 +01:00
Mike McQuaid 378658d5f6 Improve Linux sandbox diagnostics
- Mount the host filesystem read-only in the Bubblewrap namespace to match
  macOS sandbox behaviour, so source builds see the same formula, API cache
  and runtime paths as the parent.
- Remove `HOMEBREW_NO_INSTALL_FROM_API` build and test workarounds; those hid
  missing Linux sandbox reads instead of fixing the namespace.
- Memoise `Sandbox.state` so a check runs the Bubblewrap probe once, and clear
  it when sandbox setup changes the host configuration.
- Share Linux sandbox `sysctl` settings as a typed struct between doctor
  diagnostics, GitHub Actions `brew tests` and `brew test-bot` setup.
- Apply `Sandbox.configure!` during `brew tests` and `brew test-bot` on GitHub
  Actions when `$HOMEBREW_SANDBOX_LINUX` is enabled.
- Let `Sandbox.configure!` install the `bubblewrap` formula when no system
  `bwrap` is present, while Docker containers can keep using their package.
- Disable `$HOMEBREW_SANDBOX_LINUX` during GitHub Actions `brew test-bot`
  setup if the host still cannot create a Bubblewrap sandbox.
- Tailor doctor output for missing, setuid and unusable Bubblewrap, leaving
  `$HOMEBREW_NO_SANDBOX_LINUX` as the final workaround.
- Add `$HOMEBREW_NO_SANDBOX_LINUX` as a last-resort opt-out and make it
  override `$HOMEBREW_SANDBOX_LINUX`.
- Use `bzip2 -d` for `.bz2` extraction so fixture installs no longer depend on
  a separate `bunzip2` executable being present.
- Ignore `brew irb` stderr in its coverage integration test, because Linux can
  warn when `irb` reloads the native `io-console` extension.
2026-05-17 18:51:26 +01:00
Mike McQuaidandGitHub d6527df1f4 Merge pull request #22281 from Homebrew/other-subcommands
Convert remaining subcommands
2026-05-17 15:30:33 +00:00
Mike McQuaidandGitHub 1356ef31fa Merge pull request #22280 from Homebrew/bundle-subcommand
Convert bundle subcommands
2026-05-17 15:08:44 +00:00
Mike McQuaidandGitHub 1283630115 Merge pull request #22320 from Homebrew/install_actionlint
workflows/tests: install actionlint.
2026-05-17 15:06:51 +00:00
Mike McQuaid b23d08d1e6 Convert remaining subcommands
- Small state/action commands should use the same parser API.
- Keep the legacy analytics UUID command visible but marked for removal.
- Refresh generated manpages and completions after all conversions.
2026-05-17 15:49:43 +01:00
Mike McQuaid f38cd4b6c8 Convert bundle subcommands
- `brew bundle` needs each action to own its options and usage.
- Keep shared Brewfile, type and install context in one place.
- Move existing behaviour into command-shaped subcommand classes.
2026-05-17 15:49:27 +01:00
Mike McQuaid 3cc0740f22 workflows/tests: install actionlint.
This is otherwise installed by `brew style`.
2026-05-17 15:42:25 +01:00
Mike McQuaidandGitHub c9520f68b0 Merge pull request #22308 from Homebrew/sorbet-files-update
sorbet: Update RBI files.
2026-05-17 14:40:16 +00:00
Mike McQuaidandGitHub 87eb5218db Merge pull request #22304 from HaraldNordgren/taps-more-info
show more tap info for packages
2026-05-17 14:38:23 +00:00
Mike McQuaidandGitHub b49a6580fa Merge pull request #22317 from HaraldNordgren/file-url-basename
parse_basename: fix local test failures
2026-05-17 14:23:03 +00:00
Mike McQuaidandGitHub eb6acfed26 Merge pull request #22279 from Homebrew/services-subcommand
Convert services subcommands
2026-05-17 12:59:19 +00:00
Mike McQuaidandGitHub 1c27b1e2ee Merge pull request #22316 from Homebrew/fix-upgrade-ask-cached-manifests
Avoid cached manifest downloads
2026-05-17 12:59:05 +00:00
Mike McQuaidandHarald Nordgren fe4a33150c help: tweak style. 2026-05-17 14:54:59 +02:00
Mike McQuaidandGitHub a05ff1e407 Merge pull request #22313 from Homebrew/remove-executables-json-fallback
Remove executables fallback
2026-05-17 11:35:28 +00:00
Mike McQuaid f66ddcdc91 Avoid cached manifest downloads
- Prevent `upgrade --ask` from repeating bottle manifest headings
  when the prompt already fetched valid bottle manifests
- Validate cached bottle manifests quietly before skipping queue work
  so corrupt caches are cleared and retried through existing fetch logic
- Add `HOMEBREW_NO_ASK` as a documented no-op placeholder
  until ask mode becomes the default in a later release
- Avoid global path stubs affecting Bundle dump formula setup
- Cover cached manifest handling in `upgrade` and `FormulaInstaller`
2026-05-17 12:18:12 +01:00
Mike McQuaid 8315946088 Remove executables fallback
- Stop downloading `executables.txt` when JSON has no entries.
- Remove stale cached executable data when JSON has no entries.
- Tolerate concurrent executable cache removal during tests.
- Require generated API JSON to carry executable data.
- Keep GitHub Packages as the API generation input only.
2026-05-17 12:11:40 +01:00
Mike McQuaidandGitHub 6028732d85 Merge pull request #22312 from Homebrew/fix/cask/appimage
Add appimagedir to default cask directories
2026-05-17 09:26:17 +00:00
Mike McQuaidandGitHub d3bee9e13f Merge pull request #22301 from Homebrew/embed-executables-api-json
Embed executables in API JSON
2026-05-17 09:19:37 +00:00
Mike McQuaidandGitHub 2d00563910 Merge pull request #22311 from Homebrew/remove-build-no-api-env
More tightly scope build API override
2026-05-17 08:55:42 +00:00
Mike McQuaid 2a13176da7 Embed executables in API JSON
- Avoid fetching `executables.txt` as a separate API artefact.
- Populate generated JSON from GitHub Packages metadata.
- Keep `which-formula` data generated from active formula JSON.
- Fall back to GitHub Packages data during the JSON transition.
- Drop obsolete `--skip-update` command options.
- Keep stale `HOMEBREW_BOOTSNAP_GEM_PATH` from breaking coverage runs.
- Use the correct Linux mtime check for the executables database.
2026-05-17 09:48:17 +01:00
Mike McQuaid 41a4b5b49a More tightly scope build API override
Avoid forcing `HOMEBREW_NO_INSTALL_FROM_API` in `build.rb` so source
builds keep the caller's API mode unless `HOMEBREW_SANDBOX_LINUX` is
set.
2026-05-17 09:31:08 +01:00
Mike McQuaidandGitHub 1ff4756d30 Merge pull request #22300 from Homebrew/which-formula-install-status
Show install status in which-formula
2026-05-17 08:00:10 +00:00
Mike McQuaidandGitHub e8c9c18e62 Merge pull request #22240 from Homebrew/linux-bubblewrap-sandbox
Add Linux Bubblewrap sandbox
2026-05-16 15:48:41 +00:00
Mike McQuaid 936f0b2a02 Add Linux Bubblewrap sandbox
- Use `bwrap` to translate shared sandbox rules into rootless
  namespace execution.
- Gate the backend behind `HOMEBREW_SANDBOX_LINUX` while the Linux
  policy is still experimental.
- Keep macOS on its existing `sandbox-exec` path while Linux uses shared
  executable lookup for `bwrap`.
- Auto-install `bubblewrap` from `homebrew/core` when the sandbox is
  enabled and no system or usable brewed binary is found.
- Prefer a usable system `bwrap` from `ORIGINAL_PATHS` over a brewed
  one so distribution-provided binaries are used when available.
- Find brewed `bwrap` from `HOMEBREW_ORIGINAL_BREW_FILE` so integration
  subprocesses still use the Linux sandbox.
- Preserve `Sandbox#run`'s tmpdir cwd inside the `bwrap` namespace and
  suppress Linux PTY thread warnings after sandboxed children exit.
- Expose formula, Homebrew library and Linux runtime paths as read-only
  binds so sandboxed source builds can run with vendored Ruby.
- Keep synthetic test formula installs off the API so sandbox CI does
  not require network during local formula setup.
- Avoid creating optional prefix `var` directories just to configure a
  test sandbox and remove empty Linux bind placeholders after runs.
- Require a working rootless `bwrap` on GitHub Actions and install the
  system `bubblewrap` package before Linux tests run.
2026-05-16 16:27:04 +01:00
Mike McQuaidandGitHub 174e0d81af Merge pull request #22241 from HaraldNordgren/info-link-state-and-versioned-siblings
info: show other installed versions
2026-05-16 13:38:33 +00:00
Mike McQuaid 28c3a66d7b Show install status in which-formula
- Help users identify already-installed providers in command searches
- Preserve plain formula output for non-TTY consumers
- Share `executables.txt` fetching and parsing across Bash commands
- Keep Bash formatting helpers aligned with their Ruby counterparts
- Limit added integration coverage to core command behaviour
- Avoid creating repo-root `Cellar` in command specs
2026-05-16 12:19:56 +01:00
Mike McQuaidandGitHub b5fdb50483 Merge pull request #22299 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2026-05-16 10:48:17 +00:00
Mike McQuaid ad06544dde Convert services subcommands
- `brew services` needs per-action options for useful completions.
- Move each service action beside its parser declaration.
- Keep shared daemon, sudo and target setup in the dispatcher.
2026-05-16 11:39:40 +01:00
Mike McQuaidandGitHub 2b5fbdcffa Merge pull request #20334 from Homebrew/feat/cask/appimage
Add appimage support for linux
2026-05-16 10:08:43 +00:00
Mike McQuaidandGitHub 740e20f6ff Merge pull request #22297 from Homebrew/lead-error
Serialise bundle formula locks
2026-05-16 10:04:19 +00:00
Mike McQuaidandGitHub 54964cfd49 Merge pull request #22298 from Homebrew/docs_ignore_itunes
docs/Rakefile: ignore iTunes Xcode page.
2026-05-16 10:02:53 +00:00
Mike McQuaidandGitHub 716e78565e Merge pull request #22275 from Homebrew/ask-cask-dependency-plans
Add ask dependency plans and cask support
2026-05-16 10:01:12 +00:00
Mike McQuaidandGitHub 33e5cc9e68 Merge pull request #22274 from Homebrew/expat-bump
expat: bump to 2.7.4 on macOS 26
2026-05-16 09:53:50 +00:00
Mike McQuaid 4621504438 Add ask dependency plans and cask support
- Reuse dry-run upgrade planning for `--ask` so users see
  the same package list before choosing whether to continue.
- Suppress dependency and dependent dry-run sections when they
  duplicate the final `outdated packages` summary.
- Include available formula bottle download sizes inline in the
  dry-run package list.
- Keep `--ask` prompts default-no and ahead of downloads.
2026-05-16 10:39:34 +01:00
Mike McQuaid 495736ca75 docs/Rakefile: ignore iTunes Xcode page.
This link is too flaky.
2026-05-16 10:38:14 +01:00
Mike McQuaid bc78a5c4d4 os/mac/pkgconfig_spec: temporarily comment out expat test. 2026-05-16 10:35:23 +01:00
Mike McQuaid 0962805ec1 Serialise bundle formula locks
- Avoid parallel `brew bundle` installs racing over recursive formula locks.
- Match `FormulaInstaller#lock` so bottle pours wait on shared build deps.
- Cover shared build-only deps in `installer_spec.rb`.
2026-05-16 10:26:41 +01:00
Mike McQuaidandGitHub ed1effabb6 Merge pull request #22278 from Homebrew/subcommand-parser-support
Add parser subcommand scaffolding
2026-05-15 20:51:05 +00:00
Mike McQuaidandGitHub 777b5cab4d Merge pull request #22276 from Homebrew/cask-pin-support
Support pinning casks
2026-05-15 20:47:33 +00:00
Mike McQuaidandGitHub 83c537ba8b Merge pull request #22292 from Homebrew/fix-resource-update-regressions
Preserve manual resource stanzas
2026-05-15 20:43:57 +00:00
Mike McQuaidandGitHub 31ffc75742 Merge pull request #22269 from Homebrew/brew-exec-formulae
Add brew exec formulae environments
2026-05-15 20:42:53 +00:00
Mike McQuaid 4c22ef0be1 Add parser subcommand scaffolding
- Homebrew commands need parser-owned nested actions for help and
  completions.
- Keep this first step behaviour-neutral for existing commands.
- Add focused tests for subcommand args, option scoping and metadata.
2026-05-15 16:33:51 +01:00
Mike McQuaid 7a07806658 Support pinning casks
- `brew pin` should cover casks now that upgrades skip both package types.
- Cask pin records keep list, info and upgrade output consistent.
- `auto_updates true` casks need a warning because app updaters bypass Homebrew.
2026-05-15 16:33:37 +01:00
Mike McQuaid c25874fdf0 Preserve manual resource stanzas
- Keep `livecheck` resources out of PyPI resource rewrites so
  manually managed downloads are not removed.
- Add generated `mirror` stanzas as Ruby source so raw URLs do not
  trip AST parsing when opening bump PRs.
- Cover the regressions without adding new integration specs.
2026-05-15 15:52:52 +01:00
Mike McQuaidandGitHub a4b47a71ef Merge pull request #22288 from Homebrew/dependabot/github_actions/github-actions-8abaa2cbc6
build(deps): bump github/codeql-action from 4.35.3 to 4.35.4 in the github-actions group across 1 directory
2026-05-15 14:28:16 +00:00
Mike McQuaidandGitHub 377eef6431 Merge pull request #22283 from Homebrew/rubocop-public-api-checks
Move API checks into RuboCop
2026-05-14 22:53:36 +00:00
Mike McQuaid 7d485a43e7 Move API checks into RuboCop
- Keep public API validation in the same `brew style` path that
  contributors already run locally.
- Remove the CI-only script so list drift fails before a workflow-only
  syntax job.
- Tie cookbook and documentation checks to the cops that own their rules.
2026-05-14 17:47:18 +01:00
Mike McQuaid fff0bf16b4 Add brew exec formulae environments
- Let scripts and CI snippets declare temporary formula tools with `--formulae`
- Keep provider lookup available when `--formulae` is omitted
- Preserve `--skip-update` for cached executable database use
- Normalise comma-separated `--formulae` entries before installing
- Avoid Homebrew command completions for arbitrary executable names
2026-05-14 08:49:50 +01:00
Mike McQuaidandGitHub c88c223834 Merge pull request #22272 from Homebrew/fix-auto-updates-outdated
cmd/outdated: fix handling of auto_updates
2026-05-14 07:48:24 +00:00
Mike McQuaidandGitHub b44e0e7f44 Merge pull request #22268 from Homebrew/sponsors-maintainers-man-completions
Update manpage and completions.
2026-05-14 07:35:23 +00:00
Mike McQuaidandGitHub a93d3b24e5 Merge pull request #22266 from Homebrew/link-shared-security-policy
Link shared security policy
2026-05-13 18:49:53 +00:00
Mike McQuaidandGitHub f3531c40ea Merge pull request #22265 from Homebrew/brew-bundle-check-verbose
Improve bundle check guidance
2026-05-13 18:48:39 +00:00
Mike McQuaidandGitHub 1bc360d20e Merge pull request #22267 from Homebrew/cps-metadata-directories
Support CPS metadata dirs
2026-05-13 18:48:34 +00:00
Mike McQuaidandGitHub 8b05003a4d Merge pull request #22264 from Homebrew/internal-api-metadata
Add internal API metadata
2026-05-13 16:33:14 +00:00
Mike McQuaid 3dc59aab6c Improve bundle check guidance
- Explain why `brew bundle check --verbose` is useful when the fast
  check fails and describe the output as unmet dependencies.
- Pass `--check` through to `brew bundle exec`, `sh` and `env` so
  the documented option is honoured.
- Cover `--check` and `HOMEBREW_BUNDLE_CHECK` dispatch in
  `cmd/bundle` tests.
- Document `version_file:` because projects use it to sync runtime
  version files.
2026-05-13 16:58:55 +01:00
Mike McQuaid 5ecd3cf6aa Link shared security policy
- Directs readers to the shared `Homebrew/.github` policy so scope
  changes live in one place.
- Uses the default-branch `HEAD` link to avoid pinning the branch name.
2026-05-13 16:47:47 +01:00
Mike McQuaid 97edd1be21 Support CPS metadata dirs
- Keep `lib/cps` and `share/cps` as merged prefix dirs so
  multiple formulae can ship `.cps` metadata without conflicts.
- Include `.cps` in pretty library listings.
- Document CMake discovery for keg-only dependencies.
2026-05-13 16:31:32 +01:00
Mike McQuaidandGitHub 82bac9a5e7 Merge pull request #22263 from Homebrew/brew-bundle-snapshot-docs
Clarify Brewfile snapshots documentation
2026-05-13 15:24:51 +00:00
Mike McQuaid b16e3a6e73 Add internal API metadata
- Record `HOMEBREW_VERSION`, bottle tag and generation time in
  internal package payloads so consumers can identify the file loaded.
- Cover the generated `metadata` payload for a representative tag.
- Isolate the spec from API-generation globals so randomised suites keep
  normal path placeholders.
2026-05-13 16:23:30 +01:00
Mike McQuaidandGitHub d430e68bf7 Merge pull request #22262 from RajvardhanPatil07/fix-mcp-argv-escaping
mcp: preserve tool arguments as argv
2026-05-13 14:27:49 +00:00
Mike McQuaidandGitHub cd6613e5a9 Merge pull request #22261 from Homebrew/fix-cask-os-dependency-regressions
Fix cask OS dependency regressions
2026-05-13 11:59:51 +00:00
Mike McQuaid a86a2fade3 Clarify Brewfile snapshots
- Explain `brew bundle dump` as the existing installed-state snapshot
  workflow so users do not look for a separate command.
- Document restoring from a `Brewfile` in command help and generated
  manpages.
2026-05-13 10:31:22 +01:00
Mike McQuaidandGitHub a36dc629ab Merge pull request #22259 from Homebrew/cask-forbidden-fail-fast
cask, formula: run forbidden checks before download
2026-05-13 08:34:43 +00:00
Mike McQuaid 63dc2049df Fix cask OS dependency regressions
- avoid forcing casks with arch-specific macOS requirements into a
  bare top-level marker that cannot express their real minimum OS
- preserve per-arch minimum OS data so audit does not report a false
  missing minimum after style autocorrection
- keep mixed macOS/Linux casks from losing macOS CI coverage when
  runner selection samples Linux runners for the same architecture
2026-05-13 09:29:42 +01:00
Mike McQuaid abfc2ee669 formula: run forbidden checks before download
- Formula installs should reject forbidden formulae and taps before
  Source API or bottle fetches can be queued.
- This mirrors the cask fail-fast path and avoids network work when
  policy already prevents installation.
2026-05-13 09:17:05 +01:00
Mike McQuaidandGitHub 2d3ea0c3c2 Merge pull request #22260 from Homebrew/aliases-lazy-reserved
aliases: break load-time cycle with cmd/alias
2026-05-13 07:44:08 +00:00
Mike McQuaidandGitHub a1497e32b1 Merge pull request #22253 from Homebrew/rubygems-cooldown
Add `RubyGems` livecheck cooldown
2026-05-12 17:00:52 +00:00
Mike McQuaidandGitHub 7fe57c51e9 Merge pull request #22252 from Homebrew/bump-cask-pr-idempotent-stanza
bump-cask-pr: tolerate idempotent stanza replace
2026-05-12 16:42:02 +00:00