What's Changed
- rubocop: Some more config cleanup by @issyl0 in #14709
- Handle undeclared POSIXLY_CORRECT in Bash completions by @aphedges in #14736
- utils/gzip: set
mtime = 1
whenmtime == 0
. by @carlocab in #14723 - rubocop: Entirely disable
Metrics
cops by @issyl0 in #14739 - api: respect --quiet by @apainintheneck in #14742
- docs: improve some
$(brew --prefix)
usage by @aristocrates in #14738 - rubocop.yml: disable more metrics. by @MikeMcQuaid in #14750
- Ignore discontinued casks in
bump-unversioned-casks
. by @reitermarkus in #14744 - Look for all packages if specified packages are not found. by @reitermarkus in #14745
- Use
OFFICIAL_CASK_TAPS
constant. by @reitermarkus in #14743 - Refactor FormulaCop as an abstract class by @dduugg in #14732
- utils/analytics: tweaks constants. by @MikeMcQuaid in #14751
- Formula-Cookbook: update for Homebrew v4 by @unitof in #14740
- cask: audit for correct signing of pkg installers by @SMillerDev in #14747
- Consolidate some rubocop configurations by @dduugg in #14755
- Don't preprocess URL for
:extract_plist
strategy. by @reitermarkus in #14758 - dev-cmd/contributions: Use GitHub APIs for commit author info by @issyl0 in #14737
- dev-cmd/contributions: Stats for all maintainers by @issyl0 in #14722
- dev-cmd/contributions: Fix single-user handling; be more verbose by @issyl0 in #14767
- dev-cmd/contributions: Correctly order the trailers method args by @issyl0 in #14768
- cask: audit if sparkle livecheck needs multipart version by @SMillerDev in #14748
- utils/github/api: Smarter pagination in
paginate_rest
by @issyl0 in #14770 - Revert "cask: audit for correct signing of pkg installers" by @bevanjkay in #14774
- Security enhancements to API by @Bo98 in #14733
- utils/github: Add date filtering to the commit author API query by @issyl0 in #14775
- Add generate-{cask,formula}-api commands by @MikeMcQuaid in #14762
- extend/os: clean up requires by @apainintheneck in #14756
- CI: check for changes to autogenerated files by @EricFromCanada in #14772
- dev-cmd/generate-*-api: don't use same constant name. by @MikeMcQuaid in #14781
- which_editor: remove Atom. by @MikeMcQuaid in #14779
- api: don't download files as root when Homebrew's not owned by root. by @MikeMcQuaid in #14782
- os/mac/extend/ENV/super: handle nil sdk. by @MikeMcQuaid in #14784
- Enable typing in Cask::Artifact by @dduugg in #14769
- Add signatures for extraction functions. by @reitermarkus in #14773
- Support loading formulae/casks from subdirectories by @MikeMcQuaid in #14783
- cask_loader: fix missing checksum in FromContentsLoader by @Bo98 in #14792
- Revert "Revert "Fix permissions before moving extracted files."" by @reitermarkus in #14735
- Scope
HOMEBREW_NO_INSTALL_FROM_API
to core formulae inbrew audit
by @Bo98 in #14793 - cask: support url specs in API by @Bo98 in #14795
- Bash completions: cache names of 'doctor' checks by @maxim-belkin in #14507
- cmd/info: handle casks with API. by @MikeMcQuaid in #14797
- Fix references to
formula.json
andcask.json
by @MikeMcQuaid in #14800 - generate-*-api: better errors by @Bo98 in #14801
- livecheck: Add
Json
strategy by @samford in #14785 - cask: handle nil URLs by @Bo98 in #14803
- Move
HOMEBREW_NO_INSTALL_FROM_API
defaults to shell by @Bo98 in #14794 - dev-cmd/contributions: CSV output of totals per maintainer by @issyl0 in #14789
- dev-cmd/contributions: Order the CSV by highest contributions total by @issyl0 in #14812
- dev-cmd/contributions: Count PR reviews since they're super important by @issyl0 in #14813
- Set tap for casks when loading from contents via API by @Rylan12 in #14814
New Contributors
- @aphedges made their first contribution in #14736
- @aristocrates made their first contribution in #14738
Full Changelog: 4.0.3...4.0.4