What's Changed
Features
- Add new rule
multiline-if-initby @marcopeereboom in #1715 - Add new rule
marshal-receiverby @roidelapluie in #1707 use-waitgroup-go: support range statements by @alexandear in #1686line-length-limit: addexcludesto skip lines matching regexps by @ChrisJr404 in #1772- Add
specify-disable-ruledirective by @toller892 in #1739 - Allow kebab-cased and lowercased config options by @alexandear in #1750
- Export a few config functions for golangci-lint by @alexandear in #1753
- Use Go 1.26; bump golangci-lint to 2.13.1 by @alexandear in #1777
Bug Fixes
use-errors-new: disable for Go 1.26 by @alexandear in #1697use-any: enable only for Go 1.18+ by @alexandear in #1699empty-block: skip bare for-range loops by @alexandear in #1710comment-spacings: ignore//#nosecdirective by default by @alexandear in #1713add-constant: ignore empty string literals by @alexandear in #1716unhandled-error: ignorefmt.Fprintfwithstrings.Builderorbytes.Bufferby @alexandear in #1726package-comments: fix false positive on CRLF sources by @Eljees in #1763checkstyleformatter: fix invalid XML for filenames with&or"by @VXNCXNX in #1770- Log rule internal failures instead of aborting
File.lintby @far4599 in #1719 - Stamp release binaries with version, commit, date and builder by @Eljees in #1764
Documentation
- Improve rules descriptions by @alexandear in #1671
- Show only kebab-cased options by @alexandear in #1670
- Update switch style rule arguments to kebab-case by @alexandear in #1676
- Fix untyped rules descriptions by @alexandear in #1682
- Improve README and RULES_DESCRIPTIONS by @alexandear in #1698
- Update go instructions for modern go patterns by @denisvmedia in #1731
- Update revive docker version by @alexandear in #1749
- Add before/after examples to a batch of rule descriptions by @youdie006 in #1756
- Add MegaLinter to the linter aggregators section by @nvuillam in #1765
- Document Go versions for rules by @ColumbusLabs in #1766
- Add missing
multiline-if-initto the rules table by @alexandear in #1773 - Fix lint issue; remove star history by @alexandear in #1768
Dependency Updates
- Update module github.com/golangci/golangci-lint/v2 to v2.11.1 by @renovate[bot] in #1668
- Update module codeberg.org/chavacava/garif to v0.2.1 by @renovate[bot] in #1673
- Update module github.com/golangci/golangci-lint/v2 to v2.11.2 by @renovate[bot] in #1674
- Update module golang.org/x/sync to v0.20.0 by @renovate[bot] in #1675
- Update module golang.org/x/sys to v0.42.0 by @renovate[bot] in #1677
- Update module mvdan.cc/sh/v3 to v3.13.0 by @renovate[bot] in #1680
- Update module github.com/golangci/golangci-lint/v2 to v2.11.3 by @renovate[bot] in #1681
- Update module golang.org/x/mod to v0.34.0 by @renovate[bot] in #1683
- Update module golang.org/x/tools to v0.43.0 by @renovate[bot] in #1684
- Update module github.com/fatih/color to v1.19.0 by @renovate[bot] in #1691
- Update module github.com/golangci/golangci-lint/v2 to v2.11.4 by @renovate[bot] in #1692
- Update module golang.org/x/text to v0.35.0 by @renovate[bot] in #1693
- Update module github.com/hashicorp/go-version to v1.9.0 by @renovate[bot] in #1700
- Update module mvdan.cc/sh/v3 to v3.13.1 by @renovate[bot] in #1702
- Update golang docker tag to v1.26.2 by @renovate[bot] in #1703
- Update module golang.org/x/mod to v0.35.0 by @renovate[bot] in #1705
- Update module golang.org/x/tools to v0.44.0 by @renovate[bot] in #1708
- Update gomod by @renovate[bot] in #1709
- Update module github.com/golangci/golangci-lint/v2 to v2.12.1 by @renovate[bot] in #1721
- Update module github.com/mattn/go-isatty to v0.0.22 by @renovate[bot] in #1722
- Update golang docker tag to v1.26.3 by @renovate[bot] in #1727
- Update module github.com/golangci/golangci-lint/v2 to v2.12.2 by @renovate[bot] in #1725
- Update gomod by @renovate[bot] in #1730
- Update module golang.org/x/tools to v0.45.0 by @renovate[bot] in #1729
- Update module golang.org/x/sys to v0.45.0 by @renovate[bot] in #1738
- Update golang docker tag to v1.26.4 by @renovate[bot] in #1740
- Update module golang.org/x/tools to v0.46.0 by @renovate[bot] in #1746
- Update module golang.org/x/tools to v0.47.0 by @renovate[bot] in #1751
- Update golang docker tag to v1.26.5 by @renovate[bot] in #1762
- Update module golang.org/x/tools to v0.48.0 by @renovate[bot] in #1759
- Update module golang.org/x/mod to v0.40.0 by @renovate[bot] in #1758
Chores & Internal
- Move
isCallToExitFunctionto internal/astutils by @alexandear in #1688 - Remove unused
TestGetDevelopmentVersionfor pre Go 1.24 by @alexandear in #1688 - Remove unused
TestGetDevelopmentVersionfor pre Go 1.24 by @alexandear in #1690 - Fix modernize issue; enable
package-namingrule by @alexandear in #1694 - Introduce AGENTS.md by @denisvmedia in #1732
- Pin to hash versions in GitHub Actions workflows by @alexandear in #1733
- Fix renovate version by @alexandear in #1734
- Update renovate: monthly, disable indirect by @alexandear in #1743
- Cover
directive.specify-disable-reasonby @alexandear in #1741 redundant-build-tag: add a case with redundant go1.X by @alexandear in #1735- Update rules count in
TestGetLintingRulesby @alexandear in #1748 - Set
minimumReleaseAgein Renovate config by @alexandear in #1752 - Use Go 1.26 for linting by @alexandear in #1774
New Contributors
- @marcopeereboom made their first contribution in #1715
- @roidelapluie made their first contribution in #1707
- @far4599 made their first contribution in #1719
- @toller892 made their first contribution in #1739
- @youdie006 made their first contribution in #1756
- @nvuillam made their first contribution in #1765
- @ColumbusLabs made their first contribution in #1766
- @ChrisJr404 made their first contribution in #1772
- @VXNCXNX made their first contribution in #1770
- @Eljees made their first contribution in #1763
Full Changelog: v1.15.0...v1.16.0