What’s New

brew

Developer Tools

brew release notes.

Latest 6.0.13 · by brewWebsiteHomebrew/brew

Changelog

6.0.13

Added
  • Add phase timings to `brew prof`
  • Add `appimage` to cask stanza order
  • Add Linux Landlock sandbox
  • Add stop_timeout to service DSL for graceful stop timeout
Changed
  • Don't print the `--force` hint when `brew bundle cleanup` prompts
  • Use --end-of-options for Git arguments
  • Normalise systemd service labels
  • Count squash-merge commits into the contributions count
  • `brew search --desc`: show casks without descriptions
  • List formulae from untrusted taps
  • Read `remote.origin.url` from `.git/config` without spawning Git
  • Enable PIE for Haskell on Linux
  • Bundle add: accept fully-qualified names from untapped taps
  • Wrap in-place terminal redraws in synchronized updates
Fixed
  • Skip unavailable xattrs in cask audits
  • Remove Caskroom symlinks broken by cask uninstall, and warn when they exist
  • Handle missing bottle mirror metadata
  • Cask migrator: do not copy a cask into itself through a rename alias
  • Handle cask mount failures and interrupts
  • Cask audit: fix nil crash in min_os check
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.12...6.0.13

6.0.12

Added
  • Add JSON output method for doctor
Changed
  • Rename vulns advisory database repo to Homebrew/advisory-database
  • Bump vendored portable-ruby to 4.0.6
  • Map resolves information from API in formulary
  • Skip repeated checksum verification of the same file in downloadable
  • Enable cask FFI helpers for all users
  • Don't show upgrade size with --build-from-source flag
  • Use larger buffer and retain state in readline_nonblock
  • Use same cache on recursive expand for dependencies
  • Keep cask upgrades after approval failure
  • Adjust attestation for breaking GitHub API change
  • Recover legacy Cask metadata
  • Suppress requires_rosetta caveat when Rosetta 2 is already installed
  • Scan installed kegs by default and report untrusted-tap skips in vulns
  • Serialise cask language variations
  • Use tap sources for cask metadata
  • Avoid masking external home symlinks
Fixed
  • Raise ArgumentError when get_make_var variable is missing
  • Stop silently ignoring bottle manifest download failures
  • Don't enable developer mode when copying xattrs in cask quarantine
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.11...6.0.12

6.0.11

Added
  • Add brew vulns command
  • Accept --brewfile as an input source for brew deps command
Changed
  • Enable more cask metadata migration to JSON for all users
  • Skip rewriting Mach-O binaries when delete_rpath changes nothing
  • Use RubyMacho 6.0.0
  • Preserve cask container metadata
  • Show application of file and data patches
  • Start bottle downloads before dependency fetches
  • Prewarm Bootsnap caches after brew update
Fixed
  • Fix brew outdated --greedy crash on installed casks without a URL
  • Keep the current internal package API file on brew cleanup -s
  • Fall back to verbatim head URL for non-forge repos in vulns scanner
  • Merge into existing records instead of overwriting in vulns OSV export
Removed
  • Remove dead API methods and move generated_hash! to tests
What's Changed

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.10...6.0.11

6.0.10

Added
  • Scrub internal package API cache files on `brew cleanup -s`
  • Support GitHub App JWTs in u/g/api.rb
  • Add install step keychain cleanup
  • Add Utils.parallel_map for performance improvements in tap-info and services list
  • Pre-stage cask downloads
  • Allow no-CLT cask installs
Changed
  • Speed up StemParser in version/parser
  • Skip incompatible cask upgrades
  • Make `Homebrew._system` private and move `quiet_system` off `Kernel`
  • Convert quarantine script to use FFI rather than Swift
  • Migrate more cask metadata to JSON for developers
  • Read all settings with one git invocation per repository
Fixed
  • Send bundle check failures to stderr
  • Avoid generated rmdir for shared file lists
  • Fix test setup crash when multiple package APIs are cached
  • Fix spurious test-bot missing `:all` bottle warning
  • Fix misleading HEAD upgrade summary
  • Skip unavailable sandbox sysctls
  • Fix autosquash behavior to default cherry_picked to false
  • Fix bundle/parallel_installer terminal output after interactive installs
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.9...6.0.10

6.0.9

Added
  • Warn when all bottles are lost
  • Write cask receipts on upgrade
  • Add GCC 14 for compiler selection in Dockerfile
Changed
  • Defer reinstall keg backup and silence analytics curl output
  • Gather system configuration concurrently for approximately 31% faster performance
  • Use sudo user's tap trust
  • Avoid attempting same resource update in dev-cmd/bump-formula-pr
Fixed
  • Handle EUID/UID in install_steps like postinstall does
  • Don't lose the original exception when cask upgrade rollback itself fails
  • Don't crash cask upgrade when staged version directory is missing
  • Avoid filesystem checks from Pathname presence tests
  • Make the post-install quarantine release actually run during cask upgrade
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.8...6.0.9

6.0.8

Added
  • Add source option to brew bundle uv tools
  • Add structured link install steps
Changed
  • Store bottle SBOM data in manifests
  • Clarify install output for durations and single deps
Fixed
  • Fix stale cask upgrade metadata
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.7...6.0.8

6.0.7

Added
  • Add install step write cops
Changed
  • Set CC and CXX to unversioned gcc on Linux
  • Require curl dependencies to have a working HTTP mirror in audit
  • Force CMake to find shims before $HOMEBREW_PREFIX/bin
  • Set CC/CXX to real names for llvm_clang
  • Add CCACHE_FOUND=OFF to default CMake flags
  • Isolate the upgrade summary alignment spec from the formula API
  • Cache formula lookups during dependency expansion
  • Allow running bubblewrap in container
  • Propagate OS requirement to dependents in formula_auditor
  • Adjust Subversion checkout operands
  • Prepare cask taps before bundle jobs
  • Restrict livecheck redirects
  • Limit headered curl redirects
  • Uninstall untrusted casks safely
Fixed
  • Fix type error in contributions
  • Fix bump with invalid arch
  • Fix infinite loop in array alphabetisation
  • Fix type error in cask/artifact/pkg
  • Avoid delegate for dylib_id in os/mac/mach
  • Error when bump-cask-pr update fails
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.6...6.0.7

6.0.5

Added
  • Add `formula_opt_include` method to rubocop formula_path_methods
Changed
  • Use Process.spawn in system_command to avoid fork-unsafe exec3 child
  • Add prefix parameter and relative libdir support to formula `std_meson_args`
Fixed
  • Reject patch targets that escape the staged source tree
  • Expand deferred env in curl URLs
What's Changed

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.4...6.0.5

6.0.4

Added
  • Add `bump-compatibility-version` command
  • Add `formula_opt_include` helper to utils/path
  • Add type and resolves DSL for annotating patches
Changed
  • Generate completions with style for default shells and auto corrections
  • Forward the `--quiet` flag to all `brew bundle` subcommands
  • Support path helpers in services
  • Filter info JSON package types
  • Align upgrade summary columns
  • Key Brewfile trust entries by custom tap remotes
Fixed
  • Rescue `MethodDeprecatedError` when attempting to load installed caskfiles
  • Rescue `MethodDeprecatedError` when loading from installed caskfile in installer
  • Fix HOMEBREW_FORBID_PACKAGES_FROM_PATHS bypasses
  • Fix core cask tap redirects
  • Warn about missing libraries in brew info
  • Bump-formula-pr: do not repeat release notes multiple times
  • Redact GitHub token in bump dry-run output
Removed
  • Remove dead Formula methods
Security
  • Disable tap Git credential prompts
  • Reject inline cask definitions passed to the MCP server
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.3...6.0.4

6.0.3

Added
  • Allow tap trust in build sandbox
  • Add livecheck compressed option
  • Add install step config writes
  • Support tap trust in Brewfiles
  • Support splitting cask versions by arch
  • Add list command --no-installed-on-request switch
  • Add patch directory for local patch
Changed
  • Annotate upgradable dependencies in install plans
  • Don't bold upgradable dependencies in install plans
  • Preserve tap remotes in bundle dumps
  • Follow symlinked trust stores
  • Read user Git config for private downloads
  • Respect auto-update cask opt-out
  • Allow sometimes skipping the sandbox inside nested sandboxes
Fixed
  • Services command checks --sudo-service-user exists
  • Formula installer skips conflicts if not linking
  • Formula installer creates opt link even when skip_link
  • Fix brew bundle topological sort crash on missing dependency node
  • Fix caveats replacing order (HOMEBREW_PREFIX) in API formula reconstruction
  • Avoid duplicate upgrade warnings
What's Changed
New Contributors

Full Changelog: https://github.com/Homebrew/brew/compare/6.0.2...6.0.3