Skip to content

v2.0.0 tag is uninstallable via 'go install' — go.mod missing /v2 module path suffix #70

Description

@SoundMatt

Summary

`go install github.com/SoundMatt/RELAY/cmd/relay@v2.0.0` fails:

```
go: github.com/SoundMatt/RELAY/cmd/relay@v2.0.0: github.com/SoundMatt/RELAY@v2.0.0: invalid version: module contains a go.mod file, so module path must match major version ("github.com/SoundMatt/RELAY/v2")
```

`go.mod`'s module path is still `github.com/SoundMatt/RELAY` (no `/v2` suffix). Per Go's semantic import versioning rules, once a tag reaches v2.0.0+, the module path itself must carry the major-version suffix, or the module becomes uninstallable via standard `go install`/`go get` tooling (short of using `GONOSUMCHECK`/replace-directive workarounds that aren't viable for a downstream CI pin). `v1.14.0` and earlier install fine; `v2.0.0` does not.

Repro

```
$ go install github.com/SoundMatt/RELAY/cmd/relay@v1.14.0

succeeds

$ go install github.com/SoundMatt/RELAY/cmd/relay@v2.0.0
go: github.com/SoundMatt/RELAY/cmd/relay@v2.0.0: github.com/SoundMatt/RELAY@v2.0.0: invalid version: module contains a go.mod file, so module path must match major version ("github.com/SoundMatt/RELAY/v2")
```

Impact

Any downstream repo (found while auditing SoundMatt/rust-CAN's CI, which pins the reference `relay` CLI for conformance/interop testing) currently cannot pin to v2.0.0 or move past v1.14.0 via ordinary `go install`. rust-CAN is pinning to v1.14.0 as a practical workaround for now (still an improvement over its previous v1.10.0 pin — includes the v1.13 golden-vector embed fix — but can't reach true "current").

Suggested fix

Either bump `go.mod`'s module path to `github.com/SoundMatt/RELAY/v2` (and update internal imports / `cmd/relay`'s own module references accordingly) to comply with Go's semantic import versioning, or re-tag if v2.0.0 was cut before this was addressed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions