Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
a420d93
Update brew extension
chrismessina Aug 28, 2026
a3783af
refactor: model install counts, not their ordering
chrismessina Aug 28, 2026
d27911b
fix: make popularity downloads cancellable; guard the ordering claims
chrismessina Aug 28, 2026
38581ad
fix: drop the ranks memo so one consumer cannot cancel for another
chrismessina Aug 28, 2026
fec8044
fix: make cache downloads atomic, and cache parsed ranks instead of t…
chrismessina Aug 28, 2026
d76c69e
fix: unique download temps, rename cleanup, partial sweep, generation…
chrismessina Aug 28, 2026
0790aa8
fix: never attribute one package\'s statistics to another; changelog …
chrismessina Aug 28, 2026
81cc3ab
fix: reserve the statistics rows, and show them in the Details view too
chrismessina Aug 28, 2026
663eb71
fix: key the search on rank version, and separate a failed fetch from…
chrismessina Aug 28, 2026
40e62c6
feat: mark an unfetchable statistic with Icon.QuestionMarkCircle
chrismessina Aug 28, 2026
0980ceb
Update brew extension
chrismessina Aug 29, 2026
edb949d
fix: skip a pinned formula on upgrade instead of letting brew reject it
chrismessina Aug 29, 2026
e362d96
fix: refuse to rank version shapes this module cannot order correctly
chrismessina Aug 30, 2026
66bbc51
feat: mark a skipped pinned formula in the outdated list
chrismessina Aug 30, 2026
30a2886
fix: use the tack icons for pinning, and the update arrow for upgrades
chrismessina Aug 30, 2026
7a94774
feat: group pinned formulae in Show Outdated, matching Show Installed
chrismessina Aug 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion extensions/brew/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Brew Changelog

## [Install statistics & popularity sort] - {PR_MERGE_DATE}

- Search: "Sort by Popularity" (⇧⌘P) orders results by installs over the last 30 days, ranking every match before the list is truncated — so the top rows are the most installed overall, not of the first hundred. An empty query lists the most installed packages outright.
- The detail sidebar now shows a package's install counts for 30, 90 and 365 days, plus build errors, matching the analytics table on its formulae.brew.sh page. Only the selected package is fetched.
- Deprecated and disabled packages carry a warning at the top of the sidebar, with the reason, the date, and the replacement package where Homebrew names one.
- "Hide Description" (⇧⌘Y) drops the description pane and shows the sidebar as a pure metadata list, with a Caveats indicator; the full caveats text stays in Show Details, which renders it as prose.
- "Show Details" is now offered even when the sidebar is open. It previously disappeared in that state, leaving "Show in Finder" as the default action on an installed package. Install and Upgrade remain the default where they apply.
- Display toggles are grouped in a "View" section. "Toggle Details" is now "Toggle Sidebar" (⇧⌘D), and works in Search too; "Hide Dependencies" no longer appears in Search, where nothing filtered by it. Show Installed adds an install date and marks pinned formulae.
- Cached downloads are now written atomically, so an interrupted one can no longer leave a partial file that later fails to load. This covers the package index every command depends on, not just the new statistics. Clear Cache removes leftover temporary files too.
- Updated to `@raycast/api` 2.x, and to a `brace-expansion` release without the denial-of-service advisory (GHSA-rgw5-rvv9-x895).

## [Upgrade View] - 2026-08-27

- The Upgrade command now lists the outdated formulae & casks, matching the Show Outdated command, instead of a list of progress steps.
Expand Down Expand Up @@ -34,7 +45,7 @@
- Added a "Manage Services" command to list Homebrew services and start, stop, or restart them individually or all at once. Actions update the list optimistically so it reflects the new state immediately.
- Added a "Services Menu Bar" command to control Homebrew services from the menu bar, with a submenu per service and start/stop/restart all. The menu refreshes on a configurable interval.

## [Bug fix] - 2026-05-21
## [Bug fix] - 2026-05-21

- Improves reliability of index cache
- Improves toast error message if fetch fails
Expand Down
14 changes: 14 additions & 0 deletions extensions/brew/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@ This extension uses several optimizations to provide a fast experience:
- **Lazy Loading**: Package details are fetched on-demand when viewing, not upfront.
- **Internal API Option**: When enabled, downloads are 96% smaller (~1 MB vs ~30 MB for formulae).

## Install Statistics

Selecting a package shows its install counts (30 / 90 / 365 days) and build errors, taken from the
[formulae.brew.sh](https://formulae.brew.sh) analytics API. Only the selected package is fetched —
about 5 KB per row you land on, and nothing at all for the rest of the list.

**Sort by Popularity** (⇧⌘P in Search) is different: ranking every result requires Homebrew's bulk
30-day rankings, about 2.6 MB for formulae and casks combined. That download happens the first time
you enable the sort, is cached on disk, and is never fetched if you don't use the sort. While it is
on, each row also shows its 30-day install count.

Homebrew's analytics are anonymous and aggregate, and cover macOS installs; a package with no
reported installs simply shows no statistics.

## Issue Tracker

[Report issues here](https://github.com/raycast/extensions/issues/new?body=%3C!--%0APlease%20update%20the%20title%20above%20to%20consisely%20describe%20the%20issue%0A--%3E%0A%0A%23%23%23%20Extension%0A%0Ahttps://www.raycast.com/nhojb/brew%0A%0A%23%23%23%20Description%0A%0A%3C!--%0APlease%20provide%20a%20clear%20and%20concise%20description%20of%20what%20the%20bug%20is.%20Include%0Ascreenshots%20if%20needed.%20Please%20test%20using%20the%20latest%20version%20of%20the%20extension,%20Raycast%20and%20API.%0A--%3E%0A%23%23%23%20Steps%20To%20Reproduce%0A%0A%3C!--%0AYour%20bug%20will%20get%20fixed%20much%20faster%20if%20the%20extension%20author%20can%20easily%20reproduce%20it.%20Issues%20without%20reproduction%20steps%20may%20be%20immediately%20closed%20as%20not%20actionable.%0A--%3E%0A%0A1.%20In%20this%20environment...%0A2.%20With%20this%20config...%0A3.%20Run%20%27...%27%0A4.%20See%20error...%0A%0A%23%23%23%20Current%20Behaviour%0A%0A%0A%23%23%23%20Expected%20Behaviour%0A%0A%23%23%23%20Raycast%20version%0AVersion:%201.103.9%0A&title=%5BBrew%5D%20...&template=extension_bug_report.yml&labels=extension,bug&extension-url=https://www.raycast.com/nhojb/brew&description).
Loading
Loading