Sourced from honnef.co/go/tools's releases.
Staticcheck 2023.1.5 (v0.4.5)
This release fixes the following bug:
- A crash involving methods named
_
Staticcheck 2023.1.4 (v0.4.4)
This release adds support for Go 1.21 and fixes the following bugs:
- Three crashes when encountering unnecessarily parenthesized statements (#1393, #1400)
- Unnecessarily high memory usage when analyzing composite literals such as
[]int{1<<31: 1}
(#1393)- A false positive in S1011 when appending to a dynamic left-hand side (#1399)
- A crash involving generics (#1410)
- A false positive in SA9001 involving control flow statements (#488)
- A false positive in ST1003, complaining about the names of fuzz functions (#1420)
Staticcheck 2023.1.3 (v0.4.3)
This release fixes the following bugs:
- A crash when embedding type aliases of unnamed types (issue 1361)
- A false positive in U1000, claiming that type aliases are unused (issue 1365)
- A bug in the binary formatter that prevented correct merging behavior for some checks (issue 1372)
Staticcheck 2023.1.2 (v0.4.2)
This release fixes a bug that prevented the
binary
formatter from working (issue 1370).Staticcheck 2023.1.1 (v0.4.1)
This release fixes a crash, a false positive in U1000 (issue 1360) and improves the way deprecated API is flagged (issue 1318).
When targeting a Go version that is older than the version that deprecated an API, SA1019 will no longer flag the use even if there is already an alternative available in the targeted Go version.
For example,
math/rand.Seed
has been deprecated in Go 1.20, but an alternative has existed since Go 1.0. In the past, we would flag uses ofSeed
even if targeting e.g. Go 1.19, to encourage better forwards compatibility. This can lead to unnecessary churn, however, because the correct change may depend on the Go version in use. For example, forSeed
before Go 1.20, the alternative is to use a separate instance ofmath/rand.Rand
, whereas in Go 1.20, a possible alternative is to simply drop the call toSeed
.Staticcheck 2023.1 (v0.4.0)
Staticcheck 2023.1 adds support for Go 1.20, brings minor improvements to various checks, and replaces U1000 with a new implementation.
The following checks have been improved:
- The wording of S1001 has been made clearer for cases involving arrays. Furthermore, it no longer suggests using copy when the function has been shadowed.
- S1011 now recognizes index-based loops (issue 881).
- SA1019 no longer flags tests (internal or external) that use deprecated API from the package under test (issue 1285). Furthermore, entire declaration groups (such as groups of constants) can now be marked as deprecated (issue 1313).
- SA4017 now detects more functions, including those in the time package (issue 1353). Additionally, its wording has been made clearer.
- SA5010 no longer gets confused by type assertions involving generic types (issue 1354).
- ST1005 no longer flags errors that start with alpha-numeric acronyms such as P384.
- Improvements to our intermediate representation may allow various checks to find more problems.
Staticcheck now knows about version 2 of the k8s.io/klog package, in particular which functions abort control flow (issue 1307).
In addition to these minor improvements, U1000 has been rewritten from the ground up, operating on a program representation more suited to the task. In practice this means that there will be fewer false positives and more true positives.
Overall, the rewrite fixes at least eight known bugs, both ones that have been a nuisance for a while, as well as ones newly introduced by generics (issue 507, issue 633, issue 810, issue 812, issue 1199, issue 1249, issue 1282, issue 1333).
... (truncated)
9e12e60
Version 2023.3.5 (v0.4.5)3d40c93
website: add 2023.1.5 release notes02ac14b
Use types.Func.Origin instead of typeparams.OriginMethodd31a6b5
Version 2023.1.4 (v0.4.4)65c8429
simple: fix golden test cased90cd43
website: add 2023.1.4 release notes39f8777
simple: limit generic loop copy test to Go 1.20 and newer2b3ce3c
knowledge: add deprecated for Go 1.21e1e1550
analysis/lint: accept new Go versionscdf983c
ST1003: add exception for fuzz functions