tag:github.com,2008:https://github.com/johnsonlee/graphite/releases Tags from graphite 2026-02-01T11:15:32Z tag:github.com,2008:Repository/1141070800/v0.1.0-beta.16 2026-02-01T11:19:08Z Release v0.1.0-beta.16 <p>feat: add multi-round iterative deletion to find-dead-code CLI (<a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/25">#25</a>)</p> <p>Add --iterate flag that enables delete-rebuild-reanalyze cycles until <br />convergence, with --build-command for external rebuild and --max-rounds <br />to cap iterations. Includes per-round statistics and summary reporting.</p> <p>Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.15 2026-02-01T04:14:18Z Release v0.1.0-beta.15 <p>feat: add unreferenced field detection to find-dead-code CLI (<a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/23">#23</a>)</p> <p>Detect fields with no external FIELD_LOAD/FIELD_STORE references, <br />with Lombok accessor linking, Spring API-aware exclusions, Jackson <br />annotation filtering, and PSI-based source deletion for Java/Kotlin.</p> <p>Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.14 2026-02-01T02:52:28Z Release v0.1.0-beta.14 <p>refactor: reduce buildGraph() from 6 view.classes iterations to 2 (<a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/21">#21</a>)</p> <p>Merge 6 separate process*() passes over view.classes into 2: <br />- Pass 1 (all classes): type hierarchy + enum values <br />- Pass 2 (filtered classes): methods + fields + endpoints + Jackson</p> <p>Extract per-class methods from loop bodies and inline them into the <br />2-pass structure. Document the decision not to parallelize (fastutil <br />memory savings vs ConcurrentHashMap, shared mutable state barriers).</p> <p>Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.13 2026-01-31T15:42:57Z Release v0.1.0-beta.13 <p>feat: add find-dead-code CLI command and achieve &gt;= 98% test coverage (<a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/19">…</a></p> <p><a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/19">…#19</a>)</p> <p>Add find-dead-code CLI command with JSON output, Kover coverage, and <br />comprehensive test coverage across all modules:</p> <p>- graphite-core: 98.2% line coverage <br />- graphite-sootup: 98.1% (fix ASM visitEnd() bug, remove dead code) <br />- graphite-cli-find-args: 99.6% <br />- graphite-cli-find-endpoints: 100% <br />- graphite-cli-find-dead-code: 98.3%</p> <p>Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.12 2026-01-30T08:04:55Z Release v0.1.0-beta.12 <p>perf: cache backward slice results in DataFlowAnalysis (<a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/17">#17</a>)</p> <p>When analyzing multiple argument indices per call site, the same <br />argNodeId may be sliced repeatedly with independent visited sets. <br />Cache results by NodeId to avoid redundant graph traversals.</p> <p>Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.11 2026-01-30T04:53:25Z Release v0.1.0-beta.11 <p>Merge pull request <a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/16">#16</a> from johnsonlee/remove/find-return-types-command</p> <p>refactor: remove FindReturnTypesCommand superseded by find-endpoints</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.10 2026-01-30T04:03:22Z v0.1.0-beta.10: docs: bump version to 0.1.0-beta.10 in README <p>docs: bump version to 0.1.0-beta.10 in README</p> <p>Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> johnsonlee tag:github.com,2008:Repository/1141070800/v0.1.0-beta.9 2026-01-30T02:52:09Z Release v0.1.0-beta.9 <p>feat: support enum value references in enum constructor arguments</p> <p>When one enum's constructor takes another enum constant as argument <br />(e.g., TaskConfig.URGENT(Priority.HIGH)), the bytecode uses a getstatic <br />field reference (JFieldRef) which was previously not tracked by the enum <br />value extractor. The value was silently lost as null.</p> <p>- Add EnumValueReference data class to represent cross-enum references <br />- Track JFieldRef assignments in extractEnumValues() for enum constant <br /> field reads (where field type == declaring class) <br />- Handle JFieldRef in extractValueFromArg() for direct field references <br /> in constructor arguments <br />- Add test enums (Priority, TaskConfig, TaskConfigWithId) and test cases</p> <p><a href="https://claude.ai/code/session_01GCAdzvUbK32TnWEKvkV7TG">https://claude.ai/code/session_01GCAdzvUbK32TnWEKvkV7TG</a></p> johnsonlee tag:github.com,2008:Repository/1141070800/v0.1.0-beta.8 2026-01-29T23:42:43Z Release v0.1.0-beta.8 <p>Merge pull request <a class="issue-link js-issue-link" href="https://github.com/johnsonlee/graphite/pull/13">#13</a> from johnsonlee/fix/complete-constant-type-sup…</p> <p>…port</p> <p>fix: complete constant type support in SootUpAdapter</p> github-actions tag:github.com,2008:Repository/1141070800/v0.1.0-beta.7 2026-01-29T16:09:11Z v0.1.0-beta.7: docs: bump version to 0.1.0-beta.7 in README <p>docs: bump version to 0.1.0-beta.7 in README</p> <p>Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</p> johnsonlee