Skip to content

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

go get github.com/plexusone/omni-github@v0.6.0

Requires Go 1.26+ and github.com/grokify/gogithub v0.15.0+.

Highlights

  • Full clientv1.Client migration - omniskill/github, omnidevx, and omnistorage/backend/github now all use gogithub's stable, version-isolated client interface
  • go-github dropped as a direct dependency - github.com/google/go-github no longer appears in the module's direct requirements; v89 remains only as an indirect dependency pulled in by gogithub
  • Upgraded github.com/grokify/gogithub to v0.15.0 - which itself migrated its profile and errors packages to clientv1.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

  1. If you construct or pass around a *github.Client (from google/go-github) to interact with omniskill/github, omnidevx, or omnistorage/backend/github, replace it with a gogithub/clientv1.Client:
import "github.com/grokify/gogithub/clientv1"

client, err := clientv1.NewClient(ctx, os.Getenv("GITHUB_TOKEN"))
  1. Remove any direct import of github.com/google/go-github/v88 if you added it solely to interoperate with this module. Use the stable gogithub types instead.

  2. Run go mod tidy after upgrading to confirm github.com/google/go-github no longer appears as a direct dependency in your own go.mod.

  3. Public constructors (github.New(...) for the skill, omnidevx.New(...) for the collector, and the omnistorage/backend/github backend constructor) keep their existing signatures — no changes needed if you were only calling the package-level New/Config API and not reaching into internals.

Dependencies

  • Upgrade github.com/grokify/gogithub to v0.15.0 (was v0.14.0)
  • Bump github.com/plexusone/omnidevx-core from v0.1.0 to v0.3.0
  • Remove github.com/google/go-github/v88 as a direct dependency; github.com/google/go-github/v89 remains as an indirect dependency of gogithub

Contributors

  • John Wang