Releases: steipete/RepoBar
Releases · steipete/RepoBar
RepoBar 0.4.2
- Remove misleading page-size count badges from Releases, Discussions, Tags, Branches, and Contributors submenu rows.
- Sort repository activity events by timestamp so repo submenus do not show stale activity when GitHub returns events out of order.
- Refresh the RepoBar website with a cleaner minimal design, dark-mode support, and clearer install/setup copy.
RepoBar 0.4.1
- Add a menu bar GitHub rate-limit meter and a detailed GitHub Rate Limits menu with grouped resource buckets, progress bars, reset times, and GraphQL/API bucket data from GitHub's
/rate_limitendpoint. - Move GitHub rate-limit status above the repository filter bar, expose it from the profile submenu, and keep the menu bar meter, main menu row, CLI, and debug output on the same refreshed snapshot.
- Widen and streamline the Repositories settings browser with cached row filtering, lighter visibility controls, and corrected issue/pull request counts when GitHub's
open_issues_countincludes pull requests. - Keep hosted recent-list menu rows visible so the Open Actions submenu no longer opens blank.
- Fix profile-submenu activity by merging cached per-repository
latestActivityevents when full activity arrays are not present. - Clarify endpoint cooldown messages so per-endpoint backoff does not look like a global GitHub rate-limit failure.
- Add the RepoBar traffic-light emoji to the README title.
RepoBar 0.4.0
- Fix Issues submenus when GitHub returns pull requests in the REST issues feed before actual issues, surface GitHub rate limits in the menu UI, and add usable recent-list/REST logs for debugging stuck submenu loads.
- Keep cached repo submenus wired to their recent Issues/PR loaders after menu filter rebuilds so nested lists do not stay stuck on “Loading…”.
- Rebuild the open menu when hydrated repository counts arrive so PR badges no longer stay at the cheap REST-list placeholder value.
- Seed first-open menu rows from the persistent cache, using cached repo-detail PR counts instead of showing a loading spinner when SQLite already has data.
- Rebuild the contribution/profile submenu when global GitHub activity finishes loading, and add a GitHub Rate Limits submenu with live REST/GraphQL plus persisted REST resource limits.
- Fetch pagination-header-based PR/commit counts without conditional ETag reuse so cached bodies cannot collapse counts to one item.
- Clamp SwiftUI-hosted menu row measurements and give plain hosted rows intrinsic vertical sizing so first-open menu layout cannot inflate into an oversized scroll well.
- Add the GRDB-backed persistent REST cache foundation plus RepoBar-owned GitHub archive source settings/CLI commands, explicitly avoiding gitcrawl config discovery.
- Add CLI cache diagnostics/clear commands and archive status/validate/update commands so the new cache/archive surfaces are script-testable.
- Make RepoBar's SQLite ETag cache authoritative by bypassing URLSession's local HTTP cache for conditional GitHub REST requests.
- Add persistent GraphQL response caching, native gzip archive import, archive issue/PR readers with rate-limit fallback, and Settings archive update/status controls.
- Fix release tagging when Git is configured to sign tags by default.
RepoBar 0.3.0
- Stop requesting broad OAuth repository scopes for the built-in GitHub.com GitHub App login; custom Enterprise OAuth still requests
repo read:org. - Clarify private organization repository access: Accounts now links to the RepoBar GitHub App installation, docs explain the installation/PAT boundary, and direct repo 404s say when a repo is not visible to the current token.
- Fix release signing defaults so Developer ID builds strip the shared keychain access group unless explicitly enabled with a provisioning profile (#44, thanks @Chefski).
- Sign bundled helper binaries without app-only entitlements so the CLI is not rejected by AMFI.
- Default SwiftPM debug CLI/test auth to file-backed storage so local runs do not trigger Keychain prompts.
- Fix owner-filtered CLI repo lists so
--limitis applied after filtering by owner. - Turn the Repositories settings tab into a searchable browser for accessible repos with pinned/hidden state.
- Improve macOS 26 menubar attachment compatibility by updating MenuBarExtraAccess and using its required modifier order (#47, thanks @jviehhauser).
- Prevent duplicate repository entries from crashing refresh or menu rendering.
- Fix awkward cooldown error copy.
- Bound long-lived menu/API caches to avoid gradual memory growth.
- Update README install/setup guidance for the 0.3.0 flow and point Homebrew users at the official cask.
- Add the MIT license.
- Update Swift package and npm dependencies, including MenuBarExtraAccess compatibility work.
- Update GitHub Actions pins, opt actions into the Node 24 runtime, and make CI Homebrew tool installation idempotent.
- Strengthen SwiftLint and SwiftFormat rules and apply the current formatter output.
RepoBar 0.2.0
- Fix the menu getting stuck on “Loading repositories…” by staging the initial repo list load.
- Fix menubar clicks doing nothing by attaching the status item via a fallback path.
- Add Personal Access Token authentication with persistence + logout fixes (#21, thanks @kkiermasz).
- Add GitHub.com vs Enterprise login picker with OAuth help text (#4).
- Show OAuth errors in Accounts sign-in UI (#6).
- Add token status checks + forced refresh buttons in Settings for debugging auth issues.
- Prevent token check/refresh from hanging; add timeouts and diagnostics logging.
- Detect auth failures (401/refresh errors) and log out cleanly with a clearer message.
- Preserve keychain access groups in signed builds so app + CLI share tokens (#16, thanks @jj3ny).
- Allow importing GitHub CLI tokens with host matching and no refresh loop (#24, thanks @bahag-chaurasiak).
- Surface a clear error when the OAuth loopback port is already in use (#17, thanks @kiranjd).
- Add “Show only my repositories” toggle (owner filter) for repo lists and search.
- Fix the toggle to reset to “show all” when disabled; disable it when signed out.
- Fix commit links to respect GitHub Enterprise host (#9).
- Make pinned/hidden repo matching case-insensitive (fixes private repo pinning edge cases).
- Keep the menu open after pin/unpin/hide/move actions (#25, thanks @bahag-chaurasiak).
- Make Local Projects scan depth configurable (default 4) (#11, thanks @shunkakinoki).
- Stabilize repo settings autocomplete (no spinner layout wiggle), widen the dropdown, show repo stats/badges, fix filtering/hover/scroll, and anchor/size the dropdown to results (no bounce on shrink).
- Widen Enterprise Base URL field and shrink auth progress indicators to avoid layout jumps.
- Derive activity commit links from repo URL when event repo name is missing or malformed.
- iOS: update app icon + logo assets.
RepoBar 0.1.2
- iOS app preview (not finished, not in the App Store yet): repo list/cards, activity feed, detail drill‑downs, login/settings, icons/branding, and continued auth/UI polish.
- CLI parity expansion: new repo list subcommands (releases, CI runs, discussions, tags, branches, contributors, commits, activity) plus
--owner/--minefilters. - CLI local actions + settings: sync/rebase/reset/checkout, branch/worktree listings, Finder/Terminal open; pin/hide and settings show/set; installer for
repobar. - Changelog UX: submenu preview improvements plus Markdown rendering upgrades (block layout, scrollable preview, header alignment).
- Changelog UX: show the first released section headline in the submenu badge (skips Unreleased).
- Changelog UX: prefetch on repo submenu open and refresh the badge after load.
- Changelog UX: switch to Swift Markdown AST parsing for cross-platform block rendering.
- Releases submenu: show latest release name next to the count badge.
- Menu customization: Display settings to reorder/hide main menu and repo submenu items (reset to defaults), with spacing tweaks.
- Logging/diagnostics: swift-log integration with OSLog + optional file logging; debug logging settings for macOS/iOS.
- Reliability: menu rehydrate on attach, invalidate empty menu cache, stabilize contribution header heatmap size, limit “More” submenus to 20 entries.
- Repo access + errors: include org/collaborator repos, improve repo detail error messaging, cache discussions capability and hide disabled entries.
RepoBar 0.1.1
- Fix CLI: allow invoking bundled
repobarclidirectly (argv0 normalization).
RepoBar 0.1.0
First public release of RepoBar — a macOS menubar dashboard for GitHub repo health, activity, and local project state.
Highlights
- Live repository cards with CI status, activity, releases, and rate‑limit awareness.
- Rich submenus for recent pull requests, issues, releases, workflow runs, discussions, tags, branches, and commits.
- Local Git state surfaced directly in the menu (branch, upstream/ahead/behind, dirty files, worktrees) with safe actions.
- Contribution heatmap header and global activity feed.
- Fast, native menu UI with adaptive layout and caching for performance.
Feature overview
- Menubar experience
- Repository cards with stats (stars, forks, issues, last push), CI badge, activity preview, and optional heatmaps.
- Pinned/hidden repos, menu filters, and configurable sorting.
- Empty/logged‑out states that explain what to do next.
- Recent activity & insights
- Pull requests, issues, releases, workflow runs, discussions, tags, branches, and commit lists per repo.
- Global activity menu with recent events and commits.
- Activity links deep‑link to the most relevant GitHub pages.
- Local projects & Git actions
- Local repo status: current branch, upstream sync, dirty counts, and file lists.
- Worktree and branch menus with metadata and quick actions.
- Open in Finder/Terminal, checkout, create branch/worktree, sync/rebase/reset.
- Auth & API
- OAuth login, secure token refresh, and shared core used by the CLI.
- Rate‑limit awareness and caching to minimize GitHub API usage.
- Contribution heatmap
- Header heatmap (cached) with the ability to refresh and clear cache.
- Optional menu heatmaps aligned to a week‑based date range.
- Performance & reliability
- Cached repo details, activity, and heatmaps for a snappy menu.
- Menu layout caching, reuse of menu items, and debounced refresh.
- Timeouts and graceful fallback for slow network requests.
- CLI (
repobar)- Status and repo listings with filters, JSON/plain output, and release info.
- Commands for issues/pulls lists, pinned/hidden scopes, and activity age filtering.
- Updates
- Sparkle updater for signed builds with update‑ready menu entry and full dialog flow.
- Developer tooling
- SwiftPM + pnpm scripts, lint/format, Apollo GraphQL codegen.
- Release pipeline with signing, notarization, and Sparkle appcast generation.