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.