Various changes in this new major version, including a new config file
format:
- "gofmt" and "goimports" are now categorized as formatters
(instead of linters) and are moved to their own section.
- The functionality of "gosimple" has been bundled into "staticcheck".
- "typecheck" is now always on and cannot be independently
enabled/disabled.
* ci: Update linter to 1.59.1.
Also remove deprecated linter "vetshadow", its functionality is now
included in the "govet" linter.
* ci: Add new linters.
- fatcontext - Detects nested contexts in loops.
- mirror - Reports wrong mirror patterns of bytes/strings usage.
- nilnil - Checks that there is no simultaneous return of nil error and
an invalid value.
- usestdlibvars - detect the possibility to use variables/constants from
the Go standard library.
* ci: Update GitHub actions and linter.
* Update go deps.
* Include commit ID in build info.
Introduced in go 1.18, debug.ReadBuildInfo allows a go process to discover the git commit it was built from.
* Update linter to 1.49.0
* Move vspd into cmd directory.
This is standard practise in Decred golang repos. Especially useful when multiple executables are built from a single repo.
* Ignore bins in new dir.
- Rather than manually downloading and invoking golangci-lint, use the GitHub
action provided by the developers.
- Configure golangci with a config file rather than passing command line args.
This enables the same config to be used locally and on CI without introducing
duplication. It also allows much more flexibililty in configuration than using
CLI args alone.
* Use features from Go 1.16 tooling.
- GO111MODULE environment variable now defaults to "on"
- "go build" and "go test" now exit with an error rather than silently modifying go.mod or go.sum files
- Update README.md
* Don't use deprecated ioutil package.