diff --git a/website/content/changes/2022.1.md b/website/content/changes/2022.1.md index ab77202e3..bc203674a 100644 --- a/website/content/changes/2022.1.md +++ b/website/content/changes/2022.1.md @@ -62,3 +62,24 @@ This release addresses the following false positives, crashes, and infinite loop - The `binary` format has been improved to handle OS-specific file paths correctly, in turn making the `-merge` flag work more reliably ({{< commit "1846305a946b13d350894512c7ac1e5ed71dc331" >}}) - When using the `-merge` or `-matrix` flags, diagnostics reported by {{< check "SA4008" >}} now have to occur in all runs to be reported, reducing the number of false positives ({{< commit "0e678cbe1c8b3f09ac481673453886b1afc9906a" >}}) - U1000 now understands struct type conversions involving type parameters, reducing the number of false positives ({{< commit "90804df0287d9265e565bcabbe19568efbe374fa" >}}) + +## Staticcheck 2022.1.2 release notes {#2022.1.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](https://github.com/openconfig/ygot), Staticcheck now finishes [much + faster](https://github.com/openconfig/featureprofiles/pull/181#issuecomment-1119250596). +- Several infinite loops when handling recursive type parameters have been fixed +- {{< check "S1009" >}} no longer mistakes user-defined functions named `len` for the builtin ({{< issue "1181" >}}) +- {{< check "ST1015" >}} no longer reorders `switch` statements if their order is significant due to the use of `fallthrough` ({{< issue "1188" >}}) +- {{< check "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" >}}). +- {{< check "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" >}}) +- {{< check "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.