Release Notes v0.9.0¶
This release adds the Profile Viewer web application, release statistics, and improved progress reporting.
New Features¶
Profile Viewer Web Application¶
A new web application for visualizing GitHub contribution statistics generated by gogithub profile:
# Generate profile data
gogithub profile --user grokify --from 2024-01-01 --to 2024-12-31 \
--include-releases --output-raw profile.json
# Open the Profile Viewer and drag-and-drop your JSON file
Features¶
| Feature | Description |
|---|---|
| Stats Card | Embeddable SVG showing commits, PRs, issues, reviews, code changes |
| Contribution Calendar | GitHub-style green heatmap with daily tooltips |
| Monthly Charts | Bar and line charts for activity trends |
| Top Repositories | Sortable table by commits or code changes |
| Dark Mode | Automatic theme switching with manual toggle |
| Export | Download stats card as SVG or PNG |
Usage Options¶
- Interactive Mode: Visit the hosted viewer, drag and drop your JSON file
- Personal Static Site: Deploy to GitHub Pages with automatic weekly updates
See the Profile Viewer Guide for deployment instructions.
Release Statistics¶
New --include-releases flag fetches release counts for contributed repositories:
gogithub profile --user grokify --from 2024-01-01 --to 2024-12-31 \
--include-releases --output-raw raw.json
New JSON Fields¶
| Field | Location | Description |
|---|---|---|
net_additions |
Aggregate | Total additions minus deletions |
total_releases |
Aggregate | Total releases across all repos |
releases |
Monthly | Releases per month |
API Overhead¶
Without --include-releases |
With --include-releases |
|---|---|
| 2-4 GraphQL calls total | 2-4 GraphQL calls + 1 REST call per repository |
For a user with 71 contributed repositories, enabling releases adds 71+ API calls. Use --output-raw to cache results.
Progress Callback for Commit Stats¶
New progress reporting capability in the graphql package:
import "github.com/grokify/gogithub/graphql"
progress := func(current, total int) {
fmt.Printf("Processing repository %d/%d\n", current, total)
}
stats, err := graphql.GetCommitStatsWithProgress(
ctx, client, username, from, to, visibility, progress)
Changes¶
Improved Progress Display¶
The CLI now uses mogo/fmt/progress.MultiStageRenderer for consistent progress rendering:
- Per-repository progress updates during commit detail fetching
- Consistent alignment with percentage after progress bar
Monthly Activity¶
The MonthlyActivity type now includes a Releases field:
type MonthlyActivity struct {
Year int
Month time.Month
Commits int
Issues int
PRs int
Reviews int
Releases int // NEW
Additions int
Deletions int
}
Documentation¶
- Profile Viewer Guide - Complete guide for the web app
- Updated CLI Guide with release data documentation
- Added release data caching recommendations
Dependencies¶
- Updated
github.com/grokify/mogofrom v0.72.7 to v0.73.0 forfmt/progresspackage
Upgrade Notes¶
This release is fully backward compatible. The new fields in JSON output are additive.
To use the new features:
- Update to v0.9.0:
go get github.com/grokify/gogithub@v0.9.0 - Regenerate profile data with
--include-releasesto populate release counts - Use the Profile Viewer to visualize your data