Skip to content

v2.0.0: adopt /v2 module path so go install resolves the release - #100

Merged
divijg19 merged 1 commit into
mainfrom
update
Sep 29, 2026
Merged

divijg19 merged 1 commit into
mainfrom
update

Conversation

@divijg19

Copy link
Copy Markdown
Owner

The v2.0.0 release published on 2026-09-28 was invisible to the Go module system. The tag was hard-rejected by the module proxy:

invalid version: module contains a go.mod file, so module path must
match major version ("github.com/divijg19/Helm/v2")

This is a rejection, not a skip, so go list -m -versions stopped at v1.9.9 and go install …@latest fell back to it, failing on its module helm declaration. The release looked healthy end to end — goreleaser succeeded, assets downloaded, the curl installer worked — which is why it went unnoticed.

The /v2 is a module-path suffix on the module line only. No v2/ directory is involved: the tree, the GoReleaser main: path, the archive layout, and go build -o helm ./cmd/helm are all unchanged.

Applied in lockstep across the module line, all 17 internal imports, and every -X ldflag target (GoReleaser plus the end-to-end test build, whose golden files pin the injected version). Also folds in the README refactor from main, with its heading levels corrected from #### to ###, hard-wrapped prose unwrapped, and trailing whitespace removed; the prose content is unchanged.

Note: 9940a94 is mislabelled "v0.2.0+". Left as-is rather than force-pushing main to amend it.

Verified: gofmt, go vet, go build, go mod tidy (no drift), go test, go test -race, staticcheck, golangci-lint, goreleaser check, and shellcheck all clean. go install of this tree against a local module proxy installs and runs clean.

@divijg19 divijg19 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v2.0.0: adopt /v2 module path so go install resolves the release

The v2.0.0 release published on 2026-09-28 was invisible to the Go module
system. The tag was hard-rejected by the module proxy:

    invalid version: module contains a go.mod file, so module path must
    match major version ("github.com/divijg19/Helm/v2")

This is a rejection, not a skip, so `go list -m -versions` stopped at v1.9.9
and `go install …@latest` fell back to it, failing on its `module helm`
declaration. The release looked healthy end to end — goreleaser succeeded,
assets downloaded, the curl installer worked — which is why it went unnoticed.

The `/v2` is a module-path suffix on the `module` line only. No `v2/`
directory is involved: the tree, the GoReleaser `main:` path, the archive
layout, and `go build -o helm ./cmd/helm` are all unchanged.

Applied in lockstep across the module line, all 17 internal imports, and
every `-X` ldflag target (GoReleaser plus the end-to-end test build, whose
golden files pin the injected version). Also folds in the README refactor
from main, with its heading levels corrected from #### to ###, hard-wrapped
prose unwrapped, and trailing whitespace removed; the prose content is
unchanged.

Note: 9940a94 is mislabelled "v0.2.0+". Left as-is rather than force-pushing
main to amend it.

Verified: gofmt, go vet, go build, go mod tidy (no drift), go test, go test
-race, staticcheck, golangci-lint, goreleaser check, and shellcheck all
clean. go install of this tree against a local module proxy installs and
runs clean.
@divijg19
divijg19 merged commit 4e2a198 into main Sep 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant