Support upgrading module path for major version mismatch
- Dominant language
- Go
- Stars
- 12.7k
- Forks
- 5k
- Avg merge
- 2d 15m
- Merged PRs (30d)
- 385
Description
**Describe the enhancement:**
Currently, the Go module is declared as `github.com/elastic/beats/v7`, but the latest release tags are in the `v9.0.x` series. According to Go module versioning rules, major versions `v2+` should include the version suffix in the module path (e.g., `/v9` for v9).
To upgrade to v9, the module path and import paths need to be updated to `github.com/elastic/beats/v9`.
**Describe a specific use case for the enhancement or feature:**
When a project depends on `github.com/elastic/beats/v7`, and we want to upgrade to the latest major version (`v9.0.x`), `go get` or `go mod tidy` does not automatically handle this because the module path does not match the major version.
Enhancing documentation or providing migration instructions (or aligning tags and paths) would make upgrading seamless and prevent dependency resolution errors.
Contributor guide
Research direction
Start by inspecting the module declaration and import paths for github.com/elastic/beats/v7, then reproduce the behavior with go get and go mod tidy against the v9.0.x tags. Clarify whether the accepted outcome is migration documentation or changing the module and tags; done means the chosen approach resolves the major-version dependency mismatch and is verified by the relevant Go module commands.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100