Skip to content

Releases: stricttools/howmuchleft

v0.17.0

Choose a tag to compare

@smm-h smm-h released this 06 Oct 20:56

The Go module path moves to github.com/stricttools/howmuchleft, and howmuchleft now builds on strictcli 0.38 and go-toml-edit 0.5 at their stricttools paths.

Breaking

  • The Go module path moved to github.com/stricttools/howmuchleft. The repository lives in the stricttools organization, so github.com/smm-h/howmuchleft is no longer this module's path: install with go install github.com/stricttools/howmuchleft@v0, and a program importing its packages changes its imports and require to the new path.
  • howmuchleft version is now strictcli's framework command and prints howmuchleft <version> instead of the bare version number, and it no longer runs the settings migrations. Scripts that parse its output must take the second word.

v0.16.0

Choose a tag to compare

@smm-h smm-h released this 15 Sep 22:33

The fastest Claude Code statusline, measured against the others by a reproducible harness: git ahead/behind and changed-file counts return through a detached two-second cache, the theme cache is two seconds, and the documentation moved onto selfdoc's .stricttools/ layout.

Features

  • A reproducible comparison with other statuslines. A new harness installs pinned builds of the other Claude Code statuslines into a scratch directory, feeds every one of them the same status object, and records each one's median render time and peak memory. The measured table, the caveats behind it and the steps to rerun it are on the new comparison page, and the README's performance section now carries those medians instead of a comparison against the old Node.js implementation.
  • A faster render. Finding the git branch no longer starts a git process -- the branch name is read straight out of the repository's HEAD file -- and the desktop light/dark preference behind the gradient is detected once and reused instead of being asked for on every render. On the machine the comparison page is measured on, the median render dropped from 11.2 ms to 5.9 ms, ahead of every other statusline the harness measures.
  • The branch counts are back, without the git process. The statusline shows the branch's ahead and behind counts against its upstream again, and the number of changed paths in the working tree, without starting git while it renders: a detached refresh writes them to a cache file the render reads, so the counts trail the working tree by up to two seconds and the render still costs no fork.

Fixes

  • The description says what it now is. The project's one-line description, which the README, the docs site, the CLI help and the package metadata all repeat, now reads "The fastest Claude Code statusline: context window, 5-hour, and weekly limit usage as three customizable gradient bars, rendering in about 6 ms".
  • A theme switch shows up right away. Switching the desktop between light and dark now reaches the statusline within a couple of renders instead of up to ten seconds later.

v0.15.1

Choose a tag to compare

@smm-h smm-h released this 14 Sep 17:23

Documentation frontmatter converted to TOML for the current selfdoc; no user-facing change.

Infrastructure

  • Documentation frontmatter converted to TOML for the current selfdoc; no user-facing change.

v0.15.0

Choose a tag to compare

@smm-h smm-h released this 14 Sep 16:23

Current strictcli, go-toml-edit and stricttest dependencies with a fuller top-level help line, in-repo config default seeding, version injection fixed, and the project describes itself consistently with its docs at the unified site.

Features

  • howmuchleft profile now explains itself in --help. The group and its install, list and uninstall commands carry full descriptions -- including that install refuses to overwrite another tool's statusLine and that the profile directory defaults to $CLAUDE_CONFIG_DIR, then ~/.claude.
  • howmuchleft --help now says what the tool actually does. The top-level help line was the bare phrase "Claude Code statusline tool"; it now describes the three progress bars for context window, 5-hour and weekly usage and their green-to-red shading.

Fixes

  • Config migration no longer depends on a retired third-party library. The config file is created and kept complete by an in-repo mechanism; existing values, comments and custom keys are preserved as before.
  • Correct version reporting. Released binaries reported a fallback version instead of the released one, because the linker's -X target named a symbol that did not exist.
  • The project describes itself consistently in its README and package documentation. The README opened with a tagline instead of a definition, the Go packages carried no doc comments, and the site metadata had no description at all.
  • Documentation links point at the unified site, and the docs build works again with current strictcli. Project documentation moved from its own host to the main site's /howmuchleft path, and the CLI framework bump restores schema generation so the published reference matches the shipped commands again.

v0.14.1

Choose a tag to compare

@smm-h smm-h released this 05 Aug 18:35

Repair the publish pipeline: allowlist the public OAuth client ID so the release secret scan stops blocking binary builds.

Context

The 0.14.0 scaffold update added a gitleaks dir . source scan to the publish
workflow. It flagged internal/oauth/oauth.go's OAuthClientID -- Claude Code's
public OAuth client identifier, which is not a credential -- as a
generic-api-key, so goreleaser never ran and the v0.14.0 GitHub Release
shipped without its binary archives.

This release adds a .gitleaks.toml allowlist for that one public identifier
and re-runs the publish pipeline, restoring the pre-built binaries. It carries
no user-facing code changes, hence bump = "infra".

Infrastructure

  • Repair the publish pipeline: allowlist the public OAuth client ID so the release secret scan stops blocking binary builds.

v0.14.0

Choose a tag to compare

@smm-h smm-h released this 05 Aug 18:27

Migrate to the go-strictcli effect model: every command declares its effect, and --dry-run, --quiet and --verbose are now framework-provided on every invocation.

Context

go-strictcli 0.29.0 made effect classification mandatory: each command must
declare whether it reads, writes, or performs a consequential action. Adopting
it means the framework now supplies the --dry-run/--quiet/--verbose flag
quartet uniformly across every command, replacing per-command ad-hoc handling.

Known ceiling in this release: --dry-run does not yet suppress the embedded
config migration that runs on startup, so a dry-run invocation can still
migrate the config file. This is documented in the effect classification and
will be addressed separately.

Features

  • Effect classification and the framework flag quartet. Every command now declares its strictcli effect, and --dry-run, --quiet and --verbose are provided by the framework on every invocation.

v0.13.0

Choose a tag to compare

@smm-h smm-h released this 05 Jul 18:28

Add Fable model support with separate usage tracking, fix cache bugs, and consolidate duplicated code

Breaking

  • Breaking. Upgrade go-strictcli to v0.17.0: --live BoolFlag now has explicit default.

Features

  • New feature. Add Fable model support with separate usage tracking (F5 alias, 4th progress bar, Fable-specific rate limit display).

Fixes

  • Bug fix. Fix WriteUsageFromStdin reading wrong keys from stdin data.

v0.12.2

Choose a tag to compare

@smm-h smm-h released this 11 Jun 09:13

Fix OAuth detection to use stdin rate_limits

Context

v0.12.1 checked CLAUDE_CODE_OAUTH_TOKEN env var, but Claude Code doesn't pass it to statusline subprocesses. Now uses the presence of rate_limits in stdin instead, which is reliable and requires no external files or env vars.

Fixes

  • Fix. Detect OAuth from stdin rate_limits instead of relying on env var or credentials file, fixing tier display for claudewheel-launched sessions.

v0.12.1

Choose a tag to compare

@smm-h smm-h released this 10 Jun 22:25

Fix subscription tier detection for claudewheel-launched sessions

Context

When claudewheel launches Claude Code, it sets CLAUDE_CODE_OAUTH_TOKEN instead of writing .credentials.json. howmuchleft now checks this env var as a fallback, showing 'OAuth' instead of incorrectly displaying 'API'.

Fixes

  • Fix. Detect OAuth authentication from CLAUDE_CODE_OAUTH_TOKEN env var when .credentials.json is absent, showing "OAuth" instead of "API" for claudewheel-launched sessions.

v0.12.0

Choose a tag to compare

@smm-h smm-h released this 18 May 15:46

Breaking

  • Breaking. CLI migrated from Cobra to go-strictcli. No user-facing command changes, but the underlying framework is now strictcli.