Skip to content

Changelog

Lisette is under active development. Any version before 1.0.0 may include breaking changes.

  • 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 #1316 02cdac4
  • 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 defer inside try and recover #1309 abc0a29
  • fix: align Slice.contains with Slice.equals #1307 1490820
  • fix: align unused warnings across lis commands #1306 602eb07
  • fix: stop inferred Unknown from absorbing branch mismatches #1304 2ff0e94
  • fix: wrap nilable Go map fields in Option #1300 47a329f
  • fix: reject map reads that yield a nil map #1299 efc9a30
  • fix: carry write permission through interface satisfaction #1295 b45e036
  • fix: refuse mut on impl target #1291 150c0a8
  • fix: type aliases to Option, Result and Partial #1289 d26d796
  • fix: element-depth write permission on Go returns #1280 90a278b
  • fix: stack overflow on undefined type inside generic #1277 9785800
  • 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 learn store package #1325 2d8da06
  • 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 copylocks in emit vet check #1305 2343771
  • 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/debug in shebang test #1281 554c64d
  • chore: clearer diagnostic copy #1279 24e2ae5
  • refactor: collapse representations of mut in annotations #1278 5a5701f
  • refactor: derive enum constructors after type bodies register #1271 ef1198e
  • fix: reject mixed-width numeric comparisons #1258 8271727
  • fix: emit explicit tuple type arguments for adapted literals #1248 4da8bbd
  • chore: enforce short paths at callsites #1270 d713d2f
  • refactor: match tuple subjects without building tuple #1267 7145c37
  • refactor: emit map, filter, fold and find as Go loops #1265 8f2415d
  • refactor: drop unreachable if in let ... else #1264 b0e2689
  • refactor: drop the underscore prefix on live emit temps #1263 b45f842
  • refactor: emit errors.New instead of verb-free fmt.Errorf #1262 bfc6e45
  • refactor: elide redundant element types in Go composite literals #1261 e6b7e21
  • refactor: emit counted loops as for i := range n #1260 17a2789
  • refactor: emit guarded matches as a switch without a jump target #1259 90b0ede
  • refactor: parse and represent mut in type position #1257 ff861e4
  • 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 := #1253 0827ae3
  • refactor: emit v, ok := when matching on comma-ok calls #1252 ce2c0a5
  • refactor: emit if err != nil when propagating with ? #1251 314a555
  • refactor: collapse duplicated emit and checker state #1250 dc060ec
  • refactor: lower Map.from to a Go map literal #1249 d0dc1de
  • refactor: reword the Map<K, Unknown> type mismatch help #1246 23b237c
  • fix: drop else arms that render no output #1240 23300c4
  • fix: prevent cascading parse errors from missing tokens #1236 3332ef1
  • fix: reject dependency paths Go would refuse #1230 2dff0c8
  • fix: treat Unknown as a Go interface when emitting #1222 037ddb8
  • fix: ignore local-only mut in function unification #1223 6413acf
  • fix: prune a script build dir against its own emit #1217 8970c34
  • fix: stop suggesting let mut on function parameters #1212 55132fd
  • fix: suggest ? in diagnostic only for matching error types #1211 671178b
  • fix: reject dot-named package dirs #1210 f67d36d
  • fix: anchor import cycle diagnostic on its imports #1206 d2625ee
  • 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 lis binary via cargo in lis learn test #1213 18b3f84
  • 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
  • fix: allow autofill of Go structs with hidden fields by default #1198 0ab5f68
  • fix: unify single-file dispatch across commands #1185 e779916
  • fix: extend SSA nilability derivation to maps and channels #1183 b25d797
  • fix: stop exempting defer and task from discard lints #1182 0f2859f
  • 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
  • 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 error and wrap_err in lis learn project #1179 91be43b
  • chore: clean up clippy exemptions and extend lint coverage #1177 55f823a
  • refactor: reorganize semantics crate into smaller modules #1176 8e956c8
  • 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 format and cut pretty-printer overhead #1165 d1eb039
  • perf: inline terminal width detection #1162 efc10c2
  • perf: shed more dependencies #1161 682d0d4
  • perf: replace tower-lsp with hand-rolled LSP protocol #1159 b6feb50
  • 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
  • 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 fn types in tuple struct fields #1089 95ba748
  • fix: false positives in lints #1085 0e8dca4
  • fix: preserve tuple type aliases at use sites #1082 ce9d275
  • fix: shadowed variable in else leaking past diverging if #1084 03d598e
  • 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
  • refactor: decompose complex functions #1132 ec23a60
  • refactor: remove and forbid too_many_arguments exemptions #1131 0b5fdfd
  • 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 error for Err in type position #1088 43ded48
  • 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
  • fix: enforce generic bounds on indirect uses of bounded types #1066 b8e8d6c
  • fix: collision between built-in Array and third-party Array #1065 2856c2e
  • 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_sibling lint #1050 ab72f1b
  • fix: interface satisfaction for generic Result methods #1046 7745077
  • fix: allow suppressing unused symbol lints #1044 0fb4dce
  • fix: make #[json] struct field capitalization consistent #1043 523fbbb
  • 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 self on interface methods #1033 101fd72
  • fix: preserve mutations through Ref method receivers #1032 b99edd6
  • 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 append aliasing #1017 4ff43be
  • fix: require mut for copy_from #1014 7debe4e
  • fix: make empty slice literals consistent with constructors #1011 8ad90fa
  • fix: stop rejecting valid self-referential generic types #1010 735f6e1
  • 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 Option values across Go callable boundaries #991 8fbbd1b
  • 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 #975 2b18e84
  • fix: preserve Go’s uintptr in typedefs #971 084c309
  • fix: sentinel-returning Go functions as values #970 88065b7
  • fix: equality on recursive enums #969 680f8a0
  • fix: fmt.Println for concatenated f-strings #968 6cc85b0
  • fix: emit pointer indirection for indirect enum recursion #966 039eb73
  • 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 mut aliasing protection #967 6d86cc5
  • refactor: skip Result for Go-interop ? in try blocks #965 6b9ce9d
  • refactor: report signed lower bound in overflow helptext #963 6fde535
  • test: cover prelude channel close safety #962 ca5f8d4
  • fix: reject type names in value position #960 989b7c9
  • fix: silence unused mut warning inside erroring functions #956 a9680cb
  • fix: keep options tagged when crossing into Go’s any #955 2913cd9
  • 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)] on Option fields #939 11d40db
  • fix: follow type-var chains iteratively to avoid stack overflow #936 316e663
  • fix!: align Slice.append with Go semantics #933 89389e5
  • 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 mut parsing in function types #916 3ec2e8f
  • 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
  • feat: clearer errors for generic syntax and missing block value #912 f6319be
  • feat: add .lis file icon to VSCode and IntelliJ extensions #905 60db9b2
  • 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 += 1 for foo++ #872 cd9b594
  • 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
  • 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
  • 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
  • refactor: unify pattern-collection effect channel #857 38d16b7
  • refactor: dedupe lsp and passes walks via children() #856 95e8c9a
  • perf: parallelize source-tree dir walk #855 eacc21e
  • chore: rebuild playground and fix stale wasm bindings #852 4b78ffc
  • feat: capstone test runner #844 a8c2a70
  • feat: in-test logging with t.log #841 9c124a5
  • 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 --failed flag to lis test #823 6df3852
  • 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 #819 aa29884
  • feat: infer TestContext for bare test function param #816 22f4980
  • feat: lint for needless negative count in strings.SplitN #815 0a14d5b
  • 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 --filter to lis test and support test titles #802 7515779
  • feat: add let assert for refutable test bindings #800 1dcb5fa
  • feat: decompose failing asserts into operand values #797 066e252
  • feat: recognize assert keyword #796 3f859ce
  • 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 #791 904ef20
  • feat: lints for while-let, bool-assign, single-element loops #789 240c9af
  • feat: render failing #[test] results as source diagnostics #788 e583f2c
  • feat: improve DX for for and while loops in value position #785 e318ada
  • feat: lints for redundant guards, wildcards, duplicate match arms #784 b8a5c7b
  • feat: introduce TestContext for test functions #783 630ef8c
  • feat: support iterating over iter.Seq and iter.Seq2 in for loops #782 62b3239
  • 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 #778 451f97a
  • feat: render a grouped report for lis test #777 4881724
  • feat: lints for multiply-by-minus-one and misrefactored assignment #770 d24755f
  • feat: run test functions via lis test #769 f27d2ec
  • 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 #835 3e2769b
  • fix: wrap long t.skip reasons instead of overflowing #834 383fe03
  • fix: derive subtest tree from t.run source names #832 94ea076
  • 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
  • perf: parallelize module-graph file reads #840 3fda743
  • test: add tests for lis learn project #837 30467ff
  • 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
  • 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 #758 ad379b2
  • feat: discover .test.lis files and isolate them from production #756 8d4390b
  • 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 #746 3a273a3
  • 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
  • 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
  • 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
  • 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
  • feat: lint for float comparison hazards and NaN casts #723 6a316fe
  • feat: add LSP inlay type hints for let bindings #722 c61d141
  • feat: lint for faulty bit masks and equal operands #721 b23d692
  • feat: add equals method for slices and maps #715 2c69536
  • feat: flag impossible, redundant, and combinable comparisons #712 8fbcb7f
  • fix: correct UFCS lowering and generic type args #724 2ce2570
  • 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
  • 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 build produce a binary #706 6f0b0f5
  • feat: warn on use of deprecated Go APIs #705 252aade
  • feat: allow suppressing more lints via #[allow] #702 ce4c0fa
  • feat: warn when os.Exit skips a defer #700 2d22251
  • fix: stop generated imports from colliding with user names #709 d627ae1
  • chore: remove benchmark crate #704 9885735
  • refactor!: rename --debug to --sourcemap #703 c5245f4
  • refactor!: drop impl for interface embedding in favor of embed #701 15563f9
  • 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
  • feat: promote methods through unexported Go embeds #693 14e9316
  • feat: add lis emit to CLI #689 f130d63
  • 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 #694 8617a15
  • 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
  • docs: document embedding imported Go types #695 d027dbd
  • test: render snapshot descriptions as yaml literal blocks #691 ff2c70a
  • refactor: reshape lis run onto build-then-exec #688 bd807f9
  • chore: upgrade to insta 1.48.0 #686 eb77a81
  • 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
  • feat: support embedding in native structs #666 eec2ea2
  • feat: add Result.wrap_err to attach context to errors #658 668cab7
  • fix: skip manual_map_or lint on side-effecting match arms #662 ecb5ed8
  • 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
  • refactor: replace impl with embed for interface embedding #664 18d7902
  • test: differential harness for struct and interface embedding #663 b580f92
  • 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
  • fix: exclude #[display] struct fields from the unused-field lint #631 100d37d
  • fix: stop lis doc mangling third-party module paths #630 f376290
  • fix: suggest cmp.Ordered bound when comparing unbounded generics #629 a17a67a
  • 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
  • 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
  • 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
  • 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 --format to --output in lis check #590 6b886fe
  • refactor!: remove value enums #588 260463c
  • refactor!: rename attributes to #[iterate] and #[display] #578 ba0503e
  • 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
  • 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
  • feat: add #[iterable] for enum iteration #557 6a0db29
  • 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
  • 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
  • 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
  • ci: harden release body and notes generation #522 5dd023e
  • docs: restore blank lines between changelog releases #521 e9f267e
  • 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 unknown to any in explicit type arguments #513 7d6687a
  • 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
  • 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
  • fix: guard interface parent walks against embedding cycles #492 a1e2001
  • fix: complete interface methods in lsp #491 079daa1
  • fix: disambiguate EcoString as_ref calls with as_str #482 9f16eef
  • 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
  • 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
  • test: gate e2e suite on zero re-emit failures #472 2dfb714
  • ci: skip fuzz and release workflows on forks #468 2a8a152
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • fix: track go import usage during emit #410 00d1b7a
  • fix: cache no longer hides internal_type_leak warnings #405 d820e1d
  • 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
  • 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
  • refactor: consolidate fallible lowering and coercion dispatch #400 32325a2
  • refactor: consolidate recurring emit patterns #399 a0a60ca
  • refactor: polish diagnostics #397 941c61b
  • 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
  • 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
  • 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
  • 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
  • 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
  • feat: add substring, bytes, and runes methods on string #320 ebd679d
  • 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 #311 219cf0a
  • fix: preserve all returns when trailing bool is a flag #307 227e61e
  • 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
  • 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 Self in impl and mut struct fields #303 ce0869f
  • 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 #300 cb4545d
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • feat: recognize named-interface bounds in bindgen generics #224 6a41b27
  • 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
  • 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
  • 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
  • ci: unpin release.yml so cargo-dist can regenerate it #221 b81058f
  • ci: pin workflow actions to immutable SHAs #220 30c05ea
  • 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
  • ci: add emit-runtime suite and restructure release gates #185 02f6e09
  • 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
  • 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
  • fix: place enum constructors beside their enum definition #172 e367406
  • fix: suppress auto-stringer when user method uses Go casing #171 6c4bb49
  • refactor: overhaul type representation and inference state #161 8468519
  • refactor: consolidate emit coercions and decision walkers #157 ed1cf48
  • 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
  • refactor: simplify emit layer readability and structure #151 4dc768e
  • 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
  • refactor: flatten guard else in type switch case bodies 2351ae5
  • fix: emit Go type switch when matching on an interface type #138 9803025
  • 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
  • ci: sort changelog commits by timestamp f7fdc64
  • 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
  • ci: open github issue on fuzz crash 997f63c
  • docs: add Channel<()> signaling example to concurrency reference #105 1618bb3
  • 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
  • refactor: extract shared go output + finalize helpers #91 b4ceb49
  • docs: note that goland extension is available #89 bad3dee
  • 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
  • docs: mention goland in changelog 56aaff5
  • 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
  • docs: mention goland in homepage 834c1d3
  • chore: adjust release PR title c692dd8
  • chore: simplify release PR body template #75 bd2fd9b
  • 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
  • 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
  • feat: groundwork for lis add command #55 e4a15e7
  • fix: reject relative-path imports with clear diagnostic #58 21389f0
  • fix: register impl blocks after sibling-file type definitions #57 85a0d5f
  • 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
  • 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
  • chore: include license file in published crates #48 e7a6205
  • chore: update fuzz lockfile versions to v0.1.6 1423dca
  • 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
  • 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
  • fix: skip pattern analysis on import cycle #34 88eb7fa
  • fix: interface subtype satisfaction through type variables #31 020c407
  • ci: comment on closed issues in release workflow 73143dc
  • ci: skip check job on release-plz commits 2497b62
  • 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
  • ci: comment on PRs included in a release 04b5a82
  • docs: update Zed extension PR link 2f76686
  • 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
  • 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
  • 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
  • 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
  • fix: ensure complete go.sum before running go build 316b799
  • fix: resolve prelude path for crates.io packaging c8b0960
  • 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
  • feat: initial release v0.1.0 a2fbd9d