This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
ReleasePort's take
Moderate signalBundle identifier changes from `dev.openbrew.browser` to `com.zerologic.brew-browser`, requiring re‑authorization on upgrade. This breaking change impacts application identity and Keychain ACLs.
Why it matters: Severity 70 mandates immediate attention for operators; any user upgrading must re‑authorize the new bundle identifier before using brew‑browser.
Summary
AI summaryUpdates Under the hood, Quieter improvements, and Acknowledgments across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | High |
Bundle identifier changed from `dev.openbrew.browser` to `com.zerologic.brew-browser`, requiring re‑authorization on upgrade. Bundle identifier changed from `dev.openbrew.browser` to `com.zerologic.brew-browser`, requiring re‑authorization on upgrade. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Medium |
Magic search matches package names, friendly labels, categories, AI summaries, and tags. Magic search matches package names, friendly labels, categories, AI summaries, and tags. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Medium |
Unified Description and Version columns across Library, Discover, and Trending views. Unified Description and Version columns across Library, Discover, and Trending views. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Medium |
Curated Upgrade UX adds a “Choose…” button to select specific packages for upgrade. Curated Upgrade UX adds a “Choose…” button to select specific packages for upgrade. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Medium |
Refresh button now runs `brew update`, refreshes catalog, and reloads installed list. Refresh button now runs `brew update`, refreshes catalog, and reloads installed list. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Medium |
Donut chart hover displays count and label for each category slice. Donut chart hover displays count and label for each category slice. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Feature | Medium |
Error toasts now include a “Report to brew-browser” button linking to a pre‑filled GitHub issue. Error toasts now include a “Report to brew-browser” button linking to a pre‑filled GitHub issue. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Friendly error messages replace raw `brew_exit_non_zero` codes in ten toast sites. Friendly error messages replace raw `brew_exit_non_zero` codes in ten toast sites. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Stale “Paranoid mode is on” toast wording has been corrected to “Offline Mode”. Stale “Paranoid mode is on” toast wording has been corrected to “Offline Mode”. Source: llm_adapter@2026-05-28 Confidence: high |
— |
| Bugfix | Medium |
Activity history capacity increased from 50 to 200 jobs and now persists immediately. Activity history capacity increased from 50 to 200 jobs and now persists immediately. Source: llm_adapter@2026-05-28 Confidence: high |
— |
Full changelog
brew-browser v0.3.1 — Magic search, real Refresh, cleaner identity
Signed + notarized. macOS 13+, Apple Silicon. Auto-updates from v0.3.0 via the in-app updater.
Highlights
Magic search. Search now matches against everything brew-browser knows about — not just package names. Try queries like:
video player— finds VLC, mpv, MPlayer (matches AI summaries)password manager— finds 1Password, Bitwarden, KeePassXCAIorLLM— finds ollama, llm, openai-cli, llama.cppVideo & Audio— returns every package in that categoryterminal emulator— iTerm2, Alacritty, kitty, WezTerm
Behind the scenes: a new in-process local_search IPC scans the bundled catalog + AI summaries + friendly names + category labels + (eventually) Tier B tags, scores each hit by field weight (name > friendly > category > summary > desc > tag), and returns top results in well under 20ms — much faster than the previous brew search shell-out.
Unified Description + Version columns. Library, Discover, and Trending list views now share the same canonical row layout: (icon/rank) | NAME | DESCRIPTION | VERSION | TYPE | TRAIL. The Description column prefers the AI-generated summary when available, falls back to the upstream Homebrew desc. Friendly name still appears as a short subtitle below the token for scan-aid.
Curated Upgrade UX. The Updates card on the Dashboard gains a "Choose…" button next to "Upgrade all". Click it to see every outdated package with a checkbox, name, current → target version, and a pinned badge. Pick which ones to upgrade this round; the modal fires one batched brew upgrade <a> <b> ... streaming into the Activity drawer.
Refresh actually refreshes everything. The Refresh button now runs brew update (so brew learns about new upstream versions), refreshes the bundled catalog from formulae.brew.sh, AND reloads your installed list — in that order, streaming the brew update output to the Activity drawer. Previously Refresh only updated the catalog index, leaving outdated flags stale until you ran brew upgrade in a terminal.
Donut chart hover-with-counts. Hover any slice (or its matching legend row) on the Dashboard's "Top categories" donut: the slice fattens, the others dim, and the center text takes over with {count} / {label}. Click the legend row to jump straight to that category in Discover.
Report-to-brew-browser on every error. Error toasts now carry a "Report to brew-browser" button that opens a pre-filled GitHub new-issue URL with your brew-browser + Homebrew versions, the failing command, exit code, stderr excerpt, and the friendly message brew-browser tried to show you. Same button surfaces in the Activity drawer when a job fails.
Friendly error messages. Ten toast sites that previously rendered the raw error code (brew_exit_non_zero) now render the actual friendly message from the backend. Among other things, this means the shiva brew bundle dump topo-sort crash now surfaces with the "this is an upstream Homebrew bug, not a brew-browser issue" guidance it was always meant to.
Quieter improvements
- Bundle identifier cleaned up:
dev.openbrew.browser→com.zerologic.brew-browser. v0.3.0 users will be prompted to re-sign-in to GitHub once (Keychain ACLs are tied to the old identifier; no migration is possible without re-prompting anyway). One-click via the "Re-authorize" toast button that already ships. - Activity history is more durable. Cap raised from 50 jobs to 200.
startJobnow persists immediately instead of waiting for the 400ms debounce. Persist + hydrate failures now log to the console instead of silently swallowing. brew_listcache invalidation. Addingforce=trueto the IPC; the Refresh button uses it. Previously a staleinstalled_cachecould maskbrew upgraderuns from your terminal until process restart.- Stale "Paranoid mode is on" toast wording still slips through the central
brewErrorMessageforparanoid_mode_blocked. The rename to "Offline Mode" was applied everywhere else; this one was missed in Phase 15 and got carried forward — fix landed in this release.
Under the hood
- 473 backend tests passing.
CatalogEntrySummarygains aversion: Option<String>field so the new Version column can render without per-row IPC.- Activity drawer's failed-job footer gains a "Report to brew-browser" button next to the failure summary.
tauri-plugin-dialogwas already wired since v0.1.0 (catching up the realityCheck doc with a post-audit footnote).- Memory bank reorganized:
BUILD.md,PHILOSOPHY.md,PLAN.mdmoved from repo root todocs/;phase15-plan.mdmoved tomemory-bank/phases/now that Phase 15 has shipped.
Install
If you're on v0.3.0, click Refresh on the Dashboard or open Settings → Network → Updates → Check now. The in-app updater will pick this up, verify the signed .app.tar.gz against the embedded minisign pubkey, and replace your installed .app atomically. Click Relaunch now when it finishes.
For fresh installs, the .dmg is on the GitHub release page. Drag to Applications. macOS Gatekeeper accepts it cleanly (signed + notarized + stapled).
Acknowledgments
- @heyjawrsh for the issue-#1 flow that drove the friendly-message + Report-to-brew-browser work.
Full diff: v0.3.0...v0.3.1
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Brew-browser
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]