Releases: dominikh/go-tools
Staticcheck 2022.1.2 (v0.3.2)
This release addresses the following false positives, crashes, infinite loops, and performance issues:
- For certain packages that contain tens of thousands of types and methods, such as those generated by ygot, Staticcheck now finishes much faster.
- Several infinite loops when handling recursive type parameters have been fixed
- S1009 no longer mistakes user-defined functions named
len
for the builtin (issue 1181) - ST1015 no longer reorders
switch
statements if their order is significant due to the use offallthrough
(issue 1188) - SA1013 now detects constants more robustly, avoiding both false negatives and false positives. Furthermore, it makes sure that offending methods implement io.Seeker and doesn’t just rely on the name Seek (issue 1213).
- SA5008 now understands more third-party extensions to json struct tags
- A crash involving functions named
_
has been fixed (issue 1268) - A crash involving slicing type parameters of type
string | []byte
has been fixed (issue 1270) - SA1019 now handles imports of deprecated standard library packages in the same way it handles other deprecated API, taking the targeted Go version into consideration (issue 1117)
Additionally it is strongly recommended to use Go 1.18.2 for building Staticcheck, as it fixes further generics-related bugs in the type checker.
Staticcheck 2022.1.1 (v0.3.1)
This release addresses the following false positives, crashes, and infinite loops:
- SA1026 and SA5008 no longer get stuck in infinite loops when code attempts to marshal cyclic pointer types (issue 1202)
- U1000 no longer crashes when code contains mutually recursive type instantiations (issue 1247)
- U1000 no longer crashes when generic functions use composite literals of type parameter types (0ccdb5c9dad7e96a8e3a3136738192491b37dbdb)
- ST1021 now understands type names that are also English articles (issue 1187)
- SA4023 no longer gets confused by the nilness of type parameters (issue 1242)
- Some checks no longer crash when trying to generate automated code fixes that involve function literals (issue 1134)
- SA1026 no longer claims that encoding/json cannot marshal generic maps (golang/go#52467)
- The binary format has been improved to handle OS-specific file paths correctly, in turn making the -merge flag work more reliably (1846305a946b13d350894512c7ac1e5ed71dc331)
- When using the -merge or -matrix flags, diagnostics reported by SA4008 now have to occur in all runs to be reported, reducing the number of false positives (0e678cbe1c8b3f09ac481673453886b1afc9906a)
- U1000 now understands struct type conversions involving type parameters, reducing the number of false positives (90804df0287d9265e565bcabbe19568efbe374fa)
Staticcheck 2022.1 (v0.3.0)
Staticcheck 2022.1 adds support for Go 1.18 and generics, adds and tweaks some checks, and introduces the new -matrix
and -merge
flags.
Read the full release notes at https://staticcheck.io/changes/2022.1
Staticcheck 2021.1.2 (v0.2.2)
This release fixes some false positives and crashes.
Read the full release notes at https://staticcheck.io/changes/2021.1/#2021.1.2
Staticcheck 2021.1.1 (v0.2.1)
This release adds support for new language features in Go 1.17, namely conversions from slices to array pointers, the unsafe.Add function, and the unsafe.Slice function.
Additionally, it fixes some false positives.
Read the full release notes at https://staticcheck.io/changes/2021.1#2021.1.1
Staticcheck 2021.1 (v0.2.0)
Read the full release notes at https://staticcheck.io/changes/2021.1
Staticcheck 2020.2.4 (v0.1.4)
This release fixes a crash and some false positives.
Read the full release notes at https://staticcheck.io/changes/2020.2#2020.2.4
Staticcheck 2020.2.3 (v0.1.3)
This release fixes a false positive in U1000. See #942 for details.
Staticcheck 2020.2.2 (v0.1.2)
This release fixes a rare crash in Staticcheck, reduces the number of false positives, and adds support for Go 1.16's io/fs.FileMode
type.
Read the full release notes at https://staticcheck.io/changes/2020.2#2020.2.2
Staticcheck 2020.2.1 (v0.1.1)
This release eliminates some false negatives as well as false positives, makes the staticcheck
command less noisy and fixes a potential security issue.
See the full release notes at https://staticcheck.io/changes/2020.2#2020.2.1