Releases: ivov/lisette
Releases · ivov/lisette
lisette-v0.5.0
lisette-v0.4.4
Features
- feat: capstone test runner #844
a8c2a70 - feat: in-test logging with
t.log#8419c124a5 - feat: group test report sections by source file #838
14b6d73 - feat: discover tests in unimported modules #833
3b7da4e - feat: expose unexported go structs as opaque handles #826
4d377ce - feat: use geometric glyphs for diagnostics #824
20515fe - feat: add
--failedflag tolis test#8236df3852 - feat: lint manual bit rotation #822
9f7c383 - feat: lints for redundant f-string nesting and conversions #820
b8c78a4 - feat: support skipping tests with
t.skip#819aa29884 - feat: infer
TestContextfor bare test function param #81622f4980 - feat: lint for needless negative count in
strings.SplitN#8150a14d5b - feat: rework test report aesthetics #812
efda033 - feat: lints for enum-name and constructor-name repetition #811
2c20bc0 - feat: lints for redundant field names and needless struct updates #805
e9038b5 - feat: add
--filtertolis testand support test titles #8027515779 - feat: add
let assertfor refutable test bindings #8001dcb5fa - feat: decompose failing asserts into operand values #797
066e252 - feat: recognize
assertkeyword #7963f859ce - feat: lint redundant rebinding of a variable to itself #793
c8ed3d7 - feat: lint if-let used as an equality check #792
e3e4edf - feat: targeted diagnostic for go's
make()syntax #791904ef20 - feat: lints for while-let, bool-assign, single-element loops #789
240c9af - feat: render failing
#[test]results as source diagnostics #788e583f2c - feat: improve DX for
forandwhileloops in value position #785e318ada - feat: lints for redundant guards, wildcards, duplicate match arms #784
b8a5c7b - feat: introduce
TestContextfor test functions #783630ef8c - feat: support iterating over
iter.Seqanditer.Seq2in for loops #78262b3239 - feat: tighten emitted go output for go-interop result calls #780
bb7091d - feat: lints for collapsible match and else-if nesting #779
dab7d5d - feat: glow up
lis doc#778451f97a - feat: render a grouped report for
lis test#7774881724 - feat: lints for multiply-by-minus-one and misrefactored assignment #770
d24755f - feat: run test functions via
lis test#769f27d2ec
Fixes
- fix: allow if/else branches to widen to an interface #843
8016767 - fix: catch mismatched match/select arms in value position #842
703754a - fix: improve type-argument handling for VarArgs #831
b53cf2f - fix: recover from invalid attribute arguments #836
0933af3 - fix: print test report to stdout like
go test#8353e2769b - fix: wrap long
t.skipreasons instead of overflowing #834383fe03 - fix: derive subtest tree from
t.runsource names #83294ea076 - fix: truncate large assert operand values in test reports #830
16f7c1c - fix: reserve test wrapper handle names to avoid shadowing #829
173d7b8 - fix: render subtest panics with a source frame #827
5e154cc - fix: resolve go subpackage import after cache clear #821
7726cb4 - fix: preserve value-less const declarations when formatting #817
1c39c0a - fix: stop versioned go imports colliding on version segment #807
643e38f - fix: relax length comparison lint to skip non-empty checks #806
95767d4 - fix: make stdlib typedef extraction concurrency-safe #799
e95f500 - fix: reconstruct go type args for collapsed generics #781
98ea506 - fix: emit valid go for a shift expression cast to float #775
a84f102 - fix: em...
lisette-v0.4.3
- feat: enable cgo for third-party go packages #760
f097c20 - fix: fall back to constructor heuristic on inconclusive nil analysis #761
50ab4e0 - feat: lint for an operand and its own negation #759
c2d91fb - feat: recognize and validate
#[test]functions #758ad379b2 - fix: take recursive-enum constructor fields by value #751
1de2f4e - refactor: drop the string-setup path from emit #757
d30936d - feat: discover
.test.lisfiles and isolate them from production #7568d4390b - feat: lints for slice membership and emptiness checks #755
519f424 - feat: lints for unnecessary eager and lazy evaluation #754
0bd336e - chore: update fuzz lockfile #750
33d6fbe - refactor: extract the post-inference passes into their own crate #749
4c41014 - feat: go-to-definition for prelude symbols #748
a56fd02 - refactor: decouple inference from the post-inference passes #747
ac3a457 - feat: inlay hint additons #742
ebd6ef2 - feat: introduce
#[equality]attribute #7463a273a3 - fix: reject VarArgs in non-last parameter position #743
ab535ad - feat: lints for needless question mark and manual option zip #744
4a40051
lisette-v0.4.2
- refactor: rename info summary count label to advisories #741
410b75e - feat: inlay hints for parameter names at call sites #740
70fb4a1 - ci: build bindgen unoptimized to speed up stdlib check #739
4d8d558 - feat: show parameter names in LSP signature help #738
0bc93c7 - feat: lints for option/result combinator simplifications #737
63807bf - ci: cache the go build output for e2e suite #736
6a004df - feat: deep equality for slices and maps of equatable types #735
f331d8f - ci: run on main to warm the pull request cache #734
7b727d1 - feat: lints for option/result match simplifications #733
6fccf25 - ci: split unit tests from main suite #732
559b60c - fix: track equals liveness per receiver type #731
edb638c - fix: reject unrepresentable receiver method bounds #730
8a18611 - refactor: prep for semantics crate split #729
bc16ce7 - feat: lint for botched variable swaps #728
c5a4cc6 - feat: lint for min/max clamp mistakes #726
4b54e8a
lisette-v0.4.1
- test: render remaining emit snapshot descriptions as yaml blocks #725
414e81b - fix: correct UFCS lowering and generic type args #724
2ce2570 - feat: lint for float comparison hazards and NaN casts #723
6a316fe - feat: add LSP inlay type hints for
letbindings #722c61d141 - feat: lint for faulty bit masks and equal operands #721
b23d692 - refactor: tighten bindgen for maintainability #720
efde06b - ci: stop requiring zed extension version bump on grammar change #718
13a3231 - refactor: rework cli styling #717
27d427e - chore: rebuild playground #716
66677a1 - feat: add
equalsmethod for slices and maps #7152c69536 - feat: flag impossible, redundant, and combinable comparisons #712
8fbcb7f
lisette-v0.4.0
This version contains breaking changes.
- feat: advise against recompiling a regexp in a loop #710
b88540d - feat: go-to-definition for go stdlib symbols #684
5126fad - fix: stop generated imports from colliding with user names #709
d627ae1 - feat: warn on leaked context from uncalled cancel func #708
b39bc39 - feat: support method expressions on promoted methods #707
6dc0e2c - feat!: make
lis buildproduce a binary #7066f0b0f5 - feat: warn on use of deprecated Go APIs #705
252aade - chore: remove benchmark crate #704
9885735 - refactor!: rename
--debugto--sourcemap#703c5245f4 - feat: allow suppressing more lints via
#[allow]#702ce4c0fa - refactor!: drop
implfor interface embedding in favor ofembed#70115563f9 - feat: warn when
os.Exitskips adefer#7002d22251 - refactor: finish migrating emit statements to structured IR #699
e3701db - perf: run independent pass groups concurrently #698
06a0aa2 - perf: stop cloning function bodies during emit #696
cbe4d70
lisette-v0.3.4
- docs: document embedding imported Go types #695
d027dbd - fix: adjust diagnostics for
var#6948617a15 - feat: promote methods through unexported Go embeds #693
14e9316 - fix: enforce sealing of imported Go interfaces #692
b1db049 - test: render snapshot descriptions as yaml literal blocks #691
ff2c70a - feat: add
lis emitto CLI #689f130d63 - refactor: reshape
lis runonto build-then-exec #688bd807f9 - feat: broaden imported types accepted as embed targets #687
a3edafa - chore: upgrade to
insta1.48.0 #686eb77a81 - perf: parallelize module registration #685
d197b78 - refactor: replace text-scanned liveness with structural tracking #683
35aa700 - fix: reject non-comparable interface and unknown equality #682
ddd6bc0 - refactor: de-flatten imported struct embeds #681
1bd8dfc - feat: broaden match-to-if-let lint coverage #680
244fe2a - perf: dispatch ast walk checks by expression kind #679
202244a - perf: memoize global enum layouts and generic constraints in emit #677
1827dc0 - test: add imported types to embed harness #676
aeeca19 - feat: embedding for generic structs #674
2fef804 - perf: freeze types in place instead of rebuilding the ast #673
156652c - fix: reject namespace used as a value #671
c9e1eec - feat: hover and go-to-definition on promoted members #667
f181b25
lisette-v0.3.3
- feat: support embedding in native structs #666
eec2ea2 - refactor: replace
implwithembedfor interface embedding #66418d7902 - test: differential harness for struct and interface embedding #663
b580f92 - fix: skip
manual_map_orlint on side-effecting match arms #662ecb5ed8 - fix: type unexported singleton vars by their implemented interface #661
be8e0f2 - fix: prevent go types from shadowing prelude generics #660
e0f036b - feat: add
Result.wrap_errto attach context to errors #658668cab7 - fix: keep f-string interpolations single-line #657
ee4f66a
lisette-v0.3.2
- fix: cross-module reference tracking in unused lints #651
64b9dc7 - refactor: introduce
embedkeyword #650cd78bfb - feat: lint for type limit comparison #648
f8757f5 - fix: classify compound wrappers by qualified id #646
192df75 - refactor: store type attributes as a map #647
7063de2 - feat: bind go anonymous struct types #644
3a44617 - feat: add redundant else lint #643
8f8b584 - feat: add manual find simplification lint #642
6e44a27 - fix: tuple-struct and newtype pattern exhaustiveness #641
1fd5350 - test: move sync tests in-process #640
85d8c44 - fix: zero-fill emit for newtype and tuple-struct fields #637
8b68e65
lisette-v0.3.1
- feat: add map_or_else to Result #633
d5939f7 - feat: add manual map_or simplification lint #632
fc4e772 - fix: exclude
#[display]struct fields from the unused-field lint #631100d37d - fix: stop
lis docmangling third-party module paths #630f376290 - fix: suggest
cmp.Orderedbound when comparing unbounded generics #629a17a67a - refactor: continue collapsing emit layer into IR #628
ae8ca07 - fix: resolve shadowed builtin types in type position #627
3109a37 - fix: stack overflow when zero-filling a function-alias field #626
127d4e1 - feat: add collapsible if lint #625
fc77943 - feat: reject legacy octal integer literals #624
94c1747 - feat: add single-arm select lint #622
80e1837 - feat: add manual
strings.ReplaceAlllint #6212a88406 - feat: add redundant slice bounds lint #620
eb6f3f4 - feat: add redundant
Sprintflint #619e515873 - refactor: dedupe emit coercion, call, and abi helpers #618
f3db058 - feat: add manual
bytes.Equallint #616d909ca0 - docs: clarify interop directions #617
6b78dba - feat: add manual
time.Untillint #6151d8000d - feat: add manual
time.Sincelint #614375a226 - feat: offer lsp attribute completions on
#[#6139f28fff - refactor: make the scope stack the single source for return context #611
244a089 - perf: share function signatures via Arc instead of deep-cloning #610
3687940 - feat: add inefficient comparison lint #609
d67fda2 - fix: pin generic impl type params during interface satisfaction #608
f7b8201 - perf: cache module field projections, skip redundant type resolves #607
267f64f - fix: enforce pointer-receiver rule through generic bounds #606
8c46015 - refactor: add misplaced attribute diagnostic #605
ae95f55 - perf: stop cloning function and lambda signatures twice #604
63987ec - refactor: rebuild tree-sitter parser if stale in nvim #603
84b56f6 - feat: add goos/goarch unknown-value comparison lint #602
9e7a38f - perf: cut allocations in semantic analysis hot paths #601
cdfa21c - feat: add integer division to zero lint #599
814bbb3