Skip to content

v0.1.2 - First Beta Release

Choose a tag to compare

@github-actions github-actions released this 02 Apr 14:14
2bdaab0

🍺 BarKeeper v0.1.2 — First Beta Release

Use your macOS Bar to Keep your environments and shortcuts under control.

This is the first public beta of BarKeeper — a lightweight, native macOS menu bar app for managing resources with one click. Run scripts, monitor the status of applications, or spin up and shutdown cloud resources — all from your macOS top bar.

✨ Features

Menu Bar Native

  • Lives entirely in your macOS menu bar — no Dock icon clutter
  • Custom app icon for the menu bar and application

Two Resource Types

  • Toggle — Stateful on/off controls with three scripts (status, on, off) and live status indicators:
    • 🟢 Green dot — resource is ON (exit code 0)
    • ⚪ Gray dot — resource is OFF (non-zero exit code)
    • 🔴 Red dot — an error occurred during the last action
  • Button — Stateless one-click action that executes a single script immediately. Perfect for one-off tasks like deploying a build, flushing a cache, or opening a dashboard.

Configurable Polling

  • Automatic status checks with adjustable intervals from 1 minute to 1 hour
  • Manual-only polling option (set interval to 0)

Settings UI

  • Full add / edit / delete resource management through a native SwiftUI settings window with sidebar navigation
  • Resource editor form for configuring scripts, names, and resource types
  • Settings window opens reliably and comes to the front

JSON Import & Export

  • Export your entire configuration as a portable BarKeeper-config.json file for sharing or backup
  • Import a JSON configuration file (replaces the current config and refreshes all statuses immediately)

Built-in Azure Fabric Capacity Template

  • Pre-configured resource template for Azure Fabric Capacity management (resume/suspend) to get started instantly with Azure CLI

Shell Script Execution

  • Scripts run using your default login shell ($SHELL -l -c "...") so Homebrew, nvm, pyenv, custom PATH entries, and tools like az CLI are all available
  • stdout and stderr captured separately and trimmed
  • Exit code determines success or failure

Version Label

  • App version displayed in the menu bar popup
  • Development builds clearly marked when version is not injected by CI

🛠 Developer & Project Infrastructure

  • XcodeGen-powered — Xcode project is generated from project.yml and never committed to the repo
  • Environment-based code signingDEVELOPMENT_TEAM resolved from an environment variable, keeping signing credentials out of source
  • Hardened Runtime enabled for Gatekeeper compatibility
  • Automated CI/CD release pipeline via GitHub Actions:
    • Build → Code Sign (Developer ID) → Notarize with Apple → Package as .dmg and .zip → Draft GitHub Release with SHA256 checksums
    • Version and build number automatically injected from git tag and run number
  • Comprehensive documentation — README with screenshots, getting started guide, script examples, architecture overview, troubleshooting table, and security considerations
  • Release pipeline docs (docs/RELEASE.md) covering all pipeline stages, required secrets, and troubleshooting
  • CODEOWNERS file for review assignment
  • MIT Licensed

📋 System Requirements

  • macOS 15.0+ (Sequoia)
  • Xcode 16+ / Swift 6.0+ (for building from source)
  • (Optional) Azure CLI for the built-in Azure template

📦 Installation

Download BarKeeper.dmg from this release, open it, and drag BarKeeper.app into your Applications folder. The app is signed and notarized — macOS Gatekeeper will allow it to run without any additional steps.

🔮 What's Next

We have exciting features planned for upcoming releases:

⚠️ Known Limitations

This is a beta release — please report any bugs via GitHub Issues. Key things to keep in mind:

  • Config is stored in cleartext at ~/Library/Application Support/BarKeeper/config.json — avoid storing secrets directly in scripts
  • App Sandbox is disabled (required for arbitrary shell command execution)
  • Scripts run with your full user privileges

Checksums (SHA256)

  • DMG: 2e3a06bb739378beeb87f6d14c77daa0c7d69b294f94f1f8aed36afe06738e1e
  • ZIP: 16cbea0b82136e5b671b6f2a488a248e2269dd9ae2c33e4e159e2c67d16e7bb7

Full Changelog: v0.1.1...v0.1.2