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)