gitscan v0.2.0 Release Notes
Release Date: 2026-02-14
Overview
gitscan v0.2.0 introduces the order subcommand for dependency-aware release ordering, time-based filtering, and significant performance improvements through parallel scanning.
Highlights
- New
ordersubcommand for topological dependency ordering - Time-based filtering with
-sinceflag - Parallel scanning for significantly faster performance
Installation
go install github.com/grokify/gitscan@v0.2.0
Or build from source:
git clone https://github.com/grokify/gitscan.git
cd gitscan
git checkout v0.2.0
go build -o gitscan .
New Features
Order Subcommand
The new order subcommand displays repositories in topological dependency order, showing which repos should be updated first based on their internal dependencies.
# Show repos in dependency order
gitscan order ~/go/src/github.com/grokify
# Filter by modification time
gitscan order -s 7d ~/go/src/github.com/grokify
# Include transitive dependents
gitscan order -s 7d -t ~/go/src/github.com/grokify
# Only show repos needing push
gitscan order -s 7d -t -u ~/go/src/github.com/grokify
Output shows dependencies first, then dependents:
Update order (dependencies first):
----------------------------------
1. mogo 2026-02-08 12:28
2. gogithub 2026-02-07 08:09 (depends on: mogo)
3. goauth 2026-02-09 19:38 (depends on: mogo)
4. gogoogle 2026-02-09 17:31 (depends on: goauth, mogo)
Total: 4 repos in dependency order
Time-Based Filtering
Filter repos by modification time using human-friendly duration formats:
gitscan -s 7d ~/go/src/github.com/grokify # Last 7 days
gitscan -s 2w ~/go/src/github.com/grokify # Last 2 weeks
gitscan -s 1m ~/go/src/github.com/grokify # Last month
Transitive Dependency Tracking
With -t flag, include repos that transitively depend on modified repos, even if they weren't directly modified:
gitscan order -s 7d -t ~/go/src/github.com/grokify
Unpushed Commit Detection
With -u flag, filter to only show repos with uncommitted changes or unpushed commits:
gitscan order -s 7d -u ~/go/src/github.com/grokify
Parallel Scanning
Scanning now uses a goroutine worker pool (defaults to GOMAXPROCS) for significantly faster scanning of large directory trees. Expensive operations are performed lazily only when needed.
Changes
CLI Migration to Cobra
The CLI has been migrated from the standard flag package to Cobra for better UX:
- Short flags:
-d(dir),-f(format),-r(recurse),-s(since) - Built-in
--helpand--versionflags - Subcommand support (
gitscan order)
Output Improvements
- Numbered list output with alphabetical sorting
- Aligned columns for better readability
- Internal dependency display:
(depends on: x, y)
New Flags
Root Command
| Flag | Short | Description |
|---|---|---|
--since |
-s |
Filter repos modified within duration (e.g., 7d, 2w, 1m) |
Order Subcommand
| Flag | Short | Description |
|---|---|---|
--transitive |
-t |
Include repos that transitively depend on modified repos |
--unpushed |
-u |
Only show repos with uncommitted changes or unpushed commits |
Dependencies
- Added
github.com/spf13/cobrafor CLI framework - Added
github.com/grokify/mogo/fmt/progressfor progress bar rendering
Use Cases
- Release ordering: Determine correct order to update interdependent modules
- CI/CD planning: Identify which repos need rebuilding after dependency updates
- Pre-push audit: Find repos with unpushed work using
-uflag - Recent activity: Filter to recently modified repos with
-sflag
License
MIT