Release Notes v0.16.0¶
Release Date: 2026-08-02
This is a non-breaking, additive release. It closes the last gap in clientv1's API coverage for consumers that were still importing go-github directly for GitHub's Activity (Events) API — most commonly to build daily/weekly activity heatmaps from a user's public timeline.
New Features¶
clientv1: ListUserEvents¶
import (
"github.com/grokify/gogithub/clientv1"
)
client, _ := clientv1.NewClient(ctx, token)
events, err := client.ListUserEvents(ctx, "octocat", &clientv1.ListUserEventsOptions{
PublicOnly: true,
})
for _, e := range events {
fmt.Println(e.Type, e.CreatedAt, e.Repo.Name)
}
- Wraps go-github's
Activity.ListEventsPerformedByUser, paginating through all available pages. - GitHub's Events API only returns the user's most recent ~300 events regardless of pagination — this is a GitHub API limit, not a
clientv1restriction. ListUserEventsOptions.PublicOnlycontrols whether private events are included when the request is authenticated asusername(defaultfalse, matching go-github's default).
New Stable Types¶
gogithub.Event—ID,Type,Public,Actor,Repo,CreatedAtgogithub.EventRepo— the lightweight repo reference (ID,Name,URL) GitHub attaches to events, distinct from the fullgogithub.Repository
Why This Matters¶
Before this release, clientv1.Client covered users, repos, content, git data, commits, pull requests, issues, checks, releases, and search — but not the Events API. Any consumer building a contribution/activity heatmap had to fall back to a raw *github.Client (via auth.NewGitHubClient or client.Raw()), which reintroduced a direct github.com/google/go-github dependency and defeated the purpose of version isolation. ListUserEvents removes that last escape hatch for the common case.
Installation¶
See CHANGELOG.md for the categorized commit list.