Releases: quasilyte/go-ruleguard
Releases · quasilyte/go-ruleguard
v0.4.2
Changes
- Fix for Go 1.22 @cristaloleg (#473)
v0.4.1
What's Changed
- build(deps): bump golang.org/x/tools from 0.11.0 to 0.12.0 by @dependabot in #454
- build(deps): bump golang.org/x/tools from 0.12.0 to 0.14.0 by @dependabot in #461
- build(deps): bump github.com/google/go-cmp from 0.5.9 to 0.6.0 by @dependabot in #462
- ruleguard: fix typos by @alexandear in #467
- build(deps): bump actions/checkout from 1 to 4 by @dependabot in #459
- build(deps): bump toolmantim/release-drafter from 5.12.1 to 5.25.0 by @dependabot in #463
- build(deps): bump golang.org/x/tools from 0.14.0 to 0.17.0 by @dependabot in #469
New Contributors
- @alexandear made their first contribution in #467
Full Changelog: v0.4.0...v0.4.1
v0.4.0
v0.3.20
Changes
- Make go env vars static @liggitt (#456)
- Make goenv parsing robust across go versions and OSes @liggitt (#455)
- update x/tools: v0.7.0 => v0.11.0 @quasilyte (#450)
- chore: update golang.org/x dependencies @lizthegrey (#438)
What's Changed
- chore: update golang.org/x dependencies by @lizthegrey in #438
- update x/tools: v0.7.0 => v0.11.0 by @quasilyte in #450
- Make goenv parsing robust across go versions and OSes by @liggitt in #455
- Make go env vars static by @liggitt in #456
New Contributors
- @lizthegrey made their first contribution in #438
- @liggitt made their first contribution in #455
Full Changelog: v0.3.19...v0.3.20
v0.3.19
Changes
- go.mod: use tagged gogrep lib @quasilyte (#435)
- ruleguard: implement Object.IsVariadicParam() filter @quasilyte (#428)
- README typos @cristiangreco (#426)
- rules: add sort.Float64s to sortFuncs @junk1tm (#418)
- docs: update links and fix a few typos @junk1tm (#419)
- analyzer: use sync.Pool to re-use ruleguard runner state @quasilyte (#416)
- ruleguard: introduce reusable runner state @quasilyte (#415)
- build(deps): bump github.com/google/go-cmp from 0.5.8 to 0.5.9 @dependabot (#405)
- ruleguard/typematch: replace Split with Index to avoid allocs @quasilyte (#414)
- ruleguard: remove matchData allocations @quasilyte (#413)
- Add troubleshooting sectipon to README.md @mem (#411)
- ruleguard: fix sizeof filter for type params @quasilyte (#407)
- Create dependabot.yml @cristaloleg (#401)
v0.3.18
Changes
- update deps @quasilyte (#400)
- internal/xtypes: handle new Union and TypeParam types @quasilyte (#399)
v0.3.17
Changes
- Update x/tools for golang/go#51629 @dstrelau (#396)
- ruleguard: implement
dsl/types
Struct type and its methods @quasilyte (#393)
v0.3.16
Changes
- ruleguard: implement SinkType filter @quasilyte (#384)
- dsl: add SinkType @quasilyte (#383)
- ruleguard: implement Var.Comparable predicate @quasilyte (#382)
- chore: update xtools to 0.1.10 for go1.18 @deansheather (#381)
- ruleguard: implement dsl Do() function @quasilyte (#379)
- all: allow calling quasigo functions from quasigo @quasilyte (#378)
- ruleguard/quasigo: pass args via ValueStack @quasilyte (#377)
- change group filter signature @peakle (#376)
- add global property for Var @peakle (#370)
- add IsGlobal method to dsl @peakle (#375)
- ruleguard/typematch: use external matcher state @quasilyte (#374)
- ruleguard: use stdinfo PathByName and don't make excessive copies @quasilyte (#373)
- all: use quasilyte/stdinfo, remove internal/stdinfo @advimirl (#371)
- ruleguard: make sub-match gogrep state per-runner @quasilyte (#367)
- ruleguard: implement Type.IdenticalTo method @quasilyte (#365)
- all: implement sub-matches support @quasilyte (#363)
- dsl: add submatches experimental API @quasilyte (#362)
- analyzer: add tests for #360 @quasilyte (#361)
- ruleguard/typematch: handle
unsafe.Pointer
correctly @quasilyte (#359) - ruleguard/typematch: improve function type matching @quasilyte (#358)
- ruleguard: implement Type.Size expr on the RHS @quasilyte (#356)
- ruleguard: make truncate len configurable @quasilyte (#354)
- ruleguard: autofix some interpolated expressions @quasilyte (#353)
- ruleguard: do less copying in ir loader @quasilyte (#352)
- ruleguard/irprint: make printed IR ~15% more compact @quasilyte (#351)
- ruleguard: implement ExprType.HasMethod() @quasilyte (#350)
- dsl: add ExprType.HasMethod() @quasilyte (#349)
- analyzer: add quickfix tests @quasilyte (#347)
- update release version and binaries @quasilyte (#346)
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
return
stmt @quasilyte (#308) - ruleguard/quasigo: implement void funcs @quasilyte (#307)