diff --git a/pkg/plugin/client.go b/pkg/plugin/client.go
index 4e6f1475744dfba848da329a1016912581f885af..535873c17fe6e82f4c2bc0c17941ef968e2aba0f 100644
--- a/pkg/plugin/client.go
+++ b/pkg/plugin/client.go
@@ -27,7 +27,7 @@ func KillAllPlugins() {
 	}
 }
 
-func StartPlugin(pluginInfo *PluginInfo) (interface{}, error) {
+func StartPlugin(pluginInfo *Info) (interface{}, error) {
 	runningClientsMx.Lock()
 	defer runningClientsMx.Unlock()
 	logR, logW := io.Pipe()
diff --git a/pkg/plugin/discovery/discovery.go b/pkg/plugin/discovery/discovery.go
index e84e6b447ad6139fb3d97bfd8395ef7a48fa888b..e6cd48e0a7140e793fa9fc74f9fe1aa11e5f2692 100644
--- a/pkg/plugin/discovery/discovery.go
+++ b/pkg/plugin/discovery/discovery.go
@@ -50,7 +50,7 @@ func New(config *config.Config) (*Discovery, error) {
 	}, nil
 }
 
-func (d *Discovery) fetchPlugin(pluginInfo *plugin.PluginInfo) (string, error) {
+func (d *Discovery) fetchPlugin(pluginInfo *plugin.Info) (string, error) {
 	pluginResolver, ok := d.resolvers[pluginInfo.Resolver]
 	if !ok {
 		return "", fmt.Errorf("resolver %s not found", pluginInfo.Resolver)
@@ -64,7 +64,7 @@ func (d *Discovery) fetchPlugin(pluginInfo *plugin.PluginInfo) (string, error) {
 	return downloadPlugin(pluginInfo, downloadInfo, d.config.ShowProgress)
 }
 
-func (d *Discovery) FindPlugin(t, name string) (*plugin.PluginInfo, error) {
+func (d *Discovery) FindPlugin(t, name string) (*plugin.Info, error) {
 	pInfo, err := plugin.GetPluginInfo(t, name)
 	if err != nil {
 		return nil, err
diff --git a/pkg/plugin/discovery/download.go b/pkg/plugin/discovery/download.go
index c34da1fc3ddd3f0386f0828aaa6bc8e8fc1e4da5..9ed85ba5db61f49c278de156ba1647d1fdc14fdb 100644
--- a/pkg/plugin/discovery/download.go
+++ b/pkg/plugin/discovery/download.go
@@ -90,7 +90,7 @@ func extractFileFromTarGz(name, inputFile, outputFile string) error {
 
 var tgzRegexp = regexp.MustCompile(`^(.*)\.(tgz|tar\.gz)$`)
 
-func downloadPlugin(pluginInfo *plugin.PluginInfo, downloadInfo *resolver.PluginDownloadInfo, showProgress bool) (string, error) {
+func downloadPlugin(pluginInfo *plugin.Info, downloadInfo *resolver.PluginDownloadInfo, showProgress bool) (string, error) {
 	versionDir := path.Join(pluginInfo.PluginPath, downloadInfo.Version)
 	targetFile := path.Join(versionDir, downloadInfo.FileName)
 	req, err := grab.NewRequest(targetFile, downloadInfo.URL)
diff --git a/pkg/plugin/discovery/local.go b/pkg/plugin/discovery/local.go
index cfeb036bc56251abf835590d1bcde98f4ef7fec0..226a519481461a217ca7a41090ed19010cf96209 100644
--- a/pkg/plugin/discovery/local.go
+++ b/pkg/plugin/discovery/local.go
@@ -16,7 +16,7 @@ const PluginDir = ".semrel"
 
 var osArchDir = runtime.GOOS + "_" + runtime.GOARCH
 
-func setAndEnsurePluginPath(pluginInfo *plugin.PluginInfo) error {
+func setAndEnsurePluginPath(pluginInfo *plugin.Info) error {
 	pluginPath := path.Join(PluginDir, osArchDir, pluginInfo.NormalizedName)
 	if _, err := os.Stat(pluginPath); os.IsNotExist(err) {
 		err = os.MkdirAll(pluginPath, 0o755)
@@ -32,7 +32,7 @@ func setAndEnsurePluginPath(pluginInfo *plugin.PluginInfo) error {
 
 var ErrPluginNotFound = errors.New("no plugin was found")
 
-func getMatchingVersionDir(pluginInfo *plugin.PluginInfo) (string, error) {
+func getMatchingVersionDir(pluginInfo *plugin.Info) (string, error) {
 	vDirs, err := os.ReadDir(pluginInfo.PluginPath)
 	if err != nil {
 		return "", err
@@ -65,7 +65,7 @@ func getMatchingVersionDir(pluginInfo *plugin.PluginInfo) (string, error) {
 	return "", nil
 }
 
-func findPluginLocally(pluginInfo *plugin.PluginInfo) (string, error) {
+func findPluginLocally(pluginInfo *plugin.Info) (string, error) {
 	vPth, err := getMatchingVersionDir(pluginInfo)
 	if err != nil {
 		return "", err
diff --git a/pkg/plugin/discovery/resolver/github/github.go b/pkg/plugin/discovery/resolver/github/github.go
index 29196052ee6c614fff8a67161508c82de8691539..8e1b5d14e0b9931bc06f28f623179a673fd794c4 100644
--- a/pkg/plugin/discovery/resolver/github/github.go
+++ b/pkg/plugin/discovery/resolver/github/github.go
@@ -119,7 +119,7 @@ func (g *Resolver) getAllValidGitHubReleases(repoOwner, repoName string) (ghRele
 	return ret, nil
 }
 
-func (g *Resolver) ResolvePlugin(pluginInfo *plugin.PluginInfo) (*resolver.PluginDownloadInfo, error) {
+func (g *Resolver) ResolvePlugin(pluginInfo *plugin.Info) (*resolver.PluginDownloadInfo, error) {
 	if pluginInfo.RepoSlug == "" {
 		pluginInfo.RepoSlug = knownPlugins[pluginInfo.ShortNormalizedName]
 	}
diff --git a/pkg/plugin/discovery/resolver/registry/registry.go b/pkg/plugin/discovery/resolver/registry/registry.go
index 68eb4e206cb89ffec8df0a1cd50c90d69ba4847d..85faccf1abaaa2f7e90d7b2af7666f75013308dc 100644
--- a/pkg/plugin/discovery/resolver/registry/registry.go
+++ b/pkg/plugin/discovery/resolver/registry/registry.go
@@ -17,7 +17,7 @@ func NewResolver() *Resolver {
 	return &Resolver{}
 }
 
-func (r *Resolver) ResolvePlugin(pluginInfo *plugin.PluginInfo) (*resolver.PluginDownloadInfo, error) {
+func (r *Resolver) ResolvePlugin(pluginInfo *plugin.Info) (*resolver.PluginDownloadInfo, error) {
 	pluginAPIRes, err := getPluginInfo(pluginInfo.NormalizedName)
 	if err != nil {
 		return nil, err
diff --git a/pkg/plugin/discovery/resolver/resolver.go b/pkg/plugin/discovery/resolver/resolver.go
index 891b9fab12595e6b2c9638474290a65b632b2578..947f8f1eda6a782c0f9f395844a55209179c5136 100644
--- a/pkg/plugin/discovery/resolver/resolver.go
+++ b/pkg/plugin/discovery/resolver/resolver.go
@@ -10,6 +10,6 @@ type PluginDownloadInfo struct {
 }
 
 type Resolver interface {
-	ResolvePlugin(*plugin.PluginInfo) (*PluginDownloadInfo, error)
+	ResolvePlugin(*plugin.Info) (*PluginDownloadInfo, error)
 	Names() []string
 }
diff --git a/pkg/plugin/plugin.go b/pkg/plugin/plugin.go
index 750051df7a21b98e65537df832f949967371d7e6..5f67bd01c3afee681b1c0bd79ca2e928cb60f441 100644
--- a/pkg/plugin/plugin.go
+++ b/pkg/plugin/plugin.go
@@ -13,7 +13,7 @@ import (
 	"github.com/go-semantic-release/semantic-release/v2/pkg/updater"
 )
 
-type PluginInfo struct {
+type Info struct {
 	Type                string
 	Name                string
 	NormalizedName      string
@@ -45,7 +45,7 @@ func normalizedPluginType(t string) string {
 
 var nameNormalizer = strings.NewReplacer(":", "-", "/", "-")
 
-func GetPluginInfo(pluginType, pluginName string) (*PluginInfo, error) {
+func GetPluginInfo(pluginType, pluginName string) (*Info, error) {
 	nPluginType := normalizedPluginType(pluginType)
 	if nPluginType == "" {
 		return nil, fmt.Errorf("invalid plugin type: %s", pluginType)
@@ -96,7 +96,7 @@ func GetPluginInfo(pluginType, pluginName string) (*PluginInfo, error) {
 		normalizedName = strings.Join(normalizedParts[:len(normalizedParts)-1], "@")
 	}
 
-	return &PluginInfo{
+	return &Info{
 		Type:                pluginType,
 		Name:                name,
 		NormalizedName:      normalizedName,
diff --git a/pkg/plugin/plugin_test.go b/pkg/plugin/plugin_test.go
index f591f88335e2bace5971b2bd8bb22d628d7399a2..97a98e228535c8d8e39effa85ce8a524579f898c 100644
--- a/pkg/plugin/plugin_test.go
+++ b/pkg/plugin/plugin_test.go
@@ -17,16 +17,16 @@ func TestGetPluginInfo(t *testing.T) {
 	testCases := []struct {
 		t       string
 		input   string
-		results *PluginInfo
+		results *Info
 	}{
-		{"provider", "git", &PluginInfo{
+		{"provider", "git", &Info{
 			Type:                "provider",
 			Name:                "git",
 			NormalizedName:      "provider-git",
 			ShortNormalizedName: "provider-git",
 			Resolver:            "default",
 		}},
-		{"provider", "github:myorg/myplugin", &PluginInfo{
+		{"provider", "github:myorg/myplugin", &Info{
 			Type:                "provider",
 			Name:                "myplugin",
 			NormalizedName:      "provider-github-myorg-myplugin",
@@ -34,7 +34,7 @@ func TestGetPluginInfo(t *testing.T) {
 			Resolver:            "github",
 			RepoSlug:            "myorg/myplugin",
 		}},
-		{"ci_condition", "github:myorg/myplugin", &PluginInfo{
+		{"ci_condition", "github:myorg/myplugin", &Info{
 			Type:                "ci_condition",
 			Name:                "myplugin",
 			NormalizedName:      "condition-github-myorg-myplugin",
@@ -42,7 +42,7 @@ func TestGetPluginInfo(t *testing.T) {
 			Resolver:            "github",
 			RepoSlug:            "myorg/myplugin",
 		}},
-		{"provider", "github:myorg/myplugin@^1.0.0", &PluginInfo{
+		{"provider", "github:myorg/myplugin@^1.0.0", &Info{
 			Type:                "provider",
 			Name:                "myplugin",
 			NormalizedName:      "provider-github-myorg-myplugin",
@@ -51,7 +51,7 @@ func TestGetPluginInfo(t *testing.T) {
 			RepoSlug:            "myorg/myplugin",
 			Constraint:          parseConstraint("^1.0.0"),
 		}},
-		{"provider", "git@2.0.0", &PluginInfo{
+		{"provider", "git@2.0.0", &Info{
 			Type:                "provider",
 			Name:                "git",
 			NormalizedName:      "provider-git",
@@ -59,14 +59,14 @@ func TestGetPluginInfo(t *testing.T) {
 			Resolver:            "default",
 			Constraint:          parseConstraint("2.0.0"),
 		}},
-		{"hooks", "registry:logger", &PluginInfo{
+		{"hooks", "registry:logger", &Info{
 			Type:                "hooks",
 			Name:                "logger",
 			NormalizedName:      "hooks-registry-logger",
 			ShortNormalizedName: "hooks-logger",
 			Resolver:            "registry",
 		}},
-		{"hooks", "myresolver:@myorg/myplugin", &PluginInfo{
+		{"hooks", "myresolver:@myorg/myplugin", &Info{
 			Type:                "hooks",
 			Name:                "myplugin",
 			NormalizedName:      "hooks-myresolver-@myorg-myplugin",
@@ -74,7 +74,7 @@ func TestGetPluginInfo(t *testing.T) {
 			Resolver:            "myresolver",
 			RepoSlug:            "@myorg/myplugin",
 		}},
-		{"hooks", "myresolver:@myorg/myplugin@1.2.3", &PluginInfo{
+		{"hooks", "myresolver:@myorg/myplugin@1.2.3", &Info{
 			Type:                "hooks",
 			Name:                "myplugin",
 			NormalizedName:      "hooks-myresolver-@myorg-myplugin",
diff --git a/pkg/semrel/semrel.go b/pkg/semrel/semrel.go
index 996637187fd821621b230bd4e616ab7b72d95186..e89d99cf352ad0869930673fc6c32efc3e3e11a5 100644
--- a/pkg/semrel/semrel.go
+++ b/pkg/semrel/semrel.go
@@ -22,7 +22,8 @@ func calculateChange(commits []*Commit, latestRelease *Release) *Change {
 	return change
 }
 
-func applyChange(rawVersion string, rawChange *Change, allowInitialDevelopmentVersions bool, forceBumpPatchVersion bool) string {
+//gocyclo:ignore
+func applyChange(rawVersion string, rawChange *Change, allowInitialDevelopmentVersions, forceBumpPatchVersion bool) string {
 	version := semver.MustParse(rawVersion)
 	change := &Change{
 		Major: rawChange.Major,