v0.3.1
Pre-release
Pre-release
Changes
Highlights:
- added more package imports caching
- started gogrep matching engine rewriting
- added non-strict literal matching
Bug fixes
- gogrep: save and restore wildcard positions during
$*
backtracking @quasilyte (#211)
DSL
- dsl/types: add types.Array and types.Slice @quasilyte (#213)
- ruleguard: allow FQN in Implements() filter @quasilyte (#187)
Performance
- ruleguard: add loaded package deps to cache @quasilyte (#194)
- gogrep: don't copy capture slice during backtracking @quasilyte (#210)
- gogrep: use slices instead of maps for capture data @quasilyte (#209)
Rules
- rules: add emptyError rule @quasilyte (#208)
Dev
- all: improve test coverage, update dsl package to v0.3.1 @quasilyte (#214)
- makefile: use "./..." everywhere + use coverpkg for coverage profiles @quasilyte (#212)
- gogrep: add more tests @quasilyte (#206)
- gogrep: rewrite matching code @quasilyte (#205)
- gogrep: remove unused *types.Info field from the matcher @quasilyte (#204)
- gogrep: simplify expr/stmt list matching @quasilyte (#203)
- gogrep: encode varInfo into the ast.Ident directly @quasilyte (#202)
- gogrep: use different parsing func in tests @quasilyte (#201)
- gogrep: add more capture tests @quasilyte (#200)
- gogrep: add capture tests @quasilyte (#199)
- gogrep: update gogrep code (from upstream) + rewrite tests @quasilyte (#198)
- gogrep: remove unused code @quasilyte (#197)
- ruleguard/quasigo: fix flaky NoAllocs test @quasilyte (#196)
- analyzer: reduce metachar escaping in want regexps by using \Q @mlevesquedion (#195)
- update the dsl package dependency version @quasilyte (#190)
- analyzer: don't print "e: " prefix in
-e
mode @quasilyte (#189) - ruleguard: fix nil engine state for bundles @quasilyte (#185)
- ruleguard/quasigo: improve "bad ret type" error message @quasilyte (#186)