Skip to content

gogit v0.8.0 Release Notes

Release Date: 2026-08-02

Overview

This release makes gitscan dep useful as a real dependency-migration tool. It grew out of auditing github.com/google/go-github usage across the plexusone, grokify, and ProductBuildersHQ orgs: dep could already list repos depending on a module, but couldn't tell a repo that actually requires a module from one that only inherits it transitively, and go-github's module path changes on every major version (/v88, /v89, ...), so finding "all repos on go-github, any version" meant re-running the command per version.

Highlights

Direct vs. indirect dependency tracking

scanner.RepoResult and scanner.GoModResult now carry a DirectDependencies field alongside the existing Dependencies, and a new HasDirectDependency() method mirrors HasDependency() but excludes anything only present as // indirect.

if result.HasDirectDependency("github.com/google/go-github/v88") {
    // this repo requires go-github itself, not just via a transitive dep
}

gitscan dep --direct-only and --prefix

# Only repos that require the module themselves, not just transitively
gitscan dep github.com/google/go-github/v88 ~/go/src/github.com/grokify --direct-only

# Match any major version of a module in one pass
gitscan dep github.com/google/go-github ~/go/src/github.com/grokify --prefix --direct-only
  • --direct-only (-D) filters results to repos with a direct requirement.
  • --prefix matches module paths starting with the given string, so major-versioned modules can be searched without enumerating every /vNN suffix.
  • Both flags work with -r/--recurse for monorepos with nested go.mod files.

Installation

go install github.com/grokify/gogit/cmd/gitscan@v0.8.0

See CHANGELOG.md for the categorized commit list.