Releases: quasilyte/go-ruleguard
Releases · quasilyte/go-ruleguard
v0.3.15
Changes
- ruleguard: pass imports table to gogrep pattern compiler @quasilyte (#343)
- ruleguard: better text truncation in the rendered message @quasilyte (#330)
- ruleguard: assign the current func decl @quasilyte (#328)
- ruleguard,analyzer: change Report() callback argument @quasilyte (#327)
DSL
- ruleguard: implement
ExprType.HasPointers()predicate @quasilyte (#337) - dsl: add ExprType.HasPointers() predicate @quasilyte (#336)
- ruleguard: implement Type.OfKind filter @quasilyte (#334)
- dsl: add Type.OfKind method @quasilyte (#332)
Fixes
- ruleguard: improve FieldList and Field matching @quasilyte (#342)
- ruleguard: continue pattern matching for multi-match patterns @quasilyte (#340)
- close test descriptor @peakle (#335)
Performance
- ruleguard: call Walk handler with nodetag @quasilyte (#341)
Other
- ruleguard: add profiling labels support @quasilyte (#338)
v0.3.14
Changes
Features
- ruleguard: add support for local functions @quasilyte (#298)
Other
- update gogrep version @quasilyte (#324)
- all: use external gogrep, remove internal/gogrep @quasilyte (#319)
- add build ignore line to ignore rules.go @harshavardhana (#305)
- Upgrade go.mod to use most recent ruleguard v0.3.13 @sebastien-rosset (#297)
- internal/gogrep: allow
$*_(optnode) in valuespec type @quasilyte (#296)
Testing
- add test for issue317 @peakle (#322)
- internal/gogrep: add more append tests @quasilyte (#314)
- ruleguard: add TODO error test for local funcs @quasilyte (#300)
- Add testing for const iota rules @timkral (#293)
Docs
- all: update gogrep links, we're using a different gogrep now @quasilyte (#320)
- fix typo in readme @peakle (#313)
- readme: add one more rule in the examples @quasilyte (#299)
Custom filters
- ruleguard/quasigo: add variadic native func calls support @quasilyte (#312)
- ruleguard/quasigo: enable multi-return + add strconv lib support @quasilyte (#311)
- ruleguard/quasigo: add some strings package wrappers @quasilyte (#309)
- ruleguard/quasigo: emit implicit
returnstmt @quasilyte (#308) - ruleguard/quasigo: implement void funcs @quasilyte (#307)
v0.3.13
Changes
- fix
go envparsing for Windows @quasilyte (#289) - improve
CGO_ENABLEDinference - produce release binaries for
windows/arm64as well
v0.3.12
Changes
- all: overcoming srcimporter issues @quasilyte (#288)
v0.3.11
Changes
- ruleguard: give error message when filter uses undefined var @quasilyte (#282)
- ruleguard: use a separate token.FileSet for gogrep parsing @quasilyte (#275)
- ruleguard: associate rule line with a pattern string @quasilyte (#272)
DSL
- ruleguard: implement ConstSlice predicate @quasilyte (#271)
Matching
- internal/gogrep: add support for
$*_in slice expr members @quasilyte (#284) - internal/gogrep: implement
struct{...}andinterface{...}matching @quasilyte (#278)
Performance
- ruleguard/textmatch: an abstraction on top of regexp for performance @quasilyte (#281)
- internal/gogrep: use external MatcherState (no Clone() per
Engine.Run()anymore) @quasilyte (#286) - internal/gogrep: make simple call patterns match faster @quasilyte (#277)
- ruleguard: make printed IR more compact @quasilyte (#276)
Other
- use
||ingo-ruleguard/analyzer/testdata/src/gocritic/rules.go@penthaapatel (#283) - analyzer/testdata: use
\Qregexp quoting everywhere @quasilyte (#279)
v0.3.11-rc.3
Changes
- internal/gogrep: implement
struct{...}andinterface{...}matching @quasilyte (#278) - internal/gogrep: make simple call patterns match faster @quasilyte (#277)
v0.3.11-rc.2
Changes
- ruleguard: make printed IR more compact @quasilyte (#276)
v0.3.11-rc.1
Changes
- ruleguard: use a separate token.FileSet for gogrep parsing @quasilyte (#275)
- ruleguard: associate rule line with a pattern string @quasilyte (#272)
- ruleguard: implement ConstSlice predicate @quasilyte (#271)
v0.3.10
Features
- ruleguard: add deadcode filter @quasilyte (#267)
- internal/stdinfo: update stdlib packages info @quasilyte (#261)
Fixes
- internal/gogrep: fix declstmt matching in stmtlist @quasilyte (#263)
- internal/gogrep: fix
if $x {...}compilation @quasilyte (#268) - internal/gogrep: improve gendecl lists matching @quasilyte (#264)
Other
- analyzer/testdata: more test rules @quasilyte (#269)
- analyzer/testdata: add nodiscard example @quasilyte (#266)
- analyzer: add uber style guide rules to the test suite @quasilyte (#265)
v0.3.9
Changes
- all: make syntax patterns aware of stdlib packages @quasilyte (#260)
- ruleguard: add Go version filters @quasilyte (#259)
- ruleguard: add parent nodes support for $$ @quasilyte (#257)