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