chore(deps): update golangci-lint-major to v2 (major)
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
golangci-lint | major |
1.60.3 -> 2.5.0
|
|
golangci/golangci-lint | major |
1.60.3 -> 2.5.0
|
|
golangci/golangci-lint | repository | major |
v1.60.3 -> v2.5
|
WARNING: this job ran in a Renovate pipeline that doesn't support the configuration required for common-ci-tasks Renovate presets.
Note: The pre-commit
manager in Renovate is not supported by the pre-commit
maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
Release Notes
golangci/golangci-lint (golangci-lint)
v2.5.0
- New linters
- Add
godoclint
linter https://github.com/godoc-lint/godoc-lint - Add
unqueryvet
linter https://github.com/MirrexOne/unqueryvet - Add
iotamixing
linter 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
: fromaea10b5
to 0.1.1 (skip internals ofIs
methods forerror
type) -
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.Helper
in 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.0 -
errname
: from 1.1.0 to 1.1.1 -
fatcontext
: from 0.8.0 to 0.8.1 -
go-printf-func-name
: from 0.1.0 to 0.1.1 -
godot
: from 1.5.1 to 1.5.4 -
gosec
: from 2.22.7 to 2.22.8 -
nilerr
: from 0.1.1 to a temporary fork -
nilnil
: from 1.1.0 to 1.1.1 -
protogetter
: from 0.3.15 to 0.3.16 -
tagliatelle
: from 0.7.1 to 0.7.2 -
testifylint
: 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 messages -
staticcheck
: allow empty options -
tagalign
: 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.7 -
gosec
: from 2.22.6 to 2.22.7 -
noctx
: from 0.3.5 to 0.4.0 -
wsl
: 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.6 -
noinlineerr
: from 1.0.4 to 1.0.5 -
sloglint
: 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
arangolint
linter https://github.com/Crocmagnon/arangolint - Add
embeddedstructfieldcheck
linter https://github.com/manuelarte/embeddedstructfieldcheck - Add
noinlineerr
linter https://github.com/AlwxSin/noinlineerr - Add
swaggo
formatter https://github.com/golangci/swaggoswag
- Add
- Linters new features or changes
-
errcheck
: addverbose
option -
funcorder
: 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
: deprecation -
wsl_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.6 -
exptostd
: from 0.4.3 to 0.4.4 -
forbidigo
: from 1.6.0 to 2.1.0 -
gci
: consistently format the code -
go-spancheck
: from 0.6.4 to 0.6.5 -
goconst
: from 1.8.1 to 1.8.2 -
gosec
: from 2.22.3 to 2.22.4 -
gosec
: from 2.22.4 to 2.22.5 -
makezero
: from 1.2.0 to 2.0.1 -
misspell
: from 0.6.0 to 0.7.0 -
usetesting
: from 0.4.3 to 0.5.0
-
- Misc.
- exclusions: fix
path-expect
- formatters: write the input to
stdout
when usingstdin
and there are no changes - migration: improve the error message when trying to migrate a migrated config
-
typecheck
: deduplicate errors -
typecheck
: stops the analysis after the first error - Deprecate
print-resources-usage
flag - Unique version per custom build
- exclusions: fix
- Documentation
- Improves typecheck FAQ
- Adds plugin systems recommendations
- Add description for
linters.default
sets
v2.1.6
- Linters bug fixes
-
godot
: from 1.5.0 to 1.5.1 -
musttag
: 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
staticcheck
settings - fix: add
go.mod
hash 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.3 -
gofumpt
: from 0.7.0 to 0.8.0 -
protogetter
: from 0.3.13 to 0.3.15 -
usetesting
: 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-unused
option forfmt
command - Colored diff for
fmt
command (golangci-lint fmt --diff-colored
)
- Add an option to display absolute paths (
- New linters
- Add
funcorder
linter 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-strings
is deprecated and replaced byignore-string-values
-
goconst
: from 1.7.1 to 1.8.1 (new options:find-duplicates
,eval-const-expressions
) -
govet
: addhttpmux
analyzer -
nilnesserr
: from 0.1.2 to 0.2.0 (detect more cases) -
paralleltest
: from 1.0.10 to 1.0.14 (checks only_test.go
files) -
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.2 -
gocritic
: fiximportshadow
checker -
gosec
: from 2.22.2 to 2.22.3 -
ireturn
: from 0.3.1 to 0.4.0 -
loggercheck
: from 0.10.1 to 0.11.0 -
nakedret
: from 2.0.5 to 2.0.6 -
nonamedreturns
: from 1.0.5 to 1.0.6 -
protogetter
: from 0.3.12 to 0.3.13 -
testifylint
: from 1.6.0 to 1.6.1 -
unconvert
: update to HEAD
-
- Misc.
- Fixes memory leaks when using go1.(N) with golangci-lint built with go1.(N-X)
- Adds
golangci-lint-fmt
pre-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
source
option
- 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
version
field before the configuration -
forbidigo
: fix migration
- Validates the
v2.0.0
- Enhancements
-
🌟 Newgolangci-lint fmt
command with dedicated formatter configuration -
♻️ Newgolangci-lint migrate
command 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 optionrun.relative-path-mode
(cf. Migration guide) -
🌟 New linters configuration (cf. Migration guide) -
🌟 New output format configuration (cf. Migration guide) -
🌟 New--fast-only
flag (cf. Migration guide) -
🌟 New optionlinters.exclusions.warn-unused
to log a warning if an exclusion rule is unused.
-
- New linters/formatters
- Add
golines
formatter https://github.com/segmentio/golines
- Add
- Linters new features
-
⚠️ Mergestaticcheck
,stylecheck
,gosimple
into one linter (staticcheck
) (cf. Migration guide) -
go-critic
: from 0.12.0 to 0.13.0 -
gomodguard
: 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
: newquickfix
set of rules -
testifylint
: 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
)
-
- Linters bug fixes
-
bidichk
: from 0.3.2 to 0.3.3 -
errchkjson
: from 0.4.0 to 0.4.1 -
errname
: from 1.0.0 to 1.1.0 -
funlen
: fixignore-comments
option -
gci
: from 0.13.5 to 0.13.6 -
gosmopolitan
: from 1.2.2 to 1.3.0 -
inamedparam
: from 0.1.3 to 0.2.0 -
intrange
: from 0.3.0 to 0.3.1 -
protogetter
: from 0.3.9 to 0.3.12 -
unparam
: from8a5130c
to0df0534
-
- 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 --json
golangci-lint help linters --json
golangci-lint help formatters --json
golangci-lint linters --json
golangci-lint formatters --json
golangci-lint version --json
-
- Documentation
v1.64.8
- Detects use of configuration files from golangci-lint v2
v1.64.7
- Linters bug fixes
- Documentation
- Add GitLab documentation
v1.64.6
- Linters bug fixes
-
asciicheck
: from 0.4.0 to 0.4.1 -
contextcheck
: from 1.1.5 to 1.1.6 -
errcheck
: from 1.8.0 to 1.9.0 -
exptostd
: from 0.4.1 to 0.4.2 -
ginkgolinter
: from 0.19.0 to 0.19.1 -
go-exhaustruct
: from 3.3.0 to 3.3.1 -
gocheckcompilerdirectives
: from 1.2.1 to 1.3.0 -
godot
: from 1.4.20 to 1.5.0 -
perfsprint
: from 0.8.1 to 0.8.2 -
revive
: from 1.6.1 to 1.7.0 -
tagalign
: 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.0 -
forcetypeassert
: from 0.1.0 to 0.2.0 -
gosec
: 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.0 -
go-critic
: from 0.11.5 to 0.12.0 -
revive
: from 1.6.0 to 1.6.1 -
gci
: 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-base
option - New
run.relative-path-mode
option
-
- 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.1 -
gochecknoglobals
: from 0.2.1 to 0.2.2 -
godox
: from006bad1
to 1.1.0 -
gosec
: from 2.21.4 to 2.22.0 -
iface
: from 1.3.0 to 1.3.1 -
nilnesserr
: from 0.1.1 to 0.1.2 -
protogetter
: from 0.3.8 to 0.3.9 -
sloglint
: from 0.7.2 to 0.9.0 -
spancheck
: fix defaultStartSpanMatchersSlice
values -
staticcheck
: from 0.5.1 to 0.6.0
-
- Deprecations
-
⚠️ tenv
is deprecated and replaced byusetesting.os-setenv: true
. -
⚠️ exportloopref
deprecation step 2
-
- Misc.
- Sanitize severities by output format
- Avoid panic with plugin without description
- Documentation
- Clarify
depguard
configuration
- 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 EOL -
goheader
: 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 cgo -
gofumpt
: 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.
- Add support for SuggestedFixes
- New linters
- Add
exptostd
linter https://github.com/ldez/exptostd - Add
nilnesserr
linter https://github.com/alingse/nilnesserr - Add
usetesting
linter https://github.com/ldez/usetesting
- Add
- Linters new features
-
gci
: new options:no-inline-comments
,no-prefix-comments
-
gomoddirectives
: from 0.2.4 to 0.6.0 (new options:go-version-pattern
,toolchain-pattern
,toolchain-forbidden
,tool-forbidden
,go-debug-forbidden
) -
govet
: newstdversion
,waitgroup
analyzers -
importas
: allow multiple empty aliases -
loggercheck
: newslog
option -
recvcheck
: 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.0 -
bodyclose
: from5742072
toed6a65f
-
funlen
: from 0.1.0 to 0.2.0 -
ginkgolinter
: from 0.18.3 to 0.18.4 -
gochecksumtype
: from 0.2.0 to 0.3.1 -
gocognit
: from 1.1.3 to 1.2.0 -
godot
: from 1.4.18 to 1.4.20 -
goheader
: report position improvement -
gosec
: handling of global nosec option when it is false -
iface
: from 1.2.1 to 1.3.0 -
importas
: from 0.1.0 to 0.2.0 -
intrange
: from 0.2.1 to 0.3.0 -
makezero
: from 1.1.1 to 1.2.0 -
mirror
: from 1.2.0 to 1.3.0 -
nilnil
: from 1.0.0 to 1.0.1 -
nosprintfhostport
: from 0.1.1 to 0.2.0 -
reassign
: from 0.2.0 to 0.3.0 -
spancheck
: from 0.6.2 to 0.6.4 -
tagalign
: from 1.3.4 to 1.4.1 -
wastedassign
: from 2.0.7 to 2.1.0 -
whitespace
: from 0.1.1 to 0.2.0 -
wsl
: from 4.4.1 to 4.5.0
-
- Deprecations
-
⚠️ output.uniq-by-line
is deprecated and replaced byissues.uniq-by-line
.
-
- Misc.
- Improvements of the help command (color and JSON support).
- Removes
decoder
,sloglint
,tagalign
fromformat
preset. - 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.3 -
ginkgolinter
: from 0.18.0 to 0.18.3 -
errorlint
: from 1.6.0 to 1.7.0 -
iface
: from 1.2.0 to 1.2.1 -
revive
: from 1.5.0 to 1.5.1 -
testifylint
: 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
recvcheck
linter https://github.com/raeperd/recvcheck - Add
iface
linter 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/slog
support) -
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.2 -
cyclop
: from 1.2.1 to 1.2.3 -
dupword
: from 0.1.1 to 0.1.3 -
errcheck
: from 1.7.0 to 1.8.0 -
errchkjson
: from 0.3.6 to 0.4.0 -
errname
: from 0.1.13 to 1.0.0 -
gocritic
: from 0.11.4 to 0.11.5 -
goprintffuncname
: from7558a9e
to v0.1.0 -
godot
: from 1.4.17 to 1.4.18 -
gosec
: from 2.21.2 to 2.21.4 -
intrange
: from 0.2.0 to 0.2.1 -
musttag
: from 0.12.2 to 0.13.0 -
nakedret
: from 2.0.4 to 2.0.5 -
noctx
: from 0.0.2 to 0.1.0 -
protogetter
: 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
forbidigo
pattern examples for built-in functions
- Adds a section about
v1.61.0
- Enhancements
- Add
junit-xml-extended
format - 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.1 -
fatcontext
: from 0.4.0 to 0.5.2 -
go-ruleguard
: from 0.4.2 to0fe6f58
(fix panic with custom linters) -
godot
: from 1.4.16 to 1.4.17 -
gomodguard
: from 1.3.3 to 1.3.5 -
gosec
: disable temporarilyG407
-
gosec
: fromab3f6c1
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
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.