A command-line tool that displays outdated Go module dependencies in a readable table format.
go-mod-outdated is a command-line tool for Go developers that identifies outdated dependencies in a project by parsing the output of `go list -u -m -json all` and presenting it in a structured table. It solves the problem of manually sifting through JSON to see which modules have available updates, making dependency maintenance more efficient.
Go developers and teams who manage projects with Go modules and need a quick, visual way to track dependency updates, especially those integrating dependency checks into CI/CD pipelines.
Developers choose go-mod-outdated because it provides a simple, focused alternative to raw JSON output, with filtering options and CI-friendly exit codes that streamline the update process without adding bloat.
Find outdated dependencies of your Go projects. go-mod-outdated provides a table view of the go list -u -m -json all command which lists all dependencies of a Go project and their available minor and patch updates. It also provides a way to filter indirect dependencies and dependencies without updates.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Transforms verbose JSON from go list into a readable table with columns for module, version, new version, direct status, and timestamp validity, making dependency status easy to scan at a glance.
Offers flags like -direct and -update to filter results, allowing users to focus only on direct dependencies or modules with available updates, reducing noise in large projects.
Includes a -ci flag that exits with a non-zero code when outdated dependencies are found, enabling automated pipeline failures to enforce dependency hygiene without extra scripting.
Highlights invalid timestamps in the VALID TIMESTAMPS column to warn against potential downgrades, addressing edge cases where go list reports updates older than current versions.
Can be run via Docker without local installation for portability, and supports Markdown table output with -style markdown for easy reporting in documentation or issues.
Limited to detecting outdated dependencies; it does not provide commands to automatically update go.mod or apply patches, requiring manual follow-up with go get or similar tools.
Requires Go modules and the go list command, making it incompatible with older GOPATH-based projects or those with vendored dependencies unless -mod flags are used, adding complexity.
Focuses on simplicity, so it lacks advanced features like dependency graph visualization, batch processing, or integration with security databases for vulnerability checks.
Requires piping go list output, which can be cumbersome to type repeatedly; the README suggests aliases, but this adds an extra setup step for convenience.