Skip to content

Brew-browser

v0.3.0 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

Affected surfaces

auth rbac

Summary

AI summary

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

Changes in this release

Feature Medium

Adds in-app updater with automatic version detection and manual check.

Adds in-app updater with automatic version detection and manual check.

Source: llm_adapter@2026-05-28

Confidence: high

Feature Medium

Expands GitHub coverage to show Star, Watch, File‑issue, and stats for packages with GitHub source.

Expands GitHub coverage to show Star, Watch, File‑issue, and stats for packages with GitHub source.

Source: llm_adapter@2026-05-28

Confidence: high

Feature Medium

Adds GitHub Octocat status chip in the title bar indicating auth state.

Adds GitHub Octocat status chip in the title bar indicating auth state.

Source: llm_adapter@2026-05-28

Confidence: high

Feature Medium

Adds actionable "Re‑authorize" toast when OAuth scopes are missing.

Adds actionable "Re‑authorize" toast when OAuth scopes are missing.

Source: llm_adapter@2026-05-28

Confidence: high

Feature Medium

Renames "Paranoid Mode" to "Offline Mode" while keeping internal field name.

Renames "Paranoid Mode" to "Offline Mode" while keeping internal field name.

Source: llm_adapter@2026-05-28

Confidence: low

Feature Medium

Implements per‑action OAuth scope gating: Star/File‑issue need public_repo, Watch needs notifications, enforced server‑side before GitHub calls.

Implements per‑action OAuth scope gating: Star/File‑issue need public_repo, Watch needs notifications, enforced server‑side before GitHub calls.

Source: granite4.1:30b@2026-05-28-audit

Confidence: low

Feature Low

Adds tolerant `extract_github_repo` URL parser handling archive and release URLs.

Adds tolerant `extract_github_repo` URL parser handling archive and release URLs.

Source: llm_adapter@2026-05-28

Confidence: high

Feature Low

Implements per‑action OAuth scope gating for GitHub features.

Implements per‑action OAuth scope gating for GitHub features.

Source: llm_adapter@2026-05-28

Confidence: low

Dependency Low

Upgrades to Tauri 2 with embedded minisign pubkey and sha256 manifest verification.

Upgrades to Tauri 2 with embedded minisign pubkey and sha256 manifest verification.

Source: llm_adapter@2026-05-28

Confidence: high

Performance Low

Improves test coverage to 473 passing tests (up from 411).

Improves test coverage to 473 passing tests (up from 411).

Source: llm_adapter@2026-05-28

Confidence: high

Bugfix Medium

Fixes toast cascade on disconnect/reconnect reported in issue #1.

Fixes toast cascade on disconnect/reconnect reported in issue #1.

Source: llm_adapter@2026-05-28

Confidence: low

Full changelog

brew-browser v0.3.0 — In-app updater + GitHub coverage + issue #1 fixes

Signed + notarized. macOS 13+, Apple Silicon.

Highlights

In-app updater. brew-browser now tells you when a new version exists. A title-bar pill appears when a newer release is detected; Settings → Network → Updates owns the manual "Check now" button, the off-by-default daily auto-check, and the install action. Every artifact is verified against an embedded minisign public key before any on-disk side effect (sha256 first, then signature — mismatch aborts with no install). Skipping a version is per-release, so a future update re-triggers the notice.

"Offline Mode" instead of "Paranoid Mode." Same kill switch, friendlier name. Toggle in Settings → Network blocks every outbound feature: catalog refresh, trending, GitHub, updater. The internal field stays paranoid_mode to avoid migrating existing settings files.

GitHub coverage expansion. Packages like bat, fd, ripgrep, tealdeer — marketing-page homepages but GitHub-hosted source — now light up Star / Watch / File-issue / Stats. Backend walks homepageurls.stable.urlurls.head.url (formula) or homepageurl (cask). The Dashboard's personal-stats card sees a bigger denominator.

GitHub Octocat status chip in the title bar. Green when signed in with required scopes, amber when a scope is missing (click → Settings → GitHub to re-authorize), hidden when signed out.

Actionable Re-authorize toast. If an action fails because your token doesn't carry the required scope (typical for tokens minted before v0.3.0 added notifications scope for Watch), the failure toast offers a one-click "Re-authorize" button. GitHub's consent screen shows only the missing scope. No sign-out needed.

Issue #1 fixes. Resolves the toast cascade on disconnect/reconnect that @heyjawrsh reported. Root cause was a cache loop in PackageDetail hammering Svelte's scheduler combined with a structural misuse of $effect for one-shot side effects. Star, Watch, File-issue, and the sign-in flow all work cleanly now.

Under the hood

  • 473 backend tests passing (up from 411 in v0.2.1).
  • Tauri 2 in-app updater plugin with embedded minisign pubkey + sha256 manifest verification.
  • Per-action OAuth scope gating — Star/File-issue need public_repo, Watch/Unwatch need notifications. The gate runs server-side before any GitHub round-trip.
  • New extract_github_repo tolerant URL parser that handles archive + release URLs (.../archive/refs/tags/v1.2.3.tar.gz, .../releases/download/v1.2.3/foo.dmg) while applying every strict-parser defense (host, scheme, character set, path traversal).
  • Lazy Keychain probe preserved — fresh launches still don't trigger the macOS "wants to use your confidential information" prompt unless you actually use a GitHub feature.

Install

Download brew-browser_0.3.0_aarch64.dmg, double-click, drag to Applications. macOS Gatekeeper will accept the signed + notarized binary without warnings.

If you're on v0.2.1, the in-app updater will surface this release after you upgrade once — manual .dmg installs are still supported but the auto-updater path is the recommended cadence going forward.

Acknowledgments

  • @heyjawrsh for filing issue #1 with a clear reproduction. Six hours of debugging surfaced two genuinely interesting Svelte 5 rabbit holes; the diagnosis is in memory-bank/tasks/2026-05/14-issue-1-hunt-cache-loop.md and 15-github-integration-completion.md for the curious.

Full diff: v0.2.1...v0.3.0

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 →

Related context

Earlier breaking changes

  • v0.3.1 Bundle identifier changed from `dev.openbrew.browser` to `com.zerologic.brew-browser`, requiring re‑authorization on upgrade.

Beta — feedback welcome: [email protected]