docs/content/docs/product/roadmap.md
Please file an issue to suggest new features. Vote on feature requests by adding a 👍. This helps maintainers prioritize what to work on.
Please file an issue for bugs, missing documentation or unexpected behavior.
golangci-lint follows semantic versioning. However, due to the nature of golangci-lint as a code quality tool, it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, we've defined the following semantic versioning policy:
According to our policy, any minor update may report more errors than the previous release (ex: from a bug fix). As such, we recommend using the fixed minor version and fixed or the latest patch version to guarantee the results of your builds.
For example, in our GitHub Action we require users to explicitly set the minor version of golangci-lint and we always use the latest patch version.
A linter can be deprecated for various reasons, e.g. the linter stops working with a newer version of Go or the author has abandoned its linter.
The deprecation of a linter will follow 3 phases:
default: all and should be removed from the disable option.Each phase corresponds to a minor version:
We will provide clear information about those changes on different supports: changelog, logs, social network, etc.
We consider the removal of a linter as non-breaking changes for golangci-lint itself. No major version will be created when a linter is removed.