Remove leftover code for --no-quarantine - #23363
Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes now-obsolete support code for the former --no-quarantine behavior across Cask download/install/upgrade paths, simplifying APIs and making quarantine handling unconditional where applicable.
Changes:
- Remove
quarantinekeyword parameters and related branching from Cask installer/download/upgrade flows. - Update commands/dev-cmds to stop passing
quarantine:options that are no longer meaningful. - Adjust specs and API helpers to match the simplified interfaces.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Library/Homebrew/test/cask/upgrade_spec.rb | Updates expectations around Cask::Installer.new invocation after removing quarantine options. |
| Library/Homebrew/test/cask/download_spec.rb | Stops passing quarantine: true to Cask::Download in tests. |
| Library/Homebrew/env_config.rb | Removes cask_opts_quarantine? option parsing logic. |
| Library/Homebrew/dev-cmd/unpack.rb | Removes explicit quarantine: true when creating Cask::Download. |
| Library/Homebrew/dev-cmd/bump-cask-pr.rb | Removes explicit quarantine: true when fetching a Cask::Download. |
| Library/Homebrew/dev-cmd/audit.rb | Stops passing quarantine through to cask auditing. |
| Library/Homebrew/cmd/reinstall.rb | Removes quarantine: true from reinstall invocation. |
| Library/Homebrew/cmd/fetch.rb | Removes quarantine: true from cask/API download enqueueing. |
| Library/Homebrew/cask/upgrade.rb | Removes quarantine plumbing from upgrade entrypoints and installer construction. |
| Library/Homebrew/cask/reinstall.rb | Removes quarantine plumbing from cask reinstall flow. |
| Library/Homebrew/cask/installer.rb | Removes quarantine state/warnings and stops forwarding quarantine to downloaders/dependency installers. |
| Library/Homebrew/cask/download.rb | Removes quarantine toggle support; quarantine application is now unconditional (when available). |
| Library/Homebrew/cask/auditor.rb | Removes quarantine plumbing from the auditor API. |
| Library/Homebrew/cask/audit.rb | Removes quarantine option when instantiating downloads for audits. |
| Library/Homebrew/api/cask_download.rb | Removes quarantine parameter from the API download helper and its Cask::Download construction. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
carlocab
left a comment
There was a problem hiding this comment.
This probably needs a deprecation cycle too, since, before this, HOMEBREW_CASK_OPTS=--no-quarantine I think still skipped quarantine (even if we deprecated/disabled brew install --cask --no-quarantine).
MikeMcQuaid
left a comment
There was a problem hiding this comment.
Thanks!
As per @carlocab's comment: I don't think we need another deprecation pass here. We deprecated this in https://brew.sh/2025/11/12/homebrew-5.0.0/ not far off a year ago and this is undocumented behaviour that happens to have kept working here.
p-linnane
left a comment
There was a problem hiding this comment.
I agree that this doesn't need a deprecation cycle.
…eanup `just update` advanced nix-homebrew, bumping its pinned brew 6.0.1 -> 6.0.13. Homebrew 6's `brew bundle` cleanup untaps any tap missing from the Brewfile, and `brew untap` now uninstalls every cask installed from that tap first (behind a one-keystroke y/n prompt). nix-darwin's generated Brewfile declared no taps, so the first `switch` untapped homebrew/cask and wiped all ~20 casks installed from it; only fully-qualified third-party entries survived. - declare every nix-homebrew-managed tap in homebrew.taps so the generated Brewfile protects them from cleanup untap - drop palmier-pro's no_quarantine arg: Homebrew 6 removed --no-quarantine (Homebrew/brew#23363), so bundle installs died with "invalid option" Verified with `just build` + a `brew bundle cleanup --zap` dry run against the newly generated Brewfile: no untap, no cask removals proposed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqzFX3A5Qma7bxrbWJFTp1
Drop code that was used for no longer available
--no-quarantine.brewcommands to reproduce the bug?brew lgtm(style, typechecking and tests) locally?