Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,78 @@ follows [Semantic Versioning](https://semver.org/).
link directly to the current Apple silicon app ZIP, and keep build commands
in the contributor guide instead of the README.

## [0.3.0-beta.3] - 2026-10-17

### Release

- Publish signed and notarized Electron build 61 for Apple silicon. Keep the
stable Swift download and updater unchanged. Refresh beta documentation and
screenshots, including the separate API connections page.
- Reuse the verified build from source c2d092c. Source/package checks passed;
native timing, broad provider compatibility and complete billing acceptance
remain disclosed beta limits.

### Added

- Show Grok Bot Desktop quota burn in percentage points per hour from recent
same-account readings. Collect for at least a minute, discard old/reset
observations and show an estimated run-out only when measured.
- Add separate OpenAI API and Anthropic API billing cards backed by projected
owner-only snapshots. A bundled one-run helper uses existing environment-only
organization Admin keys. Keep API billing distinct from subscription quota
and estimates; show report periods, capture age and stale state. Live billing
acceptance remains pending.
- Add an explicit Antigravity Desktop connection in Electron setup and Settings.
Read account allowance from one running, signed-in desktop language server
without requiring `agy`. Keep CLI selection explicit and local activity
separate. Synthetic fixtures cover identity changes, unavailable quota,
transport limits and cancellation. Native and live-provider acceptance remain
pending beyond the owner-confirmed live connection.

### Changed

- Move API setup to its own Settings sidebar page. OpenAI and Anthropic API
setup now accepts a one-time Admin key and fetches billing directly, with no
Terminal steps. Existing legacy Admin keys can be reused through a read-only
Keychain action; newly pasted keys are not saved. Account connections and
onboarding stay separate.

- Connect new Grok Bot accounts through **Grok Bot Desktop (Beta)** after
explicit consent. Read only the active account-bound encrypted access token and team
through a fixed Keychain item; use a bounded read-only allowance request with
MeterUsage's own headers. Reject identity/team/store changes and cancelled
results. Keep saved Cursor connections compatible and CLI selection explicit.
No token refresh, app writes or separate xAI sign-in is added. Native store,
Keychain and endpoint compatibility remain incomplete beta acceptance.
- Shorten heatmap hover/focus totals to values such as `42.4B tokens` and
`1.6K sessions` across local and account history. Keep exact grouped counts
in tooltips and accessibility labels. Summary counts compact from 1,000.

### Fixed

- Preload the tray usage window hidden after completed onboarding, before
connection recovery or provider collection. The first click reuses the loaded
renderer instead of starting its initial load.
- Read Grok Bot's account-bound encrypted legacy v10 access values and correct
its fixed Keychain account to Grok Bot Key. Preserve scope, expiry, identity,
cancellation and store checks; reject plaintext and unsupported encryption.
- Give 30-day provider activity the same 26-column, seven-row heatmap layout.
Keep older unavailable dates distinct from measured zero-token days.
- Add **Use local OpenCode** setup for key-free Go session history and restore
executable Bun-install discovery for the read-only SQL fallback.
- Name saved legacy Grok connections as Cursor sources while new connections
use Grok Bot Desktop.

- Group Antigravity Desktop limits under compact model headings and shorten
remaining-allowance labels to match the CLI presentation. Preserve every
reported bucket, its used percentage and reset. Keep account allowance
separate from CLI activity, and describe unavailable saved connections
without claiming a live connection.
- Exclude Apple's system `CursorUIViewService` from the Cursor editor process
guard. Continue rejecting active Cursor processes and unsafe database state.
- Show the running app bundle's version in Settings instead of the legacy
hardcoded version. Source previews omit the version when none is supplied.

## [0.3.0-beta.1] - 2026-10-16

### Added
Expand Down
39 changes: 22 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Swift app remains the stable download and rollback option during migration.

| Edition | Current status | Setup and behavior |
| --- | --- | --- |
| Electron 0.3.0-beta.1, build 54 | Public beta for Apple silicon, macOS 13+; signed and notarized | [Download beta](https://github.com/pekth/meterusage/releases/tag/v0.3.0-beta.1) · [Beta guide](docs/BETA.md) |
| Electron 0.3.0-beta.3, build 61 | Public beta for Apple silicon, macOS 13+; signed and notarized | [Download beta](https://github.com/pekth/meterusage/releases/tag/v0.3.0-beta.3) · [Beta guide](docs/BETA.md) |
| Legacy Swift 0.2.41 | Frozen for new features; published stable download and migration rollback | [Swift guide](docs/swift/README.md) |

Electron is the active app for new features. Swift remains the stable download
Expand All @@ -29,16 +29,19 @@ and the [version strategy](docs/VERSIONS.md).
<img src="docs/images/beta-notch-claude.png" alt="Electron beta hover card and compact side-notch usage rail" width="256">
</p>

Synthetic demo captures of build 54's renderer. Claude Desktop provides allowance,
Synthetic demo captures of build 61's renderer. Claude Desktop provides allowance,
not a chat-history heatmap. See the [full screenshot gallery and capture details](docs/SCREENSHOTS.md)
for Codex, Claude, side notch and Settings.

The beta includes Codex browser sign-in/account history, optional Claude Desktop
allowance, existing CLI sources, compact provider tabs and hover cards, provider
reordering and readable token totals. Account coverage depends on the source.
Grok remains Beta and CLI-only; Antigravity desktop login is follow-up work.
Build 54's Settings footer incorrectly says `0.2.41`; the packaged version is
`0.3.0-beta.1`. See [known beta limits](docs/BETA.md#known-limits).
The beta also includes Antigravity Desktop allowance, Grok Bot Desktop (Beta),
key-free OpenCode Go local setup and separate [API billing](docs/API_USAGE_BETA.md)
under Settings → API connections. Reuse a legacy saved Admin key or enter a
one-time key. Pasted keys are not saved. OpenRouter retains its existing balance
and activity integration. Desktop compatibility and billing coverage vary;
see [known beta limits](docs/BETA.md#known-limits).

## Stable Swift installation

Expand Down Expand Up @@ -68,34 +71,36 @@ All nine provider adapters remain in the retained Swift and candidate source:
Codex, Claude Code, Antigravity, OpenRouter, Grok, OpenCode Go, Cursor, Copilot
CLI and Gemini CLI. Their inputs and available measurements differ. The
[Swift provider matrix](docs/swift/README.md#provider-matrix) describes existing
CLI/local collection. The [Electron source choices](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/electron/README.md#source-choices)
CLI/local collection. The [Electron source choices](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/electron/README.md#source-choices)
also describe optional Codex browser sign-in and Claude Desktop allowance.

Local activity covers this Mac. Provider-reported account data has its own
coverage limits. Missing tokens remain unknown; costs are estimates and provider
dashboards remain the billing source of record. Read the [privacy contract](docs/PRIVACY.md)
before changing a data source or sharing screenshots.
coverage limits. Missing tokens remain unknown. Local token costs are estimates; optional API
billing cards label provider-reported amounts separately. Provider dashboards
remain the billing source of record. Read the [beta privacy contract](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/PRIVACY.md)
for Electron or the [Swift privacy contract](docs/PRIVACY.md) before changing a
data source or sharing screenshots.

## Can both editions coexist?

The beta tag contains the Electron source and retained Swift tree. The default
branch retains stable Swift source during migration; the intended end state is one
Electron app. Normal-profile side-by-side installation is unsafe:
the app name, bundle ID and default preferences/data locations are shared.
Use only the documented [isolated candidate QA profiles](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/electron/README.md#isolated-qa)
Use only the documented [isolated candidate QA profiles](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/electron/README.md#isolated-qa)
for testing. A separate app identity and data root require a later decision;
there is no automatic cutover. See [ADR 0010](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/adr/0010-macos-typescript-electron.md).
there is no automatic cutover. See [ADR 0010](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/adr/0010-macos-typescript-electron.md).

## Documentation

- [Beta download, verification and limits](docs/BETA.md)
- [Current beta screenshots](docs/SCREENSHOTS.md)
- [Swift guide](docs/swift/README.md)
- [Electron guide and known gaps](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/electron/README.md)
- [Electron guide and known gaps](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/electron/README.md)
- [Versions and staged Swift retirement](docs/VERSIONS.md)
- [Contributing](CONTRIBUTING.md)
- [Project knowledge](docs/KB.md) and [decision index](docs/adr/README.md)
- [Desktop connections](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/DESKTOP-CONNECTIONS.md), [demo mode](docs/DEMO.md)
- [Desktop connections](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/DESKTOP-CONNECTIONS.md), [demo mode](docs/DEMO.md)
and [side notch](docs/SIDE-NOTCH.md)
- [Concept mockups](docs/mockups/README.md) and [changelog](CHANGELOG.md)

Expand All @@ -108,11 +113,11 @@ the Swift guide; product screenshots now show the Electron beta.
See [downloads](#download).

<a id="macos-electron-migration-candidate"></a>
See the [Electron candidate guide](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/electron/README.md).
See the [Electron candidate guide](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/electron/README.md).

<a id="second-accounts"></a>
See [Swift additional local accounts](docs/swift/README.md#second-accounts) and
[Electron advanced local accounts](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/electron/README.md#advanced-local-accounts).
[Electron advanced local accounts](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/electron/README.md#advanced-local-accounts).

<a id="requirements"></a>
See [Swift requirements](docs/swift/README.md#requirements).
Expand All @@ -122,7 +127,7 @@ See [contributor setup](CONTRIBUTING.md).

<a id="agent-budget-cli"></a>
See the [Swift Agent Budget CLI](docs/swift/README.md#agent-budget-cli) and
[Electron commands](https://github.com/pekth/meterusage/blob/v0.3.0-beta.1/docs/electron/README.md#build-and-test).
[Electron commands](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/electron/README.md#build-and-test).

<a id="showcase"></a><a id="-showcase"></a>
<a id="ambient-time-to-empty--side-notch-hud"></a>
Expand All @@ -145,7 +150,7 @@ See [installation details](docs/swift/README.md#download-and-installation).

<a id="report-a-problem"></a>
See [beta diagnostics and bug reports](docs/BETA.md#known-limits) and the
[reporting guide](docs/REPORTING.md).
[beta reporting guide](https://github.com/pekth/meterusage/blob/v0.3.0-beta.3/docs/REPORTING.md).

<a id="-tldr"></a><a id="tldr"></a>
See [downloads](#download).
Expand Down
Loading
Loading