Releases: abyssbugg/PulseUsage
Release list
PulseUsage v0.7.0-rc.1
PulseUsage v0.7.0-rc.1
Release Candidate for v0.7.0.
Architecture Modernization
- Decomposed the 4,816-LOC
host_api.rsmonolith into 13 cohesive, single-responsibility modules (logging,fs,plist,crypto,env,sqlite,ls,http,keychain,ccusage,utils,redaction,shared). - Extracted
ProbeDeadlineand redaction logic into shared utilities. - Moved host API test coverage alongside extracted modules.
Capability Enforcement
- Introduced
HostCapabilityandHostCapabilitySetfor least-privilege host API access. - Plugins now declare required host APIs through
hostCapabilitiesin schema v2 manifests. - The orchestrator injects only requested host APIs; undeclared APIs are unavailable by design.
Plugin Platform
- Migrated all 18 bundled providers to explicit
hostCapabilitiesdeclarations. - Provider metadata validator now accepts schema v1 and v2 and validates
hostCapabilitiesstrings. - Fixed latent
httpRequestgaps for providers usingctx.util.request.
Compatibility Layer
- Retained the v1 capability inference map as a platform compatibility contract for third-party plugins.
- Added runtime warning when a plugin falls back to legacy capability inference.
- Documented removal policy: not before v0.9.0 and only after measured schema v2 adoption.
Diagnostics Improvements
- Added capability provenance to provider diagnostics:
schemaVersioncapabilitySource(explicitorinferred)capabilityCount
- Diagnostics panel now shows schema version and capability source.
- Added 14 compatibility regression tests.
Security Improvements
- Capability-gated
plist,sqlite.exec, and other host APIs. - Verified
dangerouslyIgnoreTlsremains localhost-only. - Reduced injected host API surface per plugin.
macOS 27 Compatibility
- Keychain writes include
-a accountforsecurity add-generic-passwordcompatibility on macOS 27. - Keychain reads support optional account argument via
Opt<String>.
Validation
- Rust tests: 163 pass
- JS tests: 1110 pass
- Provider validator: 18/18 pass
- Plugin bundling: 18/18 providers
- Release guards: pass
- Live smoke test on macOS 27.0: app launched, menu bar active, providers probed, keychain/local storage/config persistence verified
Artifact
PulseUsage_0.7.0_aarch64.dmg- SHA256:
43ea106d3e2503699d8615a3447108341ec12121f01f7bca1562705155b30d2f - Size: 11,479,025 bytes
Known Limitations
- Ad-hoc signing: first launch requires Gatekeeper bypass (
Right-click > Open). - No auto-updater: direct-download distribution only.
- Perplexity
Agentic Researchremains intentionally unclassified pending evidence. - Open issue #26 (Antigravity LS probe hardening) remains a non-blocking enhancement.
v0.6.28 — Provider diagnostics, metadata hardening, keychain fix
v0.6.28
Provider diagnostics, metadata hardening, and the keychain readGenericPassword signature fix.
New Features
- Provider diagnostics backend, UI, and metadata validation (PR #14) — safe host counters, last-error redaction, parser/runtime health derivation, likely-cause classification, diagnostics panel on provider detail pages.
- Provider metric classifications with evidence-backed docs and CI-enforced metadata validation (default mode).
Bug Fixes
- Keychain
readGenericPasswordsignature fix — Copilot, Cursor, Claude, Codex, and Factory plugins were broken on every launch withTypeError: Error calling function with 1 argument(s) while 2 where expected. Host binding now usesOpt<String>for the optional account parameter. Live-verified: Copilot and Cursor now reach the keychain and succeed with HTTP 200. - Detect parser failure when any
Errorline exists (not just single-line outputs). - Use token-boundary matching for auth keyword detection in diagnostics.
- Gate
ManifestMismatchon required-metric misses only (not optional/planDependent). - Derive
providerLoadedfrom runtime data instead of hardcodingtrue. - URL/path redaction regexes no longer require trailing quote (prevents leaks).
- Hardened keychain auth-read diagnostics to only count credential-bearing reads.
- Early return in
validateRelativeFileafter unsafe path error (no duplicate error).
Chores
- Bump version to 0.6.28.
- Add provider health documentation.
- Add v0.6.28 release readiness report.
- Split
validate-provider-metadata.mjsinto rules + validator (under 400 LOC each). - Add contract test for
readGenericPassword1-arg calling pattern (regression guard). - Document keychain API signatures in
docs/plugins/schema.md.
Known Limitations
- Perplexity
Agentic Researchmetric remains intentionally unclassified (no evidence); strict-mode validator fails by design until evidence is gathered. v0.7 follow-up. writeGenericPasswordservice-only writes fail on macOS 27 wheresecurity add-generic-passwordnow requires-a account. Pre-existing issue unmasked by the keychain read fix; Copilot probe succeeds via gh CLI fallback. macOS 27 compatibility follow-up.
Install
Download PulseUsage_0.6.28_aarch64.dmg (Apple Silicon / arm64). Open the DMG and drag PulseUsage to Applications. The app is unsigned — right-click → Open on first launch to bypass Gatekeeper.
Verification
- 1,226 tests pass (1,099 JS + 120 Rust + 7 validator)
- CI green on merge commit and version bump
- DMG SHA256:
326da0423b25578236fd35abd5ed8f33ee0d3d22851039856e9c2184ed97e0ec
v0.6.27
Highlights
- Restored richer Factory / Droid usage metrics.
- Restored Warp provider support with current Billing and Usage credit metrics.
- Updated provider documentation and README supported-provider summaries.
Factory / Droid
- Added rich Factory metrics for 5-hour, weekly, and monthly usage.
- Added Extra Usage, Droid Core, and Managed Computers lines.
- Preserved existing Standard and Premium token metrics.
- Added regression coverage for current UI-style usage responses and legacy token responses.
Warp
- Restored the local-only Warp provider.
- Added support for Base Credits, Personal Credits, Monthly Spend Limit, Auto-reload, and Purchased This Month.
- Reads local Warp macOS plist/sqlite state only; no network calls.
- Added binary plist support for Warp preference files.
Validation
- Factory PR #8 passed CI and local validation.
- Warp PR #9 passed CI and local validation.
- Latest validated suites included Bun build/tests, plugin bundling, cargo check, and cargo tests.
Notes
- No packaged macOS artifacts are attached to this draft yet. Attach DMG/checksum artifacts after packaging is finalized for this version.
PulseUsage v0.6.26
PulseUsage v0.6.26
This is the first downloadable GitHub Release for PulseUsage as an independent project.
PulseUsage is a macOS menu bar app for tracking AI coding subscription usage across supported providers. This release establishes the cleaned PulseUsage baseline after separating the project from the original OpenUsage release/update infrastructure.
Download
PulseUsage_0.6.26_aarch64.dmg— unsigned macOS Apple Silicon buildPulseUsage_0.6.26_aarch64.dmg.sha256— checksum for the DMG
Highlights
- Adds the new PulseUsage app icon and regenerated Tauri icon assets.
- Renamed and organized the app as PulseUsage.
- Established the independent
abyssbugg/PulseUsagerepository as the active project home. - Removed upstream updater, analytics, and signed-release assumptions from the project setup.
- Added Rust validation to CI on macOS.
- Made the Rust timeout cleanup test deterministic.
- Aligned release setup with direct-download distribution through GitHub Releases.
- Removed repo-local assistant/tooling configs that were not required to build or run the app.
- Kept bundled plugin support for the currently documented providers.
Supported providers
PulseUsage currently includes bundled support/docs for providers such as Claude, Codex, Cursor, Copilot, Amp, Antigravity, Devin, Factory / Droid, Grok, JetBrains AI Assistant, Kiro, Kimi Code, MiniMax, OpenCode Go, Perplexity, Synthetic, and Z.ai.
Distribution notes
This project is not distributed through the Mac App Store at this stage.
Current distribution target: direct downloads through GitHub Releases or a direct download link.
No Apple Developer Program membership, code signing, notarization, or auto-updater signing is required for this stage. Because this build is unsigned and not notarized, macOS may show standard Gatekeeper warnings when opening the downloaded app.
Validation
Validation completed before publishing the packaged artifact:
bun run buildbun run test --runbun run bundle:pluginscargo check --manifest-path src-tauri/Cargo.tomlcargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1bun run build:release