Changelog

What's new

The latest improvements and fixes shipped to Brewwery.

  • v0.9.1

    Discover & Favorites
    • NewLocal Discover page with curated Homebrew formulae and cask collections.
    • NewLocal Favorites page for saved formulae and casks.
    • NewFavorite add/remove action in the package detail drawer.
    • NewFavorite indicators in Search, Discover, Packages, and Casks.
    • ImprovedSidebar Library order is now Dashboard, Discover, Search, Favorites, Packages, Casks, Updates.
    • ImprovedRelease workflow now builds unsigned artifacts by default instead of exporting empty signing secrets.
    • SecurityDiscover uses a static bundled registry and Favorites are stored locally with Zustand persistence.
    • SecurityNo new brew commands, IPC channels, accounts, telemetry, cloud sync, or paid logic were added.
  • v0.9.0

    Release Candidate
    • ImprovedREADME, security, development, known issues, and roadmap now describe v0.9.0 Release Candidate status.
    • ImprovedKnown limitations are documented as explicit release decisions: keep, move to v1.x, or fixed.
    • ImprovedFeature freeze documented: only bug fixes, docs, packaging, QA, pipeline polish, and security review before v1.0.
  • v0.8.2

    Light Theme QA Polish
    • FixedLight theme sidebar logo is now readable instead of using the white dark-mode SVG lockup.
    • FixedLight theme green, red, and amber status colors have stronger contrast.
    • FixedThe main window can be resized, maximized, and fullscreened again from the macOS traffic-light controls.
    • FixedWindow centering via Control+C is more reliable and keeps centering on both axes.
    • ImprovedStatus badges, dots, toasts, progress panels, inline errors, and confirmation accents now use shared theme tokens.
    • ImprovedLight theme uses a slightly stronger warm amber accent and clearer panel/input contrast.
  • v0.8.1

    Light Theme & Visual Polish
    • NewWorking theme selector in Settings with system, dark, and light.
    • NewWarm light theme using a soft gray-beige macOS utility palette.
    • NewSystem theme mode that follows macOS appearance.
    • ImprovedCore layout, sidebar, titlebar, status bar, cards, inputs, buttons, dialogs, toasts, and onboarding now use theme tokens.
    • ImprovedRaw output panels and detail surfaces use theme-aware panel colors instead of hardcoded dark backgrounds.
    • ImprovedSettings Appearance copy now describes the active theme behavior.
  • v0.8.0

    Launch Candidate
    • NewAPP_CHANNEL is now Launch Candidate.
    • Newpnpm release:verify as the primary Launch Candidate verification command.
    • NewGitHub issue templates for bug reports and feature requests.
    • ImprovedUpdates wording is standardized around Refresh list and Check for updates.
    • ImprovedCleanup, Doctor, and Brewfile action labels now use consistent launch-candidate wording.
    • ImprovedPackage detail drawer and status bar no longer show placeholder paths or Terminal actions.
  • v0.7.2-beta.3

    Beta QA Fixes
    • FixedSearch results compute installed state from installed formula names and cask tokens instead of trusting lightweight brew search rows.
    • FixedSearch status matching is case-insensitive, using formula.name for formulae and cask.token for casks.
    • FixedInvalid discovery queries no longer trigger brew search; non-allowlisted input shows a friendly local state.
    • FixedStale search results are ignored so older Homebrew responses cannot overwrite newer queries.
    • FixedRust search query validation uses the same allowlisted ASCII package-name characters as the renderer guard.
    • ImprovedUpdates page now has an explicit Check for updates action for brew update, followed by an outdated refresh.
    • SecurityHomebrew metadata updates require confirmation and are logged in History.
  • v0.7.1-beta.2

    Beta Fixes
    • NewFixed main window size to 1180x840.
    • NewWindow centering shortcut via Control+C in the main process (also fn + control + c on macOS keyboards).
    • ImprovedWindow centering uses the current display work area on both horizontal and vertical axes.
  • v0.7.0-beta.1

    Private Beta
    • Newpnpm beta:verify as the private beta verification command.
    • ImprovedHistory storage trims very large stdout/stderr/details payloads to keep localStorage and rendering responsive.
    • ImprovedHistory page renders entries in batches with a Show more control.
    • ImprovedLive progress output trims oversized chunks and keeps only the latest progress lines.
    • ImprovedError states show friendly user-facing messages with expandable technical details.
    • ImprovedPackaged app excludes Rust source and target/ build output while keeping the native .node binding unpacked.
  • v0.6.0-alpha.2

    Private Alpha Polish
    • NewSettings Copy diagnostics action with app version, channel, Homebrew path/version/prefix, architecture, and local counts.
    • NewHistory failed-only filter for faster private alpha triage.
    • NewDashboard last-refreshed state and running-first services preview.
    • Newpnpm alpha:verify, alpha:clean-install, and package:mac:zip helpers for local alpha testing.
    • ImprovedRelease workflow uses version-specific notes when docs/release-notes/<tag>.md exists.
    • SecurityDiagnostics are copied locally by explicit user action only.
    • SecurityAlpha clean-install helper removes Brewwery app/user data only, never Homebrew or its packages.
  • v0.6.0-alpha.1

    Private Alpha
    • NewPrivate alpha install/uninstall guide.
    • NewExpanded QA checklist for packaged app, Homebrew path validation, all major pages, package actions, and security review.
    • NewRelease notes link in Settings About section.
    • SecurityChecklist confirms no generic shell execution, no direct renderer IPC, Rust allowlist, shell: false runner, no sudo, no telemetry, and no paid logic.
  • v0.5.2

    Alpha Hardening
    • Newpnpm package:mac:dir for local packaged .app testing without DMG creation.
    • Newpnpm package:clean for local packaging artifact cleanup.
    • NewAlpha QA checklist for packaged app, tray lifecycle, onboarding, settings, Homebrew states, and safety checks.
  • v0.5.1

    Custom Homebrew Path Validation
    • NewRust validation for custom Homebrew executable paths (absolute path, existence, executable permissions, brew --version).
    • NewLocal main-process persistence and Settings controls to validate, save, and reset a custom Homebrew path.
    • FixedFixed a main-process crash when choosing Open Brewwery from the tray after the original window had been closed.
    • FixedTray actions resolve or create a live BrowserWindow before showing it or sending renderer shortcuts.
    • SecurityInvalid custom paths are rejected before command execution and must pass main-process/Rust validation.
  • v0.5.0

    Distribution & Polish
    • NewProduction macOS electron-builder configuration with app metadata, com.brewwery.app bundle id, and icon wiring.
    • NewUnsigned Apple Silicon DMG and ZIP packaging through pnpm package:mac, plus optional x64/universal scripts.
    • NewGitHub Actions CI and tag-based release workflow for DMG/ZIP upload to GitHub Releases.
    • NewTray menu with Open Brewwery, Check Updates, Run Doctor, Open Terminal, and Quit.
    • NewKeyboard shortcuts and first-launch onboarding for detected and not-found Homebrew states.
    • NewSettings page with detected Homebrew path, history export/clear, manual update check, and About links.
    • SecurityRenderer shortcuts and tray actions use typed app events instead of exposing shell execution.
  • v0.4.1

    Progress Output
    • NewProgress event contracts and allowlisted streaming handlers for install, uninstall, upgrade one, and upgrade all.
    • NewRenderer progress panel showing live stdout/stderr on Search, Packages, Casks, and Updates.
    • ImprovedHistory logging uses final streamed stdout/stderr for install, uninstall, and upgrade operations.
    • SecurityStreaming operations use fixed argv arrays with shell: false; the renderer receives progress events only.
  • v0.4.0

    Search & Discovery
    • NewDedicated Search page with debounced search across formulae and casks using allowlisted commands.
    • NewPackage info with normalized metadata and a detail drawer for discovered packages.
    • NewInstall and uninstall flows for formulae and casks with explicit confirmation, history, and result toasts.
    • SecurityStrict package and cask token validation; all commands stay allowlisted through typed IPC and the Rust core — no shell runner, no sudo, no telemetry.
  • v0.3.2

    History Polish
    • NewSearch field for local operation history.
    • NewExport history as JSON from the renderer.
    • NewCompact result toasts with success/error styling, dismiss, and auto timeout.
    • SecurityHistory export is renderer-local; no filesystem IPC, shell execution, telemetry, or network behavior added.
  • v0.3.1

    Operation Results & History
    • NewLocal operation history store backed by renderer localStorage.
    • NewHistory entries for upgrades, service actions, cleanup, doctor, and Brewfile exports with full output details.
    • NewHistory page with summary cards, filters, expandable output, copy, and clear actions.
    • SecurityOperation history is local-only; no telemetry, sync, or new IPC command surface added.
  • v0.3.0

    Cleanup, Doctor & Brewfile
    • NewRust cleanup, doctor, and Brewfile modules with typed IPC channels and renderer hooks.
    • NewCleanup page with a preview-first workflow and confirmation before brew cleanup.
    • NewDoctor page with diagnostics and a copy action, plus a Brewfile page with export, copy, and read-by-path.
    • SecurityCleanup requires explicit confirmation; Brewfile read validates local paths; no arbitrary shell and no sudo.
  • v0.2.0

    Updates & Services
    • NewRust updates module with list_outdated, upgrade_package, and upgrade_all.
    • NewRust services module with list, start, stop, and restart.
    • NewUpdates page from brew outdated --json=v2 and Services page from brew services list --json.
    • NewConfirmation modals for upgrades and service actions, with loading/empty/error states.
    • SecurityCommand execution stays allowlisted through the Rust addon with name validation and no sudo.
  • v0.1.1

    Package Detail & UX Polish
    • NewPackage and cask detail drawers for installed Homebrew items.
    • NewLocal search, sorting, and formula filters (all, installed on request, dependencies).
    • NewRefresh action, copy name/token/install command, and homepage links.
    • ImprovedReplaced default Electron branding with Brewwery app, dock, menu bar, and UI assets.
    • ImprovedKept v0.1.1 read-only: install, uninstall, upgrade, cleanup, and service actions remain disabled.
  • v0.1.0

    Foundation
    • Newpnpm workspace monorepo with Electron, React, TypeScript, and Vite desktop foundation.
    • NewTailwind dark theme, shadcn/ui-style components, Zustand stores, and a macOS-style app shell.
    • NewRust brewwery-core napi-rs crate and a typed IPC bridge from renderer to Electron main.
    • NewHomebrew detection and info (version, prefix, architecture, path) with normalized formula/cask listing.
    • NewDashboard, Packages, Casks, and status bar backed by real Homebrew data.
    • SecurityRenderer cannot execute shell commands; Rust runs only predefined read-only Homebrew commands, no sudo.