Go Critic Versions Save

The most opinionated Go source code linter for code audit.

v0.6.7

1 year ago

Updated ruleguard and gogrep versions.

v0.6.6

1 year ago

v0.6.5

1 year ago

v0.6.4

1 year ago

A special thanks goes to @mcdoker18, @cristaloleg and @peakle + everyone who helps to keep this project afloat.

v0.6.3

2 years ago

Checkers

  • checkers: add todoCommentWithoutDetail #1169
  • checkers: add new checker stringsCompare #1195

Features

  • ruleguard: add filter by tags for analyzer mode #1205
  • checkers: add skip experimental tag by default for user defined rules #1217

Deps

v0.6.2

2 years ago

Checkers

  • checkers: add deferInLoop checker (#1145)
  • checkers: add dynamicFmtString checker (#1156)

Fixes

  • checkers: update preferWriteByte (#1151)
  • checkers: treat //noinspection as pragma in commentFormatting (#1166)
  • checkers: fix equalFold rules autofix templates (#1178)
  • checkers: ignore labeled continue in select statement (#1158)

Improvements

  • checkers: add At() for httpNoBody checker (#1164)
  • checkers: add enable/disable flags to ruleguard checker (#1181)
  • checker/whyNoLint: compile regex when it is needed (#1182)
  • checkers: add fixable for commentFormatting (#1190) (#1191)

Tests

  • checkers: add more octalLiteral tests (#1150)
  • checkers: add tests for #1166 (#1172)
  • checkers: add few lines test cases for deprecatedComment (#1189)

Docs

  • checkers/preferFprint: fix docs (#1142)

Development

  • checkers: add hidden ruleguard debug handle (#1134)
  • tools: move tools into own module (#1162)
  • checkers: move out embedded rules from checkers.go (#1186)

Performance

  • checkers: optimize deprecatedComment (#1188)
  • checkers: optimize commentFormatting (#1192)

v0.6.1

2 years ago

A small release to simplify the update procedure for the golangci-lint.

Changes

  • Split ruleguard checker failOnError param in two: failOnError + failOn to avoid backwards-incompatible API
  • Fix release binaries for most platforms

v0.6.0

2 years ago

Special notes

  • We're hitting the 100 checkers threshold! :tada:
  • Several old checkers are rewritten in ruleguard rules! :tada:
  • Our project passed 1000 stars at last! :tada:

This release is very special. :heart:

New checkers

  • added emptyDecl checker (#1120)
  • added externalErrorReassign checker (#1117)
  • added badSorting checker (#1114)
  • added exposedSyncMutex checker (#1111)
  • added timeExprSimplify checker (#1112)
  • added syncMapLoadAndDelete checker (#1092)
  • added sprintfQuotedString checker (#1092)

Checker improvements and fixes

  • dupCase now checks select statements (#1116)
  • more offby1 checker patterns (#1094)
  • made sloppyTypeAssert more conservative (#1113)
  • made yodaStyleExpr more conservative (#1105)
  • ignore else { if <init> {...} } in elseif checker (#1102)
  • octalLiteral checker is reworked completely (#1101)
  • unnecessaryBlock now reports redundant {} in case/comm clauses (#1097)

Misc

  • allow target Go version constraint (#1074)
  • ruleguard version is updated to v0.3.11
  • docs: render total checkers count in the output (#1115)

Contributors: @quasilyte @cristaloleg @tamaravedenina

v0.5.8

2 years ago

Fixes

  • checkers/octalLiteral: skip check for fs package (#1062)
  • checkers/commentFormatting: should allow vertical bars (#1066)
  • fixes dsl package dependency

Checkers

  • checkers: add preferFprint rule (#1070)
  • checkers: add returnAfterHttpError (#1079)
  • checkers: add redundantSprint checker (#1086)
  • checkers: add preferFilepathJoin (#1078)
  • checkers: add preferStringWriter (#1077)
  • checkers: add sliceClear rule (#1087)
  • checkers: add preferWriteByte (#1067)
  • httpNoBody: add NewRequestWithContext (#1076)
  • checkers: add more dupArg patterns (#1089)
  • Ported several checkers to the ruleguard rules

Misc

  • granular error handling, skip or fail on parsing error (#1024)
  • udpate ruleguard to 0.3.9 (#1084)
  • all: add initial quickfix support (#1088)

Special thanks to @peakle, @sebastien-rosset, @tdakkota and @cristaloleg

v0.5.7

2 years ago

Fixes

  • checkers: fix typeUnparen suggestions for chan types

Checkers

  • checkers: add preferDecodeRune (#1043)
  • checkers: add ioutilDeprecated (#1054)

Changes

  • checkers: make it possible to write embedded ruleguard rules

Docs

  • ci: auto update docs (#1047)
  • checkers: fixed deferUnlambda "after" docs (#1048)

Chore

  • checkers: rewrite several checkers using the ruleguard rules (#1046)
  • checkers: rewrite badLock with ruleguard patterns (#1052)
  • checkers: rewrite deferUnlambda in terms of ruleguard rules (#1058)