Skip to content

Brew-browser

v0.3.1 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

ReleasePort's take

Moderate signal
editorial:auto 6d

Bundle 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 summary

Updates Under the hood, Quieter improvements, and Acknowledgments across a mixed release.

Changes in this release

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, KeePassXC
  • AI or LLM — finds ollama, llm, openai-cli, llama.cpp
  • Video & Audio — returns every package in that category
  • terminal 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.browsercom.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. startJob now persists immediately instead of waiting for the 400ms debounce. Persist + hydrate failures now log to the console instead of silently swallowing.
  • brew_list cache invalidation. Adding force=true to the IPC; the Refresh button uses it. Previously a stale installed_cache could mask brew upgrade runs from your terminal until process restart.
  • Stale "Paranoid mode is on" toast wording still slips through the central brewErrorMessage for paranoid_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.
  • CatalogEntrySummary gains a version: 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-dialog was already wired since v0.1.0 (catching up the realityCheck doc with a post-audit footnote).
  • Memory bank reorganized: BUILD.md, PHILOSOPHY.md, PLAN.md moved from repo root to docs/; phase15-plan.md moved to memory-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

Track Brew-browser

Get notified when new releases ship.

Sign up free

About Brew-browser

All releases →

Beta — feedback welcome: [email protected]