elastic / elastic/beats

Support upgrading module path for major version mismatch

Open
#46,314 4 comments 0 reactions 0 assignees View on GitHub
Stalled Team:Elastic-Agent-Data-Plane
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.