Consider updating declared Go version in go.mod

Open Beginner friendly
#382 0 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
62/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Stale
Tech stack
go
Domain
build-system

Research direction

Start with go.mod and the current go directive, then read the linked Go module graph pruning documentation and inspect go.sum. Update the declared version to Go 1.18 and regenerate dependency checksums with go mod tidy; done means the module metadata reflects the requested version and the dependency graph is tidied.

Written by the indexing model from the issue text.

Description

The go.mod file declares go 1.16 right now. Module graph pruning was added in Go 1.17, meaning that other modules can import your module and only pick up the transitive dependencies that are actually reachable based on how they use your code. Right now, importing afero means importing a cloud apis, because the declared go version predates go 1.17.

The tidiest dependency graph will come from using go 1.18,

The go.sum file recorded by go mod tidy for a module by default includes checksums needed by the Go version one below the version specified in its go directive. So a go 1.17 module includes checksums needed for the full module graph loaded by Go 1.16, but a go 1.18 module will include only the checksums needed for the pruned module graph loaded by Go 1.17. The -compat flag can be used to override the default version (for example, to prune the go.sum file more aggressively in a go 1.17 module).

Go 1.18 is also the oldest Go release still supported by the Go team, so it's a reasonable choice of language version to declare.

Dominant language
Go
Stars
6.7k
Forks
580
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from spf13/afero

All issues in spf13/afero

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.