Skip to content

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 clientv1 restriction.
  • ListUserEventsOptions.PublicOnly controls whether private events are included when the request is authenticated as username (default false, matching go-github's default).

New Stable Types

  • gogithub.EventID, Type, Public, Actor, Repo, CreatedAt
  • gogithub.EventRepo — the lightweight repo reference (ID, Name, URL) GitHub attaches to events, distinct from the full gogithub.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

go get github.com/grokify/gogithub@v0.16.0

See CHANGELOG.md for the categorized commit list.