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.--prefixmatches module paths starting with the given string, so major-versioned modules can be searched without enumerating every/vNNsuffix.- Both flags work with
-r/--recursefor monorepos with nestedgo.modfiles.
Installation
go install github.com/grokify/gogit/cmd/gitscan@v0.8.0
See CHANGELOG.md for the categorized commit list.