Skip to content

v1.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 14 May 20:39
v1.0.1
e7a7e5e

🔄 BarKeeper v1.0.1

A focused feature release adding the new Alternator resource type, UI clickability improvements, and a new example Feed script.


✨ New Features

⇄ Alternator Resource Type

A new resource type that displays a live string label in the menu bar and switches between discrete states with a single click.

  • The status script prints the current state to stdout (e.g. Personal or Work) — displayed as a pill badge in the resource row
  • The action script is executed on click to advance to the next state, after which the status is automatically re-polled to refresh the badge
  • Full state management: loading indicator, error display, and Notification Center alerts on success or failure
  • Participates in the automatic polling loop alongside toggle resources
  • Fully supported across the Settings editor, resource list, and menu bar view
  • Added to the JSON config schema with "type": "alternator", statusScript, and actionScript fields

Example use cases:

  • Switch between GitHub.com and GitHub Enterprise accounts (gh auth switch)
  • Rotate kubectl contexts (kubectl config use-context)

See the new wiki guide: Switch Git Profile with the Alternator Resource

🖱️ Clickable Icon Areas in Menu Bar View

Navigation icons in the menu bar popup now have an expanded hit area via .contentShape(Rectangle()), making them easier to click — especially on smaller displays.

🚗 New Example: Commute Home Feed Script

Added docs/commute-home-feed.swift — a fully self-contained Swift script that uses MapKit + CoreLocation (no third-party dependencies) to calculate your current driving time home and display it as a Feed resource with trend tracking (faster/slower than last check).


🐛 Bug Fixes

  • Status polling now gracefully handles missing status scripts — resources with no statusScript configured no longer get stuck in a loading state; isLoading is now properly reset and lastChecked is updated.

📖 Documentation

  • README updated to document the Alternator resource type, including a full description, example config JSON, and updated config schema reference table
  • Architecture overview updated to reflect the four resource types now supported
  • Inline code comments cleaned up in ResourceManager.swift

🔧 Internal Changes

  • Added nilIfEmpty utility extension on String in ResourceManager.swift for cleaner optional script handling
  • ResourceEditorView script-saving logic updated to correctly map statusScript and actionScript for alternator resources
  • SettingsView sidebar icon selection updated from a binary toggle/button check to a full switch statement covering all four resource types

📦 Installation

Download BarKeeper.dmg from this release, open it, and drag BarKeeper.app into your Applications folder. The app is signed and notarized.

Checksums (SHA256)

  • DMG: 815d4df707bf45a6757b979d61578196b156d0bf9461044d6603f4b06836bdae
  • ZIP: 7e438201691ff252f3c11d9495481c871e6df5ab29768b8371f3cf750d2f4144

Full Changelog: v1.0.0...v1.0.1

Checksums (SHA256)

  • DMG: 815d4df707bf45a6757b979d61578196b156d0bf9461044d6603f4b06836bdae
  • ZIP: 7e438201691ff252f3c11d9495481c871e6df5ab29768b8371f3cf750d2f4144

Full Changelog: v1.0.0...v1.0.1