Releases: quasilyte/go-ruleguard
Releases · quasilyte/go-ruleguard
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
return
stmt @quasilyte (#308) - ruleguard/quasigo: implement void funcs @quasilyte (#307)
v0.3.13
Changes
- fix
go env
parsing for Windows @quasilyte (#289) - improve
CGO_ENABLED
inference - produce release binaries for
windows/arm64
as 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
\Q
regexp 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)
v0.3.8: all: introduce IR (#254)
Experimental release.
Introducing IR layer to the ruleguard.
This is useful for applications that ember ruleguard rules, like go-critic
.
This release is not recommended for general use.