Releases: joshbeard/BrewBar
Releases · joshbeard/BrewBar
v1.0.0
Added
- Settings window (macOS Settings / Preferences): update-check interval and custom intervals, login item and notification toggles, editable default
brew update/brew upgradeargument 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 --caskand 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 uninstallcommand (with correct--caskplacement 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
unhideso the Dock tile appears, then returns to menu-bar-only when all such windows are closed. BrewBarApp+AppState: SwiftUI@mainentry, observable app state, and a slimmerAppDelegatefocused 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 andMenuBarManagerare 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
.alertinstead ofNSAlert. - 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
UserNotificationspath with@MainActor, async authorization, foreground presentation, and no launch-time permission prompt.
Removed
main.swift/ContentViewentry 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
NSAppearanceon 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.appbundles now keep valid sealed resources.
Full Changelog: v0.0.19...v1.0.0
v0.0.19
Full Changelog: v0.0.18...v0.0.19
v0.0.18
Full Changelog: v0.0.17...v0.0.18
v0.0.17
What's Changed
- build(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #1
New Contributors
- @dependabot made their first contribution in #1
Full Changelog: v0.0.15...v0.0.17
v0.0.16
Full Changelog: v0.0.15...v0.0.16
v0.0.15
Full Changelog: v0.0.14...v0.0.15
v0.0.14
Full Changelog: v0.0.13...v0.0.14
v0.0.13
Full Changelog: v0.0.12...v0.0.13
v0.0.12
Full Changelog: v0.0.11...v0.0.12
v0.0.11
Full Changelog: v0.0.10...v0.0.11