github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/CHANGELOG.md (about) 1 Follow the news and releases on our [twitter](https://twitter.com/golangci) and our [blog](https://medium.com/golangci). 2 There is the most valuable changes log: 3 4 ### August 2021 5 6 1. new linters: 7 * Add `errname` linter 8 2. update linters: 9 * `gomodguard`: from 1.2.2 to 1.2.3 10 * `revive`: from 1.0.9 to 1.1.0 11 * `staticcheck`: bump to 2021.1.1 (v0.2.1) 12 * `wrapcheck`: bump to v2.3.0 13 14 ### July 2021 15 16 1. update linters: 17 * `errcheck`: allow exclude config without extra file 18 * `exhaustive`: from 0.1.0 to 0.2.3 19 * `gocognit`: from 1.0.1 to 1.0.5 20 * `godot`: from 1.4.7 to 1.4.8 21 * `gomoddirectives`: from 0.2.1 to 0.2.2 22 * `revive`: from 1.0.8 to 1.0.9 23 2. documentation: 24 * improve `goconst` documentation 25 * improve `goimports` description 26 27 ### June 2021 28 29 1. update linters: 30 * `durationcheck`: from 0.0.7 to 0.0.8 31 * `gci`: from 0.2.8 to 0.2.9 32 * `goconst`: from 0.5.6 to 0.5.7 33 * `gofumpt`: Add lang-version option 34 * `gomodguard`: from 1.2.1 to 1.2.2 35 * `gosec`: from 2.8.0 to 2.8.1 36 * `revive`: add enable-all-rules. 37 * `revive`: allow to disable rule 38 * `revive`: fix exclude comment rule for const block 39 * `revive`: from 1.0.7 to 1.0.8 40 * `wrapcheck`: from 2.1.0 to 2.2.0 41 2. documentation: 42 * add all integrations to docs introduction page 43 3. Misc: 44 * 🎉 Un-deprecate enable-all option 45 * output: generate HTML report 46 * Support RISV64 47 48 ### May 2021 49 50 1. new linters: 51 * `tagliatelle`: https://github.com/ldez/tagliatelle 52 * `promlinter`: https://github.com/yeya24/promlinter 53 2. update linters: 54 * `durationcheck`: from 0.0.6 to 0.0.7 55 * `errorlint`: bump to HEAD 56 * `forbidigo`: from 1.1.0 to 1.2.0 57 * `go-critic`: from 0.5.5 to 0.5.6 58 * `godot`: from 1.4.6 to 1.4.7 59 * ⚠`golint`: deprecated 60 * `gomnd`: from 2.3.2 to 2.4.0 61 * `gomodguard`: fix problem where duplicate issues were reported 62 * `gosec`: from 2.7.0 to 2.8.0 63 * `govet`: fix `sigchanyzer` 64 * `govet`: Update vet passes 65 * `importas`: allow repeated aliases 66 * `importas`: bump to HEAD 67 * `makezero`: bump to HEAD 68 * `nolintlint`: fix false positive 69 * `revive`: convert hard coded excludes into default exclude patterns 70 * `revive`: fix add-constant rule support 71 * `revive`: fix excludes 72 * `revive`: from 1.0.6 to 1.0.7 73 * `revive`: improve 'exported' rule output 74 * `rowserrcheck`: bump to v1.1.0 75 * `staticcheck`: configuration for `staticcheck`, `gosimple`, `stylecheck` 76 * `staticcheck`: from 0.1.3 to 0.1.4 77 * `staticcheck`: from v0.1.4 to v0.2.0 78 * `wastedassign`: from 0.2.0 to 1.0.0 79 * `wastedassign`: from 1.0.0 to v2.0.6 80 * `wrapcheck`: from 1.2.0 to 2.1.0 81 3. documentation: 82 * improve linters page 83 * `exhaustivestruct` example explanation 84 * fix pattern of `forbidigo` in example config yaml 85 * bump documentation dependencies 86 * fix typos 87 4. Misc: 88 * set the minimum Go version to go1.15 89 * non-zero exit code when a linter produces a panic 90 91 ### April 2021 92 93 1. new linters: 94 * `tagliatelle`: https://github.com/ldez/tagliatelle 95 * `promlinter`: https://github.com/yeya24/promlinter 96 2. update linters: 97 * `godot`: from 1.4.4 to 1.4.6 98 * `wrapcheck`: from 1.0.0 to 1.2.0 99 * `go-mnd`: from 2.3.1 to 2.3.2 100 * `wsl`: from 3.2.0 to 3.3.0 101 * `revive`: from 1.0.5 to 1.0.6 102 * `importas`: bump to HEAD 103 * `staticcheck`: configurable Go version 104 * `gosec`: add configuration 105 * `typecheck`: improve error stack parsing 106 3. documentation: 107 * bump documentation dependencies 108 * fix typos 109 4. Misc: 110 * fix: comma in exclude pattern leads to unexpected results 111 112 ### March 2021 113 114 1. new linters: 115 * `gomoddirectives`: https://github.com/ldez/gomoddirectives 116 2. update linters: 117 * `go-critic`: from 0.5.4 to 0.5.5 118 * `gofumpt`: from v0.1.0 to v0.1.1 119 * `gosec`: from 2.6.1 to 2.7.0 120 * `ifshort`: bump to v1.0.2 121 * `importas`: bump to HEAD 122 * `makezero`: bump to HEAD 123 * `nolintlint`: allow to fix //nolint lines 124 * `revive`: from 1.0.3 to 1.0.5 125 * `revive`: the default configuration is only applied when no dedicated configuration 126 * `rowserrcheck`: bump to HEAD 127 * ⚠`scopelint`: deprecated 128 * `staticcheck`: from v0.1.2 (2020.2.2) to v0.1.3 (2020.2.3) 129 * 🎉 `typecheck`: display compilation errors as report instead of error 130 * `wastedassign`: bump to v0.2.0 131 * `wrapcheck`: bump to v1.0.0 132 3. documentation: 133 * improve [linters page](https://golangci-lint.run/usage/linters/) (versions, deprecation, and presets) 134 * add [cache directory](https://golangci-lint.run/usage/configuration/#cache) information 135 * adding missing format options 136 * fix typos 137 4. Misc: 138 * Set `version` command output to Stdout 139 * fix linters load mode 140 * Restore fast linters meaning 141 142 ### February 2021 143 144 1. new linters: 145 * `durationcheck`: https://github.com/charithe/durationcheck 146 * `revive`: https://github.com/mgechev/revive 147 * `cyclop`: https://github.com/bkielbasa/cyclop 148 * `wastedassign`: https://github.com/sanposhiho/wastedassign 149 * `importas`: https://github.com/julz/importas 150 * `nilerr`: https://github.com/gostaticanalysis/nilerr 151 * `forcetypeassert`: https://github.com/gostaticanalysis/forcetypeassert 152 * `govet`: add `stringintconv` and `ifaceassert` 153 2. update linters: 154 * `prealloc`: Use upstream version 155 * `errcheck`: Use upstream version 156 * `ineffassign`: Use upstream version 157 * `gocyclo`: Use upstream version 158 * `godot` from 1.3.2 to 1.4.3 159 * `exhaustivestruct` from 1.1.0 to 1.2.0 160 * `forbidigo` from 1.0.0 to 1.1.0 161 * `thelper` from 0.2.1 to 0.3.1 162 * `ruleguard`: print error message and exit with non-zero status when parsing error occurs 163 * fix wrong load mode for `asciicheck`, `exhaustivestruct`, `exportloopref`, and `makezero` 164 * `wsl`: bump to v3.2.0 165 * `durationcheck`: from 0.0.4 to 0.0.6 166 * `staticcheck`: from 2020.1.6 to v0.1.2 (2020.2.2) 167 * `thelper` from 0.3.1 to 0.4.0 168 * `bodyclose`: bump to HEAD 169 * `go-err113`: bump to HEAD 170 * ⚠`interfacer`: deprecated 171 * ⚠`maligned`: deprecated (govet `fieldalignment` as replacement) 172 * `govet`: use same default linter as go vet 173 * `go-printf-func-name`: to `v0.0.0-20200119135958-7558a9eaa5af` 174 * `godox`: to `v0.0.0-20210227103229-6504466cf951` 175 * `asciicheck`: to `v0.0.0-20200416200610-e657995f937b` 176 * `wrapcheck`: to `v0.0.0-20201130113247-1683564d9756` 177 * `unparam`: to `v0.0.0-20210104141923-aac4ce9116a7` 178 3. CLI: truncate multiline descriptions 179 4. fix: new-from-rev for a large repository 180 5. Support RelatedInformation for analysis Diagnostic 181 6. use go1.16 to create binaries 182 7. fix: MIPS release 183 8. documentation: 184 * bump documentation dependencies 185 * fix `go-header` usage 186 * improve `gocritic` description 187 * update deprecated hyperlink for Sublime Text plugin 188 * add docs on using homebrew tap 189 190 ### January 2021 191 192 1. new linters: 193 * `predeclared`: https://github.com/nishanths/predeclared 194 * `ifshort`: https://github.com/esimonov/ifshort 195 2. update linters: 196 * `go-critic` from 0.5.2 to 0.5.3 197 * `thelper` from 0.1.0 to 0.2.1 198 * Validate `go-critic` settings 199 * `gofumpt` to v0.1.0 200 * `gci` to v0.2.8 201 * `go-mnd` to v2.3.1 202 * `gosec` from 2.5.0 to 2.6.1 203 * `godot` from 1.3.2 to 1.4.3 204 * `ifshort` to v1.0.1 205 * `rowserrcheck`: fix reports false positive 206 3. fix: modules-download-mode support 207 4. documentation: 208 * bump documentation dependencies 209 210 ### December 2020 211 212 1. new linters: 213 * `forbidigo`: https://github.com/ashanbrown/forbidigo 214 * `makezero`: https://github.com/ashanbrown/makezero 215 * `thelper`: https://github.com/kulti/thelper 216 2. update linters: 217 * `go-header` from v0.3.1 to v0.4.2 218 * `go-mnd` from v2.0.0 to v2.2.0 219 * `godot` from v1.3.0 to v1.3.2 220 * `gci` from v0.2.4 to v0.2.7 221 * `gomodguard` from v1.1.0 to v1.2.0 222 * `go-errorlint` from v0.0.0-20201006195004-351e25ade6e3 to v0.0.0-20201127212506-19bd8db6546f 223 * `gofumpt` from v0.0.0-20200802201014-ab5a8192947d to v0.0.0-20201129102820-5c11c50e9475 224 * `nolintlint` fix comment analysis. (#1571) 225 3. result/processors: treat all non-Go source as special autogenerated files 226 4. throw an error on panic. (#1540) 227 5. resolve custom linters' path relative to config file directory (#1572) 228 6. treat all non-Go source as special autogenerated files 229 7. documentation: 230 * add settings examples for `gocritic` (#1562) 231 * removing reference to no-longer-existing linter-in-the-cloud (#1553) 232 8. others: 233 * bump `gopkg.in/yaml.v2` from 2.3.0 to 2.4.0 (#1528) 234 * bump `gatsby-remark-responsive-iframe` in /docs (#1533) 235 * bump `gatsby-remark-images` from 3.3.29 to 3.6.0 in /docs (#1531) 236 * bump `ini` from 1.3.5 to 1.3.8 in /tools (#1560) 237 * bump `react-headroom` from 3.0.0 to 3.0.1 in /docs (#1532) 238 * bump `react-live` from 2.2.2 to 2.2.3 in /docs (#1534) 239 * bump `react` from 16.13.1 to 16.14.0 in /docs (#1481) 240 * Fix `forbidigo` linter name in reports (#1590) 241 242 ### November 2020 243 244 1. new linters: 245 * `paralleltest`: https://github.com/kunwardeep/paralleltest 246 2. update linters: 247 * `godot` from v0.4.9 to v1.3.0 248 * `exportloopref` from v0.1.7 to v0.1.8 249 * `gosec` from 2.4.0 to 2.5.0 250 * `goconst` using upstream https://github.com/jgautheron/goconst 251 3. `DefaultExcludePatterns` should only be used for specified linter (#1494) 252 4. unknown linter breaks //nolint (#1497) 253 5. report all unknown linters at once (#1477) 254 6. CI: 255 * fix Docker tag for Alpine build 256 7. documentation: 257 * missing sort-results in the docs (#1514) 258 * add description of Homebrew's official formula (#1421) 259 8. others: 260 * bump `golang.org/x/text` to v0.3.4 (#1293) 261 * bump `github.com/fatih/color` to from 1.9.0 to 1.10.0 (#1485) 262 * bump `lodash` from 4.17.15 to 4.17.19 in /.github/peril (#1252) 263 * bump `polished` from 3.6.6 to 4.0.3 in /docs (#1482) 264 * bump `gatsby-alias-imports` from 1.0.4 to 1.0.6 in /docs (#1479) 265 * bump `puppeteer` from 5.3.1 to 5.4.1 in /docs (#1480) 266 * bump `gatsby-remark-embedder` from 3.0.0 to 4.0.0 in /docs (#1478) 267 268 ### October 2020 269 270 1. new linters: 271 * `exhaustivestruct`: https://github.com/mbilski/exhaustivestruct 272 * `go-errorlint`: https://github.com/polyfloyd/go-errorlint 273 * `tparallel`: https://github.com/moricho/tparallel 274 * `wrapcheck`: https://github.com/tomarrell/wrapcheck 275 2. update linters: 276 * `honnef.co/go/tools` from 2020.1.5 to 2020.1.6 277 * `exhaustivestruct` from v1.0.1 to v1.1.0 278 * `exhaustive` to v0.1.0 279 * `gochecknoglobals`: use https://github.com/leighmcculloch/gochecknoglobals 280 3. add support for powershell completion (#1408) 281 4. add `.golangci.yaml` to list of configuration files searched on startup (#1364) 282 5. support for only specifying default severity (#1396) 283 6. documentation: 284 * mention macports installation procedure on macOS (#1352) 285 * sort linters (#1451) 286 7. CI: 287 * add codeQL scanning (#1405) 288 * fix version details in Docker image (#1471) 289 * releasing docker image for arm64 (#1383) 290 * change interval for npm to monthly (#1424) 291 8. others: 292 * use tag version for cobra (#1458) 293 * bump `nancy` to 1.0.1 (#1410) 294 * bump `gatsby-plugin-catch-links` in /docs (#1415) 295 * bump `gatsby-plugin-mdx` from 1.2.40 to 1.2.43 in /docs (#1419) 296 * bump `gatsby-plugin-sharp` from 2.6.31 to 2.6.40 in /docs (#1423) 297 * bump `gatsby-plugin-sitemap` from 2.4.12 to 2.4.14 in /docs (#1417) 298 * bump `github.com/mattn/go-colorable` from 0.1.7 to 0.1.8 (#1413) 299 * bump `github.com/sirupsen/logrus` from 1.6.0 to 1.7.0 (#1412) 300 * bump `github.com/sourcegraph/go-diff` from 0.6.0 to 0.6.1 (#1414) 301 * bump `golangci/golangci-lint-action` from v2 to v2.3.0 (#1447) (#1469) 302 * bump `puppeteer` from 3.3.0 to 5.3.1 in /docs (#1418) 303 304 ### September 2020 305 306 1. update linters: 307 * `godot` from 0.4.8 to 0.4.9 308 * `exhaustive` from v0.0.0-20200708172631-8866003e3856 to v0.0.0-20200811152831-6cf413ae40e0 309 * `gofumpt` from v0.0.0-20200709182408-4fd085cb6d5f to v0.0.0-20200802201014-ab5a8192947d 310 2. add support for fish completion (#1201) 311 3. documentation: 312 * fix typo in performance docs (#1350) 313 4. CI: 314 * prevent macos to be marked as passing upon failure (#1381) 315 * check only for go.mod file (#1397) 316 * check if go.mod and go.sum are up to dated (#1377) 317 * trigger Netlify (#1358) 318 5. others: 319 * bump `github.com/sourcegraph/go-diff` from 0.5.3 to 0.6.0 (#1353) 320 * bump `github.com/valyala/quicktemplate` from 1.6.2 to 1.6.3 (#1385) 321 * ignore known dependency failure in nancy (#1378) 322 * bump `@mdx-js/mdx` from 1.6.16 to 1.6.18 in /docs (#1401) 323 * bump `gatsby` from 2.24.52 to 2.24.65 in /docs (#1400) 324 * bump `gatsby-plugin-canonical-urls` in /docs (#1390) 325 * bump `gatsby-plugin-google-analytics` in /docs (#1388) 326 * bump `gatsby-plugin-manifest` from 2.4.23 to 2.4.27 in /docs (#1355) 327 * bump `gatsby-plugin-mdx` from 1.2.35 to 1.2.40 in /docs (#1386) 328 * bump `gatsby-plugin-offline` from 3.2.23 to 3.2.27 in /docs (#1368) 329 * bump `gatsby-plugin-sharp` from 2.6.25 to 2.6.31 in /docs (#1354) 330 * bump `gatsby-plugin-sitemap` from 2.4.11 to 2.4.12 in /docs (#1344) 331 * bump `gatsby-remark-autolink-headers` in /docs (#1387) 332 * bump `gatsby-remark-images` from 3.3.25 to 3.3.28 in /docs (#1345) 333 * bump `gatsby-remark-images` from 3.3.28 to 3.3.29 in /docs (#1365) 334 * bump `gatsby-remark-mermaid` from 2.0.0 to 2.1.0 in /docs (#1369) 335 * bump `gatsby-source-filesystem` in /docs (#1366) 336 * bump `gatsby-source-filesystem` in /docs (#1389) 337 * bump `gatsby-transformer-sharp` in /docs (#1402) 338 * bump `gatsby-transformer-yaml` from 2.4.10 to 2.4.11 in /docs (#1367) 339 * bump `node-fetch` in /.github/contributors (#1363) 340 * bump `polished` from 3.6.5 to 3.6.6 in /docs (#1347) 341 342 ### August 2020 343 344 1. new `nlreturn` linter: https://github.com/ssgreg/nlreturn 345 2. new `gci` linter: https://github.com/daixiang0/gci 346 3. support `latest` version of golangci-lint in golangci-lint-action 347 4. update `gosec` linter from 2.3.0 to 2.4.0 348 5. update `godot` linter from 0.4.2 to 0.4.8 349 6. update `go-critic` from 0.5.0 to 0.5.2 (#1307) 350 7. update `nlreturn` from 2.0.1 to 2.0.2 (#1287), 2.0.2 to 2.1.0 (#1327) 351 8. update `gci` to v0.2.1 (#1292), to v0.2.2 (#1305), to v0.2.4 (#1337), 352 9. update `funlen` from 0.0.2 to 0.0.3 (#1341) 353 10. upgrade to golang 1.15 for smaller binary (#1303) 354 11. support short and json formats for version cmd (#1315) 355 12. add home directory to config file search paths (#1325) 356 13. allow for serializing multiple golangci-lint invocations (#1302) 357 358 ### July 2020 359 360 1. `gofumpt` linter: 361 * update linter 362 * add `extra-rules` option 363 * support auto-fixing 364 2. upgrade `exhaustive` linter 365 3. upgrade `exportloopref` linter 366 4. improve 'no such linter' error message 367 5. sorting result.Issues implementation 368 6. enhancements in CI: 369 * Run `nancy` validation for all dependencies 370 * Move dependabot config to `.github` folder 371 7. other 372 * bump `lodash` from 4.17.15 to 4.17.19 in /tools 373 * bump `golangci/golangci-lint-action` from v1.2.2 to v2 374 * bump `github.com/valyala/quicktemplate` from 1.5.0 to 1.5.1 375 376 377 ### June 2020 378 379 1. Add new linters: `gofumpt` 380 381 ### May 2020 382 383 1. Add new linters: `nolintlint`, `goerr113` 384 2. Updated linters: `godot`, `staticcheck` 385 3. Launch a [website](https://golangci-lint.run) 386 387 ### April 2020 388 389 1. Add new linters: `testpackage`, `nestif`, `godot`, `gomodguard`, `asciicheck` 390 2. Add github actions output format 391 3. Update linters: `wsl`, `gomodguard`, `gosec` 392 4. Support `disabled-tags` setting for `gocritic` 393 5. Mitigate OOM and "failed prerequisites" 394 6. Self-isolate due to unexpected pandemics 395 7. Support case-sensitive excludes 396 8. Allow granular re-enabling excludes by ID, e.g. `EXC0002` 397 398 ### September 2019 399 400 1. Support go1.13 401 2. Add new linters: `funlen`, `whitespace` (with auto-fix) and `godox` 402 3. Update linters: `gochecknoglobals`, `scopelint`, `gosec` 403 4. Provide pre-built binary for ARM and FreeBSD 404 5. 2. Fix false-positives in `unused` 405 6. Support `--skip-dirs-use-default` 406 7. Add support for bash completions 407 408 ### July 2019 409 410 1. Fix parallel writes race condition 411 2. Update bodyclose with fixed panic 412 413 ### June 2019 414 415 1. Treat Go source files as a plain text by `misspell`: it allows detecting issues in strings, variable names, etc. 416 2. Implement richer and more stable auto-fix of `misspell` issues. 417 418 ### May 2019 419 420 1. Add [bodyclose](https://github.com/timakin/bodyclose) linter. 421 2. Support junit-xml output. 422 423 ### April 2019 424 425 1. Update go-critic, new checkers were added: badCall, dupImports, evalOrder, newDeref 426 2. Fix staticcheck panic on packages that do not compile 427 3. Make install script work on Windows 428 4. Fix compatibility with the latest x/tools version and update golang.org/x/tools 429 5. Correct import path of module sourcegraph/go-diff 430 6. Fix `max-issues-per-linter` name 431 7. Fix linting of preprocessed files (e.g. `*.qtpl.go`, goyacc) 432 8. Enable auto-fixing when running via pre-commit 433 434 ### March 2019 435 436 1. Support the newest `go vet` (with `go/analysis`) 437 2. Support configuration of `go vet`: e.g. you can set print functions by `linters-settings.govet.settings.printf.funcs` 438 3. Update megacheck (staticcheck) to 2019.1.1 439 4. Add [information](https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint) about controlling space-time trade-off into README 440 5. Exclude issues by source code line regexp by `issues.exclude-rules[i].source` 441 6. Build and test on go 1.12 442 7. Support `--color` option 443 8. Update x/tools to fix c++ issues 444 9. Include support for log level 445 10. Sort linters list in help commands