golangci-lint/CHANGELOG.md
David López 064c0e3d67 readme: split changelog into own file (#689)
split changelog into own file. closes #688.
2019-09-14 14:07:14 +03:00

4.6 KiB

Follow the news and releases on our twitter and our blog. 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 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 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