Changelog
Lisette is under active development. Any version before 1.0.0 may include breaking changes.
v0.12.0 (2026-08-28)
Section titled “v0.12.0 (2026-08-28)”Features
Section titled “Features”- feat: add Go stdlib typedefs for
windows/arm64#1318fc5f3e0 - feat: parse write permission in editor grammar #1292
0c74a0f - feat!: write permission in types #1287
ed50946 - feat:
lis upgrade#1282c7c5831 - feat: bind
VarArgs<T>asSlice<T>in function bodies #12759bb37df - feat: emit typedef write permission in type position #1274
1e6ff39 - feat: autofix for writes to immutable bindings #1273
3f3e05a
- fix: missing return on guarded match #1340
ed5030a - fix: parenthesize newtype conversions #1332
4576c01 - fix: align import scanner whitespace with the lexer #1338
c36488d - fix: reject non-identifier package dir #1326
d1bae30 - fix: align write permission on interface declarations #1321
77a175a - fix: emit Go-imported type and field names verbatim #1320
28bbb03 - fix: emit a Go newtype autofill as its zero value #1319
1fbbc77 - fix: lsp auto-complete on embedded structs #1313
fa6f4ef - fix: allow a handler to set a response header #1317
c3e6523 - fix: exempt
#[iterate]variants from unused variant lint #131602cdac4 - fix: wrap function and interface signatures at width limit #1315
91973b6 - fix: drop unsafe autofixes #1312
33edb94 - fix: reject constant arithmetic Go would refuse #1311
2ced85d - fix: emit promoted Go fields against their declaring type #1310
9b37b91 - fix: reject
deferinsidetryandrecover#1309abc0a29 - fix: align
Slice.containswithSlice.equals#13071490820 - fix: align unused warnings across
liscommands #1306602eb07 - fix: stop inferred
Unknownfrom absorbing branch mismatches #13042ff0e94 - fix: wrap nilable Go map fields in
Option#130047a329f - fix: reject map reads that yield a nil map #1299
efc9a30 - fix: carry write permission through interface satisfaction #1295
b45e036 - fix: refuse
mutonimpltarget #1291150c0a8 - fix: type aliases to
Option,ResultandPartial#1289d26d796 - fix: element-depth write permission on Go returns #1280
90a278b - fix: stack overflow on undefined type inside generic #1277
9785800
Internals
Section titled “Internals”- refactor: reword helptext in receiver diagnostics #1339
06f852e - chore: enforce max nesting depth lint #1336
c69dd64 - refactor: tighten diagnostic detection #1335
e62ae32 - docs: rework prelude, doc groups and CLI help #1328
814cf23 - chore: reword the immutable variable help #1327
c528ebb - chore: simplify
lis learnstore package #13252d8da06 - chore: rename cast diagnostics to conversion #1324
0f0d9e2 - perf: plan each emitted call once #1323
7af9a71 - perf: cut redundant definition clones and method-set builds #1322
9a573dc - test: restore
copylocksin emitvetcheck #13052343771 - refactor: decouple bindgen’s target from environment #1303
4b23091 - refactor: consolidate duplicated semantics logic and state #1302
6e104aa - chore: tighten missing bound diagnostic #1301
812291d - refactor: pass build target through build path #1298
4336693 - refactor: consolidate duplicated emitter logic and state #1296
cc95a9c - chore: reword verbose diagnostics #1294
d640178 - chore: extend syntax highlighting and refresh editor icons #1293
e750c84 - refactor: emit direct error checks for fallible Go calls #1290
2073873 - chore: blank line before fix summary #1288
8cb0d5d - test: stop assuming
target/debugin shebang test #1281554c64d - chore: clearer diagnostic copy #1279
24e2ae5 - refactor: collapse representations of
mutin annotations #12785a5701f - refactor: derive enum constructors after type bodies register #1271
ef1198e
v0.11.3 (2026-08-16)
Section titled “v0.11.3 (2026-08-16)”Features
Section titled “Features”- feat: integer constant in
Arraysize #126801209ee - feat: SSA return view analysis for bindgen #1254
3a37c9c
- fix: reject mixed-width numeric comparisons #1258
8271727 - fix: emit explicit tuple type arguments for adapted literals #1248
4da8bbd
Internals
Section titled “Internals”- chore: enforce short paths at callsites #1270
d713d2f - refactor: match tuple subjects without building tuple #1267
7145c37 - refactor: emit
map,filter,foldandfindas Go loops #12658f2415d - refactor: drop unreachable
ifinlet ... else#1264b0e2689 - refactor: drop the underscore prefix on live emit temps #1263
b45f842 - refactor: emit
errors.Newinstead of verb-freefmt.Errorf#1262bfc6e45 - refactor: elide redundant element types in Go composite literals #1261
e6b7e21 - refactor: emit counted loops as
for i := range n#126017a2789 - refactor: emit guarded matches as a
switchwithout a jump target #125990b0ede - refactor: parse and represent
mutin type position #1257ff861e4 - refactor: reuse stable names instead of copying them into temps #1256
04e6995 - refactor: emit assertions as a direct failure test without temps #1255
27ec06d - refactor: lower branch-assigned temps to direct returns and
:=#12530827ae3 - refactor: emit
v, ok :=when matching on comma-ok calls #1252ce2c0a5 - refactor: emit
if err != nilwhen propagating with?#1251314a555 - refactor: collapse duplicated emit and checker state #1250
dc060ec - refactor: lower
Map.fromto a Go map literal #1249d0dc1de - refactor: reword the
Map<K, Unknown>type mismatch help #124623b237c
v0.11.2 (2026-08-09)
Section titled “v0.11.2 (2026-08-09)”Features
Section titled “Features”- feat: widen concrete error types through
?#1237a816e9b - feat: third-party Go dependencies for scripts #1234
3a3ed27 - feat: auto-import Go package completions in LSP #1229
f5ee837 - feat: SSA parameter nilability analysis for bindgen #1226
4334810 - feat: allow same-named enum payload fields across variants #1220
0e77c71 - feat: allow bare constants as match patterns #1219
7b80e14 - feat: shebang line for scripts #1218
ff0c6e2 - feat: qualify type names in diagnostics #1214
894a7d6 - feat: diagnostic for unprefixed f-strings #1208
76de974 - feat:
lis buildandlis emitfor scripts #120728d2f13
- fix: drop
elsearms that render no output #124023300c4 - fix: prevent cascading parse errors from missing tokens #1236
3332ef1 - fix: reject dependency paths Go would refuse #1230
2dff0c8 - fix: treat
Unknownas a Go interface when emitting #1222037ddb8 - fix: ignore local-only
mutin function unification #12236413acf - fix: prune a script build dir against its own emit #1217
8970c34 - fix: stop suggesting
let muton function parameters #121255132fd - fix: suggest
?in diagnostic only for matching error types #1211671178b - fix: reject dot-named package dirs #1210
f67d36d - fix: anchor import cycle diagnostic on its imports #1206
d2625ee
Internals
Section titled “Internals”- refactor: flatten multi-line help in three diagnostics #1244
3156b02 - refactor: reshape interface conformance diagnostics #1243
988fe65 - refactor: color operands in test failure labels #1241
af53422 - refactor: make bindgen failure messages clearer #1239
f3ce3d6 - perf: share one LSP analysis per package #1238
93ae3e6 - refactor: consolidate semantic state into single owners #1233
b14b667 - refactor: resolve script imports from declared dependencies #1232
f4601b1 - refactor: separate manifest writes from reconciliation #1231
4d22a43 - refactor: move the typedef package directive into stdlib #1228
d5d1b38 - perf: index file IDs by owning package in large stores #1227
e588a41 - refactor: move brace scanning into lexer #1216
c6917d2 - test: locate
lisbinary via cargo inlis learntest #121318b3f84 - refactor: align package and module terminology with Go #1209
251750a - docs: update stale type param bounds section #1205
350e190 - refactor: consolidate type-argument scanning #1203
86afd24 - ci: mark breaking release via PR label #1201
0a7fe2b - refactor: rename single-file compilation from standalone to script #1199
c55b6a6
v0.11.1 (2026-08-02)
Section titled “v0.11.1 (2026-08-02)”Internals
Section titled “Internals”- chore: version releases by commits, not internal crate APIs #1196
4255d9d - refactor: shed
tokio#11958a0ad45 - refactor: simplify
passescrate data flow #1194169e59c - chore: restore lowercase commit subject enforcement #1190
178666a - chore: upgrade Rust toolchain to 1.97 #1189
4b6dd29 - refactor: take over diagnostic rendering #1188
fbc5f3a
v0.11.0 (2026-08-02)
Section titled “v0.11.0 (2026-08-02)”Features
Section titled “Features”- feat: expand
lis check --output unix#118159561fe - feat: diagnostic for shadowed lambda captures #1173
75967cf - feat: diagnostic for redundant import alias #1164
7a2bcc7 - feat: SSA divergence analysis for bindgen #1163
90c0d38 - feat: diagnostic for infallible test assertions #1157
7d742d9 - feat: diagnostic for needless
continue#11568f73e6a - feat: SSA parameter mutability analysis for bindgen #1149
055001a - feat: diagnostic for redundant
stringstrim guard #11474623457 - feat: diagnostic for manual slice extend #1146
27cb3bd - feat: diagnostic for duplicate map keys #1145
d1fedd0 - feat: diagnostic for zero-count
strings.Replace#11440085e4d - feat:
lis add --pathfor local interop #11424138d3d - feat: diagnostic for
fmt.Printfarity mismatch #11418c0f9e1 - feat: diagnostic for unconditional recursion #1140
0b4229e - feat: diagnostic for constant cast overflow #1139
ae97090 - feat: diagnostic for always-true disjunction #1137
17fdc60 - feat: SSA nilability analysis for bindgen #1133
0bd658e
- fix: unify single-file dispatch across commands #1185
e779916 - fix: extend SSA nilability derivation to maps and channels #1183
b25d797 - fix: stop exempting
deferandtaskfrom discard lints #11820f2859f - fix: enforce import placement at the top of the file #1178
1f096b5 - fix: adjust formatting for long control-flow headers #1174
c15cca5 - fix: extend SSA mutation derivation to interface dispatch #1172
aacc2ff - fix: reject Go types whose zero value is unsafe #1171
39ab76c - fix: derive equality for generics bound by custom interfaces #1160
a21935b - fix: extend SSA mutation derivation to value receivers #1158
ca2f669 - fix: inconsistent escape sequence lexing #1143
5fe7420
Internals
Section titled “Internals”- perf: scan imports instead of parsing cache-hit modules #1187
98b7d0c - refactor: reword diagnostic labels that restate their titles #1186
49fa955 - refactor: drop the source-cache fallback to a default file #1184
c18f0cb - refactor: tailor type-mismatch diagnostic to container widening #1180
3021a2d - chore: use
errorandwrap_errinlis learnproject #117991be43b - chore: clean up clippy exemptions and extend lint coverage #1177
55f823a - refactor: reorganize
semanticscrate into smaller modules #11768e956c8 - refactor: simplify semantic state and module discovery #1175
84a2318 - refactor: simplify pipeline boundaries #1170
f3de2dc - refactor: move entry parsing into analysis #1169
e070629 - refactor: remove desugaring phase #1168
9415bff - refactor: tailor comparable-bound diagnostic to equatable types #1167
01986c0 - test: reuse prelude setup across tests #1166
cf36674 - perf: parallelize
lis formatand cut pretty-printer overhead #1165d1eb039 - perf: inline terminal width detection #1162
efc10c2 - perf: shed more dependencies #1161
682d0d4 - perf: replace
tower-lspwith hand-rolled LSP protocol #1159b6feb50 - perf: reduce dependencies #1155
9f57693 - perf: reduce binary size 20% by skipping stack unwinding #1154
525e414 - docs: update stale claim about fresh values #1151
2fac42b - perf: remove eager Go version check #1150
a41f25e - chore: rebuild playground #1148
14b7cc6 - ci: report fuzz crashes and job failures separately #1138
2853f11 - refactor: derive semantics facts on demand #1135
9d03836
v0.10.0 (2026-07-26)
Section titled “v0.10.0 (2026-07-26)”Features
Section titled “Features”- feat: external tests #1119
f31d29d - feat: add LSP restart command and label-first diagnostics #1106
1ac30e2 - feat: library projects #1094
afb405e - feat: flag safe-to-rename interface-satisfying methods #1093
c0d5d45 - feat: interface satisfaction by emitted Go name #1092
45ed646 - feat: bind generics bounded by embedding interfaces or error #1080
b1ea902 - feat:
lis checkfor orphan modules #1075185ff66
- fix: never split a lambda param list to fit a long call #1118
ab62199 - fix: rebuild arrays and tuples whose elements widen to interfaces #1117
93bb898 - fix: check function types invariantly at param and return #1116
b0f81f1 - fix: accept Go function values in prelude combinators #1115
e0b4879 - fix: reject embedding a non-interface in an interface #1114
ef984d8 - fix: bound AST depth for long operator chains #1105
5a0fccc - fix: emit idiomatic Go casing for constants and private names #1098
ab71731 - fix: stack overflow on circular aliases with growing arguments #1090
be4a595 - fix: parse
fntypes in tuple struct fields #108995ba748 - fix: false positives in lints #1085
0e8dca4 - fix: preserve tuple type aliases at use sites #1082
ce9d275 - fix: shadowed variable in
elseleaking past divergingif#108403d598e - fix: enforce generic bounds on nested return types #1081
74d1e5a - fix: resolve forward-referenced type aliases #1074
4564597 - fix: reject variable shadowing imported module #1073
4e2c006 - fix: refresh LSP diagnostics in other open files post-edit #1070
c2f92e5
Internals
Section titled “Internals”- refactor: decompose complex functions #1132
ec23a60 - refactor: remove and forbid
too_many_argumentsexemptions #11310b5fdfd - refactor: replace raw LSP test positions with cursor markers #1130
abc1cf5 - perf: scan project sources once per check #1129
23eb82c - refactor: model more semantics state with types #1128
575af7e - refactor: enforce build sequencing in CLI #1127
2479b51 - refactor: simplify diagnostics collection #1126
42ef2b7 - refactor: simplify LSP’s state model #1125
2a085e3 - refactor: simplify diagnostic passes #1124
baed5fd - refactor: simplify bindgen #1123
26aa2b7 - chore: sample LoC backfill at week and month ends in UTC #1122
68e7c4e - refactor: unify formatter trivia handling #1121
e9a613b - refactor: remove trivia duplication and flatten select arms #1120
6f46024 - refactor: reduce redundant representation state #1113
2319347 - refactor: encode more invariants in type system #1109
4550708 - refactor: restyle test report #1108
fc853fb - ci: seed fuzz targets and cover missing operators #1107
bb5f6b4 - refactor: polish arithmetic, type name, and interface diagnostics #1104
852d210 - refactor: emit idiomatic Go for chains, errors, and key-only loops #1103
0773678 - refactor: simplify syntax representations #1100
5135b35 - refactor: remodel emit invariants #1099
02b13a0 - refactor: simplify inference flows #1097
8fef96b - chore: sample month-end commits in LoC backfill #1096
a52895d - refactor: tighten visibility and remove dead code #1095
1acd340 - refactor: extract check-handler compile and report helpers #1091
c0ed9c4 - refactor: suggest
errorforErrin type position #108843ded48 - ci: enforce block-style snapshot descriptions #1086
af6c3ee - refactor: model project kind and shared project layout #1083
f0b34c6 - refactor: drop getters that mirror public fields #1079
1cccc2f - refactor: simplify cache persistence #1078
4ac94a2 - refactor: simplify select channel handling #1077
96286bc - refactor: unify generic bound handling #1072
5a3f855
v0.9.0 (2026-07-19)
Section titled “v0.9.0 (2026-07-19)”Features
Section titled “Features”- feat: lint for discarding a unit expression #1064
4171e63 - feat:
lis check --deny warnings#1042a1aa9da - feat:
Slice.makeandSlice.reserve#1026616025f - feat: file comments #1013
85a7242
- fix: enforce generic bounds on indirect uses of bounded types #1066
b8e8d6c - fix: collision between built-in
Arrayand third-partyArray#10652856c2e - fix: reject generic function used as a value with uninferable type #1060
443df9f - fix: reject uninferred bounded type args in construction #1053
50774c7 - fix: tighten
reference_aliases_siblinglint #1050ab72f1b - fix: interface satisfaction for generic
Resultmethods #10467745077 - fix: allow suppressing unused symbol lints #1044
0fb4dce - fix: make
#[json]struct field capitalization consistent #1043523fbbb - fix: reject missing transitive generic bounds #1039
48c6883 - fix: aliased import whose name conflicts with a Go import #1038
3783b52 - fix: preserve interface type in optional field #1037
06e939a - fix!: reject
selfon interface methods #1033101fd72 - fix: preserve mutations through
Refmethod receivers #1032b99edd6 - fix: reject non-constructor names in match patterns #1029
7519a70 - fix: stop rejecting generic returns constrained by builtins #1028
f8973d3 - fix: reject references to interface values #1023
ba506a3 - fix: prevent unintended mutation from
appendaliasing #10174ff43be - fix: require
mutforcopy_from#10147debe4e - fix: make empty slice literals consistent with constructors #1011
8ad90fa - fix: stop rejecting valid self-referential generic types #1010
735f6e1
Internals
Section titled “Internals”- refactor: reword
reference_aliases_siblinghelptext #1063327c8b0 - perf: drop raw Go-stdlib cache before inference #1052
26c92e7 - refactor: reword mutable receiver interface diagnostic #1031
cf3502d - perf: resolve display paths without per-file syscalls #1018
3c1837a - docs: improve
lis docformatting #1016f2290e6 - docs: expand prelude docs #1015
14e7636 - docs: expand array coverage #1005
fdbffb8
v0.8.0 (2026-07-11)
Section titled “v0.8.0 (2026-07-11)”Features
Section titled “Features”- feat: polish array API, diagnostics, tooling #996
0efc0be - feat!: interop for fixed-size arrays #977
ba91e4c - feat: fixed-size arrays #938
7cd5cda
- fix: close tree-sitter grammar gaps #1002
2ec24b1 - fix: shut down language server gracefully #1001
a9ea2f8 - fix!: reject generic bounds that were never declared #999
a4141d0 - fix: let Go infer method call type arguments #993
5bae4a4 - fix: convert
Optionvalues across Go callable boundaries #9918fbbd1b - fix: distinguish between same-named structs in unused field lint #987
b850c8b - fix: follow embed promotion in unused struct field lint #985
31fdd72 - fix: reject built-in types as interface values #984
72f90b5 - fix: reject enum variant spread when fields may be absent #979
075d708 - fix:
#[display]for embeddings #9752b18e84 - fix: preserve Go’s
uintptrin typedefs #971084c309 - fix: sentinel-returning Go functions as values #970
88065b7 - fix: equality on recursive enums #969
680f8a0 - fix:
fmt.Printlnfor concatenated f-strings #9686cc85b0 - fix: emit pointer indirection for indirect enum recursion #966
039eb73
Internals
Section titled “Internals”- chore: rebuild playground #1000
f34a066 - docs: surface fixed-size arrays #998
75673b4 - refactor: derive emit facts upstream #997
c6f515b - refactor: preserve lexical control targets when lowering #995
7325e75 - refactor: give each emitted file its own package namespace #994
32723ee - refactor: model recursive Go slot layouts with provenance #990
01cb446 - refactor: record side effects when lowering expressions #989
6c99aa5 - refactor: unify how calls resolve their Go signature #988
1e6516b - perf: parallelize source hashing and test-module discovery #986
f5dde91 - ci: rename LoC action #982
7123691 - ci: track production lines of code over time #981
7c9da0e - perf: skip and parallelize the typedef import scan #980
07fcbaf - refactor: walk pattern decision trees directly in emit #978
03dd153 - refactor: rename zero-fill to autofill #976
3361559 - refactor: unify reserved-name escaping #974
9975cb3 - refactor: rework generic type param name tracking #972
5e70796 - chore: bump crossbeam-epoch for RUSTSEC-2026-0204 #973
df9ae84 - refactor: simplify
mutaliasing protection #9676d86cc5 - refactor: skip
Resultfor Go-interop?intryblocks #9656b9ce9d - refactor: report signed lower bound in overflow helptext #963
6fde535 - test: cover prelude channel close safety #962
ca5f8d4
v0.7.0 (2026-07-04)
Section titled “v0.7.0 (2026-07-04)”Features
Section titled “Features”- feat: extend
mutaliasing protection to collection wrappers #957066984a - feat: mutable bindings must own their value #951
2244b8b - feat: autofix collapsible match lint #948
ae1ccf8 - feat: autofix five more lints #947
95561e1 - feat: autofix 25 more lints #941
97c4719 - feat: report all missing cases and redundant match arms #935
b62bc84 - feat: autofix seven more lints #932
120eb8e - feat: autofix nine more lints #930
e819ec0 - feat:
lis add --replaceto substitute Go dependencies #9254b5d2d4 - feat:
lis check --fixto autofix diagnostics #9242161f4a
- fix: reject type names in value position #960
989b7c9 - fix: silence unused
mutwarning inside erroring functions #956a9680cb - fix: keep options tagged when crossing into Go’s
any#9552913cd9 - fix: reject polymorphic recursion #953
1f4ecdf - fix: correct division-by-zero help text for float divisors #952
3cbcbf2 - fix: reject map bracket reads when type has no zero value #950
76d6cf0 - fix: parenthesize nested negation to avoid Go decrement token #946
bec4fae - fix: interpolate rune type aliases as characters #945
92e9a1d - fix: preserve NaN semantics in negated comparisons #944
b94de0e - fix: enforce left-to-right eval order #943
87c2487 - fix: label continue in select arms to target user loop #942
1e030a1 - fix:
#[json(omitempty)]onOptionfields #93911d40db - fix: follow type-var chains iteratively to avoid stack overflow #936
316e663 - fix!: align
Slice.appendwith Go semantics #93389389e5 - fix: lint unused value as loop body’s final statement #931
f54073c - fix: missing write-back for bare-statement slice append/extend #926
df26dea - fix: unused import warning for interface and const uses #919
15201a9 - fix: allow
mutparsing in function types #9163ec2e8f
Internals
Section titled “Internals”- test: normalize snapshot descriptions to block style #959
73bde11 - chore: no false foreign-type errors when editing prelude source #958
389aa1e - docs: update stale examples #954
d69352f - refactor: share Go name computation between checker and emit #940
c35c334 - test: exercise uncovered prelude methods in e2e tests #934
1ab95e5 - refactor: accept integer literals in type argument position #928
634c483 - ci: allow initial backticks in PR title check #917
4b6bf10 - refactor: reduce cyclomatic complexity in emit crate #914
b1206f2
v0.6.0 (2026-06-28)
Section titled “v0.6.0 (2026-06-28)”Features
Section titled “Features”- feat: clearer errors for generic syntax and missing block value #912
f6319be - feat: add
.lisfile icon to VSCode and IntelliJ extensions #90560db9b2 - feat: autocomplete struct field names #888
d07c32e - feat: inline subscript assignment targets #890
b42764b - feat: suggest tuple for bare multi-value return #873
72566ea - feat: lint to suggest
+= 1forfoo++#872cd9b594 - feat: emit compact go for nil-guarded result/partial calls #870
b5d5908
- fix: flag public PascalCase methods in snake_case lint #904
a9276a9 - fix: keep a single lhs copy in compound assignments #896
5f4c80e - fix: widen snake_case and PascalCase lint coverage #883
df01f8c - fix: allow imported constants in const expressions #871
b6aee9f
Internals
Section titled “Internals”- ci: allow initial backticks in commit msg subjects #907
00c4126 - perf: parallelize cache writes #906
8659a7b - perf: one-pass typedef generation for Go dependencies #903
7e695c6 - chore: bump intellij plugin to 0.1.1 #901
0771dc8 - perf: batch typedef generation for faster cold builds #897
df23d0b - test: dogfood test runner via e2e suite #891
2798ce5 - chore: add zed-release recipe #885
f422086 - refactor: extract dep reconciliation #884
4cd4be7 - refactor: share type classification between checker and emit #875
7f90e36 - perf: free discarded cache-hit parses in parallel #874
8ba205c - test: make report rendering independent of terminal width #867
f228c3a
v0.5.0 (2026-06-24)
Section titled “v0.5.0 (2026-06-24)”- fix: treat ref-type aliases as underlying ref #858
ab1d9fd - fix: point go name collision at import alias not path #854
bbad1ee - fix: pin internal crate deps exactly and enable semver check #851
3e7f019 - fix: infer ref binding type when a match arm diverges #849
5aaad1e
Internals
Section titled “Internals”- refactor: unify pattern-collection effect channel #857
38d16b7 - refactor: dedupe lsp and passes walks via
children()#85695e8c9a - perf: parallelize source-tree dir walk #855
eacc21e - chore: rebuild playground and fix stale wasm bindings #852
4b78ffc
v0.4.4 (2026-06-23)
Section titled “v0.4.4 (2026-06-23)”Features
Section titled “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
- 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: emit plain go functions for stored function values #774
1c07f56 - fix: scope emitted go import aliases to each file #773
f331b05 - fix: drop loop label and labeled continue for unguarded matches #772
a637535
Internals
Section titled “Internals”- perf: parallelize module-graph file reads #840
3fda743 - test: add tests for
lis learnproject #83730467ff - perf: stop cloning emit generic constraints per module #828
be764a4 - perf: parallelize cached module loading #825
6d77866 - refactor: make cli help text consistent across commands #809
a83577b - refactor: keep if-let native instead of desugaring #801
86b5f4e - refactor: centralize emit type and field-export resolution #798
33a84ff - refactor: emit type args and bounds from resolved types #794
4b4347b - ci: group changelog and release notes by commit type #795
1022416 - refactor: simplify emit value and directive representation #790
8e8d63a - ci: cache go build artifacts in e2e smoke job #787
f67952d - ci: parallelize e2e suite re-emit loop #786
dcdfdfc
v0.4.3 (2026-06-17)
Section titled “v0.4.3 (2026-06-17)”Features
Section titled “Features”- feat: enable cgo for third-party go packages #760
f097c20 - feat: lint for an operand and its own negation #759
c2d91fb - feat: recognize and validate
#[test]functions #758ad379b2 - 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 - feat: go-to-definition for prelude symbols #748
a56fd02 - feat: inlay hint additons #742
ebd6ef2 - feat: introduce
#[equality]attribute #7463a273a3 - feat: lints for needless question mark and manual option zip #744
4a40051
- fix: fall back to constructor heuristic on inconclusive nil analysis #761
50ab4e0 - fix: take recursive-enum constructor fields by value #751
1de2f4e - fix: reject VarArgs in non-last parameter position #743
ab535ad
Internals
Section titled “Internals”- refactor: drop the string-setup path from emit #757
d30936d - chore: update fuzz lockfile #750
33d6fbe - refactor: extract the post-inference passes into their own crate #749
4c41014 - refactor: decouple inference from the post-inference passes #747
ac3a457
v0.4.2 (2026-06-15)
Section titled “v0.4.2 (2026-06-15)”Features
Section titled “Features”- feat: inlay hints for parameter names at call sites #740
70fb4a1 - feat: show parameter names in LSP signature help #738
0bc93c7 - feat: lints for option/result combinator simplifications #737
63807bf - feat: deep equality for slices and maps of equatable types #735
f331d8f - feat: lints for option/result match simplifications #733
6fccf25 - feat: lint for botched variable swaps #728
c5a4cc6 - feat: lint for min/max clamp mistakes #726
4b54e8a
- fix: track equals liveness per receiver type #731
edb638c - fix: reject unrepresentable receiver method bounds #730
8a18611
Internals
Section titled “Internals”- refactor: rename info summary count label to advisories #741
410b75e - ci: build bindgen unoptimized to speed up stdlib check #739
4d8d558 - ci: cache the go build output for e2e suite #736
6a004df - ci: run on main to warm the pull request cache #734
7b727d1 - ci: split unit tests from main suite #732
559b60c - refactor: prep for semantics crate split #729
bc16ce7
v0.4.1 (2026-06-14)
Section titled “v0.4.1 (2026-06-14)”Features
Section titled “Features”- 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 - feat: add
equalsmethod for slices and maps #7152c69536 - feat: flag impossible, redundant, and combinable comparisons #712
8fbcb7f
Internals
Section titled “Internals”- test: render remaining emit snapshot descriptions as yaml blocks #725
414e81b - 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
v0.4.0 (2026-06-13)
Section titled “v0.4.0 (2026-06-13)”Features
Section titled “Features”- feat: advise against recompiling a regexp in a loop #710
b88540d - feat: go-to-definition for go stdlib symbols #684
5126fad - 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 - feat: allow suppressing more lints via
#[allow]#702ce4c0fa - feat: warn when
os.Exitskips adefer#7002d22251
Internals
Section titled “Internals”- chore: remove benchmark crate #704
9885735 - refactor!: rename
--debugto--sourcemap#703c5245f4 - refactor!: drop
implfor interface embedding in favor ofembed#70115563f9 - 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
v0.3.4 (2026-06-11)
Section titled “v0.3.4 (2026-06-11)”Features
Section titled “Features”- feat: promote methods through unexported Go embeds #693
14e9316 - feat: add
lis emitto CLI #689f130d63 - feat: broaden imported types accepted as embed targets #687
a3edafa - feat: broaden match-to-if-let lint coverage #680
244fe2a - feat: embedding for generic structs #674
2fef804 - feat: hover and go-to-definition on promoted members #667
f181b25
- fix: adjust diagnostics for
var#6948617a15 - fix: enforce sealing of imported Go interfaces #692
b1db049 - fix: reject non-comparable interface and unknown equality #682
ddd6bc0 - fix: reject namespace used as a value #671
c9e1eec
Internals
Section titled “Internals”- docs: document embedding imported Go types #695
d027dbd - test: render snapshot descriptions as yaml literal blocks #691
ff2c70a - refactor: reshape
lis runonto build-then-exec #688bd807f9 - chore: upgrade to
insta1.48.0 #686eb77a81 - perf: parallelize module registration #685
d197b78 - refactor: replace text-scanned liveness with structural tracking #683
35aa700 - refactor: de-flatten imported struct embeds #681
1bd8dfc - 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 - perf: freeze types in place instead of rebuilding the ast #673
156652c
v0.3.3 (2026-06-08)
Section titled “v0.3.3 (2026-06-08)”Features
Section titled “Features”- feat: support embedding in native structs #666
eec2ea2 - feat: add
Result.wrap_errto attach context to errors #658668cab7
- 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 - fix: keep f-string interpolations single-line #657
ee4f66a
Internals
Section titled “Internals”- refactor: replace
implwithembedfor interface embedding #66418d7902 - test: differential harness for struct and interface embedding #663
b580f92
v0.3.2 (2026-06-07)
Section titled “v0.3.2 (2026-06-07)”Features
Section titled “Features”- feat: lint for type limit comparison #648
f8757f5 - feat: bind go anonymous struct types #644
3a44617 - feat: add redundant else lint #643
8f8b584 - feat: add manual find simplification lint #642
6e44a27
- fix: cross-module reference tracking in unused lints #651
64b9dc7 - fix: classify compound wrappers by qualified id #646
192df75 - fix: tuple-struct and newtype pattern exhaustiveness #641
1fd5350 - fix: zero-fill emit for newtype and tuple-struct fields #637
8b68e65
Internals
Section titled “Internals”- refactor: introduce
embedkeyword #650cd78bfb - refactor: store type attributes as a map #647
7063de2 - test: move sync tests in-process #640
85d8c44
v0.3.1 (2026-06-06)
Section titled “v0.3.1 (2026-06-06)”Features
Section titled “Features”- feat: add map_or_else to Result #633
d5939f7 - feat: add manual map_or simplification lint #632
fc4e772 - 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 - feat: add manual
bytes.Equallint #616d909ca0 - feat: add manual
time.Untillint #6151d8000d - feat: add manual
time.Sincelint #614375a226 - feat: offer lsp attribute completions on
#[#6139f28fff - feat: add inefficient comparison lint #609
d67fda2 - feat: add goos/goarch unknown-value comparison lint #602
9e7a38f - feat: add integer division to zero lint #599
814bbb3
- 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 - fix: resolve shadowed builtin types in type position #627
3109a37 - fix: stack overflow when zero-filling a function-alias field #626
127d4e1 - fix: pin generic impl type params during interface satisfaction #608
f7b8201 - fix: enforce pointer-receiver rule through generic bounds #606
8c46015
Internals
Section titled “Internals”- refactor: continue collapsing emit layer into IR #628
ae8ca07 - refactor: dedupe emit coercion, call, and abi helpers #618
f3db058 - docs: clarify interop directions #617
6b78dba - 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 - perf: cache module field projections, skip redundant type resolves #607
267f64f - 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 - perf: cut allocations in semantic analysis hot paths #601
cdfa21c
v0.3.0 (2026-06-04)
Section titled “v0.3.0 (2026-06-04)”Features
Section titled “Features”- feat: add out-of-domain value lint for closed named primitives #596
c434c3a - feat: add non-negative length comparison lint #593
c268079 - feat: catch x % 1 in redundant operation lint #592
7f26440 - feat: add redundant operation simplification lint #589
5b834b0 - feat: add negated equality simplification lint #586
6edc4bf - feat: add let-and-return simplification lint #585
fde3b5b - feat: lint match on bool that should be if/else #584
b08193d - feat: add match-to-let simplification lint #582
e27c9b7 - feat: add redundant assert_type lint #580
802bbfd
Internals
Section titled “Internals”- refactor: stop threading store through inference signatures #597
4890ad5 - refactor: share context and walk across checks and lints #595
40f5264 - ci: flag breaking changes in github release notes #591
823ba05 - refactor!: rename
--formatto--outputinlis check#5906b886fe - refactor!: remove value enums #588
260463c - refactor!: rename attributes to
#[iterate]and#[display]#578ba0503e
v0.2.17 (2026-06-02)
Section titled “v0.2.17 (2026-06-02)”Features
Section titled “Features”- feat: add manual emptiness check lint #577
6dd1cb1 - feat: add manual compound assignment lint #576
3e569d9 - feat: gate stringer synthesis on
#[displayable]#574a9333a9 - feat: introduce
#[displayable]attribute #571d7acbed - feat: advisory
infodiagnostics #565bb13b0a - feat: warn on lost url query mutation #564
a5f94c6 - feat: warn on match with identical arms #562
1a44853 - feat: warn on closures replaceable by the function itself #561
07fd58a - feat: add manual_map lint #560
4c0bcd3 - feat: add manual_unwrap_or lint #558
0c19819
- fix: make newtype structs and bool-backed named types nominal #575
c3b2f75 - fix: lsp goto-def on type alias with same name as origin type name #569
801ce11 - fix: make string value enums nominal #573
6066322 - fix: make numeric value enums nominal #572
081757a - fix: lsp autocomplete via non-generic type aliases #563
3ea55c0
Internals
Section titled “Internals”- refactor: suggest WaitGroup.Go in waitgroup warning #570
190180b - refactor: route stringer synthesis through a single gate #568
e60bde0 - refactor: set up opt-in stringer capability #567
1557c7c - refactor: reclassify diagnostics #566
afc5027
v0.2.16 (2026-05-31)
Section titled “v0.2.16 (2026-05-31)”Features
Section titled “Features”- feat: add
#[iterable]for enum iteration #5576a0db29 - feat: suggest is_some/is_ok over match-to-bool #552
0a34bf2 - feat: warn on range loop that only indexes a slice #549
69e5f43 - feat: warn on loop that runs at most once #545
d3b1d9e - feat: reject loop with unchanging condition #540
80a0f1e - feat: warn on WaitGroup.Add inside a task #535
186ed22 - feat: warn on needless boolean if-else #534
36a2a2a - feat: warn on needless return in tail position #530
2128a29
- fix: reject value names in type annotations #555
c4dabbd - fix: emit remaining pattern checks in switch case bodies #554
0cd4e5f - fix: validate unknown attributes on enums #551
00fcbf4 - fix: reject enum and module types used as runtime values #532
30a5e73 - fix: resolve enum variant access through a type alias #537
701d20b - fix: stop flattening tuple payloads of fallible calls #533
611906c
Internals
Section titled “Internals”- refactor: share ufcs methods across inference #556
f4a635b - refactor: render enums as bare variant names #550
4d817a4 - perf: box function variant to shrink type enum #548
9b679d9 - perf: avoid per-node allocations in ast traversal #544
e6ca8c2 - test: check lis learn project e2e #543
6dff023 - refactor: consolidate context-free checks onto shared visitor #542
a116b4b - test: build no-entry emit snapshots in e2e suite #541
b0bae23 - test: check emitted Go with go vet #539
09d6c96 - refactor: unify unit enum variant emission via constructor #538
a694be0 - ci: run in-crate unit tests #536
bde0e25
v0.2.15 (2026-05-28)
Section titled “v0.2.15 (2026-05-28)”Features
Section titled “Features”- feat: reject channel and function fields in json types #525
317647b - feat: flag charset misuse in strings.Trim calls #523
b6b3d43 - feat: flag duplicate args in stdlib calls #520
6b5e3e4 - feat: reject decimal file mode literals #518
b8a2bdd
- fix: emit middle index for capped range-from slice #527
00f3b56 - fix: enforce consistent evaluation order in emit #526
749ada5 - fix: evaluate deferred native-method operands at defer site #524
c905f1c - fix: track function return context for nested ? propagation #517
00316bf
Internals
Section titled “Internals”- ci: harden release body and notes generation #522
5dd023e - docs: restore blank lines between changelog releases #521
e9f267e
v0.2.14 (2026-05-27)
Section titled “v0.2.14 (2026-05-27)”Features
Section titled “Features”- feat: reject empty select default arm in loop #515
68e1881 - feat: reject empty infinite loop #511
fafb988 - feat: reject repeated condition in if else if chain #510
024aab4 - feat: reject shift exceeding integer width #509
b45378f - feat: reject out-of-bounds slice indexing #506
7ab94ec
- fix: translate
unknownto any in explicit type arguments #5137d6687a - fix: unwrap nested option-slice at Go boundary #508
4500702 - fix: preserve type args from non-generic alias in struct calls #507
e9f7161 - fix: preserve type args on generic interface bounds in bindgen #503
39ac1b7
Internals
Section titled “Internals”- ci: split lsp tests from main suite #514
470d511 - ci: drop redundant job, cache golangci-lint, run lsp tests #512
45c2388 - perf: avoid cloning function definition in non-builtin emit path #505
560678c - perf: skip desugar pass when parser produced no desugarables #502
af8156c
v0.2.13 (2026-05-26)
Section titled “v0.2.13 (2026-05-26)”Features
Section titled “Features”- feat: reject empty range #499
d74f193 - feat: reject comparison against math.NaN() #497
e853566 - feat: warn on verbose failure propagation #496
0aef44a - feat: warn on invisible and bidi chars in strings #493
24abe4c - feat: reject deferring a mutex lock #490
04a8a2b - feat: warn on unsigned integer compared against zero #486
d3fb542
- fix: guard interface parent walks against embedding cycles #492
a1e2001 - fix: complete interface methods in lsp #491
079daa1
Internals
Section titled “Internals”- perf: skip synthetic EOF in token lookup #500
c9bbdeb - perf: introduce simple benchmarking setup #498
47dd262 - refactor: consolidate in-memory loader impls #495
207da7f - refactor: prep lint setup for upcoming diagnostics #494
f0b06b6 - ci: catch lockfile drift #489
b64b576 - chore: update lockfile #487
7c175d2 - refactor: restructure emit layer #484
f4757af
v0.2.12 (2026-05-25)
Section titled “v0.2.12 (2026-05-25)”v0.2.11 (2026-05-23)
Section titled “v0.2.11 (2026-05-23)”- fix: reject public types with non-exportable names #480
2226da8 - fix: reject any/comparable as type or generic names #479
d3ed928 - fix: diagnose duplicate json methods on #[json] enums #477
5fcc6b0
Internals
Section titled “Internals”v0.2.10 (2026-05-23)
Section titled “v0.2.10 (2026-05-23)”Features
Section titled “Features”- feat: unix diagnostic format for lis check #470
308e859 - feat: relative paths in diagnostics #467
39830a0 - feat: bare variants in match arms #465
2faa0f6
- fix: bind more value-plus-error returns as Partial #475
e1c3772 - fix: bind WriteString, ReadFrom and WriteTo as Partial #474
36ab5d3 - fix: interface not implemented diagnostic for wrapper types #473
25b2035 - fix: bound global prelude and stdlib defs cache #471
bb0bf4f - fix: prune go output and caches for removed modules #469
d6a2232
Internals
Section titled “Internals”- test: gate e2e suite on zero re-emit failures #472
2dfb714 - ci: skip fuzz and release workflows on forks #468
2a8a152
v0.2.9 (2026-05-20)
Section titled “v0.2.9 (2026-05-20)”- fix: drop redundant block around irrefutable match arm #464
6e3e211 - fix: derive generic method call shapes from declarations #463
b4c22b5 - fix: classify generic callee shape from its declaration #461
07914a1
v0.2.8 (2026-05-19)
Section titled “v0.2.8 (2026-05-19)”Features
Section titled “Features”- fix: adapt lowered fn arg shape at generic call boundary #459
ee69def - fix: wrap go interface returns as option #458
79892a4 - fix: bitwise tokens missing from tree-sitter parser #453
1748f26 - fix: align Go interface and impl pointer-return nilability #451
dba4c74 - fix: terminate generics parser at eof #450
6a8d718 - fix: allow mutually recursive function-type aliases #445
14ac9f4 - fix: qualify imported enum in variant-not-found diagnostic #442
4a02f60
Internals
Section titled “Internals”- ci: require IDE extension version bump on grammar change #457
d6613a0 - ci: add tree-sitter drift and test checks #454
5469274 - chore: rebuild playground #446
126dd8e - ci: guard release workflows from running on forks #444
7f9c583
v0.2.7 (2026-05-17)
Section titled “v0.2.7 (2026-05-17)”- fix: unwrap option at go any and honor tail-return hints #437
afcf72c - fix: lower direct Err(…)? and None? propagation #434
9620f8a - fix: suppress unused locals in fused Result match emit #433
cd93588 - fix: require screaming snake case for constants #432
ac5cdca - fix: clearer error for typed binding missing initializer #429
ab431c9 - fix: correct bindgen overrides for sourcegraph/conc #428
83297ba - fix: suppress unused-value cascades on errored expressions #427
04a5822 - fix: pointer receiver promotion in bindgen #426
96abad6 - fix: detect map literal attempts at parse time #425
52508e7 - fix: suppress unused-field lint on pub fields #424
cc241a7
Internals
Section titled “Internals”- refactor: collect generic constraints before emit #436
7671020 - refactor: centralize alias-aware emit shape queries #435
7fcdfc3 - docs: mention mise install path #431
046b3b0 - docs: mention homebrew install path #430
19d6493 - refactor: reduce emit complexity #423
bcc574b - docs: add section on typed nil at the boundary #422
045e502 - refactor: emit idiomatic fmt verbs in interpolations #420
5121f0d
v0.2.6 (2026-05-16)
Section titled “v0.2.6 (2026-05-16)”- fix: resolve dotted go import paths #419
d22fdfa - fix: tighten bit-flag detection in bindgen #418
7a3c6fd - fix: dedupe blank-import diagnostic #415
6aa882b
Internals
Section titled “Internals”- refactor: restore emit cosmetics #416
57f60eb - refactor: drop last cosmetic emit cleanup pass #414
8e41a3a - refactor: drop four cosmetic emit cleanup passes #413
ed30007 - refactor: ast-level emit negation and fmt collapse #411
f0b3966
v0.2.5 (2026-05-14)
Section titled “v0.2.5 (2026-05-14)”- fix: track go import usage during emit #410
00d1b7a - fix: cache no longer hides internal_type_leak warnings #405
d820e1d
Internals
Section titled “Internals”- perf: emit nil for empty Slice literals #409
1155da5 - refactor: emit architecture overhaul #407
01c7c34 - perf: skip unchanged emit/gofmt/tidy work on rebuilds #403
3ef0961
v0.2.4 (2026-05-12)
Section titled “v0.2.4 (2026-05-12)”- fix: honor allow attributes on interface methods #402
3e2e5c2 - fix: shrink bindgen skip surface #401
56948a2 - fix: reject member access on uninferred receiver #398
3a0c98c - fix: solve more emit edge cases #396
c738613 - fix: prevent emit corner cases #395
c656a66 - fix: prevent silent emit miscompilations #394
f786d47 - fix: type-assert tuple/newtype patterns against go interfaces #393
f65d99a - fix: prevent go const eligibility from leaking across scopes #392
f3a09b8 - fix: emit tail panic as statement in fallible function #391
5f77c90 - fix: monomorphize generic interface adapters per instantiation #389
563c642
Internals
Section titled “Internals”- refactor: consolidate fallible lowering and coercion dispatch #400
32325a2 - refactor: consolidate recurring emit patterns #399
a0a60ca - refactor: polish diagnostics #397
941c61b
v0.2.3 (2026-05-11)
Section titled “v0.2.3 (2026-05-11)”- fix: detect fluent builders on promoted methods #388
50190aa - fix: derive bindgen param names from types #385
40ff880 - fix: support Option
when T is a fn type alias #379 417a247
Internals
Section titled “Internals”- ci: auto-publish vsix to marketplace and open-vsx registry #387
49ec00a - refactor: improve diagnostics for keyword-named bindings #386
7dff8db - perf: parallelize module-graph parsing #384
89d0b74 - refactor: trim dead temps and discards from emitted Go #383
69179a9 - perf: skip per-file gofmt during build #381
3f7a395
v0.2.2 (2026-05-10)
Section titled “v0.2.2 (2026-05-10)”Features
Section titled “Features”- feat: third-party Go dependencies #374
5276b12 - feat: add allow_unused_value bindgen override for fluent APIs #356
1f18bcf
- fix: mut param correctness #371
4bb4369 - fix: honor allow_unused_value config on bindgen methods #361
3ae673c - fix: skip foreign-typed const in bindgen enum detection #360
c6b19d0 - fix: emit recursive fn-type aliases as opaque types #358
be7cc99 - fix: salvage bindgen aliases to internal-package types #354
76ce06e - fix: emit never-bodied lambda as func() into unknown arg #353
7e357ce - fix: exempt tag-attributed fields from unused_struct_field lint #351
cc4a0ac - fix: preserve generic arity on skipped opaque type placeholders #349
6adc0b8 - fix: preserve bindgen docs on funcs returning a local type #347
29e953b - fix: bridge Option
on scalar args to *scalar at callsites #346 321abdc
Internals
Section titled “Internals”- perf: parallelize codegen #376
17085bb - chore: update vscode extension publish instructions #375
e050f20 - chore: update vscode extension to 0.2.0 #373
162d62b - perf: lazy third-party typedefs #372
5b4a849 - ci: speed up e2e smoke project #368
a44fe7e - perf: parallelize post-inference checks #366
3172bf1 - refactor: structure post-inference passes by role #365
0c1f2f5 - perf: parallelize inference #364
62e6798 - refactor: make inference borrow the store immutably #363
d12a0d0 - ci: cut redundancy and speed up PR checks #357
891a835 - refactor: extend fn-as-lambda diagnostic to expressions #359
208d034 - refactor: improve ref qualifier misuse diagnostic #355
ecb4245 - refactor: improve function type mismatch diagnostic #352
d19b9f5 - chore: upgrade to go 1.25.10 #350
f8763e9
v0.2.1 (2026-05-07)
Section titled “v0.2.1 (2026-05-07)”- fix: snapshot bytes-loop receiver to survive body reassignment #344
1eda7c8 - fix: freshen rest binding in let-else or-pattern #343
f88c1ef - fix: freshen go-escaped names that clash with siblings #342
36b6de2 - fix: declare local const in go scope for let/const shadowing #341
f7d8afb - fix: ignore string literal contents in emit text scans #337
eaa4e69 - fix: assign bindings in irrefutable let-else or-patterns #338
6362b34 - fix: capture mutable reads before later sibling setup runs #336
ead1048 - fix: sequence receiver before range value in substring and slice #334
4559d27 - fix: dereference Ref
receiver in substring call #333 855ae00 - fix: preserve & on UFCS composite literal receivers #331
589a9fa - fix: parenthesize pointer newtype cast in match patterns #332
4035606 - fix: camel-case snake_case names in receiver-method UFCS calls #330
06d098e - fix: export camel-case method names in interface adapters #329
d35f8d3 - fix: handle escaped quotes in fmt.Println f-string collapse #328
a798d21 - fix: preserve short-circuit when && or || RHS needs setup #326
4126b50
Internals
Section titled “Internals”- ci: pass missing expression to fix build #340
495a95b - ci: skip pr-specific checks on release-plz prs #339
1b0a0ec - docs: show project layout in lis new and lis learn help #335
e16d7cf
v0.2.0 (2026-05-06)
Section titled “v0.2.0 (2026-05-06)”Features
Section titled “Features”- fix: allow rune to string cast, block rune to byte cast #318
3ce2fb6 - fix: disambiguate bindgen aliases on shared trailing segments #312
cc2f820 - fix: suggest
..zero-fill in missing-fields help #311219cf0a - fix: preserve all returns when trailing bool is a flag #307
227e61e
Internals
Section titled “Internals”- refactor!: reject positional access on string #323
a7c7245 - refactor!: switch variadic spread to postfix syntax #322
8f597b2 - docs: add snippet sharing to playground #319
0234b42 - docs: add link to WASM playground in index.html #310
38d46b6 - refactor: add rune-indexed string access to prelude #317
5395a8d - refactor: move third-party typedefs into project #315
d7d8adc - refactor: thread target through third-party typedef cache paths #314
e3d6ed2 - ci: lint bindgen and prelude with golangci-lint #313
48e57b8
v0.1.26 (2026-05-04)
Section titled “v0.1.26 (2026-05-04)”- fix: tailor nil and member-not-found help to context #306
aa12647 - fix: preserve byte and rune aliases in bindgen output #305
90601ad - fix: fixes to lsp and formatting #293
d50732f - fix: hint parent module when lis add hits a sub-package #304
60f3f10 - fix: tailor diagnostics for
Selfin impl andmutstruct fields #303ce0869f - fix: alias empty named interfaces to Unknown #302
34a48a8 - fix: bind unexported error sentinels as error #301
b0fb981 - fix: suppress duplicate type mismatch on
?in non-carrier function #300cb4545d - fix: align select arm type inference with match #297
2603c6f - fix: lead native_method_value help with call-direct form #296
192cdd6 - fix: reach pointer-receiver methods on package-var struct fields #295
21bc10f - fix: redirect unwrap/expect diagnostic on Option/Result/Partial #294
9b99b08 - fix: ship per-target stdlib typedefs #291
8f635cc
Internals
Section titled “Internals”- ci: fix pr title trigger #292
40e55b3 - refactor: consolidate checker definitions and walkers #290
c895586 - refactor: thread target argument through stdlib typedef lookups #289
0b7570c - refactor: consolidate checker cursor and scope setup #287
ce653c9
v0.1.25 (2026-05-03)
Section titled “v0.1.25 (2026-05-03)”Features
Section titled “Features”- feat: add nilable_param bindgen override #273
b54a42d - feat: lift ban on userland unknown #270
dc69354 - feat: revamp CLI surface #265
100a91b - feat: add beginner-friendly diagnostics #263
063a155
- fix: propagate expected type through generic positions #286
9777eec - fix: bridge option
backed by go *T across reads and writes #284 cebbe84 - fix: show lsp completions through ref types #282
0b39743 - fix: skip subpackage check for multi-module monorepo siblings #280
0a270b7 - fix: lower paired Go errors as tuple of Option
#279 1393aaa - fix: tolerate transitive bindgen failures in lis add #278
fcad1a0 - fix: inherit invocation cwd in lis run #275
fbe12d2 - fix: hint unwrap for member access on Option/Result #271
cb8c6c0 - fix: suppress cascading diagnostics for error type #269
7824122 - fix: hint as-cast for numeric type mismatches #267
db3e352 - fix: improve diagnostic for backticks outside attribute position #264
569e309 - fix: stop double-wrapping callbacks bound to Go fn aliases #261
6b8894c
Internals
Section titled “Internals”- chore: parameterize stdlib typedef regen target #285
6eccca3 - refactor: drop stale Nominal type uses in lsp #283
2dc196c - ci: pin bindgen target platform #276
62f22ea - ci: detect stdlib typedef drift #274
67dbb9b - chore: strip blank line above skipped-field comments in typedefs #272
81b4497 - docs: refresh agents.md template #268
9e20b00 - ci: drop changelog tripwire from release gates #266
51d3ec3
v0.1.24 (2026-05-01)
Section titled “v0.1.24 (2026-05-01)”- fix: recognize alias of interface constraints in bindgen #256
4b897b2 - fix: skip generated Go files when pruning orphans #255
fee93e5 - fix: report tail-position return-value mismatches #254
47ada42 - fix: preserve substitution through generic alias peeling #250
3ad1ed2 - fix: preserve comment placement in formatter #247
d2b4ca2
Internals
Section titled “Internals”- refactor: clean up diagnostics taxonomy #260
608b213 - ci: skip release gates on release-plz tmp branches #259
23678d4 - test: refresh snapshots #258
57060a4 - test: make discarded value tails explicit in lint fixtures #253
d6cec38 - chore: rebuild playground against ab8933d #249
c28b2a2 - ci: parallelize checks and reorganize e2e tests #248
ab8933d - ci: skip regen step when release-plz returns no PR #246
a11466e - ci: fix release-publish iteration on workspace crates #245
3a3ab02
v0.1.23 (2026-04-30)
Section titled “v0.1.23 (2026-04-30)”Features
Section titled “Features”- fix: lsp completion for built-in prelude types #240
abe54cb - fix: skip arrays in bindgen #244
7f9ce5c - fix: keep struct-field comments on their own line #243
8add90c - fix: preserve underscores in go-imported member names #242
d10f4ef - fix: preserve comments between method chain segments #234
ed4e502 - fix: name unhinted type vars without panicking #239
4153114 - fix: emit pub on exported go constants in typedefs #231
8fec935 - fix: detect colliding go imports at emit time #230
e13c215 - fix: render unreachable unexported go types as unknown #229
c3bd761 - fix: reject unknown vs concrete inside invariant generic positions #228
91bddaa - fix: pascalcase exported go names #227
d91785e - fix: allow assignment to pub var through import alias #225
2df0d3e
Internals
Section titled “Internals”- perf: run bindgen once per module #241
130908d - ci: bot-author regen and restore upcoming heading #237
323e2b4 - ci: include off-crate commits in release changelog #235
804e691 - ci: skip autogenerated release.yml in ratchet recipes #222
3e203c9
v0.1.22 (2026-04-28)
Section titled “v0.1.22 (2026-04-28)”Features
Section titled “Features”- feat: multi-line string literals #208
05127d9 - feat: lift interface{} params to Ref
for reflection decoders #219 6f7b04a - feat: silence unused_value on fluent-builder method returns #218
1266fde - feat: do not require trailing () in unit-context lambdas #216
49e44be - feat: suggest go prefix for unprefixed declared go deps #215
490709e - feat: zero-fill spread #210
9681887 - feat: support sql.Scanner and driver.Valuer on option #206
6091db8
- fix: alias single-segment paths colliding with longer external paths #217
efd89d3 - fix: alias bindgen imports that collide on package name #212
fbf4f74 - fix: bind variadic interface methods to VarArgs #211
500865b - fix: avoid cloning lhs on compound assign with invalid target #209
e481af2
Internals
Section titled “Internals”- ci: unpin release.yml so cargo-dist can regenerate it #221
b81058f - ci: pin workflow actions to immutable SHAs #220
30c05ea
v0.1.21 (2026-04-26)
Section titled “v0.1.21 (2026-04-26)”Features
Section titled “Features”- feat: add min and max prelude builtins #200
4c3d8d5 - feat: forbid shadowing prelude functions #199
f908124 - feat: recognize M ~map[K]V as type-parameter shape #198
b22621e - feat: support Comparable and cmp.Ordered as type-parameter bounds #197
e762d8c - feat: reject String/GoString impl methods with wrong signature #191
4097a1b
- fix: alias transparency with generics #203
5b10e59 - fix: option-wrap nilable go fn-typed struct fields #201
1ce66e0 - fix: emit address-of for option fields at go struct literals #196
8958143 - fix: convert fn values to match prelude callback abi #194
18d093b - fix: preserve fn-alias type on let-bound lambdas #192
a931695 - fix: avoid unused go bindings in select-recv and while-let #189
7be8550 - fix: use %p for func-typed fields in auto-stringers #188
6331009 - fix: do not lower-classify prelude-fn callees #186
8ad9926
Internals
Section titled “Internals”v0.1.20 (2026-04-25)
Section titled “v0.1.20 (2026-04-25)”Features
Section titled “Features”- feat: add sentinel-int hint and lower any nilable err type
c11e1de - feat: add lis sync to reconcile manifest with source #183
3d694a8 - feat: introduce raw string literals #179
4dcd1cb
- fix: normalize string escapes when comparing patterns #182
22b0157 - fix: harden go interface dispatch for user impl methods #175
9194ef5
Internals
Section titled “Internals”- refactor: lower wrapping types to go-native abi at function boundaries #184
541e21d - docs: surface lis lsp in help and quickstart #181
61da796 - docs: add prebuilt install path #174
65fd842
v0.1.19 (2026-04-24)
Section titled “v0.1.19 (2026-04-24)”- fix: place enum constructors beside their enum definition #172
e367406 - fix: suppress auto-stringer when user method uses Go casing #171
6c4bb49
Internals
Section titled “Internals”- refactor: prep parallel semantics #170
54a2a0c - ci: ship prebuilt binaries #165
a11eda1 - ci: rename release.yml to release-plz.yml
92c3ba7
v0.1.18 (2026-04-23)
Section titled “v0.1.18 (2026-04-23)”Internals
Section titled “Internals”- refactor: overhaul type representation and inference state #161
8468519 - refactor: consolidate emit coercions and decision walkers #157
ed1cf48
v0.1.17 (2026-04-21)
Section titled “v0.1.17 (2026-04-21)”- fix: auto-address struct literal receivers for ref methods #156
4f4f065 - fix: always break multi-step pipelines #147
fbcf877 - fix: omit match label when all guarded arms diverge #155
0b61fd6 - fix: reset emit scope between impl methods to prevent name leak #154
259a32c - fix: reject bare record struct names used as values #153
a057965
Internals
Section titled “Internals”v0.1.16 (2026-04-20)
Section titled “v0.1.16 (2026-04-20)”Features
Section titled “Features”- fix: guard else-strip against duplicate var declarations
6a73446 - fix: avoid duplicate var declarations in interface match arms
c601bf9 - fix: emit explicit guard failure in type switch chain case bodies
199cdbc - fix: emit type switch for or-pattern on interface with field checks
d8352ca - fix: emit Go type switch case for or-pattern on interface #143
478d1bd - fix: emit type switch when matching on aliased go interface #142
97f7f5a
Internals
Section titled “Internals”- refactor: flatten guard else in type switch case bodies
2351ae5
v0.1.15 (2026-04-19)
Section titled “v0.1.15 (2026-04-19)”v0.1.14 (2026-04-19)
Section titled “v0.1.14 (2026-04-19)”Features
Section titled “Features”- feat: add ..expr spread argument syntax for variadic calls #124
8348b5d - feat: add never_return bindgen override for os.Exit and log.Fatal*
1f78da7
- fix: embed external config in bindgen binary as default #136
ef30543 - fix: unit-body lambda emits nil #135
ceb7c21 - fix: keep transitive go imports whose package name differs from path #134
9843014 - fix: peel type aliases in interface and field checks #133
3245d95 - fix: off-by-one in struct-literal lookahead skipped empty {} #132
f419749 - fix: support building from source on windows #130
35c0437
Internals
Section titled “Internals”- ci: sort changelog commits by timestamp
f7fdc64
v0.1.13 (2026-04-18)
Section titled “v0.1.13 (2026-04-18)”Features
Section titled “Features”- fix: allow closures returning concrete types as Go function aliases
96b5a31 - fix: reverse commit order in changelog template
9bb906a - fix: classify nullable Go function aliases as NullableReturn
d2fd7f6 - fix: desugar pipeline operator inside slice literals
198bfaa - fix: preserve Go interface and alias types in match-arm tuple slots
d73fdbe - fix: treat .d.lis types as public in register_module
95d5704 - fix: preserve type alias names in emitter output #122
49a0817 - fix: don’t flag wildcard as redundant in interface match #121
86dcafd - fix: type os.Exit and log.Fatal* as Never #120
7dd3e71 - fix: widen panic parameter from string to Unknown #117
489b2db - fix: formatter moves comments into impl, try, and recover blocks #115
b7d1f3a - fix: emit value equality for Go sentinel patterns like Err(io.EOF) #108
bf3d0da - fix: use declared package name over path segment as Go qualifier #106
09a76f0 - fix: emit break after switch in guarded match #104
1644ca0 - fix: don’t wrap named function type returns in Option #103
0e31195 - fix: value enum match arms and interface-slotted tuple returns #101
2791a57
Internals
Section titled “Internals”- ci: open github issue on fuzz crash
997f63c - docs: add Channel<()> signaling example to concurrency reference #105
1618bb3
v0.1.12 (2026-04-15)
Section titled “v0.1.12 (2026-04-15)”- fix: synthesize Go interface adapters for Lisette impls #92
ccea037 - fix: emit missing imports for enum variant payload types #83
c663661 - fix: regenerate missing Go typedefs before check/build/run #88
cc6912b - fix: emit named empty Go interfaces as Lisette interfaces #86
029bb6e
Internals
Section titled “Internals”- refactor: extract shared go output + finalize helpers #91
b4ceb49 - docs: note that goland extension is available #89
bad3dee
v0.1.11 (2026-04-14)
Section titled “v0.1.11 (2026-04-14)”- fix: emit unloadable stub when bindgen hits cgo type errors
82d1022 - fix: cap bindgen return-tuple arity at parser limit
a599e19 - fix: only translate invalid version errors pinned to user target
76c0037 - fix: reject unparseable bindgen output before caching in lis add
e6fbc1f - fix: emit opaque placeholder for skipped top-level types in bindgen
e1ef036 - fix: prune stale .go files from target on rebuild #82
25c1d58 - fix: distinguish package-local Option/Result/Partial from prelude
3342aa8 - fix: stop prefixing commit hashes with v in lis add
47196ec - fix: preserve snake_case field name on ref receiver access #80
1fa6205 - fix: report missing repo segment in github.com module path
00f297c
Internals
Section titled “Internals”- docs: mention goland in changelog
56aaff5
v0.1.10 (2026-04-14)
Section titled “v0.1.10 (2026-04-14)”Features
Section titled “Features”- fix: accept \a \b \f \v escape sequences in string and rune literals #73
7b7d7ce - fix: default Go import alias to declared package name #72
af71eca
Internals
Section titled “Internals”- docs: mention goland in homepage
834c1d3 - chore: adjust release PR title
c692dd8 - chore: simplify release PR body template #75
bd2fd9b
v0.1.9 (2026-04-13)
Section titled “v0.1.9 (2026-04-13)”- fix: reject static method called on an instance #69
efacd5f - fix: erase self-referential bounds on interface type parameters #68
a92f8df - fix: allow type alias to fn as type conversion #65
b806427 - fix: harden lis add command #64
f8df4fb - fix: integer literal edge cases and unicode escape validation
3b7a2b9 - fix: skip bindgen exports referencing internal package types #59
3956c00
Internals
Section titled “Internals”- docs: note Zed extension is available
e97d75c - ci: drop wasm32-wasip2 target from rust-toolchain.toml
22b4a06 - ci: add wasm32-wasip2 target for zed extension build
f80e651 - chore: symlink license into zed extension folder
f98a844 - ci: rename publish job to cover Go modules
e65bb69 - chore: normalize changelog and fix template format
e51e64e
v0.1.8 (2026-04-12)
Section titled “v0.1.8 (2026-04-12)”Features
Section titled “Features”- fix: reject relative-path imports with clear diagnostic #58
21389f0 - fix: register impl blocks after sibling-file type definitions #57
85a0d5f
Internals
Section titled “Internals”- chore: render changelog as flat list of all commits
08d6a72 - refactor: reorganize deps crate
09beac3 - refactor: simplify bindgen invocation
262cc20 - refactor: simplify typedef resolver #50
07a7a45
v0.1.7 (2026-04-11)
Section titled “v0.1.7 (2026-04-11)”Features
Section titled “Features”- feat: publish bindgen as a Go module #47
0c2b480 - feat: compiler awareness of third-party Go deps #44
88ff1a6
- fix: validate type parameter bounds on type definitions #43
0191647 - fix: use program::Visibility in fuzz infer target
41ca5bb - fix: resolve Forall gracefully and add registration to fuzz target
480ca6e
Internals
Section titled “Internals”- chore: include license file in published crates #48
e7a6205 - chore: update fuzz lockfile versions to v0.1.6
1423dca
v0.1.6 (2026-04-09)
Section titled “v0.1.6 (2026-04-09)”Features
Section titled “Features”- fix: deduplicate diagnostics for const type annotations
09f7d2c - fix: deduplicate diagnostics for function signature annotations
a5f70a7 - fix: minor cli adjustments #40
ef2d431 - fix: resolve non-generic type aliases as qualifiers cross-module #37
1a4c743
Internals
Section titled “Internals”- docs: add favicon
f5ef52c - chore: exclude stdlib typedef bumps from changelog
a55f520 - ci: guard release comment calls against transient failures
2b90fe0 - ci: add issues write permission for release comments
f4ed6b1 - chore: auto-commit stdlib typedefs in regeneration recipe
aebc6a2
v0.1.5 (2026-04-08)
Section titled “v0.1.5 (2026-04-08)”Features
Section titled “Features”- fix: skip pattern analysis on import cycle #34
88eb7fa - fix: interface subtype satisfaction through type variables #31
020c407
Internals
Section titled “Internals”- ci: comment on closed issues in release workflow
73143dc - ci: skip check job on release-plz commits
2497b62
v0.1.4 (2026-04-07)
Section titled “v0.1.4 (2026-04-07)”Features
Section titled “Features”- fix: skip auto-generated stringer on user string + goString
cc45b35 - fix: swap string method for go string method #17
891cf8d - fix: ice when calling generic type as function #28
02ec377 - fix: support octal escape sequences #22
a9a5872 - fix: add typo suggestions for CLI subcommands #23
befe96a
Internals
Section titled “Internals”v0.1.3 (2026-04-06)
Section titled “v0.1.3 (2026-04-06)”Features
Section titled “Features”- feat: add version override to bindgen stdlib command
5e2cba4
- fix: add Partial<T, E> for non-exclusive (T, error) returns #18
9887612 - fix: make prelude variant name registration collision-safe
0cc21aa - fix: decouple diagnostic coloring from environment #6
b5164b3 - fix: guard against stack overflow from chained postfix operators
7d66c55 - fix: wrap interface globals in Option when not provably non-nil
2703398 - fix: detect typed nils in Go interface wrapping
7325047
Internals
Section titled “Internals”- chore: add pre-1.0 breaking changes policy
9ccebaa - docs: note Zed extension is pending review
f2cdfa3 - refactor: replace DiscardedTailFact boolean with enum
d7e9103 - chore: remove .cargo from gitignore
a1836f4 - chore: remove stale comment
6e17d01 - ci: add cargo-deny for dependency auditing
a377264 - ci: pin Rust toolchain via rust-toolchain.toml
fb092e5 - chore: clean up changelog and release-plz config
d8cd590 - chore: match nested files in lefthook format check glob
b1afdcc - chore: regenerate stdlib typedefs
b7324fb
v0.1.2 (2026-03-31)
Section titled “v0.1.2 (2026-03-31)”Features
Section titled “Features”- feat: add quickstart link to CLI help and redirect page
62ef1fe - feat: show nil diagnostic for null, Nil, and undefined
29f68a0
- fix: fold Range sub-expressions in AstFolder
2d357f1 - fix: prevent OOM by lowering max parser errors to 50
c123f33 - fix: prevent subtraction overflow in span calculation
b47b218 - fix: remove unnecessary borrow in nil diagnostic format
7e576be - fix: improve doc help text colors, examples, and description
ac3554a - fix: lower parser max depth to 64 to prevent stack overflow
1ab2b6c - fix: lower parser max depth to prevent stack overflow under asan
97ebe8b
Internals
Section titled “Internals”- refactor: improve CLI help consistency and hide internal commands
b0aa140 - chore: update fuzz lockfile to workspace version 0.1.1
612b97c - ci: enable changelog for main crate with cross-crate commits
32d8819 - docs: open GitHub links in new tab and clean up repo URL
809a73f - ci: only create git tags and releases for main crate
de15d96 - docs: remove stray middot
95589ab - docs: trim unused font weights from Google Fonts request
6b5c5f3 - docs: make homepage mobile-responsive
b3c7dad - ci: restore release-plz prepare job and push trigger
6789dab
v0.1.1 (2026-03-21)
Section titled “v0.1.1 (2026-03-21)”- fix: ensure complete go.sum before running go build
316b799 - fix: resolve prelude path for crates.io packaging
c8b0960
Internals
Section titled “Internals”- chore: bump version to 0.1.1
318e9a4 - chore: add readme path for crates.io
95ecb00 - docs: fix neovim plugin installation instructions
fa234a6 - chore: include bindgen go.mod in version sync check
fce89ab - refactor: move go version to standalone file
6d61563 - chore: update zed extension grammar rev
64004e2
v0.1.0 (2026-03-21)
Section titled “v0.1.0 (2026-03-21)”Features
Section titled “Features”- feat: initial release v0.1.0
a2fbd9d