A Change describes a single API change.
type Change struct { Message string Compatible bool }
Module is a convenience type for representing a Go module with a path and a slice of Packages contained within.
type Module struct { Path string Packages []*types.Package }
Report describes the changes detected by Changes.
type Report struct { Changes []Change }
func Changes(old, new *types.Package) Report
Changes reports on the differences between the APIs of the old and new packages. It classifies each difference as either compatible or incompatible (breaking.) For a detailed discussion of what constitutes an incompatible change, see the README.
func ModuleChanges(old, new *Module) Report
ModuleChanges reports on the differences between the APIs of the old and new modules. It classifies each difference as either compatible or incompatible (breaking). This includes the addition and removal of entire packages. For a detailed discussion of what constitutes an incompatible change, see the README.
func (r Report) String() string
func (r Report) Text(w io.Writer) error
func (r Report) TextCompatible(w io.Writer) error
func (r Report) TextIncompatible(w io.Writer, withHeader bool) error