Skip to content

Releases: abyssbugg/PulseUsage

PulseUsage v0.7.0-rc.1

Pre-release

Choose a tag to compare

@abyssbugg abyssbugg released this 06 Jul 17:40

PulseUsage v0.7.0-rc.1

Release Candidate for v0.7.0.

Architecture Modernization

  • Decomposed the 4,816-LOC host_api.rs monolith into 13 cohesive, single-responsibility modules (logging, fs, plist, crypto, env, sqlite, ls, http, keychain, ccusage, utils, redaction, shared).
  • Extracted ProbeDeadline and redaction logic into shared utilities.
  • Moved host API test coverage alongside extracted modules.

Capability Enforcement

  • Introduced HostCapability and HostCapabilitySet for least-privilege host API access.
  • Plugins now declare required host APIs through hostCapabilities in 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 hostCapabilities declarations.
  • Provider metadata validator now accepts schema v1 and v2 and validates hostCapabilities strings.
  • Fixed latent httpRequest gaps for providers using ctx.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:
    • schemaVersion
    • capabilitySource (explicit or inferred)
    • 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 dangerouslyIgnoreTls remains localhost-only.
  • Reduced injected host API surface per plugin.

macOS 27 Compatibility

  • Keychain writes include -a account for security add-generic-password compatibility 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 Research remains 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

Choose a tag to compare

@abyssbugg abyssbugg released this 03 Jul 02:35

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 readGenericPassword signature fix — Copilot, Cursor, Claude, Codex, and Factory plugins were broken on every launch with TypeError: Error calling function with 1 argument(s) while 2 where expected. Host binding now uses Opt<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 Error line exists (not just single-line outputs).
  • Use token-boundary matching for auth keyword detection in diagnostics.
  • Gate ManifestMismatch on required-metric misses only (not optional/planDependent).
  • Derive providerLoaded from runtime data instead of hardcoding true.
  • 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 validateRelativeFile after 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.mjs into rules + validator (under 400 LOC each).
  • Add contract test for readGenericPassword 1-arg calling pattern (regression guard).
  • Document keychain API signatures in docs/plugins/schema.md.

Known Limitations

  • Perplexity Agentic Research metric remains intentionally unclassified (no evidence); strict-mode validator fails by design until evidence is gathered. v0.7 follow-up.
  • writeGenericPassword service-only writes fail on macOS 27 where security add-generic-password now 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

Choose a tag to compare

@abyssbugg abyssbugg released this 06 Jun 12:29

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

Choose a tag to compare

@abyssbugg abyssbugg released this 05 Jun 23:20
1d83b35

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 build
  • PulseUsage_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/PulseUsage repository 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 build
  • bun run test --run
  • bun run bundle:plugins
  • cargo check --manifest-path src-tauri/Cargo.toml
  • cargo test --manifest-path src-tauri/Cargo.toml -- --test-threads=1
  • bun run build:release