Skip to content

Latest commit

 

History

History
1350 lines (1074 loc) · 130 KB

File metadata and controls

1350 lines (1074 loc) · 130 KB

Changelog

v0.7.7-beta.1

Bug Fixes

  • Account-first Phase 1: account registry, default identity, cache stamp, plain-matching CLI/API (#1027) by @robinebers
  • Account-first Phase 0: shell-environment snapshot + the plan (#1026) by @robinebers
  • Cache parsed local usage logs across launches (#1017) by @robinebers

Changelog

Full Changelog: v0.7.6...v0.7.7-beta.1

  • 7723025 Account-first Phase 1: account registry, default identity, cache stamp, plain-matching CLI/API (#1027) by @robinebers
  • d785f7e Account-first Phase 0: shell-environment snapshot + the plan (#1026) by @robinebers
  • 6a2d74d Cache parsed local usage logs across launches (#1017) by @robinebers

v0.7.6

New Features

  • Hide menu bar usage while the screen is shared (#1013) by @robinebers
  • Fold pi coding agent usage into Claude and Codex (#975) by @jal-co
  • Sync usage history across Macs with iCloud (#984) by @robinebers
  • Add a machine-readable limits API and global openusage command (#982) by @robinebers
  • Read the existing Claude Desktop login safely as a read-only fallback (#962) by @robinebers
  • Add hover-revealed screenshot copying to provider headers (#989) by @robinebers

Bug Fixes

  • Fix menu-bar icon not closing panel on second click at top of screen (#1012) by @robinebers
  • Fix ~20x Codex spend inflation from subagent replay logs (#1001) by @robinebers
  • Fix Claude and Codex token cost calculations, including Codex fast-tier pricing from session logs (#995) by @validatedev
  • Accept xhigh effort suffix on Grok 4.5 alias rules (#999) by @robinebers
  • Restore Cursor Enterprise included-request and on-demand usage (#986) by @iicdii
  • Keep Sparkle updater windows in the foreground during manual updates (#985) by @robinebers
  • Follow symlinked log directories when scanning local usage (#973) by @robinebers
  • Recognize Cursor Grok 4.5 usage slugs (#981) by @robinebers

Chores

  • Update Grok provider logo (#1005) by @robinebers
  • Keep inactive issues open for 30 days before warning (#998) by @robinebers
  • Ignore the .build-test directory by @robinebers

Changelog

Full Changelog: v0.7.5...v0.7.6

  • 89e4b82 Hide menu bar usage while the screen is shared (#1010) (#1013) by @robinebers
  • 0d236d8 Fix menu-bar icon not closing panel on second click at top of screen (#1012) by @robinebers
  • c3777d5 Update Grok provider logo (#1005) by @robinebers
  • de0fec9 feat(providers): fold pi coding agent usage into Claude and Codex (#975) by @jal-co
  • 99d1ab3 docs: changelog for v0.7.6-beta.3 by @robinebers
  • 55dd61f Fix ~20x Codex spend inflation from subagent replay logs (#1001) by @robinebers
  • acc032f fix: make iCloud sync in-flight tests deterministic (#1000) by @robinebers
  • 27fb007 Merge pull request #999 from robinebers/fix/grok-45-xhigh-alias by @robinebers
  • bd49afa fix(pricing): accept xhigh effort suffix on grok-4.5 alias rules by @robinebers
  • f7e1752 docs: changelog for v0.7.6-beta.2 by @robinebers
  • be6e3d7 Merge pull request #998 from robinebers/cursor/cea9ec49 by @robinebers
  • e145e7a chore(stale): keep inactive issues open for 30 days before warning by @robinebers
  • a0569bd Merge pull request #995 from robinebers/fix/token-cost-calculation-disperancies by @validatedev
  • cfdfdd0 fix: price Codex fast tier per session from rollout logs, not config.toml by @robinebers
  • 0d0136d fix: handle persisted Claude print usage and Codex fast aliases by @validatedev
  • bfb325c fix: correct token cost calculations by @validatedev
  • 8674407 docs: changelog for v0.7.6-beta.1 by @robinebers
  • 47cc6c7 Merge pull request #962 from robinebers/cursor/5daa197a by @robinebers
  • a305236 Merge pull request #985 from robinebers/codex/fix-sparkle-update-focus by @robinebers
  • 4cb0841 fix(claude): try Desktop before environment fallback by @robinebers
  • 09ef91c Merge pull request #986 from iicdii/fix/cursor-enterprise-usage by @iicdii
  • 17ec2b9 Merge pull request #989 from robinebers/codex/provider-header-copy-feedback by @robinebers
  • 71c7694 Refine provider header copy controls by @robinebers
  • 3ac257c fix(claude): pick Desktop token by client/scope rank, not max expiry by @robinebers
  • 1e65178 feat: read Claude Desktop login safely by @robinebers
  • d514522 docs: add Cursor Enterprise live screenshot by @iicdii
  • 022286f fix(cursor): show enterprise included and on-demand usage by @iicdii
  • aa51755 Merge remote-tracking branch 'origin/main' into codex/fix-sparkle-update-focus by @robinebers
  • a8c8fa5 Merge pull request #984 from robinebers/codex/icloud-usage-sync by @robinebers
  • 74ef79f Stop merging disabled provider history by @robinebers
  • c1c131c Persist iCloud device identity in Keychain by @robinebers
  • eb71e79 Accept team-prefixed iCloud profiles by @robinebers
  • 27d3fec Bound synced history to refresh window by @robinebers
  • 7fb7722 Fix Sparkle updater window activation by @robinebers
  • b0c88a0 Preserve history across scan misses by @robinebers
  • e4b9fba add .build-test/ to .gitignore by @robinebers
  • 23e4e77 Fix iCloud sync update races by @robinebers
  • ed659c6 Merge pull request #973 from robinebers/claude/github-issue-971-0b9423 by @robinebers
  • b71b371 Polish iCloud sync settings by @robinebers
  • ba515c9 Auto-detect iCloud development profiles by @robinebers
  • 30cdf85 Fix iCloud provisioning and sync activity state by @robinebers
  • e68b7c1 Refine iCloud sync status by @robinebers
  • 9f3f8b6 Add iCloud usage sync by @robinebers
  • 6d83bca Merge pull request #982 from robinebers/agent/one-shot-openusage-cli by @robinebers
  • 5292c15 Share provider ordering across limits surfaces by @robinebers
  • 2b3e7f7 Expose provider refresh errors in limits by @robinebers
  • fa6ac11 Add machine-readable limits CLI by @robinebers
  • bd9353d Add one-shot shared-core usage CLI by @robinebers
  • b728d6b Merge pull request #981 from robinebers/fix/pricing-cursor-grok-4.5-prefix by @robinebers
  • 00d2d7e fix(pricing): recognize cursor-grok-4.5 usage slugs by @robinebers
  • b75e329 fix: strip the resolved dir prefix when deduping Codex session files by @robinebers
  • 4d8bbd6 docs: polish the symlink note in the Claude spend-tiles doc by @robinebers
  • 15b0976 Follow symlinked log directories when scanning local usage by @Linyxus

v0.7.6-beta.3

Bug Fixes

  • Fix ~20x Codex spend inflation from subagent replay logs (#1001) by @robinebers
  • Make iCloud sync in-flight tests deterministic (#1000) by @robinebers
  • Accept xhigh effort suffix on Grok 4.5 alias rules (#999) by @robinebers

Changelog

Full Changelog: v0.7.6-beta.2...v0.7.6-beta.3

  • 55dd61f Fix ~20x Codex spend inflation from subagent replay logs (#1001) by @robinebers
  • acc032f fix: make iCloud sync in-flight tests deterministic (#1000) by @robinebers
  • 27fb007 Merge pull request #999 from robinebers/fix/grok-45-xhigh-alias by @robinebers
  • bd49afa fix(pricing): accept xhigh effort suffix on grok-4.5 alias rules by @robinebers

v0.7.6-beta.2

Bug Fixes

  • Fix Claude and Codex token cost calculations, including Codex fast-tier pricing from session logs (#995) by @validatedev

Chores

  • Keep inactive issues open for 30 days before warning (#998) by @robinebers

Changelog

Full Changelog: v0.7.6-beta.1...v0.7.6-beta.2

  • be6e3d7 Merge pull request #998 from robinebers/cursor/cea9ec49 by @robinebers
  • e145e7a chore(stale): keep inactive issues open for 30 days before warning by @robinebers
  • a0569bd Merge pull request #995 from robinebers/fix/token-cost-calculation-disperancies by @validatedev
  • cfdfdd0 fix: price Codex fast tier per session from rollout logs, not config.toml by @robinebers
  • 0d0136d fix: handle persisted Claude print usage and Codex fast aliases by @validatedev
  • bfb325c fix: correct token cost calculations by @validatedev

v0.7.6-beta.1

New Features

  • Read the existing Claude Desktop login safely as a read-only fallback (#962) by @robinebers
  • Sync usage history across Macs with iCloud (#984) by @robinebers
  • Add a machine-readable limits API and global openusage command (#982) by @robinebers
  • Add hover-revealed screenshot copying to provider headers (#989) by @robinebers

Bug Fixes

  • Restore Cursor Enterprise included-request and on-demand usage (#986) by @iicdii
  • Keep Sparkle updater windows in the foreground during manual updates (#985) by @robinebers
  • Follow symlinked log directories when scanning local usage (#973) by @robinebers
  • Recognize Cursor Grok 4.5 usage slugs (#981) by @robinebers

Chores

  • Ignore the .build-test directory by @robinebers

Changelog

Full Changelog: v0.7.5...v0.7.6-beta.1

  • 47cc6c7 Merge pull request #962 from robinebers/cursor/5daa197a by @robinebers
  • a305236 Merge pull request #985 from robinebers/codex/fix-sparkle-update-focus by @robinebers
  • 4cb0841 fix(claude): try Desktop before environment fallback by @robinebers
  • 09ef91c Merge pull request #986 from iicdii/fix/cursor-enterprise-usage by @robinebers
  • 17ec2b9 Merge pull request #989 from robinebers/codex/provider-header-copy-feedback by @robinebers
  • 71c7694 Refine provider header copy controls by @robinebers
  • 3ac257c fix(claude): pick Desktop token by client/scope rank, not max expiry by @robinebers
  • 1e65178 feat: read Claude Desktop login safely by @robinebers
  • d514522 docs: add Cursor Enterprise live screenshot by @iicdii
  • 022286f fix(cursor): show enterprise included and on-demand usage by @iicdii
  • aa51755 Merge remote-tracking branch origin/main into updater-focus work by @robinebers
  • a8c8fa5 Merge pull request #984 from robinebers/codex/icloud-usage-sync by @robinebers
  • 74ef79f Stop merging disabled provider history by @robinebers
  • c1c131c Persist iCloud device identity in Keychain by @robinebers
  • eb71e79 Accept team-prefixed iCloud profiles by @robinebers
  • 27d3fec Bound synced history to refresh window by @robinebers
  • 7fb7722 Fix Sparkle updater window activation by @robinebers
  • b0c88a0 Preserve history across scan misses by @robinebers
  • e4b9fba add .build-test/ to .gitignore by @robinebers
  • 23e4e77 Fix iCloud sync update races by @robinebers
  • ed659c6 Merge pull request #973 from robinebers/claude/github-issue-971-0b9423 by @robinebers
  • b71b371 Polish iCloud sync settings by @robinebers
  • ba515c9 Auto-detect iCloud development profiles by @robinebers
  • 30cdf85 Fix iCloud provisioning and sync activity state by @robinebers
  • e68b7c1 Refine iCloud sync status by @robinebers
  • 9f3f8b6 Add iCloud usage sync by @robinebers
  • 6d83bca Merge pull request #982 from robinebers/agent/one-shot-openusage-cli by @robinebers
  • 5292c15 Share provider ordering across limits surfaces by @robinebers
  • 2b3e7f7 Expose provider refresh errors in limits by @robinebers
  • fa6ac11 Add machine-readable limits CLI by @robinebers
  • bd9353d Add one-shot shared-core usage CLI by @robinebers
  • b728d6b Merge pull request #981 from robinebers/fix/pricing-cursor-grok-4.5-prefix by @robinebers
  • 00d2d7e fix(pricing): recognize cursor-grok-4.5 usage slugs by @robinebers
  • b75e329 fix: strip the resolved directory prefix when deduping Codex session files by @robinebers
  • 4d8bbd6 docs: polish the symlink note in the Claude spend-tiles documentation by @robinebers
  • 15b0976 Follow symlinked log directories when scanning local usage by @Linyxus

v0.7.5

New Features

  • Claim Codex rate-limit resets from the popover (#972) by @robinebers

Bug Fixes

  • Fix Codex window routing by duration (#980) by @robinebers

Changelog

Full Changelog: v0.7.4...v0.7.5

  • e1ddf23 Fix Codex window routing by duration by @robinebers
  • 50e0a94 fix: say what we know when disabling Use after nothing_to_reset by @robinebers
  • 7b6d4a9 fix: retry the post-claim refresh on transient failure; drop the unused popover title by @robinebers
  • ad59baf fix: close the second review's three findings on the claim hardening by @robinebers
  • ce755b9 fix: harden the resets claim per review findings by @robinebers
  • be00fe2 feat: wire the resets claim to the real Codex consume endpoint by @robinebers
  • bb46eae feat: animate the resets claim flow by @robinebers
  • 20fb41f feat: claim flow in the Codex resets popover (mocked claim) by @robinebers

v0.7.4

New Features

  • Cross-provider Total Spend ring card with morphing sectors, provider brand colors, a settings toggle, and capability gating (#857) by @robinebers
  • Add Cost / Tokens / Cost/MTok menu to the Total Spend card (#906) by @robinebers
  • Add OpenCode provider (Zen / Go) from local logs (#969) by @robinebers
  • Add GPT-5.6 pricing aliases (#880) by @robinebers
  • Add Grok 4.5, Kimi K2.7 Code, and Claude 4.7 Opus pricing aliases (#907) by @robinebers
  • Add a hover affordance to Usage Trend values (#881) by @robinebers
  • Replace the Codex resets tooltip with a hover popover and highlight the value on hover (#879) by @robinebers
  • Add hover highlight on spend-row values so the model breakdown reads as interactive (#877) by @claude

Bug Fixes

  • Improve Options legibility when Increase Transparency is on (#963) by @validatedev
  • Isolate Claude usage cache when the login changes (#953) by @robinebers
  • Prefer profile-scoped Claude login over an inference-only environment token for live usage (#865) by @joshuavial
  • Bind Antigravity credential caches to verified local state and purge on logout (#961) by @robinebers
  • Keep local credential files private (#910) by @robinebers
  • Encode OAuth refresh form values correctly (#911) by @robinebers
  • Validate Cursor usage exports without dropping primary usage (#948) by @robinebers
  • Mark Cursor spend as estimated (#886) by @robinebers
  • Reject malformed Z.ai quota values (#951) by @robinebers
  • Fix request-wide long-context pricing and price GPT-5.6 fast variants correctly (#885, #889) by @robinebers
  • Match Cursor's grok-4.5-fast-high pricing slug order (#908) by @robinebers
  • Clear the update banner after the available update is resolved (#882) by @robinebers
  • Keep launch-at-login errors visible (#887) by @robinebers
  • Bound concurrent log parsing and report unreadable usage files without repeated warnings (#888, #890) by @robinebers
  • Preserve the initial popover height and measure it against the correct display (#904) by @robinebers
  • Show Codex usage percentages as reported while keeping near-empty pacing calm (#905) by @robinebers
  • Improve Codex resets popover edge cases (imminent “soon”, zero vs unfetched, two-unit day scale) (#879) by @robinebers
  • Never drop an enablement wake posted mid refresh pass; probe credentials concurrently (#856) by @robinebers
  • Anchor tooltips to the hovered item, balance wrapped lines, and use the cursor’s screen for zero-size anchor fallback (#858) by @robinebers
  • Scope Total Spend to providers with real spend tiles; show the card even when the dashboard is empty (#857) by @robinebers
  • Disable hover tooltips in share-card renders by @robinebers
  • Remove the legacy Tauri autostart LaunchAgent on launch (#876) by @claude
  • Single-instance decisions must not trust the LaunchServices snapshot (#873) by @xuing
  • Center the Total Spend share arrow like the provider header icons by @robinebers
  • Clear the value highlight when the panel closes by @claude

Refactor

  • Extract layout persistence, startup rules, dashboard sections, and panel management into focused components (#895, #896, #897, #898, #899, #900, #902, #952) by @robinebers
  • Extract PanelHeightCoordinator, StatusItemImageUpdater, QuotaNotificationEvaluator, and PopoverNavigationStore (#869, #870, #871, #872) by @robinebers
  • Simplify refresh coalescing, popover visibility, and model-share computation (#891, #893, #894) by @robinebers
  • Remove dead UI and provider code paths (#883, #950) by @robinebers
  • DRY / dead-code / KISS cleanup from code-quality audit (#868) by @robinebers

Chores

  • Refresh price lists hourly instead of daily (#909) by @robinebers
  • Sync documentation with current app behavior (#884, #914) by @robinebers
  • Test the real metric-divider path (#892) by @robinebers
  • Update README screenshot and version query on screenshot URL by @robinebers
  • Fix Pages deploy recovery in release skill to use main ref by @robinebers
  • Bump PostHog iOS 3.64.1 → 3.64.5 (#960) by @dependabot[bot]
  • Bump actions/deploy-pages 4 → 5 (#958) by @dependabot[bot]
  • Bump actions/upload-pages-artifact 3 → 5 (#959) by @dependabot[bot]

Changelog

Full Changelog: v0.7.3...v0.7.4

  • 766d035 Address review findings: fail loudly on unreadable OpenCode sources by @robinebers
  • e59c86f Fix stale-anchor Go plan badge (Bugbot) by @robinebers
  • 1bfb96a Add OpenCode provider (Zen / Go) from local logs by @robinebers
  • b2aa491 fix(ui): reinforce Options glass in transparent mode by @validatedev
  • 8755f62 docs: align credential probe guidance by @robinebers
  • 43e20fd docs: correct residual behavior claims by @robinebers
  • 113f84a docs: sync current app behavior by @robinebers
  • a378387 docs: finish layout terminology cleanup by @robinebers
  • 710a75e docs: use current layout section names by @robinebers
  • 5c47e8b refactor: split layout store responsibilities by @robinebers
  • 1fcdbf2 refactor: align metric and API-key contracts by @robinebers
  • d7355ad refactor: remove dead text widget parsing by @robinebers
  • 61cc416 docs: describe current refresh and metric paths by @robinebers
  • 8042c14 test: align coverage with live contracts by @robinebers
  • 5ffba86 refactor: remove dead UI and provider paths by @robinebers
  • d31d37b Reuse shared numeric parsing for Z.ai by @robinebers
  • 3db9090 Keep unknown Z.ai windows forward compatible by @robinebers
  • be28ac6 Reject malformed Z.ai quota values by @robinebers
  • 6dc87ba Reject JSON booleans at numeric boundaries by @robinebers
  • 697c7a9 Keep Cursor boundary docs and tests current by @robinebers
  • b1b80e8 Log Cursor optional endpoint failures by @robinebers
  • fe6ca85 Validate Cursor usage exports at the boundary by @robinebers
  • 14ab1f5 fix: reject BOM-prefixed malformed credentials by @robinebers
  • 5cd9268 fix: purge Antigravity cache during logout detection by @robinebers
  • 4102b00 Protect credential probes and Antigravity cache by @robinebers
  • 33e19b0 Bump github.com/posthog/posthog-ios from 3.64.1 to 3.64.5 by @dependabot[bot]
  • 3ea0867 Bump actions/upload-pages-artifact from 3 to 5 by @dependabot[bot]
  • b66f3ba Bump actions/deploy-pages from 4 to 5 by @dependabot[bot]
  • 309f298 fix: isolate Claude usage by login by @robinebers
  • 906d94f fix: keep credential files private by @robinebers
  • 4816fbf fix: correctly encode OAuth form values by @robinebers
  • 890d809 chore(pricing): refresh price lists hourly instead of daily by @robinebers
  • e04266c fix(pricing): match Cursor's grok-4.5-fast-high slug order by @robinebers
  • b96b012 feat(pricing): add Grok 4.5, Kimi K2.7 Code, and Claude 4.7 Opus aliases by @robinebers
  • 1419a20 docs: changelog for v0.7.4-beta.5 by @robinebers
  • a433934 Reorder Total Spend metric menu to Cost, Cost/MTok, Tokens. by @robinebers
  • 87e3ef4 Add Cost / Tokens / Cost/MTok menu to Total Spend card. by @robinebers
  • e7fa4f9 docs: changelog for v0.7.4-beta.4 by @robinebers
  • a1bdc28 Keep near-empty Codex pacing calm by @robinebers
  • 5fbc22b Show Codex usage percentages as reported by @robinebers
  • 2da68aa Capture display before measuring panel height by @robinebers
  • 4c53fb1 Preserve the first panel height on open by @robinebers
  • ac6a3e3 Extract panel outside-click handling by @robinebers
  • 07a35bd Extract panel height handling by @robinebers
  • 612d847 Extract popover footer by @robinebers
  • dba66ad Extract popover top bar by @robinebers
  • 0581cfc Extract dashboard scrolling content by @robinebers
  • 35842a9 Extract layout startup rules by @robinebers
  • 315e6b3 Extract layout persistence by @robinebers
  • a8750e7 Keep unreadable log warnings quiet across batches by @robinebers
  • 76247d7 Test the real metric divider path by @robinebers
  • 8ddc401 Compute model shares once per render by @robinebers
  • f44d4ef Use the controller popover visibility signal by @robinebers
  • 1040f53 fix(claude): prefer profile-scoped login over inference-only env token for live usage by @joshuavial
  • 2d4a5b4 Simplify menu bar refresh coalescing by @robinebers
  • c0b190f Log unreadable usage files once by @robinebers
  • f8e02b5 fix(pricing): price GPT-5.6 fast variants by @robinebers
  • 27ebb0b Bound concurrent log parsing by @robinebers
  • 27bd492 Keep launch-at-login errors visible by @robinebers
  • 2669a7b Mark Cursor spend as estimated by @robinebers
  • e881be6 Fix request-wide long-context pricing by @robinebers
  • 1bcc8f9 Refresh pricing and panel documentation by @robinebers
  • 4b61302 Remove unused UI plumbing by @robinebers
  • 3194f3b Clear resolved update banner by @robinebers
  • c9be949 Add hover affordance to usage trend by @robinebers
  • 8a8ea33 Add GPT-5.6 pricing aliases and tests by @robinebers
  • 6c99db7 docs: changelog for v0.7.4-beta.3 by @robinebers
  • 0506f02 Always show two units at the day scale in compactDuration by @robinebers
  • 417900f Collapse imminent resets to "soon" and gate the popover on real data by @robinebers
  • 5f42ee9 Distinguish zero resets from unfetched expiries in the popover by @robinebers
  • cbe303e Replace Codex resets tooltip with a hover popover and light its value by @robinebers
  • dd53cbe Clear the value highlight on panel close by tracking hover on the coordinator by @claude
  • 71a6ba0 Add hover highlight to spend-row value so the model breakdown reads as interactive by @claude
  • 9cf0c62 Address review findings: real clamp coverage, private clamped, honest imports by @claude
  • 84879dd Address review findings: non-optional image updater, fix stale doc reference by @claude
  • 43241b4 Address review findings: fix stale dedup doc, note the snapshot delta by @claude
  • 7f1af89 Address review findings: private navigation, naming, stale doc, notice tests by @claude
  • 7cc1f25 Address review findings: pill shadow drift, test pins, Cursor facts adoption by @claude
  • dff6786 fix: remove the legacy Tauri autostart LaunchAgent on launch by @claude
  • ea51bdf fix: single-instance decisions must not trust the LaunchServices snapshot (#874) by @xuing
  • f0baad2 refactor(DashboardView): extract PanelHeightCoordinator (auto-fit computation) by @robinebers
  • c4c5971 refactor(StatusItemController): extract StatusItemImageUpdater by @robinebers
  • 89ee82e refactor(WidgetDataStore): extract QuotaNotificationEvaluator by @robinebers
  • 7597156 refactor(LayoutStore): extract PopoverNavigationStore + generic TransientNotice by @robinebers
  • 667f350 refactor: DRY/dead-code/KISS cleanup from code-quality audit by @robinebers
  • 4d75562 Add version query to screenshot URL in README by @robinebers
  • a26a113 docs: update README screenshot by @robinebers
  • ba04c54 docs(skills): fix Pages deploy recovery to use main ref by @robinebers
  • 3686abc fix(ui): center the Total Spend share arrow like the provider header icons by @robinebers
  • bfd6e68 docs: changelog for v0.7.4-beta.2 by @robinebers
  • 141bf53 fix(share): disable hover tooltips in share-card renders by @robinebers
  • e740324 docs: changelog for v0.7.4-beta.1 by @robinebers
  • 1d24835 fix: derive Total Spend info tooltip from enabled spend-capable providers by @robinebers
  • a00f786 fix(tooltip): pick the cursor's screen for the zero-size anchor fallback by @robinebers
  • c95f7c8 fix(dashboard): scope Total Spend to real spend-tile providers, show card with empty dashboard by @robinebers
  • 97dec12 fix(tooltip): anchor bubble to the hovered item and balance wrapped lines by @robinebers
  • c56d8d1 feat(dashboard): morphing ring sectors, brand colors, settings toggle, capability gating by @robinebers
  • 53115a8 Revert "feat(dashboard): stacked-bars variant of the Total Spend card" by @robinebers
  • 684ccdc feat(dashboard): stacked-bars variant of the Total Spend card by @robinebers
  • 8251ac3 feat(dashboard): cross-provider Total Spend ring card by @robinebers
  • 2a225eb fix(refresh): never lose an enablement wake posted mid-pass; probe credentials concurrently by @robinebers

v0.7.4-beta.5

New Features

  • Add Cost / Tokens / Cost/MTok menu to Total Spend card. (#906) by @robinebers

Bug Fixes

  • Reorder Total Spend metric menu to Cost, Cost/MTok, Tokens. (#906) by @robinebers

Changelog

Full Changelog: v0.7.4-beta.4...v0.7.4-beta.5

  • a433934 Reorder Total Spend metric menu to Cost, Cost/MTok, Tokens. by @robinebers
  • 87e3ef4 Add Cost / Tokens / Cost/MTok menu to Total Spend card. by @robinebers

v0.7.4-beta.4

New Features

  • Add GPT-5.6 pricing aliases and tests (#880) by @robinebers
  • Add a hover affordance to Usage Trend values (#881) by @robinebers

Bug Fixes

  • Clear the update banner after the available update is resolved (#882) by @robinebers
  • Fix request-wide long-context pricing and price GPT-5.6 fast variants correctly (#885, #889) by @robinebers
  • Mark Cursor spend as estimated (#886) by @robinebers
  • Keep launch-at-login errors visible (#887) by @robinebers
  • Bound concurrent log parsing and report unreadable usage files without repeated warnings (#888, #890) by @robinebers
  • Prefer profile-scoped Claude login over an inference-only environment token for live usage (#865) by @joshuavial
  • Preserve the initial popover height and measure it against the correct display (#904) by @robinebers
  • Show Codex usage percentages as reported while keeping near-empty pacing calm (#905) by @robinebers

Refactor

  • Remove unused UI plumbing (#883) by @robinebers
  • Simplify refresh coalescing, popover visibility, and model-share computation (#891, #893, #894) by @robinebers
  • Extract layout persistence, startup rules, dashboard sections, and panel management into focused components (#895, #896, #897, #898, #899, #900, #902) by @robinebers

Chores

  • Refresh pricing and panel documentation (#884) by @robinebers
  • Test the real metric-divider path (#892) by @robinebers

Changelog

Full Changelog: v0.7.4-beta.3...v0.7.4-beta.4

  • a1bdc28 Keep near-empty Codex pacing calm by @robinebers
  • 5fbc22b Show Codex usage percentages as reported by @robinebers
  • 2da68aa Capture display before measuring panel height by @robinebers
  • 4c53fb1 Preserve the first panel height on open by @robinebers
  • ac6a3e3 Extract panel outside-click handling by @robinebers
  • 07a35bd Extract panel height handling by @robinebers
  • 612d847 Extract popover footer by @robinebers
  • dba66ad Extract popover top bar by @robinebers
  • 0581cfc Extract dashboard scrolling content by @robinebers
  • 35842a9 Extract layout startup rules by @robinebers
  • 315e6b3 Extract layout persistence by @robinebers
  • a8750e7 Keep unreadable log warnings quiet across batches by @robinebers
  • 76247d7 Test the real metric divider path by @robinebers
  • 8ddc401 Compute model shares once per render by @robinebers
  • f44d4ef Use the controller popover visibility signal by @robinebers
  • 1040f53 fix(claude): prefer profile-scoped login over inference-only env token for live usage by @joshuavial
  • 2d4a5b4 Simplify menu bar refresh coalescing by @robinebers
  • c0b190f Log unreadable usage files once by @robinebers
  • f8e02b5 fix(pricing): price GPT-5.6 fast variants by @robinebers
  • 27ebb0b Bound concurrent log parsing by @robinebers
  • 27bd492 Keep launch-at-login errors visible by @robinebers
  • 2669a7b Mark Cursor spend as estimated by @robinebers
  • e881be6 Fix request-wide long-context pricing by @robinebers
  • 1bcc8f9 Refresh pricing and panel documentation by @robinebers
  • 4b61302 Remove unused UI plumbing by @robinebers
  • 3194f3b Clear resolved update banner by @robinebers
  • c9be949 Add hover affordance to usage trend by @robinebers
  • 8a8ea33 Add GPT-5.6 pricing aliases and tests by @robinebers

v0.7.4-beta.3

New Features

  • Replace Codex resets tooltip with a hover popover and highlight the value on hover by @robinebers
  • Add hover highlight on spend-row values so the model breakdown reads as interactive by @claude

Bug Fixes

  • Always show two units at the day scale in compactDuration by @robinebers
  • Collapse imminent resets to “soon” and gate the popover on real data by @robinebers
  • Distinguish zero resets from unfetched expiries in the Codex resets popover by @robinebers
  • Clear the value highlight when the panel closes by tracking hover on the coordinator by @claude
  • Remove the legacy Tauri autostart LaunchAgent on launch by @claude
  • Single-instance decisions must not trust the LaunchServices snapshot (#874) by @xuing
  • Center the Total Spend share arrow like the provider header icons by @robinebers

Refactor

  • Extract PanelHeightCoordinator from DashboardView (auto-fit computation) by @robinebers
  • Extract StatusItemImageUpdater from StatusItemController by @robinebers
  • Extract QuotaNotificationEvaluator from WidgetDataStore by @robinebers
  • Extract PopoverNavigationStore and generic TransientNotice from LayoutStore by @robinebers
  • DRY / dead-code / KISS cleanup from code-quality audit by @robinebers

Chores

  • Address review findings (clamp coverage, image updater, navigation, dedup docs, pill shadow, tests) by @claude
  • Update README screenshot and version query on screenshot URL by @robinebers
  • Fix Pages deploy recovery in release skill to use main ref by @robinebers

Changelog

Full Changelog: v0.7.4-beta.2...v0.7.4-beta.3

  • 0506f02 Always show two units at the day scale in compactDuration by @robinebers
  • 417900f1 Collapse imminent resets to "soon" and gate the popover on real data by @robinebers
  • 5f42ee9c Distinguish zero resets from unfetched expiries in the popover by @robinebers
  • cbe303ec Replace Codex resets tooltip with a hover popover and light its value by @robinebers
  • dd53cbed Clear the value highlight on panel close by tracking hover on the coordinator by @claude
  • 71a6ba00 Add hover highlight to spend-row value so the model breakdown reads as interactive by @claude
  • 9cf0c62d Address review findings: real clamp coverage, private clamped, honest imports by @claude
  • 84879dd4 Address review findings: non-optional image updater, fix stale doc reference by @claude
  • 43241b41 Address review findings: fix stale dedup doc, note the snapshot delta by @claude
  • 7f1af892 Address review findings: private navigation, naming, stale doc, notice tests by @claude
  • 7cc1f25e Address review findings: pill shadow drift, test pins, Cursor facts adoption by @claude
  • dff6786e fix: remove the legacy Tauri autostart LaunchAgent on launch by @claude
  • ea51bdf7 fix: single-instance decisions must not trust the LaunchServices snapshot (#874) by @xuing
  • f0baad20 refactor(DashboardView): extract PanelHeightCoordinator (auto-fit computation) by @robinebers
  • c4c59712 refactor(StatusItemController): extract StatusItemImageUpdater by @robinebers
  • 89ee82ec refactor(WidgetDataStore): extract QuotaNotificationEvaluator by @robinebers
  • 75971560 refactor(LayoutStore): extract PopoverNavigationStore + generic TransientNotice by @robinebers
  • 667f350a refactor: DRY/dead-code/KISS cleanup from code-quality audit by @robinebers
  • 4d755626 Add version query to screenshot URL in README by @robinebers
  • a26a1130 docs: update README screenshot by @robinebers
  • ba04c54f docs(skills): fix Pages deploy recovery to use main ref by @robinebers
  • 3686abc1 fix(ui): center the Total Spend share arrow like the provider header icons by @robinebers

v0.7.4-beta.2

Bug Fixes

  • Disable hover tooltips in share-card renders by @robinebers

Changelog

Full Changelog: v0.7.4-beta.1...v0.7.4-beta.2

  • 141bf53 fix(share): disable hover tooltips in share-card renders by @robinebers

v0.7.4-beta.1

New Features

  • Cross-provider Total Spend ring card with morphing sectors, provider brand colors, a settings toggle, and capability gating (#13120) by @robinebers

Bug Fixes

  • Never drop an enablement wake posted mid refresh pass; probe credentials concurrently by @robinebers
  • Anchor tooltips to the hovered item, balance wrapped lines, and use the cursor’s screen for zero-size anchor fallback by @robinebers
  • Scope Total Spend to providers with real spend tiles; show the card even when the dashboard is empty by @robinebers
  • Derive the Total Spend info tooltip from enabled spend-capable providers by @robinebers

Changelog

Full Changelog: v0.7.3...v0.7.4-beta.1

  • 1d24835 fix: derive Total Spend info tooltip from enabled spend-capable providers by @robinebers
  • a00f786 fix(tooltip): pick the cursor's screen for the zero-size anchor fallback by @robinebers
  • c95f7c8 fix(dashboard): scope Total Spend to real spend-tile providers, show card with empty dashboard by @robinebers
  • 97dec12 fix(tooltip): anchor bubble to the hovered item and balance wrapped lines by @robinebers
  • c56d8d1 feat(dashboard): morphing ring sectors, brand colors, settings toggle, capability gating by @robinebers
  • 53115a8 Revert "feat(dashboard): stacked-bars variant of the Total Spend card" by @robinebers
  • 684ccdc feat(dashboard): stacked-bars variant of the Total Spend card by @robinebers
  • 8251ac3 feat(dashboard): cross-provider Total Spend ring card by @robinebers
  • 2a225eb fix(refresh): never lose an enablement wake posted mid-pass; probe credentials concurrently by @robinebers

v0.7.3

New Features

  • Native log scanners and dynamic model pricing; drop ccusage (#827) by @robinebers
  • Fresh installs start with detected providers and a welcome card (#830) by @robinebers
  • Credential-detect providers added by updates; unify installs on enabled-list mode (#838) by @robinebers
  • Copilot org-level AI credit usage for org-managed Business/Enterprise seats (#843) by @robinebers
  • In-popover update banner and Sparkle 2.9.4 focus fix (#842) by @robinebers
  • Replace footer split button with a single Options menu (#841) by @robinebers
  • Include Cowork session logs in Claude local spend tiles (#845) by @robinebers
  • Per-model spend breakdown when hovering Today / Yesterday / Last 30 Days rows (#850) by @robinebers
  • Reset All re-detects installed tools (#853) by @robinebers
  • Codex status dot for reset-credit expiry (#854) by @robinebers
  • Grok weekly shared-pool meter from the credits config by @validatedev

Bug Fixes

  • Opus 4.7/4.8 fast-mode rates match Cursor's published pricing (#835) by @robinebers
  • Claude: explain CLI login when only the desktop app is signed in (#828) by @robinebers
  • Copilot: keep probing other orgs when one org's billing has an outage (#843) by @robinebers
  • Copilot: don't let a placeholder Extra Usage row block the org billing lookup (#844) by @robinebers
  • Open the popover when a pace notification is tapped (#840) by @robinebers
  • Claude: surface rate-limited state as a header warning instead of a silent blank (#849) by @robinebers
  • Exclude unpriceable usage from every displayed spend total (#853) by @robinebers
  • Model breakdown opens only from the value column; breakdown percentages always sum to 100 (#850) by @robinebers
  • Grok: reject protobuf varints whose 10th byte overflows 64 bits by @validatedev

Refactor

  • Grok: read weekly pool from the CLI JSON credits endpoint and drop the legacy monthly meter by @robinebers
  • Copilot: default both org billing metrics below the expand caret (#843) by @robinebers

Chores

  • Bump PostHog iOS and actions/checkout (#848, #847) by @app/dependabot
  • Trigger Pages deploy from Release and pricing-supplement workflow completion by @robinebers
  • Split GrokProviderTests into per-class files by @validatedev

Changelog

Full Changelog: v0.7.2...v0.7.3

  • 68cc5c6 feat(spend): native log scanners + dynamic model pricing, drop ccusage by @robinebers
  • be66c05 fix(claude): explain CLI login when only the desktop app is signed in by @robinebers
  • 5ea794a fix(claude): only show desktop-app hint when no CLI credentials are stored by @robinebers
  • 7aeead1 docs: add pricing-update skill for syncing the pricing supplement by @robinebers
  • 59008dd feat(onboarding): fresh installs start with detected providers + welcome card by @robinebers
  • e26b1c8 fix(tests): repair desktop-app-hint test broken by ccusage removal on main by @robinebers
  • 4fe8d17 fix(tests): port #828's desktop-app test off the removed CcusageRunner by @robinebers
  • 3c5882a fix(pricing): override Opus 4.7/4.8 fast-mode rates with Cursor's published pricing by @robinebers
  • 8904e73 docs: changelog for v0.7.3-beta.1 by @robinebers
  • 1b077d1 feat(providers): credential-detect providers added by updates; unify installs on enabled-list mode by @robinebers
  • 224c987 Open the popover when a pace notification is tapped. by @robinebers
  • db821dd feat(ui): replace footer split button with a single Options menu by @robinebers
  • 7cf5645 feat(updates): in-popover update banner + Sparkle 2.9.4 focus fix by @robinebers
  • 8b567ae feat(copilot): show org-level AI credit usage for org-managed Business/Enterprise seats by @robinebers
  • 1171895 refactor(copilot): default both org billing metrics below the expand caret by @robinebers
  • b15a47e fix(copilot): keep probing other orgs when one org's billing has an outage by @robinebers
  • 2d275d5 docs: changelog for v0.7.3-beta.2 by @robinebers
  • 9709169 fix(copilot): don't let a placeholder Extra Usage row block the org billing lookup by @robinebers
  • e30769d docs: changelog for v0.7.3-beta.3 by @robinebers
  • 9fa1923 chore(deps): bump actions/checkout from 4 to 7 (#847) by @app/dependabot
  • 0b8c39f chore(deps): bump github.com/posthog/posthog-ios from 3.62.0 to 3.64.1 (#848) by @app/dependabot
  • 5936841 fix(claude): surface rate-limited state as a header warning instead of a silent blank (#849) by @robinebers
  • c8f3097 docs: changelog for v0.7.3-beta.4 by @robinebers
  • 2366bb3 docs(skills): update Pages stall guidance for the Actions-based deploy by @robinebers
  • daccf05 feat(claude): include Cowork session logs in the local spend tiles (#845) by @robinebers
  • 722e808 docs: changelog for v0.7.3-beta.5 by @robinebers
  • 4566101 ci: trigger Pages deploy from Release/pricing-supplement completion by @robinebers
  • c11f0d5 feat(dashboard): per-model spend breakdown on spend-row hover by @robinebers
  • 5ea4ba4 style(dashboard): center the source-note footer in the breakdown and trend popovers by @robinebers
  • 0d03230 fix(dashboard): breakdown percentages always total 100; share the popover footer by @robinebers
  • f5f57ae style(dashboard): one source-note string per provider across both popovers by @robinebers
  • 1917874 docs: research notes behind the model breakdown hover design by @robinebers
  • 9bbe86f fix(dashboard): trigger the model breakdown only on the value column by @robinebers
  • 45b05c6 feat(customize): Reset All re-runs installed-tool detection by @robinebers
  • d3459af fix(spend): exclude unpriceable usage from every displayed total by @robinebers
  • 88aa423 feat(codex): status dot for reset-credit expiry by @robinebers
  • 7462c08 docs: changelog for v0.7.3-beta.6 by @robinebers
  • 88efe734 test(grok): split GrokProviderTests into per-class files by @validatedev
  • d94b5fb feat(grok): weekly shared-pool meter via the gRPC-web credits config by @validatedev
  • 9b1357f fix(grok): reject varints whose 10th byte overflows 64 bits by @validatedev
  • 5fcb431 refactor(grok): fetch weekly pool via the CLI's JSON credits endpoint, drop legacy monthly meter by @robinebers

v0.7.3-beta.6

New Features

  • Per-model spend breakdown when hovering the Today / Yesterday / Last 30 Days rows (#850) by @robinebers
  • Reset All re-detects installed tools (#853) by @robinebers
  • Codex status dot for reset-credit expiry (#854) by @robinebers

Bug Fixes

  • Exclude unpriceable usage from every displayed spend total (#853) by @robinebers
  • Model breakdown opens only from the value column; breakdown percentages always sum to 100 (#850) by @robinebers

Chores

  • Trigger Pages deploy from Release and pricing-supplement workflow completion by @robinebers

Changelog

Full Changelog: v0.7.3-beta.5...v0.7.3-beta.6

  • 88aa423 feat(codex): status dot for reset-credit expiry by @robinebers
  • d3459af fix(spend): exclude unpriceable usage from every displayed total by @robinebers
  • 45b05c6 feat(customize): Reset All re-runs installed-tool detection by @robinebers
  • 9bbe86f fix(dashboard): trigger the model breakdown only on the value column by @robinebers
  • 1917874 docs: research notes behind the model breakdown hover design by @robinebers
  • f5f57ae style(dashboard): one source-note string per provider across both popovers by @robinebers
  • 0d03230 fix(dashboard): breakdown percentages always total 100; share the popover footer by @robinebers
  • 5ea4ba4 style(dashboard): center the source-note footer in the breakdown and trend popovers by @robinebers
  • c11f0d5 feat(dashboard): per-model spend breakdown on spend-row hover by @robinebers
  • 4566101 ci: trigger Pages deploy from Release/pricing-supplement completion by @robinebers

v0.7.3-beta.5

New Features

  • Include Cowork session logs in the Claude local spend tiles (#845) by @robinebers

Chores

  • Update skills' Pages stall guidance for the Actions-based deploy by @robinebers

Changelog

Full Changelog: v0.7.3-beta.4...v0.7.3-beta.5

  • daccf05 feat(claude): include Cowork session logs in the local spend tiles (#845) by @robinebers
  • 2366bb3 docs(skills): update Pages stall guidance for the Actions-based deploy by @robinebers

v0.7.3-beta.4

Bug Fixes

  • fix(claude): surface rate-limited state as a header warning instead of a silent blank (#849) by @robinebers

Chores

  • chore(deps): bump github.com/posthog/posthog-ios from 3.62.0 to 3.64.1 (#848) by @app/dependabot
  • chore(deps): bump actions/checkout from 4 to 7 (#847) by @app/dependabot

Changelog

Full Changelog: v0.7.3-beta.3...v0.7.3-beta.4

  • 5936841 fix(claude): surface rate-limited state as a header warning instead of a silent blank by @robinebers
  • 0b8c39f chore(deps): bump github.com/posthog/posthog-ios from 3.62.0 to 3.64.1 by @app/dependabot
  • 9fa1923 chore(deps): bump actions/checkout from 4 to 7 by @app/dependabot

v0.7.3-beta.3

Bug Fixes

  • fix(copilot): don't let a placeholder Extra Usage row block the org billing lookup (#844) by @robinebers

Changelog

Full Changelog: v0.7.3-beta.2...v0.7.3-beta.3

  • 9709169 fix(copilot): don't let a placeholder Extra Usage row block the org billing lookup by @robinebers

v0.7.3-beta.2

New Features

  • feat(providers): credential-detect providers added by updates; unify installs on enabled-list mode (#838) by @robinebers
  • feat(copilot): show org-level AI credit usage for org-managed Business/Enterprise seats (#843) by @robinebers
  • feat(updates): in-popover update banner + Sparkle 2.9.4 focus fix (#842) by @robinebers
  • feat(ui): replace footer split button with a single Options menu (#841) by @robinebers

Bug Fixes

  • fix(copilot): keep probing other orgs when one org's billing has an outage (#843) by @robinebers
  • fix(notifications): open popover when a pace alert is tapped (#840) by @robinebers

Refactor

  • refactor(copilot): default both org billing metrics below the expand caret (#843) by @robinebers

Changelog

Full Changelog: v0.7.3-beta.1...v0.7.3-beta.2

  • b15a47e fix(copilot): keep probing other orgs when one org's billing has an outage by @robinebers
  • 1171895 refactor(copilot): default both org billing metrics below the expand caret by @robinebers
  • 8b567ae feat(copilot): show org-level AI credit usage for org-managed Business/Enterprise seats by @robinebers
  • 7cf5645 feat(updates): in-popover update banner + Sparkle 2.9.4 focus fix by @robinebers
  • db821dd feat(ui): replace footer split button with a single Options menu by @robinebers
  • 224c987 Open the popover when a pace notification is tapped. by @robinebers
  • 1b077d1 feat(providers): credential-detect providers added by updates; unify installs on enabled-list mode by @robinebers

v0.7.3-beta.1

New Features

  • feat(onboarding): fresh installs start with detected providers + welcome card (#830) by @robinebers
  • feat(spend): native log scanners + dynamic model pricing, drop ccusage (#827) by @robinebers

Bug Fixes

  • fix(pricing): override Opus 4.7/4.8 fast-mode rates with Cursor's published pricing (#835) by @robinebers
  • fix(claude): explain CLI login when only the desktop app is signed in (#828) by @robinebers
  • fix(claude): only show desktop-app hint when no CLI credentials are stored (#828) by @robinebers
  • fix(tests): port #828's desktop-app test off the removed CcusageRunner (#834) by @robinebers
  • fix(tests): repair desktop-app-hint test broken by ccusage removal on main (#830) by @robinebers

Chores

  • docs: add pricing-update skill for syncing the pricing supplement (#831) by @robinebers

Changelog

Full Changelog: v0.7.2...v0.7.3-beta.1

  • 3c5882a fix(pricing): override Opus 4.7/4.8 fast-mode rates with Cursor's published pricing by @robinebers
  • 4fe8d17 fix(tests): port #828's desktop-app test off the removed CcusageRunner by @robinebers
  • e26b1c8 fix(tests): repair desktop-app-hint test broken by ccusage removal on main by @robinebers
  • 59008dd feat(onboarding): fresh installs start with detected providers + welcome card by @robinebers
  • 7aeead1 docs: add pricing-update skill for syncing the pricing supplement by @robinebers
  • 5ea794a fix(claude): only show desktop-app hint when no CLI credentials are stored by @robinebers
  • be66c05 fix(claude): explain CLI login when only the desktop app is signed in by @robinebers
  • 68cc5c6 feat(spend): native log scanners + dynamic model pricing, drop ccusage by @robinebers

v0.7.2

New Features

  • feat(popover): make Customize the primary footer button and cross-link the two screens by @robinebers
  • feat(customize): add Reset All Customization button with confirmation (#815) by @robinebers
  • feat(appearance): Increase Transparency toggle + secret-code Party/Drunk easter egg (#784) by @validatedev

Bug Fixes

  • fix(dashboard): open provider Customize from context menu on metrics by @robinebers
  • fix(antigravity): rename pool rows to Session/Weekly for cross-provider consistency by @validatedev
  • fix(codex): tolerate fetch latency in fresh-window detection so untouched sessions stop reading 99% left by @robinebers
  • fix(antigravity): merged Gemini pool + weekly limits via RetrieveUserQuotaSummary by @validatedev
  • fix(notifications): ignore reset timestamp jitter (#816) by @robinebers

Chores

  • chore(worktree-setup): exclude stale agent worktrees from rsync by @robinebers
  • docs(release-swift): stable changelogs span last-stable to this-stable by @robinebers

Changelog

Full Changelog: v0.7.1...v0.7.2

  • ed7ef3c chore(worktree-setup): exclude stale agent worktrees from rsync by @robinebers
  • a16ee82 fix(dashboard): open provider Customize from context menu on metrics by @robinebers
  • 7ab9208 fix(antigravity): rename pool rows to Session/Weekly for cross-provider consistency by @validatedev
  • a090ba6 fix(codex): tolerate fetch latency in fresh-window detection so untouched sessions stop reading 99% left by @robinebers
  • 1ce97bc fix(antigravity): merged Gemini pool + weekly limits via RetrieveUserQuotaSummary by @validatedev
  • d7411a8 feat(popover): make Customize the primary footer button and cross-link the two screens by @robinebers
  • d152b09 fix(notifications): ignore reset timestamp jitter (#816) by @robinebers
  • 21a109a feat(customize): add Reset All Customization button with confirmation (#815) by @robinebers
  • 6e513ec feat(appearance): Increase Transparency toggle + secret-code Party/Drunk easter egg (#784) by @validatedev
  • 6aca8aa docs(release-swift): stable changelogs span last-stable to this-stable by @robinebers

v0.7.1

New Features

  • feat(claude): track Fable model-scoped weekly limit from the limits array (#814) by @robinebers
  • feat(copilot): track AI Credits + Extra Usage; fix paid quota rendering (#807) by @robinebers
  • feat(codex): bring back GPT-5.3-Codex-Spark rate-limit meters (#796) by @robinebers
  • feat(zai): add Z.ai provider for GLM Coding Plan usage tracking (#783) by @robinebers
  • feat(openrouter): add OpenRouter usage provider (#763) by @robinebers
  • feat(copilot): add GitHub Copilot usage provider (#764) by @robinebers
  • feat(notifications): quota pace alerts — 3 triggers, launch-prime, per-app stacking (#633) by @robinebers
  • feat(cursor): re-enable spend tracking + warn on unknown-model spend (#789) by @robinebers
  • feat(cursor): price GLM 5.2 in the spend manifest (#781) by @robinebers
  • feat(share): per-provider Copy as Image card (#762) by @robinebers
  • feat(share): Share Screenshot footer submenu + copied-to-clipboard pill (#785) by @robinebers
  • feat(providers): bring back provider quick-link buttons (#596) by @robinebers
  • feat(providers): add quick-link buttons for Devin and Copilot (#799) by @robinebers
  • feat(openrouter): add Activity and Credits quick-link buttons (#795) by @robinebers
  • feat(customize): undo widget removal (#603) by @robinebers
  • Customize: provider list → detail, on/off + API keys in Customize, stars (#797) by @robinebers

Bug Fixes

  • fix(cursor): price Claude Sonnet 5 in spend imputation manifest (#813) by @robinebers
  • fix: dynamic widget height for single-provider users (#800) by @robinebers
  • fix(claude): surface re-login warning when login lacks user:profile scope (#782) by @robinebers
  • fix(spend): no-usage period reads "No data" for every provider (#790) by @robinebers
  • fix(providers): resolve env-var API keys from the login shell in packaged builds (#788) by @robinebers
  • fix(codex): refresh OAuth token by JWT exp, not a hardcoded 8-day age (#516) by @robinebers
  • fix(antigravity): show "Not started" for unused 5-hour quota pools (#761) by @robinebers
  • fix(tests): allow OpenRouter Activity/Credits quick-link labels (#805) by @robinebers

Chores

  • chore(notifications): debug-log each pace-notification decision (#811) by @robinebers
  • chore: strict issue-first PR policy + faster stale + AGENTS-aligned PR template (#804) by @robinebers
  • chore(codex): drop parsing of retired per-model and review rate limits by @robinebers
  • chore(deps): bump github.com/sindresorhus/keyboardshortcuts (#766) by @dependabot[bot]
  • chore(deps): bump actions/checkout from 6 to 7 (#765) by @dependabot[bot]
  • docs: restore README hero screenshot and trailing newline by @robinebers
  • docs: add Installation section with Homebrew cask and latest release DMG by @robinebers

Changelog

Full Changelog: v0.7.0...v0.7.1

v0.7.1-beta.7

Bug Fixes

  • cursor: price Claude Sonnet 5 in spend imputation manifest (#813) by @robinebers
  • Dynamic widget height for single-provider users (#810) by @robinebers

Chores

  • notifications: debug-log each pace-notification decision (#811) by @robinebers

Changelog

Full Changelog: v0.7.1-beta.6...v0.7.1-beta.7

  • e56c360 chore(notifications): debug-log each pace-notification decision (#811) by @robinebers
  • f0aacfc fix(cursor): price Claude Sonnet 5 in spend imputation manifest (#813) by @robinebers
  • 0ebd9e4 fix: dynamic widget height for single-provider users (#800) (#810) by @robinebers

v0.7.1-beta.6

New Features

  • copilot: track AI Credits + Extra Usage; fix paid quota rendering (#807) by @robinebers
  • codex: bring back GPT-5.3-Codex-Spark rate-limit meters (#806) by @robinebers
  • openrouter: add Activity and Credits quick-link buttons (#795) by @robinebers
  • providers: add quick-link buttons for Devin and Copilot (#799) by @robinebers
  • Customize: provider list → detail, on/off + API keys in Customize, stars (#797) by @robinebers

Bug Fixes

  • tests: allow OpenRouter Activity/Credits quick-link labels (#805) by @robinebers

Chores

  • strict issue-first PR policy + faster stale + AGENTS-aligned PR template (#804) by @robinebers

Changelog

Full Changelog: v0.7.1-beta.5...v0.7.1-beta.6

  • c6e4cb9 feat(copilot): track AI Credits + Extra Usage; fix paid quota rendering (#807) by @robinebers
  • 149dcd9 feat(codex): bring back GPT-5.3-Codex-Spark rate-limit meters (#796) (#806) by @robinebers
  • 5452c3f fix(tests): allow OpenRouter Activity/Credits quick-link labels (#805) by @robinebers
  • 7a5daaa chore: strict issue-first PR policy + faster stale + AGENTS-aligned PR template (#804) by @robinebers
  • 807ee3f feat(openrouter): add Activity and Credits quick-link buttons (#795) by @robinebers
  • 402824d feat(providers): add quick-link buttons for Devin and Copilot (#799) by @robinebers
  • 2fccb51 Customize: provider list → detail, on/off + API keys in Customize, stars (#797) by @robinebers

v0.7.1-beta.5

New Features

  • Add Z.ai provider for GLM Coding Plan usage tracking (#793) by @robinebers

Bug Fixes

  • Surface re-login warning when Claude login lacks the user:profile scope (#794) by @robinebers

Changelog

Full Changelog: v0.7.1-beta.4...v0.7.1-beta.5

  • 9790407 feat(zai): add Z.ai provider for GLM Coding Plan usage tracking (#783) (#793) by @robinebers
  • e040e86 fix(claude): surface re-login warning when login lacks user:profile scope (#782) (#794) by @robinebers

v0.7.1-beta.4

New Features

  • Re-enable Cursor spend tracking and warn on unknown-model spend (#789) by @robinebers

Bug Fixes

  • No-usage period reads "No data" for every provider (#790) by @robinebers

Changelog

Full Changelog: v0.7.1-beta.3...v0.7.1-beta.4

  • 9f5eb51 feat(cursor): re-enable spend tracking + warn on unknown-model spend (#789) by @robinebers
  • 028c25c fix(spend): no-usage period reads "No data" for every provider (#790) by @robinebers

v0.7.1-beta.3

Bug Fixes

  • Resolve env-var API keys (e.g. OPENROUTER_API_KEY) from the login shell in packaged builds, and remove the "Stored in …" caption from the API Keys editor (#788) by @robinebers

Changelog

Full Changelog: v0.7.1-beta.2...v0.7.1-beta.3

  • 8d0b6c7 fix(providers): resolve env-var API keys from the login shell in packaged builds (#788) by @robinebers

v0.7.1-beta.2

New Features

  • Add OpenRouter usage provider (#763) by @robinebers
  • Quota pace alerts — 3 triggers, launch-prime, per-app stacking (#786) by @robinebers
  • Share Screenshot footer submenu + copied-to-clipboard pill (#785) by @robinebers

Bug Fixes

  • Refresh Codex OAuth token by JWT exp, not a hardcoded 8-day age (#769) by @robinebers

Chores

  • Drop parsing of retired Codex per-model and review rate limits by @robinebers
  • Restore README hero screenshot and trailing newline by @robinebers
  • Add Installation section with Homebrew cask and latest release DMG by @robinebers

Changelog

Full Changelog: v0.7.1-beta.1...v0.7.1-beta.2

  • 386fcfe chore(codex): drop parsing of retired per-model and review rate limits by @robinebers
  • 8360e93 feat(openrouter): add OpenRouter usage provider (#763) by @robinebers
  • 1cf2eb4 feat(notifications): quota pace alerts — 3 triggers, launch-prime, per-app stacking (#633) (#786) by @robinebers
  • fd0890e feat(share): Share Screenshot footer submenu + copied-to-clipboard pill (#785) by @robinebers
  • b50efbb docs: restore README hero screenshot and trailing newline by @robinebers
  • 2eada69 docs: add Installation section with Homebrew cask and latest release DMG by @robinebers
  • 42ce1e2 fix(codex): refresh OAuth token by JWT exp, not a hardcoded 8-day age (#516) (#769) by @robinebers

v0.7.1-beta.1

New Features

  • Add GitHub Copilot usage provider (#764) by @robinebers
  • Undo widget removal (#603) by @robinebers
  • Price GLM 5.2 in the spend manifest (#781) by @robinebers
  • Bring back provider quick-link buttons (#596) by @robinebers
  • Per-provider Copy as Image card (#762) by @robinebers

Bug Fixes

  • Show "Not started" for unused 5-hour quota pools (Antigravity) (#761) by @robinebers

Chores

  • Bump github.com/sindresorhus/keyboardshortcuts (#766) by @dependabot
  • Bump actions/checkout from 6 to 7 (#765) by @dependabot

Changelog

Full Changelog: v0.7.0...v0.7.1-beta.1

  • c74998a feat(copilot): add GitHub Copilot usage provider (#764) by @robinebers
  • 7530469 fix(antigravity): show "Not started" for unused 5-hour quota pools (#761) by @robinebers
  • 6c3d034 feat(customize): undo widget removal (#603) (#771) by @robinebers
  • f159788 feat(cursor): price GLM 5.2 in the spend manifest (#781) by @robinebers
  • bf7fa4d feat(providers): bring back provider quick-link buttons (#596) (#779) by @robinebers
  • 78ef4a7 feat(share): per-provider Copy as Image card (#762) (#778) by @robinebers
  • c148a4c chore(deps): bump github.com/sindresorhus/keyboardshortcuts (#766) by @dependabot
  • e62400d chore(deps): bump actions/checkout from 6 to 7 (#765) by @dependabot

v0.7.0

A brand-new OpenUsage. The app has been rebuilt from the ground up to be faster, lighter, and feel right at home on your Mac.

Coming from an earlier version? This is a fresh start. Your usage and sign-ins are still read straight from your machine — but the app and its look are all new.

Highlights

  • Rebuilt for Mac — quicker to open, lighter to run, and a clean, modern look. Runs on macOS Sequoia and later, on both Apple Silicon and Intel Macs.
  • More providers — Claude, Codex, Cursor, Grok, Devin, and Antigravity, all in one place.
  • Usage trends — a quick sparkline of recent usage for Claude, Codex, Cursor, and Grok.
  • Pacing — see whether you're ahead or behind, with a "Limit in 3h 45m" estimate and an optional always-on view.
  • Clearer spend — cost and tokens shown side by side, with a clean "$0.00 · 0 tokens" when there's nothing to show yet.
  • Codex limit resets — see when your limits refresh, right in the menu bar and popover.
  • Make it yours — resize the panel, expand extra metrics, reorder providers, pin your favorites to the menu bar, and right-click for quick actions.
  • Private by default — optional, anonymous usage and crash reporting you can turn off anytime.

New in this release

  • Your settings now stick — updating no longer resets your layout, pins, and preferences.
  • More reliable Claude sign-in — steadier connection and clearer messages when something needs attention.
  • Cursor — spend is temporarily hidden while Cursor's own usage data is delayed, so you don't see misleading numbers.
  • Smaller fixes and polish throughout.

Changelog

Full Changelog: v0.6.28...v0.7.0

Thanks to @robinebers, @davidarny, and @validatedev.

v0.7.0-beta.16

New Features

  • Anonymous opt-out PostHog usage analytics (#735) by @robinebers
  • Anonymous crash + uncaught-exception reporting (#739) by @robinebers
  • Add Antigravity provider (#745) by @robinebers

Bug Fixes

  • Remove discontinued Sonnet weekly limit (#744) by @robinebers
  • ccusage: local-time day buckets, no fabricated $0.00 for unreported days (#746) by @robinebers

Changelog

Full Changelog: v0.7.0-beta.15...v0.7.0-beta.16

  • 9d732c7 fix(ccusage): local-time day buckets, no fabricated $0.00 for unreported days (#746) by @robinebers
  • e5cf2f7 fix(claude): remove discontinued Sonnet weekly limit (#744) by @robinebers
  • dc2a80d feat(antigravity): add Antigravity provider (#745) by @robinebers
  • 67e546b feat(telemetry): anonymous crash + uncaught-exception reporting (#739) by @robinebers
  • c344732 feat(telemetry): anonymous opt-out PostHog usage analytics (#735) by @robinebers
  • 1765ba7 docs: simplify release-swift skill and document release channels by @robinebers
  • 57d210a chore: preserve Tauri updater manifest during Swift flip by @robinebers
  • 4d1158b chore: prepare Swift branch cutover by @robinebers
  • a6d6050 chore: add macOS agent skills and skills-lock by @robinebers

v0.7.0-beta.15

New Features

  • feat(popover): coordinated-morph auto-resize for the menu-bar panel (#730) by @robinebers
  • feat(popover): System Settings grouped surface + Settings-primary footer (#726) by @robinebers

Bug Fixes

  • Centered Customize/Settings header + per-provider reset menu (#734) by @robinebers
  • fix(settings): rename Startup→General, Menu Style→Icon Style (#733) by @robinebers

Changelog

Full Changelog: v0.7.0-beta.14...v0.7.0-beta.15

  • bb8876a Centered Customize/Settings header + per-provider reset menu (#729) (#734) by @robinebers
  • b41f139 fix(settings): rename Startup→General, Menu Style→Icon Style (#733) by @robinebers
  • 0ad7edc feat(popover): coordinated-morph auto-resize for the menu-bar panel (#730) by @robinebers
  • 098777b feat(popover): System Settings grouped surface + Settings-primary footer (#726) by @robinebers

v0.7.0-beta.14

New Features

  • feat(popover): opaque body + content-aware Liquid Glass footer/header (#724) by @robinebers

Bug Fixes

  • fix(build): stamp linked SDK 26 so AppKit renders modern Liquid Glass controls (#725) by @robinebers
  • Fix Cursor credits and extra usage balances (#723) by @robinebers

Changelog

Full Changelog: v0.7.0-beta.13...v0.7.0-beta.14

  • f72e514 fix(build): stamp linked SDK 26 so AppKit renders modern Liquid Glass controls (#725) by @robinebers
  • 3760233 feat(popover): opaque body + content-aware Liquid Glass footer/header (#724) by @robinebers
  • f8e7ff7 Fix Cursor credits and extra usage balances (#723) by @robinebers

v0.7.0-beta.13

Heads up: while OpenUsage is in Early Access, updating to a new beta resets all settings — layout, pins, preferences, and the menu-bar shortcut — back to defaults. Betas ship no settings migrations, so each one starts from a clean slate.

New Features

  • Reset all settings to defaults on every beta update (no migrations during Early Access) by @robinebers
  • Liquid Glass split button in the footer (#722) by @robinebers
  • Add expandable dashboard metrics by @robinebers
  • Show "Not started" for unused Codex/Claude sessions; simplify pace ticks (#719) by @robinebers
  • Make the menu-bar panel user-resizable (#717) by @robinebers
  • Remove the Reduce Transparency setting; the popover keeps its Liquid Glass surface (#718) by @robinebers

Bug Fixes

  • Render tooltips above the popover and wrap long text (#715) by @davidarny
  • Fail loudly on malformed custom OAuth URL instead of crashing (#700) by @robinebers
  • Try all Claude credential sources with fallback on auth failure (#694) by @robinebers
  • Restrict Usage Trend hover to the mini chart, not the label (#716) by @robinebers
  • Fix pace marker placement: true even-pace line in both views (#714) by @robinebers
  • Refine row/provider right-click menus + footer pull-down button (#713) by @robinebers

Changelog

Full Changelog: v0.7.0-beta.12...v0.7.0-beta.13

  • 2d47fb4 feat(settings): reset all settings on beta version changes by @robinebers
  • a234aeb fix(popover): restore translucent footer with behind-window glass by @robinebers
  • 730ffa7 feat(popover): Liquid Glass split button in the footer (#722) by @robinebers
  • d93a745 Add expandable dashboard metrics by @robinebers
  • 1c13b7d feat(pacing): show "Not started" for unused Codex/Claude sessions; simplify pace ticks (#719) by @robinebers
  • 6faaf25 feat(popover): solid opaque surface; drop Reduce Transparency toggle (#718) by @robinebers
  • 4aca0ba fix(tooltip): render above popover and wrap long text (#715) by @davidarny
  • 11d673a fix(claude): fail loudly on malformed custom OAuth URL instead of crashing (#700) by @robinebers
  • 39ad9f3 fix(claude): try all credential sources with fallback on auth failure (#687) (#694) by @robinebers
  • cf8ee7b Restrict usage trend hover to the mini chart, not the label (#716) by @robinebers
  • 336821d feat(popover): make the menu-bar panel user-resizable (#717) by @robinebers
  • dea1d2d Fix pace marker placement: true even-pace line in both views (#714) by @robinebers
  • 7937806 Refine row/provider right-click menus + footer pull-down button (#713) by @robinebers

v0.7.0-beta.12

New Features

  • Add "Always Show Pacing" setting for on-track meters (#707) by @robinebers
  • Extend Usage Trend sparkline to Cursor and Grok (#698) by @robinebers
  • Default Reduce Transparency on for readability (#691) by @robinebers
  • Add provider-header drag handle (#677) by @robinebers
  • Add Usage Trend sparkline for Claude and Codex (#669) by @davidarny

Bug Fixes

  • Fix metric value tooltips (#710) by @robinebers
  • Reorder default metric customization (#711) by @robinebers
  • Fix Codex session usage percent (#708) by @robinebers
  • Fix menu bar metric units (#709) by @robinebers
  • Clamp quota percent meters to 0–100 (#706) by @robinebers
  • Scope snapshot freshness to the running session (#702) by @robinebers
  • Top-leading back nav on Customize/Settings; unify Customize header (#699) by @robinebers
  • Unify Extra Usage number formatting via MetricFormatter (#695) by @robinebers
  • Restore estimate note on spend-row ⓘ tooltip (#692) by @robinebers

Refactor

  • Streamline Swift codebase for release (incl. #690) (#693) by @robinebers

Chores

  • Document AGENTS.md as agent instruction source by @robinebers

Changelog

Full Changelog: v0.7.0-beta.11...v0.7.0-beta.12

  • ab503ec fix metric value tooltips (#710) by @robinebers
  • 0738d38 Reorder default metric customization (#711) by @robinebers
  • a4cba27 Fix Codex session usage percent (#708) by @robinebers
  • 9afa03f Document AGENTS.md as agent instruction source by @robinebers
  • e40f37d Fix menu bar metric units (#709) by @robinebers
  • da039fe feat(dashboard): add "Always Show Pacing" setting for on-track meters (#685) (#707) by @robinebers
  • 3664118 fix(metrics): clamp quota percent meters to 0–100 (#703) (#706) by @robinebers
  • 5faf25c fix(cache): scope snapshot freshness to the running session (#697) (#702) by @robinebers
  • f338734 Top-leading back nav on Customize/Settings; unify Customize header (#699) by @robinebers
  • b545135 feat(dashboard): extend Usage Trend sparkline to Cursor and Grok (#688) (#698) by @robinebers
  • 0da519b fix(format): unify Extra Usage number formatting via MetricFormatter (#658) (#695) by @robinebers
  • f9a047d refactor: streamline Swift codebase for release (incl. #690) (#693) by @robinebers
  • bac1132 fix(dashboard): restore estimate note on spend-row ⓘ tooltip (#683) (#692) by @robinebers
  • 260542a feat(settings): default Reduce Transparency on for readability (#691) by @robinebers
  • 8836031 feat(dashboard): add provider-header drag handle (#677) by @robinebers
  • be801f1 feat(dashboard): add Usage Trend sparkline for Claude and Codex (#669) by @davidarny

v0.7.0-beta.11

New Features

  • feat(codex): show rate-limit reset credits with per-credit expiry (#675) by @robinebers
  • feat(menubar): add right-click context menu with Settings and Quit (#671) by @davidarny

Bug Fixes

  • fix(popover): clear stray focus ring on open, click-away, and close (#674) by @davidarny
  • fix(dev): fall back to the prebuilt icon when actool fails in build_and_run.sh (#673) by @davidarny
  • fix(dashboard): flag stale snapshots with an "Updated X ago" hint (#668) by @davidarny
  • fix(refresh): stop runaway refresh storm that drops the menu-bar item (#665) by @robinebers
  • hardening: fix local-API crash + MainActor freeze; replace silent fallbacks with loud failures (#667) by @robinebers

Chores

  • perf(refresh): cache ccusage runner resolution and snapshot blob (#672) by @davidarny

Changelog

Full Changelog: v0.7.0-beta.10...v0.7.0-beta.11

  • 2082b39 feat(codex): show rate-limit reset credits with per-credit expiry (#675) by @robinebers
  • bf66276 perf(refresh): cache ccusage runner resolution and snapshot blob (#672) by @davidarny
  • 64e2d13 fix(popover): clear stray focus ring on open, click-away, and close (#674) by @davidarny
  • b4d828a fix(dev): fall back to the prebuilt icon when actool fails in build_and_run.sh (#673) by @davidarny
  • 03782a7 feat(menubar): add right-click context menu with Settings and Quit (#671) by @davidarny
  • 7769bfc fix(dashboard): flag stale snapshots with an "Updated X ago" hint (#582) (#668) by @davidarny
  • b05f794 fix(refresh): stop runaway refresh storm that drops the menu-bar item (#665) by @robinebers
  • f1afaa8 hardening: fix local-API crash + MainActor freeze; replace silent fallbacks with loud failures (#667) by @robinebers

v0.7.0-beta.10

New Features

  • feat(footer): fold Settings + Check for Updates into the More menu (#657) by @robinebers
  • feat(updates): check for updates hourly instead of daily (#655) by @robinebers

Bug Fixes

  • fix(tooltip): reveal hover tooltips after a short delay, not the slow native one (#660) by @validatedev
  • fix(spend): show "$0.00 · 0 tokens" for zero-usage periods, add tokens unit (#656) by @robinebers

Changelog

Full Changelog: v0.7.0-beta.9...v0.7.0-beta.10

  • 4f02053 fix(tooltip): reveal hover tooltips after a short delay, not the slow native one (#660) by @validatedev
  • 040c511 feat(footer): fold Settings + Check for Updates into the More menu (#657) by @robinebers
  • c436284 fix(spend): show "$0.00 · 0 tokens" for zero-usage periods, add tokens unit (#656) by @robinebers
  • 2a9cf92 feat(updates): check for updates hourly instead of daily (#655) by @robinebers

v0.7.0-beta.9

New Features

  • Grok local spend tiles + unify spend tiles across providers (#650) by @robinebers

Bug Fixes

  • Host the dashboard in a key-capable NSPanel (reliable Esc/Return) (#652) by @robinebers
  • Unify popover max height across Customize and Settings (#651) by @robinebers

Changelog

Full Changelog: v0.7.0-beta.8...v0.7.0-beta.9

  • b6c6fcc fix(popover): host the dashboard in a key-capable NSPanel (reliable Esc/Return) (#652) by @robinebers
  • 849862f fix: unify popover max height across Customize and Settings (#591) (#651) by @robinebers
  • 210a395 feat: Grok local spend tiles + unify spend tiles across providers (#646) (#650) by @robinebers

v0.7.0-beta.8

New Features

  • Split spend into cost/tokens, carry raw metric values (#641, #647) by @robinebers

v0.7.0-beta.7

New Features

  • Show Codex rate limit resets in the tray and popover (#638) by @robinebers
  • Collapse the footer Customize button into a More menu (#640) by @robinebers
  • Label the pace run-out time as "Limit in 3h 45m" (#643) by @robinebers
  • Show a numeric projection in pace meter tooltips at reset (#644) by @robinebers

Bug Fixes

  • Resolve npx/npm/pnpm/yarn ccusage runners, not just bunx (#643) by @robinebers
  • Follow nvm alias indirection when locating the ccusage runner (#643) by @robinebers
  • Unify the Codex rate-limit-resets value across tray and popover (#638) by @robinebers
  • Promote a ~0% projected-spare pace meter to red, not amber (#639) by @robinebers
  • Anchor the footer More menu to a flipped view (#640) by @robinebers
  • Guard against a second app instance (duplicate menu-bar icon) (#637) by @robinebers
  • Use a deterministic lowest-PID tie-break in the single-instance guard (#637) by @robinebers

v0.7.0-beta.6

New Features

  • Add Reduce Transparency setting for readability (#629) by @robinebers
  • Drop global pin cap, keep two per provider (#630) by @robinebers

Bug Fixes

  • Only draw card border/frost when Reduce Transparency is on by @robinebers
  • Enlarge header provider glyph to match the menu-bar strip by @robinebers

Chores

  • Align README with per-provider pin limit by @robinebers

v0.7.0-beta.5

New Features

  • Build a universal binary so the app runs natively on both Apple Silicon and Intel Macs by @robinebers
  • Support macOS 15 (Sequoia) and later, not only Tahoe (#623) by @robinebers

Bug Fixes

  • Enlarge provider glyphs in the menu-bar Text strip (#627) by @robinebers

Chores

  • Drop the unworkable macos-15 CI verify leg (#623) by @robinebers

v0.7.0-beta.4

Bug Fixes

  • Show the full version, including the beta tag, in both the updater prompt and the app footer so they match by @robinebers

Chores

  • Add hero screenshot to README by @robinebers

Changelog

Full Changelog: v0.7.0-beta.3...v0.7.0-beta.4

  • 763306b fix(version): show the full version (incl. -beta.N) in Sparkle and the app by @robinebers
  • a82e8b3 docs: add hero screenshot to README by @robinebers

v0.7.0-beta.3

New Features

  • Port the Tauri debug-logging system to the native app (#615) by @robinebers

Bug Fixes

  • Fix white flicker on screen switches with an offset pager (#614) by @robinebers
  • Fix Codex/Devin usage bugs (#612) by @robinebers

Refactor

  • Settings: drop Refresh Every, move Style into Appearance as Menu Style (#613) by @robinebers
  • Remove dead code, fix stale comments, dedupe HTTP status guard (#619) by @robinebers
  • Remove dead code, DRY duplication, hot-path allocations (#610) by @robinebers

Chores

  • Add rollout guardrails, rename release skill to release-swift, show full version in app (#621) by @robinebers
  • Remove dead self-referential links and screenshot placeholders (#618) by @robinebers
  • Run dev build in place instead of installing a Preview app by @robinebers

Changelog

Full Changelog: v0.7.0-beta.2...v0.7.0-beta.3

  • c80b034 feat(logging): port the Tauri debug-logging system to the native app by @robinebers
  • 9c7d95e Fix white flicker on screen switches with an offset pager (#614) by @robinebers
  • 250b278 Fix Codex/Devin usage bugs; cut dead code, DRY dup, stale docs by @robinebers
  • da7c69c Settings: drop Refresh Every, move Style into Appearance as Menu Style by @robinebers
  • 524e07e refactor: remove dead code, fix stale comments, dedupe HTTP status guard by @robinebers
  • 8bdaf61 Refactor: remove dead code, DRY duplication, hot-path allocations by @robinebers
  • c44247a chore: add rollout guardrails, rename release skill, show full version by @robinebers
  • 6a9645d docs: remove dead self-referential links and screenshot placeholders by @robinebers
  • 0ea6b97 Run dev build in place instead of installing a Preview app by @robinebers