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