What's new in this version: Homebrew 4.1.13 - cmd/readall: clean up todos - utils/backtrace: scrub sorbet-runtime from backtrace - Make Sonoma supported
Homebrew 4.1.12 - os/mac/pkgconfig: update for macOS 14 RC SDK - docs/Rakefile: fix broken link - Add an audit for mismatched Python resource and PyPi package names - utils/shared_audits: handle 404 metadata errors from GitLab API - Move gem group setting to separate, cacheable file - Formula, BuildError: Update type signatures - superenv: help gettext-based configure scripts - utils/gems: don't allow Sorbet to install on Sonoma's system Ruby - dev-cmd/bump: reduce unnecessary output - formula: add global caching for declared_runtime_dependencies - cmd/audit: improve performance of versioned formula names
Homebrew 4.1.11 - Improve cask audit - missing_formula: remove sshpass from denylist - Reset requirement cache (again) after recursive_dependencies.map(&:to_formula) invalidates singleton cache - remove useless require from Formula - formula_auditor: audit all relicensed HashiCorp formulae - Speed up keg installation with fewer code-signing calls - cmd/audit: only flush formulary cache when needed - chore: update safari UA to the latest - Docs: assorted refinements for output - bump-cask-pr: deprecate online flag - os/mac/keg: fix change_rpath type signature
Homebrew 4.1.10 - formula_installer: handle another exception in fetch_bottle_tab - vendor/gems: remove bad symlink - audit_file: check formula path - Livecheck#preprocess_url: compare with URI host - upgrade: more liberal formula upgrade changes - utils/curl: include or use explicitly - utils/github/artifacts: fix missing Utils::Curl reference - Fix more missing Utils::Curl references - formula_installer: don't ignore deps when fetching and pouring bottles - Fix more Utils::Curl usage - cmd/fetch & cmd/audit: handle unsupported cask os/arch combos - Docs: more additions and improvements - Audit invalid versions - utils/github: fully scope curl usage - Fix python: detected_python_shebang python pattern - resource_auditor: relax version audit in taps - cask/quarantine: sudo correctly during tests - terraform: add audit for relicensing
Homebrew 4.1.9 - formula_installer: don't ignore deps when fetching and pouring bottles
Homebrew 4.1.8 - dependency_collector: distinguish macOS deps by OS - dependency: consider bounds when comparing macOS deps - dependency_helpers: rework recursive dependency resolution - cask/audit: format-check block URLs only if online - cmd/deps: fix documentation and handling of formula_options - dev-cmd/contributions: usability/performance improvements - workflows/docs: Check for broken links using the existing rake test task - Docs: localize FAQ images - Docs: update test-bot images and description - docs: Use Markdown automatic numbering in staging branch instructions - remove ARGV from Formula#all - docs: rework Cask-Cookbook to match current practice - Enable Sorbet after running a developer command - os/mac/hardware: remove TODO - formula_auditor: make Linux-only GCC dep audit non-strict - Handle nil cask urls caused by unsupported macOS version - Cleanup various TODOs - api: use Utils::Curl.curl_args - Make formula upgrades more liberal based on bottle - cask/url: accept Class for using in Cask::URL#initialize
Homebrew 4.1.7 - dev-cmd/prof: bleed less of the environment from gem installs - utils/pypi: exclude deps of excluded packages - api: ignore HTTPS errors if required certs aren't installed - Use HOMEBREW_CURLRC in vendor-install - workflows/tests: workaround GitHub Actions python issues. - brew.sh: disable shellcheck warning - formula: drop old pip feature flag - shared_audits: allow GitHub's IP not permitted error - docs: update formula and cask URLs to new sharded format - get_repo_license: allow GitHub's IP not permitted error - extend/os/mac/keg: codesign on Intel if invalid signature - docs: use relative path for custom header images - extend/os/linux/system_config: show glibc/gcc version for API users
Homebrew 4.1.6 - Turn up the types - cmd/update-report: correctly handle added/deleted formulae/casks - formula_{auditor,versions}: handle sharding - formula_installer: use cached fetched formula instance when available - node: add shebang rewriting - Allow HOMEBREW_CURLRC to specify a path for curl --config - brew.sh: don't set HOMEBREW_NO_INSTALL_FROM_API automatically - formula_installer: improve a comment - Document the policy on static libraries - utils/gems: update to Bundler 2.4 - Livecheck: allow quiet output with --newer-only - brew.sh: fix shellcheck warning - service: correctly quote arguments - cmd/update-report: improve tap/untap behaviour - service: handle quoting in service file, too - dev-cmd/livecheck: avoid watchlist in test - Fix cask dependency discovery - audit: check for cargo build only in install method - dev-cmd/bottle: install gnu-tar before keg lock
Homebrew 4.1.5 - pypi: support updating resources for git clones - formula: use pip's --no-compile - keg_relocate: retain framework info in relocatable install names - Allow hiding new/deleted formula/cask sections on update - Formula Cookbook: revise download strategy docs - Make inreplace a purely static method v2 - Formula Cookbook: expand environment variable section - update_report: show "Delete and Installed" header - tap: always create new casks in subdirectory - formula_cop: fix style_exceptions_dir handling - cask/audit: audit for appropriate sharding directory - Fix cask sharding issues - tests: install Subversion for macOS - dev-cmd/tests: add --fail-fast - Formula-Cookbook: expand terminology table - os/mac/mach: fix rpath deletion of fat machos
Homebrew 4.1.4 - formula: suppress std args for cabal, meson, pip - python: create venv's --without-pip - workflows/build-pkg: install gh. - Widen paths type in Formula#inreplace - Allow configuring Homebrew with .env files - Deprecate postgresql-upgrade-database - Narrow member type of inreplace paths enumerable - dev-cmd/edit: suggest tapping core repositories if untapped - utils/repology: update API URL - Make inreplace a purely static method - package/Distribution: always require CLT - Revert "Make inreplace a purely static method" - development_tools: allow Symbols to be located - bump: add arch-specific support - formulary: fix type of alias_path - bin/brew: handle missing $HOME - Make more warnings quiet with environment hints disabled - bottle: reproducibility fixes - bin/brew: avoid eval and grep - Various sharding fixes - dev-cmd/bump : stop using API to load formulae/casks - bin/brew: require HOME to be set - os/mac/mach: avoid recursively resolving rpaths - unversioned_cask_checker.rb - fix signature of KeyboardLayout - cmd/bump: add --installed flag
Homebrew 4.1.3 - docs: add documentation for staging branches - docs/Installation: document macOS .pkg installer - extend/ENV/super: add ENV.O3 - Add/use HOMEBREW_INSTALL_FROM_API_UNSUPPORTED - os/mac/mach: resolve rpaths too - cmd/update: output more API information with --verbose - workflows/build-pkg: actually try to install package - keg_relocate: fix all text files being marked as changed - brew update core/homebrew-cask taps properly - post_install: improvements and fixes - Improve VSCode extensions/settings - docs: Fix GithubReleases strategy block example - config: fallback to ::OS_VERSION - package/resources: improve text output
Homebrew 4.1.2 - extend/os/mac/keg_relocate: improve rpath handling - Fix type error when running 'brew doctor' - docs: assume core repositories are untapped - Add package signing configuration for GitHub Actions - Add types to Formula attrs - cmd/install: upgrade already installed casks - cmd/install: add missing require. - docs/vale-styles: fix configuration. - bump-cask-pr: add arch-specific version support - utils/pypi: fix an incorrect return type - macOS .pkg improvements - cask/url: accept Class for using. - formula: fix std_cargo_args type error - Implement ruby-macho TODOs - [ImgBot] Optimize images - pkg installer: install cached API data. - brew.sh: don't set HOMEBREW_NO_INSTALL_FROM_API automatically. - analytics: fix @ in formulae names with --github-packages-downloads#15766 - Revert "brew.sh: don't set HOMEBREW_NO_INSTALL_FROM_API automatically
Homebrew 4.1.1 - formula: add std_pip_args - os/mac/keg_relocate: avoid rpath re-ordering - Cask support multiple headers - Enable HOMEBREW_SORBET_RUNTIME (sometimes) - dev-cmd/pr-upload: fix typechecking error - extend/ENV/super: correct deparallelize signature - Fix inreplace sig - Allow implicit String Pathname in gsub - formula: fix typechecking error in std_cmake_args - github_packages: ensure only OCI format is uploaded - formula_creator: require version before creating - formula: fix inreplace typechecking error - utils/inreplace: fix typechecking error - cmd/tap: ensure remote exists before repairing - formula: fix std_pip_args with empty prefix - dev-cmd/pr-pull: fix branch warning conditions - Strict type string_inreplace_extension
Homebrew 4.1.0 - App Management message reflects new System Settings labels - workflows: improve setup-homebrew and API usage - Deprecate/disable/delete code - cmd/update: adjustments for setup-homebrew in brew CI - tap: fix handling of taps without formulae - cmd/update-report: tweak messages for CI - Enable GitHub.issues_for_formula to show only issues, only PRs, or both - formula_auditor: fix macOS system dependency false positive - livecheck: fix implicit no-api handling - cmd/--cache: undeprecate --bottle-tag - docs: Add info about tap creation - mac/keg_relocate: use relative install names - formula_auditor: check disabled formulae have disabled dependents - shims/mac: handle usage of Homebrew make - docs/Installation: fix Apple Developer account link - shims/mac/super/make: use standard exec routines - formula_auditor: disallow non-test rustup-init dependencies - Support brew cleanup --quiet - generate-*-api: fix on-disk tap migrations not being used - Feature: support symlinked /home - os/mac/mach: report duplicate rpaths - docs/cask: replace single-quoted with double-quoted - Corrects an uncaught spelling error - os/mac/keg_relocate: replace Cellar references in rpaths - rubocops/lines: simplify PyoxidizerCheck - Introduce CoreCaskTap class and fix cases of core taps were being unnecessarily installed - utils/analytics: hide InfluxDB message correctly - docs: Requirements: add Arch Linux - Do not insist on using macOS texinfo - Fix (again) InfluxDB analytics messaging - cmd/tap: remove --list-pinned option - rubocops/lines: disallow quictls dependencies in homebrew/core - diagnostic: don't complain about missing homebrew/cask - docs/Installation: fix Mac OS X reference - dev-cmd/bump-*-pr: avoid installing gems when unneeded - Use HOMEBREW_CELLAR_PLACEHOLDER - api_hashable: remove HOMEBREW_CELLAR - dev-cmd/bump-cask-pr: fix install_bundler_gems! logic - dev-cmd/generate-*-api: be a bit safer - cmd/{casks,formulae}: handle sharding - os/mac/keg_relocate: avoid changing to an already existing rpath - docs/FAQ: tap homebrew/core before editing formula - utils/analytics: new InfluxDB token - utils/pypi: don't overwrite name/extras/version from basic_metadata if already set - various: fix miscellaneous typos - README.md: Normalise BuildPulse icon size - README.md: Normalise 1Password icon size - Fix type errors when HOMEBREW_SORBET_RUNTIME=1 - docs: add documentation about reproducible builds - utils/github/api: fix credentials_type
Homebrew 4.0.29 - analytics: use new AWS based influxdb - brew.sh: record OS version for non-debian linux
Homebrew 4.0.28 - dev-cmd/generate-*-api: generate tap migrations JSON - Remove Tap#versioned_formula_files - Download tap_migrations.json files from the API - cmd/update-report: nudge people to tweak settings - tap: warn if tapping core taps under API mode - cmd/update-report: use api_auto_update_secs default
Homebrew 4.0.27 - cmd/update.sh: always move names*.txt files - Include core formulae from API in Formula.all - dependency: use formula name - cmd/pyenv-sync: add new command - test/utils/github_spec: fix artifact URL test - cmd/postgresql-upgrade-database: fix brew not being found - extend/ENV/super: set OPENSSL_NO_VENDOR - PyPI: Handle non-pythonhosted formula URLs - extend/ENV/super: add comment for OPENSSL_NO_VENDOR - tap: disable fsmonitor for third-party taps - Apply cpu-optimisation to Rust projects - cmd/update: don't fetch core taps on manual brew update - Refactor some dependency handling to fix various API dependency issues - cmd/update: update homebrew/core and homebrew/cask with devcmdrun - tap_auditor: fix API data getting mixed in - dev-cmd/audit: don't audit every tap when given named packages
Homebrew 4.0.26 - formula_auditor: make OpenSSL audit exception generic - Explain how to undo brew edit - pr-publish: request a large runner for appropriately labelled PRs - download_strategy: move HOMEBREW_ARTIFACT_DOMAIN
Homebrew 4.0.25 - rename Cask::outdated_versions - github_packages: call ln with force - formula_auditor: adjust deps audit for a staging branch - remove cask's depencies from brew/leaves - cmd/leaves: add missing cask dependency - rubocops: add emoji audit - Allow bump commands to auto-update core tap clones - Significantly improve install speeds with smarter postinstall detection - Better scoping for no-api commands - Significantly improve fetch speed of bottles - cmd/update.sh: fix some flags throwing errors on update report - brew.sh: fix auto-update interval for dev-cmd users - Migrate remaining no-api commands to new scoped system - Fix error messages for brew edit and brew create - Simplify CloudFlare header check. - extend/pathname: fix text_executable? regex - man: fix a literal newline - bin/brew: remove HOMEBREW_NO_ENV_FILTERING
Homebrew 4.0.24 - cmd/info: add (undocumented) --github-packages-downloads option - github_packages: create hard link instead of copying - formula_installer: fix postinstall using incorrect formula file - formula: fix variations not being generated for instance on_os usage - diagnostic: ignore core tap install status unless no-api is enabled
Homebrew 4.0.23 - Remove Google Analytics
Homebrew 4.0.22 - dependencies_helpers: fix pruning of build/test deps - shims/linux: add gnumake and gmake symlinks - utils/gems: fix bundler sometimes unnecessarily reinstalling - docs/config: remove jekyll-feed - homebrew-cask-drivers: deprecate official tap - formula_auditor: skip dependency conflict audit for OpenSSL migration - formula_auditor: handle head_info being nil - Use "cone" mode for sparse checkouts - tap_auditor: fix alias handling with non-core taps
Homebrew 4.0.21 - unpack_strategy/zip: avoid loading formulae unnecessarily - utils/github/api: avoid loading gh - Dockerfile: set default umask - utils/github: use Pulls API to check open pull requests on CI - actionlint.yaml: remove workaround for macos-13 - Dockerfile: set umask in common-session-noninteractive too - rubocop: Revert PR 15312, unset EnabledByDefault - cask/quarantine: fix exception not being caught - workflows/tests: update homebrew-cask - Preliminary macOS 14 (Sonoma) support
Homebrew 4.0.20 - Add cask URL location to audit problems - Guard GITHUB_* variables by GITHUB_ACTIONS - keg_relocate: fix check for paths rooted in build directory - Fix wrong method in --cache and fetch - Fix MacOSVersionError deprecation - Revert "Guard GITHUB_* variables by GITHUB_ACTIONS." - Add --os and --arch flags to readall - Fix brew formulae and brew casks when the API is used - Use sudo for copying xattrs when necessary - Discover GitHub tokens stored by the GitHub CLI - Check for App Management permissions before updating apps - dev-cmd/update-maintainers: write JSON of maintainers - github_runner_matrix: remove GITHUB_RUN_ATTEMPT - github_packages: adjust upload retries - utils/github/api: fix nil implicit conversion error
Homebrew 4.0.19 - Implement cask renames - workflows/tests: test API generation - Fix missing require in update-report.rb - Add SimulateSystem::with - Simplify hash merge - Use sudo for rmdir if necessary - Compare Tag using standardized_arch - simulate_system: fix tap_syntax job errors - Don't special-case message for outdated casks that aren't installed - Add Formula#loaded_from_api? - Simplify Cask#inspect - Fix 1password logo in README.md - Fix BundleVersion comparison - formula-cookbook: update service docs - Strategy: Pass --max-redirs to #curl_headers - dev-cmd/generate-*-api: add dry run option - brew/brew: add GITHUB_EVENT_PATH to env allowlist - feat: add github_release strategy - bin/brew: add all GITHUB_* vars to env allowlist - Custom service name - Download Strategy Dependency Missing Case - formulary: use a lot more .presence - Refactor GitHub artifact downloads out of dev-cmd/pr-pull - Add brew deps --missing arg - service: fix API compatibility break - Fix failing test - Fix wrong token in Cask::Migrator - Simplify curl_download - Add --os=all and --arch=all options for brew audit - Expand service paths - Clean up brew audit output - remove mechanize-2.9.1 symlink to itself - Bitbucket: Fix tag match
Homebrew 4.0.18 - Revert "Revert "Merge pull request #15369 from carlocab/sorbet-runtime"" - Allow brew shellenv to accept a shell name param - Make manual installers easier to open - Always remove build from short_version - utils/bottles: fix typechecking error - fetch: better typechecking fix - Fix small errors in brew shellenv - feat: use API for GitHub latest release strategy - Revert "Merge pull request #15377 from carlocab/sorbet-runtime-take2" - Use curl_headers and curl_output for Livecheck strategies - Strategy#page_headers: Update for #curl_headers - Refactor RuboCop tests - cmd/update-report: don't invoke external diff tools - Merge HeadVersion and NullVersion into Version - fetch: remove use of args from CLI parser - workflows/build-pkg: only run on Homebrew-owned repos - Adds a TOC to the maintainer checklist - Remove NoDslVersion cop - cask/upgrade: improve error backtraces - tab: fix typing of versions - cleanup: fix version error for cache items without a version - Improve #to_str and #to_json for Version::NULL - Don't fail auditing empty tap - Fix wildcard copy in cask updates - Fix typing on revert_upgrade() - Use sudo for symlinks if necessary
Homebrew 4.0.17 - BazaarDownloadStrategy: Replace in-place sub - Fix DownloadError erroring itself - cmd/update-report: do not fail when tap has no origin - github_packages: improve upload error handling - brew: add GITHUB_STEP_SUMMARY to allowlist - Don't remove cask directories when upgrading. - bottle: some tar flags are not supported on Mojave - github_runner_matrix: improve macOS timeout handling - bump-formula-pr: fix method argument type - Type livecheck.rb. - github_runner_matrix: align Intel and ARM timeouts - remove auth header on cask url redirection on CurlDownloadStrategy - rubocops/cask: Check for correct stanza order within on_* blocks
Homebrew 4.0.16 - Remove Nokogiri to resolve dependabot alerts - git_repository: implement #to_s - completions/fish: fix cask references for Linux - utils/gems: run bundle clean when install not required - Include T::Sig in Module - utils/pypi: replace pipgrip with pip's built in dependency resolution - github_runner_matrix: set timeout on macOS - workflows: run on macos-13 - Install cached bottles if curl --head fails - Enable Style/InvertibleUnlessCondition cop - bump-cask-pr: convert URL back to string - Remove unused parts of activesupport - Remove kernel/reporting activesupport extension - github_runner_matrix: test dependents on GitHub runners - github_runner_matrix: cleanup GitHub macOS runner - rubocop: Set EnabledByDefault: true, disabling cops with offenses - brew bump: modify versioning logic - Support multiple oldnames for formulae & support formula renames in API - github_runner_matrix: remove HOMEBREW_LINUX_CLEANUP - workflows/tests: fix Codecov root dir - pypi: normalize name in pypi_info - Refactor formula, cask and Ruby source downloads to use shared code - determine-test-runners: add debug output - download_strategy: Fix the timeout value - Fix type for nested url blocks - sudo: explicitly specify the root user where necessary - Livecheck: Fixes for Sorbet runtime - rubocops/service: check for more cellar paths - diagnostic: Check for unnecessary Core and Cask taps
Homebrew 4.0.15 - cask: remove os_versions - Add bottle file size to GHP manifest annotations - Refactor GitRepositoryExtension to avoid monkey-patching - Fix 'undefined method git_default_origin_branch?' - fix: fix undefined 'git_origin_branch' methods - github_packages: fix bottle manifest schema violation - Refactor module_function to reduce rbi need - Pass TTY width to Open3. - Remove yaml require for 5% init speedup - Revert language mixins back to module_function - download_strategy: fix bad unescaping in basename parsing - remove cask/cmd/audit - actions/cache@v3 for GitHub Actions - compilers: add gcc-13 - Fix bump-cask-pr handling of sha256 :no_check - remove cask/cmd/install - dev-cmd/audit: remove unused warnings key. - Enable Sorbet/TrueSigil cop - Cask audit: check binary signature and notarisation - dev-cmd/pr-automerge: skip PRs with pre-release label - Dockerfile: install newer gh - formula_auditor: remove issue comment audit - Remove # typed: false sigil in tests - dev-cmd/audit: fix audit annotations - formula: consider arbitrary formula source paths - cmd/install: warn on cask install when already installed - download_strategy: disable Git fsmonitor - formulary: sub home placeholder in caveats
Homebrew 4.0.14 - test/cask/dsl_spec: fix test for certain locale settings - Allow running audit for different architecture. - brew: don't filter GITHUB_EVENT_NAME - rubocop/cask: Check for correct stanza grouping within on_* blocks - Fix repo audit for discontinued casks. - cask/artifact: fix up some definitions - audit.rb: Check for signature with sptcl - Don't use deprecated Kernel#shell_profile. - workflows/sponsors-maintainers-man-completions: only run on branches - Delete a Cask RuboCop test for an edge case that is not fixed - docs: deprecate appcast
Homebrew 4.0.13 - move cask/cmd/reinstall to cask/reinstall - Improve sorbet & vendor gem workflow testing - dev-cmd/determine-test-runners: add command to set test runners - workflows/build-pkg: fix actionlint error - workflows/sorbet: fix actionlint errors - workflows/spdx: fix actionlint errors - workflows/sponsors-*: fix actionlint errors - workflows/vendor-gems: fix actionlint errors - dev-cmd/style: Properly clean up the --display-cop-names option - dev-cmd/update-maintainers: fix undefined method - Fix ruby_source_path in Ventura systemsettings-caveats fixture JSON - Xcode 14.3 updates - Revert "Revert "Split prof gems into their own group"" - os/mac/xcode: fix Clang version for Xcode 14.3 - github_runner_matrix: fix dependent runner assignment - Make test not depend on macOS version - Don't save mac metadata/extended attributes for brew bottle - Update fish completions - search: remove remote searching - workflows: add actionlint workflow - Portable Ruby 2.6.10_1 - Fix codesign audit paths
Homebrew 4.0.12 - Enable typing in Ignorable - install: check for --only-dependencies flag earlier - dev-cmd/tap-new: Use actions/cache@v3 as v1 is very deprecated - Enable types in extensions, etc. - service: handle string run cmd - Python: allow --no-build-isolation for pip install - Remove useless T.unsafe wrappers - Include screen savers in :extract_plist strategy. - Include prof gem group in sorbet workflow - Revert "Split prof gems into their own group" - commands: fix completion descriptions - rubocops/cask: Ensure that "verified" URLs with paths end with "/" - cask/utils: Make more noise when encountering undefined methods - commands: explain change in command description splitting - Add types to block params - Add cop to stop bin use in service blocks - Add Version#compare - tap: remove some CoreTap installed? checks. - Enable types in dev-cmd - Tighten tap.formula_file?(file) and tap.formula_files to not detect cask file as formula - Import doc "How To Organize AGM" from homebrew-governance-private - docs/governance/2023-agm-minutes: Add brief summary of talking points - Add HOMEBREW_UPGRADE_GREEDY option - Minor YARD improvements - Add curl_head method. - audit: Make --display-failures-only the default for Casks - Add source paths to API. - dev-cmd/bump-formula-pr: add a checkbox for resource updates - workflows/sponsors-maintainers-man-completions: fix git-try-push failure
Homebrew 4.0.11 - triage-issues.yml: update to match main configuration - Update manpage and completions. - Enable typing in Homebrew::Cleanup - readall: fix no simulate - Pass -no_fixup_chains to linker when required - CI: Add audit steps for formulae and casks - Enable types in Formula files - search: show results by platform - More update tweaks - Vendor more gems - formula: add missing extend/os require - rubocops: Detect unordered stanzas in non-on_* blocks in formulae - rubocops/cask: Enforce the order of on_#{arch} blocks - Revert "Allow resource blocks to include on_* blocks or conditionals" - dev-cmd/pr-*: support merge workflow changes - bump-*-pr: fix an issue when using on taps with custom remote - dev-cmd/pr-*: remove --commit-bottles-to-pr-branch - Remove --request GET workaround for HEAD requests. - missing_formula: update instructions for pil and gsutil - dev-cmd/tests: Deal with TODO for a BuildPulse bug that's fixed - dispatch-build-bottle: cleanup - Handle more artifacts in livecheck :extract_plist strategy. - Deprecate appcast. - Fix brew install --skip-post-install - dev-cmd/tests: temporary fix for BuildPulse failure - Enable IO and UpdateTest types - docs: mention keyboard_layout for casks - Revert "Remove --request GET workaround for HEAD requests." - github: set maintainer_can_modify for PR creation - Split prof gems into their own group - Make bump-cask-pr commit format more concise. - dev-cmd/bump-cask-pr: fix sha265
Homebrew 4.0.10 - Remove explicit error for empty BOM retry - download_strategy: fix case where filename cannot be parsed - docs/README: improve rubydoc.brew.sh link - Fix toplevel_stanzas - update*: check shim output - Enable more typing - formula_auditor: Having HOMEBREW_PREFIX in keg_only reasons is bad - Enable UnpackStrategy types - cmd/update-report: fix ordering - Improve some CI jobs - Add brew install --skip-post-install - move cask/cmd/reinstall - Revert "move cask/cmd/reinstall" - Add service block to formula api - Dockerfile: Fix the build, package gh exists in Ubuntu >=22 only - rubocop: Remove the final Naming/MethodParameterName exceptions: pr - docker: stop building Ubuntu 16.04 image - formulary: require service - rubocops/cask: Enforce the use of on_{system} blocks - Allow fetching for different arch - cask/dsl: pass #{arch} to flight blocks - Add keyboard_layout stanza
Homebrew 4.0.9 - cmd/postgresql-upgrade-database: import from homebrew/core
Homebrew 4.0.6 - rubocop: Enable Layout/MultilineMethodCallIndentation & fix offenses - rubocop: Deal with RSpec cop TODOs - rubocops/cask: Disallow protocol in cask URL verified stanza - rubocops/cask: Clean up unnecessary requires - sorbet: Bump more files to typed: true - irb: add cask monkey patch - Fix type error in brew --env - cask: retry audit for correct signing of pkg installers - rubocop: Trim exclude paths without offenses; move some more config - Move Array#to_sentence monkey-patch from ActiveSupport to extend/ - Remove cask/cmd/zap - brew style --fix - Fix "undefined local variable" error in update-report - Enable typing in cmd/ - sorbet: Autogenerate the RBI file for utils/tty.rb - when brew cat fails, suggest brew info --github - lock_file: better message if too many open files - ci: Move from Ubuntu 18.04 to Ubuntu 20.04 Actions runners - Revert splat changes to AbstractUninstall - Refactor searchable - Fix {MacOS,Xcode}Requirement handling and improve output - Remove ActiveSupport String inflections - brew irb improvements - download_strategy: handle incorrectly quoted filename* headers - bump-formula-pr: add release notes if found - rubocop: Trim Naming/MethodParameterName allowlist - github_packages: retry skopeo copy 5 times - Make str variable names longer - sorbet: Run brew typecheck --update --suggest-typed on schedule in CI - rubocop: Clean up Style/BlockDelimiters excludes and autofix offenses - include --cask or --formula in brew info --github suggestion - github_packages: additional retry of skopeo copy with backoff - Move cask/cmd/upgrade to cask/upgrade - Fix DescriptionCacheStore searching - Cleanup irb history file in tests - Enable typing in a few more files
Homebrew 4.0.5 - Fixed type error in 'brew audit' - utils/github: Tiny improvements, boolean methods end in ? and remove unnecessary .delete_prefix("/") - readall: reject casks with no URL - Use 'wslview' instead of 'xdg-open' on Windows - dev-cmd/cat: improve error message. - Move Kernel extensions into a separate file - dev-cmd/contributions: Support date ranges in PR reviews query - Replace ActiveSupport inflections with Utils methods - dev-cmd/contributions: Stop counting signoffs now we have "real" reviews - Strategy#from_url: Amend conditions for Json - Delay loading from cask source api - Allow version :latest if livecheck is skip. - More Formula/Casks sharding fixes - cask/auditor: only audit 10 languages by default on casks with many languages - dev-cmd/contributions: Only count approving reviews - rubocop: Only enable Style/Documentation for @api public code - cmd/update-reset: improve arg parsing - Deprecate preferred_shell and shell_profile - cask/cmd/upgrade: fix missing versions variable - Move cask/cmd/info to cask/info - rubocop: Consolidate more rules into the right files - cask: to_h without api - dedicated run_at_load property - formula: fix alias loading - Docs: Tips and Tricks - Remove Atom editor plugin - livecheck: Add Xml strategy - dev-cmd/tests: better output for BuildPulse failures - Show New/Deleted Formulae/Casks from brew update - Enable Style/OpenStructUse cop - Json: Add #parse_json method and tidy up tests - cmd/update.sh: limit setting core.fsmonitor to false - Move cask/cmd/list to cask/list - rubocop: Disable RSpec metrics cops - os.rb: fix for WSL systems without wslview - rubocop: Alphabetise, remove config that's default, in-line some disables - Suppress unsupported splat errors when typechecking - dev-cmd/contributions: Count the number of commits a user committed - livecheck: Add Yaml strategy - Note that brew update will only report all without API - livecheck: Skip #preprocess_url for new strategies - utils/github: Fix double counting of author/committer numbers
Homebrew 4.0.4 - rubocop: Some more config cleanup - Handle undeclared POSIXLY_CORRECT in Bash completions - utils/gzip: set mtime = 1 when mtime == 0. - rubocop: Entirely disable Metrics cops - api: respect --quiet - docs: improve some $(brew --prefix) usage - rubocop.yml: disable more metrics. - Ignore discontinued casks in bump-unversioned-casks. - Look for all packages if specified packages are not found. - Use OFFICIAL_CASK_TAPS constant. - Refactor FormulaCop as an abstract class - utils/analytics: tweaks constants. - Formula-Cookbook: update for Homebrew v4 - cask: audit for correct signing of pkg installers - Consolidate some rubocop configurations - Don't preprocess URL for :extract_plist strategy. - dev-cmd/contributions: Use GitHub APIs for commit author info - dev-cmd/contributions: Stats for all maintainers - dev-cmd/contributions: Fix single-user handling; be more verbose - dev-cmd/contributions: Correctly order the trailers method args - cask: audit if sparkle livecheck needs multipart version - utils/github/api: Smarter pagination in paginate_rest - Revert "cask: audit for correct signing of pkg installers" - Security enhancements to API - utils/github: Add date filtering to the commit author API query - Add generate-{cask,formula}-api commands - extend/os: clean up requires - CI: check for changes to autogenerated files - dev-cmd/generate-*-api: don't use same constant name. - which_editor: remove Atom. - api: don't download files as root when Homebrew's not owned by root. - os/mac/extend/ENV/super: handle nil sdk. - Enable typing in Cask::Artifact - Add signatures for extraction functions. - Support loading formulae/casks from subdirectories - cask_loader: fix missing checksum in FromContentsLoader - Revert "Revert "Fix permissions before moving extracted files."" - Scope HOMEBREW_NO_INSTALL_FROM_API to core formulae in brew audit - cask: support url specs in API - Bash completions: cache names of 'doctor' checks - cmd/info: handle casks with API. - Fix references to formula.json and cask.json - generate-*-api: better errors - livecheck: Add Json strategy - cask: handle nil URLs - Move HOMEBREW_NO_INSTALL_FROM_API defaults to shell - dev-cmd/contributions: CSV output of totals per maintainer - dev-cmd/contributions: Order the CSV by highest contributions total - dev-cmd/contributions: Count PR reviews since they're super important - Set tap for casks when loading from contents via API
Homebrew 4.0.3 - dev-cmd/contributions: fix spacing - Support link_overwrite and conflicts_with in API - Revert "Fix permissions before moving extracted files
Homebrew 4.0.1 - cmd/analytics: note Google Analytics differences - api: use formulae.brew.sh for cask-source API again - tap: return the default_remote if not installed
Homebrew 3.6.21 - cask: don't assume that sudo has write access to the caskroom - analytics: optionally duplicate to InfluxDB - Options: Add #to_s method - Allow defining service run command per platform - some needs_network specs: temporarily disable - Permit multiple uninstall stanzas in casks (short-term fix) - cmd/install: fail when pkg not found - Delete config.rbi - Add closed PR check to bump cmds - Resolve RSpec/VerifiedDoubles todos - rubocops/lines: update hard-coded compiler check - Fix brew search for HOMEBREW_INSTALL_FROM_API - brew.sh: test HOMEBREW_INSTALL_FROM_API on developers - Inline RSpec/InstanceVariable todos - dev-cmd/vendor-gems: set SDKROOT for older macOS - separate default_prefix to extend/os files - Avoid mutating the script argument in place - Enable RSpec cops without violations - Enable RSpec/LeakyConstantDeclaration - HOMEBREW_INSTALL_FROM_API: various improvements. - cask_loader: fixup artifacts/caveats from JSON API - Improve Codespaces behaviour - extend/ENV/shared: use try - Refactor away rspec-wait - Enable RSpec/NoExpectationExample - Revert "Enable RSpec/LeakyConstantDeclaration" - install: better error when using API and --HEAD - cmd/update: tweak API update behaviour - cask/artifact/stage_only: allow string argument - move check_binary_arches to extend/os - Enable RSpec/LeakyConstantDeclaration - Adapt to setup-homebrew changes - Resolve rubocop todo - Add languages to cask API - docs: mention Linux on site description - docs: Remove Lion reference - cli/parser: Don't treat args with --cask as formulae - remove String#undent ????-patch - Remove redundant String extension - brew.sh: add missing dev-cmd aliases - version: fix bad regexps in version parsers - apply extend/os to migrate_gcc_dependents_if_needed - Tweak cask-source API handling - Don't allow HOMEBREW_INSTALL_FROM_API when building from source - OS: Fix supported prefix check - Cask loader improvements - Support languages when installing from the API - brew.sh: fix HOMEBREW_INSTALL_FROM_API logic. - api: warn rather than fail if we've got a cached version. - Homebrew::API::fetch_file_source: remove debug line - update: increase max time for API JSON updates - Making core tap install an in-process call - Fix JSON file download failure fallback - api/versions: remove. - api: download from HOMEBREW_API_DOMAIN - docs: Clarify dependency values - Remove active_support Time extensions - Fix cask not found error when upgrading certain casks - brew Bash completions: use HOMEBREW cache and repo env vars - Don't convert boolean and blank values to strings in cask artifacts API - Fix error when showing brew config JSON update time - Add error message with instructions for the missing cask file - Add deprecations and disables - HOMEBREW_INSTALL_FROM_API: make the default for everyone. - Homebrew-Governance: import merged PRs from homebrew-governance-private - Adds logging to cask loader - Fix license handling for API formulae - cmd/doctor: respect --quiet - Better support source builds under API mode - Properly load booleans from the API - Set HOMEBREW_NO_INSTALL_FROM_API for certain commands - analytics: stop sending analytics in tests - Refix bash completions 1 - extend/time: restore rfc3339 method - cmd/gist-logs: On 404, the PAT probably needs more permissions - brew.sh: add bump to HOMEBREW_NO_INSTALL_FROM_API commands - Bash completions: clean up basic functions - formulary: respect HOMEBREW_BOTTLE_DOMAIN when installing from API - Bash completions: speed up Tap completions - apply extend/os to Cask::cmd::install#install_casks - cmd/info: generate --json=v2 from local taps. - move dev-cmd/bottle methods to extend/os - Revert "HOMEBREW_INSTALL_FROM_API: make the default for everyone." - Revert "Add deprecations and disables"
Homebrew 3.6.20 - Revert "show/check Homebrew branch" - Change HOMEBREW_INSTALL_FROM_API update frequency - Add HOMEBREW_NO_INSTALL_FROM_API - Fix URL in vendor-gems.yml - rubocops/caveats: Disallow ANSI escape codes - cask: don't attempt to make a directory that already exists. - cask: fix writability check backing up an artifact
Homebrew 3.6.19 - Add PYTHONDONTWRITEBYTECODE to common_stage_test_env - cask/installer: ensure config_path exists - docs: Fixes broken link to SPDX expressions docs - workflow/tests: Remove redundant style check - Allow --cask for linux dev cmds - Make Cask::DSL::Container#pairs a derived property (and fix YARD warning) - Fix depends_on arch: when loading casks from API - cmd/update.sh: use GitHub API token if available - utils: add reproducible_gzip helper function - Delete Library/Homebrew/rubocops/lines.rbi - show/check Homebrew branch - Fix remaining YARD exception, enable --fail-on-warning
Homebrew 3.6.18 - docs: add Table of Contents to selected pages - SystemConfig: show WSL version if available on Linux - cmd/prof: Fix gem errors - workflows/tests: only brew tests --online twice - cli/parser: Better error message for cask on linux - Governance: Adds PLC candidate expectations - Include *flight block source in cask API - Vendor method_source gem - formula_installer: check if dependencies have already been fetched - dev-cmd/edit: handle editing with install_from_api - Restoring the original PATH after update - Load casks from the JSON API with HOMEBREW_INSTALL_FROM_API - search.rb: Update Fedora URL
Homebrew 3.6.17 - Fix access to livecheck constants in formulae - add explicit version for GitHub API - Deprecate path args to audit cmd - ISSUE_TEMPLATE/bug: nudge people to discussions. - formula: show stderr by default when generating completions - items.sh: return early when no Taps directory - Improve minimum macOS version audit for casks - Comment out path args deprecation - cask/audit: improve sparkle minimum version audit - feature: generate macOS pkg files - unversioned_cask_checker: check installer artifacts - Expand on_system rubocops - cask/audit: improve handling nil in sparkle - audit: use full_name for formula/cask audit - cask/artifact/abstract_uninstall: allow wildcard entries for launchctl - Use JSON instead of #inspect to include cask container in API - Remove bitdefender diagnostic check
Homebrew 3.6.16 - dev-cmd/bottle: use gnu-tar's --mtime - Only use OS cop internally - Show casks in install not found output - docs: Document that casks should pass GateKeeper - root auto-taps should be done as Homebrew user - docs: Fix wrong condition for an app rejection - Allow pip to use the local wheel cache while installing dependencies - Enable use of latest formula version in resource livecheck URLs - python: reinstate pip's --no-binary - Cleanup search module
Homebrew 3.6.15 - livecheck/strategy/sparkle.rb: Add macos to the candidate os values list - dev-cmd/bump: don't use Repology version if livecheckable - ElectronBuilder: Allow Date/Time deserialization - dev-cmd/audit: enable --[no-]signing flag for audits - Make :formula? the default on Linux - caveats: print sudo in caveats if service requires it - cmd/desc: fix searching. - docs: update Maintainers section - dev-cmd/bump: check if Repology output is a version first - dev-cmd/create: also prompt for name with --cask - Cleanup brew prof - formula_installer: output fetching headers. - Homebrew-Leadership-Responsibilities: import changes. - api/formula: handle JSON file corruption. - description*: fix argument handling of eval_all. - language/python: optionally link manpages - formula: add support for generating click shell completions
Homebrew 3.6.14 - Curl: Fix following redirections when base changes - shims/super/cc: unset RUBYLIB - Add cop for OS.linux? and OS.mac? usage - Dockerfile: install gpg - docs: update membership & procedures - Dockerfile: install acl - doctor: add -u flag to suggested git stash command
Homebrew 3.6.13 - dev-cmd/bump-{cask,formula}-pr: args.message is before the default - Prevent brew casks from finding formulae at tap root - rubocop_todo: Clean up deleted paths & excludes without offenses - workflows/doctor: use ephemeral runners - diagnostic: remove some checks. - bin/brew: add GITHUB_OUTPUT - Update README.md - fix: allow running bin/brew with SHELLOPTS=nounset - workflows/doctor: skip unnecessary steps - brew.sh: remove HOMEBREW_CHANGE_ARCH_TO_ARM - CI: check yard & mdl output
Homebrew 3.6.12 - Docs: update Cookbooks - dev-cmd/unbottled: simulate target tag - CPU: fix M2 family detection - dev-cmd/ruby: add --version - docs: update Contributors section - Speed up deleted_reason method - README: Switch from HackerOne to GitHub for vulnerability reporting - Update Bundler to 2.3.26 - utils/gems: use env shebang when installing gems
Homebrew 3.6.11 - style: check more shell scripts - Improve issue templates - uses_from_macos: add mandoc to allowed list - docs: Fix env variable typo - rubydoc: fixes for output - Fix install --dry-run
Homebrew 3.6.10 - devcontainer/on-create-command: fix Ubuntu 18.04, add debugging - Service: add method to define a root requirement - Add manpages.rb - move two methods from download_strategy to utils/github - Allow multiple macOS requirements - tests: test on Ubuntu 18.04 - Dockerfile: install jq - devcontainer/on-create-command: fix prebuild handling
Homebrew 3.6.9 - cask: audit for minimal OS version in sparkle feeds - devcontainer/on-create-command: install Sorbet - fix: allow sparkle without a macOS version - cmd/search: better handle non-TTY output - .devcontainer/on-create-command: Add openssh-server (for gh cs ssh) - Fix: Sparkle audit prior to el_capitan - tests: fix under GitHub Codespaces - test/rubocops/formula_desc: Add some tests I should have written in 2017 - sorbet/tapioca/require: make aware of platform-specific gem resolution - Update patchelf.rb to 1.4.0 - caveats: Update message displayed by unsigned_accessibility - rubyext: align workaround with upstream - dev-cmd/bottle: add --no-all-checks - docs: Bump various OS versions - Universally apply Ruby disable options - style: use HOMEBREW_RUBY_EXEC_ARGS, fix some cops erroring with empty formula body - Allow gem installation on Rubies other than 2.6 - minor typo fixes
Homebrew 3.6.8 - Suggest --verbose for softwareupdate --all ... - Support git partial clones with sparse checkouts (take 2) - os/mac/diagnostic: allow Ruby 2.6.10 on < Ventura - Gemfile: bump nokogiri. - Remove sitedir from LOAD_PATH - dev-cmd/unbottled: fix --dependents erroring - dev-cmd/bump-formula-pr: allow --version for version formatting changes - Add --adopt switch - Improve performance of brew info by caching compiled regexes - Add VSCode devcontainers - os/mac/xcode: do not recommend softwareupdate CLI - Fix Oh-My-Zsh suggested completions configuration - rubocop: Deal with some TODOs for Naming/MethodParameterName - cask/artifact/relocated: don't evaluate URL on creation - devcontainer/on-create-command: do more stuff
Homebrew 3.6.7 - Restore ARM Linux support when installing gems - docs: discontinue WSL 1 support; recommend WSL 2 - ResourceAuditor: Fix #audit_head_branch error - Mark macOS Ventura as supported - Allow livecheck method in on_system blocks - utils/gems: set SDKROOT for macOS system Ruby - macOS Ventura (and related) test fixes - Strengthen "don't create issues" language - integration_test: fix Bundler deprecation. - Additional fixes for Ruby 3 compatibility - Docs: mention "path not in the working tree" error - Ventura RC version bumps - Add stable checksum to the JSON API - docs: Fix minor version typo - Update Linux requirements
Homebrew 3.6.6 - update*: enforce sane symlinks setting - formula: ensure rpath is passed a valid target - Simulate all OS/arch combinations in brew readall - Preliminary compatibility fixes for Ruby 3 - sorbet: Use Tapioca more since srb rbi is in maintenance - workflows: migrate from deprecated set-output - extend/os/mac: ensure writable file for codesign - Migrate to Bundler 2 - bump-cask-pr: handle additional use cases - add error log of download formula.json - Fix curl_output for curl download strategy - os/mac/pkgconfig/13: update for beta 9 SDK
Homebrew 3.6.5 - Add --dry-run option to cmd#install - add installed time to git info --json output - Warn linux users about using --cask - Support non-master init.defaultbranch - service: use default.target on Linux - Update Sorbet to 0.5.10461 - os/mac/xcode: require Xcode 14.1 on Ventura - formula: fix inreplace errors not being printed
Homebrew 3.6.4 - Audit: complain if no targets are found - Use unversioned GCC for runtime libraries when required - Cleanup and fix CI jobs - brew: remove HOMEBREW_ON_DEBIAN7 - Remove unused function from bump-cask-pr - Enable Linux AArch64 support - Augment brew livecheck with a --resources option to check resources - Update documentation for brew livecheck
Homebrew 3.6.3 - extend/os/linux/development_tools: handle no /usr/bin/gcc - Separate test from runtime dependencies in Formula#to_hash - Checks GitHub API if homepage 404s during brew audit --online - Include test deps when loading a formula from the API - linux/keg_relocate: clean up GCC RPATH fix - extend/ENV/std: ignore fails_with during brew test - formula_auditor: fix false negatives in audit_gcc_dependency
Homebrew 3.6.2 - Adds brew docs to close - formula_auditor: disallow SSPL - diagnostic: improve cask quarantine messaging - autoremove: ignore build deps when built from src - Load formulae from their aliases using the API - Include loaded_from_api key in Tab - Cask: automatically add cask audits - shellenv: add explanatory MANPATH comment - resource: automatic determine mirrors for glibc-bootstrap and PyPI resources - docs: document HOMEBREW_INSTALL_FROM_API usage in installation - formulary: fix error with absolute alias paths - Use GCC 12 for runtime libraries - linkage_checker: ignore broken linkage with LLVM libc++ - extend/os/linux/system_config: support gcc 12 & keg-only glibc - Changes to allow keg-only glibc
Homebrew 3.6.1 - Add messaging for homebrew/ubuntu16.04:master image deprecation - test/dev-cmd/audit_spec: use eq instead of match - Prevent require executing some scripts (fixes brew typecheck --update) - update-sponsors: don't require admin token - sponsors-maintainers-man-completions: various fixes - Don't fallback to building from source with HOMEBREW_INSTALL_FROM_API - Create GCC and glibc symlinks after install is complete - formula_auditor: fix false positive in audit_gcc_dependency - cask/artifact/relocated: widen type
Homebrew 3.6.0 - Ignore HOMEBREW_NO_CLEANUP_FORMULAE deps in brew autoremove - bin/brew: remove HOMEBREW_NO_ENV_FILTERING - README: add Mercedes-Benz Group - missing_formula: message for postgres rename - linux/diagnostic: add check for versioned GCC linkage - formula_auditor: audit for Linux-only dependencies on GCC - linkage_checker: don't reinstall formula on some linkage failures - Remove odisabled for 3.6.0 - linkage_checker: disable libcrypt.so.1 linkage - linkage_checker: deprecate libnsl.so.1 linkage - glibc related cleanup - Revert "formula_auditor: skip rename audit for glib-utils" - Include on_{system} blocks as stanzas in rubocop - Update cask rubocops to use on_arch blocks and sha256 arm:, intel - install glibc/gcc automatically if too old - formula_auditor: refactor GCC dependency check into separate method - formula: try optimise versioned_formulae_names - linux/dependency_collector: bump maximum_tree_depth - linux/diagnostic: fix rpath returning nil - formula_auditor: require --git only if not --strict in audit_gcc_dependency - Include dsl key in cask artifact hash - Improve error message for failed signature check - diagnostic: automatically tap homebrew/core - Cask: automatically add cask audits - cmd/deps: return failing exit code on circular dependencies - shims/gems/rubocop: handle when brew isn't in PATH - extend/os/linux: improve glibc, gcc dependency handling - gcc_dep_if_needed: Install GCC if Glibc is too old - cleanup: handle Python site-packages directories - util/ruby.sh: fix HOMEBREW_USE_RUBY_FROM_PATH to actually use user's PATH - cmd/deps: improve switch names - Automatically add symlinks from gcc cellar to HOMEBREW_PREFIX/lib - README: update sponsors - utils: prefer BBEdit over TextWrangler - cmd/deps: drop --installed requirement for --formula/--cask - formula_auditor: use symbols for spec iteration - Freeze formula definition once first instance is created - resource: determine version before freezing - resource: style tweak - Improve brew update with HOMEBREW_INSTALL_FROM_API - generate_completions: fix shell_parameter_format: :none - dev-cmd/pr-pull: avoid expensive search API calls - linux/linkage_checker: remove gcc from undeclared_deps - Automate sponsors updates - Ignore renamed formulae when checking for unversioned formulae - bump-cask-pr: cleanup handling of multiple hashes - .github/workflows: various fixes - Deprecate reading all formulae through commands - cmd/fetch: --retry with exponential backoff - Revert "Cask: automatically add cask audits" - cmd/fetch: rename fetch_failed to fetch_tries - Update LINUX_CI_OS_VERSION to Ubuntu 22.04 - brew: improve Docker detection - rubocop: generate_completions DSL - Allow developers to use dev commands and HOMEBREW_INSTALL_FROM_API
Homebrew 3.5.10 - linux/super: add unversioned GCC lib directory to RPATH - dev-cmd/rubocop: use bundle check - Add and adjust cask rubocops to handle variables - brew: add XDG_RUNTIME_DIR copy - Support for --debug-symbols for macos - bump-cask-pr: fix sha256 replacement with arch - Formula: add DSL to generate completions - fix debug-symbols - ENV/super: add Python's l |