Repository navigation
Releases
Releases · alecf/thicket
v0.2.0
v0.1.0
0.1.0 (2026-11-03)
Features
- --embed, --private and --task, and a guide section for reporting bad findings (#26) (d7a677f)
- --granularity dir, so no directory collapses into another (43ed201)
- --types include | exclude | only (d5a7f60)
- add content-addressing hash (421ba78)
- add content-derived finding ids and markdown report (bf091dd)
- add forEachChild wrapper that cannot abort early (a1a6bb6)
- add L0/L1 normalization with fragment-local alpha-renaming (4a3154d)
- add the content-addressed cache and wire it into the pipeline (f9ab5ce)
- add thicket diff for measuring loop progress (0766d24)
- add TS adapter with content-hash file dedup (d7a4a7a)
- adopt the pruning-shears mark, with the stem threaded between the jaws (6f64d81)
- build module graph with SCC and propagation cost (c08d78e)
- cap intra-file repetition and strengthen the spread multiplier (73042d3)
- cluster fragments into L0/L1 duplication findings (d55ee19)
- cross-reference findings that are near-variants of one shape (18c771d)
- dissolve a dependency edge instead of cutting it, where it is only routing (d5d3329)
- draw each module tangle as a mermaid flowchart (f2c82db)
- exclude generated code by its own banner, and count it on neither side (762877e)
- extract multi-granularity AST fragments (fdc2f19)
- group files into modules with common-prefix stripping (58b41f2)
- lift a shared module prefix out of the chart into the heading (750607d)
- make the module tangle sections honest and legible (d19b577)
- name every duplicate location, name chart nodes by path, census the tail (fb8be44)
- name the constants a repeated shape is parameterized by (b4b9962)
- point at the same shape sitting in different surroundings (6f67d9d)
- publish a GitHub Pages site, and link the report to its own field guide (8d64f1e)
- quote the source a finding points at (9e4ad03)
- rank duplication by the lines a refactor would recover (0d2c22a)
- rank duplication clusters and subsume nested findings (aded0b7)
- rank duplication on a size curve, not lines removed (#23) (3657649)
- rank on whether a refactor buys anything, not on how much is duplicated (c8d4517)
- record 1-based line numbers on fragments and occurrences (b2ebce3)
- report duplicated types in a section of their own (3597bf2)
- report the tangle that survives type erasure, beside the whole one (d1916bb)
- resolve import specifiers via checker with case normalization (c12c943)
- run on bun, live from source, via the async TypeScript API (0dabbad)
- say how much of a mixed edge is erased, not just whether all of it is (04186e5)
- say whether a module tangle is circular in the code or in the grouping (1cb985d)
- see through re-export shims and barrels in a finding's surroundings (fcb5a0e)
- select module granularity adaptively targeting sqrt(n) (011e442)
- show enough of a copy to tell it apart, and where the copies land (eb4009c)
- state how much of the tree the program actually covered (bdc27ac)
- stop reporting shapes that are not refactors (8bc9a07)
- tell each finding what surrounds it (9d78bd8)
- wire thicket report end to end (69a01c7)
Bug Fixes
- collapse a fuzzy cluster nested inside the exact one it restates (347baf3)
- demote type-only cuts instead of banning them (b188342)
- do not hang an L1 child's locations off an L0 finding (f442e9d)
- emit valid Markdown (467ab90)
- escape raw NUL bytes in granularity prototype (bc93257)
- exclude generated and vendored directories by default (33400eb)
- expand project references when a config owns no files (fd193c6)
- fail loudly when a run analyzes zero source files (1f76909)
- let the Pages workflow enable Pages (ab41e30)
- make publishing the GitHub release re-runnable (#3) (065b177)
- mark a sampled count as a floor, and give the banner rule its own switch (a3cc62d)
- match literal kinds by enum value, not reverse-mapped name (cf975b4)
- quote mermaid edge labels, which the parenthesised type count broke (17d1547)
- refuse a cut that shaves a tangle, and say what the best one would have left (e14def1)
- replace localeCompare with environment-independent ordering (8c9b0f7)
- report duplication coverage as a true fraction of source bytes (18f9aa5)
- restore the typecheck CI job (72f408b)
- two site rendering bugs that only the built pages surfaced (c424154)