github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/CHANGELOG.md (about)

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