github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/CHANGELOG.md (about) 1 Follow the news and releases on [Mastodon](https://fosstodon.org/@golangcilint) and on [Twitter](https://twitter.com/golangci). 2 3 There is the most valuable changes log: 4 5 ### v1.55.2 6 7 1. updated linters 8 * `ireturn`: from 0.2.1 to 0.2.2 9 * `ginkgolinter`: from 0.14.0 to 0.14.1 10 11 ### v1.55.1 12 13 1. updated linters 14 * `gosec`: from 2.18.1 to 2.18.2 15 2. misc. 16 * `revgrep`: from v0.5.0 to v0.5.2 (support git < 2.41.0) 17 * output: convert backslashes to forward slashes for GitHub Action annotations printer 18 19 ### v1.55.0 20 21 1. new linters 22 * `gochecksumtype`: https://github.com/alecthomas/go-check-sumtype 23 * `inamedparam`: https://github.com/macabu/inamedparam 24 * `perfsprint`: https://github.com/catenacyber/perfsprint 25 * `protogetter`: https://github.com/ghostiam/protogetter 26 * `sloglint`: https://github.com/go-simpler/sloglint 27 * `testifylint`: https://github.com/Antonboom/testifylint 28 2. updated linters 29 * `bidichk`: from 0.2.4 to 0.2.7 30 * `decorder`: from 0.4.0 to 0.4.1 31 * `dupword`: from 0.0.12 to 0.0.13 32 * `errchkjson`: from 0.3.1 to 0.3.6 33 * `gci`: from 0.11.0 to 0.11.2 34 * `ginkgolinter`: from 0.13.5 to 0.14.0 35 * `go-errorlint`: from 1.4.4 to 1.4.5 36 * `gocognit`: from 1.0.7 to 1.1.0 37 * `goconst`: from 1.5.1 to 1.6.0 38 * `godot`: from 1.4.14 to 1.4.15 39 * `gofmt`: update to HEAD 40 * `goimports`: update to HEAD 41 * `gosec`: from 2.17.0 to 2.18.1 42 * `gosmopolitan`: from 1.2.1 to 1.2.2 43 * `govet`: add `appends` analyzer 44 * `ireturn`: from 0.2.0 to 0.2.1 45 * `protogetter`: from 0.2.2 to 0.2.3 46 * `revgrep`: from 745bb2f7c2e6 to v0.5.0 47 * `revive`: from 1.3.2 to 1.3.4 48 * `sqlclosecheck`: from 0.4.0 to 0.5.1 49 * `staticcheck`: from 0.4.5 to 0.4.6 50 * `tagalign`: from 1.3.2 to 1.3.3 51 * `unused`: support passing in options 52 3. misc. 53 * Add a pre-commit hook to check all files 54 4. Documentation 55 * add source options to exclude-rules docs 56 * `gosec`: add G602 to includes/excludes inside .golangci.reference.yml 57 58 ### v1.54.2 59 60 1. updated linters: 61 * `errname`: from 0.1.10 to 0.1.12 62 * `ginkgolinter`: from 0.13.3 to 0.13.5 63 * `go-errorlint`: from 1.4.3 to 1.4.4 64 * `godot`: from 1.4.11 to 1.4.14 65 * `gosec`: from 2.16.0 to 2.17.0 66 * `musttag`: from 0.7.1 to 0.7.2 67 * `nilnil`: from 0.1.5 to 0.1.7 68 * `staticcheck`: from 0.4.3 to 0.4.5 69 * `usestdlibvars`: from 1.23.0 to 1.24.0 70 * `govet`: add missing `directive` and `slog` passes 71 72 ### v1.54.1 73 74 1. updated linters: 75 * `go-critic`: from 0.8.2 to 0.9.0 76 2. misc. 77 * plugin: temporarily hide warning about using plugins using the old API 78 79 ### v1.54.0 80 81 1. updated linters: 82 * `decorder`: from 0.2.3 to 0.4.0 83 * `dupword`: from 0.0.11 to 0.0.12 84 * `errorlint`: from 1.4.2 to 1.4.3 85 * `exhaustruct`: from 2.3.0 to 3.1.0 86 * `forbidigo`: from 1.5.3 to 1.6.0 87 * `funlen`: from 0.0.3 to 0.1.0 88 * `gci`: from 0.10.1 to 0.11.0 89 * `ginkgolinter`: from 0.12.1 to 0.13.3 90 * `go-critic`: from 0.8.1 to 0.8.2 91 * `go-errorlint`: from 1.4.2 to 1.4.3 92 * `go-exhaustruct`: from 2.3.0 to 3.1.0 93 * `gocognit`: from 1.0.6 to 1.0.7 94 * `gocritic`: from 0.8.1 to 0.8.2 95 * `gofmt`: autofix missing newline at EOF 96 * `misspell`: 0.4.0 to 0.4.1 97 * `musttag`: from 0.7.0 to 0.7.1 98 * `paralleltest`: from 1.0.7 to 1.0.8 99 * `tagalign`: from 1.2.2 to 1.3.2 100 * `typecheck`: explain it and remove it from the linter list 101 * `zerologlint`: from 0.1.2 to 0.1.3 102 2. misc. 103 * 🎉 go1.21 support 104 * plugin: include custom linters in `enable-all` 105 * plugin: allow to use settings for plugins 106 3. Documentation 107 * Add linter descriptions. 108 109 **Important** 110 111 `ruleguard` (a "rule" inside `gocritic`) was disabled in this release (v1.54.0) and was enabled again in the next release (v1.54.1). 112 113 `exhaustruct` has breaking changes with regular expressions, more details [here](https://github.com/GaijinEntertainment/go-exhaustruct/releases/tag/v3.0.0). 114 115 ### v1.53.3 116 117 1. updated linters: 118 * `cyclop`: from 1.2.0 to 1.2.1 119 * `exhaustive`: from 0.10.0 to 0.11.0 120 * `forbidigo`: from 1.5.1 to 1.5.3 121 * `ginkgolinter`: from 0.12.2 to 0.12.1 122 * `ineffassign`: bump to HEAD 123 * `nakedret`: from 2.0.1 to 2.0.2 124 * `zerologlint`: from 0.1.1 to 0.1.2 125 2. misc. 126 * codeclimate: reduce memory allocation 127 * support illumos/amd64 128 129 ### v1.53.2 130 131 1. updated linters 132 * `depguard`: from v2.0.1 to 2.1.0 133 2. misc. 134 * `depguard`: throw error only when the linter is called 135 136 ### v1.53.1 137 138 1. misc. 139 * `depguard`: fix GOROOT detection 140 * `importas`: fix duplication detection when aliases use regular expression replacement pattern 141 142 ### v1.53.0 143 144 1. new linters 145 * `gosmopolitan`: https://github.com/xen0n/gosmopolitan 146 * `mirror`: https://github.com/butuzov/mirror 147 * `tagalign`: https://github.com/4meepo/tagalign 148 * `zerologlint`: https://github.com/ykadowak/zerologlint 149 2. updated linters 150 * `bodyclose`: bump to HEAD 151 * `containedctx`: from 1.0.2 to 1.0.3 152 * `depguard`: migrate to v2 153 * `errname`: from 0.1.9 to 0.1.10 154 * `exhaustive`: from 0.9.5 to 0.10.0 155 * `forbidigo`: better support for configuring complex rules 156 * `gci`: improve error message 157 * `ginkgolinter`: add suppress-async-assertion option 158 * `ginkgolinter`: from 0.9.0 to 0.12.0 159 * `go-critic`: from 0.7.0 to 0.8.1 160 * `go-errorlint`: from 1.4.0 to 1.4.2 161 * `gofumpt`: from 0.4.0 to 0.5.0 162 * `gosec`: convert global settings as map with proper key type 163 * `gosec`: from 2.15.0 to 2.16.0 164 * `importas`: detect duplicate alias or package in the configuration 165 * `importas`: fix typo in logs 166 * `ireturn`: from 0.1.1 to 0.2.0 167 * `musttag`: from 0.5.0 to 0.7.0 168 * `nakedret`: to 2.0.1 169 * `nilnil`: from 0.1.3 to 0.1.5 170 * `paralleltest`: from 1.0.6 to 1.0.7 171 * `revive`: from 1.3.1 to 1.3.2 172 * `tagliatelle`: from 0.4.0 to 0.5.0 173 * `usestdlibvars`: fix configuration 174 3. misc. 175 * `golang.org/x/tools`: from 0.7.0 to 0.9.2 176 * add loongarch64 to the install script 177 * output: add colored-tab 178 * remove warning when the config file is explicitly stdin 179 * rules: support inverted path match 180 4. Documentation 181 * `mnd`: clarify ignore usage examples to be regexps 182 * `tagliatelle`: update documentation 183 * improve features section 184 * update supported Go versions FAQ 185 186 ### v1.52.2 187 188 1. updated linters 189 * `tparallel`: from 0.3.0 to 0.3.1 190 2. misc. 191 * fix: pre-commit `require_serial` and `pass_filenames` 192 193 ### v1.52.1 194 195 1. misc. 196 * fix: improve panic management 197 * fix: the combination of --fix and --path-prefix 198 199 ### v1.52.0 200 201 1. updated linters 202 * `asciicheck`: from 0.1.1 to 0.2.0 203 * `bidichk`: from 0.2.3 to 0.2.4 204 * `contextcheck`: from 1.1.3 to 1.1.4 205 * `dupword`: from 0.0.9 to 0.0.11 206 * `durationcheck`: from 0.0.9 to 0.0.10 207 * `errchkjson`: from 0.3.0 to 0.3.1 208 * `errname`: from 0.1.7 to 0.1.9 209 * `forbidigo`: from 1.4.0 to 1.5.1 210 * `gci`: from 0.9.1 to 0.10.1 211 * `ginkgolinter`: from 0.8.1 to 0.9.0 212 * `go-critic`: from 0.6.7 to 0.7.0 213 * `go-errorlint`: from 1.1.0 to 1.4.0 214 * `godox`: bump to HEAD 215 * `lll`: skip go command 216 * `loggercheck`: from 0.9.3 to 0.9.4 217 * `musttag`: from 0.4.5 to 0.5.0 218 * `nilnil`: from 0.1.1 to 0.1.3 219 * `noctx`: from 0.0.1 to 0.0.2 220 * `revive`: from 1.2.5 to 1.3.1 221 * `rowserrcheck`: remove limitation related to generics support 222 * `staticcheck`: from 0.4.2 to 0.4.3 223 * `testpackage`: from 1.1.0 to 1.1.1 224 * `tparallel`: from 0.2.1 to 0.3.0 225 * `wastedassign`: remove limitation related to generics support 226 * `wrapcheck`: from 2.8.0 to 2.8.1 227 2. misc. 228 * Add TeamCity output format 229 * Consider path prefix when matching path patterns 230 * Add Go version to version information 231 3. Documentation 232 * Add Tekton in Trusted By page 233 * Clarify that custom linters are not enabled by default 234 * Remove description for deprecated "go" option 235 236 ### v1.51.2 237 238 1. updated linters 239 * `forbidigo`: from 1.3.0 to 1.4.0 240 * `gci`: from 0.9.0 to 0.9.1 241 * `go-critic`: from 0.6.5 to 0.6.7 242 * `go-errorlint`: from 1.0.6 to 1.1.0 243 * `gosec`: from 2.14.0 to 2.15.0 244 * `musttag`: from 0.4.4 to 0.4.5 245 * `staticcheck`: from 0.4.0 to 0.4.2 246 * `tools`: from 0.5.0 to 0.6.0 247 * `usestdlibvars`: from 1.21.1 to 1.23.0 248 * `wsl`: from 3.3.0 to 3.4.0 249 * `govet`: enable `timeformat` by default 250 2. misc. 251 * fix: cache status size calculation 252 * add new source archive 253 3. Documentation 254 * Improve installation section 255 * Replace links to godoc.org with pkg.go.dev 256 257 ### v1.51.1 258 259 1. updated linters 260 * `ginkgolinter`: from 0.7.1 to 0.8.1 261 * `ineffassign`: bump to HEAD 262 * `musttag`: from 0.4.3 to 0.4.4 263 * `sqlclosecheck`: from 0.3.0 to 0.4.0 264 * `staticcheck`: bump to v0.4.0 265 * `wastedassign`: from 2.0.6 to 2.0.7 266 * `wrapcheck`: from 2.7.0 to 2.8.0 267 268 ### v1.51.0 269 270 1. new linters 271 * `ginkgolinter`: https://github.com/nunnatsa/ginkgolinter 272 * `musttag`: https://github.com/tmzane/musttag 273 * `gocheckcompilerdirectives`: https://github.com/leighmcculloch/gocheckcompilerdirectives 274 2. updated linters 275 * `bodyclose`: to HEAD 276 * `dupword`: from 0.0.7 to 0.0.9 277 * `errcheck`: from 1.6.2 to 1.6.3 278 * `exhaustive`: from 0.8.3 to 0.9.5 279 * `exportloopref`: from 0.1.8 to 0.1.11 280 * `gci`: from 0.8.1 to 0.9.0 281 * `ginkgolinter`: from 0.6.0 to 0.7.1 282 * `go-errorlint`: from 1.0.5 to 1.0.6 283 * `go-ruleguard`: from 0.3.21 to 0.3.22 284 * `gocheckcompilerdirectives`: from 1.1.0 to 1.2.1 285 * `gochecknoglobals`: from 0.1.0 to 0.2.1 286 * `gomodguard`: from 1.2.4 to 1.3.0 287 * `gosec`: from 2.13.1 to 2.14.0 288 * `govet`: Add `timeformat` to analysers 289 * `grouper`: from 1.1.0 to 1.1.1 290 * `musttag`: from 0.4.1 to 0.4.3 291 * `revive`: from 1.2.4 to 1.2.5 292 * `tagliatelle`: from 0.3.1 to 0.4.0 293 * `tenv`: from 1.7.0 to 1.7.1 294 * `unparam`: bump to HEAD 295 * `usestdlibvars`: from 1.20.0 to 1.21.1 296 * `wsl`: fix `force-err-cuddling` flag 297 3. misc. 298 * go1.20 support 299 * remove deprecated linters from presets 300 * Build NetBSD binaries 301 * Build loong64 binaries 302 4. Documentation 303 * `goimport`: improve documentation for local-prefixes 304 * `gomnd`: add missing always ignored functions 305 * `nolint`: fix typo 306 * `tagliatelle` usage typo 307 * add note about binary requirement for plugin 308 * cache preserving and colored output on docker runs 309 * improve documentation about debugging. 310 * improve Editor Integration section 311 * More specific default cache directory 312 * update output example to use valid checkstyle example; add json example 313 314 ### v1.50.1 315 316 1. updated linters 317 * `contextcheck`: from 1.1.2 to 1.1.3 318 * `go-mnd`: from 2.5.0 to 2.5.1 319 * `wrapcheck`: from 2.6.2 to 2.7.0 320 * `revive`: fix configuration parsing 321 * `lll`: skip imports 322 2. misc. 323 * windows: remove redundant character escape '\/' 324 * code-climate: add default severity 325 326 ### v1.50.0 327 328 1. new linters 329 * `dupword`: https://github.com/Abirdcfly/dupword 330 * `testableexamples`: https://github.com/maratori/testableexamples 331 2. updated linters 332 * `contextcheck`: change owner 333 * `contextcheck`: from 1.0.6 to 1.1.2 334 * `depguard`: from 1.1.0 to 1.1.1 335 * `exhaustive`: add missing config 336 * `exhaustive`: from 0.8.1 to 0.8.3 337 * `gci`: from 0.6.3 to 0.8.0 338 * `go-critic`: from 0.6.4 to 0.6.5 339 * `go-errorlint`: from 1.0.2 to 1.0.5 340 * `go-reassign`: v0.1.2 to v0.2.0 341 * `gofmt`: add option `rewrite-rules` 342 * `gofumpt` from 0.3.1 to 0.4.0 343 * `goimports`: update to HEAD 344 * `interfacebloat`: fix configuration loading 345 * `logrlint`: rename `logrlint` to `loggercheck` 346 * `paralleltest`: add tests of the ignore-missing option 347 * `revive`: from 1.2.3 to 1.2.4 348 * `usestdlibvars`: from 1.13.0 to 1.20.0 349 * `wsl`: support all configs and update docs 350 3. misc. 351 * Normalize `exclude-rules` paths for Windows 352 * add riscv64 to the install script 353 4. Documentation 354 * cli: remove reference to old service 355 356 ### v1.49.0 357 358 IMPORTANT: `varcheck` and `deadcode` has been removed of default linters. 359 360 1. new linters 361 * `interfacebloat`: https://github.com/sashamelentyev/interfacebloat 362 * `logrlint`: https://github.com/timonwong/logrlint 363 * `reassign`: https://github.com/curioswitch/go-reassign 364 2. updated linters 365 * `go-colorable`: from 0.1.12 to 0.1.13 366 * `go-critic`: from 0.6.3 to 0.6.4 367 * `go-errorlint`: from 1.0.0 to 1.0.2 368 * `go-exhaustruct`: from 2.2.2 to 2.3.0 369 * `gopsutil`: from 3.22.6 to 3.22.7 370 * `gosec`: from 2.12.0 to 2.13.1 371 * `revive`: from 1.2.1 to 1.2.3 372 * `usestdlibvars`: from 1.8.0 to 1.13.0 373 * `contextcheck`: from v1.0.4 to v1.0.6 && re-enable 374 * `nosnakecase`: This linter is deprecated. 375 * `varcheck`: This linter is deprecated use `unused` instead. 376 * `deadcode`: This linter is deprecated use `unused` instead. 377 * `structcheck`: This linter is deprecated use `unused` instead. 378 3. documentation 379 * `revive`: fix wrong URL 380 * Add a section about default exclusions 381 * `usestdlibvars`: fix typo in documentation 382 * `nolintlint`: remove allow-leading-space option 383 * Update documentation and assets 384 4. misc. 385 * dev: rewrite the internal tests framework 386 * fix: exit early on run --version 387 * fix: set an explicit `GOROOT` in the Docker image for `go-critic` 388 389 ### v1.48.0 390 391 1. new linters 392 * `usestdlibvars`:https://github.com/sashamelentyev/usestdlibvars 393 2. updated linters 394 * `contextcheck`: disable linter 395 * `errcheck`: from 1.6.1 to 1.6.2 396 * `gci`: add missing `custom-order` setting 397 * `gci`: from 0.5.0 to 0.6.0 398 * `ifshort`: deprecate linter 399 * `nolint`: drop allow-leading-space option and add "nolint:all" 400 * `revgrep`: bump to HEAD 401 3. documentation 402 * remove outdated info on source install 403 4. misc 404 * go1.19 support 405 406 ### v1.47.3 407 408 1. updated linters: 409 * remove some go1.18 limitations 410 * `asasalint`: from 0.0.10 to 0.0.11 411 * `decorder`: from 0.2.2 to v0.2.3 412 * `gci`: fix panic with invalid configuration option 413 * `gci`: from 0.4.3 to v0.5.0 414 * `go-exhaustruct`: from 2.2.0 to 2.2.2 415 * `gomodguard`: from 1.2.3 to 1.2.4 416 * `nosnakecase`: from 1.5.0 to 1.7.0 417 * `honnef.co/go/tools`: from 0.3.2 to v0.3.3 418 2. misc 419 * cgo: fix linters ignoring CGo files 420 421 ### v1.47.2 422 423 1. updated linters: 424 * `revive`: ignore slow rules 425 426 ### v1.47.1 427 428 1. updated linters: 429 * `gci`: from 0.4.2 to 0.4.3 430 * `gci`: remove the use of stdin 431 * `gci`: fix options display 432 * `tenv`: from 1.6.0 to 1.7.0 433 * `unparam`: bump to HEAD 434 435 ### v1.47.0 436 437 1. new linters: 438 * `asasalint`: https://github.com/alingse/asasalint 439 * `nosnakecase`: https://github.com/sivchari/nosnakecase 440 2. updated linters: 441 * `decorder`: from 0.2.1 to 0.2.2 442 * `errcheck`: from 1.6.0 to 1.6.1 443 * `errname`: from 0.1.6 to 0.1.7 444 * `exhaustive`: from 0.7.11 to 0.8.1 445 * `gci`: fix issues and re-enable autofix 446 * `gci`: from 0.3.4 to 0.4.2 447 * `go-exhaustruct`: from 2.1.0 to 2.2.0 448 * `go-ruleguard`: from 0.3.19 to 0.3.21 449 * `gocognit`: from 1.0.5 to 1.0.6 450 * `gocyclo`: from 0.5.1 to 0.6.0 451 * `golang.org/x/tools`: bump to HEAD 452 * `gosec`: allow `global` config 453 * `gosec`: from 2.11.0 to 2.12.0 454 * `nonamedreturns`: from 1.0.1 to 1.0.4 455 * `paralleltest`: from 1.0.3 to 1.0.6 456 * `staticcheck`: fix generics 457 * `staticcheck`: from 0.3.1 to 0.3.2 458 * `tenv`: from 1.5.0 to 1.6.0 459 * `testpackage`: from 1.0.1 to 1.1.0 460 * `thelper`: from 0.6.2 to 0.6.3 461 * `wrapcheck`: from 2.6.1 to 2.6.2 462 3. documentation: 463 * add thanks page 464 * add a clear explanation about the `staticcheck` integration. 465 * `depguard`: add `ignore-file-rules` 466 * `depguard`: adjust phrasing 467 * `gocritic`: add `enable` and `disable` ruleguard settings 468 * `gomnd`: fix typo 469 * `gosec`: add configs for all existing rules 470 * `govet`: add settings for `shadow` and `unusedresult` 471 * `thelper`: add `fuzz` config and description 472 * linters: add defaults 473 474 ### v1.46.2 475 476 1. updated linters: 477 * `execinquery`: bump from v1.2.0 to v1.2.1 478 * `errorlint`: bump to v1.0.0 479 * `thelper`: allow to disable one option 480 2. documentation: 481 * rename `.golangci.example.yml` to `.golangci.reference.yml` 482 * add `containedctx` linter to the list of available linters 483 484 ### v1.46.1 485 486 1. updated linters: 487 * `execinquery`: bump from v0.6.0 to v0.6.1 488 2. documentation: 489 * add missing linters 490 491 ### v1.46.0 492 493 1. new linters: 494 * `execinquery`: https://github.com/lufeee/execinquery 495 * `nonamedreturns`: https://github.com/firefart/nonamedreturns 496 * `nosprintfhostport`: https://github.com/stbenjam/no-sprintf-host-port 497 * `exhaustruct`: https://github.com/GaijinEntertainment/go-exhaustruct 498 2. updated linters: 499 * `bidichk`: from 0.2.2 to 0.2.3 500 * `deadcode`: bump to HEAD 501 * `errchkjson`: from 0.2.3 to 0.3.0 502 * `errname`: from 0.1.5 to 0.1.6 503 * `go-critic`: from 0.6.2 to 0.6.3 504 * `gocyclo`: from 0.4.0 to 0.5.1 505 * `gofumpt` from 0.3.0 to 0.3.1 506 * `gomoddirectives`: from 0.2.2 to 0.2.3 507 * `gosec`: from 2.10.0 to 2.11.0 508 * `honnef.co/go/tools`: from 0.2.2to 0.3.1 (go1.18 support) 509 * `nilnil`: from 0.1.0 to 0.1.1 510 * `nonamedreturns`: bump from 1.0.0 to 1.0.1 511 * `predeclared`: from 0.2.1 to 0.2.2 512 * `promlinter`: bump to v0.2.0 513 * `revive`: from 1.1.4 to 1.2.1 514 * `tenv`: from 1.4.7 to 1.5.0 515 * `thelper`: from 0.5.1 to 0.6.2 516 * `unused`: fix false-positive 517 * `varnamelen`: bump to v0.8.0 518 * `wrapcheck`: from 2.5.0 to 2.6.1 519 * `exhaustivestruct`: This linter is deprecated use `exhaustruct` instead. 520 3. documentation: 521 * Update "Shell Completion" instruction on Linux 522 * Update FAQ page 523 4. misc: 524 * log: enable override coloring based on `CLICOLOR` and `CLICOLOR_FORCE` 525 526 ### v1.45.2 527 528 1. misc: 529 * fix: help command 530 531 ### v1.45.1 532 533 1. updated linters: 534 * `interfacer`: inactivate with go1.18 535 * `govet`: inactivate unsupported analyzers (go1.18) 536 * `depguard`: reduce requirements 537 * `structcheck`: inactivate with go1.18 538 * `varnamelen`: bump from v0.6.0 to v0.6.1 539 2. misc: 540 * Automatic Go version detection 🎉 (go1.18) 541 * docker: update base images (go1.18) 542 543 ### v1.45.0 544 545 1. updated linters: 546 * `cobra`: from 1.3.0 to 1.4.0 547 * `containedctx`: from 1.0.1 to 1.0.2 548 * `errcheck`: add an option to remove default exclusions 549 * `gci`: from 0.3.1 to 0.3.2 550 * `go-header`: from 0.4.2 to 0.4.3 551 * `gofumpt`: add module-path setting 552 * `gofumpt`: from 0.2.1 to 0.3.0 553 * `gopsutil`: from 3.22.1 to 3.22.2 554 * `gosec`: from 2.9.6 to 2.10.0 555 * `makezero`: from 1.1.0 to 1.1.1 556 * `revive`: fix default values 557 * `wrapcheck`: from 2.4.0 to 2.5.0 558 2. documentation: 559 * docs: add "back to the top" button 560 * docs: add `forbidigo` example that uses comments 561 * docs: improve linters page 562 3. misc: 563 * go1.18 support 🎉 564 * Add an option to manage the targeted version of Go 565 * Default to YAML when config file has no extension 566 567 ### v1.44.2 568 569 1. updated linters: 570 * `gci`: bump to HEAD 571 * `gci`: restore defaults for sections 572 * `whitespace`: from 0.0.4 to 0.0.5 573 2. documentation: 574 * add link to configuration in the linters list 575 576 ### v1.44.1 577 578 1. updated linters: 579 * `bidichk`: from 0.2.1 to 0.2.2 580 * `errchkjson`: from 0.2.1 to 0.2.3 581 * `thelper`: from 0.5.0 to 0.5.1 582 * `tagliatelle`: from 0.3.0 to 0.3.1 583 * `gopsutil`: from 3.21.12 to 3.22.1 584 * `gci`: from 0.2.9 to 0.3.0 585 * `revive`: from v1.1.3 to v1.1.4 586 * `varnamelen`: from v0.5.0 to v0.6.0 587 2. documentation: 588 * linters: improve configuration pages 589 * `decorder`: fix `disable-init-func-first-check: false` elaboration 590 3. misc: 591 * fix debug output 592 593 ### v1.44.0 594 595 1. new linters: 596 * `containedctx`: https://github.com/sivchari/containedctx 597 * `decorder`: https://gitlab.com/bosi/decorder 598 * `errchkjson`: https://github.com/breml/errchkjson 599 * `maintidx`: https://github.com/yagipy/maintidx 600 * `grouper`: https://github.com/leonklingele/grouper 601 2. updated linters: 602 * `asciicheck`: bump to v0.1.1 603 * `bidichk`: from 0.1.1 to 0.2.1 604 * `bodyclose`: bump to HEAD 605 * `decorder`: from 0.2.0 to 0.2.1 606 * `depguard`: from 1.0.1 to 1.1.0 607 * `errchkjson`: from 0.2.0 to 0.2.1 608 * `errorlint`: bump to HEAD 609 * `exhaustive`: drop deprecated/unused settings 610 * `exhaustive`: from v0.2.3 to 0.7.11 611 * `forbidigo`: from 1.2.0 to 1.3.0 612 * `forcetypeassert`: bump to v0.1.0 613 * `gocritic`: from 0.6.1 to 0.6.2 614 * `gocritic`: support autofix 615 * `gocyclo`: from 0.3.1 to 0.4.0 616 * `godot`: add period option 617 * `gofumpt`: from 0.1.1 to 0.2.1 618 * `gomnd`: from 2.4.0 to 2.5.0 619 * `gomnd`: new configuration 620 * `gosec`: from 2.9.1 to 2.9.6 621 * `ifshort`: from 1.0.3 to 1.0.4 622 * `ineffassign`: bump to HEAD 623 * `makezero`: to v1.1.0 624 * `promlinter`: from v0.1.0 to HEAD 625 * `revive`: fix `enableAllRules` 626 * `revive`: from 1.1.2 to 1.1.3 627 * `staticcheck`: from 0.2.1 to 0.2.2 628 * `tagliatelle`: from 0.2.0 to 0.3.0 629 * `thelper`: from 0.4.0 to 0.5.0 630 * `unparam`: bump to HEAD 631 * `varnamelen`: bump to v0.5.0 632 * `wrapcheck`: update configuration to include `ignoreSignRegexps` 633 3. documentation: 634 * linters: improve pages about configuration 635 * improve page about false-positive 636 * `nolintlint`: fix wrong default value in comment 637 * `revive`: add a more detailed configuration 638 4. misc: 639 * outputs: Add support for multiple outputs 640 * outputs: Print error text in `<failure>` tag content for more readable JUnit output 641 * outputs: ensure that the Issues key in JSON format is a list 642 * Return error if any linter fails to run 643 * cli: Show deprecated mark in the CLI linters help 644 645 ### November 2021 646 647 1. new linters: 648 * `bidichk`: https://github.com/breml/bidichk 649 2. update linters: 650 * `nestif`: from 0.3.0 to 0.3.1 651 * `rowserrcheck`: from 1.1.0 to 1.1.1 652 * `gopsutil`: from 3.21.9 to 3.21.10 653 * `wrapcheck`: from 2.3.1 to 2.4.0 654 * `gocritic`: add support for variable substitution in `ruleguard` path settings 655 3. documentation: 656 * improve `go-critic` documentation 657 * improve `nolintlint` documentation 658 4. Misc: 659 * cli: don't hide `enable-all` option 660 661 ### october 2021 662 663 1. new linters: 664 * `contextcheck`: https://github.com/kkHAIKE/contextcheck 665 * `varnamelen`: https://github.com/blizzy78/varnamelen 666 2. update linters: 667 * `gochecknoglobals`: to v0.1.0 668 * `gosec`: filter issues according to the severity and confidence 669 * `errcheck`: empty selector name. 670 * `ifshort`: from 1.0.2 to 1.0.3 671 * `go-critic`: from 0.5.6 to 0.6.0 672 * `gosec`: from 2.8.1 to 2.9.1 673 * `durationcheck`: from 0.0.8 to 0.0.9 674 * `wrapcheck`: from 2.3.0 to 2.3.1 675 * `revive`: from 1.1.1 to 1.1.2 676 677 ### September 2021 678 679 1. new linters: 680 * `ireturn`: https://github.com/butuzov/ireturn 681 * `nilnil`: https://github.com/Antonboom/nilnil 682 * `tenv`: https://github.com/sivchari/tenv 683 2. update linters: 684 * `errcheck`: update to HEAD 685 * `errname`: from 0.1.4 to 0.1.5 686 * `gci`: Parse the settings more similarly to the CLI 687 * `godot`: from 1.4.9 to 1.4.11 688 * `ireturn`: from 0.1.0 to 0.1.1 689 * `nlreturn`: add block-size option 690 * `paralleltest`: from 1.0.2 to 1.0.3 691 3. Misc: 692 * new-from-rev: add support for finding issues in entire files in a diff 693 694 ### August 2021 695 696 1. new linters: 697 * `errname`: https://github.com/Antonboom/errname 698 2. update linters: 699 * `errname`: from 0.1.3 to 0.1.4 700 * `go-critic`: fix invalid type conversions. 701 * `godot`: from 1.4.8 to 1.4.9 702 * `gomodguard`: from 1.2.2 to 1.2.3 703 * `revive`: from 1.0.9 to 1.1.1 704 * `staticcheck`: bump to 2021.1.1 (v0.2.1) 705 * `wrapcheck`: bump to v2.3.0 706 3. Misc: 707 * build binaries and Docker images with go1.17 708 709 ### July 2021 710 711 1. update linters: 712 * `errcheck`: allow exclude config without extra file 713 * `exhaustive`: from 0.1.0 to 0.2.3 714 * `gocognit`: from 1.0.1 to 1.0.5 715 * `godot`: from 1.4.7 to 1.4.8 716 * `gomoddirectives`: from 0.2.1 to 0.2.2 717 * `revive`: from 1.0.8 to 1.0.9 718 2. documentation: 719 * improve `goconst` documentation 720 * improve `goimports` description 721 722 ### June 2021 723 724 1. update linters: 725 * `durationcheck`: from 0.0.7 to 0.0.8 726 * `gci`: from 0.2.8 to 0.2.9 727 * `goconst`: from 0.5.6 to 0.5.7 728 * `gofumpt`: Add lang-version option 729 * `gomodguard`: from 1.2.1 to 1.2.2 730 * `gosec`: from 2.8.0 to 2.8.1 731 * `revive`: add enable-all-rules. 732 * `revive`: allow to disable rule 733 * `revive`: fix exclude comment rule for const block 734 * `revive`: from 1.0.7 to 1.0.8 735 * `wrapcheck`: from 2.1.0 to 2.2.0 736 2. documentation: 737 * add all integrations to docs introduction page 738 3. Misc: 739 * 🎉 Un-deprecate enable-all option 740 * output: generate HTML report 741 * Support RISV64 742 743 ### May 2021 744 745 1. new linters: 746 * `tagliatelle`: https://github.com/ldez/tagliatelle 747 * `promlinter`: https://github.com/yeya24/promlinter 748 2. update linters: 749 * `durationcheck`: from 0.0.6 to 0.0.7 750 * `errorlint`: bump to HEAD 751 * `forbidigo`: from 1.1.0 to 1.2.0 752 * `go-critic`: from 0.5.5 to 0.5.6 753 * `godot`: from 1.4.6 to 1.4.7 754 * ⚠`golint`: deprecated 755 * `gomnd`: from 2.3.2 to 2.4.0 756 * `gomodguard`: fix problem where duplicate issues were reported 757 * `gosec`: from 2.7.0 to 2.8.0 758 * `govet`: fix `sigchanyzer` 759 * `govet`: Update vet passes 760 * `importas`: allow repeated aliases 761 * `importas`: bump to HEAD 762 * `makezero`: bump to HEAD 763 * `nolintlint`: fix false positive 764 * `revive`: convert hard coded excludes into default exclude patterns 765 * `revive`: fix add-constant rule support 766 * `revive`: fix excludes 767 * `revive`: from 1.0.6 to 1.0.7 768 * `revive`: improve 'exported' rule output 769 * `rowserrcheck`: bump to v1.1.0 770 * `staticcheck`: configuration for `staticcheck`, `gosimple`, `stylecheck` 771 * `staticcheck`: from 0.1.3 to 0.1.4 772 * `staticcheck`: from v0.1.4 to v0.2.0 773 * `wastedassign`: from 0.2.0 to 1.0.0 774 * `wastedassign`: from 1.0.0 to v2.0.6 775 * `wrapcheck`: from 1.2.0 to 2.1.0 776 3. documentation: 777 * improve linters page 778 * `exhaustivestruct` example explanation 779 * fix pattern of `forbidigo` in example config yaml 780 * bump documentation dependencies 781 * fix typos 782 4. Misc: 783 * set the minimum Go version to go1.15 784 * non-zero exit code when a linter produces a panic 785 786 ### April 2021 787 788 1. new linters: 789 * `tagliatelle`: https://github.com/ldez/tagliatelle 790 * `promlinter`: https://github.com/yeya24/promlinter 791 2. update linters: 792 * `godot`: from 1.4.4 to 1.4.6 793 * `wrapcheck`: from 1.0.0 to 1.2.0 794 * `go-mnd`: from 2.3.1 to 2.3.2 795 * `wsl`: from 3.2.0 to 3.3.0 796 * `revive`: from 1.0.5 to 1.0.6 797 * `importas`: bump to HEAD 798 * `staticcheck`: configurable Go version 799 * `gosec`: add configuration 800 * `typecheck`: improve error stack parsing 801 3. documentation: 802 * bump documentation dependencies 803 * fix typos 804 4. Misc: 805 * fix: comma in exclude pattern leads to unexpected results 806 807 ### March 2021 808 809 1. new linters: 810 * `gomoddirectives`: https://github.com/ldez/gomoddirectives 811 2. update linters: 812 * `go-critic`: from 0.5.4 to 0.5.5 813 * `gofumpt`: from v0.1.0 to v0.1.1 814 * `gosec`: from 2.6.1 to 2.7.0 815 * `ifshort`: bump to v1.0.2 816 * `importas`: bump to HEAD 817 * `makezero`: bump to HEAD 818 * `nolintlint`: allow to fix //nolint lines 819 * `revive`: from 1.0.3 to 1.0.5 820 * `revive`: the default configuration is only applied when no dedicated configuration 821 * `rowserrcheck`: bump to HEAD 822 * ⚠`scopelint`: deprecated 823 * `staticcheck`: from v0.1.2 (2020.2.2) to v0.1.3 (2020.2.3) 824 * 🎉 `typecheck`: display compilation errors as report instead of error 825 * `wastedassign`: bump to v0.2.0 826 * `wrapcheck`: bump to v1.0.0 827 3. documentation: 828 * improve [linters page](https://golangci-lint.run/usage/linters/) (versions, deprecation, and presets) 829 * add [cache directory](https://golangci-lint.run/usage/configuration/#cache) information 830 * adding missing format options 831 * fix typos 832 4. Misc: 833 * Set `version` command output to Stdout 834 * fix linters load mode 835 * Restore fast linters meaning 836 837 ### February 2021 838 839 1. new linters: 840 * `durationcheck`: https://github.com/charithe/durationcheck 841 * `revive`: https://github.com/mgechev/revive 842 * `cyclop`: https://github.com/bkielbasa/cyclop 843 * `wastedassign`: https://github.com/sanposhiho/wastedassign 844 * `importas`: https://github.com/julz/importas 845 * `nilerr`: https://github.com/gostaticanalysis/nilerr 846 * `forcetypeassert`: https://github.com/gostaticanalysis/forcetypeassert 847 * `govet`: add `stringintconv` and `ifaceassert` 848 2. update linters: 849 * `prealloc`: Use upstream version 850 * `errcheck`: Use upstream version 851 * `ineffassign`: Use upstream version 852 * `gocyclo`: Use upstream version 853 * `godot` from 1.3.2 to 1.4.3 854 * `exhaustivestruct` from 1.1.0 to 1.2.0 855 * `forbidigo` from 1.0.0 to 1.1.0 856 * `thelper` from 0.2.1 to 0.3.1 857 * `ruleguard`: print error message and exit with non-zero status when parsing error occurs 858 * fix wrong load mode for `asciicheck`, `exhaustivestruct`, `exportloopref`, and `makezero` 859 * `wsl`: bump to v3.2.0 860 * `durationcheck`: from 0.0.4 to 0.0.6 861 * `staticcheck`: from 2020.1.6 to v0.1.2 (2020.2.2) 862 * `thelper` from 0.3.1 to 0.4.0 863 * `bodyclose`: bump to HEAD 864 * `go-err113`: bump to HEAD 865 * ⚠`interfacer`: deprecated 866 * ⚠`maligned`: deprecated (govet `fieldalignment` as replacement) 867 * `govet`: use same default linter as go vet 868 * `go-printf-func-name`: to `v0.0.0-20200119135958-7558a9eaa5af` 869 * `godox`: to `v0.0.0-20210227103229-6504466cf951` 870 * `asciicheck`: to `v0.0.0-20200416200610-e657995f937b` 871 * `wrapcheck`: to `v0.0.0-20201130113247-1683564d9756` 872 * `unparam`: to `v0.0.0-20210104141923-aac4ce9116a7` 873 3. CLI: truncate multiline descriptions 874 4. fix: new-from-rev for a large repository 875 5. Support RelatedInformation for analysis Diagnostic 876 6. use go1.16 to create binaries 877 7. fix: MIPS release 878 8. documentation: 879 * bump documentation dependencies 880 * fix `go-header` usage 881 * improve `gocritic` description 882 * update deprecated hyperlink for Sublime Text plugin 883 * add docs on using homebrew tap 884 885 ### January 2021 886 887 1. new linters: 888 * `predeclared`: https://github.com/nishanths/predeclared 889 * `ifshort`: https://github.com/esimonov/ifshort 890 2. update linters: 891 * `go-critic` from 0.5.2 to 0.5.3 892 * `thelper` from 0.1.0 to 0.2.1 893 * Validate `go-critic` settings 894 * `gofumpt` to v0.1.0 895 * `gci` to v0.2.8 896 * `go-mnd` to v2.3.1 897 * `gosec` from 2.5.0 to 2.6.1 898 * `godot` from 1.3.2 to 1.4.3 899 * `ifshort` to v1.0.1 900 * `rowserrcheck`: fix reports false positive 901 3. fix: modules-download-mode support 902 4. documentation: 903 * bump documentation dependencies 904 905 ### December 2020 906 907 1. new linters: 908 * `forbidigo`: https://github.com/ashanbrown/forbidigo 909 * `makezero`: https://github.com/ashanbrown/makezero 910 * `thelper`: https://github.com/kulti/thelper 911 2. update linters: 912 * `go-header` from v0.3.1 to v0.4.2 913 * `go-mnd` from v2.0.0 to v2.2.0 914 * `godot` from v1.3.0 to v1.3.2 915 * `gci` from v0.2.4 to v0.2.7 916 * `gomodguard` from v1.1.0 to v1.2.0 917 * `go-errorlint` from v0.0.0-20201006195004-351e25ade6e3 to v0.0.0-20201127212506-19bd8db6546f 918 * `gofumpt` from v0.0.0-20200802201014-ab5a8192947d to v0.0.0-20201129102820-5c11c50e9475 919 * `nolintlint` fix comment analysis. (#1571) 920 3. result/processors: treat all non-Go source as special autogenerated files 921 4. throw an error on panic. (#1540) 922 5. resolve custom linters' path relative to config file directory (#1572) 923 6. treat all non-Go source as special autogenerated files 924 7. documentation: 925 * add settings examples for `gocritic` (#1562) 926 * removing reference to no-longer-existing linter-in-the-cloud (#1553) 927 8. others: 928 * bump `gopkg.in/yaml.v2` from 2.3.0 to 2.4.0 (#1528) 929 * bump `gatsby-remark-responsive-iframe` in /docs (#1533) 930 * bump `gatsby-remark-images` from 3.3.29 to 3.6.0 in /docs (#1531) 931 * bump `ini` from 1.3.5 to 1.3.8 in /tools (#1560) 932 * bump `react-headroom` from 3.0.0 to 3.0.1 in /docs (#1532) 933 * bump `react-live` from 2.2.2 to 2.2.3 in /docs (#1534) 934 * bump `react` from 16.13.1 to 16.14.0 in /docs (#1481) 935 * Fix `forbidigo` linter name in reports (#1590) 936 937 ### November 2020 938 939 1. new linters: 940 * `paralleltest`: https://github.com/kunwardeep/paralleltest 941 2. update linters: 942 * `godot` from v0.4.9 to v1.3.0 943 * `exportloopref` from v0.1.7 to v0.1.8 944 * `gosec` from 2.4.0 to 2.5.0 945 * `goconst` using upstream https://github.com/jgautheron/goconst 946 3. `DefaultExcludePatterns` should only be used for specified linter (#1494) 947 4. unknown linter breaks //nolint (#1497) 948 5. report all unknown linters at once (#1477) 949 6. CI: 950 * fix Docker tag for Alpine build 951 7. documentation: 952 * missing sort-results in the docs (#1514) 953 * add description of Homebrew's official formula (#1421) 954 8. others: 955 * bump `golang.org/x/text` to v0.3.4 (#1293) 956 * bump `github.com/fatih/color` to from 1.9.0 to 1.10.0 (#1485) 957 * bump `lodash` from 4.17.15 to 4.17.19 in /.github/peril (#1252) 958 * bump `polished` from 3.6.6 to 4.0.3 in /docs (#1482) 959 * bump `gatsby-alias-imports` from 1.0.4 to 1.0.6 in /docs (#1479) 960 * bump `puppeteer` from 5.3.1 to 5.4.1 in /docs (#1480) 961 * bump `gatsby-remark-embedder` from 3.0.0 to 4.0.0 in /docs (#1478) 962 963 ### October 2020 964 965 1. new linters: 966 * `exhaustivestruct`: https://github.com/mbilski/exhaustivestruct 967 * `go-errorlint`: https://github.com/polyfloyd/go-errorlint 968 * `tparallel`: https://github.com/moricho/tparallel 969 * `wrapcheck`: https://github.com/tomarrell/wrapcheck 970 2. update linters: 971 * `honnef.co/go/tools` from 2020.1.5 to 2020.1.6 972 * `exhaustivestruct` from v1.0.1 to v1.1.0 973 * `exhaustive` to v0.1.0 974 * `gochecknoglobals`: use https://github.com/leighmcculloch/gochecknoglobals 975 3. add support for powershell completion (#1408) 976 4. add `.golangci.yaml` to list of configuration files searched on startup (#1364) 977 5. support for only specifying default severity (#1396) 978 6. documentation: 979 * mention macports installation procedure on macOS (#1352) 980 * sort linters (#1451) 981 7. CI: 982 * add codeQL scanning (#1405) 983 * fix version details in Docker image (#1471) 984 * releasing docker image for arm64 (#1383) 985 * change interval for npm to monthly (#1424) 986 8. others: 987 * use tag version for cobra (#1458) 988 * bump `nancy` to 1.0.1 (#1410) 989 * bump `gatsby-plugin-catch-links` in /docs (#1415) 990 * bump `gatsby-plugin-mdx` from 1.2.40 to 1.2.43 in /docs (#1419) 991 * bump `gatsby-plugin-sharp` from 2.6.31 to 2.6.40 in /docs (#1423) 992 * bump `gatsby-plugin-sitemap` from 2.4.12 to 2.4.14 in /docs (#1417) 993 * bump `github.com/mattn/go-colorable` from 0.1.7 to 0.1.8 (#1413) 994 * bump `github.com/sirupsen/logrus` from 1.6.0 to 1.7.0 (#1412) 995 * bump `github.com/sourcegraph/go-diff` from 0.6.0 to 0.6.1 (#1414) 996 * bump `golangci/golangci-lint-action` from v2 to v2.3.0 (#1447) (#1469) 997 * bump `puppeteer` from 3.3.0 to 5.3.1 in /docs (#1418) 998 999 ### September 2020 1000 1001 1. update linters: 1002 * `godot` from 0.4.8 to 0.4.9 1003 * `exhaustive` from v0.0.0-20200708172631-8866003e3856 to v0.0.0-20200811152831-6cf413ae40e0 1004 * `gofumpt` from v0.0.0-20200709182408-4fd085cb6d5f to v0.0.0-20200802201014-ab5a8192947d 1005 2. add support for fish completion (#1201) 1006 3. documentation: 1007 * fix typo in performance docs (#1350) 1008 4. CI: 1009 * prevent macos to be marked as passing upon failure (#1381) 1010 * check only for go.mod file (#1397) 1011 * check if go.mod and go.sum are up to dated (#1377) 1012 * trigger Netlify (#1358) 1013 5. others: 1014 * bump `github.com/sourcegraph/go-diff` from 0.5.3 to 0.6.0 (#1353) 1015 * bump `github.com/valyala/quicktemplate` from 1.6.2 to 1.6.3 (#1385) 1016 * ignore known dependency failure in nancy (#1378) 1017 * bump `@mdx-js/mdx` from 1.6.16 to 1.6.18 in /docs (#1401) 1018 * bump `gatsby` from 2.24.52 to 2.24.65 in /docs (#1400) 1019 * bump `gatsby-plugin-canonical-urls` in /docs (#1390) 1020 * bump `gatsby-plugin-google-analytics` in /docs (#1388) 1021 * bump `gatsby-plugin-manifest` from 2.4.23 to 2.4.27 in /docs (#1355) 1022 * bump `gatsby-plugin-mdx` from 1.2.35 to 1.2.40 in /docs (#1386) 1023 * bump `gatsby-plugin-offline` from 3.2.23 to 3.2.27 in /docs (#1368) 1024 * bump `gatsby-plugin-sharp` from 2.6.25 to 2.6.31 in /docs (#1354) 1025 * bump `gatsby-plugin-sitemap` from 2.4.11 to 2.4.12 in /docs (#1344) 1026 * bump `gatsby-remark-autolink-headers` in /docs (#1387) 1027 * bump `gatsby-remark-images` from 3.3.25 to 3.3.28 in /docs (#1345) 1028 * bump `gatsby-remark-images` from 3.3.28 to 3.3.29 in /docs (#1365) 1029 * bump `gatsby-remark-mermaid` from 2.0.0 to 2.1.0 in /docs (#1369) 1030 * bump `gatsby-source-filesystem` in /docs (#1366) 1031 * bump `gatsby-source-filesystem` in /docs (#1389) 1032 * bump `gatsby-transformer-sharp` in /docs (#1402) 1033 * bump `gatsby-transformer-yaml` from 2.4.10 to 2.4.11 in /docs (#1367) 1034 * bump `node-fetch` in /.github/contributors (#1363) 1035 * bump `polished` from 3.6.5 to 3.6.6 in /docs (#1347) 1036 1037 ### August 2020 1038 1039 1. new `nlreturn` linter: https://github.com/ssgreg/nlreturn 1040 2. new `gci` linter: https://github.com/daixiang0/gci 1041 3. support `latest` version of golangci-lint in golangci-lint-action 1042 4. update `gosec` linter from 2.3.0 to 2.4.0 1043 5. update `godot` linter from 0.4.2 to 0.4.8 1044 6. update `go-critic` from 0.5.0 to 0.5.2 (#1307) 1045 7. update `nlreturn` from 2.0.1 to 2.0.2 (#1287), 2.0.2 to 2.1.0 (#1327) 1046 8. update `gci` to v0.2.1 (#1292), to v0.2.2 (#1305), to v0.2.4 (#1337), 1047 9. update `funlen` from 0.0.2 to 0.0.3 (#1341) 1048 10. upgrade to golang 1.15 for smaller binary (#1303) 1049 11. support short and json formats for version cmd (#1315) 1050 12. add home directory to config file search paths (#1325) 1051 13. allow for serializing multiple golangci-lint invocations (#1302) 1052 1053 ### July 2020 1054 1055 1. `gofumpt` linter: 1056 * update linter 1057 * add `extra-rules` option 1058 * support auto-fixing 1059 2. upgrade `exhaustive` linter 1060 3. upgrade `exportloopref` linter 1061 4. improve 'no such linter' error message 1062 5. sorting result.Issues implementation 1063 6. enhancements in CI: 1064 * Run `nancy` validation for all dependencies 1065 * Move dependabot config to `.github` folder 1066 7. other 1067 * bump `lodash` from 4.17.15 to 4.17.19 in /tools 1068 * bump `golangci/golangci-lint-action` from v1.2.2 to v2 1069 * bump `github.com/valyala/quicktemplate` from 1.5.0 to 1.5.1 1070 1071 1072 ### June 2020 1073 1074 1. Add new linters: `gofumpt` 1075 1076 ### May 2020 1077 1078 1. Add new linters: `nolintlint`, `goerr113` 1079 2. Updated linters: `godot`, `staticcheck` 1080 3. Launch a [website](https://golangci-lint.run) 1081 1082 ### April 2020 1083 1084 1. Add new linters: `testpackage`, `nestif`, `godot`, `gomodguard`, `asciicheck` 1085 2. Add github actions output format 1086 3. Update linters: `wsl`, `gomodguard`, `gosec` 1087 4. Support `disabled-tags` setting for `gocritic` 1088 5. Mitigate OOM and "failed prerequisites" 1089 6. Self-isolate due to unexpected pandemics 1090 7. Support case-sensitive excludes 1091 8. Allow granular re-enabling excludes by ID, e.g. `EXC0002` 1092 1093 ### September 2019 1094 1095 1. Support go1.13 1096 2. Add new linters: `funlen`, `whitespace` (with auto-fix) and `godox` 1097 3. Update linters: `gochecknoglobals`, `scopelint`, `gosec` 1098 4. Provide pre-built binary for ARM and FreeBSD 1099 5. 2. Fix false-positives in `unused` 1100 6. Support `--skip-dirs-use-default` 1101 7. Add support for bash completions 1102 1103 ### July 2019 1104 1105 1. Fix parallel writes race condition 1106 2. Update bodyclose with fixed panic 1107 1108 ### June 2019 1109 1110 1. Treat Go source files as a plain text by `misspell`: it allows detecting issues in strings, variable names, etc. 1111 2. Implement richer and more stable auto-fix of `misspell` issues. 1112 1113 ### May 2019 1114 1115 1. Add [bodyclose](https://github.com/timakin/bodyclose) linter. 1116 2. Support junit-xml output. 1117 1118 ### April 2019 1119 1120 1. Update go-critic, new checkers were added: badCall, dupImports, evalOrder, newDeref 1121 2. Fix staticcheck panic on packages that do not compile 1122 3. Make install script work on Windows 1123 4. Fix compatibility with the latest x/tools version and update golang.org/x/tools 1124 5. Correct import path of module sourcegraph/go-diff 1125 6. Fix `max-issues-per-linter` name 1126 7. Fix linting of preprocessed files (e.g. `*.qtpl.go`, goyacc) 1127 8. Enable auto-fixing when running via pre-commit 1128 1129 ### March 2019 1130 1131 1. Support the newest `go vet` (with `go/analysis`) 1132 2. Support configuration of `go vet`: e.g. you can set print functions by `linters-settings.govet.settings.printf.funcs` 1133 3. Update megacheck (staticcheck) to 2019.1.1 1134 4. Add [information](https://github.com/vanstinator/golangci-lint#memory-usage-of-golangci-lint) about controlling space-time trade-off into README 1135 5. Exclude issues by source code line regexp by `issues.exclude-rules[i].source` 1136 6. Build and test on go 1.12 1137 7. Support `--color` option 1138 8. Update x/tools to fix c++ issues 1139 9. Include support for log level 1140 10. Sort linters list in help commands