Changelog
Follow the news and releases on Mastodon and on Bluesky.
golangci-lint is a free and open-source project built by volunteers.
If you value it, consider supporting us, we appreciate it!
v2.5.0
- New linters
- Add
godoclintlinter https://github.com/godoc-lint/godoc-lint - Add
unqueryvetlinter https://github.com/MirrexOne/unqueryvet - Add
iotamixinglinter https://github.com/AdminBenni/iota-mixing
- Add
- Linters new features or changes
embeddedstructfieldcheck: from 0.3.0 to 0.4.0 (new option:empty-line)err113: from aea10b59be24 to 0.1.1 (skip internals ofIsmethods forerrortype)ginkgolinter: from 0.20.0 to 0.21.0 (new option:force-tonot)gofumpt: from 0.8.0 to 0.9.1 (new rule is to “clothe” naked returns for the sake of clarity)ineffassign: from 0.1.0 to 0.2.0 (new option:check-escaping-errors)musttag: from 0.13.1 to 0.14.0 (support interface methods)revive: from 1.11.0 to 1.12.0 (new options:identical-ifelseif-branches,identical-ifelseif-conditions,identical-switch-branches,identical-switch-conditions,package-directory-mismatch,unsecure-url-scheme,use-waitgroup-go,useless-fallthrough)thelper: from 0.6.3 to 0.7.1 (skipt.Helperin functions passed tosynctest.Test)wsl: from 5.1.1 to 5.2.0 (improvements related to subexpressions)
- Linters bug fixes
asciicheck: from 0.4.1 to 0.5.0errname: from 1.1.0 to 1.1.1fatcontext: from 0.8.0 to 0.8.1go-printf-func-name: from 0.1.0 to 0.1.1godot: from 1.5.1 to 1.5.4gosec: from 2.22.7 to 2.22.8nilerr: from 0.1.1 to a temporary forknilnil: from 1.1.0 to 1.1.1protogetter: from 0.3.15 to 0.3.16tagliatelle: from 0.7.1 to 0.7.2testifylint: from 1.6.1 to 1.6.4
- Misc.
- fix: “no export data” errors are now handled as a standard typecheck error
- Documentation
- Improve nolint section about syntax
v2.4.0
- Enhancements
- 🎉 go1.25 support
- Linters new features or changes
exhaustruct: from v3.3.1 to 4.0.0 (new options:allow-empty,allow-empty-rx,allow-empty-returns,allow-empty-declarations)
- Linters bug fixes
godox: trim filepath from report messagesstaticcheck: allow empty optionstagalign: from 1.4.2 to 1.4.3
- Documentation
- 🌟 New website (with a search engine)
v2.3.1
- Linters bug fixes
gci: from 0.13.6 to 0.13.7gosec: from 2.22.6 to 2.22.7noctx: from 0.3.5 to 0.4.0wsl: from 5.1.0 to 5.1.1- tagliatelle: force upper case for custom initialisms
v2.3.0
- Linters new features or changes
ginkgolinter: from 0.19.1 to 0.20.0 (new option:force-assertion-description)iface: from 1.4.0 to 1.4.1 (report message improvements)noctx: from 0.3.4 to 0.3.5 (new detections:log/slog,exec,crypto/tls)revive: from 1.10.0 to 1.11.0 (new rule:enforce-switch-style)wsl: from 5.0.0 to 5.1.0
- Linters bug fixes
gosec: from 2.22.5 to 2.22.6noinlineerr: from 1.0.4 to 1.0.5sloglint: from 0.11.0 to 0.11.1
- Misc.
- fix: panic close of closed channel
v2.2.2
- Linters bug fixes
noinlineerr: from 1.0.3 to 1.0.4
- Documentation
- Improve debug keys documentation
- Misc.
- fix: panic close of closed channel
- godot: add noinline value into the JSONSchema
v2.2.1
- Linters bug fixes
varnamelen: fix configuration
v2.2.0
- New linters
- Add
arangolintlinter https://github.com/Crocmagnon/arangolint - Add
embeddedstructfieldchecklinter https://github.com/manuelarte/embeddedstructfieldcheck - Add
noinlineerrlinter https://github.com/AlwxSin/noinlineerr - Add
swaggoformatter https://github.com/golangci/swaggoswag
- Add
- Linters new features or changes
errcheck: addverboseoptionfuncorder: from 0.2.1 to 0.5.0 (new optionalphabetical)gomoddirectives: from 0.6.1 to 0.7.0 (new optionignore-forbidden)iface: from 1.3.1 to 1.4.0 (new optionunexported)noctx: from 0.1.0 to 0.3.3 (new report messages, and new rules related todatabase/sql)noctx: from 0.3.3 to 0.3.4 (new SQL functions detection)revive: from 1.9.0 to 1.10.0 (new rules:time-date,unnecessary-format,use-fmt-print)usestdlibvars: from 1.28.0 to 1.29.0 (new optiontime-date-month)wsl: deprecationwsl_v5: from 4.7.0 to 5.0.0 (major version with new configuration)
- Linters bug fixes
dupword: from 0.1.3 to 0.1.6exptostd: from 0.4.3 to 0.4.4forbidigo: from 1.6.0 to 2.1.0gci: consistently format the codego-spancheck: from 0.6.4 to 0.6.5goconst: from 1.8.1 to 1.8.2gosec: from 2.22.3 to 2.22.4gosec: from 2.22.4 to 2.22.5makezero: from 1.2.0 to 2.0.1misspell: from 0.6.0 to 0.7.0usetesting: from 0.4.3 to 0.5.0
- Misc.
- exclusions: fix
path-expect - formatters: write the input to
stdoutwhen usingstdinand there are no changes - migration: improve the error message when trying to migrate a migrated config
typecheck: deduplicate errorstypecheck: stops the analysis after the first error- Deprecate
print-resources-usageflag - Unique version per custom build
- exclusions: fix
- Documentation
- Improves typecheck FAQ
- Adds plugin systems recommendations
- Add description for
linters.defaultsets
v2.1.6
- Linters bug fixes
godot: from 1.5.0 to 1.5.1musttag: from 0.13.0 to 0.13.1
- Documentation
- Add note about golangci-lint v2 integration in VS Code
v2.1.5
Due to an error related to Snapcraft, some artifacts of the v2.1.4 release have not been published.
This release contains the same things as v2.1.3.
v2.1.4
Due to an error related to Snapcraft, some artifacts of the v2.1.3 release have not been published.
This release contains the same things as v2.1.3.
v2.1.3
- Linters bug fixes
fatcontext: from 0.7.2 to 0.8.0
- Misc.
- migration: fix
nakedret.max-func-lines: 0 - migration: fix order of
staticchecksettings - fix: add
go.modhash to the cache salt - fix: use diagnostic position for related information position
- migration: fix
v2.1.2
- Linters bug fixes
exptostd: from 0.4.2 to 0.4.3gofumpt: from 0.7.0 to 0.8.0protogetter: from 0.3.13 to 0.3.15usetesting: from 0.4.2 to 0.4.3
v2.1.1
The release process of v2.1.0 failed due to a regression inside goreleaser.
The binaries of v2.1.0 have been published, but not the other artifacts (AUR, Docker, etc.).
v2.1.0
- Enhancements
- Add an option to display absolute paths (
--path-mode=abs) - Add configuration path placeholder (
${config-path}) - Add
warn-unusedoption forfmtcommand - Colored diff for
fmtcommand (golangci-lint fmt --diff-colored)
- Add an option to display absolute paths (
- New linters
- Add
funcorderlinter https://github.com/manuelarte/funcorder
- Add
- Linters new features or changes
go-errorlint: from 1.7.1 to 1.8.0 (automatic error comparison and type assertion fixes)- ⚠️
goconst:ignore-stringsis deprecated and replaced byignore-string-values goconst: from 1.7.1 to 1.8.1 (new options:find-duplicates,eval-const-expressions)govet: addhttpmuxanalyzernilnesserr: from 0.1.2 to 0.2.0 (detect more cases)paralleltest: from 1.0.10 to 1.0.14 (checks only_test.gofiles)revive: from 1.7.0 to 1.9.0 (support kebab case for setting names)sloglint: from 0.9.0 to 0.11.0 (autofix, new optionmsg-style, suggestslog.DiscardHandler)wrapcheck: from 2.10.0 to 2.11.0 (new optionreport-internal-errors)wsl: from 4.6.0 to 4.7.0 (cgo files are always excluded)
- Linters bug fixes
fatcontext: from 0.7.1 to 0.7.2gocritic: fiximportshadowcheckergosec: from 2.22.2 to 2.22.3ireturn: from 0.3.1 to 0.4.0loggercheck: from 0.10.1 to 0.11.0nakedret: from 2.0.5 to 2.0.6nonamedreturns: from 1.0.5 to 1.0.6protogetter: from 0.3.12 to 0.3.13testifylint: from 1.6.0 to 1.6.1unconvert: update to HEAD
- Misc.
- Fixes memory leaks when using go1.(N) with golangci-lint built with go1.(N-X)
- Adds
golangci-lint-fmtpre-commit hook
- Documentation
- Improvements
- Updates section about vscode integration
v2.0.2
- Misc.
- Fixes flags parsing for formatters
- Fixes the filepath used by the exclusion
sourceoption
- Documentation
- Adds a section about flags migration
- Cleaning pages with v1 options
v2.0.1
- Linters/formatters bug fixes
golines: fix settings during linter load
- Misc.
- Validates the
versionfield before the configuration forbidigo: fix migration
- Validates the
v2.0.0
- Enhancements
- 🌟 New
golangci-lint fmtcommand with dedicated formatter configuration - ♻️ New
golangci-lint migratecommand to help migration from v1 to v2 (cf. Migration guide) - ⚠️ New default values (cf. Migration guide)
- ⚠️ No exclusions by default (cf. Migration guide)
- ⚠️ New default sort order (cf. Migration guide)
- 🌟 New option
run.relative-path-mode(cf. Migration guide) - 🌟 New linters configuration (cf. Migration guide)
- 🌟 New output format configuration (cf. Migration guide)
- 🌟 New
--fast-onlyflag (cf. Migration guide) - 🌟 New option
linters.exclusions.warn-unusedto log a warning if an exclusion rule is unused.
- 🌟 New
- New linters/formatters
- Add
golinesformatter https://github.com/segmentio/golines
- Add
- Linters new features
- ⚠️ Merge
staticcheck,stylecheck,gosimpleinto one linter (staticcheck) (cf. Migration guide) go-critic: from 0.12.0 to 0.13.0gomodguard: from 1.3.5 to 1.4.1 (block explicit indirect dependencies)nilnil: from 1.0.1 to 1.1.0 (new option:only-two)perfsprint: from 0.8.2 to 0.9.1 (checker name in the diagnostic message)staticcheck: newquickfixset of rulestestifylint: from 1.5.2 to 1.6.0 (new options:equal-values,suite-method-signature,require-string-msg)wsl: from 4.5.0 to 4.6.0 (new option:allow-cuddle-used-in-block)
- ⚠️ Merge
- Linters bug fixes
bidichk: from 0.3.2 to 0.3.3errchkjson: from 0.4.0 to 0.4.1errname: from 1.0.0 to 1.1.0funlen: fixignore-commentsoptiongci: from 0.13.5 to 0.13.6gosmopolitan: from 1.2.2 to 1.3.0inamedparam: from 0.1.3 to 0.2.0intrange: from 0.3.0 to 0.3.1protogetter: from 0.3.9 to 0.3.12unparam: from 8a5130ca722f to 0df0534333a4
- Misc.
- 🧹 Configuration options renaming (cf. Migration guide)
- 🧹 Remove options (cf. Migration guide)
- 🧹 Remove flags (cf. Migration guide)
- 🧹 Remove alternative names (cf. Migration guide)
- 🧹 Remove or replace deprecated elements (cf. Migration guide)
- Adds an option to display some commands as JSON:
golangci-lint config path --jsongolangci-lint help linters --jsongolangci-lint help formatters --jsongolangci-lint linters --jsongolangci-lint formatters --jsongolangci-lint version --json
- Documentation
v1.64.8
- Detects use of configuration files from golangci-lint v2
v1.64.7
- Linters bug fixes
depguard: from 2.2.0 to 2.2.1dupl: from 3e9179ac440a to f665c8d69b32gosec: from 2.22.1 to 2.22.2staticcheck: from 0.6.0 to 0.6.1
- Documentation
- Add GitLab documentation
v1.64.6
- Linters bug fixes
asciicheck: from 0.4.0 to 0.4.1contextcheck: from 1.1.5 to 1.1.6errcheck: from 1.8.0 to 1.9.0exptostd: from 0.4.1 to 0.4.2ginkgolinter: from 0.19.0 to 0.19.1go-exhaustruct: from 3.3.0 to 3.3.1gocheckcompilerdirectives: from 1.2.1 to 1.3.0godot: from 1.4.20 to 1.5.0perfsprint: from 0.8.1 to 0.8.2revive: from 1.6.1 to 1.7.0tagalign: from 1.4.1 to 1.4.2
v1.64.5
- Bug fixes
- Add missing flag
new-from-merge-base-flag
- Add missing flag
- Linters bug fixes
asciicheck: from 0.3.0 to 0.4.0forcetypeassert: from 0.1.0 to 0.2.0gosec: from 2.22.0 to 2.22.1
v1.64.4
- Linters bug fixes
gci: fix standard packages list for go1.24
v1.64.3
- Linters bug fixes
ginkgolinter: from 0.18.4 to 0.19.0go-critic: from 0.11.5 to 0.12.0revive: from 1.6.0 to 1.6.1gci: fix standard packages list for go1.24
- Misc.
- Build Docker images with go1.24
v1.64.2
This is the last minor release of golangci-lint v1. The next release will be golangci-lint v2.
- Enhancements
- 🎉 go1.24 support
- New
issues.new-from-merge-baseoption - New
run.relative-path-modeoption
- Linters new features
copyloopvar: from 1.1.0 to 1.2.1 (support suggested fixes)exptostd: from 0.3.1 to 0.4.1 (handlesgolang.org/x/exp/constraints.Ordered)fatcontext: from 0.5.3 to 0.7.1 (new option:check-struct-pointers)perfsprint: from 0.7.1 to 0.8.1 (new options:integer-format,error-format,string-format,bool-format, andhex-format)revive: from 1.5.1 to 1.6.0 (new rules:redundant-build-tag,use-errors-new. New optionearly-return.early-return)
- Linters bug fixes
go-errorlint: from 1.7.0 to 1.7.1gochecknoglobals: from 0.2.1 to 0.2.2godox: from 006bad1f9d26 to 1.1.0gosec: from 2.21.4 to 2.22.0iface: from 1.3.0 to 1.3.1nilnesserr: from 0.1.1 to 0.1.2protogetter: from 0.3.8 to 0.3.9sloglint: from 0.7.2 to 0.9.0spancheck: fix defaultStartSpanMatchersSlicevaluesstaticcheck: from 0.5.1 to 0.6.0
- Deprecations
- ⚠️
tenvis deprecated and replaced byusetesting.os-setenv: true. - ⚠️
exportlooprefdeprecation step 2
- ⚠️
- Misc.
- Sanitize severities by output format
- Avoid panic with plugin without description
- Documentation
- Clarify
depguardconfiguration
- Clarify
v1.64.1
Cancelled due to CI failure.
v1.64.0
Cancelled due to CI failure.
v1.63.4
- Linters bug fixes
dupl,gomodguard,revive: keep only Go-files.
v1.63.3
- Linters bug fixes
gofmt,gofumpt,goimports,gci: panic with several trailing EOLgoheader: skip issues with invalid positions
v1.63.2
- Linters bug fixes
gofmt,gofumpt,goimports,gci: panic with missing trailing EOL
v1.63.1
- Linters bug fixes
cgi: invalid reports with cgogofumpt: panic with autofix and cgo
v1.63.0
- Enhancements
- Add support for SuggestedFixes 🎉 (35 linters can “autofix” reports).
- Formatters (
gofmt,goimports,gofumpt,gci) are applied after the suggested fixes.
- New linters
- Add
exptostdlinter https://github.com/ldez/exptostd - Add
nilnesserrlinter https://github.com/alingse/nilnesserr - Add
usetestinglinter https://github.com/ldez/usetesting
- Add
- Linters new features
gci: new options:no-inline-comments,no-prefix-commentsgomoddirectives: from 0.2.4 to 0.6.0 (new options:go-version-pattern,toolchain-pattern,toolchain-forbidden,tool-forbidden,go-debug-forbidden)govet: newstdversion,waitgroupanalyzersimportas: allow multiple empty aliasesloggercheck: newslogoptionrecvcheck: from 0.1.2 to 0.2.0 (new options:disable-builtin,exclusions)tagliatelle: from 0.5.0 to 0.7.1 (new options:ignored-fields,extended-rules,overrides,pkg,ignore)usestdlibvars: from 1.27.0 to 1.28.0 (autofix)wrapcheck: from 2.9.0 to 2.10.0 (new option:extra-ignore-sigs)
- Linters bug fixes
asciicheck: from 0.2.0 to 0.3.0bodyclose: from 574207250966 to ed6a65f985efunlen: from 0.1.0 to 0.2.0ginkgolinter: from 0.18.3 to 0.18.4gochecksumtype: from 0.2.0 to 0.3.1gocognit: from 1.1.3 to 1.2.0godot: from 1.4.18 to 1.4.20goheader: report position improvementgosec: handling of global nosec option when it is falseiface: from 1.2.1 to 1.3.0importas: from 0.1.0 to 0.2.0intrange: from 0.2.1 to 0.3.0makezero: from 1.1.1 to 1.2.0mirror: from 1.2.0 to 1.3.0nilnil: from 1.0.0 to 1.0.1nosprintfhostport: from 0.1.1 to 0.2.0reassign: from 0.2.0 to 0.3.0spancheck: from 0.6.2 to 0.6.4tagalign: from 1.3.4 to 1.4.1wastedassign: from 2.0.7 to 2.1.0whitespace: from 0.1.1 to 0.2.0wsl: from 4.4.1 to 4.5.0
- Deprecations
- ⚠️
output.uniq-by-lineis deprecated and replaced byissues.uniq-by-line.
- ⚠️
- Misc.
- Improvements of the help command (color and JSON support).
- Removes
decoder,sloglint,tagalignfromformatpreset. - Enables paths with junction inside Windows.
- The timeout is disabled if
run.timeout<= 0.
v1.62.2
- Linters bug fixes
fatcontext: from 0.5.2 to 0.5.3ginkgolinter: from 0.18.0 to 0.18.3errorlint: from 1.6.0 to 1.7.0iface: from 1.2.0 to 1.2.1revive: from 1.5.0 to 1.5.1testifylint: from 1.5.0 to 1.5.2
- Misc.
- fix: ignore cache error when file not found
v1.62.1
Cancelled due to CI failure.
v1.62.0
- New linters
- Add
recvchecklinter https://github.com/raeperd/recvcheck - Add
ifacelinter https://github.com/uudashr/iface
- Add
- Linters new features
ginkgolinter: from 0.17.0 to 0.18.0 (new option:force-succeed)gochecksumtype: from 0.1.4 to 0.2.0 (new option:default-signifies-exhaustive)loggercheck: from 0.9.4 to 0.10.1 (log/slogsupport)nilnil: from 0.1.9 to 1.0.0 (new option:detect-opposite)revive: from 1.3.9 to 1.5.0 (new rules:filename-format, andfile-length-limit)tenv: from 1.10.0 to 1.12.1 (handle dot import)testifylint: from 1.4.3 to 1.5.0 (new checkers:contains,encoded-compare,regexp)
- Linters bug fixes
bidichk: from 0.2.7 to 0.3.2 (important performance improvement)canonicalheader: from 1.1.1 to 1.1.2cyclop: from 1.2.1 to 1.2.3dupword: from 0.1.1 to 0.1.3errcheck: from 1.7.0 to 1.8.0errchkjson: from 0.3.6 to 0.4.0errname: from 0.1.13 to 1.0.0gocritic: from 0.11.4 to 0.11.5goprintffuncname: from 7558a9eaa5af to v0.1.0godot: from 1.4.17 to 1.4.18gosec: from 2.21.2 to 2.21.4intrange: from 0.2.0 to 0.2.1musttag: from 0.12.2 to 0.13.0nakedret: from 2.0.4 to 2.0.5noctx: from 0.0.2 to 0.1.0protogetter: from 0.3.6 to 0.3.8
- Deprecations
- ⚠️
execinquery: deprecation step 2 - ⚠️
gomnd: deprecation step 2 (replaced bymnd)
- ⚠️
- Misc.
- Type sizing when cross-compiling (32-bit).
- code-climate: add check_name field
- Improve Go version detection
- Fix Go version propagation
- Documentation
- Adds a section about
exclude-dirs-use-default - Improve ‘install from sources’ section
- Improve FAQ about Go versions
- Improve linter/rule/check docs
- Improve new linter section
- Improve
forbidigopattern examples for built-in functions
- Adds a section about
v1.61.0
- Enhancements
- Add
junit-xml-extendedformat - Exclude Swagger Codegen files by default
- Add
- Linters new features
gci: from 0.13.4 to 0.13.5 (new optionno-lex-order)nolintlint: remove the empty line in the directive replacement
- Linters bug fixes
dupword: from 0.0.14 to 0.1.1fatcontext: from 0.4.0 to 0.5.2go-ruleguard: from 0.4.2 to 0fe6f58b47b1 (fix panic with custom linters)godot: from 1.4.16 to 1.4.17gomodguard: from 1.3.3 to 1.3.5gosec: disable temporarilyG407gosec: from ab3f6c1c83a0 to 2.21.2 (partially fixG115)intrange: from 0.1.2 to 0.2.0
- Misc.
- Improve runtime version parsing
- Documentation
- Add additional info about
typecheck
- Add additional info about
v1.60.3
- Updated linters
gosec: from 81cda2f91fbe to ab3f6c1c83a0 (fixG115false positives)
- Misc.
- Check that the Go version use to build is greater or equals to the Go version of the project
v1.60.2
- Linters new features
gosec: from 5f0084eb01a9 to 81cda2f91fbe (addsG115,G405,G406,G506,G507)
- Linters bug fixes
gofmt: update to HEAD (go1.22)gofumpt: from 0.6.0 to 0.7.0gosec: fix G602 analyzerstaticcheck: from 0.5.0 to 0.5.1staticcheck: propagate Go versionwrapcheck: from 2.8.3 to 2.9.0
- Deprecations
- ⚠️
exportloopref: deprecation
- ⚠️
v1.60.1
- Misc.
- 🎉 go1.23 support
- Linters new features
exhaustruct: from 3.2.0 to 3.3.0 (recognize custom error values in return)govet(printf): report non-constant format, no argslll: advertise max line length instead of just reporting failurerevive: from 1.3.7 to 1.3.9 (new rule:comments-density)staticcheck: from 0.4.7 to 0.5.0testifylint: from 1.3.1 to 1.4.3 (new options:formatter,suite-broken-parallel,suite-subtest-run)
- Linters bug fixes
errorlint: from 1.5.2 to 1.6.0fatcontext: from 0.2.2 to 0.4.0 (fix false positives for context stored in structs)gocognit: from 1.1.2 to 1.1.3gomodguard: from 1.3.2 to 1.3.3sloglint: from 0.7.1 to 0.7.2spancheck: from 0.6.1 to 0.6.2tenv: from 1.7.1 to 1.10.0 (remove reports on fuzzing)tparallel: from 0.3.1 to 0.3.2usestdlibvars: from 1.26.0 to 1.27.0 (fix false-positive with number used inside a mathematical operations)wsl: from 4.2.1 to 4.4.1
- Deprecations
- ️⚠️
unused: removeexported-is-usedoption
- ️⚠️
- Fixes
- SARIF: sanitize level property
- ️⚠️
typecheckissues should never be ignored
- Documentation
- Add link on linter without configuration
- Remove ’trusted by’ page
wslupdate documentation of the configuration
v1.60.0
Cancelled due to a CI problem.
v1.59.1
- Updated linters
errorlint: from 1.5.1 to 1.5.2gomnd: deprecated configuration compatibilityintrange: addstylepresetmisspell: from 0.5.1 to 0.6.0sloglint: from 0.7.0 to 0.7.1testifylint: from 1.3.0 to 1.3.1unparam: bump to HEADusestdlibvars: from 1.25.0 to 1.26.0
- Fixes
- SARIF: init empty result slice
- SARIF: issue column >= 1
- Documentation
revive: update documentation of the configuration
v1.59.0
- Enhancements
- Add SARIF output format
- Allow the analysis of generated files (
issues.exclude-generated: disable)
- Updated linters
errcheck: fix deprecation warninggocritic: from 0.11.3 to 0.11.4gosec: from 2.20.0 to 5f0084eb01a9 (fix G601 and G113 performance issues)sloglint: from 0.6.0 to 0.7.0 (new optionforbidden-keys)testifylint: from 1.2.0 to 1.3.0 (new checkernegative-positiveand new optiongo-require.ignore-http-handlers)
- Misc.
- ️️⚠️ Deprecate
github-actionoutput format - ️️⚠️ Deprecate
issues.exclude-generated-strictoption (replaced byissues.exclude-generated: strict) - ️️⚠️ Add warning about disabled and deprecated linters (level 2)
- ️️⚠️ Deprecate
v1.58.2
- Updated linters
canonicalheader: from 1.0.6 to 1.1.1gosec: from 2.19.0 to 2.20.0musttag: from 0.12.1 to 0.12.2nilnil: from 0.1.8 to 0.1.9
- Documentation
- Improve integrations and install pages
v1.58.1
- Updated linters
tagalign: from 1.3.3 to 1.3.4protogetter: from 0.3.5 to 0.3.6gochecknoinits: fix analyzer name
- Fixes
- Restores previous
github-actionsoutput format (removes GitHub Action problem matchers)
- Restores previous
v1.58.0
- New linters
fatcontext: https://github.com/Crocmagnon/fatcontextcanonicalheader: https://github.com/lasiar/canonicalheader
- Updated linters
copyloopvar: from 1.0.10 to 1.1.0 (ignore-aliasis replaced bycheck-aliaswith the opposite behavior)decorder: from 0.4.1 to 0.4.2errname: from 0.1.12 to 0.1.13errorlint: from 1.4.8 to 1.5.1 (new optionsallowed-errorsandallowed-errors-wildcard)execinquery: deprecate linter ⚠️gci: from 0.12.3 to 0.13.4 (new sectionlocalModule)gocritic: from 0.11.2 to 0.11.3spancheck: from 0.5.3 to 0.6.1goerr113is replaced byerr113⚠️gomndis replaced bymnd⚠️gomodguard: from 1.3.1 to 1.3.2grouper: from 1.1.1 to 1.1.2intrange: from 0.1.1 to 0.1.2mirror: from 1.1.0 to 1.2.0misspell: from 0.4.1 to 0.5.1musttag: from 0.9.0 to 0.12.1nilnil: from 0.1.7 to 0.1.8nonamedreturns: from 1.0.4 to 1.0.5promlinter: from 0.2.0 to 0.3.0sloglint: from 0.5.0 to 0.6.0unparam: bump to HEAD (063aff900ca150b80930c8de76f11d7e6488222f)whitespace: from 0.1.0 to 0.1.1
- Enhancements
- Speed up “fast” linters when only “fast” linters are run: between 40% and 80% faster at first run (i.e. without cache)
- Fixes
- Use version with module plugins
- Skip
go.modreport inside autogenerated processor - Keep only
typecheckissues when needed - Don’t hide
typecheckerrors inside diff processor
- Misc.
- ⚠️ log an error when using previously deprecated linters (Linter Deprecation Cycle)
deadcode: deprecated since v1.49.0 (2022-08-23).exhaustivestruct: deprecated since v1.46.0 (2022-05-08).golint: deprecated since v1.41.0 (2021-06-15).ifshort: deprecated since v1.48.0 (2022-08-04).interfacer: deprecated since v1.38.0 (2021-03-03).maligned: deprecated since v1.38.0 (2021-03-03).nosnakecase: deprecated since v1.48.0 (2022-08-04).scopelint: deprecated since v1.39.0 (2021-03-25).structcheck: deprecated since v1.49.0 (2022-08-23).varcheck: deprecated since v1.49.0 (2022-08-23).
- ⚠️ Deprecate usage of linter alternative names
- Remove help display on errors with
config verifycommand - Add
pre-commithook to runconfig verify - Improve
github-actionoutput
- ⚠️ log an error when using previously deprecated linters (Linter Deprecation Cycle)
- Documentation
- Remove deprecated Atom from Editor Integrations
GitHub Action (v5.1.0) for golangci-lint:
- supports for
pull,pull_request_target, andmerge_groupevents with the optiononly-new-issues. - ️️⚠️
skip-pkg-cacheandskip-build-cachehave been removed because the cache related to Go itself is already handled byactions/setup-go. - with golangci-lint v1.58, the file information (path and position) will be displayed on the log.
v1.57.2
- Updated linters
contextcheck: from 1.1.4 to 1.1.5copyloopvar: from 1.0.8 to 1.0.10ginkgolinter: from 0.16.1 to 0.16.2goconst: from 1.7.0 to 1.7.1gomoddirectives: from 0.2.3 to 0.2.4intrange: from 0.1.0 to 0.1.1
- Misc.
- Display warnings on deprecated linter options
- Fix missing
colored-taboutput format - Fix TeamCity
inspectionTypeservice message
- Documentation
- Remove invalid example about mixing files and directory
- Improve linters page
v1.57.1
- Fixes
- Ignore issues with invalid position (e.g.
contextcheck).
- Ignore issues with invalid position (e.g.
v1.57.0
- New linters
copyloopvar: https://github.com/karamaru-alpha/copyloopvarintrange: https://github.com/ckaznocha/intrange
- Updated linters
dupword: from 0.0.13 to 0.0.14gci: from 0.12.1 to 0.12.3ginkgolinter: from 0.15.2 to 0.16.1 (new optionforce-expect-to,validate-async-intervals, andforbid-spec-pollution)go-critic: from 0.11.1 to 0.11.2go-critic: support ofenable-allanddisable-alloptionsgo-spancheck: from 0.5.2 to 0.5.3gomodguard: from 1.3.0 to 1.3.1govet: deprecation ofcheck-shadowing⚠️govet: disable temporarilyhttpresponsebecause of a bug https://github.com/golang/go/issues/66259misspell: addextra-wordsmusttag: from 0.8.0 to 0.9.0nakedret: from 2.0.2 to 2.0.4paralleltest: from 1.0.9 to 1.0.10perfsprint: from 0.6.0 to 0.7.1 (new optionstrconcat)protogetter: from 0.3.4 to 0.3.5revive: addexcludeoptionsloglint: from 0.4.0 to 0.5.0 (new optionno-global)staticcheck: from 0.4.6 to 0.4.7testifylint: from 1.1.2 to 1.2.0 (new optionbool-compare)unconvert: to HEAD (new optionsfast-mathandsafe)wrapcheck: from 2.8.1 to 2.8.3- Disable
copyloopvarandintrangeon Go < 1.22
- Enhancements
- 🧩New custom linters system https://golangci-lint.run/docs/plugins/module-plugins/
- Allow running only a specific linter without modifying the file configuration (
--enable-only) - Allow custom sort order for the reports (
output.sort-order) - Automatically adjust the maximum concurrency to the container CPU quota if
run.concurrency=0 - Add
config verifycommand to check the configuration against the JSON Schema - Option to strictly follow Go generated file convention (
issues.exclude-generated-strict) - Syntax to not override
severityfrom linters (@linter) - Use severities from
gosec - Create automatically directory related to
output.formats.path - Use the first issue without inline on
mergeLineIssueson multiple issues
- Misc.
- ⚠️ Inactivate deprecated linters (
deadcode,exhaustivestruct,golint,ifshort,interfacer,maligned,nosnakecase,scopelint,structcheck,varcheck) - ⚠️ Deprecated CLI flags have been removed (deprecated since 2018)
- ⚠️ Move
show-statsoption fromruntooutputconfiguration section - ⚠️ Replace
run.skip-xxxoptions byissues.exclude-xxxoptions - ⚠️ Replace
output.formatbyoutput.formatswith a new file configuration syntax - Internal rewrite of the CLI
- Improve ’no go files to analyze’ message
- Use
GOTOOLCHAIN=autoinside the Docker images
- ⚠️ Inactivate deprecated linters (
- Documentation
- ⚠️ Define the linter deprecation cycle https://golangci-lint.run/docs/product/roadmap/#linter-deprecation-cycle
- 🎉Use information from the previous release to create linter pages
- Publish JSON schema on https://golangci-lint.run/jsonschema/golangci.jsonschema.json
- Reorganize documentation pages
- Add an explanation about the configuration file inside golangci-lint repository
⚠️ Important ⚠️
- Deprecated linters are inactivated, you still need to disable them if you are using
enable-all. - Deprecated CLI flags (about linter settings and
deadline) have been removed.
v1.56.2
- updated linters
go-critic: from 0.11.0 to 0.11.1gosec: from 2.18.2 to 2.19.0testifylint: from 1.1.1 to 1.1.2usestdlibvars: from 1.24.0 to 1.25.0wsl: from 4.2.0 to 4.2.1
- misc.
- Fix missing version in Docker image
- Documentation
- Explain the limitation of
new-from-revandnew-from-patch
- Explain the limitation of
v1.56.1
- updated linters
errcheck: from 1.6.3 to 1.7.0govet: disableloopclosurewith go1.22revive: from 1.3.6 to 1.3.7testifylint: from 1.1.0 to 1.1.1
v1.56.0
- new linters
spancheck: https://github.com/jjti/go-spancheck
- updated linters
depguard: from 2.1.0 to 2.2.0exhaustive: from 0.11.0 to 0.12.0exhaustruct: from 3.1.0 to 3.2.0gci: from 0.11.2 to 0.12.1ginkgolinter: from 0.14.1 to 0.15.2go-check-sumtype: from 0.1.3 to 0.1.4go-critic: from 0.9.0 to 0.11.0go-errorlint: from 1.4.5 to 1.4.8go-spancheck: from 0.4.2 to 0.5.2goconst: from 1.6.0 to 1.7.0godot: from 1.4.15 to 1.4.16gofumpt: from 0.5.0 to 0.6.0inamedparam: from 0.1.2 to 0.1.3ineffassign: from 0.0.0-20230610083614-0e73809eb601 to 0.1.0ireturn: from 0.2.2 to 0.3.0misspell: add mode optionmusttag: from v0.7.2 to v0.8.0paralleltest: from 1.0.8 to 1.0.9perfsprint: from 0.2.0 to 0.6.0protogetter: from 0.2.3 to 0.3.4revive: from 1.3.4 to 1.3.6sloglint: add static-msg optionsloglint: from 0.1.2 to 0.4.0testifylint: from 0.2.3 to 1.1.0unparam: from 20221223090309-7455f1af531d to 20240104100049-c549a3470d14whitespace: update after moving to theanalysispackagewsl: from 3.4.0 to 4.2.0zerologlint: from 0.1.3 to 0.1.5
- misc.
- 🎉 go1.22 support
- Implement stats per linter with a flag
- Make versioning inside Docker image consistent with binaries
- Parse Go RC version
- Documentation
- Fix
noctxdescription - Add missing fields to
.golangci.reference.yml - Improve
.golangci.reference.ymldefaults typecheck: improve FAQexhaustruct: note that struct regular expressions are expected to match the entirepackage/name/structnamewrapcheck: adjustignoreSigsto new defaults
- Fix
Important
testifylint has breaking changes about enabling/disabling checks:
If you were using the option
enablewith a filtered list of checks, you should either adddisable-all: true(1) or usedisablefield (2).# Example (1) testifylint: disable-all: true enable: - bool-compare - compares - empty - error-is-as - error-nil - expected-actual - go-require - float-compare - len - nil-compare - require-error # - suite-dont-use-pkg - suite-extra-assert-call - suite-thelper# Example (2) testifylint: disable: - suite-dont-use-pkg
v1.55.2
- updated linters
ireturn: from 0.2.1 to 0.2.2ginkgolinter: from 0.14.0 to 0.14.1
v1.55.1
- updated linters
gosec: from 2.18.1 to 2.18.2
- misc.
revgrep: from v0.5.0 to v0.5.2 (support git < 2.41.0)- output: convert backslashes to forward slashes for GitHub Action annotations printer
v1.55.0
- new linters
gochecksumtype: https://github.com/alecthomas/go-check-sumtypeinamedparam: https://github.com/macabu/inamedparamperfsprint: https://github.com/catenacyber/perfsprintprotogetter: https://github.com/ghostiam/protogettersloglint: https://github.com/go-simpler/sloglinttestifylint: https://github.com/Antonboom/testifylint
- updated linters
bidichk: from 0.2.4 to 0.2.7decorder: from 0.4.0 to 0.4.1dupword: from 0.0.12 to 0.0.13errchkjson: from 0.3.1 to 0.3.6gci: from 0.11.0 to 0.11.2ginkgolinter: from 0.13.5 to 0.14.0go-errorlint: from 1.4.4 to 1.4.5gocognit: from 1.0.7 to 1.1.0goconst: from 1.5.1 to 1.6.0godot: from 1.4.14 to 1.4.15gofmt: update to HEADgoimports: update to HEADgosec: from 2.17.0 to 2.18.1gosmopolitan: from 1.2.1 to 1.2.2govet: addappendsanalyzerireturn: from 0.2.0 to 0.2.1protogetter: from 0.2.2 to 0.2.3revgrep: from 745bb2f7c2e6 to v0.5.0revive: from 1.3.2 to 1.3.4sqlclosecheck: from 0.4.0 to 0.5.1staticcheck: from 0.4.5 to 0.4.6tagalign: from 1.3.2 to 1.3.3unused: support passing in options
- misc.
- Add a pre-commit hook to check all files
- Documentation
- add source options to exclude-rules docs
gosec: add G602 to includes/excludes inside .golangci.reference.yml
v1.54.2
- updated linters:
errname: from 0.1.10 to 0.1.12ginkgolinter: from 0.13.3 to 0.13.5go-errorlint: from 1.4.3 to 1.4.4godot: from 1.4.11 to 1.4.14gosec: from 2.16.0 to 2.17.0musttag: from 0.7.1 to 0.7.2nilnil: from 0.1.5 to 0.1.7staticcheck: from 0.4.3 to 0.4.5usestdlibvars: from 1.23.0 to 1.24.0govet: add missingdirectiveandslogpasses
v1.54.1
- updated linters:
go-critic: from 0.8.2 to 0.9.0
- misc.
- plugin: temporarily hide warning about using plugins using the old API
v1.54.0
- updated linters:
decorder: from 0.2.3 to 0.4.0dupword: from 0.0.11 to 0.0.12errorlint: from 1.4.2 to 1.4.3exhaustruct: from 2.3.0 to 3.1.0forbidigo: from 1.5.3 to 1.6.0funlen: from 0.0.3 to 0.1.0gci: from 0.10.1 to 0.11.0ginkgolinter: from 0.12.1 to 0.13.3go-critic: from 0.8.1 to 0.8.2go-errorlint: from 1.4.2 to 1.4.3go-exhaustruct: from 2.3.0 to 3.1.0gocognit: from 1.0.6 to 1.0.7gocritic: from 0.8.1 to 0.8.2gofmt: autofix missing newline at EOFmisspell: 0.4.0 to 0.4.1musttag: from 0.7.0 to 0.7.1paralleltest: from 1.0.7 to 1.0.8tagalign: from 1.2.2 to 1.3.2typecheck: explain it and remove it from the linter listzerologlint: from 0.1.2 to 0.1.3
- misc.
- 🎉 go1.21 support
- plugin: include custom linters in
enable-all - plugin: allow to use settings for plugins
- Documentation
- Add linter descriptions.
Important
ruleguard (a “rule” inside gocritic) was disabled in this release (v1.54.0) and was enabled again in the next release (v1.54.1).
exhaustruct has breaking changes with regular expressions, more details here.
v1.53.3
- updated linters:
cyclop: from 1.2.0 to 1.2.1exhaustive: from 0.10.0 to 0.11.0forbidigo: from 1.5.1 to 1.5.3ginkgolinter: from 0.12.2 to 0.12.1ineffassign: bump to HEADnakedret: from 2.0.1 to 2.0.2zerologlint: from 0.1.1 to 0.1.2
- misc.
- codeclimate: reduce memory allocation
- support illumos/amd64
v1.53.2
- updated linters
depguard: from v2.0.1 to 2.1.0
- misc.
depguard: throw error only when the linter is called
v1.53.1
- misc.
depguard: fix GOROOT detectionimportas: fix duplication detection when aliases use regular expression replacement pattern
v1.53.0
- new linters
gosmopolitan: https://github.com/xen0n/gosmopolitanmirror: https://github.com/butuzov/mirrortagalign: https://github.com/4meepo/tagalignzerologlint: https://github.com/ykadowak/zerologlint
- updated linters
bodyclose: bump to HEADcontainedctx: from 1.0.2 to 1.0.3depguard: migrate to v2errname: from 0.1.9 to 0.1.10exhaustive: from 0.9.5 to 0.10.0forbidigo: better support for configuring complex rulesgci: improve error messageginkgolinter: add suppress-async-assertion optionginkgolinter: from 0.9.0 to 0.12.0go-critic: from 0.7.0 to 0.8.1go-errorlint: from 1.4.0 to 1.4.2gofumpt: from 0.4.0 to 0.5.0gosec: convert global settings as map with proper key typegosec: from 2.15.0 to 2.16.0importas: detect duplicate alias or package in the configurationimportas: fix typo in logsireturn: from 0.1.1 to 0.2.0musttag: from 0.5.0 to 0.7.0nakedret: to 2.0.1nilnil: from 0.1.3 to 0.1.5paralleltest: from 1.0.6 to 1.0.7revive: from 1.3.1 to 1.3.2tagliatelle: from 0.4.0 to 0.5.0usestdlibvars: fix configuration
- misc.
golang.org/x/tools: from 0.7.0 to 0.9.2- add loongarch64 to the install script
- output: add colored-tab
- remove warning when the config file is explicitly stdin
- rules: support inverted path match
- Documentation
mnd: clarify ignore usage examples to be regexpstagliatelle: update documentation- improve features section
- update supported Go versions FAQ
v1.52.2
- updated linters
tparallel: from 0.3.0 to 0.3.1
- misc.
- fix: pre-commit
require_serialandpass_filenames
- fix: pre-commit
v1.52.1
- misc.
- fix: improve panic management
- fix: the combination of –fix and –path-prefix
v1.52.0
- updated linters
asciicheck: from 0.1.1 to 0.2.0bidichk: from 0.2.3 to 0.2.4contextcheck: from 1.1.3 to 1.1.4dupword: from 0.0.9 to 0.0.11durationcheck: from 0.0.9 to 0.0.10errchkjson: from 0.3.0 to 0.3.1errname: from 0.1.7 to 0.1.9forbidigo: from 1.4.0 to 1.5.1gci: from 0.9.1 to 0.10.1ginkgolinter: from 0.8.1 to 0.9.0go-critic: from 0.6.7 to 0.7.0go-errorlint: from 1.1.0 to 1.4.0godox: bump to HEADlll: skip go commandloggercheck: from 0.9.3 to 0.9.4musttag: from 0.4.5 to 0.5.0nilnil: from 0.1.1 to 0.1.3noctx: from 0.0.1 to 0.0.2revive: from 1.2.5 to 1.3.1rowserrcheck: remove limitation related to generics supportstaticcheck: from 0.4.2 to 0.4.3testpackage: from 1.1.0 to 1.1.1tparallel: from 0.2.1 to 0.3.0wastedassign: remove limitation related to generics supportwrapcheck: from 2.8.0 to 2.8.1
- misc.
- Add TeamCity output format
- Consider path prefix when matching path patterns
- Add Go version to version information
- Documentation
- Add Tekton in Trusted By page
- Clarify that custom linters are not enabled by default
- Remove description for deprecated “go” option
v1.51.2
- updated linters
forbidigo: from 1.3.0 to 1.4.0gci: from 0.9.0 to 0.9.1go-critic: from 0.6.5 to 0.6.7go-errorlint: from 1.0.6 to 1.1.0gosec: from 2.14.0 to 2.15.0musttag: from 0.4.4 to 0.4.5staticcheck: from 0.4.0 to 0.4.2tools: from 0.5.0 to 0.6.0usestdlibvars: from 1.21.1 to 1.23.0wsl: from 3.3.0 to 3.4.0govet: enabletimeformatby default
- misc.
- fix: cache status size calculation
- add new source archive
- Documentation
- Improve installation section
- Replace links to godoc.org with pkg.go.dev
v1.51.1
- updated linters
ginkgolinter: from 0.7.1 to 0.8.1ineffassign: bump to HEADmusttag: from 0.4.3 to 0.4.4sqlclosecheck: from 0.3.0 to 0.4.0staticcheck: bump to v0.4.0wastedassign: from 2.0.6 to 2.0.7wrapcheck: from 2.7.0 to 2.8.0
v1.51.0
- new linters
ginkgolinter: https://github.com/nunnatsa/ginkgolintermusttag: https://github.com/tmzane/musttaggocheckcompilerdirectives: https://github.com/leighmcculloch/gocheckcompilerdirectives
- updated linters
bodyclose: to HEADdupword: from 0.0.7 to 0.0.9errcheck: from 1.6.2 to 1.6.3exhaustive: from 0.8.3 to 0.9.5exportloopref: from 0.1.8 to 0.1.11gci: from 0.8.1 to 0.9.0ginkgolinter: from 0.6.0 to 0.7.1go-errorlint: from 1.0.5 to 1.0.6go-ruleguard: from 0.3.21 to 0.3.22gocheckcompilerdirectives: from 1.1.0 to 1.2.1gochecknoglobals: from 0.1.0 to 0.2.1gomodguard: from 1.2.4 to 1.3.0gosec: from 2.13.1 to 2.14.0govet: Addtimeformatto analysersgrouper: from 1.1.0 to 1.1.1musttag: from 0.4.1 to 0.4.3revive: from 1.2.4 to 1.2.5tagliatelle: from 0.3.1 to 0.4.0tenv: from 1.7.0 to 1.7.1unparam: bump to HEADusestdlibvars: from 1.20.0 to 1.21.1wsl: fixforce-err-cuddlingflag
- misc.
- go1.20 support
- remove deprecated linters from presets
- Build NetBSD binaries
- Build loong64 binaries
- Documentation
goimport: improve documentation for local-prefixesgomnd: add missing always ignored functionsnolint: fix typotagliatelleusage typo- add note about binary requirement for plugin
- cache preserving and colored output on docker runs
- improve documentation about debugging.
- improve Editor Integration section
- More specific default cache directory
- update output example to use valid checkstyle example; add json example
v1.50.1
- updated linters
contextcheck: from 1.1.2 to 1.1.3go-mnd: from 2.5.0 to 2.5.1wrapcheck: from 2.6.2 to 2.7.0revive: fix configuration parsinglll: skip imports
- misc.
- windows: remove redundant character escape ‘/’
- code-climate: add default severity
v1.50.0
- new linters
dupword: https://github.com/Abirdcfly/dupwordtestableexamples: https://github.com/maratori/testableexamples
- updated linters
contextcheck: change ownercontextcheck: from 1.0.6 to 1.1.2depguard: from 1.1.0 to 1.1.1exhaustive: add missing configexhaustive: from 0.8.1 to 0.8.3gci: from 0.6.3 to 0.8.0go-critic: from 0.6.4 to 0.6.5go-errorlint: from 1.0.2 to 1.0.5go-reassign: v0.1.2 to v0.2.0gofmt: add optionrewrite-rulesgofumptfrom 0.3.1 to 0.4.0goimports: update to HEADinterfacebloat: fix configuration loadinglogrlint: renamelogrlinttologgercheckparalleltest: add tests of the ignore-missing optionrevive: from 1.2.3 to 1.2.4usestdlibvars: from 1.13.0 to 1.20.0wsl: support all configs and update docs
- misc.
- Normalize
exclude-rulespaths for Windows - add riscv64 to the install script
- Normalize
- Documentation
- cli: remove reference to old service
v1.49.0
IMPORTANT: varcheck and deadcode has been removed of default linters.
- new linters
interfacebloat: https://github.com/sashamelentyev/interfacebloatlogrlint: https://github.com/timonwong/logrlintreassign: https://github.com/curioswitch/go-reassign
- updated linters
go-colorable: from 0.1.12 to 0.1.13go-critic: from 0.6.3 to 0.6.4go-errorlint: from 1.0.0 to 1.0.2go-exhaustruct: from 2.2.2 to 2.3.0gopsutil: from 3.22.6 to 3.22.7gosec: from 2.12.0 to 2.13.1revive: from 1.2.1 to 1.2.3usestdlibvars: from 1.8.0 to 1.13.0contextcheck: from v1.0.4 to v1.0.6 && re-enablenosnakecase: This linter is deprecated.varcheck: This linter is deprecated useunusedinstead.deadcode: This linter is deprecated useunusedinstead.structcheck: This linter is deprecated useunusedinstead.
- documentation
revive: fix wrong URL- Add a section about default exclusions
usestdlibvars: fix typo in documentationnolintlint: remove allow-leading-space option- Update documentation and assets
- misc.
- dev: rewrite the internal tests framework
- fix: exit early on run –version
- fix: set an explicit
GOROOTin the Docker image forgo-critic
v1.48.0
- new linters
usestdlibvars:https://github.com/sashamelentyev/usestdlibvars
- updated linters
contextcheck: disable lintererrcheck: from 1.6.1 to 1.6.2gci: add missingcustom-ordersettinggci: from 0.5.0 to 0.6.0ifshort: deprecate linternolint: drop allow-leading-space option and add “nolint:all”revgrep: bump to HEAD
- documentation
- remove outdated info on source install
- misc
- go1.19 support
v1.47.3
- updated linters:
- remove some go1.18 limitations
asasalint: from 0.0.10 to 0.0.11decorder: from 0.2.2 to v0.2.3gci: fix panic with invalid configuration optiongci: from 0.4.3 to v0.5.0go-exhaustruct: from 2.2.0 to 2.2.2gomodguard: from 1.2.3 to 1.2.4nosnakecase: from 1.5.0 to 1.7.0honnef.co/go/tools: from 0.3.2 to v0.3.3
- misc
- cgo: fix linters ignoring CGo files
v1.47.2
- updated linters:
revive: ignore slow rules
v1.47.1
- updated linters:
gci: from 0.4.2 to 0.4.3gci: remove the use of stdingci: fix options displaytenv: from 1.6.0 to 1.7.0unparam: bump to HEAD
v1.47.0
- new linters:
asasalint: https://github.com/alingse/asasalintnosnakecase: https://github.com/sivchari/nosnakecase
- updated linters:
decorder: from 0.2.1 to 0.2.2errcheck: from 1.6.0 to 1.6.1errname: from 0.1.6 to 0.1.7exhaustive: from 0.7.11 to 0.8.1gci: fix issues and re-enable autofixgci: from 0.3.4 to 0.4.2go-exhaustruct: from 2.1.0 to 2.2.0go-ruleguard: from 0.3.19 to 0.3.21gocognit: from 1.0.5 to 1.0.6gocyclo: from 0.5.1 to 0.6.0golang.org/x/tools: bump to HEADgosec: allowglobalconfiggosec: from 2.11.0 to 2.12.0nonamedreturns: from 1.0.1 to 1.0.4paralleltest: from 1.0.3 to 1.0.6staticcheck: fix genericsstaticcheck: from 0.3.1 to 0.3.2tenv: from 1.5.0 to 1.6.0testpackage: from 1.0.1 to 1.1.0thelper: from 0.6.2 to 0.6.3wrapcheck: from 2.6.1 to 2.6.2
- documentation:
- add thanks page
- add a clear explanation about the
staticcheckintegration. depguard: addignore-file-rulesdepguard: adjust phrasinggocritic: addenableanddisableruleguard settingsgomnd: fix typogosec: add configs for all existing rulesgovet: add settings forshadowandunusedresultthelper: addfuzzconfig and description- linters: add defaults
v1.46.2
- updated linters:
execinquery: bump from v1.2.0 to v1.2.1errorlint: bump to v1.0.0thelper: allow to disable one option
- documentation:
- rename
.golangci.example.ymlto.golangci.reference.yml - add
containedctxlinter to the list of available linters
- rename
v1.46.1
- updated linters:
execinquery: bump from v0.6.0 to v0.6.1
- documentation:
- add missing linters
v1.46.0
- new linters:
execinquery: https://github.com/lufeee/execinquerynonamedreturns: https://github.com/firefart/nonamedreturnsnosprintfhostport: https://github.com/stbenjam/no-sprintf-host-portexhaustruct: https://github.com/GaijinEntertainment/go-exhaustruct
- updated linters:
bidichk: from 0.2.2 to 0.2.3deadcode: bump to HEADerrchkjson: from 0.2.3 to 0.3.0errname: from 0.1.5 to 0.1.6go-critic: from 0.6.2 to 0.6.3gocyclo: from 0.4.0 to 0.5.1gofumptfrom 0.3.0 to 0.3.1gomoddirectives: from 0.2.2 to 0.2.3gosec: from 2.10.0 to 2.11.0honnef.co/go/tools: from 0.2.2to 0.3.1 (go1.18 support)nilnil: from 0.1.0 to 0.1.1nonamedreturns: bump from 1.0.0 to 1.0.1predeclared: from 0.2.1 to 0.2.2promlinter: bump to v0.2.0revive: from 1.1.4 to 1.2.1tenv: from 1.4.7 to 1.5.0thelper: from 0.5.1 to 0.6.2unused: fix false-positivevarnamelen: bump to v0.8.0wrapcheck: from 2.5.0 to 2.6.1exhaustivestruct: This linter is deprecated useexhaustructinstead.
- documentation:
- Update “Shell Completion” instruction on Linux
- Update FAQ page
- misc:
- log: enable override coloring based on
CLICOLORandCLICOLOR_FORCE
- log: enable override coloring based on
v1.45.2
- misc:
- fix: help command
v1.45.1
- updated linters:
interfacer: inactivate with go1.18govet: inactivate unsupported analyzers (go1.18)depguard: reduce requirementsstructcheck: inactivate with go1.18varnamelen: bump from v0.6.0 to v0.6.1
- misc:
- Automatic Go version detection 🎉 (go1.18)
- docker: update base images (go1.18)
v1.45.0
- updated linters:
cobra: from 1.3.0 to 1.4.0containedctx: from 1.0.1 to 1.0.2errcheck: add an option to remove default exclusionsgci: from 0.3.1 to 0.3.2go-header: from 0.4.2 to 0.4.3gofumpt: add module-path settinggofumpt: from 0.2.1 to 0.3.0gopsutil: from 3.22.1 to 3.22.2gosec: from 2.9.6 to 2.10.0makezero: from 1.1.0 to 1.1.1revive: fix default valueswrapcheck: from 2.4.0 to 2.5.0
- documentation:
- docs: add “back to the top” button
- docs: add
forbidigoexample that uses comments - docs: improve linters page
- misc:
- go1.18 support 🎉
- Add an option to manage the targeted version of Go
- Default to YAML when config file has no extension
v1.44.2
- updated linters:
gci: bump to HEADgci: restore defaults for sectionswhitespace: from 0.0.4 to 0.0.5
- documentation:
- add link to configuration in the linters list
v1.44.1
- updated linters:
bidichk: from 0.2.1 to 0.2.2errchkjson: from 0.2.1 to 0.2.3thelper: from 0.5.0 to 0.5.1tagliatelle: from 0.3.0 to 0.3.1gopsutil: from 3.21.12 to 3.22.1gci: from 0.2.9 to 0.3.0revive: from v1.1.3 to v1.1.4varnamelen: from v0.5.0 to v0.6.0
- documentation:
- linters: improve configuration pages
decorder: fixdisable-init-func-first-check: falseelaboration
- misc:
- fix debug output
v1.44.0
- new linters:
containedctx: https://github.com/sivchari/containedctxdecorder: https://gitlab.com/bosi/decordererrchkjson: https://github.com/breml/errchkjsonmaintidx: https://github.com/yagipy/maintidxgrouper: https://github.com/leonklingele/grouper
- updated linters:
asciicheck: bump to v0.1.1bidichk: from 0.1.1 to 0.2.1bodyclose: bump to HEADdecorder: from 0.2.0 to 0.2.1depguard: from 1.0.1 to 1.1.0errchkjson: from 0.2.0 to 0.2.1errorlint: bump to HEADexhaustive: drop deprecated/unused settingsexhaustive: from v0.2.3 to 0.7.11forbidigo: from 1.2.0 to 1.3.0forcetypeassert: bump to v0.1.0gocritic: from 0.6.1 to 0.6.2gocritic: support autofixgocyclo: from 0.3.1 to 0.4.0godot: add period optiongofumpt: from 0.1.1 to 0.2.1gomnd: from 2.4.0 to 2.5.0gomnd: new configurationgosec: from 2.9.1 to 2.9.6ifshort: from 1.0.3 to 1.0.4ineffassign: bump to HEADmakezero: to v1.1.0promlinter: from v0.1.0 to HEADrevive: fixenableAllRulesrevive: from 1.1.2 to 1.1.3staticcheck: from 0.2.1 to 0.2.2tagliatelle: from 0.2.0 to 0.3.0thelper: from 0.4.0 to 0.5.0unparam: bump to HEADvarnamelen: bump to v0.5.0wrapcheck: update configuration to includeignoreSignRegexps
- documentation:
- linters: improve pages about configuration
- improve page about false-positive
nolintlint: fix wrong default value in commentrevive: add a more detailed configuration
- misc:
- outputs: Add support for multiple outputs
- outputs: Print error text in
<failure>tag content for more readable JUnit output - outputs: ensure that the Issues key in JSON format is a list
- Return error if any linter fails to run
- cli: Show deprecated mark in the CLI linters help
November 2021
- new linters:
bidichk: https://github.com/breml/bidichk
- update linters:
nestif: from 0.3.0 to 0.3.1rowserrcheck: from 1.1.0 to 1.1.1gopsutil: from 3.21.9 to 3.21.10wrapcheck: from 2.3.1 to 2.4.0gocritic: add support for variable substitution inruleguardpath settings
- documentation:
- improve
go-criticdocumentation - improve
nolintlintdocumentation
- improve
- Misc:
- cli: don’t hide
enable-alloption
- cli: don’t hide
october 2021
- new linters:
contextcheck: https://github.com/kkHAIKE/contextcheckvarnamelen: https://github.com/blizzy78/varnamelen
- update linters:
gochecknoglobals: to v0.1.0gosec: filter issues according to the severity and confidenceerrcheck: empty selector name.ifshort: from 1.0.2 to 1.0.3go-critic: from 0.5.6 to 0.6.0gosec: from 2.8.1 to 2.9.1durationcheck: from 0.0.8 to 0.0.9wrapcheck: from 2.3.0 to 2.3.1revive: from 1.1.1 to 1.1.2
September 2021
- new linters:
- update linters:
errcheck: update to HEADerrname: from 0.1.4 to 0.1.5gci: Parse the settings more similarly to the CLIgodot: from 1.4.9 to 1.4.11ireturn: from 0.1.0 to 0.1.1nlreturn: add block-size optionparalleltest: from 1.0.2 to 1.0.3
- Misc:
- new-from-rev: add support for finding issues in entire files in a diff
August 2021
- new linters:
errname: https://github.com/Antonboom/errname
- update linters:
errname: from 0.1.3 to 0.1.4go-critic: fix invalid type conversions.godot: from 1.4.8 to 1.4.9gomodguard: from 1.2.2 to 1.2.3revive: from 1.0.9 to 1.1.1staticcheck: bump to 2021.1.1 (v0.2.1)wrapcheck: bump to v2.3.0
- Misc:
- build binaries and Docker images with go1.17
July 2021
- update linters:
errcheck: allow exclude config without extra fileexhaustive: from 0.1.0 to 0.2.3gocognit: from 1.0.1 to 1.0.5godot: from 1.4.7 to 1.4.8gomoddirectives: from 0.2.1 to 0.2.2revive: from 1.0.8 to 1.0.9
- documentation:
- improve
goconstdocumentation - improve
goimportsdescription
- improve
June 2021
- update linters:
durationcheck: from 0.0.7 to 0.0.8gci: from 0.2.8 to 0.2.9goconst: from 0.5.6 to 0.5.7gofumpt: Add lang-version optiongomodguard: from 1.2.1 to 1.2.2gosec: from 2.8.0 to 2.8.1revive: add enable-all-rules.revive: allow to disable rulerevive: fix exclude comment rule for const blockrevive: from 1.0.7 to 1.0.8wrapcheck: from 2.1.0 to 2.2.0
- documentation:
- add all integrations to docs introduction page
- Misc:
- 🎉 Un-deprecate enable-all option
- output: generate HTML report
- Support RISV64
May 2021
- new linters:
tagliatelle: https://github.com/ldez/tagliatellepromlinter: https://github.com/yeya24/promlinter
- update linters:
durationcheck: from 0.0.6 to 0.0.7errorlint: bump to HEADforbidigo: from 1.1.0 to 1.2.0go-critic: from 0.5.5 to 0.5.6godot: from 1.4.6 to 1.4.7- ⚠
golint: deprecated gomnd: from 2.3.2 to 2.4.0gomodguard: fix problem where duplicate issues were reportedgosec: from 2.7.0 to 2.8.0govet: fixsigchanyzergovet: Update vet passesimportas: allow repeated aliasesimportas: bump to HEADmakezero: bump to HEADnolintlint: fix false positiverevive: convert hard coded excludes into default exclude patternsrevive: fix add-constant rule supportrevive: fix excludesrevive: from 1.0.6 to 1.0.7revive: improve ’exported’ rule outputrowserrcheck: bump to v1.1.0staticcheck: configuration forstaticcheck,gosimple,stylecheckstaticcheck: from 0.1.3 to 0.1.4staticcheck: from v0.1.4 to v0.2.0wastedassign: from 0.2.0 to 1.0.0wastedassign: from 1.0.0 to v2.0.6wrapcheck: from 1.2.0 to 2.1.0
- documentation:
- improve linters page
exhaustivestructexample explanation- fix pattern of
forbidigoin example config yaml - bump documentation dependencies
- fix typos
- Misc:
- set the minimum Go version to go1.15
- non-zero exit code when a linter produces a panic
April 2021
- new linters:
tagliatelle: https://github.com/ldez/tagliatellepromlinter: https://github.com/yeya24/promlinter
- update linters:
godot: from 1.4.4 to 1.4.6wrapcheck: from 1.0.0 to 1.2.0go-mnd: from 2.3.1 to 2.3.2wsl: from 3.2.0 to 3.3.0revive: from 1.0.5 to 1.0.6importas: bump to HEADstaticcheck: configurable Go versiongosec: add configurationtypecheck: improve error stack parsing
- documentation:
- bump documentation dependencies
- fix typos
- Misc:
- fix: comma in exclude pattern leads to unexpected results
March 2021
- new linters:
gomoddirectives: https://github.com/ldez/gomoddirectives
- update linters:
go-critic: from 0.5.4 to 0.5.5gofumpt: from v0.1.0 to v0.1.1gosec: from 2.6.1 to 2.7.0ifshort: bump to v1.0.2importas: bump to HEADmakezero: bump to HEADnolintlint: allow to fix //nolint linesrevive: from 1.0.3 to 1.0.5revive: the default configuration is only applied when no dedicated configurationrowserrcheck: bump to HEAD- ⚠
scopelint: deprecated staticcheck: from v0.1.2 (2020.2.2) to v0.1.3 (2020.2.3)- 🎉
typecheck: display compilation errors as report instead of error wastedassign: bump to v0.2.0wrapcheck: bump to v1.0.0
- documentation:
- improve linters page (versions, deprecation, and presets)
- add cache directory information
- adding missing format options
- fix typos
- Misc:
- Set
versioncommand output to Stdout - fix linters load mode
- Restore fast linters meaning
- Set
February 2021
- new linters:
durationcheck: https://github.com/charithe/durationcheckrevive: https://github.com/mgechev/revivecyclop: https://github.com/bkielbasa/cyclopwastedassign: https://github.com/sanposhiho/wastedassignimportas: https://github.com/julz/importasnilerr: https://github.com/gostaticanalysis/nilerrforcetypeassert: https://github.com/gostaticanalysis/forcetypeassertgovet: addstringintconvandifaceassert
- update linters:
prealloc: Use upstream versionerrcheck: Use upstream versionineffassign: Use upstream versiongocyclo: Use upstream versiongodotfrom 1.3.2 to 1.4.3exhaustivestructfrom 1.1.0 to 1.2.0forbidigofrom 1.0.0 to 1.1.0thelperfrom 0.2.1 to 0.3.1ruleguard: print error message and exit with non-zero status when parsing error occurs- fix wrong load mode for
asciicheck,exhaustivestruct,exportloopref, andmakezero wsl: bump to v3.2.0durationcheck: from 0.0.4 to 0.0.6staticcheck: from 2020.1.6 to v0.1.2 (2020.2.2)thelperfrom 0.3.1 to 0.4.0bodyclose: bump to HEADgo-err113: bump to HEAD- ⚠
interfacer: deprecated - ⚠
maligned: deprecated (govetfieldalignmentas replacement) govet: use same default linter as go vetgo-printf-func-name: tov0.0.0-20200119135958-7558a9eaa5afgodox: tov0.0.0-20210227103229-6504466cf951asciicheck: tov0.0.0-20200416200610-e657995f937bwrapcheck: tov0.0.0-20201130113247-1683564d9756unparam: tov0.0.0-20210104141923-aac4ce9116a7
- CLI: truncate multiline descriptions
- fix: new-from-rev for a large repository
- Support RelatedInformation for analysis Diagnostic
- use go1.16 to create binaries
- fix: MIPS release
- documentation:
- bump documentation dependencies
- fix
go-headerusage - improve
gocriticdescription - update deprecated hyperlink for Sublime Text plugin
- add docs on using homebrew tap
January 2021
- new linters:
predeclared: https://github.com/nishanths/predeclaredifshort: https://github.com/esimonov/ifshort
- update linters:
go-criticfrom 0.5.2 to 0.5.3thelperfrom 0.1.0 to 0.2.1- Validate
go-criticsettings gofumptto v0.1.0gcito v0.2.8go-mndto v2.3.1gosecfrom 2.5.0 to 2.6.1godotfrom 1.3.2 to 1.4.3ifshortto v1.0.1rowserrcheck: fix reports false positive
- fix: modules-download-mode support
- documentation:
- bump documentation dependencies
December 2020
- new linters:
forbidigo: https://github.com/ashanbrown/forbidigomakezero: https://github.com/ashanbrown/makezerothelper: https://github.com/kulti/thelper
- update linters:
go-headerfrom v0.3.1 to v0.4.2go-mndfrom v2.0.0 to v2.2.0godotfrom v1.3.0 to v1.3.2gcifrom v0.2.4 to v0.2.7gomodguardfrom v1.1.0 to v1.2.0go-errorlintfrom v0.0.0-20201006195004-351e25ade6e3 to v0.0.0-20201127212506-19bd8db6546fgofumptfrom v0.0.0-20200802201014-ab5a8192947d to v0.0.0-20201129102820-5c11c50e9475nolintlintfix comment analysis. (#1571)
- result/processors: treat all non-Go source as special autogenerated files
- throw an error on panic. (#1540)
- resolve custom linters’ path relative to config file directory (#1572)
- treat all non-Go source as special autogenerated files
- documentation:
- add settings examples for
gocritic(#1562) - removing reference to no-longer-existing linter-in-the-cloud (#1553)
- add settings examples for
- others:
- bump
gopkg.in/yaml.v2from 2.3.0 to 2.4.0 (#1528) - bump
gatsby-remark-responsive-iframein /docs (#1533) - bump
gatsby-remark-imagesfrom 3.3.29 to 3.6.0 in /docs (#1531) - bump
inifrom 1.3.5 to 1.3.8 in /tools (#1560) - bump
react-headroomfrom 3.0.0 to 3.0.1 in /docs (#1532) - bump
react-livefrom 2.2.2 to 2.2.3 in /docs (#1534) - bump
reactfrom 16.13.1 to 16.14.0 in /docs (#1481) - Fix
forbidigolinter name in reports (#1590)
- bump
November 2020
- new linters:
paralleltest: https://github.com/kunwardeep/paralleltest
- update linters:
godotfrom v0.4.9 to v1.3.0exportloopreffrom v0.1.7 to v0.1.8gosecfrom 2.4.0 to 2.5.0goconstusing upstream https://github.com/jgautheron/goconst
DefaultExcludePatternsshould only be used for specified linter (#1494)- unknown linter breaks //nolint (#1497)
- report all unknown linters at once (#1477)
- CI:
- fix Docker tag for Alpine build
- documentation:
- missing sort-results in the docs (#1514)
- add description of Homebrew’s official formula (#1421)
- others:
- bump
golang.org/x/textto v0.3.4 (#1293) - bump
github.com/fatih/colorto from 1.9.0 to 1.10.0 (#1485) - bump
lodashfrom 4.17.15 to 4.17.19 in /.github/peril (#1252) - bump
polishedfrom 3.6.6 to 4.0.3 in /docs (#1482) - bump
gatsby-alias-importsfrom 1.0.4 to 1.0.6 in /docs (#1479) - bump
puppeteerfrom 5.3.1 to 5.4.1 in /docs (#1480) - bump
gatsby-remark-embedderfrom 3.0.0 to 4.0.0 in /docs (#1478)
- bump
October 2020
- new linters:
exhaustivestruct: https://github.com/mbilski/exhaustivestructgo-errorlint: https://github.com/polyfloyd/go-errorlinttparallel: https://github.com/moricho/tparallelwrapcheck: https://github.com/tomarrell/wrapcheck
- update linters:
honnef.co/go/toolsfrom 2020.1.5 to 2020.1.6exhaustivestructfrom v1.0.1 to v1.1.0exhaustiveto v0.1.0gochecknoglobals: use https://github.com/leighmcculloch/gochecknoglobals
- add support for powershell completion (#1408)
- add
.golangci.yamlto list of configuration files searched on startup (#1364) - support for only specifying default severity (#1396)
- documentation:
- mention macports installation procedure on macOS (#1352)
- sort linters (#1451)
- CI:
- add codeQL scanning (#1405)
- fix version details in Docker image (#1471)
- releasing docker image for arm64 (#1383)
- change interval for npm to monthly (#1424)
- others:
- use tag version for cobra (#1458)
- bump
nancyto 1.0.1 (#1410) - bump
gatsby-plugin-catch-linksin /docs (#1415) - bump
gatsby-plugin-mdxfrom 1.2.40 to 1.2.43 in /docs (#1419) - bump
gatsby-plugin-sharpfrom 2.6.31 to 2.6.40 in /docs (#1423) - bump
gatsby-plugin-sitemapfrom 2.4.12 to 2.4.14 in /docs (#1417) - bump
github.com/mattn/go-colorablefrom 0.1.7 to 0.1.8 (#1413) - bump
github.com/sirupsen/logrusfrom 1.6.0 to 1.7.0 (#1412) - bump
github.com/sourcegraph/go-difffrom 0.6.0 to 0.6.1 (#1414) - bump
golangci/golangci-lint-actionfrom v2 to v2.3.0 (#1447) (#1469) - bump
puppeteerfrom 3.3.0 to 5.3.1 in /docs (#1418)
September 2020
- update linters:
godotfrom 0.4.8 to 0.4.9exhaustivefrom v0.0.0-20200708172631-8866003e3856 to v0.0.0-20200811152831-6cf413ae40e0gofumptfrom v0.0.0-20200709182408-4fd085cb6d5f to v0.0.0-20200802201014-ab5a8192947d
- add support for fish completion (#1201)
- documentation:
- fix typo in performance docs (#1350)
- CI:
- prevent macos to be marked as passing upon failure (#1381)
- check only for go.mod file (#1397)
- check if go.mod and go.sum are up to dated (#1377)
- trigger Netlify (#1358)
- others:
- bump
github.com/sourcegraph/go-difffrom 0.5.3 to 0.6.0 (#1353) - bump
github.com/valyala/quicktemplatefrom 1.6.2 to 1.6.3 (#1385) - ignore known dependency failure in nancy (#1378)
- bump
@mdx-js/mdxfrom 1.6.16 to 1.6.18 in /docs (#1401) - bump
gatsbyfrom 2.24.52 to 2.24.65 in /docs (#1400) - bump
gatsby-plugin-canonical-urlsin /docs (#1390) - bump
gatsby-plugin-google-analyticsin /docs (#1388) - bump
gatsby-plugin-manifestfrom 2.4.23 to 2.4.27 in /docs (#1355) - bump
gatsby-plugin-mdxfrom 1.2.35 to 1.2.40 in /docs (#1386) - bump
gatsby-plugin-offlinefrom 3.2.23 to 3.2.27 in /docs (#1368) - bump
gatsby-plugin-sharpfrom 2.6.25 to 2.6.31 in /docs (#1354) - bump
gatsby-plugin-sitemapfrom 2.4.11 to 2.4.12 in /docs (#1344) - bump
gatsby-remark-autolink-headersin /docs (#1387) - bump
gatsby-remark-imagesfrom 3.3.25 to 3.3.28 in /docs (#1345) - bump
gatsby-remark-imagesfrom 3.3.28 to 3.3.29 in /docs (#1365) - bump
gatsby-remark-mermaidfrom 2.0.0 to 2.1.0 in /docs (#1369) - bump
gatsby-source-filesystemin /docs (#1366) - bump
gatsby-source-filesystemin /docs (#1389) - bump
gatsby-transformer-sharpin /docs (#1402) - bump
gatsby-transformer-yamlfrom 2.4.10 to 2.4.11 in /docs (#1367) - bump
node-fetchin /.github/contributors (#1363) - bump
polishedfrom 3.6.5 to 3.6.6 in /docs (#1347)
- bump
August 2020
- new
nlreturnlinter: https://github.com/ssgreg/nlreturn - new
gcilinter: https://github.com/daixiang0/gci - support
latestversion of golangci-lint in golangci-lint-action - update
goseclinter from 2.3.0 to 2.4.0 - update
godotlinter from 0.4.2 to 0.4.8 - update
go-criticfrom 0.5.0 to 0.5.2 (#1307) - update
nlreturnfrom 2.0.1 to 2.0.2 (#1287), 2.0.2 to 2.1.0 (#1327) - update
gcito v0.2.1 (#1292), to v0.2.2 (#1305), to v0.2.4 (#1337), - update
funlenfrom 0.0.2 to 0.0.3 (#1341) - upgrade to golang 1.15 for smaller binary (#1303)
- support short and json formats for version cmd (#1315)
- add home directory to config file search paths (#1325)
- allow for serializing multiple golangci-lint invocations (#1302)
July 2020
gofumptlinter:- update linter
- add
extra-rulesoption - support auto-fixing
- upgrade
exhaustivelinter - upgrade
exportloopreflinter - improve ’no such linter’ error message
- sorting result.Issues implementation
- enhancements in CI:
- Run
nancyvalidation for all dependencies - Move dependabot config to
.githubfolder
- Run
- other
- bump
lodashfrom 4.17.15 to 4.17.19 in /tools - bump
golangci/golangci-lint-actionfrom v1.2.2 to v2 - bump
github.com/valyala/quicktemplatefrom 1.5.0 to 1.5.1
- bump
June 2020
- Add new linters:
gofumpt
May 2020
- Add new linters:
nolintlint,goerr113 - Updated linters:
godot,staticcheck - Launch a website
April 2020
- Add new linters:
testpackage,nestif,godot,gomodguard,asciicheck - Add GitHub Actions output format
- Update linters:
wsl,gomodguard,gosec - Support
disabled-tagssetting forgocritic - Mitigate OOM and “failed prerequisites”
- Self-isolate due to unexpected pandemics
- Support case-sensitive excludes
- Allow granular re-enabling excludes by ID, e.g.
EXC0002
September 2019
- Support go1.13
- Add new linters:
funlen,whitespace(with auto-fix) andgodox - Update linters:
gochecknoglobals,scopelint,gosec - Provide pre-built binary for ARM and FreeBSD
- Fix false-positives in
unused - Support
--skip-dirs-use-default - Add support for bash completions
July 2019
- Fix parallel writes race condition
- Update bodyclose with fixed panic
June 2019
- Treat Go source files as a plain text by
misspell: it allows detecting issues in strings, variable names, etc. - Implement richer and more stable auto-fix of
misspellissues.
May 2019
- Add bodyclose linter.
- Support junit-xml output.
April 2019
- Update go-critic, new checkers were added: badCall, dupImports, evalOrder, newDeref
- Fix staticcheck panic on packages that do not compile
- Make install script work on Windows
- Fix compatibility with the latest x/tools version and update golang.org/x/tools
- Correct import path of module sourcegraph/go-diff
- Fix
max-issues-per-lintername - Fix linting of preprocessed files (e.g.
*.qtpl.go, goyacc) - Enable auto-fixing when running via pre-commit
March 2019
- Support the newest
go vet(withgo/analysis) - Support configuration of
go vet: e.g. you can set print functions bylinters-settings.govet.settings.printf.funcs - Update megacheck (staticcheck) to 2019.1.1
- Add information about controlling space-time trade-off into README
- Exclude issues by source code line regexp by
issues.exclude-rules[i].source - Build and test on go 1.12
- Support
--coloroption - Update x/tools to fix c++ issues
- Include support for log level
- Sort linters list in help commands