Migration: changelog generation/parsing → go/changelog¶
The Conventional-Commits changelog generator and parser, GenerateFromRepo and its
options, Parse, ParseFromArchive, FormatSummary, and the Changelog / Release /
Entry / Category model: has been extracted verbatim into the standalone module
gitlab.com/phpboyscout/go/changelog (v0.1.0).
The package took plain arguments and returned values (no Props, config, or logger) so there is no adapter and no facade. Only the import path changes.
Repoint the import¶
// before
import "gitlab.com/phpboyscout/go-tool-base/pkg/changelog"
// after
import "gitlab.com/phpboyscout/go/changelog"
The API is identical:
md, err := changelog.GenerateFromRepo(".", changelog.WithSinceTag("v1.2.0"))
cl := changelog.Parse(rawNotes)
Add the dependency:
go get gitlab.com/phpboyscout/go/[email protected]
What did not change¶
The built-in changelog CLI command is unchanged, it now calls the module through the
same code path. Its behaviour and flags are the same; see the
CLI reference.
Why it moved¶
changelog is a general-purpose utility, generate a changelog from a repo's
Conventional-Commits history, or parse existing release notes into a typed model. Its
graph is go-git, the leodido conventional-commits parser, x/mod, and
cockroachdb/errors: no framework weight. Extracting it lets any tool reuse it, with its
own release cadence and docs at
changelog.go.phpboyscout.uk.