8000 Releases · alecf/thicket · GitHub
[go: up one dir, main page]

Skip to content

Releases

v0.2.0

Choose a tag to compare

@alecf alecf released this 04 Nov 23:47
b057f16

0.2.0 (2026-11-04)

Features

  • near copies on findings, measured against embeddings (#31) (6dba74b)

Bug Fixes

  • read *.e2e-spec.ts and *.e2e-test.ts as test files (#33)2 (c065bcf), closes #30

v0.1.0

Choose a tag to compare

@alecf alecf released this 03 Nov 18:35
ace3c2f

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)
0