go-tools

Staticcheck - The advanced Go linter

MIT License

Stars
6.1K
Committers
69

Bot releases are hidden (Show)

go-tools - Staticcheck 2020.2.1 (v0.1.1)

Published by dominikh over 3 years ago

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

go-tools - Staticcheck 2020.2 (v0.1.0)

Published by dominikh almost 4 years ago

Read the full release notes at https://staticcheck.io/changes/2020.2

go-tools - Staticcheck 2020.1.6

Published by dominikh about 4 years ago

This release makes the following fixes and improvements:

  • Staticcheck no longer panics when encountering files that have the following comment: // Code generated DO NOT EDIT.
  • SA4016 no longer panics when checking bitwise operations that involve dot-imported identifiers.
  • Fixed the suggested fix offered by S1004.
  • Fixed a false positive involving byte arrays in SA5009.
  • Fixed a false positive involving named byte slice types in SA5009.
  • Added another heuristic to avoid flagging function names in error messages in ST1005.
  • SA3000 will no longer flag missing calls to os.Exit in TestMain functions if targeting Go 1.15 or newer.
go-tools - Staticcheck 2020.1.5

Published by dominikh about 4 years ago

This release fixes a crash in the pattern matching engine and a false positive in SA4006.

go-tools - Staticcheck 2020.1.4

Published by dominikh over 4 years ago

This release adds special handling for imports of the deprecated github.com/golang/protobuf/proto package.

github.com/golang/protobufhas deprecated the proto package, but their protoc-gen-go still imports the package and uses one of its constants, "to enforce a weak dependency on a sufficiently new version of the legacy package".

Staticcheck would flag the import of this deprecated package in all code generated by protoc-gen-go. Instead of forcing the project to change their project structure, we choose to ignore such imports in code generated by protoc-gen-go. The import still gets flagged in code not generated by protoc-gen-go.

You can find more information about this in the upstream issue.

go-tools - Staticcheck 2020.1.3

Published by dominikh over 4 years ago

This release fixes two bugs involving //lint:ignore directives:

  • When ignoring U1000 and checking a package that contains tests, Staticcheck would incorrectly complain that the linter directive didn't match any problems, even when it did.
  • On repeated runs, the position information for a "this linter directive didn't match anything" report would either be missing, or be wildly incorrect.
go-tools - Staticcheck 2020.1.2

Published by dominikh over 4 years ago

Staticcheck 2020.1(.2) contains UI improvements, speed enhancements,
numerous new and improved checks, and support for the upcoming Go
1.14.

Read the full release notes at https://staticcheck.io/changes/2020.1

(2020.1.2 differs from 2020.1.1 and 2020.1 in that it actually
displays the correct version information.)

go-tools - Staticcheck 2019.2.3

Published by dominikh about 5 years ago

Staticcheck 2019.2.3 is a re-release of 2019.2.2. Its pre-built binaries have been built with Go 1.13, to enable checking of code that uses language features introduced in Go 1.13.

go-tools - Staticcheck 2019.2.2

Published by dominikh about 5 years ago

Staticcheck 2019.2.2 contains the following user-visible fixes:

  • S1008 now skips if/else statements where both branches return the same value.
  • SA4006 now considers a value read when a switch statement reads it, even if the switch statement has no branches.
  • 2019.2 introduced a bug that made it impossible to enable non-default checks via configuration files. This is now possible again.
  • 2019.2 introduced a bug that made the -tags command line argument ineffective, making it impossible to pass in build tags. This is now possible again.
  • From this release onward, we will use pseudo versions of the form v0.0.1-<year>.<minor> instead of v0.0.0-<year>.<minor>. This fixes an issue where go get would prefer an older commit over a newer released version due to the way versions sort.
go-tools - Staticcheck 2019.2.1

Published by dominikh over 5 years ago

The 2019.2 release has an unfortunate bug that prevents staticcheck from running on 32-bit architectures, causing it to crash unconditionally. This release fixes that crash.

go-tools - Staticcheck 2019.2

Published by dominikh over 5 years ago

Staticcheck 2019.2 brings impressive performance improvements, many new and improved checks, and various small improvements to its command line.

Read the full changelog at https://staticcheck.io/changes/2019.2

go-tools - Staticcheck 2019.1.1

Published by dominikh over 5 years ago

The 2019.1.1 release fixes some minor bugs and improves the performance of the U1000 check:

  • The ST category of checks no longer flag style issues of aliased types when the aliased type exists in a package we aren't explicitly checking. This avoids crashes and erratic error reports.
  • Compiler errors now have correct position information.
  • A crash in the Stylish reporter has been fixed.
  • We no longer flag unused objects that belong to cgo internals.
  • The U1000 check has been optimized, reducing its memory usage and runtime.
go-tools - Staticcheck 2019.1

Published by dominikh almost 6 years ago

Staticcheck 2019.1 makes some major changes to the structure of the tools. Please make sure to read the full changelog before deploying it.

go-tools - Staticcheck 2017.2.2

Published by dominikh almost 7 years ago

Staticcheck 2017.2.2 fixes minor issues in unused, keyify and staticcheck:

go-tools - Staticcheck 2017.2.1

Published by dominikh almost 7 years ago

Staticcheck 2017.2.1 fixes a small bug in the detection of deprecated objects, because of course no release can go without bugs!

The (admittedly very short) full changelog:

  • Staticcheck 2017.2 made the detection of deprecated objects Go-version aware. Unfortunately, this only worked correctly for fields and methods, but not package-level objects. This release fixes that.
go-tools - Staticcheck 2017.2

Published by dominikh almost 7 years ago

The 2017.2 release of the staticcheck suite of tools focuses on reducing friction – fewer false positives, more tools for suppressing unwanted output, and JSON output for easier integration with other tools.

The full changelog can be found at https://staticcheck.io/changes/2017.2