Releases: robinebers/openusage
Releases · robinebers/openusage
v0.6.26
New Features
- Add local usage trend chart and per-model usage percentages (#542) by @rohithgoud30
- Replace Windsurf provider with Devin (#551) by @robinebers
Bug Fixes
- Fix tray percentage fallback and Claude extra usage metric scope (#548) by @krismolendyke
- Handle Cursor free account pooled limit (#544) by @rohithgoud30
- Make provider rail scrollable (#543) by @rohithgoud30
Chores
- Rename Devin weekly quota label by @robinebers
Changelog
Full Changelog: v0.6.25...v0.6.26
- fdee2b2 Rename Devin weekly quota label by @robinebers
- 4848fce Replace Windsurf provider with Devin by @robinebers
- 455f721 test(tray): refactor and expand fallback tests for tray primary progress by @krismolendyke
- 8a801cc fix(plugins/claude): change extra usage spent metric scope to overview by @krismolendyke
- 83911d8 fix(plugins/claude): add fallback primary candidates for tray percentage by @krismolendyke
- 219c4b8 fix(cursor): handle free account pooled limit by @rohithgoud30
- 1c2e113 fix(side-nav): make provider rail scrollable by @rohithgoud30
- 3cb8a75 fix: bound barChart point parsing and de-flake usage trend tests by @rohithgoud30
- 4b5a38f refactor: address review feedback on usage trend feature by @rohithgoud30
- a6b581f feat: add local usage trend chart and per-model usage percentages by @rohithgoud30
v0.6.25
New Features
- Replace Gemini CLI with agy Antigravity support (#538) by @robinebers
- Add tray action to copy log path (#541) by @robinebers
Bug Fixes
- fix(grok): refresh expired auth tokens (#540) by @robinebers
- fix(minimax): prefer displayable CN usage rows (#539) by @robinebers
- Update MiniMax API endpoint from coding_plan to token_plan (#534) by @doublezz10
- fix: patch critical/high vulnerabilities (#537) by @devin-ai-integration
Refactor
- Debounce usage API cache writes (#503) by @zergzorg
- Bound local HTTP API concurrency (#502) by @zergzorg
- Cap concurrent plugin probes per batch (#499) by @zergzorg
- Add per-probe runtime deadline (#500) by @zergzorg
- Skip auto-update probes already in flight (#498) by @zergzorg
- Pause ticker while panel is hidden (#490) by @zergzorg
Chores
- Stabilize ccusage timeout cleanup test (#501) by @zergzorg
- chore(deps): bump rquickjs from 0.11.0 to 0.12.0 in /src-tauri by @dependabot
- chore(deps): bump tauri-plugin-global-shortcut from 2.3.1 to 2.3.2 in /src-tauri by @dependabot
- chore(deps): bump reqwest from 0.13.3 to 0.13.4 in /src-tauri by @dependabot
- chore(deps): bump uuid from 1.23.1 to 1.23.2 in /src-tauri by @dependabot
- chore(deps): bump log from 0.4.29 to 0.4.30 in /src-tauri by @dependabot
- chore(deps): bump tokio from 1.52.1 to 1.52.3 in /src-tauri by @dependabot
- chore(deps): bump tauri from 2.11.1 to 2.11.2 in /src-tauri by @dependabot
- chore(deps): bump serde_json from 1.0.149 to 1.0.150 in /src-tauri by @dependabot
- chore(deps): bump tauri-plugin-opener from 2.5.3 to 2.5.4 in /src-tauri by @dependabot
- chore(deps): bump tauri-build from 2.6.1 to 2.6.2 in /src-tauri by @dependabot
Changelog
Full Changelog: v0.6.24...v0.6.25
- 2fa079a Replace Gemini CLI with agy Antigravity support by @robinebers
- f33e6c0 Add tray action to copy log path by @robinebers
- c063e54 fix(grok): refresh expired auth tokens by @robinebers
- 8fc2165 fix(minimax): prefer displayable CN usage rows by @robinebers
- 94ddf1a Update MiniMax API endpoints from coding_plan to token_plan by @doublezz10
- 41d6716 chore(deps): bump rquickjs from 0.11.0 to 0.12.0 in /src-tauri by @dependabot
- 84b99e0 chore(deps): bump tauri-plugin-global-shortcut from 2.3.1 to 2.3.2 in /src-tauri by @dependabot
- dd8f8b1 chore(deps): bump reqwest from 0.13.3 to 0.13.4 in /src-tauri by @dependabot
- bf277f8 chore(deps): bump uuid from 1.23.1 to 1.23.2 in /src-tauri by @dependabot
- c6adbcc chore(deps): bump log from 0.4.29 to 0.4.30 in /src-tauri by @dependabot
- 52f5588 fix: patch critical/high vulnerabilities by @devin-ai-integration
- 810b122 Debounce usage API cache writes by @zergzorg
- ce7f682 Bound local HTTP API concurrency by @zergzorg
- d44008f Pause ticker while panel is hidden by @zergzorg
- a291696 Skip auto-update probes already in flight by @zergzorg
- f0e2914 Stabilize ccusage timeout cleanup test by @zergzorg
- 9a9f01d Add per-probe runtime deadline by @zergzorg
- abc68e8 Cap concurrent plugin probes per batch by @zergzorg
- 5de48f1 chore(deps): bump tokio from 1.52.1 to 1.52.3 in /src-tauri by @dependabot
- ba0c01d chore(deps): bump tauri from 2.11.1 to 2.11.2 in /src-tauri by @dependabot
- e523c7b chore(deps): bump serde_json from 1.0.149 to 1.0.150 in /src-tauri by @dependabot
- d61df10 chore(deps): bump tauri-plugin-opener from 2.5.3 to 2.5.4 in /src-tauri by @dependabot
- 6257fc9 chore(deps): bump tauri-build from 2.6.1 to 2.6.2 in /src-tauri by @dependabot
v0.6.24
New Features
- feat: add Grok usage plugin (#484) by @robinebers
- feat: add 12h/24h/auto time format setting (#427) by @HDash
Bug Fixes
- fix(ui): improve pace marker visibility on usage bars (#485) by @robinebers
- fix(claude): prefer keychain credentials (#483) by @robinebers
- fix(ccusage): add release-age fallback for costs (#482) by @robinebers
- fix(codex): trust zero-credit usage response (#481) by @robinebers
- fix(ccusage): resolve nvm node bin path from alias/default (#463) by @devKagan
- fix(perplexity): handle missing group in API response (#462) by @malhobayyeb
Chores
- chore(grok): move pay-as-you-go badge to detail scope by @robinebers
- chore(deps): bump tauri from 2.11.0 to 2.11.1 in /src-tauri by @dependabot
- chore(deps): bump tauri-plugin-store from 2.4.2 to 2.4.3 in /src-tauri by @dependabot
- chore(deps): bump libc from 0.2.184 to 0.2.186 in /src-tauri by @dependabot
- chore(deps): bump sha2 from 0.10.9 to 0.11.0 in /src-tauri by @dependabot
- chore: enforce package release age by @robinebers
Changelog
Full Changelog: v0.6.23...v0.6.24
- 6fc6cd0 chore(grok): move pay-as-you-go badge to detail scope by @robinebers
- 38786d0 fix(ccusage): add release-age fallback for costs by @robinebers
- 7c83829 fix(codex): trust zero-credit usage response by @robinebers
- eb7eaf7 fix(claude): prefer keychain credentials by @robinebers
- 2a5605d feat: add Grok usage plugin by @robinebers
- 8d2d51c fix(ui): improve pace marker visibility on usage bars by @robinebers
- 41c2d79 fix(ccusage): resolve nvm node bin path from alias/default by @devKagan
- f847b24 fix(perplexity): handle missing group in API response by @malhobayyeb
- 88de6bd feat: add 12h/24h/auto time format setting by @HDash
- 1ce87c1 chore(deps): bump tauri from 2.11.0 to 2.11.1 in /src-tauri by @dependabot
- 59a18e2 chore(deps): bump sha2 from 0.10.9 to 0.11.0 in /src-tauri by @dependabot
- 83bc08e chore(deps): bump tauri-plugin-store from 2.4.2 to 2.4.3 in /src-tauri by @dependabot
- 047092e chore(deps): bump libc from 0.2.184 to 0.2.186 in /src-tauri by @dependabot
- de22ad6 chore: enforce package release age by @robinebers
v0.6.23
v0.6.23
Bug Fixes
- fix(claude): remove peak hours indicator integration (#447) by @validatedev
- fix(codex): correct usage dashboard URL to ChatGPT Codex settings (#436) by @devKagan
Chores
- chore(analytics): drop UI-side Aptabase events (#449) by @robinebers
Changelog
Full Changelog: v0.6.22...v0.6.23
- cb365ef chore(analytics): drop UI-side Aptabase events by @robinebers
- 7aa655d fix(claude): remove peak hours indicator integration by @validatedev
- 7376251 fix(codex): correct usage dashboard URL to ChatGPT Codex settings by @devKagan
v0.6.22
Bug Fixes
- fix(ccusage): kill timed-out process groups (#433) by @robinebers
- fix(claude): support hashed macOS keychain service name (closes #423) (#424) by @robinebers
Chores
- chore(deps): bump tauri from 2.10.3 to 2.11.0 in /src-tauri (#429) by @dependabot
- chore(deps): bump reqwest from 0.13.2 to 0.13.3 in /src-tauri (#428) by @dependabot
Changelog
Full Changelog: v0.6.21...v0.6.22
- 2730669 fix(ccusage): kill timed-out process groups (#433) by @robinebers
- 5651a3a fix(claude): only hash keychain when CLAUDE_CONFIG_DIR is set by @robinebers
- 1562a07 fix(claude): support hashed macOS keychain service name (closes #423) by @robinebers
- 2b5c5db chore(deps): bump tauri from 2.10.3 to 2.11.0 in /src-tauri by @dependabot
- ee02c4c chore(deps): bump reqwest from 0.13.2 to 0.13.3 in /src-tauri by @dependabot
v0.6.21
v0.6.21
Bug Fixes
- fix(codex): lazy-load keychain auth fallback (#419) by @validatedev
Chores
- docs(codex): clarify file-based OAuth credentials description (#419) by @validatedev
- docs(agents): replace internal HQ header with OpenUsage title by @robinebers
Changelog
Full Changelog: v0.6.20...v0.6.21
- 6f52da5 docs(codex): clarify file-based OAuth credentials description by @validatedev
- e7b4072 fix(codex): lazy-load keychain auth fallback by @validatedev
- 1395f20 docs(agents): replace internal HQ header with OpenUsage title by @robinebers
v0.6.20
v0.6.20
New Features
- feat: preserve usage data during refresh (stale-while-revalidate) (#386) by @DoozyX
- Add agent worktree setup by @robinebers
Bug Fixes
- fix(factory): retry with GET when usage endpoint returns HTTP 405 (#390) by @allensama0403
- fix: read OAuth tokens from unified state key (#392) by @validatedev
- fix: only refresh Antigravity OAuth on auth failure (#392) by @validatedev
- address review feedback on stale-while-revalidate PR (#386) by @DoozyX
- address second round of review feedback on stale-while-revalidate PR (#386) by @DoozyX
- Prevent shell noise from breaking Z.ai auth headers (#398) by @KYankee6
- Prevent empty marker output from becoming a fake env value (#398) by @KYankee6
- fix(gemini): refresh OAuth tokens on Homebrew-installed gemini-cli (#401) by @Rich627
- fix(codex): map pro to Pro 20x (closes #408) (#411) by @validatedev
- Fix Codex auth fallback (#413) by @robinebers
Refactor
- refactor: rename probe()'s
protovar todbTokens(#392) by @validatedev
Chores
- chore(gemini): clarify OAuth candidate warn message (#401) by @Rich627
- chore(deps): bump uuid from 1.23.0 to 1.23.1 in /src-tauri (#405) by @dependabot[bot]
- chore(deps): bump tokio from 1.51.1 to 1.52.1 in /src-tauri (#406) by @dependabot[bot]
Changelog
Full Changelog: v0.6.15...v0.6.20
- 722e91b fix(factory): retry with GET when usage endpoint returns HTTP 405 by @allensama0403
- 4625376 fix: read OAuth tokens from unified state key by @validatedev
- 6147b1c refactor: rename probe()'s
protovar todbTokensby @validatedev - cfa1e69 fix: only refresh Antigravity OAuth on auth failure by @validatedev
- 0c5185b feat: preserve usage data during refresh (stale-while-revalidate) by @DoozyX
- d794535 address review feedback on stale-while-revalidate PR by @DoozyX
- 7afc4fe address second round of review feedback on stale-while-revalidate PR by @DoozyX
- 5a7de06 Prevent shell noise from breaking Z.ai auth headers by @KYankee6
- 7cf7a6f Prevent empty marker output from becoming a fake env value by @KYankee6
- 96abffb fix(gemini): refresh OAuth tokens on Homebrew-installed gemini-cli by @Rich627
- 1a91101 chore(gemini): clarify OAuth candidate warn message by @Rich627
- a12292d chore(deps): bump uuid from 1.23.0 to 1.23.1 in /src-tauri by @dependabot[bot]
- bee03a9 chore(deps): bump tokio from 1.51.1 to 1.52.1 in /src-tauri by @dependabot[bot]
- b61116e fix(codex): map pro to Pro 20x (closes #408) by @validatedev
- 951c67b Merge pull request #411 from robinebers/fix/codex-change-10x-to-20x-for-pro-plan by @validatedev
- 35b0787 Merge pull request #405 from robinebers/dependabot/cargo/src-tauri/uuid-1.23.1 by @dependabot[bot]
- 9a80827 Merge pull request #406 from robinebers/dependabot/cargo/src-tauri/tokio-1.52.1 by @dependabot[bot]
- a6072da Merge pull request #401 from Rich627/fix/gemini-homebrew-bundle-refresh by @Rich627
- 3970022 Merge pull request #390 from allensama0403/fix/factory-405-usage-endpoint by @allensama0403
- 2c03270 Merge pull request #392 from robinebers/fix/antigravity-oauth-local-import-schema-error by @validatedev
- a9425ba Add agent worktree setup by @robinebers
- f894473 Fix Codex auth fallback by @robinebers
- b9e9f30 Merge pull request #413 from robinebers/cursor/1823929a by @robinebers
- de8cf31 Merge pull request #386 from DoozyX/claude/preserve-usage-on-refresh-1pNCN by @DoozyX
- 77ef460 Merge pull request #398 from KYankee6/fix/zai-env-header-noise by @KYankee6
v0.6.15
New Features
- feat(claude): add Claude Design weekly detail metric (#388) by @robinebers
- Add CLAUDE.md by @robinebers
- Add Codex environment config by @robinebers
Bug Fixes
- fix(codex): map Codex plan labels to Pro 5x and Pro 10x (#380) by @arrowarcher1
- fix(claude): graceful 429 rate limit handling with Retry-After support (#378) by @zergzorg
- Update AGENTS.md by @robinebers
- Star history by @robinebers
Changelog
Full Changelog: v0.6.14...v0.6.15
- cb16571 feat(claude): add Claude Design weekly detail metric (#388) by @robinebers
- 87c45b6 Add CLAUDE.md by @robinebers
- 455c857 Update AGENTS.md by @robinebers
- 510cbe4 fix(codex): map Codex plan labels to Pro 5x and Pro 10x (#380) by @arrowarcher1
- 0ffe3ad fix(claude): graceful 429 rate limit handling with Retry-After support (#378) by @zergzorg
- 06113d6 Add Codex environment config by @robinebers
- abf6cff Star history by @robinebers
v0.6.14
v0.6.14
New Features
- Clickable provider rows + session/weekly labels by @robinebers
- Integrate PromoClock peak/off-peak status (#364) by @validatedev
- Add cmd-arrow tab navigation by @robinebers
Bug Fixes
- Session expired (#363) by @yhunko
- Prefer userTier.name over legacy planInfo.planName by @n3wr1ch
- Show panel before tray reposition by @robinebers
- Correct tray monitor positioning by @robinebers
- Position panel under tray icon on all entry paths without flicker by @robinebers
Refactor
- Apply Copilot review — add typeof/trim guards, remove duplicate assertion by @n3wr1ch
- Dedupe panel focus helper by @robinebers
Chores
- Bump tauri-plugin-updater in /src-tauri by @dependabot[bot]
- Bump tokio from 1.51.0 to 1.51.1 in /src-tauri by @dependabot[bot]
Changelog
Full Changelog: v0.6.13...v0.6.14
- 57cc5bd fix(settings,opencode): clickable provider rows + session/weekly labels by @robinebers
- 60cc426 fix(gemini): session expired (#363) by @yhunko
- 83551c1 feat(claude): integrate PromoClock peak/off-peak status (#364) by @validatedev
- cb63b20 refactor: apply Copilot review — add typeof/trim guards, remove duplicate assertion by @n3wr1ch
- 996c7fe chore(deps): bump tauri-plugin-updater in /src-tauri by @dependabot[bot]
- 9479e34 chore(deps): bump tokio from 1.51.0 to 1.51.1 in /src-tauri by @dependabot[bot]
- d7cb0fc fix(antigravity): prefer userTier.name over legacy planInfo.planName by @n3wr1ch
- 995a7fd fix(panel): show before tray reposition by @robinebers
- ae43e80 fix(panel): correct tray monitor positioning by @robinebers
- d114de5 fix(panel): position panel under tray icon on all entry paths without flicker by @robinebers
- 0d6e0ed refactor: dedupe panel focus helper by @robinebers
- 8cfe6a9 feat: add cmd-arrow tab navigation by @robinebers
v0.6.13
v0.6.13
New Features
- Add Kiro plugin for usage tracking and management by @sayuru-akash
- add Synthetic provider plugin by @ben-vargas
- add SOCKS5/HTTP proxy support via ~/.openusage/config.json by @zergzorg
- Support custom Claude OAuth config and credentials by @robinebers
Bug Fixes
- address synthetic plugin review feedback by @ben-vargas
- scope keychain user lookup by @robinebers
- address PR 331 review comments by @robinebers
- use REST fallback for team-inferred accounts missing planUsage.limit by @drewwells
- skip fallback when percent usage is available by @drewwells
- prefer enterprise auth and handle missing limits by @drewwells
- correct proxy redaction output by @robinebers
- prevent relative config path when home dir is unavailable by @zergzorg
- load factory auth from droid v2 store (#298) by @davidarny
- Harden Windsurf quota parsing for missing and invalid balance data by @prayzey
- Handle missing Windsurf extra usage balance so quota still loads by @prayzey
Refactor
- update release process to push commits and tags before creating GitHub releases by @robinebers
Chores
- bump tokio from 1.50.0 to 1.51.0 in /src-tauri by @dependabot[bot]
- add proxy configuration guide by @robinebers
Changelog
Full Changelog: v0.6.12...v0.6.13
- 96eede6 feat: Add Kiro plugin for usage tracking and management by @sayuru-akash
- 2a8f550 fix: address synthetic plugin review feedback by @ben-vargas
- 8031849 feat: add Synthetic provider plugin by @ben-vargas
- 110bee6 fix(claude): scope keychain user lookup by @robinebers
- 25b0029 fix: address PR 331 review comments by @robinebers
- fed094a Support custom Claude OAuth config and credentials by @robinebers
- b821f34 fix(cursor): use REST fallback for team-inferred accounts missing planUsage.limit by @drewwells
- 6a5145b fix(cursor): skip fallback when percent usage is available by @drewwells
- 64c9840 fix(cursor): prefer enterprise auth and handle missing limits by @drewwells
- 7dc38fe docs: add proxy configuration guide by @robinebers
- 29c9ff0 fix(config): correct proxy redaction output by @robinebers
- 2c27806 fix: prevent relative config path when home dir is unavailable by @zergzorg
- 1f48faf feat: add SOCKS5/HTTP proxy support via ~/.openusage/config.json by @zergzorg
- bbbb6cc Harden Windsurf quota parsing for missing and invalid balance data by @prayzey
- c9ab800 Handle missing Windsurf extra usage balance so quota still loads by @prayzey
- d6ee9c6 chore(deps): bump tokio from 1.50.0 to 1.51.0 in /src-tauri by @dependabot[bot]
- 857f537 fix: load factory auth from droid v2 store (#298) by @davidarny
- 625ae4e refactor: update release process to push commits and tags before creating GitHub releases by @robinebers