Skip to content

Releases: joshbeard/BrewBar

v1.0.0

02 May 19:41
a0fa1c7

Choose a tag to compare

Added

  • Settings window (macOS Settings / Preferences): update-check interval and custom intervals, login item and notification toggles, editable default brew update / brew upgrade argument lists, and a Terminal tab for embedded-terminal appearance (match system, always light, or always dark) and color preset (Catppuccin or System neutral chrome) with a live preview.
  • Package info sheet on both Outdated and Installed tabs: tap the package name or the info icon to run brew info / brew info --cask and view output with basic formatting (section headers, links, emphasized labels).
  • Confirmation before uninstalling (single package, Uninstall Selected, and outdated list); Uninstall Selected now removes every selected package in one brew uninstall command (with correct --cask placement per row).
  • About BrewBar using the standard About panel: copyright line, credits with a clickable GitHub link, and a menu-bar item to open it when the app menu is available.
  • Dock icon when Settings (or the packages window) is shown: the app temporarily promotes to a regular activation policy and calls unhide so the Dock tile appears, then returns to menu-bar-only when all such windows are closed.
  • BrewBarApp + AppState: SwiftUI @main entry, observable app state, and a slimmer AppDelegate focused on lifecycle and window callbacks.
  • Test notification button plus notification diagnostics in Settings.

Changed

  • Packages window is built with SwiftUI (OutdatedPackagesView + NSHostingController); legacy window controllers and MenuBarManager are removed.
  • Menu bar content is SwiftUI-driven from shared AppState (status text, intervals, actions, Settings link, About, GitHub link, quit).
  • Embedded terminal (SwiftTerm): theme follows Settings; completion line is written before the process-end handler so messages still render when the view dismisses.
  • After a successful brew update (exact match to your configured update command), the inline terminal closes automatically and returns to the package list.
  • Alerts for “task still running” (leaving the terminal or closing the packages window) use SwiftUI .alert instead of NSAlert.
  • Optimistic list updates after uninstall now drop all package names from the uninstall argv, not only the first.
  • Timer scheduling for background checks is anchored from the last run to reduce drift after sleep/wake.
  • Local build and release signing now injects version metadata before Xcode signs the app, verifies signed bundles instead of re-signing them, and avoids generated broad entitlements.
  • Notification delivery uses a single modern UserNotifications path with @MainActor, async authorization, foreground presentation, and no launch-time permission prompt.

Removed

  • main.swift / ContentView entry path, MenuBarManager, WindowControllers, CrashReporter, and the unused app entitlements file.

Fixed

  • System terminal preset respects Always light / Always dark by using fixed light/dark chrome and setting NSAppearance on the terminal view, instead of following only the window’s dark chrome.
  • Compiler / SwiftUI: split the outdated-packages tab into smaller view builders to avoid type-check timeouts in Release builds.
  • Update notifications now compare the actual outdated package/version set instead of only the package count, so same-count update changes still notify.
  • Notification permission failures caused by invalid/ad hoc local builds were traced to signing and build-script behavior; generated BrewBar.app bundles now keep valid sealed resources.

Full Changelog: v0.0.19...v1.0.0

v0.0.19

18 Apr 16:43
76ee4ff

Choose a tag to compare

Full Changelog: v0.0.18...v0.0.19

v0.0.18

18 Apr 06:06
052abd0

Choose a tag to compare

Full Changelog: v0.0.17...v0.0.18

v0.0.17

18 Apr 05:16
3543442

Choose a tag to compare

What's Changed

  • build(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #1

New Contributors

Full Changelog: v0.0.15...v0.0.17

v0.0.16

18 Apr 05:09
6251b87

Choose a tag to compare

Full Changelog: v0.0.15...v0.0.16

v0.0.15

18 Apr 05:02
6305d9d

Choose a tag to compare

Full Changelog: v0.0.14...v0.0.15

v0.0.14

18 Apr 04:47
b3167e7

Choose a tag to compare

Full Changelog: v0.0.13...v0.0.14

v0.0.13

18 Apr 04:33
7fea068

Choose a tag to compare

Full Changelog: v0.0.12...v0.0.13

v0.0.12

18 Apr 04:22
4c8fd9a

Choose a tag to compare

Full Changelog: v0.0.11...v0.0.12

v0.0.11

18 Apr 03:52
0597d8f

Choose a tag to compare

Full Changelog: v0.0.10...v0.0.11