Repository navigation
v1.22.0
A feature release: track several Claude subscriptions side by side, show
remaining instead of used quota, and a hardened build and release pipeline with
secret and workflow scans and signed build provenance. Upgrading needs one
dms restart for the new JavaScript module; existing settings keep working.
Thanks to @mmoya
(#54) and
@trnqq-0
(#53) for the
requests. Long-form notes and the two-account setup guide:
docs/releases/1.22.0.md.
Features
- Add named Claude profiles in settings (#54). Up to 16 accounts, each with its own
claude-<id>provider ID and absoluteCLAUDE_CONFIG_DIR, get their own card, quota windows, week-token/today-cost summary, readiness check, pin, DankBar window override, alert threshold, notifications and IPC focus target. The defaultclaudeprovider is unchanged. Usage snapshots and transcript caches are scoped by the SHA-256 of the canonical config directory underclaude-profiles/, so accounts never share data; the old unscoped snapshot is not trusted. Covered bytests/test-claude-profiles.sh. - Add Show remaining quota (
showRemainingQuota, off by default) (#53). The DankBar pill, its tooltip and the dashboard quota bars and rings show100 − used, labeled as remaining. Colors, alert thresholds, ranking, fleet load, history and notifications still use consumption. - The dashboard and settings title is now AiOverviewControl in every language.
Security and release
- Release archives carry signed SLSA build provenance (
gh attestation verify), and the release is published by the runner'sgh release create --verify-taginstead of a third-party action with write access. - New required checks: Secret scan (gitleaks over the full history plus verified TruffleHog) and Workflow security audit (zizmor, medium and above). The optional pre-push hook runs gitleaks on outgoing commits. A weekly OpenSSF Scorecard publishes to code scanning.
- The release passes CI only
CROWDIN_API_TOKENinstead of every secret; step outputs reach shell scripts through environment variables; no checkout persists its token. - Dependabot and the checksum-pinned CI tools adopt new upstream releases only after a seven-day quarantine. The README contributor grid skips automation accounts.
Maintenance
scripts/reload-pluginvalidates manifest/locale JSON, qmldir types, JavaScript modules and conflict markers before unloading the live widget, and points todms restartwhen a new module needs it.- Provider retries keep the configured
AIOC_HISTORY_MAX. - The native UI smoke runs against DankMaterialShell v1.6.3 and installs
jq, which the widget needs before it enables refreshes.ClaudeProfiles.jsstays plain JavaScript so code scanning can parse it.