138 lines
4.6 KiB
Markdown
138 lines
4.6 KiB
Markdown
Follow the news and releases on our [twitter](https://twitter.com/golangci) and our [blog](https://medium.com/golangci).
|
|
There is the most valuable changes log:
|
|
|
|
### June 2019
|
|
|
|
1. treat Go source files as a plain text by `misspell`: it allows detecting issues in strings, variable names, etc.
|
|
2. implement richer and more stable auto-fix of `misspell` issues.
|
|
|
|
### May 2019
|
|
|
|
1. Add [bodyclose](https://github.com/timakin/bodyclose) linter.
|
|
2. Support junit-xml output.
|
|
|
|
### April 2019
|
|
|
|
1. Update go-critic, new checkers were added: badCall, dupImports, evalOrder, newDeref
|
|
2. Fix staticcheck panic on packages that do not compile
|
|
3. Make install script work on Windows
|
|
4. Fix compatibility with the latest x/tools version and update golang.org/x/tools
|
|
5. Correct import path of module sourcegraph/go-diff
|
|
6. Fix `max-issues-per-linter` name
|
|
7. Fix linting of preprocessed files (e.g. `*.qtpl.go`, goyacc)
|
|
8. Enable auto-fixing when running via pre-commit
|
|
|
|
### March 2019
|
|
|
|
1. Support the newest `go vet` (with `go/analysis`)
|
|
2. Support configuration of `go vet`: e.g. you can set print functions by `linters-settings.govet.settings.printf.funcs`
|
|
3. Update megacheck (staticcheck) to 2019.1.1
|
|
4. Add [information](https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint) about controlling space-time trade-off into README
|
|
5. Exclude issues by source code line regexp by `issues.exclude-rules[i].source`
|
|
6. Build and test on go 1.12
|
|
7. Support `--color` option
|
|
8. Update x/tools to fix c++ issues
|
|
9. Include support for log level
|
|
10. Sort linters list in help commands
|
|
|
|
### February 2019
|
|
|
|
1. Implement auto-fixing for `gofmt`, `goimports` and `misspell`
|
|
2. Update `unparam`, `goimports`, `gosec` and `go-critic`
|
|
3. Support `issues.exclude-rules` config option
|
|
4. Add more `identifier` marking patterns
|
|
5. Add code-climate output format
|
|
6. Fix diff parsing on windows
|
|
7. Add version information to built artifact for go1.12
|
|
8. Dockerfile: copy the binary to `/usr/bin/` instead of `$GOPATH/bin/`
|
|
9. Support `ignore-words` config option for `misspell`
|
|
10. Include `staticcheck` check name into a message
|
|
11. Fix working with symbolic links
|
|
|
|
### January 2019
|
|
|
|
1. Update `megacheck` (`staticcheck`), `unparam` and `go-critic` to the latest versions.
|
|
2. Support the new `stylecheck` linter.
|
|
3. Support of `enabled-tags` options for `go-critic`.
|
|
4. Make rich debugging for `go-critic` and meticulously validate `go-critic` checks config.
|
|
5. Update and use upstream versions of `unparam` and `interfacer` instead of forked ones.
|
|
6. Improve handling of unknown linter names in `//nolint` directives.
|
|
7. Speedup `typecheck` on large project with compilation errors.
|
|
8. Add support for searching for `errcheck` exclude file.
|
|
9. Fix `go-misc` checksum.
|
|
10. Don't crash when staticcheck panics
|
|
|
|
### December 2018
|
|
|
|
1. Update `goimports`: the new version creates named imports for name/path mismatches.
|
|
2. Update `go-critic` to the latest version.
|
|
3. Sync default `go-critic` checks list with the `go-critic`.
|
|
4. Support `pre-commit.com` hooks.
|
|
5. Rework and simplify `--skip-dirs` for some edge cases.
|
|
6. Add `modules-download-mode` option: it's useful in CI.
|
|
7. Better validate commands.
|
|
8. Fix working with absolute paths.
|
|
9. Fix `errcheck.ignore` option.
|
|
|
|
### November 2018
|
|
|
|
1. Support new linters:
|
|
* gocritic
|
|
* scopelint
|
|
* gochecknointis
|
|
* gochecknoglobals
|
|
2. Update CLA
|
|
|
|
### October 2018
|
|
|
|
1. Update goimports formatting
|
|
2. Use go/packages
|
|
* A lot of linters became "fast": they are enabled by --fast now and
|
|
work in 1-2 seconds. Only unparam, interfacer and megacheck
|
|
are "slow" linters now.
|
|
|
|
* Average project is analyzed 20-40% faster than before if all linters are
|
|
enabled! If we enable all linters except unparam, interfacer and
|
|
megacheck analysis is 10-20x faster!
|
|
3. Support goimports.local-prefix option for goimports
|
|
4. Change license from AGPL to GPL
|
|
|
|
### September 2018
|
|
|
|
1. Rename GAS to gosec
|
|
2. Drop go1.9 support
|
|
3. Support installation of golangci-lint via go modules
|
|
4. Update dockerfile to use golang 1.11
|
|
5. Add support for ignore/exclude flags in errcheck
|
|
|
|
### August 2018
|
|
|
|
1. Improve lll parsing for very long lines
|
|
2. Update Depguard with a Glob support
|
|
3. Silent output by default
|
|
4. Disable GAS (gosec) by default
|
|
5. Build golangci-lint on go1.11
|
|
|
|
### July 2018
|
|
|
|
1. Add `golangci-lint linters` command
|
|
2. Fix work with symlinks
|
|
|
|
### June 2018
|
|
|
|
1. Add support of the next linters:
|
|
* unparam
|
|
* misspell
|
|
* prealloc
|
|
* nakedret
|
|
* lll
|
|
* depguard
|
|
2. Smart generated files detector
|
|
3. Full `//nolint` support
|
|
4. Implement `--skip-files` and `--skip-dirs` options
|
|
5. Checkstyle output format support
|
|
|
|
### May 2018
|
|
|
|
1. Support GitHub Releases
|
|
2. Installation via Homebrew and Docker |