Releases: thanhhaudev/github-stats
Releases · thanhhaudev/github-stats
v1.6.0
Changed
- Language statistics now reflect the lines you actually wrote.
LANGUAGES_AND_TOOLSandLANGUAGE_PER_REPOare computed from the files changed in your own commits (vendored and generated files excluded, and merge commits skipped so code merged from others' PRs is not credited to you) instead of the whole-repo language bar of every repository you touched. Reported languages and percentages will change. The first run after upgrading is slower because each commit is analyzed once; results are cached per commit, so later runs stay fast.
v1.5.9
Fixed
- Push regression from the hardened-auth change in this release.
actions/checkout(defaultpersist-credentials: true) leaves anhttp.https://github.com/.extraheaderentry in the workspace.git/config. Git treatsextraheaderas multi-valued, so the new entry injected viaGIT_CONFIG_VALUE_0was sent in addition to the existing one. GitHub then rejected the push with HTTP 400Duplicate header: "Authorization"before validating either token — even when both tokens were identical.pushReadmenow runsgit config --local --unset-all http.https://github.com/.extraheaderbefore injecting its own, tolerating exit 5 when no prior entry exists. HIDE_REPO_INFO=trueno longer collapses every git failure to a bareexit status N. The suppressed branch ofrunGitCommandEnvwas capturing stdout/stderr into buffers and then discarding them. Sanitized stdout/stderr (still scrubbed of token, owner, URLs, and github-token patterns) are now included in the returned error so push failures are debuggable.
Security
- Stop persisting
GITHUB_TOKENin.git/config. TheoriginURL is now set without credentials; auth is supplied per-push viahttp.extraheaderinjected throughGIT_CONFIG_COUNT/KEY_0/VALUE_0env vars (same pattern asactions/checkout). - Pin
Dockerfileruntime base toalpine:3.21instead of the mutablealpine:latest. - Pass
BRANCH_NAMEafter a--separator togit pushso a value starting with-cannot be reinterpreted as a flag. - Strip backticks from WakaTime project/editor/language names before rendering inside the surrounding
textcode fence to prevent markdown-fence injection from upstream API data.
v1.5.8
Added
STRIP_EMOJIenv var to suppress emoji from the rendered README block. Values:NONE(default, current output),TITLE(strip bold-section titles),CONTENT(strip stat-line labels inside code fences),ALL(strip everywhere including theLast updated on …line). Progress-bar glyphs inPROGRESS_BAR_VERSION=2are intentionally preserved.
v1.5.7
Fixed
- Version the cached WakaTime snapshot independently of the repo-commit cache, so a commit-cache schema upgrade or an
ONLY_MAIN_BRANCHtoggle no longer discards a still-valid WakaTime snapshot. - Keep freshly fetched WakaTime stats when only the all-time endpoint is still processing, instead of discarding them and falling back entirely to the cached snapshot.
v1.5.6
Changed
- Align fixed-width stats table labels with stat block labels so
COMMIT_TIMES_OF_DAYand other table metrics share the same value column.
v1.5.5
Added
- Root
Makefiletargets for local development, including GitHub CLI-backed runs that avoid storingGITHUB_TOKENincmd/.env. - Focused regression coverage for commit fetching, WakaTime cache fallback, README marker replacement, pagination, and config metadata parity.
Changed
- Upgrade the Go module, Docker builder image, and CI setup to Go 1.26.3.
- Make
pkg/containerreceive its clock dependency explicitly instead of requiring a context value. - Make commit fetching return deterministic repository-level results while branch fetches run concurrently.
Fixed
- Redact sensitive runtime logs.
- Compact AI footprint line counts.
- Preserve valid UTF-8 when truncating Unicode stats labels.
- Return branch fetch failures with repo and branch context instead of sharing a top-level error channel across repo and branch workers.
v1.5.4
Changed
- Cache successful WakaTime stats when
ENABLE_CACHE=true, and reuse cached WakaTime data when the API is still processing or returns stale stats. - README now warns users to fork the Action or pin a specific release/SHA instead of relying on the floating
v1reference.
Fixed
- GitHub metrics continue updating when WakaTime stats are not ready, instead of skipping the entire README update.
v1.5.3
Added
- Automated release workflow: pushing a
vX.Y.Ztag publishes a GitHub Release and updates the floatingv1tag. CHANGELOG.md(this file).docs/split:docs/metrics.md,docs/configuration.md,docs/caching.md,docs/scheduling.md.
Changed
- README rewritten in concise format (513 → ~85 lines); advanced topics moved to
docs/. pkg/container.metrics()now referencesconfig.Metric*constants instead of bare string literals.- README + docs reference
thanhhaudev/github-stats@v1instead of@masterso users pin a stable major.
Fixed
- AI footprint row label:
Total Prompt Chars(rawai_prompt_length) replaces the misleadingAverage Promptwhile WakaTime omitsai_average_prompt_lengthfrom/stats. Reverts toAverage Promptautomatically once the field appears.
1.5.2
Full Changelog: 1.5.1...1.5.2
1.5.1
What's Changed
- refactor: simplify WakaTime range labels by @thanhhaudev in #20
- feat: coding Streak by @thanhhaudev in #18
- fix: handle WakaTime 202 status in GetAllTimeSinceToday by @thanhhaudev in #21
- refactor: simplify WakaTime range labels (2) by @thanhhaudev in #22
- fix: prevent sensitive information leaks when HIDE_REPO_INFO=true by @thanhhaudev in #23
Full Changelog: 1.5.0...1.5.1