Release Notes - v0.6.0¶
Release Date: 2026-08-01
Overview¶
This release migrates every GitHub API call site in the module — omniskill/github, omnidevx, and omnistorage/backend/github — from raw *github.Client usage to github.com/grokify/gogithub's version-isolated clientv1.Client. As a result, github.com/google/go-github is no longer a direct dependency of this module.
This is a pre-1.0 release, so per SemVer these breaking changes bump MINOR (v0.5.0 → v0.6.0) rather than MAJOR.
Installation¶
Requires Go 1.26+ and github.com/grokify/gogithub v0.15.0+.
Highlights¶
- Full
clientv1.Clientmigration -omniskill/github,omnidevx, andomnistorage/backend/githubnow all use gogithub's stable, version-isolated client interface go-githubdropped as a direct dependency -github.com/google/go-githubno longer appears in the module's direct requirements;v89remains only as an indirect dependency pulled in by gogithub- Upgraded
github.com/grokify/gogithubto v0.15.0 - which itself migrated itsprofileanderrorspackages toclientv1.Client
What's New¶
omniskill/github migrated to clientv1.Client¶
The GitHub skill (issues, pull requests, code/issue search) now uses gogithub/clientv1.Client instead of a raw *github.Client, calling the ListIssues/GetIssue/CreateIssue/UpdateIssue/CreateIssueComment/ListPullRequests/GetPullRequest/SearchIssues/SearchCode methods added to clientv1 in gogithub v0.15.0. Because stable gogithub types don't expose go-github's Get*() accessors, small nil-safe helpers (userLogin, branchRef, repoFullName) replace those call sites internally.
This was the last direct google/go-github import in the module, so go-github/v88 is dropped entirely as a direct dependency.
omnidevx and omnistorage/backend/github migrated to clientv1.Client¶
Upgrading github.com/grokify/gogithub to v0.15.0 migrated its profile and errors packages to clientv1.Client, which is itself a breaking change for any caller still passing a raw *github.Client. omnidevx's profile collector and omnistorage's GitHub object-storage backend (backend.go and batch.go, which share a client field and moved together) were migrated in the same commit to keep the build green.
Breaking Changes¶
omniskill/github no longer accepts a raw *github.Client¶
The skill now constructs and uses a clientv1.Client internally.
Before (v0.5.0 and earlier):
import (
"github.com/google/go-github/v88/github"
"github.com/plexusone/omni-github/omniskill/github"
)
// Skill internally used *github.Client from google/go-github
skill := github.New(github.Config{
Token: os.Getenv("GITHUB_TOKEN"),
})
After (v0.6.0):
import "github.com/plexusone/omni-github/omniskill/github"
// Same public Config/New API - internals now use gogithub/clientv1.Client
skill := github.New(github.Config{
Token: os.Getenv("GITHUB_TOKEN"),
})
The public Config/New/skill.Skill API is unchanged. This is breaking only for code that reached into the skill's internals or otherwise depended on it re-exporting google/go-github types.
omnidevx profile collector and omnistorage/backend/github now use clientv1.Client¶
Both packages previously accepted or constructed a raw *github.Client (from google/go-github) and now accept/construct a gogithub/clientv1.Client.
Before (v0.5.0 and earlier):
import "github.com/google/go-github/v88/github"
ghClient := github.NewClient(httpClient)
// passed into omnidevx and omnistorage/backend/github internals
After (v0.6.0):
import "github.com/grokify/gogithub/clientv1"
client, err := clientv1.NewClient(ctx, token)
// used internally by omnidevx and omnistorage/backend/github
github.com/google/go-github removed as a direct dependency¶
github.com/google/go-github/v88 is no longer listed as a direct dependency in go.mod. github.com/google/go-github/v89 remains present only as an indirect dependency, pulled in transitively by github.com/grokify/gogithub.
Any consumer code that relied on this module re-exporting google/go-github types (directly or transitively as a direct dependency) must switch to gogithub's stable types (gogithub.User, gogithub.Repository, etc.) and the clientv1.Client interface.
Migration Guide¶
From v0.5.0¶
- If you construct or pass around a
*github.Client(fromgoogle/go-github) to interact withomniskill/github,omnidevx, oromnistorage/backend/github, replace it with agogithub/clientv1.Client:
import "github.com/grokify/gogithub/clientv1"
client, err := clientv1.NewClient(ctx, os.Getenv("GITHUB_TOKEN"))
-
Remove any direct import of
github.com/google/go-github/v88if you added it solely to interoperate with this module. Use the stablegogithubtypes instead. -
Run
go mod tidyafter upgrading to confirmgithub.com/google/go-githubno longer appears as a direct dependency in your owngo.mod. -
Public constructors (
github.New(...)for the skill,omnidevx.New(...)for the collector, and theomnistorage/backend/githubbackend constructor) keep their existing signatures — no changes needed if you were only calling the package-levelNew/ConfigAPI and not reaching into internals.
Dependencies¶
- Upgrade
github.com/grokify/gogithubto v0.15.0 (was v0.14.0) - Bump
github.com/plexusone/omnidevx-corefrom v0.1.0 to v0.3.0 - Remove
github.com/google/go-github/v88as a direct dependency;github.com/google/go-github/v89remains as an indirect dependency of gogithub
Contributors¶
- John Wang